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)
This commit is contained in:
@@ -4,4 +4,4 @@ order: 0
|
||||
|
||||
# Distribution
|
||||
|
||||
- [Distribution](spec/README.md) - Fee distribution, and staking token provision distribution.
|
||||
* [Distribution](spec/README.md) - Fee distribution, and staking token provision distribution.
|
||||
|
||||
@@ -15,7 +15,7 @@ for fractions of coins to be received from operations like inflation.
|
||||
When coins are distributed from the pool they are truncated back to
|
||||
`sdk.Coins` which are non-decimal.
|
||||
|
||||
- FeePool: `0x00 -> ProtocolBuffer(FeePool)`
|
||||
* FeePool: `0x00 -> ProtocolBuffer(FeePool)`
|
||||
|
||||
```go
|
||||
// coins with decimal
|
||||
@@ -27,7 +27,7 @@ type DecCoin struct {
|
||||
}
|
||||
```
|
||||
|
||||
+++ https://github.com/cosmos/cosmos-sdk/blob/v0.40.0/proto/cosmos/distribution/v1beta1/distribution.proto#L94-L101
|
||||
+++ <https://github.com/cosmos/cosmos-sdk/blob/v0.40.0/proto/cosmos/distribution/v1beta1/distribution.proto#L94-L101>
|
||||
|
||||
## Validator Distribution
|
||||
|
||||
@@ -38,7 +38,7 @@ Validator distribution information for the relevant validator is updated each ti
|
||||
3. any delegator withdraws from a validator, or
|
||||
4. the validator withdraws its commission.
|
||||
|
||||
- ValidatorDistInfo: `0x02 | ValOperatorAddrLen (1 byte) | ValOperatorAddr -> ProtocolBuffer(validatorDistribution)`
|
||||
* ValidatorDistInfo: `0x02 | ValOperatorAddrLen (1 byte) | ValOperatorAddr -> ProtocolBuffer(validatorDistribution)`
|
||||
|
||||
```go
|
||||
type ValidatorDistInfo struct {
|
||||
@@ -56,7 +56,7 @@ properties change (aka bonded tokens etc.) its properties will remain constant
|
||||
and the delegator's _accumulation_ factor can be calculated passively knowing
|
||||
only the height of the last withdrawal and its current properties.
|
||||
|
||||
- DelegationDistInfo: `0x02 | DelegatorAddrLen (1 byte) | DelegatorAddr | ValOperatorAddrLen (1 byte) | ValOperatorAddr -> ProtocolBuffer(delegatorDist)`
|
||||
* DelegationDistInfo: `0x02 | DelegatorAddrLen (1 byte) | DelegatorAddr | ValOperatorAddrLen (1 byte) | ValOperatorAddr -> ProtocolBuffer(delegatorDist)`
|
||||
|
||||
```go
|
||||
type DelegationDistInfo struct {
|
||||
|
||||
@@ -9,9 +9,9 @@ the distribution `ModuleAccount` account. When a delegator or validator
|
||||
withdraws their rewards, they are taken out of the `ModuleAccount`. During begin
|
||||
block, the different claims on the fees collected are updated as follows:
|
||||
|
||||
- The block proposer of the previous height and its delegators receive between 1% and 5% of fee rewards.
|
||||
- The reserve community tax is charged.
|
||||
- The remainder is distributed proportionally by voting power to all bonded validators
|
||||
* The block proposer of the previous height and its delegators receive between 1% and 5% of fee rewards.
|
||||
* The reserve community tax is charged.
|
||||
* The remainder is distributed proportionally by voting power to all bonded validators
|
||||
|
||||
To incentivize validators to wait and include additional pre-commits in the block, the block proposer reward is calculated from Tendermint pre-commit messages.
|
||||
|
||||
@@ -45,7 +45,7 @@ only bonded validators can supply valid precommits) and is always larger than
|
||||
Any remaining fees are distributed among all the bonded validators, including
|
||||
the proposer, in proportion to their consensus power.
|
||||
|
||||
```
|
||||
```text
|
||||
powFrac = validator power / total bonded validator power
|
||||
proposerMul = baseproposerreward + bonusproposerreward * P
|
||||
voteMul = 1 - communitytax - proposerMul
|
||||
@@ -79,7 +79,7 @@ blocks. Then hold `(precommits included) / (total bonded validator power)`
|
||||
constant so that the amortized block reward for the validator is `( validator power / total bonded power) * (1 - community tax rate)` of
|
||||
the total rewards. Consequently, the reward for a single delegator is:
|
||||
|
||||
```
|
||||
```text
|
||||
(delegator proportion of the validator power / validator power) * (validator power / total bonded power)
|
||||
* (1 - community tax rate) * (1 - validator commision rate)
|
||||
= (delegator proportion of the validator power / total bonded power) * (1 -
|
||||
|
||||
@@ -13,7 +13,7 @@ The withdraw address cannot be any of the module accounts. These accounts are bl
|
||||
|
||||
Response:
|
||||
|
||||
+++ https://github.com/cosmos/cosmos-sdk/blob/v0.42.4/proto/cosmos/distribution/v1beta1/tx.proto#L29-L37
|
||||
+++ <https://github.com/cosmos/cosmos-sdk/blob/v0.42.4/proto/cosmos/distribution/v1beta1/tx.proto#L29-L37>
|
||||
|
||||
```go
|
||||
func (k Keeper) SetWithdrawAddr(ctx sdk.Context, delegatorAddr sdk.AccAddress, withdrawAddr sdk.AccAddress) error
|
||||
@@ -47,7 +47,7 @@ Taking the slashes into account requires iteration.
|
||||
Let `F(X)` be the fraction a validator is to be slashed for a slashing event that happened at period `X`.
|
||||
If the validator was slashed at periods `P1, ..., PN`, where `A < P1`, `PN < B`, the distribution module calculates the individual delegator's rewards, `T(A, B)`, as follows:
|
||||
|
||||
```
|
||||
```go
|
||||
stake := initial stake
|
||||
rewards := 0
|
||||
previous := A
|
||||
@@ -63,7 +63,7 @@ The final calculated stake is equivalent to the actual staked coins in the deleg
|
||||
|
||||
Response:
|
||||
|
||||
+++ https://github.com/cosmos/cosmos-sdk/blob/v0.42.4/proto/cosmos/distribution/v1beta1/tx.proto#L42-L50
|
||||
+++ <https://github.com/cosmos/cosmos-sdk/blob/v0.42.4/proto/cosmos/distribution/v1beta1/tx.proto#L42-L50>
|
||||
|
||||
## WithdrawValidatorCommission
|
||||
|
||||
|
||||
@@ -8,15 +8,15 @@ Available hooks that can be called by and from this module.
|
||||
|
||||
## Create or modify delegation distribution
|
||||
|
||||
- triggered-by: `staking.MsgDelegate`, `staking.MsgBeginRedelegate`, `staking.MsgUndelegate`
|
||||
* triggered-by: `staking.MsgDelegate`, `staking.MsgBeginRedelegate`, `staking.MsgUndelegate`
|
||||
|
||||
### Before
|
||||
|
||||
- The delegation rewards are withdrawn to the withdraw address of the delegator.
|
||||
* The delegation rewards are withdrawn to the withdraw address of the delegator.
|
||||
The rewards include the current period and exclude the starting period.
|
||||
- The validator period is incremented.
|
||||
* The validator period is incremented.
|
||||
The validator period is incremented because the validator's power and share distribution might have changed.
|
||||
- The reference count for the delegator's starting period is decremented.
|
||||
* The reference count for the delegator's starting period is decremented.
|
||||
|
||||
### After
|
||||
|
||||
@@ -25,21 +25,21 @@ Because of the `Before`-hook, this period is the last period for which the deleg
|
||||
|
||||
## Validator created
|
||||
|
||||
- triggered-by: `staking.MsgCreateValidator`
|
||||
* triggered-by: `staking.MsgCreateValidator`
|
||||
|
||||
When a validator is created, the following validator variables are initialized:
|
||||
|
||||
- Historical rewards
|
||||
- Current accumulated rewards
|
||||
- Accumulated commission
|
||||
- Total outstanding rewards
|
||||
- Period
|
||||
* Historical rewards
|
||||
* Current accumulated rewards
|
||||
* Accumulated commission
|
||||
* Total outstanding rewards
|
||||
* Period
|
||||
|
||||
By default, all values are set to a `0`, except period, which is set to `1`.
|
||||
|
||||
## Validator removed
|
||||
|
||||
- triggered-by: `staking.RemoveValidator`
|
||||
* triggered-by: `staking.RemoveValidator`
|
||||
|
||||
Outstanding commission is sent to the validator's self-delegation withdrawal address.
|
||||
Remaining delegator rewards get sent to the community fee pool.
|
||||
@@ -50,10 +50,10 @@ Any remaining rewards are dust amounts.
|
||||
|
||||
## Validator is slashed
|
||||
|
||||
- triggered-by: `staking.Slash`
|
||||
* triggered-by: `staking.Slash`
|
||||
|
||||
- The current validator period reference count is incremented.
|
||||
* The current validator period reference count is incremented.
|
||||
The reference count is incremented because the slash event has created a reference to it.
|
||||
- The validator period is incremented.
|
||||
- The slash event is stored for later use.
|
||||
* The validator period is incremented.
|
||||
* The slash event is stored for later use.
|
||||
The slash event will be referenced when calculating delegator rewards.
|
||||
|
||||
@@ -12,7 +12,7 @@ A user can query and interact with the `distribution` module using the CLI.
|
||||
|
||||
The `query` commands allow users to query `distribution` state.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution --help
|
||||
```
|
||||
|
||||
@@ -20,19 +20,19 @@ simd query distribution --help
|
||||
|
||||
The `commission` command allows users to query validator commission rewards by address.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution commission [address] [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution commission cosmosvaloper1..
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```yml
|
||||
commission:
|
||||
- amount: "1000000.000000000000000000"
|
||||
denom: stake
|
||||
@@ -42,19 +42,19 @@ commission:
|
||||
|
||||
The `community-pool` command allows users to query all coin balances within the community pool.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution community-pool [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution community-pool
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```yml
|
||||
pool:
|
||||
- amount: "1000000.000000000000000000"
|
||||
denom: stake
|
||||
@@ -64,19 +64,19 @@ pool:
|
||||
|
||||
The `params` command allows users to query the parameters of the `distribution` module.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution params [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution params
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```yml
|
||||
base_proposer_reward: "0.010000000000000000"
|
||||
bonus_proposer_reward: "0.040000000000000000"
|
||||
community_tax: "0.020000000000000000"
|
||||
@@ -87,19 +87,19 @@ withdraw_addr_enabled: true
|
||||
|
||||
The `rewards` command allows users to query delegator rewards. Users can optionally include the validator address to query rewards earned from a specific validator.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution rewards [delegator-addr] [validator-addr] [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution rewards cosmos1..
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```yml
|
||||
rewards:
|
||||
- reward:
|
||||
- amount: "1000000.000000000000000000"
|
||||
@@ -114,19 +114,19 @@ total:
|
||||
|
||||
The `slashes` command allows users to query all slashes for a given block range.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution slashes [validator] [start-height] [end-height] [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution slashes cosmosvaloper1.. 1 1000
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```yml
|
||||
pagination:
|
||||
next_key: null
|
||||
total: "0"
|
||||
@@ -139,19 +139,19 @@ slashes:
|
||||
|
||||
The `validator-outstanding-rewards` command allows users to query all outstanding (un-withdrawn) rewards for a validator and all their delegations.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution validator-outstanding-rewards [validator] [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
simd query distribution validator-outstanding-rewards cosmosvaloper1..
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```yml
|
||||
rewards:
|
||||
- amount: "1000000.000000000000000000"
|
||||
denom: stake
|
||||
@@ -161,7 +161,7 @@ rewards:
|
||||
|
||||
The `tx` commands allow users to interact with the `distribution` module.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd tx distribution --help
|
||||
```
|
||||
|
||||
@@ -169,13 +169,13 @@ simd tx distribution --help
|
||||
|
||||
The `fund-community-pool` command allows users to send funds to the community pool.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd tx distribution fund-community-pool [amount] [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
simd tx distribution fund-community-pool 100stake --from cosmos1..
|
||||
```
|
||||
|
||||
@@ -183,13 +183,13 @@ simd tx distribution fund-community-pool 100stake --from cosmos1..
|
||||
|
||||
The `set-withdraw-addr` command allows users to set the withdraw address for rewards associated with a delegator address.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd tx distribution set-withdraw-addr [withdraw-addr] [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
simd tx distribution set-withdraw-addr cosmos1.. --from cosmos1..
|
||||
```
|
||||
|
||||
@@ -197,13 +197,13 @@ simd tx distribution set-withdraw-addr cosmos1.. --from cosmos1..
|
||||
|
||||
The `withdraw-all-rewards` command allows users to withdraw all rewards for a delegator.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd tx distribution withdraw-all-rewards [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
simd tx distribution withdraw-all-rewards --from cosmos1..
|
||||
```
|
||||
|
||||
@@ -212,13 +212,13 @@ simd tx distribution withdraw-all-rewards --from cosmos1..
|
||||
The `withdraw-rewards` command allows users to withdraw all rewards from a given delegation address,
|
||||
and optionally withdraw validator commission if the delegation address given is a validator operator and the user proves the `--commision` flag.
|
||||
|
||||
```
|
||||
```sh
|
||||
simd tx distribution withdraw-rewards [validator-addr] [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
simd tx distribution withdraw-rewards cosmosvaloper1.. --from cosmos1.. --commision
|
||||
```
|
||||
|
||||
@@ -232,7 +232,7 @@ The `Params` endpoint allows users to query parameters of the `distribution` mod
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
grpcurl -plaintext \
|
||||
localhost:9090 \
|
||||
cosmos.distribution.v1beta1.Query/Params
|
||||
@@ -240,7 +240,7 @@ grpcurl -plaintext \
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"params": {
|
||||
"communityTax": "20000000000000000",
|
||||
@@ -257,7 +257,7 @@ The `ValidatorOutstandingRewards` endpoint allows users to query rewards of a va
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
grpcurl -plaintext \
|
||||
-d '{"validator_address":"cosmosvalop1.."}' \
|
||||
localhost:9090 \
|
||||
@@ -266,7 +266,7 @@ grpcurl -plaintext \
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"rewards": {
|
||||
"rewards": [
|
||||
@@ -285,7 +285,7 @@ The `ValidatorCommission` endpoint allows users to query accumulated commission
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
grpcurl -plaintext \
|
||||
-d '{"validator_address":"cosmosvalop1.."}' \
|
||||
localhost:9090 \
|
||||
@@ -294,7 +294,7 @@ grpcurl -plaintext \
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"commission": {
|
||||
"commission": [
|
||||
@@ -313,7 +313,7 @@ The `ValidatorSlashes` endpoint allows users to query slash events of a validato
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
grpcurl -plaintext \
|
||||
-d '{"validator_address":"cosmosvalop1.."}' \
|
||||
localhost:9090 \
|
||||
@@ -322,7 +322,7 @@ grpcurl -plaintext \
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"slashes": [
|
||||
{
|
||||
@@ -342,7 +342,7 @@ The `DelegationRewards` endpoint allows users to query the total rewards accrued
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
grpcurl -plaintext \
|
||||
-d '{"delegator_address":"cosmos1..","validator_address":"cosmosvalop1.."}' \
|
||||
localhost:9090 \
|
||||
@@ -351,7 +351,7 @@ grpcurl -plaintext \
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"rewards": [
|
||||
{
|
||||
@@ -368,7 +368,7 @@ The `DelegationTotalRewards` endpoint allows users to query the total rewards ac
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
grpcurl -plaintext \
|
||||
-d '{"delegator_address":"cosmos1.."}' \
|
||||
localhost:9090 \
|
||||
@@ -377,7 +377,7 @@ grpcurl -plaintext \
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"rewards": [
|
||||
{
|
||||
@@ -405,7 +405,7 @@ The `DelegatorValidators` endpoint allows users to query all validators for give
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
grpcurl -plaintext \
|
||||
-d '{"delegator_address":"cosmos1.."}' \
|
||||
localhost:9090 \
|
||||
@@ -414,7 +414,7 @@ grpcurl -plaintext \
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"validators": [
|
||||
"cosmosvaloper1.."
|
||||
@@ -428,7 +428,7 @@ The `DelegatorWithdrawAddress` endpoint allows users to query the withdraw addre
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
grpcurl -plaintext \
|
||||
-d '{"delegator_address":"cosmos1.."}' \
|
||||
localhost:9090 \
|
||||
@@ -437,7 +437,7 @@ grpcurl -plaintext \
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"withdrawAddress": "cosmos1.."
|
||||
}
|
||||
@@ -449,7 +449,7 @@ The `CommunityPool` endpoint allows users to query the community pool coins.
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
```sh
|
||||
grpcurl -plaintext \
|
||||
localhost:9090 \
|
||||
cosmos.distribution.v1beta1.Query/CommunityPool
|
||||
@@ -457,7 +457,7 @@ grpcurl -plaintext \
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"pool": [
|
||||
{
|
||||
|
||||
@@ -22,12 +22,12 @@ and validator proposer-reward pool. Due to the nature of passive accounting,
|
||||
whenever changes to parameters which affect the rate of reward distribution
|
||||
occurs, withdrawal of rewards must also occur.
|
||||
|
||||
- Whenever withdrawing, one must withdraw the maximum amount they are entitled
|
||||
* Whenever withdrawing, one must withdraw the maximum amount they are entitled
|
||||
to, leaving nothing in the pool.
|
||||
- Whenever bonding, unbonding, or re-delegating tokens to an existing account, a
|
||||
* Whenever bonding, unbonding, or re-delegating tokens to an existing account, a
|
||||
full withdrawal of the rewards must occur (as the rules for lazy accounting
|
||||
change).
|
||||
- Whenever a validator chooses to change the commission on rewards, all accumulated
|
||||
* Whenever a validator chooses to change the commission on rewards, all accumulated
|
||||
commission rewards must be simultaneously withdrawn.
|
||||
|
||||
The above scenarios are covered in `hooks.md`.
|
||||
@@ -35,10 +35,10 @@ The above scenarios are covered in `hooks.md`.
|
||||
The distribution mechanism outlined herein is used to lazily distribute the
|
||||
following rewards between validators and associated delegators:
|
||||
|
||||
- multi-token fees to be socially distributed
|
||||
- proposer reward pool
|
||||
- inflated atom provisions
|
||||
- validator commission on all rewards earned by their delegators stake
|
||||
* multi-token fees to be socially distributed
|
||||
* proposer reward pool
|
||||
* inflated atom provisions
|
||||
* validator commission on all rewards earned by their delegators stake
|
||||
|
||||
Fees are pooled within a global pool, as well as validator specific
|
||||
proposer-reward pools. The mechanisms used allow for validators and delegators
|
||||
@@ -50,7 +50,7 @@ As a part of the lazy computations, each delegator holds an accumulation term
|
||||
specific to each validator which is used to estimate what their approximate
|
||||
fair portion of tokens held in the global fee pool is owed to them.
|
||||
|
||||
```
|
||||
```text
|
||||
entitlement = delegator-accumulation / all-delegators-accumulation
|
||||
```
|
||||
|
||||
@@ -85,22 +85,22 @@ to set up a script to periodically withdraw and rebond rewards.
|
||||
## Contents
|
||||
|
||||
1. **[Concepts](01_concepts.md)**
|
||||
- [Reference Counting in F1 Fee Distribution](01_concepts.md#reference-counting-in-f1-fee-distribution)
|
||||
* [Reference Counting in F1 Fee Distribution](01_concepts.md#reference-counting-in-f1-fee-distribution)
|
||||
2. **[State](02_state.md)**
|
||||
3. **[Begin Block](03_begin_block.md)**
|
||||
4. **[Messages](04_messages.md)**
|
||||
- [MsgSetWithdrawAddress](04_messages.md#msgsetwithdrawaddress)
|
||||
- [MsgWithdrawDelegatorReward](04_messages.md#msgwithdrawdelegatorreward)
|
||||
- [Withdraw Validator Rewards All](04_messages.md#withdraw-validator-rewards-all)
|
||||
- [Common calculations](04_messages.md#common-calculations-)
|
||||
* [MsgSetWithdrawAddress](04_messages.md#msgsetwithdrawaddress)
|
||||
* [MsgWithdrawDelegatorReward](04_messages.md#msgwithdrawdelegatorreward)
|
||||
* [Withdraw Validator Rewards All](04_messages.md#withdraw-validator-rewards-all)
|
||||
* [Common calculations](04_messages.md#common-calculations-)
|
||||
5. **[Hooks](05_hooks.md)**
|
||||
- [Create or modify delegation distribution](05_hooks.md#create-or-modify-delegation-distribution)
|
||||
- [Commission rate change](05_hooks.md#commission-rate-change)
|
||||
- [Change in Validator State](05_hooks.md#change-in-validator-state)
|
||||
* [Create or modify delegation distribution](05_hooks.md#create-or-modify-delegation-distribution)
|
||||
* [Commission rate change](05_hooks.md#commission-rate-change)
|
||||
* [Change in Validator State](05_hooks.md#change-in-validator-state)
|
||||
6. **[Events](06_events.md)**
|
||||
- [BeginBlocker](06_events.md#beginblocker)
|
||||
- [Handlers](06_events.md#handlers)
|
||||
* [BeginBlocker](06_events.md#beginblocker)
|
||||
* [Handlers](06_events.md#handlers)
|
||||
7. **[Parameters](07_params.md)**
|
||||
8. **[Parameters](07_params.md)**
|
||||
- [CLI](08_client.md#cli)
|
||||
- [gRPC](08_client.md#grpc)
|
||||
* [CLI](08_client.md#cli)
|
||||
* [gRPC](08_client.md#grpc)
|
||||
|
||||
Reference in New Issue
Block a user