The Ambassador Program
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., HeadAmbassadorTier5 - 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 SeniorAmbassadorTier4 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.
References:
- Structure of the Ambassador Program (Note: the Global Head Ambassador role is not introduced in this PR).
Next Steps:
- Migrate to seed the program members
- Mint ambassador NFT badges on Asset Hub when promoting
- Treasury pallet instance for the Ambassador Program
bot fmt
@muharem "$PIPELINE_SCRIPTS_DIR/commands/fmt/fmt.sh" (https://gitlab.parity.io/parity/mirrors/cumulus/-/jobs/3413364) was cancelled in https://github.com/paritytech/cumulus/pull/2002#issuecomment-1684001681
bot cancel
@muharem Command "$PIPELINE_SCRIPTS_DIR/commands/fmt/fmt.sh" has finished. Result: https://gitlab.parity.io/parity/mirrors/cumulus/-/jobs/3413364 has finished. If any artifacts were generated, you can download them from https://gitlab.parity.io/parity/mirrors/cumulus/-/jobs/3413364/artifacts/download.
bot fmt
@muharem https://gitlab.parity.io/parity/mirrors/cumulus/-/jobs/3413699 was started for your command "$PIPELINE_SCRIPTS_DIR/commands/fmt/fmt.sh". Check out https://gitlab.parity.io/parity/mirrors/cumulus/-/pipelines?page=1&scope=all&username=group_605_bot to know what else is being executed currently.
Comment bot cancel 54-ae65a6e6-47e7-464a-be9b-7af4099a8b2f to cancel this command or bot cancel to cancel all commands in this pull request.
@muharem Command "$PIPELINE_SCRIPTS_DIR/commands/fmt/fmt.sh" has finished. Result: https://gitlab.parity.io/parity/mirrors/cumulus/-/jobs/3413699 has finished. If any artifacts were generated, you can download them from https://gitlab.parity.io/parity/mirrors/cumulus/-/jobs/3413699/artifacts/download.
bot rebase
Rebased
bot rebase
Rebased
The CI pipeline was cancelled due to failure one of the required jobs. Job name: test-linux-stable Logs: https://gitlab.parity.io/parity/mirrors/cumulus/-/jobs/3435787