Expand description
A Ledger implementation for stakers.
A StakingLedger encapsulates all the state and logic related to the stake of bonded
stakers, namely, it handles the following storage items:
Bonded: mutates and reads the state of the controller <> stash bond map (to be deprecated soon);Ledger: mutates and reads the state of all the stakers. TheLedgerstorage item stores instances ofStakingLedgerkeyed by the staker’s controller account and should be mutated and read through theStakingLedgerAPI;Payee: mutates and reads the reward destination preferences for a bonded stash.- Staking locks: mutates the locks for staking.
 
NOTE: All the storage operations related to the staking ledger (both reads and writes) MUST be
performed through the methods exposed by the StakingLedger implementation in order to ensure
state consistency.