Documentation
¶
Overview ¶
nolint
Index ¶
- Constants
- Variables
- func ABCIValidator(v Validator) abci.Validator
- func AddUint64Overflow(a, b uint64) (uint64, bool)
- func AppendMsgToErr(msg string, err string) string
- func Bech32ifyAccPub(pub crypto.PubKey) (string, error)
- func Bech32ifyConsPub(pub crypto.PubKey) (string, error)
- func Bech32ifyValPub(pub crypto.PubKey) (string, error)
- func BondStatusToString(b BondStatus) string
- func CodeToDefaultMsg(code CodeType) string
- func DecEq(t *testing.T, exp, got Dec) (*testing.T, bool, string, string, string)
- func DecsEqual(d1s, d2s []Dec) bool
- func DefaultChainID() (string, error)
- func DiffKVStores(a KVStore, b KVStore, prefixesToSkip [][]byte) (kvA cmn.KVPair, kvB cmn.KVPair, count int64, equal bool)
- func FormatTimeBytes(t time.Time) []byte
- func GetAccPubKeyBech32(pubkey string) (pk crypto.PubKey, err error)
- func GetConsPubKeyBech32(pubkey string) (pk crypto.PubKey, err error)
- func GetFromBech32(bech32str, prefix string) ([]byte, error)
- func GetValPubKeyBech32(pubkey string) (pk crypto.PubKey, err error)
- func InclusiveEndBytes(inclusiveBytes []byte) (exclusiveBytes []byte)
- func IntEq(t *testing.T, exp, got Int) (*testing.T, bool, string, string, string)
- func MustBech32ifyAccPub(pub crypto.PubKey) string
- func MustBech32ifyConsPub(pub crypto.PubKey) string
- func MustBech32ifyValPub(pub crypto.PubKey) string
- func MustGetAccPubKeyBech32(pubkey string) (pk crypto.PubKey)
- func MustGetConsPubKeyBech32(pubkey string) (pk crypto.PubKey)
- func MustGetValPubKeyBech32(pubkey string) (pk crypto.PubKey)
- func MustSortJSON(toSortJSON []byte) []byte
- func NewDecFromStr(str string) (d Dec, err Error)
- func ParseTimeBytes(bz []byte) (time.Time, error)
- func PrefixEndBytes(prefix []byte) []byte
- func RegisterCodec(cdc *codec.Codec)
- func SortJSON(toSortJSON []byte) ([]byte, error)
- func Uint64ToBigEndian(i uint64) []byte
- func UintOverflow(x Uint) bool
- type AccAddress
- func (aa AccAddress) Bytes() []byte
- func (aa AccAddress) Empty() bool
- func (aa AccAddress) Equals(aa2 AccAddress) bool
- func (aa AccAddress) Format(s fmt.State, verb rune)
- func (aa AccAddress) Marshal() ([]byte, error)
- func (aa AccAddress) MarshalJSON() ([]byte, error)
- func (aa AccAddress) String() string
- func (aa *AccAddress) Unmarshal(data []byte) error
- func (aa *AccAddress) UnmarshalJSON(data []byte) error
- type AnteHandler
- type BeginBlocker
- type BondStatus
- type CacheKVStore
- type CacheMultiStore
- type CacheWrap
- type CacheWrapper
- type CodeType
- type CodespaceType
- type Coin
- func (coin Coin) IsEqual(other Coin) bool
- func (coin Coin) IsGTE(other Coin) bool
- func (coin Coin) IsLT(other Coin) bool
- func (coin Coin) IsNotNegative() bool
- func (coin Coin) IsPositive() bool
- func (coin Coin) IsZero() bool
- func (coin Coin) Minus(coinB Coin) Coin
- func (coin Coin) Plus(coinB Coin) Coin
- func (coin Coin) SameDenomAs(other Coin) bool
- func (coin Coin) String() string
- type Coins
- func (coins Coins) AmountOf(denom string) Int
- func (coins Coins) Empty() bool
- func (coins Coins) IsAllGT(coinsB Coins) bool
- func (coins Coins) IsAllGTE(coinsB Coins) bool
- func (coins Coins) IsAllLT(coinsB Coins) bool
- func (coins Coins) IsAllLTE(coinsB Coins) bool
- func (coins Coins) IsEqual(coinsB Coins) bool
- func (coins Coins) IsNotNegative() bool
- func (coins Coins) IsPositive() bool
- func (coins Coins) IsValid() bool
- func (coins Coins) IsZero() bool
- func (coins Coins) Len() int
- func (coins Coins) Less(i, j int) bool
- func (coins Coins) Minus(coinsB Coins) Coins
- func (coins Coins) Plus(coinsB Coins) Coins
- func (coins Coins) SafeMinus(coinsB Coins) (Coins, bool)
- func (coins Coins) Sort() Coins
- func (coins Coins) String() string
- func (coins Coins) Swap(i, j int)
- type CommitID
- type CommitKVStore
- type CommitMultiStore
- type CommitStore
- type Committer
- type Config
- func (config *Config) GetBech32AccountAddrPrefix() string
- func (config *Config) GetBech32AccountPubPrefix() string
- func (config *Config) GetBech32ConsensusAddrPrefix() string
- func (config *Config) GetBech32ConsensusPubPrefix() string
- func (config *Config) GetBech32ValidatorAddrPrefix() string
- func (config *Config) GetBech32ValidatorPubPrefix() string
- func (config *Config) Seal() *Config
- func (config *Config) SetBech32PrefixForAccount(addressPrefix, pubKeyPrefix string)
- func (config *Config) SetBech32PrefixForConsensusNode(addressPrefix, pubKeyPrefix string)
- func (config *Config) SetBech32PrefixForValidator(addressPrefix, pubKeyPrefix string)
- type ConsAddress
- func (ca ConsAddress) Bytes() []byte
- func (ca ConsAddress) Empty() bool
- func (ca ConsAddress) Equals(ca2 ConsAddress) bool
- func (ca ConsAddress) Format(s fmt.State, verb rune)
- func (ca ConsAddress) Marshal() ([]byte, error)
- func (ca ConsAddress) MarshalJSON() ([]byte, error)
- func (ca ConsAddress) String() string
- func (ca *ConsAddress) Unmarshal(data []byte) error
- func (ca *ConsAddress) UnmarshalJSON(data []byte) error
- type Context
- func (c Context) BlockGasMeter() GasMeter
- func (c Context) BlockHeader() abci.Header
- func (c Context) BlockHeight() int64
- func (c Context) CacheContext() (cc Context, writeCache func())
- func (c Context) ChainID() string
- func (c Context) ConsensusParams() *abci.ConsensusParams
- func (c Context) GasMeter() GasMeter
- func (c Context) GetOp(ver int64) (Op, bool)
- func (c Context) IsCheckTx() bool
- func (c Context) IsZero() bool
- func (c Context) KVStore(key StoreKey) KVStore
- func (c Context) Logger() log.Logger
- func (c Context) MinimumFees() Coins
- func (c Context) MultiStore() MultiStore
- func (c Context) TransientStore(key StoreKey) KVStore
- func (c Context) TxBytes() []byte
- func (c Context) Value(key interface{}) interface{}
- func (c Context) VoteInfos() []abci.VoteInfo
- func (c Context) WithBlockGasMeter(meter GasMeter) Context
- func (c Context) WithBlockHeader(header abci.Header) Context
- func (c Context) WithBlockHeight(height int64) Context
- func (c Context) WithBlockTime(newTime time.Time) Context
- func (c Context) WithCacheWrapper(key interface{}, value CacheWrapper) Context
- func (c Context) WithChainID(chainID string) Context
- func (c Context) WithCloner(key interface{}, value cloner) Context
- func (c Context) WithConsensusParams(params *abci.ConsensusParams) Context
- func (c Context) WithGasMeter(meter GasMeter) Context
- func (c Context) WithInt32(key interface{}, value int32) Context
- func (c Context) WithIsCheckTx(isCheckTx bool) Context
- func (c Context) WithLogger(logger log.Logger) Context
- func (c Context) WithMinimumFees(minFees Coins) Context
- func (c Context) WithMultiStore(ms MultiStore) Context
- func (c Context) WithProposer(addr ConsAddress) Context
- func (c Context) WithProtoMsg(key interface{}, value proto.Message) Context
- func (c Context) WithString(key interface{}, value string) Context
- func (c Context) WithTxBytes(txBytes []byte) Context
- func (c Context) WithUint32(key interface{}, value uint32) Context
- func (c Context) WithUint64(key interface{}, value uint64) Context
- func (c Context) WithValue(key interface{}, value interface{}) Context
- func (c Context) WithVoteInfos(VoteInfos []abci.VoteInfo) Context
- type Dec
- func MaxDec(d1, d2 Dec) Dec
- func MinDec(d1, d2 Dec) Dec
- func MustNewDecFromStr(s string) Dec
- func NewDec(i int64) Dec
- func NewDecFromBigInt(i *big.Int) Dec
- func NewDecFromBigIntWithPrec(i *big.Int, prec int64) Dec
- func NewDecFromInt(i Int) Dec
- func NewDecFromIntWithPrec(i Int, prec int64) Dec
- func NewDecWithPrec(i, prec int64) Dec
- func OneDec() Dec
- func ZeroDec() Dec
- func (d Dec) Abs() Dec
- func (d Dec) Add(d2 Dec) Dec
- func (d Dec) Equal(d2 Dec) bool
- func (d Dec) Format(s fmt.State, verb rune)
- func (d Dec) GT(d2 Dec) bool
- func (d Dec) GTE(d2 Dec) bool
- func (d Dec) IsInteger() bool
- func (d Dec) IsNegative() bool
- func (d Dec) IsNil() bool
- func (d Dec) IsPositive() bool
- func (d Dec) IsZero() bool
- func (d Dec) LT(d2 Dec) bool
- func (d Dec) LTE(d2 Dec) bool
- func (d Dec) MarshalAmino() (string, error)
- func (d Dec) MarshalJSON() ([]byte, error)
- func (d Dec) Mul(d2 Dec) Dec
- func (d Dec) MulInt(i Int) Dec
- func (d Dec) Neg() Dec
- func (d Dec) Quo(d2 Dec) Dec
- func (d Dec) QuoInt(i Int) Dec
- func (d Dec) RoundInt() Int
- func (d Dec) RoundInt64() int64
- func (d Dec) String() string
- func (d Dec) Sub(d2 Dec) Dec
- func (d Dec) TruncateDec() Dec
- func (d Dec) TruncateInt() Int
- func (d Dec) TruncateInt64() int64
- func (d *Dec) UnmarshalAmino(text string) (err error)
- func (d *Dec) UnmarshalJSON(bz []byte) error
- type Delegation
- type DelegationSet
- type EndBlocker
- type Error
- func ErrInsufficientCoins(msg string) Error
- func ErrInsufficientFee(msg string) Error
- func ErrInsufficientFunds(msg string) Error
- func ErrInternal(msg string) Error
- func ErrInvalidAddress(msg string) Error
- func ErrInvalidCoins(msg string) Error
- func ErrInvalidPubKey(msg string) Error
- func ErrInvalidSequence(msg string) Error
- func ErrMemoTooLarge(msg string) Error
- func ErrOutOfGas(msg string) Error
- func ErrTooManySignatures(msg string) Error
- func ErrTxDecode(msg string) Error
- func ErrUnauthorized(msg string) Error
- func ErrUnknownAddress(msg string) Error
- func ErrUnknownRequest(msg string) Error
- func NewError(codespace CodespaceType, code CodeType, format string, args ...interface{}) Error
- type ErrorGasOverflow
- type ErrorOutOfGas
- type Gas
- type GasConfig
- type GasMeter
- type Handler
- type InitChainer
- type Int
- func (i Int) Add(i2 Int) (res Int)
- func (i Int) AddRaw(i2 int64) Int
- func (i Int) BigInt() *big.Int
- func (i Int) Div(i2 Int) (res Int)
- func (i Int) DivRaw(i2 int64) Int
- func (i Int) Equal(i2 Int) bool
- func (i Int) GT(i2 Int) bool
- func (i Int) Int64() int64
- func (i Int) IsInt64() bool
- func (i Int) IsZero() bool
- func (i Int) LT(i2 Int) bool
- func (i Int) MarshalAmino() (string, error)
- func (i Int) MarshalJSON() ([]byte, error)
- func (i Int) Mod(i2 Int) Int
- func (i Int) ModRaw(i2 int64) Int
- func (i Int) Mul(i2 Int) (res Int)
- func (i Int) MulRaw(i2 int64) Int
- func (i Int) Neg() (res Int)
- func (i Int) Sign() int
- func (i Int) String() string
- func (i Int) Sub(i2 Int) (res Int)
- func (i Int) SubRaw(i2 int64) Int
- func (i *Int) UnmarshalAmino(text string) error
- func (i *Int) UnmarshalJSON(bz []byte) error
- type Iterator
- type KVPair
- type KVStore
- type KVStoreKey
- type ModuleClients
- type Msg
- type MultiStore
- type Op
- type PeerFilter
- type PruningStrategy
- type Querier
- type Queryable
- type Result
- type StakingHooks
- type Store
- type StoreKey
- type StoreType
- type Tag
- type Tags
- type TestMsg
- type TraceContext
- type TransientStoreKey
- type Tx
- type TxDecoder
- type Uint
- func (i Uint) Add(i2 Uint) (res Uint)
- func (i Uint) AddRaw(i2 uint64) Uint
- func (i Uint) BigInt() *big.Int
- func (i Uint) Div(i2 Uint) (res Uint)
- func (i Uint) DivRaw(i2 uint64) Uint
- func (i Uint) Equal(i2 Uint) bool
- func (i Uint) GT(i2 Uint) bool
- func (i Uint) IsUint64() bool
- func (i Uint) IsZero() bool
- func (i Uint) LT(i2 Uint) bool
- func (i Uint) MarshalAmino() (string, error)
- func (i Uint) MarshalJSON() ([]byte, error)
- func (i Uint) Mod(i2 Uint) Uint
- func (i Uint) ModRaw(i2 uint64) Uint
- func (i Uint) Mul(i2 Uint) (res Uint)
- func (i Uint) MulRaw(i2 uint64) Uint
- func (i Uint) SafeSub(i2 Uint) (Uint, bool)
- func (i Uint) Sign() int
- func (i Uint) String() string
- func (i Uint) Sub(i2 Uint) (res Uint)
- func (i Uint) SubRaw(i2 uint64) Uint
- func (i Uint) Uint64() uint64
- func (i *Uint) UnmarshalAmino(text string) error
- func (i *Uint) UnmarshalJSON(bz []byte) error
- type ValAddress
- func (va ValAddress) Bytes() []byte
- func (va ValAddress) Empty() bool
- func (va ValAddress) Equals(va2 ValAddress) bool
- func (va ValAddress) Format(s fmt.State, verb rune)
- func (va ValAddress) Marshal() ([]byte, error)
- func (va ValAddress) MarshalJSON() ([]byte, error)
- func (va ValAddress) String() string
- func (va *ValAddress) Unmarshal(data []byte) error
- func (va *ValAddress) UnmarshalJSON(data []byte) error
- type Validator
- type ValidatorSet
Constants ¶
const (
// AddrLen defines a valid address length
AddrLen = 20
// Bech32PrefixAccAddr defines the Bech32 prefix of an account's address
Bech32PrefixAccAddr = "cosmos"
// Bech32PrefixAccPub defines the Bech32 prefix of an account's public key
Bech32PrefixAccPub = "cosmospub"
// Bech32PrefixValAddr defines the Bech32 prefix of a validator's operator address
Bech32PrefixValAddr = "cosmosvaloper"
// Bech32PrefixValPub defines the Bech32 prefix of a validator's operator public key
Bech32PrefixValPub = "cosmosvaloperpub"
// Bech32PrefixConsAddr defines the Bech32 prefix of a consensus node address
Bech32PrefixConsAddr = "cosmosvalcons"
// Bech32PrefixConsPub defines the Bech32 prefix of a consensus node public key
Bech32PrefixConsPub = "cosmosvalconspub"
)
const (
Precision = 10
// bytes required to represent the above precision
// ceil(log2(9999999999))
DecimalPrecisionBits = 34
)
number of decimal places
const (
// Base error codes
CodeOK CodeType = 0
CodeInternal CodeType = 1
CodeTxDecode CodeType = 2
CodeInvalidSequence CodeType = 3
CodeUnauthorized CodeType = 4
CodeInsufficientFunds CodeType = 5
CodeUnknownRequest CodeType = 6
CodeInvalidAddress CodeType = 7
CodeInvalidPubKey CodeType = 8
CodeUnknownAddress CodeType = 9
CodeInsufficientCoins CodeType = 10
CodeInvalidCoins CodeType = 11
CodeOutOfGas CodeType = 12
CodeMemoTooLarge CodeType = 13
CodeInsufficientFee CodeType = 14
CodeTooManySignatures CodeType = 15
// CodespaceRoot is a codespace for error codes in this file only.
// Notice that 0 is an "unset" codespace, which can be overridden with
// Error.WithDefaultCodespace().
CodespaceUndefined CodespaceType = ""
CodespaceRoot CodespaceType = "sdk"
)
SDK error codes
const (
GasIterNextCostFlatDesc = "IterNextFlat"
GasValuePerByteDesc = "ValuePerByte"
GasWritePerByteDesc = "WritePerByte"
GasReadPerByteDesc = "ReadPerByte"
GasWriteCostFlatDesc = "WriteFlat"
GasReadCostFlatDesc = "ReadFlat"
GasHasDesc = "Has"
GasDeleteDesc = "Delete"
)
Gas consumption descriptors.
const SortableTimeFormat = "2006-01-02T15:04:05.000000000"
Slight modification of the RFC3339Nano but it right pads all zeros and drops the time zone info
Variables ¶
var (
TagAction = "action"
TagSrcValidator = "source-validator"
TagDstValidator = "destination-validator"
TagDelegator = "delegator"
)
common tags
Functions ¶
func ABCIValidator ¶ added in v0.18.0
func ABCIValidator(v Validator) abci.Validator
validator which fulfills abci validator interface for use in Tendermint
func AddUint64Overflow ¶ added in v0.27.0
func AddUint64Overflow(a, b uint64) (uint64, bool)
AddUint64Overflow performs the addition operation on two uint64 integers and returns a boolean on whether or not the result overflows.
func AppendMsgToErr ¶ added in v0.25.0
func AppendMsgToErr(msg string, err string) string
appends a message to the head of the given error
func Bech32ifyAccPub ¶ added in v0.18.0
func Bech32ifyAccPub(pub crypto.PubKey) (string, error)
Bech32ifyAccPub returns a Bech32 encoded string containing the Bech32PrefixAccPub prefix for a given account PubKey.
func Bech32ifyConsPub ¶ added in v0.25.0
func Bech32ifyConsPub(pub crypto.PubKey) (string, error)
Bech32ifyConsPub returns a Bech32 encoded string containing the Bech32PrefixConsPub prefixfor a given consensus node's PubKey.
func Bech32ifyValPub ¶ added in v0.18.0
func Bech32ifyValPub(pub crypto.PubKey) (string, error)
Bech32ifyValPub returns a Bech32 encoded string containing the Bech32PrefixValPub prefix for a given validator operator's PubKey.
func BondStatusToString ¶ added in v0.18.0
func BondStatusToString(b BondStatus) string
BondStatusToString for pretty prints of Bond Status
func CodeToDefaultMsg ¶
func CodeToDefaultMsg(code CodeType) string
NOTE: Don't stringer this, we'll put better messages in later.
func DecEq ¶ added in v0.25.0
func DecEq(t *testing.T, exp, got Dec) (*testing.T, bool, string, string, string)
intended to be used with require/assert: require.True(DecEq(...))
func DecsEqual ¶ added in v0.25.0
func DecsEqual(d1s, d2s []Dec) bool
test if two decimal arrays are equal
func DefaultChainID ¶ added in v0.25.0
func DefaultChainID() (string, error)
DefaultChainID returns the chain ID from the genesis file if present. An error is returned if the file cannot be read or parsed.
TODO: This should be removed and the chainID should always be provided by the end user.
func DiffKVStores ¶ added in v0.26.0
func DiffKVStores(a KVStore, b KVStore, prefixesToSkip [][]byte) (kvA cmn.KVPair, kvB cmn.KVPair, count int64, equal bool)
Compare two KVstores, return either the first key/value pair at which they differ and whether or not they are equal, skipping value comparison for a set of provided prefixes
func FormatTimeBytes ¶ added in v0.25.0
func FormatTimeBytes(t time.Time) []byte
Formats a time.Time into a []byte that can be sorted
func GetAccPubKeyBech32 ¶ added in v0.19.0
func GetAccPubKeyBech32(pubkey string) (pk crypto.PubKey, err error)
GetAccPubKeyBech32 creates a PubKey for an account with a given public key string using the Bech32 Bech32PrefixAccPub prefix.
func GetConsPubKeyBech32 ¶ added in v0.25.0
func GetConsPubKeyBech32(pubkey string) (pk crypto.PubKey, err error)
GetConsPubKeyBech32 creates a PubKey for a consensus node with a given public key string using the Bech32 Bech32PrefixConsPub prefix.
func GetFromBech32 ¶ added in v0.19.0
func GetFromBech32(bech32str, prefix string) ([]byte, error)
GetFromBech32 decodes a bytestring from a Bech32 encoded string.
func GetValPubKeyBech32 ¶ added in v0.18.0
func GetValPubKeyBech32(pubkey string) (pk crypto.PubKey, err error)
GetValPubKeyBech32 creates a PubKey for a validator's operator with a given public key string using the Bech32 Bech32PrefixValPub prefix.
func InclusiveEndBytes ¶ added in v0.25.0
func InclusiveEndBytes(inclusiveBytes []byte) (exclusiveBytes []byte)
InclusiveEndBytes returns the []byte that would end a range query such that the input would be included
func IntEq ¶ added in v0.25.0
func IntEq(t *testing.T, exp, got Int) (*testing.T, bool, string, string, string)
intended to be used with require/assert: require.True(IntEq(...))
func MustBech32ifyAccPub ¶ added in v0.19.0
func MustBech32ifyAccPub(pub crypto.PubKey) string
MustBech32ifyAccPub returns the result of Bech32ifyAccPub panicing on failure.
func MustBech32ifyConsPub ¶ added in v0.25.0
func MustBech32ifyConsPub(pub crypto.PubKey) string
MustBech32ifyConsPub returns the result of Bech32ifyConsPub panicing on failure.
func MustBech32ifyValPub ¶ added in v0.19.0
func MustBech32ifyValPub(pub crypto.PubKey) string
MustBech32ifyValPub returns the result of Bech32ifyValPub panicing on failure.
func MustGetAccPubKeyBech32 ¶ added in v0.20.0
func MustGetAccPubKeyBech32(pubkey string) (pk crypto.PubKey)
MustGetAccPubKeyBech32 returns the result of GetAccPubKeyBech32 panicing on failure.
func MustGetConsPubKeyBech32 ¶ added in v0.25.0
func MustGetConsPubKeyBech32(pubkey string) (pk crypto.PubKey)
MustGetConsPubKeyBech32 returns the result of GetConsPubKeyBech32 panicing on failure.
func MustGetValPubKeyBech32 ¶ added in v0.20.0
func MustGetValPubKeyBech32(pubkey string) (pk crypto.PubKey)
MustGetValPubKeyBech32 returns the result of GetValPubKeyBech32 panicing on failure.
func MustSortJSON ¶ added in v0.20.0
func MustSortJSON(toSortJSON []byte) []byte
MustSortJSON is like SortJSON but panic if an error occurs, e.g., if the passed JSON isn't valid.
func NewDecFromStr ¶ added in v0.25.0
func NewDecFromStr(str string) (d Dec, err Error)
create a decimal from an input decimal string. valid must come in the form:
(-) whole integers (.) decimal integers
examples of acceptable input include:
-123.456
456.7890
345
-456789
NOTE - An error will return if more decimal places are provided in the string than the constant Precision.
CONTRACT - This function does not mutate the input str.
func ParseTimeBytes ¶ added in v0.25.0
func ParseTimeBytes(bz []byte) (time.Time, error)
Parses a []byte encoded using FormatTimeKey back into a time.Time
func PrefixEndBytes ¶ added in v0.15.0
func PrefixEndBytes(prefix []byte) []byte
PrefixEndBytes returns the []byte that would end a range query for all []byte with a certain prefix Deals with last byte of prefix being FF without overflowing
func RegisterCodec ¶ added in v0.25.0
func RegisterCodec(cdc *codec.Codec)
Register the sdk message type
func SortJSON ¶ added in v0.20.0
func SortJSON(toSortJSON []byte) ([]byte, error)
SortedJSON takes any JSON and returns it sorted by keys. Also, all white-spaces are removed. This method can be used to canonicalize JSON to be returned by GetSignBytes, e.g. for the ledger integration. If the passed JSON isn't valid it will return an error.
func Uint64ToBigEndian ¶ added in v0.26.0
func Uint64ToBigEndian(i uint64) []byte
Uint64ToBigEndian - marshals uint64 to a bigendian byte slice so it can be sorted
func UintOverflow ¶ added in v0.27.0
func UintOverflow(x Uint) bool
UintOverflow returns true if a given unsigned integer overflows and false otherwise.
Types ¶
type AccAddress ¶ added in v0.20.0
type AccAddress []byte
AccAddress a wrapper around bytes meant to represent an account address. When marshaled to a string or JSON, it uses Bech32.
func AccAddressFromBech32 ¶ added in v0.20.0
func AccAddressFromBech32(address string) (addr AccAddress, err error)
AccAddressFromBech32 creates an AccAddress from a Bech32 string.
func AccAddressFromHex ¶ added in v0.20.0
func AccAddressFromHex(address string) (addr AccAddress, err error)
AccAddressFromHex creates an AccAddress from a hex string.
func (AccAddress) Bytes ¶ added in v0.20.0
func (aa AccAddress) Bytes() []byte
Bytes returns the raw address bytes.
func (AccAddress) Empty ¶ added in v0.25.0
func (aa AccAddress) Empty() bool
Returns boolean for whether an AccAddress is empty
func (AccAddress) Equals ¶ added in v0.25.0
func (aa AccAddress) Equals(aa2 AccAddress) bool
Returns boolean for whether two AccAddresses are Equal
func (AccAddress) Format ¶ added in v0.20.0
func (aa AccAddress) Format(s fmt.State, verb rune)
Format implements the fmt.Formatter interface. nolint: errcheck
func (AccAddress) Marshal ¶ added in v0.20.0
func (aa AccAddress) Marshal() ([]byte, error)
Marshal returns the raw address bytes. It is needed for protobuf compatibility.
func (AccAddress) MarshalJSON ¶ added in v0.20.0
func (aa AccAddress) MarshalJSON() ([]byte, error)
MarshalJSON marshals to JSON using Bech32.
func (AccAddress) String ¶ added in v0.20.0
func (aa AccAddress) String() string
String implements the Stringer interface.
func (*AccAddress) Unmarshal ¶ added in v0.20.0
func (aa *AccAddress) Unmarshal(data []byte) error
Unmarshal sets the address to the given data. It is needed for protobuf compatibility.
func (*AccAddress) UnmarshalJSON ¶ added in v0.20.0
func (aa *AccAddress) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals from JSON assuming Bech32 encoding.
type AnteHandler ¶
type AnteHandler func(ctx Context, tx Tx, simulate bool) (newCtx Context, result Result, abort bool)
AnteHandler authenticates transactions, before their internal messages are handled. If newCtx.IsZero(), ctx is used instead.
type BeginBlocker ¶
type BeginBlocker func(ctx Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
run code before the transactions in a block
type BondStatus ¶ added in v0.18.0
type BondStatus byte
status of a validator
const (
Unbonded BondStatus = 0x00
Unbonding BondStatus = 0x01
Bonded BondStatus = 0x02
)
nolint
type CacheKVStore ¶
type CacheKVStore interface {
KVStore
// Writes operations to underlying KVStore
Write()
}
CacheKVStore cache-wraps a KVStore. After calling .Write() on the CacheKVStore, all previously created CacheKVStores on the object expire.
type CacheMultiStore ¶
type CacheMultiStore interface {
MultiStore
Write() // Writes operations to underlying KVStore
}
From MultiStore.CacheMultiStore()....
type CacheWrap ¶
type CacheWrap interface {
// Write syncs with the underlying store.
Write()
// CacheWrap recursively wraps again.
CacheWrap() CacheWrap
// CacheWrapWithTrace recursively wraps again with tracing enabled.
CacheWrapWithTrace(w io.Writer, tc TraceContext) CacheWrap
}
CacheWrap makes the most appropriate cache-wrap. For example, IAVLStore.CacheWrap() returns a CacheKVStore. CacheWrap should not return a Committer, since Commit cache-wraps make no sense. It can return KVStore, HeapStore, SpaceStore, etc.
type CacheWrapper ¶
type CacheWrapper interface {
// CacheWrap cache wraps.
CacheWrap() CacheWrap
// CacheWrapWithTrace cache wraps with tracing enabled.
CacheWrapWithTrace(w io.Writer, tc TraceContext) CacheWrap
}
type CodespaceType ¶ added in v0.16.0
type CodespaceType string
CodespaceType - codespace identifier
type Coin ¶
type Coin struct {
Denom string `json:"denom"`
// To allow the use of unsigned integers (see: #1273) a larger refactor will
// need to be made. So we use signed integers for now with safety measures in
// place preventing negative values being used.
Amount Int `json:"amount"`
}
Coin hold some amount of one currency.
CONTRACT: A coin will never hold a negative amount of any denomination.
TODO: Make field members private for further safety.
func NewCoin ¶ added in v0.20.0
func NewCoin(denom string, amount Int) Coin
NewCoin returns a new coin with a denomination and amount. It will panic if the amount is negative.
func NewInt64Coin ¶ added in v0.24.0
func NewInt64Coin(denom string, amount int64) Coin
NewInt64Coin returns a new coin with a denomination and amount. It will panic if the amount is negative.
func ParseCoin ¶
func ParseCoin(coinStr string) (coin Coin, err error)
ParseCoin parses a cli input for one coin type, returning errors if invalid. This returns an error on an empty string as well.
func (Coin) IsEqual ¶
func (coin Coin) IsEqual(other Coin) bool
IsEqual returns true if the two sets of Coins have the same value
func (Coin) IsGTE ¶
func (coin Coin) IsGTE(other Coin) bool
IsGTE returns true if they are the same type and the receiver is an equal or greater value
func (Coin) IsLT ¶ added in v0.25.0
func (coin Coin) IsLT(other Coin) bool
IsLT returns true if they are the same type and the receiver is a smaller value
func (Coin) IsNotNegative ¶
func (coin Coin) IsNotNegative() bool
IsNotNegative returns true if coin amount is not negative and false otherwise.
TODO: Remove once unsigned integers are used.
func (Coin) IsPositive ¶
func (coin Coin) IsPositive() bool
IsPositive returns true if coin amount is positive.
TODO: Remove once unsigned integers are used.
func (Coin) Minus ¶
func (coin Coin) Minus(coinB Coin) Coin
Subtracts amounts of two coins with same denom. If the coins differ in denom then it panics.
func (Coin) Plus ¶
func (coin Coin) Plus(coinB Coin) Coin
Adds amounts of two coins with same denom. If the coins differ in denom then it panics.
func (Coin) SameDenomAs ¶
func (coin Coin) SameDenomAs(other Coin) bool
SameDenomAs returns true if the two coins are the same denom
type Coins ¶
type Coins []Coin
Coins is a set of Coin, one per currency
func ParseCoins ¶
func ParseCoins(coinsStr string) (coins Coins, err error)
ParseCoins will parse out a list of coins separated by commas. If nothing is provided, it returns nil Coins. Returned coins are sorted.
func (Coins) AmountOf ¶
func (coins Coins) AmountOf(denom string) Int
Returns the amount of a denom from coins
func (Coins) Empty ¶ added in v0.27.0
func (coins Coins) Empty() bool
Empty returns true if there are no coins and false otherwise.
func (Coins) IsAllGT ¶ added in v0.26.0
func (coins Coins) IsAllGT(coinsB Coins) bool
IsAllGT returns true iff for every denom in coins, the denom is present at a greater amount in coinsB.
func (Coins) IsAllGTE ¶ added in v0.26.0
func (coins Coins) IsAllGTE(coinsB Coins) bool
IsAllGTE returns true iff for every denom in coins, the denom is present at an equal or greater amount in coinsB.
func (Coins) IsAllLT ¶ added in v0.26.0
func (coins Coins) IsAllLT(coinsB Coins) bool
IsAllLT returns True iff for every denom in coins, the denom is present at a smaller amount in coinsB.
func (Coins) IsAllLTE ¶ added in v0.26.0
func (coins Coins) IsAllLTE(coinsB Coins) bool
IsAllLTE returns true iff for every denom in coins, the denom is present at a smaller or equal amount in coinsB.
func (Coins) IsEqual ¶
func (coins Coins) IsEqual(coinsB Coins) bool
IsEqual returns true if the two sets of Coins have the same value
func (Coins) IsNotNegative ¶
func (coins Coins) IsNotNegative() bool
IsNotNegative returns true if there is no coin amount with a negative value (even no coins is true here).
TODO: Remove once unsigned integers are used.
func (Coins) IsPositive ¶
func (coins Coins) IsPositive() bool
IsPositive returns true if there is at least one coin and all currencies have a positive value.
TODO: Remove once unsigned integers are used.
func (Coins) IsValid ¶
func (coins Coins) IsValid() bool
IsValid asserts the Coins are sorted and have positive amounts.
func (Coins) IsZero ¶
func (coins Coins) IsZero() bool
IsZero returns true if there are no coins or all coins are zero.
func (Coins) Minus ¶
func (coins Coins) Minus(coinsB Coins) Coins
Minus subtracts a set of coins from another.
e.g. {2A, 3B} - {A} = {A, 3B} {2A} - {0B} = {2A} {A, B} - {A} = {B}
CONTRACT: Minus will never return Coins where one Coin has a non-positive amount. In otherwords, IsValid will always return true.
func (Coins) Plus ¶
func (coins Coins) Plus(coinsB Coins) Coins
Plus adds two sets of coins.
e.g. {2A} + {A, 2B} = {3A, 2B} {2A} + {0B} = {2A}
NOTE: Plus operates under the invariant that coins are sorted by denominations.
CONTRACT: Plus will never return Coins where one Coin has a non-positive amount. In otherwords, IsValid will always return true.
func (Coins) SafeMinus ¶ added in v0.27.0
func (coins Coins) SafeMinus(coinsB Coins) (Coins, bool)
SafeMinus performs the same arithmetic as Minus but returns a boolean if any negative coin amount was returned.
type CommitID ¶
type CommitID struct {
Version int64
Hash []byte
}
CommitID contains the tree version number and its merkle root.
type CommitKVStore ¶
type CommitKVStore interface {
Committer
KVStore
}
Stores of MultiStore must implement CommitStore.
type CommitMultiStore ¶
type CommitMultiStore interface {
Committer
MultiStore
// Mount a store of type using the given db.
// If db == nil, the new store will use the CommitMultiStore db.
MountStoreWithDB(key StoreKey, typ StoreType, db dbm.DB)
// Panics on a nil key.
GetCommitStore(key StoreKey) CommitStore
// Panics on a nil key.
GetCommitKVStore(key StoreKey) CommitKVStore
// Load the latest persisted version. Called once after all
// calls to Mount*Store() are complete.
LoadLatestVersion() error
// Load a specific persisted version. When you load an old
// version, or when the last commit attempt didn't complete,
// the next commit after loading must be idempotent (return the
// same commit id). Otherwise the behavior is undefined.
LoadVersion(ver int64) error
}
A non-cache MultiStore.
type CommitStore ¶
type CommitStore interface {
Committer
Store
}
Stores of MultiStore must implement CommitStore.
type Committer ¶
type Committer interface {
Commit() CommitID
LastCommitID() CommitID
SetPruning(PruningStrategy)
}
something that can persist to disk
type Config ¶ added in v0.26.0
type Config struct {
// contains filtered or unexported fields
}
Config is the structure that holds the SDK configuration parameters. This could be used to initialize certain configuration parameters for the SDK.
func GetConfig ¶ added in v0.26.0
func GetConfig() *Config
GetConfig returns the config instance for the SDK.
func (*Config) GetBech32AccountAddrPrefix ¶ added in v0.26.0
func (config *Config) GetBech32AccountAddrPrefix() string
GetBech32AccountAddrPrefix returns the Bech32 prefix for account address
func (*Config) GetBech32AccountPubPrefix ¶ added in v0.26.0
func (config *Config) GetBech32AccountPubPrefix() string
GetBech32AccountPubPrefix returns the Bech32 prefix for account public key
func (*Config) GetBech32ConsensusAddrPrefix ¶ added in v0.26.0
func (config *Config) GetBech32ConsensusAddrPrefix() string
GetBech32ConsensusAddrPrefix returns the Bech32 prefix for consensus node address
func (*Config) GetBech32ConsensusPubPrefix ¶ added in v0.26.0
func (config *Config) GetBech32ConsensusPubPrefix() string
GetBech32ConsensusPubPrefix returns the Bech32 prefix for consensus node public key
func (*Config) GetBech32ValidatorAddrPrefix ¶ added in v0.26.0
func (config *Config) GetBech32ValidatorAddrPrefix() string
GetBech32ValidatorAddrPrefix returns the Bech32 prefix for validator address
func (*Config) GetBech32ValidatorPubPrefix ¶ added in v0.26.0
func (config *Config) GetBech32ValidatorPubPrefix() string
GetBech32ValidatorPubPrefix returns the Bech32 prefix for validator public key
func (*Config) Seal ¶ added in v0.26.0
func (config *Config) Seal() *Config
Seal seals the config such that the config state could not be modified further
func (*Config) SetBech32PrefixForAccount ¶ added in v0.26.0
func (config *Config) SetBech32PrefixForAccount(addressPrefix, pubKeyPrefix string)
SetBech32PrefixForAccount builds the Config with Bech32 addressPrefix and publKeyPrefix for accounts and returns the config instance
func (*Config) SetBech32PrefixForConsensusNode ¶ added in v0.26.0
func (config *Config) SetBech32PrefixForConsensusNode(addressPrefix, pubKeyPrefix string)
SetBech32PrefixForConsensusNode builds the Config with Bech32 addressPrefix and publKeyPrefix for consensus nodes and returns the config instance
func (*Config) SetBech32PrefixForValidator ¶ added in v0.26.0
func (config *Config) SetBech32PrefixForValidator(addressPrefix, pubKeyPrefix string)
SetBech32PrefixForValidator builds the Config with Bech32 addressPrefix and publKeyPrefix for validators
and returns the config instance
type ConsAddress ¶ added in v0.25.0
type ConsAddress []byte
ConsAddress defines a wrapper around bytes meant to present a consensus node. When marshaled to a string or JSON, it uses Bech32.
func ConsAddressFromBech32 ¶ added in v0.25.0
func ConsAddressFromBech32(address string) (addr ConsAddress, err error)
ConsAddressFromBech32 creates a ConsAddress from a Bech32 string.
func ConsAddressFromHex ¶ added in v0.25.0
func ConsAddressFromHex(address string) (addr ConsAddress, err error)
ConsAddressFromHex creates a ConsAddress from a hex string.
func GetConsAddress ¶ added in v0.25.0
func GetConsAddress(pubkey crypto.PubKey) ConsAddress
get ConsAddress from pubkey
func (ConsAddress) Bytes ¶ added in v0.25.0
func (ca ConsAddress) Bytes() []byte
Bytes returns the raw address bytes.
func (ConsAddress) Empty ¶ added in v0.25.0
func (ca ConsAddress) Empty() bool
Returns boolean for whether an ConsAddress is empty
func (ConsAddress) Equals ¶ added in v0.25.0
func (ca ConsAddress) Equals(ca2 ConsAddress) bool
Returns boolean for whether two ConsAddress are Equal
func (ConsAddress) Format ¶ added in v0.25.0
func (ca ConsAddress) Format(s fmt.State, verb rune)
Format implements the fmt.Formatter interface. nolint: errcheck
func (ConsAddress) Marshal ¶ added in v0.25.0
func (ca ConsAddress) Marshal() ([]byte, error)
Marshal returns the raw address bytes. It is needed for protobuf compatibility.
func (ConsAddress) MarshalJSON ¶ added in v0.25.0
func (ca ConsAddress) MarshalJSON() ([]byte, error)
MarshalJSON marshals to JSON using Bech32.
func (ConsAddress) String ¶ added in v0.25.0
func (ca ConsAddress) String() string
String implements the Stringer interface.
func (*ConsAddress) Unmarshal ¶ added in v0.25.0
func (ca *ConsAddress) Unmarshal(data []byte) error
Unmarshal sets the address to the given data. It is needed for protobuf compatibility.
func (*ConsAddress) UnmarshalJSON ¶ added in v0.25.0
func (ca *ConsAddress) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals from JSON assuming Bech32 encoding.
type Context ¶
type Context struct {
context.Context
// contains filtered or unexported fields
}
The intent of Context is for it to be an immutable object that can be cloned and updated cheaply with WithValue() and passed forward to the next decorator or handler. For example,
func MsgHandler(ctx Context, tx Tx) Result {
...
ctx = ctx.WithValue(key, value)
...
}
func NewContext ¶
func NewContext(ms MultiStore, header abci.Header, isCheckTx bool, logger log.Logger) Context
create a new context
func (Context) BlockGasMeter ¶ added in v0.27.0
func (c Context) BlockGasMeter() GasMeter
func (Context) BlockHeader ¶
func (c Context) BlockHeader() abci.Header
func (Context) BlockHeight ¶
func (c Context) BlockHeight() int64
func (Context) CacheContext ¶ added in v0.15.0
func (c Context) CacheContext() (cc Context, writeCache func())
Cache the multistore and return a new cached context. The cached context is written to the context when writeCache is called.
func (Context) ConsensusParams ¶ added in v0.24.0
func (c Context) ConsensusParams() *abci.ConsensusParams
func (Context) GetOp ¶
func (c Context) GetOp(ver int64) (Op, bool)
Returns false if ver <= 0 || ver > len(c.pst.ops). The first operation is version 1.
func (Context) KVStore ¶
func (c Context) KVStore(key StoreKey) KVStore
KVStore fetches a KVStore from the MultiStore.
func (Context) MinimumFees ¶ added in v0.25.0
func (c Context) MinimumFees() Coins
func (Context) MultiStore ¶ added in v0.27.0
func (c Context) MultiStore() MultiStore
func (Context) TransientStore ¶ added in v0.24.0
func (c Context) TransientStore(key StoreKey) KVStore
TransientStore fetches a TransientStore from the MultiStore.
func (Context) Value ¶
func (c Context) Value(key interface{}) interface{}
context value for the provided key
func (Context) WithBlockGasMeter ¶ added in v0.27.0
func (c Context) WithBlockGasMeter(meter GasMeter) Context
func (Context) WithBlockHeader ¶
func (c Context) WithBlockHeader(header abci.Header) Context
func (Context) WithBlockHeight ¶
func (c Context) WithBlockHeight(height int64) Context
func (Context) WithBlockTime ¶ added in v0.25.0
func (c Context) WithBlockTime(newTime time.Time) Context
func (Context) WithCacheWrapper ¶
func (c Context) WithCacheWrapper(key interface{}, value CacheWrapper) Context
func (Context) WithChainID ¶
func (c Context) WithChainID(chainID string) Context
func (Context) WithCloner ¶
func (c Context) WithCloner(key interface{}, value cloner) Context
func (Context) WithConsensusParams ¶ added in v0.24.0
func (c Context) WithConsensusParams(params *abci.ConsensusParams) Context
func (Context) WithGasMeter ¶ added in v0.18.0
func (c Context) WithGasMeter(meter GasMeter) Context
func (Context) WithIsCheckTx ¶
func (c Context) WithIsCheckTx(isCheckTx bool) Context
func (Context) WithLogger ¶ added in v0.16.0
func (c Context) WithLogger(logger log.Logger) Context
func (Context) WithMinimumFees ¶ added in v0.25.0
func (c Context) WithMinimumFees(minFees Coins) Context
func (Context) WithMultiStore ¶
func (c Context) WithMultiStore(ms MultiStore) Context
func (Context) WithProposer ¶ added in v0.25.0
func (c Context) WithProposer(addr ConsAddress) Context
func (Context) WithProtoMsg ¶
func (c Context) WithProtoMsg(key interface{}, value proto.Message) Context
func (Context) WithString ¶
func (c Context) WithString(key interface{}, value string) Context
func (Context) WithTxBytes ¶
func (c Context) WithTxBytes(txBytes []byte) Context
func (Context) WithUint32 ¶
func (c Context) WithUint32(key interface{}, value uint32) Context
func (Context) WithUint64 ¶
func (c Context) WithUint64(key interface{}, value uint64) Context
func (Context) WithValue ¶
func (c Context) WithValue(key interface{}, value interface{}) Context
nolint
func (Context) WithVoteInfos ¶ added in v0.25.0
func (c Context) WithVoteInfos(VoteInfos []abci.VoteInfo) Context
type Dec ¶ added in v0.25.0
type Dec struct {
*big.Int `json:"int"`
}
NOTE: never use new(Dec) or else we will panic unmarshalling into the nil embedded big.Int
func MustNewDecFromStr ¶ added in v0.27.0
func MustNewDecFromStr(s string) Dec
Decimal from string, panic on error
func NewDec ¶ added in v0.25.0
func NewDec(i int64) Dec
create a new Dec from integer assuming whole number
func NewDecFromBigInt ¶ added in v0.25.0
func NewDecFromBigInt(i *big.Int) Dec
create a new Dec from big integer assuming whole numbers CONTRACT: prec <= Precision
func NewDecFromBigIntWithPrec ¶ added in v0.25.0
func NewDecFromBigIntWithPrec(i *big.Int, prec int64) Dec
create a new Dec from big integer assuming whole numbers CONTRACT: prec <= Precision
func NewDecFromInt ¶ added in v0.25.0
func NewDecFromInt(i Int) Dec
create a new Dec from big integer assuming whole numbers CONTRACT: prec <= Precision
func NewDecFromIntWithPrec ¶ added in v0.25.0
func NewDecFromIntWithPrec(i Int, prec int64) Dec
create a new Dec from big integer with decimal place at prec CONTRACT: prec <= Precision
func NewDecWithPrec ¶ added in v0.25.0
func NewDecWithPrec(i, prec int64) Dec
create a new Dec from integer with decimal place at prec CONTRACT: prec <= Precision
func (Dec) Format ¶ added in v0.27.0
func (d Dec) Format(s fmt.State, verb rune)
format decimal state
func (Dec) IsInteger ¶ added in v0.25.0
func (d Dec) IsInteger() bool
is integer, e.g. decimals are zero
func (Dec) IsNegative ¶ added in v0.27.0
func (d Dec) IsNegative() bool
func (Dec) IsNil ¶ added in v0.25.0
func (d Dec) IsNil() bool
______________________________________________________________________________________________ nolint
func (Dec) IsPositive ¶ added in v0.27.0
func (d Dec) IsPositive() bool
func (Dec) MarshalAmino ¶ added in v0.25.0
func (d Dec) MarshalAmino() (string, error)
wraps d.MarshalText()
func (Dec) MarshalJSON ¶ added in v0.25.0
func (d Dec) MarshalJSON() ([]byte, error)
MarshalJSON marshals the decimal
func (Dec) RoundInt ¶ added in v0.25.0
func (d Dec) RoundInt() Int
RoundInt round the decimal using bankers rounding
func (Dec) RoundInt64 ¶ added in v0.25.0
func (d Dec) RoundInt64() int64
RoundInt64 rounds the decimal using bankers rounding
func (Dec) TruncateDec ¶ added in v0.28.0
func (d Dec) TruncateDec() Dec
TruncateDec truncates the decimals from the number and returns a Dec
func (Dec) TruncateInt ¶ added in v0.25.0
func (d Dec) TruncateInt() Int
TruncateInt truncates the decimals from the number and returns an Int
func (Dec) TruncateInt64 ¶ added in v0.25.0
func (d Dec) TruncateInt64() int64
TruncateInt64 truncates the decimals from the number and returns an int64
func (*Dec) UnmarshalAmino ¶ added in v0.25.0
func (d *Dec) UnmarshalAmino(text string) (err error)
requires a valid JSON string - strings quotes and calls UnmarshalText
func (*Dec) UnmarshalJSON ¶ added in v0.25.0
func (d *Dec) UnmarshalJSON(bz []byte) error
UnmarshalJSON defines custom decoding scheme
type Delegation ¶ added in v0.18.0
type Delegation interface {
GetDelegatorAddr() AccAddress // delegator AccAddress for the bond
GetValidatorAddr() ValAddress // validator operator address
GetShares() Dec // amount of validator's shares held in this delegation
}
delegation bond for a delegated proof of stake system
type DelegationSet ¶ added in v0.18.0
type DelegationSet interface {
GetValidatorSet() ValidatorSet // validator set for which delegation set is based upon
// iterate through all delegations from one delegator by validator-AccAddress,
// execute func for each validator
IterateDelegations(ctx Context, delegator AccAddress,
fn func(index int64, delegation Delegation) (stop bool))
}
properties for the set of all delegations for a particular
type EndBlocker ¶
type EndBlocker func(ctx Context, req abci.RequestEndBlock) abci.ResponseEndBlock
run code after the transactions in a block and return updates to the validator set
type Error ¶
type Error interface {
// convenience
TraceSDK(format string, args ...interface{}) Error
// set codespace
WithDefaultCodespace(CodespaceType) Error
Code() CodeType
Codespace() CodespaceType
ABCILog() string
Result() Result
QueryResult() abci.ResponseQuery
// contains filtered or unexported methods
}
sdk Error type
func ErrInsufficientCoins ¶
func ErrInsufficientCoins(msg string) Error
func ErrInsufficientFee ¶ added in v0.25.0
func ErrInsufficientFee(msg string) Error
func ErrInsufficientFunds ¶
func ErrInsufficientFunds(msg string) Error
func ErrInvalidAddress ¶
func ErrInvalidAddress(msg string) Error
func ErrInvalidCoins ¶
func ErrInvalidCoins(msg string) Error
func ErrInvalidPubKey ¶
func ErrInvalidPubKey(msg string) Error
func ErrInvalidSequence ¶
func ErrInvalidSequence(msg string) Error
func ErrMemoTooLarge ¶ added in v0.20.0
func ErrMemoTooLarge(msg string) Error
func ErrOutOfGas ¶ added in v0.18.0
func ErrOutOfGas(msg string) Error
func ErrTooManySignatures ¶ added in v0.27.0
func ErrTooManySignatures(msg string) Error
func ErrTxDecode ¶
func ErrTxDecode(msg string) Error
func ErrUnauthorized ¶
func ErrUnauthorized(msg string) Error
func ErrUnknownAddress ¶
func ErrUnknownAddress(msg string) Error
func ErrUnknownRequest ¶
func ErrUnknownRequest(msg string) Error
type ErrorGasOverflow ¶ added in v0.27.0
type ErrorGasOverflow struct {
Descriptor string
}
ErrorGasOverflow defines an error thrown when an action results gas consumption unsigned integer overflow.
type ErrorOutOfGas ¶ added in v0.18.0
type ErrorOutOfGas struct {
Descriptor string
}
ErrorOutOfGas defines an error thrown when an action results in out of gas.
type GasConfig ¶ added in v0.24.0
type GasConfig struct {
HasCost Gas
DeleteCost Gas
ReadCostFlat Gas
ReadCostPerByte Gas
WriteCostFlat Gas
WriteCostPerByte Gas
IterNextCostFlat Gas
}
GasConfig defines gas cost for each operation on KVStores
func KVGasConfig ¶ added in v0.25.0
func KVGasConfig() GasConfig
KVGasConfig returns a default gas config for KVStores.
func TransientGasConfig ¶ added in v0.24.0
func TransientGasConfig() GasConfig
TransientGasConfig returns a default gas config for TransientStores.
type GasMeter ¶ added in v0.18.0
type GasMeter interface {
GasConsumed() Gas
GasConsumedToLimit() Gas
Limit() Gas
ConsumeGas(amount Gas, descriptor string)
IsPastLimit() bool
IsOutOfGas() bool
}
GasMeter interface to track gas consumption
func NewGasMeter ¶ added in v0.18.0
func NewGasMeter(limit Gas) GasMeter
NewGasMeter returns a reference to a new basicGasMeter.
func NewInfiniteGasMeter ¶ added in v0.18.0
func NewInfiniteGasMeter() GasMeter
NewInfiniteGasMeter returns a reference to a new infiniteGasMeter.
type Handler ¶
type Handler func(ctx Context, msg Msg) Result
Handler defines the core of the state transition function of an application.
type InitChainer ¶
type InitChainer func(ctx Context, req abci.RequestInitChain) abci.ResponseInitChain
initialize application state at genesis
type Int ¶ added in v0.20.0
type Int struct {
// contains filtered or unexported fields
}
Int wraps integer with 256 bit range bound Checks overflow, underflow and division by zero Exists in range from -(2^255-1) to 2^255-1
func NewIntFromBigInt ¶ added in v0.20.0
func NewIntFromBigInt(i *big.Int) Int
NewIntFromBigInt constructs Int from big.Int
func NewIntFromString ¶ added in v0.20.0
func NewIntFromString(s string) (res Int, ok bool)
NewIntFromString constructs Int from string
func NewIntWithDecimal ¶ added in v0.20.0
func NewIntWithDecimal(n int64, dec int) Int
NewIntWithDecimal constructs Int with decimal Result value is n*10^dec
func (Int) DivRaw ¶ added in v0.20.0
func (i Int) DivRaw(i2 int64) Int
DivRaw divides Int with int64
func (Int) GT ¶ added in v0.20.0
func (i Int) GT(i2 Int) bool
GT returns true if first Int is greater than second
func (Int) Int64 ¶ added in v0.20.0
func (i Int) Int64() int64
Int64 converts Int to int64 Panics if the value is out of range
func (Int) IsInt64 ¶ added in v0.24.0
func (i Int) IsInt64() bool
IsInt64 returns true if Int64() not panics
func (Int) LT ¶ added in v0.20.0
func (i Int) LT(i2 Int) bool
LT returns true if first Int is lesser than second
func (Int) MarshalAmino ¶ added in v0.20.0
func (i Int) MarshalAmino() (string, error)
MarshalAmino defines custom encoding scheme
func (Int) MarshalJSON ¶ added in v0.20.0
func (i Int) MarshalJSON() ([]byte, error)
MarshalJSON defines custom encoding scheme
func (Int) Mod ¶ added in v0.24.0
func (i Int) Mod(i2 Int) Int
Mod returns remainder after dividing with Int
func (Int) ModRaw ¶ added in v0.24.0
func (i Int) ModRaw(i2 int64) Int
ModRaw returns remainder after dividing with int64
func (Int) MulRaw ¶ added in v0.20.0
func (i Int) MulRaw(i2 int64) Int
MulRaw multipies Int and int64
func (Int) SubRaw ¶ added in v0.20.0
func (i Int) SubRaw(i2 int64) Int
SubRaw subtracts int64 from Int
func (*Int) UnmarshalAmino ¶ added in v0.20.0
func (i *Int) UnmarshalAmino(text string) error
UnmarshalAmino defines custom decoding scheme
func (*Int) UnmarshalJSON ¶ added in v0.20.0
func (i *Int) UnmarshalJSON(bz []byte) error
UnmarshalJSON defines custom decoding scheme
type Iterator ¶
type Iterator = dbm.Iterator
Alias iterator to db's Iterator for convenience.
func KVStorePrefixIterator ¶ added in v0.18.0
func KVStorePrefixIterator(kvs KVStore, prefix []byte) Iterator
Iterator over all the keys with a certain prefix in ascending order
func KVStoreReversePrefixIterator ¶ added in v0.18.0
func KVStoreReversePrefixIterator(kvs KVStore, prefix []byte) Iterator
Iterator over all the keys with a certain prefix in descending order.
type KVStore ¶
type KVStore interface {
Store
// Get returns nil iff key doesn't exist. Panics on nil key.
Get(key []byte) []byte
// Has checks if a key exists. Panics on nil key.
Has(key []byte) bool
// Set sets the key. Panics on nil key or value.
Set(key, value []byte)
// Delete deletes the key. Panics on nil key.
Delete(key []byte)
// Iterator over a domain of keys in ascending order. End is exclusive.
// Start must be less than end, or the Iterator is invalid.
// Iterator must be closed by caller.
// To iterate over entire domain, use store.Iterator(nil, nil)
// CONTRACT: No writes may happen within a domain while an iterator exists over it.
Iterator(start, end []byte) Iterator
// Iterator over a domain of keys in descending order. End is exclusive.
// Start must be less than end, or the Iterator is invalid.
// Iterator must be closed by caller.
// CONTRACT: No writes may happen within a domain while an iterator exists over it.
ReverseIterator(start, end []byte) Iterator
// Prefix applied keys with the argument
// CONTRACT: when Prefix is called on a KVStore more than once,
// the concatanation of the prefixes is applied
Prefix(prefix []byte) KVStore
// Gas consuming store
// CONTRACT: when Gas is called on a KVStore more than once,
// the concatanation of the meters/configs is applied
Gas(GasMeter, GasConfig) KVStore
}
KVStore is a simple interface to get/set data
type KVStoreKey ¶
type KVStoreKey struct {
// contains filtered or unexported fields
}
KVStoreKey is used for accessing substores. Only the pointer value should ever be used - it functions as a capabilities key.
func NewKVStoreKey ¶
func NewKVStoreKey(name string) *KVStoreKey
NewKVStoreKey returns a new pointer to a KVStoreKey. Use a pointer so keys don't collide.
type ModuleClients ¶ added in v0.27.0
type ModuleClients interface {
GetQueryCmd() *cobra.Command
GetTxCmd() *cobra.Command
}
ModuleClients helps modules provide a standard interface for exporting client functionality
type Msg ¶
type Msg interface {
// Return the message type.
// Must be alphanumeric or empty.
Route() string
// Returns a human-readable string for the message, intended for utilization
// within tags
Type() string
// ValidateBasic does a simple validation check that
// doesn't require access to any other information.
ValidateBasic() Error
// Get the canonical byte representation of the Msg.
GetSignBytes() []byte
// Signers returns the addrs of signers that must sign.
// CONTRACT: All signatures must be present to be valid.
// CONTRACT: Returns addrs in some deterministic order.
GetSigners() []AccAddress
}
Transactions messages must fulfill the Msg
type MultiStore ¶
type MultiStore interface {
Store
// Cache wrap MultiStore.
// NOTE: Caller should probably not call .Write() on each, but
// call CacheMultiStore.Write().
CacheMultiStore() CacheMultiStore
// Convenience for fetching substores.
// If the store does not exist, panics.
GetStore(StoreKey) Store
GetKVStore(StoreKey) KVStore
// TracingEnabled returns if tracing is enabled for the MultiStore.
TracingEnabled() bool
// WithTracer sets the tracer for the MultiStore that the underlying
// stores will utilize to trace operations. A MultiStore is returned.
WithTracer(w io.Writer) MultiStore
// WithTracingContext sets the tracing context for a MultiStore. It is
// implied that the caller should update the context when necessary between
// tracing operations. A MultiStore is returned.
WithTracingContext(TraceContext) MultiStore
// ResetTraceContext resets the current tracing context.
ResetTraceContext() MultiStore
}
type PeerFilter ¶ added in v0.18.0
type PeerFilter func(info string) abci.ResponseQuery
respond to p2p filtering queries from Tendermint
type PruningStrategy ¶ added in v0.21.0
type PruningStrategy uint8
PruningStrategy specfies how old states will be deleted over time
const (
// PruneSyncable means only those states not needed for state syncing will be deleted (keeps last 100 + every 10000th)
PruneSyncable PruningStrategy = iota
// PruneEverything means all saved states will be deleted, storing only the current state
PruneEverything PruningStrategy = iota
// PruneNothing means all historic states will be saved, nothing will be deleted
PruneNothing PruningStrategy = iota
)
type Querier ¶ added in v0.25.0
type Querier = func(ctx Context, path []string, req abci.RequestQuery) (res []byte, err Error)
Type for querier functions on keepers to implement to handle custom queries
type Queryable ¶
type Queryable interface {
Query(abci.RequestQuery) abci.ResponseQuery
}
Queryable allows a Store to expose internal state to the abci.Query interface. Multistore can route requests to the proper Store.
This is an optional, but useful extension to any CommitStore
type Result ¶
type Result struct {
// Code is the response code, is stored back on the chain.
Code CodeType
// Codespace is the string referring to the domain of an error
Codespace CodespaceType
// Data is any data returned from the app.
Data []byte
// Log is just debug information. NOTE: nondeterministic.
Log string
// GasWanted is the maximum units of work we allow this tx to perform.
GasWanted uint64
// GasUsed is the amount of gas actually consumed. NOTE: unimplemented
GasUsed uint64
// Tx fee amount and denom.
FeeAmount int64
FeeDenom string
// Tags are used for transaction indexing and pubsub.
Tags Tags
}
Result is the union of ResponseDeliverTx and ResponseCheckTx.
type StakingHooks ¶ added in v0.25.0
type StakingHooks interface {
OnValidatorCreated(ctx Context, valAddr ValAddress) // Must be called when a validator is created
OnValidatorModified(ctx Context, valAddr ValAddress) // Must be called when a validator's state changes
OnValidatorRemoved(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Must be called when a validator is deleted
OnValidatorBonded(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Must be called when a validator is bonded
OnValidatorBeginUnbonding(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Must be called when a validator begins unbonding
OnValidatorPowerDidChange(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Called at EndBlock when a validator's power did change
OnDelegationCreated(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation is created
OnDelegationSharesModified(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation's shares are modified
OnDelegationRemoved(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation is removed
}
event hooks for staking validator object
type StoreKey ¶
type StoreKey interface {
Name() string
String() string
}
StoreKey is a key used to index stores in a MultiStore.
type StoreType ¶
type StoreType int
kind of store
const (
//nolint
StoreTypeMulti StoreType = iota
StoreTypeDB
StoreTypeIAVL
StoreTypeTransient
)
type Tags ¶ added in v0.17.0
type Tags cmn.KVPairs
Type synonym for convenience
func NewTags ¶ added in v0.17.0
func NewTags(tags ...interface{}) Tags
New variadic tags, must be k string, v []byte repeating
func (Tags) AppendTag ¶ added in v0.17.0
func (t Tags) AppendTag(k string, v []byte) Tags
Append a single tag
func (Tags) AppendTags ¶ added in v0.17.0
func (t Tags) AppendTags(tags Tags) Tags
Append two lists of tags
type TestMsg ¶
type TestMsg struct {
// contains filtered or unexported fields
}
msg type for testing
func NewTestMsg ¶
func NewTestMsg(addrs ...AccAddress) *TestMsg
func (*TestMsg) GetSignBytes ¶
func (msg *TestMsg) GetSignBytes() []byte
func (*TestMsg) GetSigners ¶
func (msg *TestMsg) GetSigners() []AccAddress
func (*TestMsg) ValidateBasic ¶
func (msg *TestMsg) ValidateBasic() Error
type TraceContext ¶ added in v0.21.0
type TraceContext map[string]interface{}
TraceContext contains TraceKVStore context data. It will be written with every trace operation.
type TransientStoreKey ¶ added in v0.24.0
type TransientStoreKey struct {
// contains filtered or unexported fields
}
TransientStoreKey is used for indexing transient stores in a MultiStore
func NewTransientStoreKey ¶ added in v0.24.0
func NewTransientStoreKey(name string) *TransientStoreKey
Constructs new TransientStoreKey Must return a pointer according to the ocap principle
type Tx ¶
type Tx interface {
// Gets the all the transaction's messages.
GetMsgs() []Msg
// ValidateBasic does a simple and lightweight validation check that doesn't
// require access to any other information.
ValidateBasic() Error
}
Transactions objects must fulfill the Tx
type TxDecoder ¶
type TxDecoder func(txBytes []byte) (Tx, Error)
TxDecoder unmarshals transaction bytes
type Uint ¶ added in v0.20.0
type Uint struct {
// contains filtered or unexported fields
}
Int wraps integer with 256 bit range bound Checks overflow, underflow and division by zero Exists in range from 0 to 2^256-1
func NewUintFromBigInt ¶ added in v0.20.0
func NewUintFromBigInt(i *big.Int) Uint
NewUintFromBigUint constructs Uint from big.Uint
func NewUintFromString ¶ added in v0.20.0
func NewUintFromString(s string) (res Uint, ok bool)
NewUintFromString constructs Uint from string
func NewUintWithDecimal ¶ added in v0.20.0
func NewUintWithDecimal(n uint64, dec int) Uint
NewUintWithDecimal constructs Uint with decimal Result value is n*10^dec
func (Uint) AddRaw ¶ added in v0.20.0
func (i Uint) AddRaw(i2 uint64) Uint
AddRaw adds uint64 to Uint
func (Uint) BigInt ¶ added in v0.20.0
func (i Uint) BigInt() *big.Int
BigInt converts Uint to big.Unt
func (Uint) DivRaw ¶ added in v0.20.0
func (i Uint) DivRaw(i2 uint64) Uint
Div divides Uint with uint64
func (Uint) GT ¶ added in v0.20.0
func (i Uint) GT(i2 Uint) bool
GT returns true if first Uint is greater than second
func (Uint) IsUint64 ¶ added in v0.24.0
func (i Uint) IsUint64() bool
IsUint64 returns true if Uint64() not panics
func (Uint) IsZero ¶ added in v0.20.0
func (i Uint) IsZero() bool
IsZero returns true if Uint is zero
func (Uint) LT ¶ added in v0.20.0
func (i Uint) LT(i2 Uint) bool
LT returns true if first Uint is lesser than second
func (Uint) MarshalAmino ¶ added in v0.20.0
func (i Uint) MarshalAmino() (string, error)
MarshalAmino defines custom encoding scheme
func (Uint) MarshalJSON ¶ added in v0.20.0
func (i Uint) MarshalJSON() ([]byte, error)
MarshalJSON defines custom encoding scheme
func (Uint) Mod ¶ added in v0.24.0
func (i Uint) Mod(i2 Uint) Uint
Mod returns remainder after dividing with Uint
func (Uint) ModRaw ¶ added in v0.24.0
func (i Uint) ModRaw(i2 uint64) Uint
ModRaw returns remainder after dividing with uint64
func (Uint) MulRaw ¶ added in v0.20.0
func (i Uint) MulRaw(i2 uint64) Uint
MulRaw multipies Uint and uint64
func (Uint) SafeSub ¶ added in v0.27.0
func (i Uint) SafeSub(i2 Uint) (Uint, bool)
SafeSub attempts to subtract one Uint from another. A boolean is also returned indicating if the result contains integer overflow.
func (Uint) Sub ¶ added in v0.20.0
func (i Uint) Sub(i2 Uint) (res Uint)
Sub subtracts Uint from another
func (Uint) SubRaw ¶ added in v0.20.0
func (i Uint) SubRaw(i2 uint64) Uint
SubRaw subtracts uint64 from Uint
func (Uint) Uint64 ¶ added in v0.20.0
func (i Uint) Uint64() uint64
Uint64 converts Uint to uint64 Panics if the value is out of range
func (*Uint) UnmarshalAmino ¶ added in v0.20.0
func (i *Uint) UnmarshalAmino(text string) error
UnmarshalAmino defines custom decoding scheme
func (*Uint) UnmarshalJSON ¶ added in v0.20.0
func (i *Uint) UnmarshalJSON(bz []byte) error
UnmarshalJSON defines custom decoding scheme
type ValAddress ¶ added in v0.20.0
type ValAddress []byte
ValAddress defines a wrapper around bytes meant to present a validator's operator. When marshaled to a string or JSON, it uses Bech32.
func ValAddressFromBech32 ¶ added in v0.20.0
func ValAddressFromBech32(address string) (addr ValAddress, err error)
ValAddressFromBech32 creates a ValAddress from a Bech32 string.
func ValAddressFromHex ¶ added in v0.20.0
func ValAddressFromHex(address string) (addr ValAddress, err error)
ValAddressFromHex creates a ValAddress from a hex string.
func (ValAddress) Bytes ¶ added in v0.20.0
func (va ValAddress) Bytes() []byte
Bytes returns the raw address bytes.
func (ValAddress) Empty ¶ added in v0.25.0
func (va ValAddress) Empty() bool
Returns boolean for whether an AccAddress is empty
func (ValAddress) Equals ¶ added in v0.25.0
func (va ValAddress) Equals(va2 ValAddress) bool
Returns boolean for whether two ValAddresses are Equal
func (ValAddress) Format ¶ added in v0.20.0
func (va ValAddress) Format(s fmt.State, verb rune)
Format implements the fmt.Formatter interface. nolint: errcheck
func (ValAddress) Marshal ¶ added in v0.20.0
func (va ValAddress) Marshal() ([]byte, error)
Marshal returns the raw address bytes. It is needed for protobuf compatibility.
func (ValAddress) MarshalJSON ¶ added in v0.20.0
func (va ValAddress) MarshalJSON() ([]byte, error)
MarshalJSON marshals to JSON using Bech32.
func (ValAddress) String ¶ added in v0.20.0
func (va ValAddress) String() string
String implements the Stringer interface.
func (*ValAddress) Unmarshal ¶ added in v0.20.0
func (va *ValAddress) Unmarshal(data []byte) error
Unmarshal sets the address to the given data. It is needed for protobuf compatibility.
func (*ValAddress) UnmarshalJSON ¶ added in v0.20.0
func (va *ValAddress) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals from JSON assuming Bech32 encoding.
type Validator ¶ added in v0.18.0
type Validator interface {
GetJailed() bool // whether the validator is jailed
GetMoniker() string // moniker of the validator
GetStatus() BondStatus // status of the validator
GetOperator() ValAddress // operator address to receive/return validators coins
GetConsPubKey() crypto.PubKey // validation consensus pubkey
GetConsAddr() ConsAddress // validation consensus address
GetPower() Dec // validation power
GetTokens() Dec // validation tokens
GetCommission() Dec // validator commission rate
GetDelegatorShares() Dec // Total out standing delegator shares
GetBondHeight() int64 // height in which the validator became active
}
validator for a delegated proof of stake system
type ValidatorSet ¶ added in v0.18.0
type ValidatorSet interface {
// iterate through validators by operator address, execute func for each validator
IterateValidators(Context,
func(index int64, validator Validator) (stop bool))
// iterate through bonded validators by operator address, execute func for each validator
IterateBondedValidatorsByPower(Context,
func(index int64, validator Validator) (stop bool))
// iterate through the consensus validator set of the last block by operator address, execute func for each validator
IterateLastValidators(Context,
func(index int64, validator Validator) (stop bool))
Validator(Context, ValAddress) Validator // get a particular validator by operator address
ValidatorByConsAddr(Context, ConsAddress) Validator // get a particular validator by consensus address
TotalPower(Context) Dec // total power of the validator set
// slash the validator and delegators of the validator, specifying offence height, offence power, and slash fraction
Slash(Context, ConsAddress, int64, int64, Dec)
Jail(Context, ConsAddress) // jail a validator
Unjail(Context, ConsAddress) // unjail a validator
// Delegation allows for getting a particular delegation for a given validator
// and delegator outside the scope of the staking module.
Delegation(Context, AccAddress, ValAddress) Delegation
}
properties for the set of all validators