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:
Julien Robert
2022-02-10 12:07:01 +00:00
committed by GitHub
parent b1f9a117f7
commit 58597139fa
212 changed files with 3792 additions and 3755 deletions
+1 -1
View File
@@ -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.
+4 -4
View File
@@ -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 {
+5 -5
View File
@@ -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 -
+3 -3
View File
@@ -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
+15 -15
View File
@@ -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.
+46 -46
View File
@@ -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": [
{
+20 -20
View File
@@ -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)