Documentation ¶
Index ¶
- Constants
- Variables
- func ABCIValidator(v Validator) abci.Validator
- 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 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 Has0xPrefix(input string) bool
- func HexAddress(a []byte) string
- func HexDecode(input string) ([]byte, error)
- func HexEncode(b []byte) string
- func InclusiveEndBytes(inclusiveBytes []byte) (exclusiveBytes []byte)
- func IntEq(t *testing.T, exp, got Int) (*testing.T, bool, string, string, string)
- func IsMsgTypeSupported(msgType string) bool
- func IsUpgrade(name string) bool
- func IsUpgradeHeight(name string) bool
- func IsValidCrossChainPackageType(packageType CrossChainPackageType) bool
- func MinInt64(i1, i2 int64) int64
- func Mul64(a, b int64) (int64, bool)
- func MulBigInt(a, b *big.Int) *big.Int
- 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 QuoBigInt(a, b *big.Int) *big.Int
- func RegisterCodec(cdc *codec.Codec)
- func RegisterScripts(msgType string, scripts ...Script)
- func ShouldCommitStore(storeKeyName string) bool
- func ShouldSetStoreVersion(storeKeyName string) bool
- func SortJSON(toSortJSON []byte) ([]byte, error)
- func Upgrade(name string, before func(), in func(), after func())
- func XOR(a, b []byte) []byte
- type ABCICodeType
- 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 Account
- type AccountCache
- type AccountStoreCache
- type AnteHandler
- type Attribute
- type BeginBlocker
- type BondStatus
- type CacheKVStore
- type CacheMultiStore
- type CacheWrap
- type CacheWrapper
- type ChainID
- type ChannelID
- type ChannelPermission
- type CodeType
- type CodespaceType
- type Codespacer
- 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) int64
- func (coins Coins) IsEqual(coinsB Coins) bool
- func (coins Coins) IsGTE(coinsB Coins) bool
- func (coins Coins) IsLT(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) Negative() Coins
- func (coins Coins) Plus(coinsB Coins) Coins
- func (coins Coins) Sort() Coins
- func (coins Coins) String() string
- func (coins Coins) Swap(i, j int)
- type CollectConfig
- 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) AccountCache() AccountCache
- func (c Context) BlockHash() []byte
- 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) Context() context.Context
- func (c Context) CrossStake() bool
- func (c Context) DepriveSideChainKeyPrefix() Context
- func (c Context) EventManager() *EventManager
- func (c Context) IsCheckTx() bool
- func (c Context) IsDeliverTx() bool
- func (c Context) IsReCheckTx() bool
- func (c Context) IsZero() bool
- func (c Context) KVStore(key StoreKey) KVStore
- func (c Context) Logger() log.Logger
- func (c Context) MultiStore() MultiStore
- func (c Context) RouterCallRecord() map[string]bool
- func (c Context) SideChainId() string
- func (c Context) SideChainKeyPrefix() []byte
- func (c Context) TransientStore(key StoreKey) KVStore
- func (c Context) Tx() Tx
- func (c Context) Value(key interface{}) interface{}
- func (c Context) VoteInfos() []abci.VoteInfo
- func (c Context) WithAccountCache(cache AccountCache) Context
- func (c Context) WithBlockHash(hash []byte) 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) WithChainID(chainID string) Context
- func (c Context) WithConsensusParams(params *abci.ConsensusParams) Context
- func (c Context) WithContext(ctx context.Context) Context
- func (c Context) WithCrossStake(crossStake bool) Context
- func (c Context) WithEventManager(em *EventManager) Context
- func (c Context) WithLogger(logger log.Logger) Context
- func (c Context) WithMultiStore(ms MultiStore) Context
- func (c Context) WithProposer(addr ConsAddress) Context
- func (c Context) WithRouterCallRecord(record map[string]bool) Context
- func (c Context) WithRunTxMode(runTxMode RunTxMode) Context
- func (c Context) WithSideChainId(sideChainId string) Context
- func (c Context) WithSideChainKeyPrefix(prefix []byte) Context
- func (c Context) WithTx(tx Tx) Context
- func (c Context) WithValue(key, value interface{}) Context
- func (c Context) WithVoteInfos(voteInfos []abci.VoteInfo) Context
- type CrossChainApplication
- type CrossChainPackageType
- type Dec
- func MaxDec(d1, d2 Dec) Dec
- func MinDec(d1, d2 Dec) Dec
- func MulQuoDec(a, b, c Dec) (Dec, error)
- func NewDec(i int64) Dec
- func NewDecFromInt(i int64) Dec
- func NewDecFromIntWithPrec(i int64, prec int64) Dec
- func NewDecWithPrec(i, prec int64) Dec
- func NewDecWithoutFra(i 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) GT(d2 Dec) bool
- func (d Dec) GTE(d2 Dec) bool
- func (d Dec) IsInteger() bool
- func (d Dec) IsNil() bool
- func (d Dec) IsZero() bool
- func (d Dec) LT(d2 Dec) bool
- func (d Dec) LTE(d2 Dec) bool
- func (d Dec) MarshalAmino() (int64, error)
- func (d Dec) MarshalJSON() ([]byte, error)
- func (d Dec) MarshalText() ([]byte, error)
- func (d Dec) Mul(d2 Dec) Dec
- func (d Dec) MulInt(i int64) Dec
- func (d Dec) Neg() Dec
- func (d Dec) Quo(d2 Dec) Dec
- func (d Dec) QuoInt(i int64) Dec
- func (d Dec) RawInt() int64
- func (d Dec) Set(v int64) Dec
- func (d Dec) String() string
- func (d Dec) Sub(d2 Dec) Dec
- func (d Dec) TruncateInt() int64
- func (d Dec) TruncateInt64() int64
- func (d *Dec) UnmarshalAmino(v int64) (err error)
- func (d *Dec) UnmarshalJSON(bz []byte) error
- func (d *Dec) UnmarshalText(text []byte) error
- type Delegation
- type DelegationSet
- type DummyAccountCache
- func (d *DummyAccountCache) Cache() AccountCache
- func (d *DummyAccountCache) ClearCache()
- func (d *DummyAccountCache) Delete(addr AccAddress)
- func (d *DummyAccountCache) GetAccount(addr AccAddress) Account
- func (d *DummyAccountCache) SetAccount(addr AccAddress, acc Account)
- func (d *DummyAccountCache) Write()
- type EndBlocker
- type Error
- func ErrInsufficientCoins(msg string) Error
- func ErrInsufficientFunds(msg string) Error
- func ErrInternal(msg string) Error
- func ErrInvalidAccountFlags(msg string) Error
- func ErrInvalidAddress(msg string) Error
- func ErrInvalidCoins(msg string) Error
- func ErrInvalidPubKey(msg string) Error
- func ErrInvalidSequence(msg string) Error
- func ErrInvalidTxMemo(msg string) Error
- func ErrMemoTooLarge(msg string) Error
- func ErrMsgNotSupported(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 Event
- type EventManager
- type Events
- type ExecuteResult
- type Fee
- type FeeDistributeType
- 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 Msg
- type MultiStore
- type PeerFilter
- type Pool
- type PreChecker
- type PruningStrategy
- type Querier
- type Queryable
- type Result
- type RewardConfig
- type RunTxMode
- type Script
- type SmartChainAddress
- type StakingHooks
- type Store
- type StoreKey
- type StoreType
- type StringEvent
- type StringEvents
- type Tag
- type Tags
- type TestMsg
- type TraceContext
- type TransientStoreKey
- type TreeStore
- 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) 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 UpgradeConfig
- type UpgradeManager
- func (mgr *UpgradeManager) AddConfig(config UpgradeConfig)
- func (mgr *UpgradeManager) AddUpgradeHeight(name string, height int64)
- func (mgr *UpgradeManager) BeginBlocker(ctx Context)
- func (mgr *UpgradeManager) GetHeight() int64
- func (mgr *UpgradeManager) GetMsgTypeHeight(msgType string) int64
- func (mgr *UpgradeManager) GetStoreKeyHeight(storeKeyName string) int64
- func (mgr *UpgradeManager) GetUpgradeHeight(name string) int64
- func (mgr *UpgradeManager) RegisterBeginBlocker(name string, beginBlocker func(Context))
- func (mgr *UpgradeManager) RegisterMsgTypes(upgradeName string, msgTypes ...string)
- func (mgr *UpgradeManager) RegisterStoreKeys(upgradeName string, storeKeyNames ...string)
- func (mgr *UpgradeManager) Reset()
- func (mgr *UpgradeManager) SetHeight(height int64)
- 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 // SmartChainAddressLength defines a valid smart chain address length SmartChainAddressLength = 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 = 8 // bytes required to represent the above precision // ceil(log2(9999999999)) DecimalPrecisionBits = 34 )
number of decimal places
const ( // ABCI error codes ABCICodeOK ABCICodeType = 0 // Base error codes CodeOK CodeType = 0 CodeInternal CodeType = 1 CodeTxDecode CodeType = 2 CodeInvalidSequence CodeType = 3 CodeInsufficientFunds CodeType = 5 CodeUnknownRequest CodeType = 6 CodeInvalidAddress CodeType = 7 CodeInvalidPubKey CodeType = 8 CodeUnknownAddress CodeType = 9 CodeInsufficientCoins CodeType = 10 CodeInvalidCoins CodeType = 11 CodeMemoTooLarge CodeType = 12 CodeInsufficientFee CodeType = 13 CodeMsgNotSupported CodeType = 14 CodeInvalidAccountFlags CodeType = 15 CodeInvalidTxMemo CodeType = 16 // 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 = 0 CodespaceRoot CodespaceType = 1 // Maximum reservable codespace (2^16 - 1) MaximumCodespace CodespaceType = 65535 )
SDK error codes
const ( FeeForProposer = FeeDistributeType(0x01) FeeForAll = FeeDistributeType(0x02) FeeFree = FeeDistributeType(0x03) ZeroFee = 0 )
const ( ErrZeroDividend = "Dividend is zero " ErrIntOverflow = "Int Overflow " )
const ( NativeTokenSymbol = "AXC" TokenMaxTotalSupply int64 = 9000000000000000000 // 90 billions with 8 decimal digits )
const ( FixSignBytesOverflow = "FixSignBytesOverflow" // fix json unmarshal overflow when build SignBytes BEP9 = "BEP9" // https://github.com/bnb-chain/BEPs/pull/9 BEP12 = "BEP12" // https://github.com/bnb-chain/BEPs/pull/17 BEP3 = "BEP3" // https://github.com/bnb-chain/BEPs/pull/30 BEP8 = "BEP8" // https://github.com/bnb-chain/BEPs/pull/69 LaunchAxcUpgrade = "LaunchAxcUpgrade" BEP82 = "BEP82" // https://github.com/bnb-chain/BEPs/pull/82 FixFailAckPackage = "FixFailAckPackage" BEP128 = "BEP128" // https://github.com/bnb-chain/BEPs/pull/128 BEP153 = "BEP153" // https://github.com/bnb-chain/BEPs/pull/153 BEP159 = "BEP159" // https://github.com/bnb-chain/BEPs/pull/159 BEP159Phase2 = "BEP159Phase2" // phase 2 activation height of BEP159, enable create validator and active oracle relayer whitelist BEP173 = "BEP173" // https://github.com/bnb-chain/BEPs/pull/173 FixDoubleSignChainId = "FixDoubleSignChainId" )
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 ( EventTypeMessage = "message" AttributeKeyAction = "action" AttributeKeyModule = "module" AttributeKeySender = "sender" AttributeKeyAmount = "amount" )
Common event types and attribute keys
var ( TagAction = "action" TagSrcValidator = "source-validator" TagDstValidator = "destination-validator" TagDelegator = "delegator" )
common tags
var MainNetConfig = UpgradeConfig{ HeightMap: map[string]int64{}, }
var ( // axc prefix address: axc1v8vkkymvhe2sf7gd2092ujc6hweta38xadu2pj // taxc prefix address: taxc1v8vkkymvhe2sf7gd2092ujc6hweta38xnc4wpr PegAccount = AccAddress(crypto.AddressHash([]byte("AximchainPegAccount"))) )
var UpgradeMgr = NewUpgradeManager(UpgradeConfig{})
Functions ¶
func ABCIValidator ¶
validator which fulfills abci validator interface for use in Tendermint
func AppendMsgToErr ¶
appends a message to the head of the given error
func Bech32ifyAccPub ¶
Bech32ifyAccPub returns a Bech32 encoded string containing the Bech32PrefixAccPub prefix for a given account PubKey.
func Bech32ifyConsPub ¶
Bech32ifyConsPub returns a Bech32 encoded string containing the Bech32PrefixConsPub prefixfor a given consensus node's PubKey.
func Bech32ifyValPub ¶
Bech32ifyValPub returns a Bech32 encoded string containing the Bech32PrefixValPub prefix for a given validator operator's PubKey.
func BondStatusToString ¶
func BondStatusToString(b BondStatus) string
BondStatusToString for pretty prints of Bond Status
func CodeToDefaultMsg ¶
NOTE: Don't stringer this, we'll put better messages in later.
func DefaultChainID ¶
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 FormatTimeBytes ¶
Formats a time.Time into a []byte that can be sorted
func GetAccPubKeyBech32 ¶
GetAccPubKeyBech32 creates a PubKey for an account with a given public key string using the Bech32 Bech32PrefixAccPub prefix.
func GetConsPubKeyBech32 ¶
GetConsPubKeyBech32 creates a PubKey for a consensus node with a given public key string using the Bech32 Bech32PrefixConsPub prefix.
func GetFromBech32 ¶
GetFromBech32 decodes a bytestring from a Bech32 encoded string.
func GetValPubKeyBech32 ¶
GetValPubKeyBech32 creates a PubKey for a validator's operator with a given public key string using the Bech32 Bech32PrefixValPub prefix.
func Has0xPrefix ¶
has0xPrefix validates str begins with '0x' or '0X'.
func HexAddress ¶
func InclusiveEndBytes ¶
InclusiveEndBytes returns the []byte that would end a range query such that the input would be included
func IsMsgTypeSupported ¶
func IsUpgradeHeight ¶
func IsValidCrossChainPackageType ¶
func IsValidCrossChainPackageType(packageType CrossChainPackageType) bool
func MustBech32ifyAccPub ¶
MustBech32ifyAccPub returns the result of Bech32ifyAccPub panicing on failure.
func MustBech32ifyConsPub ¶
MustBech32ifyConsPub returns the result of Bech32ifyConsPub panicing on failure.
func MustBech32ifyValPub ¶
MustBech32ifyValPub returns the result of Bech32ifyValPub panicing on failure.
func MustGetAccPubKeyBech32 ¶
MustGetAccPubKeyBech32 returns the result of GetAccPubKeyBech32 panicing on failure.
func MustGetConsPubKeyBech32 ¶
MustGetConsPubKeyBech32 returns the result of GetConsPubKeyBech32 panicing on failure.
func MustGetValPubKeyBech32 ¶
MustGetValPubKeyBech32 returns the result of GetValPubKeyBech32 panicing on failure.
func MustSortJSON ¶
MustSortJSON is like SortJSON but panic if an error occurs, e.g., if the passed JSON isn't valid.
func NewDecFromStr ¶
create a decimal from an input decimal string. valid must come in the form:
(-) whole integers
examples of acceptable input include:
-123456 4567890 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 ¶
Parses a []byte encoded using FormatTimeKey back into a time.Time
func PrefixEndBytes ¶
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 RegisterScripts ¶
func ShouldCommitStore ¶
func ShouldSetStoreVersion ¶
Types ¶
type ABCICodeType ¶
type ABCICodeType uint32
ABCICodeType - combined codetype / codespace
func ToABCICode ¶
func ToABCICode(space CodespaceType, code CodeType) ABCICodeType
get the abci code from the local code and codespace
type AccAddress ¶
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 ¶
func AccAddressFromBech32(address string) (addr AccAddress, err error)
AccAddressFromBech32 creates an AccAddress from a Bech32 string.
func AccAddressFromHex ¶
func AccAddressFromHex(address string) (addr AccAddress, err error)
AccAddressFromHex creates an AccAddress from a hex string.
func (AccAddress) Empty ¶
func (aa AccAddress) Empty() bool
Returns boolean for whether an AccAddress is empty
func (AccAddress) Equals ¶
func (aa AccAddress) Equals(aa2 AccAddress) bool
Returns boolean for whether two AccAddresses are Equal
func (AccAddress) Format ¶
func (aa AccAddress) Format(s fmt.State, verb rune)
Format implements the fmt.Formatter interface. nolint: errcheck
func (AccAddress) Marshal ¶
func (aa AccAddress) Marshal() ([]byte, error)
Marshal returns the raw address bytes. It is needed for protobuf compatibility.
func (AccAddress) MarshalJSON ¶
func (aa AccAddress) MarshalJSON() ([]byte, error)
MarshalJSON marshals to JSON using Bech32.
func (AccAddress) String ¶
func (aa AccAddress) String() string
String implements the Stringer interface.
func (*AccAddress) Unmarshal ¶
func (aa *AccAddress) Unmarshal(data []byte) error
Unmarshal sets the address to the given data. It is needed for protobuf compatibility.
func (*AccAddress) UnmarshalJSON ¶
func (aa *AccAddress) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals from JSON assuming Bech32 encoding.
type Account ¶
type Account interface { GetAddress() AccAddress SetAddress(AccAddress) error // errors if already set. GetPubKey() crypto.PubKey // can return nil. SetPubKey(crypto.PubKey) error GetAccountNumber() int64 SetAccountNumber(int64) error GetSequence() int64 SetSequence(int64) error GetCoins() Coins SetCoins(Coins) error Clone() Account }
Account is an interface used to store coins at a given address within state. It presumes a notion of sequence numbers for replay protection, a notion of account numbers for replay protection for previously pruned accounts, and a pubkey for authentication purposes.
Many complex conditions can be used in the concrete struct which implements Account.
type AccountCache ¶
type AccountCache interface { AccountStoreCache Cache() AccountCache Write() }
type AccountStoreCache ¶
type AccountStoreCache interface { GetAccount(addr AccAddress) Account SetAccount(addr AccAddress, acc Account) Delete(addr AccAddress) ClearCache() // only used by state sync to clear genesis status of accounts }
type AnteHandler ¶
type AnteHandler func(ctx Context, tx Tx, runTxMode RunTxMode) (newCtx Context, result Result, abort bool)
AnteHandler authenticates transactions, before their internal messages are handled. If newCtx.IsZero(), ctx is used instead.
type Attribute ¶
Attribute defines an attribute wrapper where the key and value are strings instead of raw bytes.
func NewAttribute ¶
NewAttribute returns a new key/value Attribute object.
type BeginBlocker ¶
type BeginBlocker func(ctx Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
run code before the transactions in a block
type BondStatus ¶
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 ChannelPermission ¶
type ChannelPermission uint8
const ( ChannelAllow ChannelPermission = 1 ChannelForbidden ChannelPermission = 0 )
type Codespacer ¶
type Codespacer struct {
// contains filtered or unexported fields
}
Codespacer is a simple struct to track reserved codespaces
func NewCodespacer ¶
func NewCodespacer() *Codespacer
NewCodespacer generates a new Codespacer with the starting codespace
func (*Codespacer) RegisterNext ¶
func (c *Codespacer) RegisterNext(codespace CodespaceType) CodespaceType
RegisterNext reserves and returns the next available codespace, starting from a default, and panics if the maximum codespace is reached
func (*Codespacer) RegisterOrPanic ¶
func (c *Codespacer) RegisterOrPanic(codespace CodespaceType)
RegisterOrPanic reserved a codespace or panics if it is unavailable
type Coin ¶
Coin hold some amount of one currency
func ParseCoin ¶
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) IsGTE ¶
IsGTE returns true if they are the same type and the receiver is an equal or greater value
func (Coin) IsNotNegative ¶
IsNotNegative returns true if coin amount is not negative
func (Coin) IsPositive ¶
IsPositive returns true if coin amount is positive
func (Coin) SameDenomAs ¶
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 ¶
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) IsGTE ¶
IsGTE returns True iff coins is NonNegative(), and for every currency in coinsB, the currency is present at an equal or greater amount in coinsB
func (Coins) IsLT ¶
IsLT returns True iff every currency in coins, the currency is present at a smaller amount in coins
func (Coins) IsNotNegative ¶
IsNotNegative returns true if there is no currency with a negative value (even no coins is true here)
func (Coins) IsPositive ¶
IsPositive returns true if there is at least one coin, and all currencies have a positive value
func (Coins) Plus ¶
Plus combines two sets of coins CONTRACT: Plus will never return Coins where one Coin has a 0 amount.
type CollectConfig ¶
CollectConfig is the structure that holds configuration parameters whether to collect specified info during apply blocks.
type CommitKVStore ¶
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 GetCommitKVStores() map[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 ¶
Stores of MultiStore must implement CommitStore.
type Committer ¶
type Committer interface { Commit() CommitID LastCommitID() CommitID SetPruning(PruningStrategy) SetVersion(version int64) }
something that can persist to disk
type Config ¶
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 (*Config) GetBech32AccountAddrPrefix ¶
GetBech32AccountAddrPrefix returns the Bech32 prefix for account address
func (*Config) GetBech32AccountPubPrefix ¶
GetBech32AccountPubPrefix returns the Bech32 prefix for account public key
func (*Config) GetBech32ConsensusAddrPrefix ¶
GetBech32ConsensusAddrPrefix returns the Bech32 prefix for consensus node address
func (*Config) GetBech32ConsensusPubPrefix ¶
GetBech32ConsensusPubPrefix returns the Bech32 prefix for consensus node public key
func (*Config) GetBech32ValidatorAddrPrefix ¶
GetBech32ValidatorAddrPrefix returns the Bech32 prefix for validator address
func (*Config) GetBech32ValidatorPubPrefix ¶
GetBech32ValidatorPubPrefix returns the Bech32 prefix for validator public key
func (*Config) Seal ¶
Seal seals the config such that the config state could not be modified further
func (*Config) SetBech32PrefixForAccount ¶
SetBech32PrefixForAccount builds the Config with Bech32 addressPrefix and publKeyPrefix for accounts and returns the config instance
func (*Config) SetBech32PrefixForConsensusNode ¶
SetBech32PrefixForConsensusNode builds the Config with Bech32 addressPrefix and publKeyPrefix for consensus nodes and returns the config instance
func (*Config) SetBech32PrefixForValidator ¶
SetBech32PrefixForValidator builds the Config with Bech32 addressPrefix and publKeyPrefix for validators
and returns the config instance
type ConsAddress ¶
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 ¶
func ConsAddressFromBech32(address string) (addr ConsAddress, err error)
ConsAddressFromBech32 creates a ConsAddress from a Bech32 string.
func ConsAddressFromHex ¶
func ConsAddressFromHex(address string) (addr ConsAddress, err error)
ConsAddressFromHex creates a ConsAddress from a hex string.
func GetConsAddress ¶
func GetConsAddress(pubkey crypto.PubKey) ConsAddress
get ConsAddress from pubkey
func (ConsAddress) Bytes ¶
func (ca ConsAddress) Bytes() []byte
Bytes returns the raw address bytes.
func (ConsAddress) Empty ¶
func (ca ConsAddress) Empty() bool
Returns boolean for whether an ConsAddress is empty
func (ConsAddress) Equals ¶
func (ca ConsAddress) Equals(ca2 ConsAddress) bool
Returns boolean for whether two ConsAddress are Equal
func (ConsAddress) Format ¶
func (ca ConsAddress) Format(s fmt.State, verb rune)
Format implements the fmt.Formatter interface. nolint: errcheck
func (ConsAddress) Marshal ¶
func (ca ConsAddress) Marshal() ([]byte, error)
Marshal returns the raw address bytes. It is needed for protobuf compatibility.
func (ConsAddress) MarshalJSON ¶
func (ca ConsAddress) MarshalJSON() ([]byte, error)
MarshalJSON marshals to JSON using Bech32.
func (ConsAddress) String ¶
func (ca ConsAddress) String() string
String implements the Stringer interface.
func (*ConsAddress) Unmarshal ¶
func (ca *ConsAddress) Unmarshal(data []byte) error
Unmarshal sets the address to the given data. It is needed for protobuf compatibility.
func (*ConsAddress) UnmarshalJSON ¶
func (ca *ConsAddress) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals from JSON assuming Bech32 encoding.
type Context ¶
type Context struct {
// contains filtered or unexported fields
}
func NewContext ¶
create a new context
func (Context) AccountCache ¶
func (c Context) AccountCache() AccountCache
func (Context) BlockHeader ¶
func (Context) BlockHeight ¶
func (Context) CacheContext ¶
Cache the multistore and return a new cached context. The cached context is written to the context when writeCache is called.
func (Context) ConsensusParams ¶
func (c Context) ConsensusParams() *abci.ConsensusParams
func (Context) CrossStake ¶
func (Context) DepriveSideChainKeyPrefix ¶
func (Context) EventManager ¶
func (c Context) EventManager() *EventManager
func (Context) IsDeliverTx ¶
func (Context) IsReCheckTx ¶
func (Context) MultiStore ¶
func (c Context) MultiStore() MultiStore
func (Context) RouterCallRecord ¶
func (Context) SideChainId ¶
func (Context) SideChainKeyPrefix ¶
func (Context) TransientStore ¶
TransientStore fetches a TransientStore from the MultiStore.
func (Context) Value ¶
func (c Context) Value(key interface{}) interface{}
Value is deprecated, provided for backwards compatibility Please use
ctx.Context().Value(key)
instead of
ctx.Value(key)
func (Context) WithAccountCache ¶
func (c Context) WithAccountCache(cache AccountCache) Context
func (Context) WithBlockHash ¶
func (Context) WithBlockHeight ¶
func (Context) WithChainID ¶
func (Context) WithConsensusParams ¶
func (c Context) WithConsensusParams(params *abci.ConsensusParams) Context
func (Context) WithCrossStake ¶
func (Context) WithEventManager ¶
func (c Context) WithEventManager(em *EventManager) Context
func (Context) WithMultiStore ¶
func (c Context) WithMultiStore(ms MultiStore) Context
func (Context) WithProposer ¶
func (c Context) WithProposer(addr ConsAddress) Context
func (Context) WithRouterCallRecord ¶
func (Context) WithRunTxMode ¶
func (Context) WithSideChainId ¶
func (Context) WithSideChainKeyPrefix ¶
type CrossChainApplication ¶
type CrossChainApplication interface { ExecuteSynPackage(ctx Context, payload []byte, relayerFee int64) ExecuteResult ExecuteAckPackage(ctx Context, payload []byte) ExecuteResult // When the ack application crash, payload is the payload of the origin package. ExecuteFailAckPackage(ctx Context, payload []byte) ExecuteResult }
type CrossChainPackageType ¶
type CrossChainPackageType uint8
const ( SynCrossChainPackageType CrossChainPackageType = 0x00 AckCrossChainPackageType CrossChainPackageType = 0x01 FailAckCrossChainPackageType CrossChainPackageType = 0x02 )
type Dec ¶
type Dec struct {
// contains filtered or unexported fields
}
NOTE: never use new(Dec) or else we will panic unmarshalling into the nil embedded big.Int
func NewDecFromInt ¶
create a new Dec from big integer assuming whole numbers CONTRACT: prec <= Precision
func NewDecFromIntWithPrec ¶
create a new Dec from big integer with decimal place at prec CONTRACT: prec <= Precision
func NewDecWithPrec ¶
create a new Dec from integer with decimal place at prec CONTRACT: prec <= Precision
func NewDecWithoutFra ¶
create a new dec from integer with no decimal fraction
func (Dec) IsNil ¶
______________________________________________________________________________________________ nolint
func (Dec) MarshalJSON ¶
MarshalJSON marshals the decimal
func (Dec) MarshalText ¶
func (Dec) TruncateInt ¶
TruncateInt truncates the decimals from the number and returns an Int
func (Dec) TruncateInt64 ¶
TruncateInt64 truncates the decimals from the number and returns an int64
func (*Dec) UnmarshalAmino ¶
requires a valid JSON string - strings quotes and calls UnmarshalText
func (*Dec) UnmarshalJSON ¶
UnmarshalJSON defines custom decoding scheme
func (*Dec) UnmarshalText ¶
type Delegation ¶
type Delegation interface { GetDelegatorAddr() AccAddress // delegator AccAddress for the bond GetValidatorAddr() ValAddress // validator operator address }
delegation bond for a delegated proof of stake system
type DelegationSet ¶
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 DummyAccountCache ¶
type DummyAccountCache struct { }
func (*DummyAccountCache) Cache ¶
func (d *DummyAccountCache) Cache() AccountCache
func (*DummyAccountCache) ClearCache ¶
func (d *DummyAccountCache) ClearCache()
func (*DummyAccountCache) Delete ¶
func (d *DummyAccountCache) Delete(addr AccAddress)
func (*DummyAccountCache) GetAccount ¶
func (d *DummyAccountCache) GetAccount(addr AccAddress) Account
func (*DummyAccountCache) SetAccount ¶
func (d *DummyAccountCache) SetAccount(addr AccAddress, acc Account)
func (*DummyAccountCache) Write ¶
func (d *DummyAccountCache) Write()
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 RawError() string // return raw error message Code() CodeType Codespace() CodespaceType ABCILog() string ABCICode() ABCICodeType Result() Result QueryResult() abci.ResponseQuery // contains filtered or unexported methods }
sdk Error type
func ErrInsufficientCoins ¶
func ErrInsufficientFunds ¶
func ErrInvalidAccountFlags ¶
func ErrInvalidAddress ¶
func ErrInvalidCoins ¶
func ErrInvalidPubKey ¶
func ErrInvalidSequence ¶
func ErrInvalidTxMemo ¶
func ErrMemoTooLarge ¶
func ErrMsgNotSupported ¶
func ErrTxDecode ¶
func ErrUnauthorized ¶
func ErrUnknownAddress ¶
func ErrUnknownRequest ¶
type Event ¶
Event is a type alias for an ABCI Event
func NewEvent ¶
NewEvent creates a new Event object with a given type and slice of one or more attributes.
func (Event) AppendAttributes ¶
AppendAttributes adds one or more attributes to an Event.
type EventManager ¶
type EventManager struct {
// contains filtered or unexported fields
}
EventManager implements a simple wrapper around a slice of Event objects that can be emitted from.
func NewEventManager ¶
func NewEventManager() *EventManager
func (EventManager) ABCIEvents ¶
func (em EventManager) ABCIEvents() []abci.Event
ABCIEvents returns all stored Event objects as abci.Event objects.
func (*EventManager) EmitEvent ¶
func (em *EventManager) EmitEvent(event Event)
EmitEvent stores a single Event object.
func (*EventManager) EmitEvents ¶
func (em *EventManager) EmitEvents(events Events)
EmitEvents stores a series of Event objects.
func (*EventManager) Events ¶
func (em *EventManager) Events() Events
type Events ¶
type Events []Event
Events defines a slice of Event objects
func (Events) AppendEvent ¶
AppendEvent adds an Event to a slice of events.
func (Events) AppendEvents ¶
AppendEvents adds a slice of Event objects to an exist slice of Event objects.
func (Events) ToABCIEvents ¶
ToABCIEvents converts a slice of Event objects to a slice of abci.Event objects.
type ExecuteResult ¶
func (ExecuteResult) Code ¶
func (c ExecuteResult) Code() ABCICodeType
func (ExecuteResult) IsOk ¶
func (c ExecuteResult) IsOk() bool
func (ExecuteResult) Msg ¶
func (c ExecuteResult) Msg() string
type Fee ¶
type Fee struct { Tokens Coins Type FeeDistributeType }
func NewFee ¶
func NewFee(tokens Coins, distributeType FeeDistributeType) Fee
func (Fee) SerializeForPub ¶
Any change of this method should communicate with services (query, explorer) developers More detail can be found: https://github.com/binance-chain/docs-site/wiki/Fee-Calculation,-Collection-and-Distribution#publication
type FeeDistributeType ¶
type FeeDistributeType int8
type InitChainer ¶
type InitChainer func(ctx Context, req abci.RequestInitChain) abci.ResponseInitChain
initialize application state at genesis
type Int ¶
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 ¶
NewIntFromBigInt constructs Int from big.Int
func NewIntFromString ¶
NewIntFromString constructs Int from string
func NewIntWithDecimal ¶
NewIntWithDecimal constructs Int with decimal Result value is n*10^dec
func (Int) MarshalAmino ¶
MarshalAmino defines custom encoding scheme
func (Int) MarshalJSON ¶
MarshalJSON defines custom encoding scheme
func (*Int) UnmarshalAmino ¶
UnmarshalAmino defines custom decoding scheme
func (*Int) UnmarshalJSON ¶
UnmarshalJSON defines custom decoding scheme
type Iterator ¶
Alias iterator to db's Iterator for convenience.
func KVStorePrefixIterator ¶
Iterator over all the keys with a certain prefix in ascending order
func KVStoreReversePrefixIterator ¶
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. 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 greater 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 }
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.
func (*KVStoreKey) Name ¶
func (key *KVStoreKey) Name() string
func (*KVStoreKey) String ¶
func (key *KVStoreKey) String() string
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 // Get involved addresses of this msg so that we can publish account balance change GetInvolvedAddresses() []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. 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 ¶
type PeerFilter func(info string) abci.ResponseQuery
respond to p2p filtering queries from Tendermint
type Pool ¶
type Pool struct {
// contains filtered or unexported fields
}
block level pool to avoid frequently call ctx.With harms performance according to our test
NOTE: states keep in this pool should be cleared per-block, an appropriate place should be in the end of Commit() with deliver state
func (*Pool) AddAddrs ¶
func (p *Pool) AddAddrs(addrs []AccAddress)
func (Pool) TxRelatedAddrs ¶
type PruningStrategy ¶
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 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 ABCICodeType // Data is any data returned from the app. Data []byte // Log is just debug information. NOTE: nondeterministic. Log string // Tx fee amount and denom. FeeAmount int64 FeeDenom string // Tags are used for transaction indexing and pubsub. Tags Tags Events Events }
Result is the union of ResponseDeliverTx and ResponseCheckTx.
type RewardConfig ¶
type RewardConfig uint8
const ( RewardFromSystem RewardConfig = 0 RewardNotFromSystem RewardConfig = 1 )
type RunTxMode ¶
type RunTxMode uint8
Enum mode for app.runTx
const ( // Check a transaction RunTxModeCheck RunTxMode = iota // Simulate a transaction RunTxModeSimulate RunTxMode = iota // Deliver a transaction RunTxModeDeliver RunTxMode = iota // ReCheck a transaction RunTxModeReCheck RunTxMode = iota // Check a transaction after PreCheck RunTxModeCheckAfterPre RunTxMode = iota // Deliver a transaction after PreDeliver RunTxModeDeliverAfterPre RunTxMode = iota )
type Script ¶
func GetRegisteredScripts ¶
type SmartChainAddress ¶
type SmartChainAddress [SmartChainAddressLength]byte
SmartChainAddress defines a standard smart chain address
func NewSmartChainAddress ¶
func NewSmartChainAddress(addr string) (SmartChainAddress, error)
NewSmartChainAddress is a constructor function for SmartChainAddress
func (SmartChainAddress) IsEmpty ¶
func (addr SmartChainAddress) IsEmpty() bool
func (SmartChainAddress) MarshalJSON ¶
func (addr SmartChainAddress) MarshalJSON() ([]byte, error)
MarshalJSON marshals the smart chain address to JSON
func (*SmartChainAddress) SetBytes ¶
func (addr *SmartChainAddress) SetBytes(b []byte)
func (SmartChainAddress) String ¶
func (addr SmartChainAddress) String() string
Route should return the name of the module
func (*SmartChainAddress) UnmarshalJSON ¶
func (addr *SmartChainAddress) UnmarshalJSON(input []byte) error
UnmarshalJSON unmarshals an smart chain address
type StakingHooks ¶
type StakingHooks interface { OnValidatorCreated(ctx Context, address ValAddress) // Must be called when a validator is created OnValidatorModified(ctx Context, address ValAddress) // Must be called when a validator's state changes OnValidatorRemoved(ctx Context, address ValAddress) // Must be called when a validator is deleted OnValidatorBonded(ctx Context, address ConsAddress, operator ValAddress) // Must be called when a validator is bonded OnValidatorBeginUnbonding(ctx Context, address ConsAddress, operator ValAddress) // Must be called when a validator begins unbonding OnDelegationCreated(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation is created OnDelegationRemoved(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation is removed OnSideChainValidatorBonded(ctx Context, sideConsAddr []byte, operator ValAddress) OnSideChainValidatorBeginUnbonding(ctx Context, sideConsAddr []byte, operator ValAddress) OnSelfDelDropBelowMin(ctx Context, operator ValAddress) }
event hooks for staking validator object
type Store ¶
type Store interface { GetStoreType() StoreType CacheWrapper }
type StringEvent ¶
type StringEvent struct { Type string `json:"type,omitempty"` Attributes []Attribute `json:"attributes,omitempty"` }
StringAttribute defines en Event object wrapper where all the attributes contain key/value pairs that are strings instead of raw bytes.
func StringifyEvent ¶
func StringifyEvent(e abci.Event) StringEvent
StringifyEvent converts an Event object to a StringEvent object.
type StringEvents ¶
type StringEvents []StringEvent
StringAttributes defines a slice of StringEvents objects.
func StringifyEvents ¶
func StringifyEvents(events []abci.Event) StringEvents
StringifyEvents converts a slice of Event objects into a slice of StringEvent objects.
func (StringEvents) Flatten ¶
func (se StringEvents) Flatten() StringEvents
Flatten returns a flattened version of StringEvents by grouping all attributes per unique event type.
func (StringEvents) String ¶
func (se StringEvents) String() string
type Tags ¶
Type synonym for convenience
type TestMsg ¶
type TestMsg struct {
// contains filtered or unexported fields
}
msg type for testing
func NewTestMsg ¶
func NewTestMsg(addrs ...AccAddress) *TestMsg
func (*TestMsg) GetInvolvedAddresses ¶
func (msg *TestMsg) GetInvolvedAddresses() []AccAddress
func (*TestMsg) GetSignBytes ¶
func (*TestMsg) GetSigners ¶
func (msg *TestMsg) GetSigners() []AccAddress
func (*TestMsg) ValidateBasic ¶
type TraceContext ¶
type TraceContext map[string]interface{}
TraceContext contains TraceKVStore context data. It will be written with every trace operation.
type TransientStoreKey ¶
type TransientStoreKey struct {
// contains filtered or unexported fields
}
TransientStoreKey is used for indexing transient stores in a MultiStore
func NewTransientStoreKey ¶
func NewTransientStoreKey(name string) *TransientStoreKey
Constructs new TransientStoreKey Must return a pointer according to the ocap principle
func (*TransientStoreKey) String ¶
func (key *TransientStoreKey) String() string
Implements StoreKey
type TreeStore ¶
type TreeStore interface {
GetImmutableTree() *iavl.ImmutableTree
}
type Tx ¶
type Tx interface { // Gets the Msg. GetMsgs() []Msg }
Transactions objects must fulfill the Tx
type Uint ¶
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 ¶
NewUintFromBigUint constructs Uint from big.Uint
func NewUintFromString ¶
NewUintFromString constructs Uint from string
func NewUintWithDecimal ¶
NewUintWithDecimal constructs Uint with decimal Result value is n*10^dec
func (Uint) MarshalAmino ¶
MarshalAmino defines custom encoding scheme
func (Uint) MarshalJSON ¶
MarshalJSON defines custom encoding scheme
func (*Uint) UnmarshalAmino ¶
UnmarshalAmino defines custom decoding scheme
func (*Uint) UnmarshalJSON ¶
UnmarshalJSON defines custom decoding scheme
type UpgradeConfig ¶
type UpgradeManager ¶
type UpgradeManager struct { Config UpgradeConfig Height int64 }
func NewUpgradeManager ¶
func NewUpgradeManager(config UpgradeConfig) *UpgradeManager
func (*UpgradeManager) AddConfig ¶
func (mgr *UpgradeManager) AddConfig(config UpgradeConfig)
func (*UpgradeManager) AddUpgradeHeight ¶
func (mgr *UpgradeManager) AddUpgradeHeight(name string, height int64)
func (*UpgradeManager) BeginBlocker ¶
func (mgr *UpgradeManager) BeginBlocker(ctx Context)
run in every ABCI BeginBlock.
func (*UpgradeManager) GetHeight ¶
func (mgr *UpgradeManager) GetHeight() int64
func (*UpgradeManager) GetMsgTypeHeight ¶
func (mgr *UpgradeManager) GetMsgTypeHeight(msgType string) int64
func (*UpgradeManager) GetStoreKeyHeight ¶
func (mgr *UpgradeManager) GetStoreKeyHeight(storeKeyName string) int64
func (*UpgradeManager) GetUpgradeHeight ¶
func (mgr *UpgradeManager) GetUpgradeHeight(name string) int64
func (*UpgradeManager) RegisterBeginBlocker ¶
func (mgr *UpgradeManager) RegisterBeginBlocker(name string, beginBlocker func(Context))
func (*UpgradeManager) RegisterMsgTypes ¶
func (mgr *UpgradeManager) RegisterMsgTypes(upgradeName string, msgTypes ...string)
func (*UpgradeManager) RegisterStoreKeys ¶
func (mgr *UpgradeManager) RegisterStoreKeys(upgradeName string, storeKeyNames ...string)
func (*UpgradeManager) Reset ¶
func (mgr *UpgradeManager) Reset()
func (*UpgradeManager) SetHeight ¶
func (mgr *UpgradeManager) SetHeight(height int64)
type ValAddress ¶
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 ¶
func ValAddressFromBech32(address string) (addr ValAddress, err error)
ValAddressFromBech32 creates a ValAddress from a Bech32 string.
func ValAddressFromHex ¶
func ValAddressFromHex(address string) (addr ValAddress, err error)
ValAddressFromHex creates a ValAddress from a hex string.
func (ValAddress) Empty ¶
func (va ValAddress) Empty() bool
Returns boolean for whether an AccAddress is empty
func (ValAddress) Equals ¶
func (va ValAddress) Equals(va2 ValAddress) bool
Returns boolean for whether two ValAddresses are Equal
func (ValAddress) Format ¶
func (va ValAddress) Format(s fmt.State, verb rune)
Format implements the fmt.Formatter interface. nolint: errcheck
func (ValAddress) Marshal ¶
func (va ValAddress) Marshal() ([]byte, error)
Marshal returns the raw address bytes. It is needed for protobuf compatibility.
func (ValAddress) MarshalJSON ¶
func (va ValAddress) MarshalJSON() ([]byte, error)
MarshalJSON marshals to JSON using Bech32.
func (ValAddress) String ¶
func (va ValAddress) String() string
String implements the Stringer interface.
func (*ValAddress) Unmarshal ¶
func (va *ValAddress) Unmarshal(data []byte) error
Unmarshal sets the address to the given data. It is needed for protobuf compatibility.
func (*ValAddress) UnmarshalJSON ¶
func (va *ValAddress) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals from JSON assuming Bech32 encoding.
type Validator ¶
type Validator interface { GetJailed() bool // whether the validator is jailed GetMoniker() string // moniker of the validator GetStatus() BondStatus // status of the validator GetFeeAddr() AccAddress // fee address of 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 GetBondHeight() int64 // height in which the validator became active GetSideChainConsAddr() []byte // validation consensus address on side chain IsSideChainValidator() bool // if it belongs to side chain }
validator for a delegated proof of stake system
type ValidatorSet ¶
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 IterateValidatorsBonded(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 // functions for side chain ValidatorBySideChainConsAddr(Context, []byte) Validator UnjailSideChain(Context, []byte) SlashSideChain(ctx Context, sideChainId string, sideConsAddr []byte, slashAmount Dec) (validator Validator, slashedAmount Dec, err error) // allocate remaining slashed amount to validators who are going to be distributed next time AllocateSlashAmtToValidators(ctx Context, slashedConsAddr []byte, amount Dec) (bool, map[string]int64, error) MinSelfDelegation(ctx Context) int64 // validator minimum self delegation BondDenom(ctx Context) string }
properties for the set of all validators