cosmos-sdk/x/staking/spec/06_hooks.md
Julien Robert 58597139fa
docs: Improve markdownlint configuration (#11104)
## Description

Closes: #9404



---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [x] reviewed "Files changed" and left comments if necessary
- [x] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
2022-02-10 12:07:01 +00:00

1.1 KiB

Hooks

Other modules may register operations to execute when a certain event has occurred within staking. These events can be registered to execute either right Before or After the staking event (as per the hook name). The following hooks can registered with staking:

  • AfterValidatorCreated(Context, ValAddress) error
    • called when a validator is created
  • BeforeValidatorModified(Context, ValAddress) error
    • called when a validator's state is changed
  • AfterValidatorRemoved(Context, ConsAddress, ValAddress) error
    • called when a validator is deleted
  • AfterValidatorBonded(Context, ConsAddress, ValAddress) error
    • called when a validator is bonded
  • AfterValidatorBeginUnbonding(Context, ConsAddress, ValAddress) error
    • called when a validator begins unbonding
  • BeforeDelegationCreated(Context, AccAddress, ValAddress) error
    • called when a delegation is created
  • BeforeDelegationSharesModified(Context, AccAddress, ValAddress) error
    • called when a delegation's shares are modified
  • BeforeDelegationRemoved(Context, AccAddress, ValAddress) error
    • called when a delegation is removed