* Remove use of trait Store from staking pallet * Remove use of trait Store from bounties pallet * Remove use of trait Store from collective pallet * Remove use of trait Store from babe pallet * Remove use of trait Store from assets pallet * Remove use of trait Store from grandpa pallet * Remove use of trait Store from balances pallet * Remove use of trait Store from authorship pallet * Remove use of trait Store from authority-discovery pallet * Remove use of trait Store from atomic-swap pallet * Remove use of trait Store from sudo pallet * Remove use of trait Store from scheduler pallet * Remove use of trait Store from scored-pool pallet * Remove use of trait Store from society pallet * Remove use of trait Store from lottery pallet * Remove use of trait Store from executive pallet * Remove use of trait Store from democracy pallet * Remove use of trait Store from elections-phragmen pallet * Remove use of trait Store from indices pallet * Remove use of trait Store from identity pallet * Remove use of trait Store from multisig pallet * Remove use of trait Store from merkle-mountain-range pallet * Remove use of trait Store from im-online pallet * Remove use of trait Store from membership pallet * Remove use of trait Store from nicks pallet * Remove use of trait Store from session pallet * Remove use of trait Store from transaction-payment pallet * Remove use of trait Store from utility pallet * Remove use of trait Store from child-bounties pallet * Remove use of trait Store from nis pallet * Remove use of trait Store from nfts pallet * Remove use of trait Store from conviction-voting pallet * Remove use of trait Store from treasury pallet * Remove use of trait Store from vesting pallet * Remove use of trait Store from preimage pallet * Remove use of trait Store from uniques pallet * Remove use of trait Store from ranked-collective pallet * Remove use of trait Store from beefy-mmr pallet * Remove use of trait Store from referenda pallet * Remove use of trait Store from whitelist pallet * Remove use of trait Store from alliance pallet * Remove use of trait Store from nomination-pools pallet * Remove use of trait Store from state-trie-migration pallet * Remove use of trait Store from message-queue pallet * Remove use of trait Store from root-offences pallet * Remove use of trait Store from root-testing pallet * Remove use of trait Store from timestamps pallet * Remove use of trait Store from system pallet * Remove use of trait Store from offences pallet * Remove use of trait Store from recovery pallet * Remove use of trait Store from node-authorization pallet * Remove use of trait Store from proxy pallet * Remove use of trait Store from benchmarking pallet * Remove use of trait Store from bags-list pallet * Add deprecated warning in store_trait * Change warning message * Run cargo fmt * Fix warning and update tests * Remove unnecessary allow deprecated * Remove use of trait Store * Fix mismatch in expected output * Minor update to warning message for deprecation of generate_store with Store trait attribute * Fixes as per review comments * Fixes as per review suggestions * Remove use of Store trait from core-fellowship pallet * Fix type in store_trait.rs * Fixes as pre review comment
Bounties Module ( pallet-bounties )
Bounty
NOTE: This pallet is tightly coupled with pallet-treasury.
A Bounty Spending is a reward for a specified body of work - or specified set of objectives - that needs to be executed for a predefined Treasury amount to be paid out. A curator is assigned after the bounty is approved and funded by Council, to be delegated with the responsibility of assigning a payout address once the specified set of objectives is completed.
After the Council has activated a bounty, it delegates the work that requires expertise to a curator in exchange of a deposit. Once the curator accepts the bounty, they get to close the active bounty. Closing the active bounty enacts a delayed payout to the payout address, the curator fee and the return of the curator deposit. The delay allows for intervention through regular democracy. The Council gets to unassign the curator, resulting in a new curator election. The Council also gets to cancel the bounty if deemed necessary before assigning a curator or once the bounty is active or payout is pending, resulting in the slash of the curator's deposit.
This pallet may opt into using a [ChildBountyManager] that enables bounties to be split into
sub-bounties, as children of anh established bounty (called the parent in the context of it's
children).
NOTE: The parent bounty cannot be closed if it has a non-zero number of it has active child bounties associated with it.
Terminology
Bounty:
- Bounty spending proposal: A proposal to reward a predefined body of work upon completion by the Treasury.
- Proposer: An account proposing a bounty spending.
- Curator: An account managing the bounty and assigning a payout address receiving the reward for the completion of work.
- Deposit: The amount held on deposit for placing a bounty proposal plus the amount held on deposit per byte within the bounty description.
- Curator deposit: The payment from a candidate willing to curate an approved bounty. The deposit is returned when/if the bounty is completed.
- Bounty value: The total amount that should be paid to the Payout Address if the bounty is rewarded.
- Payout address: The account to which the total or part of the bounty is assigned to.
- Payout Delay: The delay period for which a bounty beneficiary needs to wait before claiming.
- Curator fee: The reserved upfront payment for a curator for work related to the bounty.
Interface
Dispatchable Functions
Bounty protocol:
propose_bounty- Propose a specific treasury amount to be earmarked for a predefined set of tasks and stake the required deposit.approve_bounty- Accept a specific treasury amount to be earmarked for a predefined body of work.propose_curator- Assign an account to a bounty as candidate curator.accept_curator- Accept a bounty assignment from the Council, setting a curator deposit.extend_bounty_expiry- Extend the expiry block number of the bounty and stay active.award_bounty- Close and pay out the specified amount for the completed work.claim_bounty- Claim a specific bounty amount from the Payout Address.unassign_curator- Unassign an accepted curator from a specific earmark.close_bounty- Cancel the earmark for a specific treasury amount and close the bounty.