Hooks

Create or modify delegation distribution

  • triggered-by: staking.MsgDelegate, staking.MsgBeginRedelegate, staking.MsgUndelegate

The pool of a new delegator bond will be 0 for the height at which the bond was added, or the withdrawal has taken place. This is achieved by setting DelegationDistInfo.WithdrawalHeight to the height of the triggering transaction.

Commission rate change

  • triggered-by: staking.MsgEditValidator

If a validator changes its commission rate, all commission on fees must be simultaneously withdrawn using the transaction TxWithdrawValidator. Additionally the change and associated height must be recorded in a ValidatorUpdate state record.

Change in Validator State

  • triggered-by: staking.Slash, staking.UpdateValidator

Whenever a validator is slashed or enters/leaves the validator group all of the validator entitled reward tokens must be simultaneously withdrawn from Global.Pool and added to ValidatorDistInfo.Pool.

Last Updated: 2/21/2019, 2:21:57 AM