types

package
v0.18.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2018 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Bech32PrefixAccAddr = "cosmosaccaddr"
	Bech32PrefixAccPub  = "cosmosaccpub"
	Bech32PrefixValAddr = "cosmosvaladdr"
	Bech32PrefixValPub  = "cosmosvalpub"
)

Bech32 prefixes

View Source
const (
	// ABCI error codes
	ABCICodeOK ABCICodeType = 0

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

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

Variables

This section is empty.

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 Bech32ifyAcc added in v0.18.0

func Bech32ifyAcc(addr Address) (string, error)

Bech32ifyAcc takes Address and returns the bech32 encoded string

func Bech32ifyAccPub added in v0.18.0

func Bech32ifyAccPub(pub crypto.PubKey) (string, error)

Bech32ifyAccPub takes AccountPubKey and returns the bech32 encoded string

func Bech32ifyValPub added in v0.18.0

func Bech32ifyValPub(pub crypto.PubKey) (string, error)

Bech32ifyValPub returns the bech32 encoded string for a validator 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 GetValPubKeyBech32 added in v0.18.0

func GetValPubKeyBech32(pubkey string) (pk crypto.PubKey, err error)

Decode a validator publickey into a public key

func NewRatFromDecimal

func NewRatFromDecimal(decimalStr string) (f Rat, err Error)

create a rational from decimal string or integer string

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 RatEq added in v0.18.0

func RatEq(t *testing.T, exp, got Rat) (*testing.T, bool, string, Rat, Rat)

intended to be used with require/assert: require.True(RatEq(...))

func RatsEqual added in v0.18.0

func RatsEqual(r1s, r2s []Rat) bool

test if two rat arrays are the equal

func RegisterWire added in v0.16.0

func RegisterWire(cdc *wire.Codec)

Register the sdk message type

Types

type ABCICodeType added in v0.16.0

type ABCICodeType uint32

ABCICodeType - combined codetype / codespace

func ToABCICode added in v0.16.0

func ToABCICode(space CodespaceType, code CodeType) ABCICodeType

get the abci code from the local code and codespace

func (ABCICodeType) IsOK added in v0.16.0

func (code ABCICodeType) IsOK() bool

IsOK - is everything okay?

type Address

type Address = cmn.HexBytes

Address is a go crypto-style Address

func GetAccAddressBech32 added in v0.18.0

func GetAccAddressBech32(address string) (addr Address, err error)

create an Address from a string

func GetAccAddressHex added in v0.18.0

func GetAccAddressHex(address string) (addr Address, err error)

create an Address from a string

func GetValAddressBech32 added in v0.18.0

func GetValAddressBech32(address string) (addr Address, err error)

create an Address from a bech32 string

func GetValAddressHex added in v0.18.0

func GetValAddressHex(address string) (addr Address, err error)

create an Address from a hex string

type AnteHandler

type AnteHandler func(ctx Context, tx Tx) (newCtx Context, result Result, abort bool)

If newCtx.IsZero(), ctx is used instead.

type BeginBlocker

type BeginBlocker func(ctx Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock

run code before the transactions in a block

type BondStatus added in v0.18.0

type BondStatus byte

status of a validator

const (
	Unbonded  BondStatus = 0x00
	Unbonding BondStatus = 0x01
	Bonded    BondStatus = 0x02
)

nolint

type CacheKVStore

type CacheKVStore interface {
	KVStore

	// Writes operations to underlying KVStore
	Write()
}

CacheKVStore cache-wraps a KVStore. After calling .Write() on the CacheKVStore, all previously created CacheKVStores on the object expire.

type CacheMultiStore

type CacheMultiStore interface {
	MultiStore
	Write() // Writes operations to underlying KVStore
}

From MultiStore.CacheMultiStore()....

type CacheWrap

type CacheWrap interface {

	// Write syncs with the underlying store.
	Write()

	// CacheWrap recursively wraps again.
	CacheWrap() CacheWrap
}

CacheWrap() makes the most appropriate cache-wrap. For example, IAVLStore.CacheWrap() returns a CacheKVStore.

CacheWrap() should not return a Committer, since Commit() on cache-wraps make no sense. It can return KVStore, HeapStore, SpaceStore, etc.

type CacheWrapper

type CacheWrapper interface {
	CacheWrap() CacheWrap
}

type CodeType

type CodeType uint16

CodeType - code identifier within codespace

type CodespaceType added in v0.16.0

type CodespaceType uint16

CodespaceType - codespace identifier

type Codespacer added in v0.16.0

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

Codespacer is a simple struct to track reserved codespaces

func NewCodespacer added in v0.16.0

func NewCodespacer() *Codespacer

NewCodespacer generates a new Codespacer with the starting codespace

func (*Codespacer) RegisterNext added in v0.16.0

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

func (c *Codespacer) RegisterOrPanic(codespace CodespaceType)

RegisterOrPanic reserved a codespace or panics if it is unavailable

type Coin

type Coin struct {
	Denom  string `json:"denom"`
	Amount int64  `json:"amount"`
}

Coin hold some amount of one currency

func ParseCoin

func ParseCoin(coinStr string) (coin Coin, err error)

ParseCoin parses a cli input for one coin type, returning errors if invalid. This returns an error on an empty string as well.

func (Coin) IsEqual

func (coin Coin) IsEqual(other Coin) bool

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

func (Coin) IsGTE

func (coin Coin) IsGTE(other Coin) bool

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

func (Coin) IsNotNegative

func (coin Coin) IsNotNegative() bool

IsNotNegative returns true if coin amount is not negative

func (Coin) IsPositive

func (coin Coin) IsPositive() bool

IsPositive returns true if coin amount is positive

func (Coin) IsZero

func (coin Coin) IsZero() bool

IsZero returns if this represents no money

func (Coin) Minus

func (coin Coin) Minus(coinB Coin) Coin

Subtracts amounts of two coins with same denom

func (Coin) Plus

func (coin Coin) Plus(coinB Coin) Coin

Adds amounts of two coins with same denom

func (Coin) SameDenomAs

func (coin Coin) SameDenomAs(other Coin) bool

SameDenomAs returns true if the two coins are the same denom

func (Coin) String

func (coin Coin) String() string

String provides a human-readable representation of a coin

type Coins

type Coins []Coin

Coins is a set of Coin, one per currency

func ParseCoins

func ParseCoins(coinsStr string) (coins Coins, err error)

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

func (Coins) AmountOf

func (coins Coins) AmountOf(denom string) int64

Returns the amount of a denom from coins

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

func (coins Coins) IsGTE(coinsB Coins) bool

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

func (coins Coins) IsNotNegative() bool

IsNotNegative returns true if there is no currency with a negative value (even no coins is true here)

func (Coins) IsPositive

func (coins Coins) IsPositive() bool

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

func (Coins) IsValid

func (coins Coins) IsValid() bool

IsValid asserts the Coins are sorted, and don't have 0 amounts

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

func (coins Coins) Minus(coinsB Coins) Coins

Minus subtracts a set of coins from another (adds the inverse)

func (Coins) Negative

func (coins Coins) Negative() Coins

Negative returns a set of coins with all amount negative

func (Coins) Plus

func (coins Coins) Plus(coinsB Coins) Coins

Plus combines two sets of coins CONTRACT: Plus will never return Coins where one Coin has a 0 amount.

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

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

type CommitID

type CommitID struct {
	Version int64
	Hash    []byte
}

CommitID contains the tree version number and its merkle root.

func (CommitID) IsZero

func (cid CommitID) IsZero() bool

func (CommitID) String

func (cid CommitID) String() string

type CommitKVStore

type CommitKVStore interface {
	Committer
	KVStore
}

Stores of MultiStore must implement CommitStore.

type CommitMultiStore

type CommitMultiStore interface {
	Committer
	MultiStore

	// Mount a store of type using the given db.
	// If db == nil, the new store will use the CommitMultiStore db.
	MountStoreWithDB(key StoreKey, typ StoreType, db dbm.DB)

	// Panics on a nil key.
	GetCommitStore(key StoreKey) CommitStore

	// Panics on a nil key.
	GetCommitKVStore(key StoreKey) CommitKVStore

	// Load the latest persisted version.  Called once after all
	// calls to Mount*Store() are complete.
	LoadLatestVersion() error

	// Load a specific persisted version.  When you load an old
	// version, or when the last commit attempt didn't complete,
	// the next commit after loading must be idempotent (return the
	// same commit id).  Otherwise the behavior is undefined.
	LoadVersion(ver int64) error
}

A non-cache MultiStore.

type CommitStore

type CommitStore interface {
	Committer
	Store
}

Stores of MultiStore must implement CommitStore.

type Committer

type Committer interface {
	Commit() CommitID
	LastCommitID() CommitID
}

something that can persist to disk

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, txBytes []byte, logger log.Logger) Context

create a new context

func (Context) BlockHeader

func (c Context) BlockHeader() abci.Header

nolint

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) 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) SigningValidators added in v0.18.0

func (c Context) SigningValidators() []abci.SigningValidator

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

func (c Context) WithBlockHeader(header abci.Header) Context

func (Context) WithBlockHeight

func (c Context) WithBlockHeight(height int64) 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) 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) WithMultiStore

func (c Context) WithMultiStore(ms MultiStore) Context

func (Context) WithProtoMsg

func (c Context) WithProtoMsg(key interface{}, value proto.Message) Context

func (Context) WithSigningValidators added in v0.18.0

func (c Context) WithSigningValidators(SigningValidators []abci.SigningValidator) 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

type Delegation added in v0.18.0

type Delegation interface {
	GetDelegator() Address // delegator address for the bond
	GetValidator() Address // validator owner address for the bond
	GetBondShares() Rat    // amount of validator's shares
}

delegation bond for a delegated proof of stake system

type DelegationSet added in v0.18.0

type DelegationSet interface {

	// iterate through all delegations from one delegator by validator-address,
	//   execute func for each validator
	IterateDelegators(Context, delegator Address,
		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 {
	Error() string
	Code() CodeType
	Codespace() CodespaceType
	ABCILog() string
	ABCICode() ABCICodeType
	WithDefaultCodespace(codespace CodespaceType) Error
	Trace(msg string) Error
	T() interface{}
	Result() Result
	QueryResult() abci.ResponseQuery
}

sdk Error type

func ErrInsufficientCoins

func ErrInsufficientCoins(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 ErrOutOfGas added in v0.18.0

func ErrOutOfGas(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, msg string) Error

NewError - create an error

type ErrorOutOfGas added in v0.18.0

type ErrorOutOfGas struct {
	Descriptor string
}

Error thrown when out of gas

type Gas added in v0.18.0

type Gas = int64

Gas measured by the SDK

type GasMeter added in v0.18.0

type GasMeter interface {
	GasConsumed() Gas
	ConsumeGas(amount Gas, descriptor string)
}

GasMeter interface to track gas consumption

func NewGasMeter added in v0.18.0

func NewGasMeter(limit Gas) GasMeter

func NewInfiniteGasMeter added in v0.18.0

func NewInfiniteGasMeter() GasMeter

type Handler

type Handler func(ctx Context, msg Msg) Result

core function variable which application runs for transactions

type InitChainer

type InitChainer func(ctx Context, req abci.RequestInitChain) abci.ResponseInitChain

initialize application state at genesis

type Iterator

type Iterator = dbm.Iterator

Alias iterator to db's Iterator for convenience.

func KVStorePrefixIterator added in v0.18.0

func KVStorePrefixIterator(kvs KVStore, prefix []byte) Iterator

Iterator over all the keys with a certain prefix in ascending order

func KVStoreReversePrefixIterator added in v0.18.0

func KVStoreReversePrefixIterator(kvs KVStore, prefix []byte) Iterator

Iterator over all the keys with a certain prefix in descending order.

type KVPair added in v0.17.0

type KVPair cmn.KVPair

key-value result for iterator queries

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.
	// 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.
	// CONTRACT: No writes may happen within a domain while an iterator exists over it.
	ReverseIterator(start, end []byte) Iterator
}

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.
	Type() string

	// Get the canonical byte representation of the Msg.
	GetSignBytes() []byte

	// ValidateBasic does a simple validation check that
	// doesn't require access to any other information.
	ValidateBasic() Error

	// 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() []Address
}

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
	GetKVStoreWithGas(GasMeter, StoreKey) KVStore
}

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

type Rat struct {
	big.Rat `json:"rat"`
}

NOTE: never use new(Rat) or else we will panic unmarshalling into the nil embedded big.Rat

func NewRat

func NewRat(Numerator int64, Denominator ...int64) Rat

New - create a new Rat from integers

func OneRat

func OneRat() Rat

func ZeroRat

func ZeroRat() Rat

nolint - common values

func (Rat) Add

func (r Rat) Add(r2 Rat) Rat

func (Rat) Denom

func (r Rat) Denom() int64

func (Rat) Equal

func (r Rat) Equal(r2 Rat) bool

func (Rat) Evaluate

func (r Rat) Evaluate() int64

evaluate the rational using bankers rounding

func (Rat) EvaluateBig

func (r Rat) EvaluateBig() *big.Int

evaluate the rational using bankers rounding

func (Rat) GT

func (r Rat) GT(r2 Rat) bool

func (Rat) IsZero

func (r Rat) IsZero() bool

func (Rat) LT

func (r Rat) LT(r2 Rat) bool

func (Rat) MarshalAmino added in v0.17.0

func (r Rat) MarshalAmino() (string, error)

Wraps r.MarshalText().

func (Rat) Mul

func (r Rat) Mul(r2 Rat) Rat

func (Rat) Num

func (r Rat) Num() int64

nolint

func (Rat) Quo

func (r Rat) Quo(r2 Rat) Rat

func (Rat) Round

func (r Rat) Round(precisionFactor int64) Rat

round Rat with the provided precisionFactor

func (Rat) String added in v0.16.0

func (r Rat) String() string

func (Rat) Sub

func (r Rat) Sub(r2 Rat) Rat

func (Rat) ToLeftPadded

func (r Rat) ToLeftPadded(totalDigits int8) string

TODO panic if negative or if totalDigits < len(initStr)??? evaluate as an integer and return left padded string

func (*Rat) UnmarshalAmino added in v0.17.0

func (r *Rat) UnmarshalAmino(text string) (err error)

Requires a valid JSON string - strings quotes and calls UnmarshalText

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

	// GasWanted is the maximum units of work we allow this tx to perform.
	GasWanted int64

	// GasUsed is the amount of gas actually consumed. NOTE: unimplemented
	GasUsed int64

	// Tx fee amount and denom.
	FeeAmount int64
	FeeDenom  string

	// Changes to the validator set.
	ValidatorUpdates []abci.Validator

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

Result is the union of ResponseDeliverTx and ResponseCheckTx.

func (Result) IsOK

func (res Result) IsOK() bool

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

type Store

type Store interface {
	GetStoreType() StoreType
	CacheWrapper
}

type StoreKey

type StoreKey interface {
	Name() string
	String() string
}

StoreKey is a key used to index stores in a MultiStore.

type StoreType

type StoreType int

kind of store

const (
	//nolint
	StoreTypeMulti StoreType = iota
	StoreTypeDB
	StoreTypeIAVL
)

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 []byte) 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 []byte) Tags

Append a single tag

func (Tags) AppendTags added in v0.17.0

func (t Tags) AppendTags(a 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 ...Address) *TestMsg

func (*TestMsg) GetSignBytes

func (msg *TestMsg) GetSignBytes() []byte

func (*TestMsg) GetSigners

func (msg *TestMsg) GetSigners() []Address

func (*TestMsg) Type

func (msg *TestMsg) Type() string

nolint

func (*TestMsg) ValidateBasic

func (msg *TestMsg) ValidateBasic() Error

type Tx

type Tx interface {

	// Gets the Msg.
	GetMsg() Msg
}

Transactions objects must fulfill the Tx

type TxDecoder

type TxDecoder func(txBytes []byte) (Tx, Error)

TxDecoder unmarshals transaction bytes

type Validator added in v0.18.0

type Validator interface {
	GetStatus() BondStatus    // status of the validator
	GetOwner() Address        // owner address to receive/return validators coins
	GetPubKey() crypto.PubKey // validation pubkey
	GetPower() Rat            // validation power
	GetBondHeight() int64     // height in which the validator became active
}

validator for a delegated proof of stake system

type ValidatorSet added in v0.18.0

type ValidatorSet interface {
	// iterate through validator by owner-address, execute func for each validator
	IterateValidators(Context,
		func(index int64, validator Validator) (stop bool))

	// iterate through bonded validator by pubkey-address, execute func for each validator
	IterateValidatorsBonded(Context,
		func(index int64, validator Validator) (stop bool))

	Validator(Context, Address) Validator     // get a particular validator by owner address
	TotalPower(Context) Rat                   // total power of the validator set
	Slash(Context, crypto.PubKey, int64, Rat) // slash the validator and delegators of the validator, specifying offence height & slash fraction
	Revoke(Context, crypto.PubKey)            // revoke a validator
	Unrevoke(Context, crypto.PubKey)          // unrevoke a validator
}

properties for the set of all validators

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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