58 releases (37 major breaking)

39.0.0 Apr 3, 2025
38.1.0 Mar 27, 2025
38.0.0 Jan 13, 2025
37.0.0 Sep 26, 2024
2.0.0-alpha.5 Mar 24, 2020

#1 in #funds

Download history 4378/week @ 2025-03-18 5096/week @ 2025-03-25 4842/week @ 2025-04-01 4699/week @ 2025-04-08 3967/week @ 2025-04-15 6501/week @ 2025-04-22 4599/week @ 2025-04-29 3710/week @ 2025-05-06 3212/week @ 2025-05-13 3143/week @ 2025-05-20 2814/week @ 2025-05-27 3079/week @ 2025-06-03 3448/week @ 2025-06-10 4459/week @ 2025-06-17 3904/week @ 2025-06-24 4222/week @ 2025-07-01

16,556 downloads per month
Used in 115 crates (14 directly)

Apache-2.0

3MB
54K SLoC

Treasury Pallet

The Treasury pallet provides a "pot" of funds that can be managed by stakeholders in the system and a structure for making spending proposals from this pot.

Overview

The Treasury Pallet itself provides the pot to store funds, and a means for stakeholders to propose, approve, and deny expenditures. The chain will need to provide a method (e.g.inflation, fees) for collecting funds.

By way of example, the Council could vote to fund the Treasury with a portion of the block reward and use the funds to pay developers.

Terminology

  • Proposal: A suggestion to allocate funds from the pot to a beneficiary.
  • Beneficiary: An account who will receive the funds from a proposal if the proposal is approved.
  • Deposit: Funds that a proposer must lock when making a proposal. The deposit will be returned or slashed if the proposal is approved or rejected respectively.
  • Pot: Unspent funds accumulated by the treasury pallet.

Interface

Dispatchable Functions

General spending/proposal protocol:

  • spend_local - Propose and approve a spend of treasury funds, enables the creation of spends using the native currency of the chain, utilizing the funds stored in the pot
  • spend - Propose and approve a spend of treasury funds, allows spending any asset kind managed by the treasury
  • remove_approval - Force a previously approved proposal to be removed from the approval queue
  • payout - Claim a spend
  • check_status - Check the status of the spend and remove it from the storage if processed
  • void_spend - Void previously approved spend

Dependencies

~20–35MB
~591K SLoC