[R4R] Better docs (#541)

* update sidebar order

* update event backticks

* fix broken links

* fix spelling
This commit is contained in:
Denali Marsh 2020-06-03 11:54:31 -07:00 committed by GitHub
parent e1c1902543
commit 2d7f5c4080
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
56 changed files with 388 additions and 138 deletions

View File

@ -13,12 +13,20 @@ module.exports = {
children: [ children: [
{ {
title: "Chainlink Price Oracle", title: "Chainlink Price Oracle",
path: "https://docs.kava.io/Tools/oracle.html" path: "/tools/oracle.html"
}, },
{ {
title: "Auction Bot", title: "Auction Bot",
path: "https://docs.kava.io/Tools/auction.html", path: "/tools/auction.html",
static: true }
]
},
{
title: "Building on Kava",
children: [
{
title: "JavaScript SDK",
path: "/building/javascript-sdk.html"
} }
] ]
}, },
@ -31,7 +39,7 @@ module.exports = {
}, },
{ {
title: "Protocol Reference", title: "Protocol Reference",
path: "https://godoc.org/github.com/Kava-Labs/kava" path: "https://pkg.go.dev/github.com/kava-labs/kava?tab=subdirectories"
} }
] ]
}, },

View File

@ -4,7 +4,7 @@
rm -rf Modules rm -rf Modules
# JavaScript SDK docs # JavaScript SDK docs
rm -rf Building rm -rf building
# Kava Tools docs # Kava Tools docs
rm -rf Tools rm -rf tools

View File

@ -5,7 +5,7 @@ mkdir -p Modules
for D in ../x/*; do for D in ../x/*; do
if [ -d "${D}" ]; then if [ -d "${D}" ]; then
rm -rf "Modules/$(echo $D | awk -F/ '{print $NF}')" rm -rf "Modules/$(echo $D | awk -F/ '{print $NF}')"
mkdir -p "Modules/$(echo $D | awk -F/ '{print $NF}')" && cp -r $D/spec/* "$_" && mv "./$_/README.md" "./$_/00_README.md" mkdir -p "Modules/$(echo $D | awk -F/ '{print $NF}')" && cp -r $D/spec/* "$_"
fi fi
done done
@ -13,18 +13,25 @@ baseGitUrl="https://raw.githubusercontent.com/Kava-Labs"
# Client docs (JavaScript SDK) # Client docs (JavaScript SDK)
clientGitRepo="javascript-sdk" clientGitRepo="javascript-sdk"
clientDir="Building" clientDir="building"
mkdir -p "./${clientDir}" mkdir -p "./${clientDir}"
curl "${baseGitUrl}/${clientGitRepo}/master/README.md" -o "./${clientDir}/${clientGitRepo}.md" curl "${baseGitUrl}/${clientGitRepo}/master/README.md" -o "./${clientDir}/${clientGitRepo}.md"
echo "---
parent:
order: false
---" > "./${clientDir}/readme.md"
# Kava Tools docs # Kava Tools docs
toolsGitRepo="kava-tools" toolsGitRepo="kava-tools"
toolsDir="Tools" toolsDir="tools"
toolDocs=("auction" "oracle") toolDocs=("auction" "oracle")
mkdir -p "./${toolsDir}" mkdir -p "./${toolsDir}"
for T in ${toolDocs[@]}; do for T in ${toolDocs[@]}; do
curl "${baseGitUrl}/${toolsGitRepo}/master/${T}/README.md" -o "./${toolsDir}/${T}.md" curl "${baseGitUrl}/${toolsGitRepo}/master/${T}/README.md" -o "./${toolsDir}/${T}.md"
done done
echo "---
parent:
order: false
---" > "./${toolsDir}/readme.md"

View File

@ -1,3 +1,7 @@
<!--
order: 1
-->
# Concepts # Concepts
Auctions are broken down into three distinct types, which correspond to three specific functionalities within the CDP system. Auctions are broken down into three distinct types, which correspond to three specific functionalities within the CDP system.

View File

@ -1,3 +1,7 @@
<!--
order: 2
-->
# State # State
## Parameters and genesis state ## Parameters and genesis state

View File

@ -1,3 +1,7 @@
<!--
order: 3
-->
# Messages # Messages
## Bidding ## Bidding

View File

@ -1,3 +1,7 @@
<!--
order: 4
-->
# Events # Events
The `x/auction` module emits the following events: The `x/auction` module emits the following events:
@ -5,30 +9,30 @@ The `x/auction` module emits the following events:
## Triggered By Other Modules ## Triggered By Other Modules
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|---------------|---------------|-----------------| |---------------|---------------|-------------------|
| auction_start | auction_id | {auction ID} | | auction_start | auction_id | `{auction ID}` |
| auction_start | auction_type | {auction type} | | auction_start | auction_type | `{auction type}` |
| auction_start | lot | {coin amount} | | auction_start | lot | `{coin amount}` |
| auction_start | bid | {coin amount} | | auction_start | bid | `{coin amount}` |
| auction_start | max_bid | {coin amount} | | auction_start | max_bid | `{coin amount}` |
## Handlers ## Handlers
### MsgPlaceBid ### MsgPlaceBid
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|-------------|---------------|--------------------| |-------------|---------------|----------------------|
| auction_bid | auction_id | {auction ID} | | auction_bid | auction_id | `{auction ID}` |
| auction_bid | bidder | {latest bidder} | | auction_bid | bidder | `{latest bidder}` |
| auction_bid | bid | {coin amount} | | auction_bid | bid | `{coin amount}` |
| auction_bid | lot | {coin amount} | | auction_bid | lot | `{coin amount}` |
| auction_bid | end_time | {auction end time} | | auction_bid | end_time | `{auction end time}` |
| message | module | auction | | message | module | auction |
| message | sender | {sender address} | | message | sender | `{sender address}` |
## BeginBlock ## BeginBlock
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|---------------|---------------|-----------------| |---------------|---------------|-------------------|
| auction_close | auction_id | {auction ID} | | auction_close | auction_id | `{auction ID}` |
| auction_close | close_block | {block height} | | auction_close | close_block | `{block height}` |

View File

@ -1,3 +1,7 @@
<!--
order: 5
-->
# Parameters # Parameters
The auction module contains the following parameters: The auction module contains the following parameters:

View File

@ -1,3 +1,7 @@
<!--
order: 6
-->
# Begin Block # Begin Block
At the start of each block, auctions that have reached `EndTime` are closed. The logic to close auctions is as follows: At the start of each block, auctions that have reached `EndTime` are closed. The logic to close auctions is as follows:

View File

@ -1,3 +1,10 @@
<!--
order: 0
title: "Auction Overview"
parent:
title: "auction"
-->
# `auction` # `auction`
<!-- TOC --> <!-- TOC -->

View File

@ -1,6 +1,10 @@
<!--
order: 1
-->
# Concepts # Concepts
The BEP3 module implements the [BEP3 protocol](https://github.com/binance-chain/BEPs/blob/master/BEP3.md) for secure cross-chain asset transfers between Kava and other BEP3 compatible chains, such as Binance Chain. Tranactions are witnessed and relayed between the two blockchains by Binance's BEP3 deputy process. The deputy maintains an address on both chains and is responsible for delivering tokens upon the successful completion of an Atomic Swap. Learn more about the BEP3 deputy process [here](https://github.com/binance-chain/bep3-deputy). The BEP3 module implements the [BEP3 protocol](https://github.com/binance-chain/BEPs/blob/master/BEP3.md) for secure cross-chain asset transfers between Kava and other BEP3 compatible chains, such as Binance Chain. Transactions are witnessed and relayed between the two blockchains by Binance's BEP3 deputy process. The deputy maintains an address on both chains and is responsible for delivering tokens upon the successful completion of an Atomic Swap. Learn more about the BEP3 deputy process [here](https://github.com/binance-chain/bep3-deputy).
## Requirements ## Requirements
Kava Kava

View File

@ -1,3 +1,7 @@
<!--
order: 2
-->
# State # State
## Parameters and genesis state ## Parameters and genesis state

View File

@ -1,3 +1,7 @@
<!--
order: 3
-->
# Messages # Messages
## Create swap ## Create swap

View File

@ -1,3 +1,7 @@
<!--
order: 4
-->
# Events # Events
The `x/bep3` module emits the following events: The `x/bep3` module emits the following events:
@ -7,45 +11,45 @@ The `x/bep3` module emits the following events:
### MsgCreateAtomicSwap ### MsgCreateAtomicSwap
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|--------------------|--------------------|--------------------------| |--------------------|--------------------|---------------------------|
| create_atomic_swap | sender | {sender address} | | create_atomic_swap | sender | `{sender address}` |
| create_atomic_swap | recipient | {recipient address} | | create_atomic_swap | recipient | `{recipient address}` |
| create_atomic_swap | atomic_swap_id | {swap ID} | | create_atomic_swap | atomic_swap_id | `{swap ID}` |
| create_atomic_swap | random_number_hash | {random number hash} | | create_atomic_swap | random_number_hash | `{random number hash}` |
| create_atomic_swap | timestamp | {timestamp} | | create_atomic_swap | timestamp | `{timestamp}` |
| create_atomic_swap | sender_other_chain | {sender other chain} | | create_atomic_swap | sender_other_chain | `{sender other chain}` |
| create_atomic_swap | expire_height | {swap expiration block} | | create_atomic_swap | expire_height | `{swap expiration block}` |
| create_atomic_swap | amount | {coin amount} | | create_atomic_swap | amount | `{coin amount}` |
| create_atomic_swap | direction | {incoming or outgoing} | | create_atomic_swap | direction | `{incoming or outgoing}` |
| message | module | bep3 | | message | module | bep3 |
| message | sender | {sender address} | | message | sender | `{sender address}` |
### MsgClaimAtomicSwap ### MsgClaimAtomicSwap
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|--------------------|--------------------|--------------------------| |--------------------|--------------------|---------------------------|
| claim_atomic_swap | claim_sender | {sender address} | | claim_atomic_swap | claim_sender | `{sender address}` |
| claim_atomic_swap | recipient | {recipient address} | | claim_atomic_swap | recipient | `{recipient address}` |
| claim_atomic_swap | atomic_swap_id | {swap ID} | | claim_atomic_swap | atomic_swap_id | `{swap ID}` |
| claim_atomic_swap | random_number_hash | {random number hash} | | claim_atomic_swap | random_number_hash | `{random number hash}` |
| claim_atomic_swap | random_number | {secret random number} | | claim_atomic_swap | random_number | `{secret random number}` |
| message | module | bep3 | | message | module | bep3 |
| message | sender | {sender address} | | message | sender | `{sender address}` |
## MsgRefundAtomicSwap ## MsgRefundAtomicSwap
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|--------------------|--------------------|--------------------------| |--------------------|--------------------|---------------------------|
| refund_atomic_swap | refund_sender | {sender address} | | refund_atomic_swap | refund_sender | `{sender address}` |
| refund_atomic_swap | sender | {swap creator address} | | refund_atomic_swap | sender | `{swap creator address}` |
| refund_atomic_swap | atomic_swap_id | {swap ID} | | refund_atomic_swap | atomic_swap_id | `{swap ID}` |
| refund_atomic_swap | random_number_hash | {random number hash} | | refund_atomic_swap | random_number_hash | `{random number hash}` |
| message | module | bep3 | | message | module | bep3 |
| message | sender | {sender address} | | message | sender | `{sender address}` |
## BeginBlock ## BeginBlock
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|---------------|------------------|------------------------------| |---------------|------------------|----------------------------------|
| swaps_expired | atomic_swap_ids | {array of swap IDs} | | swaps_expired | atomic_swap_ids | `{array of swap IDs}` |
| swaps_expired | expiration_block | {block height at expiration} | | swaps_expired | expiration_block | `{block height at expiration}` |

View File

@ -1,3 +1,7 @@
<!--
order: 5
-->
# Parameters # Parameters
The bep3 module contains the following parameters: The bep3 module contains the following parameters:

View File

@ -1,3 +1,7 @@
<!--
order: 6
-->
# Begin Block # Begin Block
At the start of each block, atomic swaps that meet certain criteria are expired or deleted. At the start of each block, atomic swaps that meet certain criteria are expired or deleted.

View File

@ -1,3 +1,10 @@
<!--
order: 0
title: "BEP3 Overview"
parent:
title: "bep3"
-->
# `bep3` # `bep3`
<!-- TOC --> <!-- TOC -->

View File

@ -1,3 +1,7 @@
<!--
order: 1
-->
# Concepts # Concepts
## Collateralized Debt Positions ## Collateralized Debt Positions
@ -58,7 +62,7 @@ Fees accumulate to the system and are split between the savings rate and surplus
## Governance ## Governance
The cdp module's behavior is controlled through several parameters which are updated through a governance mechanism. These parameters are listed in [Parameters](06_params.md). The cdp module's behavior is controlled through several parameters which are updated through a governance mechanism. These parameters are listed in [Parameters](04_params.md).
Governance is important for actions such as: Governance is important for actions such as:

View File

@ -1,3 +1,7 @@
<!--
order: 2
-->
# State # State
For detail on the state tracked by the cdp module see the types package. In particular [keys.go](../types/keys.go) describes how state is stored in the key-value store. For detail on the state tracked by the cdp module see the types package. In particular [keys.go](../types/keys.go) describes how state is stored in the key-value store.
@ -49,7 +53,7 @@ type Deposit struct {
## Params ## Params
Module parameters controlled by governance. See [Parameters](06_params.md) for details. Module parameters controlled by governance. See [Parameters](04_params.md) for details.
## NextCDPID ## NextCDPID

View File

@ -1,3 +1,7 @@
<!--
order: 3
-->
# Messages # Messages
Users can submit various messages to the cdp module which trigger state changes detailed below. Users can submit various messages to the cdp module which trigger state changes detailed below.

View File

@ -1,3 +1,7 @@
<!--
order: 4
-->
# Parameters # Parameters
The cdp module contains the following parameters: The cdp module contains the following parameters:

View File

@ -1,3 +1,7 @@
<!--
order: 5
-->
# Events # Events
The cdp module emits the following events: The cdp module emits the following events:
@ -7,58 +11,58 @@ The cdp module emits the following events:
### MsgCreateCDP ### MsgCreateCDP
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|-------------|---------------|------------------| |-------------|---------------|--------------------|
| message | module | cdp | | message | module | cdp |
| message | sender | {sender address} | | message | sender | `{sender address}' |
| create_cdp | cdp_id | {cdp id} | | create_cdp | cdp_id | `{cdp id}' |
| cdp_deposit | cdp_id | {cdp id} | | cdp_deposit | cdp_id | `{cdp id}' |
| cdp_deposit | amount | {deposit amount} | | cdp_deposit | amount | `{deposit amount}' |
| cdp_draw | cdp_id | {cdp id} | | cdp_draw | cdp_id | `{cdp id}' |
| cdp_draw | amount | {draw amount} | | cdp_draw | amount | `{draw amount}' |
### MsgWithdraw ### MsgWithdraw
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|---------|--------------- |-----------------------| |---------|--------------- |-----------------------|
| message | cdp_withdrawal | {collateral amount} | | message | cdp_withdrawal | `{collateral amount}' |
| message | cdp_id | {cdp_id} | | message | cdp_id | `{cdp_id}' |
| message | module | cdp | | message | module | cdp |
| message | sender | {sender address} | | message | sender | `{sender address}' |
### MsgDeposit ### MsgDeposit
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|-------------|---------------|------------------| |-------------|---------------|--------------------|
| message | module | cdp | | message | module | cdp |
| message | sender | {sender address} | | message | sender | `{sender address}' |
| cdp_deposit | cdp_id | {cdp id} | | cdp_deposit | cdp_id | `{cdp id}' |
| cdp_deposit | amount | {deposit amount} | | cdp_deposit | amount | `{deposit amount}' |
### MsgDrawDebt ### MsgDrawDebt
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|----------|---------------|------------------| |----------|---------------|--------------------|
| message | module | cdp | | message | module | cdp |
| message | sender | {sender address} | | message | sender | `{sender address}' |
| cdp_draw | cdp_id | {cdp id} | | cdp_draw | cdp_id | `{cdp id}' |
| cdp_draw | amount | {draw amount} | | cdp_draw | amount | `{draw amount}' |
### MsgRepayDebt ### MsgRepayDebt
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|---------------|---------------|--------------------| |---------------|---------------|----------------------|
| cdp_repayment | amount | {repayment amount} | | cdp_repayment | amount | `{repayment amount}' |
| cdp_repayment | cdp_id | {cdp id} | | cdp_repayment | cdp_id | `{cdp id}' |
| cdp_close | cdp_id | {cdp id} | | cdp_close | cdp_id | `{cdp id}' |
| message | module | cdp | | message | module | cdp |
| message | sender | {sender address} | | message | sender | `{sender address}' |
## BeginBlock ## BeginBlock
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|-------------------------|---------------|---------------------| |-------------------------|---------------|---------------------|
| cdp_liquidation | module | cdp | | cdp_liquidation | module | cdp |
| cdp_liquidation | cdp_id | {cdp id} | | cdp_liquidation | cdp_id | `{cdp id}' |
| cdp_liquidation | deposit | {deposit} | | cdp_liquidation | deposit | `{deposit}' |
| cdp_begin_blocker_error | module | cdp | | cdp_begin_blocker_error | module | cdp |
| cdp_begin_blocker_error | error_message | {error} | | cdp_begin_blocker_error | error_message | `{error}' |

View File

@ -1,3 +1,7 @@
<!--
order: 6
-->
# Begin Block # Begin Block
At the start of every block the BeginBlock of the cdp module: At the start of every block the BeginBlock of the cdp module:

View File

@ -1,3 +1,10 @@
<!--
order: 0
title: "CDP Overview"
parent:
title: "cdp"
-->
# `cdp` # `cdp`
## Table of Contents ## Table of Contents
@ -5,9 +12,9 @@
1. **[Concepts](01_concepts.md)** 1. **[Concepts](01_concepts.md)**
2. **[State](02_state.md)** 2. **[State](02_state.md)**
3. **[Messages](03_messages.md)** 3. **[Messages](03_messages.md)**
4. **[BeginBlock](04_begin_block.md)** 4. **[Parameters](04_params.md)**
5. **[Events](05_events.md)** 5. **[Events](05_events.md)**
6. **[Parameters](06_params.md)** 6. **[BeginBlock](06_begin_block.md)**
## Overview ## Overview

View File

@ -1,3 +1,7 @@
<!--
order: 1
-->
# Concepts # Concepts
For a general introduction to governance using the Comsos-SDK, see [x/gov](https://github.com/cosmos/cosmos-sdk/blob/v0.38.3/x/gov/spec/01_concepts.md). For a general introduction to governance using the Comsos-SDK, see [x/gov](https://github.com/cosmos/cosmos-sdk/blob/v0.38.3/x/gov/spec/01_concepts.md).

View File

@ -1,3 +1,7 @@
<!--
order: 2
-->
# State # State
## Genesis state ## Genesis state

View File

@ -1,3 +1,7 @@
<!--
order: 3
-->
# Messages # Messages
Committee members submit proposals using a `MsgSubmitProposal` Committee members submit proposals using a `MsgSubmitProposal`

View File

@ -1,3 +1,7 @@
<!--
order: 4
-->
# Events # Events
The `x/committee` module emits the following events: The `x/committee` module emits the following events:
@ -6,25 +10,25 @@ The `x/committee` module emits the following events:
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|----------------------|---------------------|--------------------| |----------------------|---------------------|--------------------|
| proposal_submit | committee_id | {committee ID} | | proposal_submit | committee_id | {'committee ID}' |
| proposal_submit | proposal_id | {proposal ID} | | proposal_submit | proposal_id | {'proposal ID}' |
| message | module | committee | | message | module | committee |
| message | sender | {sender address} | | message | sender | {'sender address}' |
## MsgVote ## MsgVote
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|----------------------|---------------------|--------------------| |----------------------|---------------------|--------------------|
| proposal_vote | committee_id | {committee ID} | | proposal_vote | committee_id | {'committee ID}' |
| proposal_vote | proposal_id | {proposal ID} | | proposal_vote | proposal_id | {'proposal ID}' |
| proposal_vote | voter | {voter address} | | proposal_vote | voter | {'voter address}' |
| message | module | committee | | message | module | committee |
| message | sender | {sender address} | | message | sender | {'sender address}' |
## BeginBlock ## BeginBlock
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|----------------------|---------------------|--------------------| |----------------------|---------------------|--------------------|
| proposal_close | committee_id | {committee ID} | | proposal_close | committee_id | {'committee ID}' |
| proposal_close | proposal_id | {proposal ID} | | proposal_close | proposal_id | {'proposal ID}' |
| proposal_close | status | {outcome} | | proposal_close | status | {'outcome}' |

View File

@ -1,3 +1,7 @@
<!--
order: 5
-->
# Parameters # Parameters
The committee module has no parameters. Committees are created using the `x/gov` module and and inherit the parameters controlling governance proposals from `x/gov`. The committee module has no parameters. Committees are created using the `x/gov` module and and inherit the parameters controlling governance proposals from `x/gov`.

View File

@ -1,3 +1,7 @@
<!--
order: 6
-->
# Begin Block # Begin Block
At the start of each block, expired proposals are deleted. The logic is as follows: At the start of each block, expired proposals are deleted. The logic is as follows:

View File

@ -1,3 +1,9 @@
<!--
order: 0
title: "Committee Overview"
parent:
title: "committee"
-->
# `committee` # `committee`

View File

@ -1,3 +1,7 @@
<!--
order: 1
-->
# Concepts # Concepts
This module presents an implementation of user incentives that are controlled by governance. When users take a certain action, in this case opening a CDP, they become eligible for rewards. Rewards are __opt in__ meaning that users must submit a message before the claim deadline to claim their rewards. The goals and background of this module were subject of a previous Kava governance proposal, which can be found [here](https://ipfs.io/ipfs/QmSYedssC3nyQacDJmNcREtgmTPyaMx2JX7RNkMdAVkdkr/user-growth-fund-proposal.pdf). This module presents an implementation of user incentives that are controlled by governance. When users take a certain action, in this case opening a CDP, they become eligible for rewards. Rewards are __opt in__ meaning that users must submit a message before the claim deadline to claim their rewards. The goals and background of this module were subject of a previous Kava governance proposal, which can be found [here](https://ipfs.io/ipfs/QmSYedssC3nyQacDJmNcREtgmTPyaMx2JX7RNkMdAVkdkr/user-growth-fund-proposal.pdf).

View File

@ -1,3 +1,7 @@
<!--
order: 2
-->
# State # State
## Parameters and Genesis State ## Parameters and Genesis State

View File

@ -1,3 +1,7 @@
<!--
order: 3
-->
# Messages # Messages
Users claim rewards using a `MsgClaimReward`. Users claim rewards using a `MsgClaimReward`.

View File

@ -1,3 +1,7 @@
<!--
order: 4
-->
# Events # Events
The `x/incentive` module emits the following events: The `x/incentive` module emits the following events:
@ -5,16 +9,16 @@ The `x/incentive` module emits the following events:
## MsgClaimReward ## MsgClaimReward
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|----------------------|---------------------|--------------------| |----------------------|---------------------|----------------------|
| claim_reward | claimed_by | {claiming address} | | claim_reward | claimed_by | `{claiming address}' |
| claim_reward | claim_amount | {amount claimed} | | claim_reward | claim_amount | `{amount claimed}' |
| message | module | incentive | | message | module | incentive |
| message | sender | {sender address} | | message | sender | `{sender address}' |
## BeginBlock ## BeginBlock
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|----------------------|---------------------|--------------------| |----------------------|---------------------|----------------------|
| new_claim_period | claim_period | {claim period} | | new_claim_period | claim_period | `{claim period}' |
| new_reward_period | reward_period | {reward period} | | new_reward_period | reward_period | `{reward period}' |
| claim_period_expiry | claim_period | {claim period} | | claim_period_expiry | claim_period | `{claim period}' |

View File

@ -1,3 +1,7 @@
<!--
order: 5
-->
# Parameters # Parameters
The incentive module contains the following parameters: The incentive module contains the following parameters:

View File

@ -1,3 +1,7 @@
<!--
order: 6
-->
# Begin Block # Begin Block
At the start of each block, expired claims and claim periods are deleted, rewards are applied to CDPs for any ongoing reward periods, expired reward periods are deleted and replaced with a new reward period (if active), and claim periods are created for expiring reward periods. The logic is as follows: At the start of each block, expired claims and claim periods are deleted, rewards are applied to CDPs for any ongoing reward periods, expired reward periods are deleted and replaced with a new reward period (if active), and claim periods are created for expiring reward periods. The logic is as follows:

View File

@ -1,3 +1,10 @@
<!--
order: 0
title: "Incentive Overview"
parent:
title: "incentive"
-->
# `incentive` # `incentive`
<!-- TOC --> <!-- TOC -->

View File

@ -1,3 +1,7 @@
<!--
order: 1
-->
# Concepts # Concepts
The minting mechanism in this module is designed to allow governance to determine a set of inflationary periods and the APR rate of inflation for each period. This module mints coins each block according to the schedule such that after 1 year the APR inflation worth of coins will have been minted. Governance can alter the APR inflation using a parameter change proposal. Parameter change proposals that change the APR will take effect in the block after they pass. The minting mechanism in this module is designed to allow governance to determine a set of inflationary periods and the APR rate of inflation for each period. This module mints coins each block according to the schedule such that after 1 year the APR inflation worth of coins will have been minted. Governance can alter the APR inflation using a parameter change proposal. Parameter change proposals that change the APR will take effect in the block after they pass.

View File

@ -1,3 +1,7 @@
<!--
order: 2
-->
# State # State
## Parameters and Genesis State ## Parameters and Genesis State

View File

@ -1,3 +1,7 @@
<!--
order: 3
-->
# Messages # Messages
There are no messages in the kavadist module. All state transitions are controlled by parameters, which can be updated via parameter change proposals. There are no messages in the kavadist module. All state transitions are controlled by parameters, which can be updated via parameter change proposals.

View File

@ -1,3 +1,7 @@
<!--
order: 4
-->
# Events # Events
The `x/kavadist` module emits the following events: The `x/kavadist` module emits the following events:
@ -6,5 +10,5 @@ The `x/kavadist` module emits the following events:
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|----------------------|---------------------|-----------------| |----------------------|---------------------|-----------------|
| kavadist | kava_dist_inflation | {amount} | | kavadist | kava_dist_inflation | `{amount}` |
| kavadist | kava_dist_status | "inactive" | | kavadist | kava_dist_status | "inactive" |

View File

@ -1,3 +1,7 @@
<!--
order: 5
-->
# Parameters # Parameters
The kavadist module has the following parameters: The kavadist module has the following parameters:

View File

@ -1,3 +1,7 @@
<!--
order: 6
-->
# Begin Block # Begin Block
At the start of each block, the inflationary coins for the ongoing period, if any, are minted. The logic is as follows: At the start of each block, the inflationary coins for the ongoing period, if any, are minted. The logic is as follows:

View File

@ -1,3 +1,10 @@
<!--
order: 0
title: "Kavadist Overview"
parent:
title: "kavadist"
-->
# `kavadist` # `kavadist`
<!-- TOC --> <!-- TOC -->

View File

@ -1,3 +1,7 @@
<!--
order: 1
-->
# Concepts # Concepts
Prices can be posted by any account which is added as an oracle. Oracles are specific to each market and can be updated via param change proposals. When an oracle posts a price, they submit a message to the blockchain that contains the current price for that market and a time when that price should be considered expired. If an oracle posts a new price, that price becomes the current price for that oracle, regardless of the previous price's expiry. A group of prices posted by a set of oracles for a particular market are referred to as 'raw prices' and the current median price of all valid oracle prices is referred to as the 'current price'. Each block, the current price for each market is determined by calculating the median of the raw prices. Prices can be posted by any account which is added as an oracle. Oracles are specific to each market and can be updated via param change proposals. When an oracle posts a price, they submit a message to the blockchain that contains the current price for that market and a time when that price should be considered expired. If an oracle posts a new price, that price becomes the current price for that oracle, regardless of the previous price's expiry. A group of prices posted by a set of oracles for a particular market are referred to as 'raw prices' and the current median price of all valid oracle prices is referred to as the 'current price'. Each block, the current price for each market is determined by calculating the median of the raw prices.

View File

@ -1,3 +1,7 @@
<!--
order: 2
-->
# State # State
## Parameters and genesis state ## Parameters and genesis state

View File

@ -1,3 +1,7 @@
<!--
order: 3
-->
# Messages # Messages
## Posting Prices ## Posting Prices

View File

@ -1,3 +1,7 @@
<!--
order: 4
-->
# Events # Events
The `x/pricefeed` module emits the following events: The `x/pricefeed` module emits the following events:
@ -5,18 +9,18 @@ The `x/pricefeed` module emits the following events:
## MsgPostPrice ## MsgPostPrice
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|----------------------|---------------|------------------| |----------------------|---------------|--------------------|
| oracle_updated_price | market_id | {market ID} | | oracle_updated_price | market_id | `{market ID}` |
| oracle_updated_price | oracle | {oracle} | | oracle_updated_price | oracle | `{oracle}` |
| oracle_updated_price | market_price | {price} | | oracle_updated_price | market_price | `{price}` |
| oracle_updated_price | expiry | {expiry} | | oracle_updated_price | expiry | `{expiry}` |
| message | module | pricefeed | | message | module | pricefeed |
| message | sender | {sender address} | | message | sender | `{sender address}` |
## BeginBlock ## BeginBlock
| Type | Attribute Key | Attribute Value | | Type | Attribute Key | Attribute Value |
|----------------------|-----------------|-----------------| |----------------------|-----------------|------------------|
| market_price_updated | market_id | {market ID} | | market_price_updated | market_id | `{market ID}` |
| market_price_updated | market_price | {price} | | market_price_updated | market_price | `{price}` |
| no_valid_prices | market_id | {market ID} | | no_valid_prices | market_id | `{market ID}` |

View File

@ -1,3 +1,7 @@
<!--
order: 5
-->
# Parameters # Parameters
The pricefeed module has the following parameters: The pricefeed module has the following parameters:

View File

@ -1,3 +1,7 @@
<!--
order: 6
-->
# End Block # End Block
At the end of each block, the current price is calculated as the median of all raw prices for each market. The logic is as follows: At the end of each block, the current price is calculated as the median of all raw prices for each market. The logic is as follows:

View File

@ -1,3 +1,10 @@
<!--
order: 0
title: "Pricefeed Overview"
parent:
title: "pricefeed"
-->
# `pricefeed` # `pricefeed`
<!-- TOC --> <!-- TOC -->

View File

@ -1,3 +1,7 @@
<!--
order: 1
-->
# Concepts # Concepts
The validator-vesting module is responsible for managing Validator Vesting Accounts, a vesting account for which the release of coins is tied to the validation of the blockchain. Validator Vesting Accounts implement the cosmos-sdk vesting account spec, which can be found [here](https://github.com/cosmos/cosmos-sdk/tree/master/x/auth/spec). The validator-vesting module is responsible for managing Validator Vesting Accounts, a vesting account for which the release of coins is tied to the validation of the blockchain. Validator Vesting Accounts implement the cosmos-sdk vesting account spec, which can be found [here](https://github.com/cosmos/cosmos-sdk/tree/master/x/auth/spec).

View File

@ -1,3 +1,7 @@
<!--
order: 2
-->
# State # State
## Validator Vesting Account type ## Validator Vesting Account type

View File

@ -1,3 +1,7 @@
<!--
order: 3
-->
# Begin Block # Begin Block
At each `BeginBlock`, all validator vesting accounts are iterated over to update the status of the current vesting period. Note that the address of each account is retrieved by iterating over the keys in the `validator-vesting` store, while the account objects are stored and accessed using the `auth` module's `AccountKeeper`. For each account, the block count is incremented, the missed sign count is incremented if the validator did not sign the block or was not found in the validator set. By comparing the blocktime of the current `BeginBlock`, with the value of `previousBlockTime` stored in the `validator-vesting` store, it is determined if the end of the current period has been reached. If the current period has ended, the `VestingPeriodProgress` field is updated to reflect if the coins for the ending period successfully vested or not. After updates are made regarding the status of the current vesting period, any outstanding debt on the account is attempted to be collected. If there is enough `SpendableBalance` on the account to cover the debt, coins are sent to the `ReturnAdress` or burned. If there is not enough `SpendableBalance` to cover the debt, all delegations of the account are `Unbonded`. Once those unbonding events reach maturity, the coins freed from the unbonding will be used to cover the debt. Finally, the time of the previous block is stored in the validator vesting account keeper, which is used to determine when a period has ended. At each `BeginBlock`, all validator vesting accounts are iterated over to update the status of the current vesting period. Note that the address of each account is retrieved by iterating over the keys in the `validator-vesting` store, while the account objects are stored and accessed using the `auth` module's `AccountKeeper`. For each account, the block count is incremented, the missed sign count is incremented if the validator did not sign the block or was not found in the validator set. By comparing the blocktime of the current `BeginBlock`, with the value of `previousBlockTime` stored in the `validator-vesting` store, it is determined if the end of the current period has been reached. If the current period has ended, the `VestingPeriodProgress` field is updated to reflect if the coins for the ending period successfully vested or not. After updates are made regarding the status of the current vesting period, any outstanding debt on the account is attempted to be collected. If there is enough `SpendableBalance` on the account to cover the debt, coins are sent to the `ReturnAdress` or burned. If there is not enough `SpendableBalance` to cover the debt, all delegations of the account are `Unbonded`. Once those unbonding events reach maturity, the coins freed from the unbonding will be used to cover the debt. Finally, the time of the previous block is stored in the validator vesting account keeper, which is used to determine when a period has ended.

View File

@ -1,3 +1,10 @@
<!--
order: 0
title: "Validator Vesting Overview"
parent:
title: "validator-vesting"
-->
# `validator-vesting` # `validator-vesting`
<!-- TOC --> <!-- TOC -->