Stewards in storage

Addresses

Governance adds 1 internal address:

PGF internal address

The internal address VP will hold the allowance of 10% inflation of NAM. This funding is allocated to the internal address at the start of each epoch. It is important to note that it is this internal address which holds the funds, rather than any of the stewards' multisigs.

The stewards should be able to propose the burning of funds, but this hopefully should not require additional functionality beyond what currently exists.

VP checks

The VP must check that any spending in the form of FundingProposals or StewardFundingProposals does not exceed the balance of the VP (in aggregate).

The VP must also check that any StewardFundingProposal spending is only done by the active PGF stewards.

Storage

Storage keys

Each recipient will be listed under this storage space (for cPGF)

  • /PGFAddress/cPGF_recipients/address = Amount
  • /PGFAddress/active_stewards/address = Address
  • /GovernanceParams/StewardTerm = Epoch

Struct

The below is a rust implementation of the Steward structure.

struct Stewards {
    addresses: Vec<Address>,
}