* stake/fees spec updates * staking overview.md revisions, moving files * docs reorganization * staking spec state revisions * transaction stake updates * complete staking spec update * WIP adding unbonding/redelegation commands * added msg types for unbonding, redelegation * stake sub-package reorg * working stake reorg * modify lcd tests to not use hardcoded json strings * add description update * index keys * key managment for unbonding redelegation complete * update stake errors * completed handleMsgCompleteUnbonding fn * updated to use begin/complete unbonding/redelegation * fix token shares bug * develop docs into unbonding * got non-tests compiling after merge develop * working fixing tests * PrivlegedKeeper -> PrivilegedKeeper * tests compile * fix some tests * fixing tests * remove PrivilegedKeeper * get unbonding bug * only rpc sig verification failed tests now * move percent unbonding/redelegation to the CLI and out of handler logic * remove min unbonding height * add lcd txs * add pool sanity checks, fix a buncha tests * fix ante. set lcd log to debug (#1322) * redelegation tests, adding query functionality for bonds * add self-delegations at genesis ref #1165 * PR comments (mostly) addressed * cleanup, added Query LCD functionality * test cleanup/fixes * fix governance test * SlashValidatorSet -> ValidatorSet * changelog * stake lcd fix * x/auth: fix chainID in ante * fix lcd test * fix lint, update lint make command for spelling * lowercase error string * don't expose coinkeeper in staking * remove a few duplicate lines in changelog * chain_id in stake lcd tests * added transient redelegation * 'transient' => 'transitive' * Re-add nolint instruction * Fix tiny linter error
46 lines
2.2 KiB
Markdown
46 lines
2.2 KiB
Markdown
# Stores
|
|
|
|
This document provided a bit more insight as to the purpose of several related
|
|
prefixed areas of the staking store which are accessed in `x/stake/keeper.go`.
|
|
|
|
|
|
## Validators
|
|
- Prefix Key Space: ValidatorsKey
|
|
- Key/Sort: Validator Owner Address
|
|
- Value: Validator Object
|
|
- Contains: All Validator records independent of being bonded or not
|
|
- Used For: Retrieve validator from owner address, general validator retrieval
|
|
|
|
## Validators By Power
|
|
- Prefix Key Space: ValidatorsByPowerKey
|
|
- Key/Sort: Validator Power (equivalent bonded shares) then Block
|
|
Height then Transaction Order
|
|
- Value: Validator Owner Address
|
|
- Contains: All Validator records independent of being bonded or not
|
|
- Used For: Determining who the top validators are whom should be bonded
|
|
|
|
## Validators Cliff Power
|
|
- Prefix Key Space: ValidatorCliffKey
|
|
- Key/Sort: single-record
|
|
- Value: Validator Power Key (as above store)
|
|
- Contains: The cliff validator (ex. 100th validator) power
|
|
- Used For: Efficient updates to validator status
|
|
|
|
## Validators Bonded
|
|
- Prefix Key Space: ValidatorsBondedKey
|
|
- Key/Sort: Validator PubKey Address (NOTE same as Tendermint)
|
|
- Value: Validator Owner Address
|
|
- Contains: Only currently bonded Validators
|
|
- Used For: Retrieving the list of all currently bonded validators when updating
|
|
for a new validator entering the validator set we may want to loop
|
|
through this set to determine who we've kicked out.
|
|
retrieving validator by tendermint index
|
|
|
|
## Tendermint Updates
|
|
- Prefix Key Space: TendermintUpdatesKey
|
|
- Key/Sort: Validator Owner Address
|
|
- Value: Tendermint ABCI Validator
|
|
- Contains: Validators are queued to affect the consensus validation set in Tendermint
|
|
- Used For: Informing Tendermint of the validator set updates, is used only intra-block, as the
|
|
updates are applied then cleared on endblock
|