Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Ambassador Program #84

Closed

Conversation

muharem
Copy link
Contributor

@muharem muharem commented Nov 8, 2023

base paritytech/polkadot-sdk#1308
this PR includes upgrade to v1.2 from PR #56, and can be rebased when it's merge into master.

The Ambassador Program on Polkadot Collectives Parachain

The Polkadot Ambassador Program has existed for a while; more information can be found here.
In this PR, the program is being brought on chain.

On Chain Structure

The on-chain program consists of nine ranks, divided into four categories (full list):

  • Ambassadors (1-2 tiers)
  • Senior Ambassadors (3-4 tiers)
  • Head Ambassadors (5-7 tiers)
  • Master Ambassadors (8-9 tiers)

Each rank has a corresponding Origin (e.g., HeadAmbassadorsTier5 - full list), which represents the collective voice of members of that rank and above.

Referendum

The AmbassadorReferenda instance of referenda pallet consists of nine tracks, each corresponding to an Origin. A referendum taken on senior ambassador tier 4 track invites all members from rank 4 or above to vote and commands SeniorAmbassadors Origin. Every member gets one vote plus an additional vote for every excess rank. The referendum proposal can be submitted by any member of a senior rank or above.

Membership Management

Initial members will be brought on chain via migration, with subsequent member management handled through the AmbassadorCollective instance of ranked collective pallet. Both Root and FellowshipAdmin Origins, commanded via public Polkadot referendum, can promote or demote members to and from any rank. Members themselves also have the power to promote or demote via its referendum, with a senior member vote by the rank two above the new / current rank - full configuration.

Content Management

The program's on-chain content is managed via the collectives content pallet, allowing for setting its charter and making announcements. The voice of head ambassadors have the authority to set the charter, while announcements can be made by any senior rank member or through a referendum among all members.

Additional Functionality

The AmbassadorCore instance of core fellowship pallet decorates the ranked collectives pallet with features like salary determination, activity/passivity registration, and the handling of promotion and demotion periods. While the usage of this pallet is optional in the first version, future updates will make it the exclusive method for induction/promotion.

Periodic salaries in USDt, payable on Asset Hub, are introduced through the salary pallet. This requires induction into the ambassador core pallet.

Please for more information on the pallets' functionality refer to their documentations.

Next Steps:

  • Migrate to seed the program members
  • Mint ambassador NFT badges on Asset Hub when promoting
  • Treasury pallet instance for the Ambassador Program

@muharem muharem mentioned this pull request Nov 8, 2023
@@ -186,6 +186,9 @@ match_types! {
pub type FellowshipSalaryPallet: impl Contains<MultiLocation> = {
MultiLocation { parents: 1, interior: X2(Parachain(1001), PalletInstance(64)) }
};
pub type AmbassadorSalaryPallet: impl Contains<MultiLocation> = {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@joepetrowski joepetrowski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would do Geometric voting and reduce the Fellowship's rights within Ambassador Program, but not blocking for me if others disagree.

muharem and others added 2 commits November 22, 2023 14:16
@giottodf
Copy link

giottodf commented Feb 1, 2024

Please do not merge. I am going to propose root referendum requesting to dismantle ambassador program. I estimate to launch the referendum in 2 weeks

@joepetrowski
Copy link
Contributor

Please do not merge. I am going to propose root referendum requesting to dismantle ambassador program. I estimate to launch the referendum in 2 weeks

All new collectives will go through RFC-12, and this will not be merged until that happens.

@giottodf
Copy link

giottodf commented Feb 2, 2024

@giottodf
Copy link

giottodf commented Feb 8, 2024

https://x.com/giottodf/status/1755495579126227383?s=20

It seems we have consensus on the fact that the collective should work in the following way:

Voters should be able to individually appoint / revoke head ambassadors

Head Ambassadors should be able to appoint / revoke senior Ambassadors and Ambassadors with simple majority

There should be a minimum quorum of head ambassadors before they can start to appoint ambassadors, maybe this number could be 5? (So 3 out of 5 required)

Do we need to initiate root referendum in order to create this collective? Because it seems that the previous collective was being prepared without root referendum

@joepetrowski
Copy link
Contributor

https://x.com/giottodf/status/1755495579126227383?s=20

It seems we have consensus on the fact that the collective should work in the following way:

Voters should be able to individually appoint / revoke head ambassadors

Head Ambassadors should be able to appoint / revoke senior Ambassadors and Ambassadors with simple majority

There should be a minimum quorum of head ambassadors before they can start to appoint ambassadors, maybe this number could be 5? (So 3 out of 5 required)

What you are describing is almost exactly how this works.

@muharem
Copy link
Contributor Author

muharem commented Apr 28, 2024

closing in favour of #291

@muharem muharem closed this Apr 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants