Skip to content
  • Muharem Ismailov's avatar
    The Ambassador Program (#1308) · 9e403629
    Muharem Ismailov authored
    
    
    The Ambassador Program on Polkadot Collectives Parachain
    
    The Polkadot Ambassador Program has existed for a while; more
    information can be found
    [here](https://wiki.polkadot.network/docs/ambassadors).
    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](https://github.com/paritytech/cumulus/blob/c238fb26b75569a11abb57437fd14acd26e05f18/parachains/runtimes/collectives/collectives-polkadot/src/ambassador/mod.rs#L52)):
    - 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](https://github.com/paritytech/cumulus/blob/c238fb26b75569a11abb57437fd14acd26e05f18/parachains/runtimes/collectives/collectives-polkadot/src/ambassador/origins.rs#L35)),
    which represents the collective voice of members of that rank and above.
    
    ### Referendum
    
    The `AmbassadorReferenda` instance of [referenda
    pallet](https://docs.rs/pallet-referenda/latest/pallet_referenda/)
    consists of [nine
    tracks](https://github.com/paritytech/cumulus/blob/c238fb26b75569a11abb57437fd14acd26e05f18/parachains/runtimes/collectives/collectives-polkadot/src/ambassador/tracks.rs#L51),
    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](https://docs.rs/pallet-ranked-collective/latest/pallet_ranked_collective/).
    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](https://github.com/paritytech/cumulus/blob/9ab6aa47063d7e8b67ddc10d9c136037f99c03a3/parachains/runtimes/collectives/collectives-polkadot/src/ambassador/mod.rs#L67).
    
    ### 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](https://docs.rs/pallet-core-fellowship/latest/pallet_core_fellowship/)
    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](https://docs.rs/pallet-salary/latest/pallet_salary/). 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
    
    ---------
    
    Co-authored-by: default avatarKian Paimani <[email protected]>
    Co-authored-by: default avatarjoe petrowski <[email protected]>
    9e403629