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:

Interface

Dispatchable Functions

Bounty protocol: