types

package
v0.33.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2019 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Overview

nolint

Index

Constants

View Source
const (
	// AddrLen defines a valid address length
	AddrLen = 20
	// Bech32PrefixAccAddr defines the Bech32 prefix of an account's address
	Bech32MainPrefix = "cosmos"

	// PrefixAccount is the prefix for account keys
	PrefixAccount = "acc"
	// PrefixValidator is the prefix for validator keys
	PrefixValidator = "val"
	// PrefixConsensus is the prefix for consensus keys
	PrefixConsensus = "cons"
	// PrefixPublic is the prefix for public keys
	PrefixPublic = "pub"
	// PrefixOperator is the prefix for operator keys
	PrefixOperator = "oper"

	// PrefixAddress is the prefix for addresses
	PrefixAddress = "addr"

	// Bech32PrefixAccAddr defines the Bech32 prefix of an account's address
	Bech32PrefixAccAddr = Bech32MainPrefix
	// Bech32PrefixAccPub defines the Bech32 prefix of an account's public key
	Bech32PrefixAccPub = Bech32MainPrefix + PrefixPublic
	// Bech32PrefixValAddr defines the Bech32 prefix of a validator's operator address
	Bech32PrefixValAddr = Bech32MainPrefix + PrefixValidator + PrefixOperator
	// Bech32PrefixValPub defines the Bech32 prefix of a validator's operator public key
	Bech32PrefixValPub = Bech32MainPrefix + PrefixValidator + PrefixOperator + PrefixPublic
	// Bech32PrefixConsAddr defines the Bech32 prefix of a consensus node address
	Bech32PrefixConsAddr = Bech32MainPrefix + PrefixValidator + PrefixConsensus
	// Bech32PrefixConsPub defines the Bech32 prefix of a consensus node public key
	Bech32PrefixConsPub = Bech32MainPrefix + PrefixValidator + PrefixConsensus + PrefixPublic
)
View Source
const (
	Precision = 18

	// bytes required to represent the above precision
	// Ceiling[Log2[999 999 999 999 999 999]]
	DecimalPrecisionBits = 60
)

number of decimal places

View Source
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
	CodeGasOverflow       CodeType = 16
	CodeNoSignatures      CodeType = 17

	// 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

View Source
const (
	Unbonded  BondStatus = 0x00
	Unbonding BondStatus = 0x01
	Bonded    BondStatus = 0x02

	// default bond denomination
	DefaultBondDenom = "stake"

	// Delay, in blocks, between when validator updates are returned to Tendermint and when they are applied.
	// For example, if this is 0, the validator set at the end of a block will sign the next block, or
	// if this is 1, the validator set at the end of a block will sign the block after the next.
	// Constant as this should not change without a hard fork.
	// TODO: Link to some Tendermint docs, this is very unobvious.
	ValidatorUpdateDelay int64 = 1
)

staking constants

View Source
const (
	StoreTypeMulti     = types.StoreTypeMulti
	StoreTypeDB        = types.StoreTypeDB
	StoreTypeIAVL      = types.StoreTypeIAVL
	StoreTypeTransient = types.StoreTypeTransient
)

nolint - reexport

View Source
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

View Source
var (
	TagAction       = "action"
	TagSrcValidator = "source-validator"
	TagDstValidator = "destination-validator"
	TagDelegator    = "delegator"
)

common tags

View Source
var (
	// This is set at compile time. Could be cleveldb, defaults is goleveldb.
	DBBackend = ""
)
View Source
var PowerReduction = NewIntFromBigInt(new(big.Int).Exp(big.NewInt(10), big.NewInt(6), nil))

PowerReduction is the amount of staking tokens required for 1 unit of Tendermint power

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 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 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 NewLevelDB added in v0.33.0

func NewLevelDB(name, dir string) (db dbm.DB, err error)

NewLevelDB instantiate a new LevelDB instance according to DBBackend.

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 TokensToTendermintPower added in v0.32.0

func TokensToTendermintPower(tokens Int) int64

TokensToTendermintPower - convert input tokens to potential tendermint power

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(i *big.Int) error

UintOverflow returns true if a given unsigned integer overflows and false otherwise.

Types

type ABCIMessageLog added in v0.33.0

type ABCIMessageLog struct {
	MsgIndex int    `json:"msg_index"`
	Success  bool   `json:"success"`
	Log      string `json:"log"`
}

ABCIMessageLog defines a structure containing an indexed tx ABCI message log.

type ABCIMessageLogs added in v0.33.0

type ABCIMessageLogs []ABCIMessageLog

ABCIMessageLogs represents a slice of ABCIMessageLog.

func ParseABCILogs added in v0.33.0

func ParseABCILogs(logs string) (res ABCIMessageLogs, err error)

ParseABCILogs attempts to parse a stringified ABCI tx log into a slice of ABCIMessageLog types. It returns an error upon JSON decoding failure.

func (ABCIMessageLogs) String added in v0.33.0

func (logs ABCIMessageLogs) String() (str string)

String implements the fmt.Stringer interface for the ABCIMessageLogs type.

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 Address) 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 Address

type Address interface {
	Equals(Address) bool
	Empty() bool
	Marshal() ([]byte, error)
	MarshalJSON() ([]byte, error)
	Bytes() []byte
	String() string
	Format(s fmt.State, verb rune)
}

Address is a common interface for different types of addresses used by the SDK

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

func (BondStatus) Equal added in v0.21.0

func (b BondStatus) Equal(b2 BondStatus) bool

nolint

type CacheKVStore

type CacheKVStore = types.CacheKVStore

nolint - reexport

type CacheMultiStore

type CacheMultiStore = types.CacheMultiStore

nolint - reexport

type CacheWrap

type CacheWrap = types.CacheWrap

nolint - reexport

type CacheWrapper

type CacheWrapper = types.CacheWrapper

nolint - reexport

type CodeType

type CodeType uint32

CodeType - ABCI code identifier within codespace

func (CodeType) IsOK

func (code CodeType) IsOK() bool

IsOK - is everything okay?

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) Add added in v0.33.0

func (coin Coin) Add(coinB Coin) Coin

Adds amounts of two coins with same denom. If the coins differ in denom then it panics.

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) IsNegative added in v0.30.0

func (coin Coin) IsNegative() bool

IsNegative returns true if the coin amount is 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) IsZero

func (coin Coin) IsZero() bool

IsZero returns if this represents no money

func (Coin) String

func (coin Coin) String() string

String provides a human-readable representation of a coin

func (Coin) Sub added in v0.33.0

func (coin Coin) Sub(coinB Coin) Coin

Subtracts amounts of two coins with same denom. If the coins differ in denom then it panics.

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) Add added in v0.33.0

func (coins Coins) Add(coinsB Coins) Coins

Add adds two sets of coins.

e.g. {2A} + {A, 2B} = {3A, 2B} {2A} + {0B} = {2A}

NOTE: Add operates under the invariant that coins are sorted by denominations.

CONTRACT: Add will never return Coins where one Coin has a non-positive amount. In otherwords, IsValid will always return true.

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 if 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) IsAllPositive added in v0.32.0

func (coins Coins) IsAllPositive() bool

IsAllPositive returns true if there is at least one coin and all currencies have a positive value.

func (Coins) IsAnyGTE added in v0.31.0

func (coins Coins) IsAnyGTE(coinsB Coins) bool

IsAnyGTE returns true iff coins contains at least one denom that is present at a greater or equal amount in coinsB; it returns false otherwise.

NOTE: IsAnyGTE operates under the invariant that both coin sets are sorted by denominations and there exists no zero coins.

func (Coins) IsAnyNegative added in v0.31.0

func (coins Coins) IsAnyNegative() bool

IsAnyNegative returns true if there is at least one coin whose amount is negative; returns false otherwise. It returns false if the coin set is empty too.

TODO: Remove once unsigned integers are used.

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) IsValid

func (coins Coins) IsValid() bool

IsValid asserts the Coins are sorted, have positive amount, and Denom does not contain upper case characters.

func (Coins) IsZero

func (coins Coins) IsZero() bool

IsZero returns true if there are no coins or all coins are zero.

func (Coins) Len

func (coins Coins) Len() int

nolint

func (Coins) Less

func (coins Coins) Less(i, j int) bool

func (Coins) SafeSub added in v0.33.0

func (coins Coins) SafeSub(coinsB Coins) (Coins, bool)

SafeSub performs the same arithmetic as Sub but returns a boolean if any negative coin amount was returned.

func (Coins) Sort

func (coins Coins) Sort() Coins

Sort is a helper function to sort the set of coins inplace

func (Coins) String

func (coins Coins) String() string

func (Coins) Sub added in v0.33.0

func (coins Coins) Sub(coinsB Coins) Coins

Sub subtracts a set of coins from another.

e.g. {2A, 3B} - {A} = {A, 3B} {2A} - {0B} = {2A} {A, B} - {A} = {B}

CONTRACT: Sub will never return Coins where one Coin has a non-positive amount. In otherwords, IsValid will always return true.

func (Coins) Swap

func (coins Coins) Swap(i, j int)

type CommitID

type CommitID = types.CommitID

nolint - reexport

type CommitKVStore

type CommitKVStore = types.CommitKVStore

nolint - reexport

type CommitMultiStore

type CommitMultiStore = types.CommitMultiStore

nolint - reexport

type CommitStore

type CommitStore = types.CommitStore

nolint - reexport

type Committer

type Committer = types.Committer

nolint - reexport

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) GetTxEncoder added in v0.28.1

func (config *Config) GetTxEncoder() TxEncoder

GetTxEncoder return function to encode transactions

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

func (*Config) SetTxEncoder added in v0.28.1

func (config *Config) SetTxEncoder(encoder TxEncoder)

SetTxEncoder builds the Config with TxEncoder used to marshal StdTx to bytes

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 Address) 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) ChainID

func (c Context) ChainID() string

func (Context) ConsensusParams added in v0.24.0

func (c Context) ConsensusParams() *abci.ConsensusParams

func (Context) GasMeter added in v0.18.0

func (c Context) GasMeter() GasMeter

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) IsCheckTx

func (c Context) IsCheckTx() bool

func (Context) IsZero

func (c Context) IsZero() bool

is context nil

func (Context) KVStore

func (c Context) KVStore(key StoreKey) KVStore

KVStore fetches a KVStore from the MultiStore.

func (Context) Logger added in v0.16.0

func (c Context) Logger() log.Logger

func (Context) MinGasPrices added in v0.30.0

func (c Context) MinGasPrices() DecCoins

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) TxBytes

func (c Context) TxBytes() []byte

func (Context) Value

func (c Context) Value(key interface{}) interface{}

context value for the provided key

func (Context) VoteInfos added in v0.25.0

func (c Context) VoteInfos() []abci.VoteInfo

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) WithInt32

func (c Context) WithInt32(key interface{}, value int32) 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) WithMinGasPrices added in v0.30.0

func (c Context) WithMinGasPrices(gasPrices DecCoins) 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 MaxDec added in v0.25.0

func MaxDec(d1, d2 Dec) Dec

maximum decimal between two

func MinDec added in v0.25.0

func MinDec(d1, d2 Dec) Dec

minimum decimal between two

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 OneDec added in v0.25.0

func OneDec() Dec

func ZeroDec added in v0.25.0

func ZeroDec() Dec

nolint - common values

func (Dec) Abs added in v0.25.0

func (d Dec) Abs() Dec

func (Dec) Add added in v0.25.0

func (d Dec) Add(d2 Dec) Dec

addition

func (Dec) Ceil added in v0.30.0

func (d Dec) Ceil() Dec

Ceil returns the smallest interger value (as a decimal) that is greater than or equal to the given decimal.

func (Dec) Equal added in v0.25.0

func (d Dec) Equal(d2 Dec) bool

func (Dec) Format added in v0.27.0

func (d Dec) Format(s fmt.State, verb rune)

format decimal state

func (Dec) GT added in v0.25.0

func (d Dec) GT(d2 Dec) bool

func (Dec) GTE added in v0.25.0

func (d Dec) GTE(d2 Dec) bool

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) IsZero added in v0.25.0

func (d Dec) IsZero() bool

func (Dec) LT added in v0.25.0

func (d Dec) LT(d2 Dec) bool

func (Dec) LTE added in v0.25.0

func (d Dec) LTE(d2 Dec) 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) Mul added in v0.25.0

func (d Dec) Mul(d2 Dec) Dec

multiplication

func (Dec) MulInt added in v0.25.0

func (d Dec) MulInt(i Int) Dec

multiplication

func (Dec) MulInt64 added in v0.31.0

func (d Dec) MulInt64(i int64) Dec

MulInt64 - multiplication with int64

func (Dec) MulTruncate added in v0.30.0

func (d Dec) MulTruncate(d2 Dec) Dec

multiplication truncate

func (Dec) Neg added in v0.25.0

func (d Dec) Neg() Dec

func (Dec) Quo added in v0.25.0

func (d Dec) Quo(d2 Dec) Dec

quotient

func (Dec) QuoInt added in v0.25.0

func (d Dec) QuoInt(i Int) Dec

quotient

func (Dec) QuoInt64 added in v0.31.0

func (d Dec) QuoInt64(i int64) Dec

QuoInt64 - quotient with int64

func (Dec) QuoRoundUp added in v0.33.0

func (d Dec) QuoRoundUp(d2 Dec) Dec

quotient, round up

func (Dec) QuoTruncate added in v0.30.0

func (d Dec) QuoTruncate(d2 Dec) Dec

quotient truncate

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) String added in v0.25.0

func (d Dec) String() string

func (Dec) Sub added in v0.25.0

func (d Dec) Sub(d2 Dec) Dec

subtraction

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 DecCoin added in v0.30.0

type DecCoin struct {
	Denom  string `json:"denom"`
	Amount Dec    `json:"amount"`
}

Coins which can have additional decimal points

func NewDecCoin added in v0.30.0

func NewDecCoin(denom string, amount Int) DecCoin

func NewDecCoinFromCoin added in v0.30.0

func NewDecCoinFromCoin(coin Coin) DecCoin

func NewDecCoinFromDec added in v0.30.0

func NewDecCoinFromDec(denom string, amount Dec) DecCoin

func NewInt64DecCoin added in v0.32.0

func NewInt64DecCoin(denom string, amount int64) DecCoin

NewInt64DecCoin returns a new DecCoin with a denomination and amount. It will panic if the amount is negative or denom is invalid.

func ParseDecCoin added in v0.30.0

func ParseDecCoin(coinStr string) (coin DecCoin, err error)

ParseDecCoin parses a decimal coin from a string, returning an error if invalid. An empty string is considered invalid.

func (DecCoin) Add added in v0.33.0

func (coin DecCoin) Add(coinB DecCoin) DecCoin

Adds amounts of two coins with same denom

func (DecCoin) IsEqual added in v0.32.0

func (coin DecCoin) IsEqual(other DecCoin) bool

IsEqual returns true if the two sets of Coins have the same value.

func (DecCoin) IsGTE added in v0.32.0

func (coin DecCoin) IsGTE(other DecCoin) bool

IsGTE returns true if they are the same type and the receiver is an equal or greater value.

func (DecCoin) IsLT added in v0.32.0

func (coin DecCoin) IsLT(other DecCoin) bool

IsLT returns true if they are the same type and the receiver is a smaller value.

func (DecCoin) IsNegative added in v0.32.0

func (coin DecCoin) IsNegative() bool

IsNegative returns true if the coin amount is negative and false otherwise.

TODO: Remove once unsigned integers are used.

func (DecCoin) IsPositive added in v0.30.0

func (coin DecCoin) IsPositive() bool

IsPositive returns true if coin amount is positive.

TODO: Remove once unsigned integers are used.

func (DecCoin) IsZero added in v0.32.0

func (coin DecCoin) IsZero() bool

IsZero returns if the DecCoin amount is zero.

func (DecCoin) String added in v0.30.0

func (coin DecCoin) String() string

String implements the Stringer interface for DecCoin. It returns a human-readable representation of a decimal coin.

func (DecCoin) Sub added in v0.33.0

func (coin DecCoin) Sub(coinB DecCoin) DecCoin

Subtracts amounts of two coins with same denom

func (DecCoin) TruncateDecimal added in v0.30.0

func (coin DecCoin) TruncateDecimal() (Coin, DecCoin)

return the decimal coins with trunctated decimals, and return the change

type DecCoins added in v0.30.0

type DecCoins []DecCoin

coins with decimal

func NewDecCoins added in v0.30.0

func NewDecCoins(coins Coins) DecCoins

func ParseDecCoins added in v0.30.0

func ParseDecCoins(coinsStr string) (coins DecCoins, err error)

ParseDecCoins will parse out a list of decimal coins separated by commas. If nothing is provided, it returns nil DecCoins. Returned decimal coins are sorted.

func (DecCoins) Add added in v0.33.0

func (coins DecCoins) Add(coinsB DecCoins) DecCoins

Add adds two sets of DecCoins.

NOTE: Add operates under the invariant that coins are sorted by denominations.

CONTRACT: Add will never return Coins where one Coin has a non-positive amount. In otherwords, IsValid will always return true.

func (DecCoins) AmountOf added in v0.30.0

func (coins DecCoins) AmountOf(denom string) Dec

returns the amount of a denom from deccoins

func (DecCoins) Empty added in v0.32.0

func (coins DecCoins) Empty() bool

Empty returns true if there are no coins and false otherwise.

func (DecCoins) Intersect added in v0.33.0

func (coins DecCoins) Intersect(coinsB DecCoins) DecCoins

Intersect will return a new set of coins which contains the minimum DecCoin for common denoms found in both `coins` and `coinsB`. For denoms not common to both `coins` and `coinsB` the minimum is considered to be 0, thus they are not added to the final set.In other words, trim any denom amount from coin which exceeds that of coinB, such that (coin.Intersect(coinB)).IsLTE(coinB).

func (DecCoins) IsAllPositive added in v0.32.0

func (coins DecCoins) IsAllPositive() bool

IsAllPositive returns true if there is at least one coin and all currencies have a positive value.

TODO: Remove once unsigned integers are used.

func (DecCoins) IsAnyNegative added in v0.32.0

func (coins DecCoins) IsAnyNegative() bool

IsAnyNegative returns true if there is at least one coin whose amount is negative; returns false otherwise. It returns false if the DecCoins set is empty too.

TODO: Remove once unsigned integers are used.

func (DecCoins) IsEqual added in v0.32.0

func (coins DecCoins) IsEqual(coinsB DecCoins) bool

IsEqual returns true if the two sets of DecCoins have the same value.

func (DecCoins) IsValid added in v0.30.0

func (coins DecCoins) IsValid() bool

IsValid asserts the DecCoins are sorted, have positive amount, and Denom does not contain upper case characters.

func (DecCoins) IsZero added in v0.30.0

func (coins DecCoins) IsZero() bool

return whether all coins are zero

func (DecCoins) Len added in v0.30.0

func (coins DecCoins) Len() int

nolint

func (DecCoins) Less added in v0.30.0

func (coins DecCoins) Less(i, j int) bool

func (DecCoins) MulDec added in v0.30.0

func (coins DecCoins) MulDec(d Dec) DecCoins

multiply all the coins by a decimal

func (DecCoins) MulDecTruncate added in v0.30.0

func (coins DecCoins) MulDecTruncate(d Dec) DecCoins

multiply all the coins by a decimal, truncating

func (DecCoins) QuoDec added in v0.30.0

func (coins DecCoins) QuoDec(d Dec) DecCoins

divide all the coins by a decimal

func (DecCoins) QuoDecTruncate added in v0.30.0

func (coins DecCoins) QuoDecTruncate(d Dec) DecCoins

divide all the coins by a decimal, truncating

func (DecCoins) SafeSub added in v0.33.0

func (coins DecCoins) SafeSub(coinsB DecCoins) (DecCoins, bool)

SafeSub performs the same arithmetic as Sub but returns a boolean if any negative coin amount was returned.

func (DecCoins) Sort added in v0.30.0

func (coins DecCoins) Sort() DecCoins

Sort is a helper function to sort the set of decimal coins in-place.

func (DecCoins) String added in v0.30.0

func (coins DecCoins) String() string

String implements the Stringer interface for DecCoins. It returns a human-readable representation of decimal coins.

func (DecCoins) Sub added in v0.33.0

func (coins DecCoins) Sub(coinsB DecCoins) DecCoins

Sub subtracts a set of DecCoins from another (adds the inverse).

func (DecCoins) Swap added in v0.30.0

func (coins DecCoins) Swap(i, j int)

func (DecCoins) TruncateDecimal added in v0.30.0

func (coins DecCoins) TruncateDecimal() (Coins, DecCoins)

TruncateDecimal returns the coins with truncated decimals and returns the change.

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 ErrGasOverflow added in v0.28.0

func ErrGasOverflow(msg string) Error

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 ErrInternal

func ErrInternal(msg string) Error

nolint

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 ErrNoSignatures added in v0.30.0

func ErrNoSignatures(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

func NewError

func NewError(codespace CodespaceType, code CodeType, format string, args ...interface{}) Error

NewError - create an error.

type ErrorGasOverflow added in v0.27.0

type ErrorGasOverflow = types.ErrorGasOverflow

nolint - reexport

type ErrorOutOfGas added in v0.18.0

type ErrorOutOfGas = types.ErrorOutOfGas

nolint - reexport

type Gas added in v0.18.0

type Gas = types.Gas

nolint - reexport

type GasConfig added in v0.24.0

type GasConfig = types.GasConfig

nolint - reexport

type GasMeter added in v0.18.0

type GasMeter = types.GasMeter

nolint - reexport

func NewGasMeter added in v0.18.0

func NewGasMeter(limit Gas) GasMeter

nolint - reexport

func NewInfiniteGasMeter added in v0.18.0

func NewInfiniteGasMeter() GasMeter

nolint - reexport

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^maxBitLen-1) to 2^maxBitLen-1

func MaxInt added in v0.30.0

func MaxInt(i, i2 Int) Int

MaxInt returns the maximum between two integers.

func MinInt added in v0.20.0

func MinInt(i1, i2 Int) Int

return the minimum of the ints

func NewInt added in v0.20.0

func NewInt(n int64) Int

NewInt constructs Int from int64

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 OneInt added in v0.20.0

func OneInt() Int

OneInt returns Int value with one

func TokensFromTendermintPower added in v0.32.0

func TokensFromTendermintPower(power int64) Int

TokensFromTendermintPower - convert input power to tokens

func ZeroInt added in v0.20.0

func ZeroInt() Int

ZeroInt returns Int value with zero

func (Int) Add added in v0.20.0

func (i Int) Add(i2 Int) (res Int)

Add adds Int from another

func (Int) AddRaw added in v0.20.0

func (i Int) AddRaw(i2 int64) Int

AddRaw adds int64 to Int

func (Int) BigInt added in v0.20.0

func (i Int) BigInt() *big.Int

BigInt converts Int to big.Int

func (Int) Equal added in v0.20.0

func (i Int) Equal(i2 Int) bool

Equal compares two Ints

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) GTE added in v0.31.0

func (i Int) GTE(i2 Int) bool

GTE returns true if receiver Int is greater than or equal to the parameter Int.

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) IsNegative added in v0.30.0

func (i Int) IsNegative() bool

IsNegative returns true if Int is negative

func (Int) IsPositive added in v0.30.0

func (i Int) IsPositive() bool

IsPositive returns true if Int is positive

func (Int) IsZero added in v0.20.0

func (i Int) IsZero() bool

IsZero returns true if Int is zero

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) LTE added in v0.31.0

func (i Int) LTE(i2 Int) bool

LTE returns true if first Int is less than or equal to 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) Mul added in v0.20.0

func (i Int) Mul(i2 Int) (res Int)

Mul multiples two Ints

func (Int) MulRaw added in v0.20.0

func (i Int) MulRaw(i2 int64) Int

MulRaw multipies Int and int64

func (Int) Neg added in v0.20.0

func (i Int) Neg() (res Int)

Neg negates Int

func (Int) Quo added in v0.33.0

func (i Int) Quo(i2 Int) (res Int)

Quo divides Int with Int

func (Int) QuoRaw added in v0.33.0

func (i Int) QuoRaw(i2 int64) Int

QuoRaw divides Int with int64

func (Int) Sign added in v0.20.0

func (i Int) Sign() int

Sign returns sign of Int

func (Int) String added in v0.20.0

func (i Int) String() string

Human readable string

func (Int) Sub added in v0.20.0

func (i Int) Sub(i2 Int) (res Int)

Sub subtracts Int from another

func (Int) SubRaw added in v0.20.0

func (i Int) SubRaw(i2 int64) Int

SubRaw subtracts int64 from Int

func (Int) ToDec added in v0.33.0

func (i Int) ToDec() Dec

ToDec converts Int to Dec

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 Invariant added in v0.32.0

type Invariant func(ctx Context) error

An Invariant is a function which tests a particular invariant. If the invariant has been broken, it should return an error containing a descriptive message about what happened. The simulator will then halt and print the logs.

type Invariants added in v0.32.0

type Invariants []Invariant

group of Invarient

type Iterator

type Iterator = types.Iterator

nolint - reexport

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 KVPair added in v0.17.0

type KVPair = types.KVPair

key-value result for iterator queries

type KVStore

type KVStore = types.KVStore

nolint - reexport

type KVStoreKey

type KVStoreKey = types.KVStoreKey

nolint - reexport

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 = types.MultiStore

nolint - reexport

type Op

type Op struct {
	// contains filtered or unexported fields
}

XXX add description

type PeerFilter added in v0.18.0

type PeerFilter func(info string) abci.ResponseQuery

respond to p2p filtering queries from Tendermint

type PruningOptions added in v0.30.0

type PruningOptions = types.PruningOptions

nolint - reexport

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 = types.Queryable

nolint - reexport

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 has to be length prefixed in order to separate
	// results from multiple msgs executions
	Data []byte

	// Log contains the txs log 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

	// Tags are used for transaction indexing and pubsub.
	Tags Tags
}

Result is the union of ResponseFormat and ResponseCheckTx.

func (Result) IsOK

func (res Result) IsOK() bool

TODO: In the future, more codes may be OK.

type StakingHooks added in v0.25.0

type StakingHooks interface {
	AfterValidatorCreated(ctx Context, valAddr ValAddress)                       // Must be called when a validator is created
	BeforeValidatorModified(ctx Context, valAddr ValAddress)                     // Must be called when a validator's state changes
	AfterValidatorRemoved(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Must be called when a validator is deleted

	AfterValidatorBonded(ctx Context, consAddr ConsAddress, valAddr ValAddress)         // Must be called when a validator is bonded
	AfterValidatorBeginUnbonding(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Must be called when a validator begins unbonding

	BeforeDelegationCreated(ctx Context, delAddr AccAddress, valAddr ValAddress)        // Must be called when a delegation is created
	BeforeDelegationSharesModified(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation's shares are modified
	BeforeDelegationRemoved(ctx Context, delAddr AccAddress, valAddr ValAddress)        // Must be called when a delegation is removed
	AfterDelegationModified(ctx Context, delAddr AccAddress, valAddr ValAddress)
	BeforeValidatorSlashed(ctx Context, valAddr ValAddress, fraction Dec)
}

event hooks for staking validator object

type Store

type Store = types.Store

nolint - reexport

type StoreKey

type StoreKey = types.StoreKey

nolint - reexport

type StoreType

type StoreType = types.StoreType

nolint - reexport

type StringTag added in v0.31.0

type StringTag struct {
	Key   string `json:"key"`
	Value string `json:"value,omitempty"`
}

A KVPair where the Key and Value are both strings, rather than []byte

func TagToStringTag added in v0.31.0

func TagToStringTag(tag Tag) StringTag

Conversion function from a []byte tag to a string tag

func (StringTag) String added in v0.31.0

func (st StringTag) String() string

type StringTags added in v0.31.0

type StringTags []StringTag

A slice of StringTag

func TagsToStringTags added in v0.31.0

func TagsToStringTags(tags Tags) StringTags

Conversion function from Tags to a StringTags

func (StringTags) String added in v0.31.0

func (st StringTags) String() string

type Tag added in v0.17.0

type Tag = cmn.KVPair

Type synonym for convenience

func MakeTag added in v0.17.0

func MakeTag(k string, v string) Tag

Make a tag from a key and a value

type Tags added in v0.17.0

type Tags cmn.KVPairs

Type synonym for convenience

func EmptyTags added in v0.17.0

func EmptyTags() Tags

New empty tags

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 string) 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

func (Tags) ToKVPairs added in v0.18.0

func (t Tags) ToKVPairs() []cmn.KVPair

Turn tags into KVPair list

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) Route added in v0.25.0

func (msg *TestMsg) Route() string

nolint

func (*TestMsg) Type

func (msg *TestMsg) Type() string

func (*TestMsg) ValidateBasic

func (msg *TestMsg) ValidateBasic() Error

type TraceContext added in v0.21.0

type TraceContext = types.TraceContext

TraceContext contains TraceKVStore context data. It will be written with every trace operation.

type TransientStoreKey added in v0.24.0

type TransientStoreKey = types.TransientStoreKey

nolint - reexport

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 TxEncoder added in v0.28.1

type TxEncoder func(tx Tx) ([]byte, error)

TxEncoder marshals transaction to bytes

type TxResponse added in v0.31.0

type TxResponse struct {
	Height    int64           `json:"height"`
	TxHash    string          `json:"txhash"`
	Code      uint32          `json:"code,omitempty"`
	Data      []byte          `json:"data,omitempty"`
	Logs      ABCIMessageLogs `json:"logs,omitempty"`
	Info      string          `json:"info,omitempty"`
	GasWanted int64           `json:"gas_wanted,omitempty"`
	GasUsed   int64           `json:"gas_used,omitempty"`
	Tags      StringTags      `json:"tags,omitempty"`
	Codespace string          `json:"codespace,omitempty"`
	Tx        Tx              `json:"tx,omitempty"`
}

TxResponse defines a structure containing relevant tx data and metadata. The tags are stringified and the log is JSON decoded.

func NewResponseFormatBroadcastTx added in v0.31.0

func NewResponseFormatBroadcastTx(res *ctypes.ResultBroadcastTx) TxResponse

NewResponseFormatBroadcastTx returns a TxResponse given a ResultBroadcastTx from tendermint

func NewResponseFormatBroadcastTxCommit added in v0.31.0

func NewResponseFormatBroadcastTxCommit(res *ctypes.ResultBroadcastTxCommit) TxResponse

NewResponseFormatBroadcastTxCommit returns a TxResponse given a ResultBroadcastTxCommit from tendermint

func NewResponseResultTx added in v0.31.0

func NewResponseResultTx(res *ctypes.ResultTx, tx Tx) TxResponse

NewResponseResultTx returns a TxResponse given a ResultTx from tendermint

func (TxResponse) Empty added in v0.32.0

func (r TxResponse) Empty() bool

Empty returns true if the response is empty

func (TxResponse) String added in v0.31.0

func (r TxResponse) String() string

type Uint added in v0.20.0

type Uint struct {
	// contains filtered or unexported fields
}

Uint wraps integer with 256 bit range bound Checks overflow, underflow and division by zero Exists in range from 0 to 2^256-1

func MaxUint added in v0.30.0

func MaxUint(u1, u2 Uint) Uint

Return the maximum of the Uints

func MinUint added in v0.20.0

func MinUint(u1, u2 Uint) Uint

Return the minimum of the Uints

func NewUint added in v0.20.0

func NewUint(n uint64) Uint

NewUint constructs Uint from int64

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) Uint

NewUintFromString constructs Uint from string

func OneUint added in v0.20.0

func OneUint() Uint

OneUint returns Uint value with one.

func ParseUint added in v0.33.0

func ParseUint(s string) (Uint, error)

ParseUint reads a string-encoded Uint value and return a Uint.

func ZeroUint added in v0.20.0

func ZeroUint() Uint

ZeroUint returns unsigned zero.

func (Uint) Add added in v0.20.0

func (u Uint) Add(u2 Uint) Uint

Add adds Uint from another

func (Uint) AddUint64 added in v0.33.0

func (u Uint) AddUint64(u2 uint64) Uint

Add convert uint64 and add it to Uint

func (Uint) Equal added in v0.20.0

func (u Uint) Equal(u2 Uint) bool

Equal compares two Uints

func (Uint) GT added in v0.20.0

func (u Uint) GT(u2 Uint) bool

GT returns true if first Uint is greater than second

func (Uint) GTE added in v0.33.0

func (u Uint) GTE(u2 Uint) bool

GTE returns true if first Uint is greater than second

func (Uint) IsZero added in v0.20.0

func (u Uint) IsZero() bool

IsZero returns 1 if the uint equals to 0.

func (Uint) LT added in v0.20.0

func (u Uint) LT(u2 Uint) bool

LT returns true if first Uint is lesser than second

func (Uint) LTE added in v0.33.0

func (u Uint) LTE(u2 Uint) bool

LTE returns true if first Uint is lesser than or equal to the second

func (Uint) MarshalAmino added in v0.20.0

func (u Uint) MarshalAmino() (string, error)

MarshalAmino defines custom encoding scheme

func (Uint) MarshalJSON added in v0.20.0

func (u Uint) MarshalJSON() ([]byte, error)

MarshalJSON defines custom encoding scheme

func (Uint) Mul added in v0.20.0

func (u Uint) Mul(u2 Uint) (res Uint)

Mul multiplies two Uints

func (Uint) MulUint64 added in v0.33.0

func (u Uint) MulUint64(u2 uint64) (res Uint)

Mul multiplies two Uints

func (Uint) Quo added in v0.33.0

func (u Uint) Quo(u2 Uint) (res Uint)

Quo divides Uint with Uint

func (Uint) QuoUint64 added in v0.33.0

func (u Uint) QuoUint64(u2 uint64) Uint

Quo divides Uint with uint64

func (Uint) String added in v0.24.0

func (u Uint) String() string

Human readable string

func (Uint) Sub added in v0.20.0

func (u Uint) Sub(u2 Uint) Uint

Sub adds Uint from another

func (Uint) SubUint64 added in v0.33.0

func (u Uint) SubUint64(u2 uint64) Uint

SubUint64 adds Uint from another

func (Uint) Uint64 added in v0.20.0

func (u 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 (u *Uint) UnmarshalAmino(text string) error

UnmarshalAmino defines custom decoding scheme

func (*Uint) UnmarshalJSON added in v0.20.0

func (u *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 Address) 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
	GetTokens() Int               // validation tokens
	GetBondedTokens() Int         // validator bonded tokens
	GetTendermintPower() int64    // validation power in tendermint
	GetCommission() Dec           // validator commission rate
	GetMinSelfDelegation() Int    // validator minimum self delegation
	GetDelegatorShares() Dec      // total outstanding delegator shares
	ShareTokens(Dec) Dec          // token worth of provided delegator shares
	ShareTokensTruncated(Dec) Dec // token worth of provided delegator shares, truncated
}

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
	TotalBondedTokens(Context) Int                      // total bonded tokens within the validator set
	TotalTokens(Context) Int                            // total token supply

	// 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

Directories

Path Synopsis
Package rest provides HTTP types and primitives for REST requests validation and responses handling.
Package rest provides HTTP types and primitives for REST requests validation and responses handling.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL