Merge PR #3683: spec-spec update, spec file reorg, TOC updates

* spec reorg

* ...

* PENDING.md

* @alexanderbez comments
This commit is contained in:
frog power 4000
2019-02-20 13:21:57 -05:00
committed by GitHub
parent cf2cdabe6b
commit a07b235f67
48 changed files with 209 additions and 147 deletions
@@ -1,4 +1,6 @@
# Gas & Fees
# Concepts
## Gas & Fees
Fees serve two purposes for an operator of the network.
@@ -1,6 +1,6 @@
## State
# State
### Accounts
## Accounts
Accounts contain authentication information for a uniquely identified external user of an SDK blockchain,
including public key, address, and account number / sequence number for replay protection. For efficiency,
@@ -13,7 +13,7 @@ account types may do so.
- `0x01 | Address -> amino(account)`
#### Account Interface
### Account Interface
The account interface exposes methods to read and write standard account information.
Note that all of these methods operate on an account struct confirming to the interface
@@ -53,6 +53,6 @@ type BaseAccount struct {
}
```
#### Vesting Account
### Vesting Account
See [Vesting](vesting.md).
@@ -1,3 +1,7 @@
# Messages
TODO make this file conform to typical messages spec
## Handlers
The auth module presently has no transaction handlers of its own, but does expose
@@ -1,4 +1,4 @@
## Types
# Types
Besides accounts (specified in [State](state.md)), the types exposed by the auth module
are `StdFee`, the combination of an amount and gas limit, `StdSignature`, the combination
@@ -6,7 +6,7 @@ of an optional public key and a cryptographic signature as a byte array, `StdTx`
a struct which implements the `sdk.Tx` interface using `StdFee` and `StdSignature`, and
`StdSignDoc`, a replay-prevention structure for `StdTx` which transaction senders must sign over.
### StdFee
## StdFee
A `StdFee` is simply the combination of a fee amount, in any number of denominations,
and a gas limit (where dividing the amount by the gas limit gives a "gas price").
@@ -18,7 +18,7 @@ type StdFee struct {
}
```
### StdSignature
## StdSignature
A `StdSignature` is the combination of an optional public key and a cryptographic signature
as a byte array. The SDK is agnostic to particular key or signature formats and supports any
@@ -31,7 +31,7 @@ type StdSignature struct {
}
```
### StdTx
## StdTx
A `StdTx` is a struct which implements the `sdk.Tx` interface, and is likely to be generic
enough to serve the purposes of many Cosmos SDK blockchains.
@@ -45,7 +45,7 @@ type StdTx struct {
}
```
### StdSignDoc
## StdSignDoc
A `StdSignDoc` is a replay-prevention structure to be signed over, which ensures that
any submitted transaction (which is simply a signature over a particular bytestring)
@@ -1,8 +1,8 @@
## Keepers
# Keepers
The auth module only exposes one keeper, the account keeper, which can be used to read and write accounts.
### Account Keeper
## Account Keeper
Presently only one fully-permissioned account keeper is exposed, which has the ability to both read and write
all fields of all accounts, and to iterate over all stored accounts.
+21 -15
View File
@@ -13,18 +13,24 @@ This module will be used in the Cosmos Hub.
## Contents
1. **[State](state.md)**
1. [Accounts](state.md#accounts)
1. [Account Interface](state.md#account-interface)
2. [Base Account](state.md#baseaccount)
3. [Vesting Account](state.md#vestingaccount)
1. **[Types](types.md)**
1. [StdFee](types.md#stdfee)
2. [StdSignature](types.md#stdsignature)
3. [StdTx](types.md#stdtx)
4. [StdSignDoc](types.md#stdsigndoc)
1. **[Keepers](keepers.md)**
1. [AccountKeeper](keepers.md#account-keeper)
1. **[Handlers](handlers.md)**
1. [Ante Handler](handlers.md#ante-handler)
1. **[Gas & Fees](gas_fees.md)**
1. **[Concepts](01_concepts.md)**
- [Gas & Fees](01_concepts.md#gas-&-fees)
2. **[State](02_state.md)**
- [Accounts](02_state.md#accounts)
3. **[Messages](03_messages.md)**
- [Handlers](03_messages.md#handlers)
4. **[Types](03_types.md)**
- [StdFee](03_types.md#stdfee)
- [StdSignature](03_types.md#stdsignature)
- [StdTx](03_types.md#stdtx)
- [StdSignDoc](03_types.md#stdsigndoc)
5. **[Keepers](04_keepers.md)**
- [Account Keeper](04_keepers.md#account-keeper)
6. **[Vesting](05_vesting.md)**
- [Intro and Requirements](05_vesting.md#intro-and-requirements)
- [Vesting Account Types](05_vesting.md#vesting-account-types)
- [Vesting Account Specification](05_vesting.md#vesting-account-specification)
- [Keepers & Handlers](05_vesting.md#keepers-&-handlers)
- [Genesis Initialization](05_vesting.md#genesis-initialization)
- [Examples](05_vesting.md#examples)
- [Glossary](05_vesting.md#glossary)