types

package
v0.46.33 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2022 License: Apache-2.0 Imports: 46 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// Bech32MainPrefix defines the main SDK Bech32 prefix of an account's address
	Bech32MainPrefix = "cosmos"

	// Purpose is the ATOM purpose as defined in SLIP44 (https://github.com/satoshilabs/slips/blob/master/slip-0044.md)
	Purpose = 44

	// CoinType is the ATOM coin type as defined in SLIP44 (https://github.com/satoshilabs/slips/blob/master/slip-0044.md)
	CoinType = 118

	// FullFundraiserPath is the parts of the BIP44 HD path that are fixed by
	// what we used during the ATOM fundraiser.
	FullFundraiserPath = "m/44'/118'/0'/0/0"

	// 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 (
	// number of decimal places
	Precision = 18

	// bits required to represent the above precision
	// Ceiling[Log2[10^Precision - 1]]
	DecimalPrecisionBits = 60
)
View Source
const (
	EventTypeTx = "tx"

	AttributeKeyAccountSequence = "acc_seq"
	AttributeKeySignature       = "signature"
	AttributeKeyFee             = "fee"
	AttributeKeyFeePayer        = "fee_payer"

	EventTypeMessage = "message"

	AttributeKeyAction = "action"
	AttributeKeyModule = "module"
	AttributeKeySender = "sender"
	AttributeKeyAmount = "amount"
)

Common event types and attribute keys

View Source
const (

	// default bond denomination
	DefaultBondDenom = "stake"

	// Delay, in blocks, between when validator updates are returned to the
	// consensus-engine and when they are applied. For example, if
	// ValidatorUpdateDelay is set to X, and if a validator set update is
	// returned with new validators at the end of block 10, then the new
	// validators are expected to sign blocks beginning at block 11+X.
	//
	// This value is constant as this should not change without a hard fork.
	// For Tendermint this should be set to 1 block, for more details see:
	// https://tendermint.com/docs/spec/abci/apps.html#endblock
	ValidatorUpdateDelay int64 = 1
)

staking constants

View Source
const DefaultKeyringServiceName = "cosmos"

DefaultKeyringServiceName defines a default service name for the keyring.

View Source
const (
	MaxBitLen = sdkmath.MaxBitLen
)
View Source
const (
	// MsgInterfaceProtoName defines the protobuf name of the cosmos Msg interface
	MsgInterfaceProtoName = "cosmos.base.v1beta1.Msg"
)
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 (
	ErrInvalidLengthAbci        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowAbci          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupAbci = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthCoin        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowCoin          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupCoin = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrEmptyDecimalStr      = errors.New("decimal string cannot be empty")
	ErrInvalidDecimalLength = errors.New("invalid decimal length")
	ErrInvalidDecimalStr    = errors.New("invalid decimal string")
)

Decimal errors

View Source
var (
	NewIntFromBigInt = sdkmath.NewIntFromBigInt
	OneInt           = sdkmath.OneInt
	NewInt           = sdkmath.NewInt
	ZeroInt          = sdkmath.ZeroInt
	IntEq            = sdkmath.IntEq
	NewIntFromString = sdkmath.NewIntFromString
	NewUint          = sdkmath.NewUint
	NewIntFromUint64 = sdkmath.NewIntFromUint64
	MaxInt           = sdkmath.MaxInt
	MinInt           = sdkmath.MinInt
)
View Source
var (
	// IsAlphaNumeric defines a regular expression for matching against alpha-numeric
	// values.
	IsAlphaNumeric = regexp.MustCompile(`^[a-zA-Z0-9]+$`).MatchString

	// IsAlphaLower defines regular expression to check if the string has lowercase
	// alphabetic characters only.
	IsAlphaLower = regexp.MustCompile(`^[a-z]+$`).MatchString

	// IsAlphaUpper defines regular expression to check if the string has uppercase
	// alphabetic characters only.
	IsAlphaUpper = regexp.MustCompile(`^[A-Z]+$`).MatchString

	// IsAlpha defines regular expression to check if the string has alphabetic
	// characters only.
	IsAlpha = regexp.MustCompile(`^[a-zA-Z]+$`).MatchString

	// IsNumeric defines regular expression to check if the string has numeric
	// characters only.
	IsNumeric = regexp.MustCompile(`^[0-9]+$`).MatchString
)
View Source
var (
	// This is set at compile time. Could be cleveldb, defaults is goleveldb.
	DBBackend = "" // Deprecated: Use tendermint config's DBBackend value instead.

)
View Source
var DefaultPowerReduction = NewIntFromUint64(1000000)

DefaultPowerReduction is the default amount of staking tokens required for 1 unit of consensus-engine power

View Source
var (
	ErrEmptyHexAddress = errors.New("decoding address from hex string failed: empty address")
)

sentinel errors

Functions

func AppendLengthPrefixedBytes added in v0.46.33

func AppendLengthPrefixedBytes(args ...[]byte) []byte

AppendLengthPrefixedBytes combines the slices of bytes to one slice of bytes.

func Bech32ifyAddressBytes added in v0.46.33

func Bech32ifyAddressBytes(prefix string, bs []byte) (string, error)

Bech32ifyAddressBytes returns a bech32 representation of address bytes. Returns an empty sting if the byte slice is 0-length. Returns an error if the bech32 conversion fails or the prefix is empty.

func BigEndianToUint64 added in v0.46.33

func BigEndianToUint64(bz []byte) uint64

BigEndianToUint64 returns an uint64 from big endian encoded bytes. If encoding is empty, zero is returned.

func CopyBytes added in v0.46.33

func CopyBytes(bz []byte) (ret []byte)

copy bytes

func DecApproxEq added in v0.46.33

func DecApproxEq(t *testing.T, d1 Dec, d2 Dec, tol Dec) (*testing.T, bool, string, string, string)

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

func DefaultCoinDenomRegex() string

DefaultCoinDenomRegex returns the default regex string

func DiffKVStores added in v0.26.0

func DiffKVStores(a KVStore, b KVStore, prefixesToSkip [][]byte) (kvAs, kvBs []kv.Pair)

DiffKVStores compares two KVstores and returns all the key/value pairs that differ from one another. It also skips value comparison for a set of provided prefixes

func FormatInvariant added in v0.46.33

func FormatInvariant(module, name, msg string) string

FormatInvariant returns a standardized invariant message.

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

func GetBaseDenom() (string, error)

GetBaseDenom returns the denom of smallest unit registered

func GetFromBech32 added in v0.19.0

func GetFromBech32(bech32str, prefix string) ([]byte, error)

GetFromBech32 decodes a bytestring from a Bech32 encoded string.

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

func KeyringServiceName() string

func MarkEventsToIndex added in v0.46.33

func MarkEventsToIndex(events []abci.Event, indexSet map[string]struct{}) []abci.Event

MarkEventsToIndex returns the set of ABCI events, where each event's attribute has it's index value marked based on the provided set of events to index.

func MsgTypeURL added in v0.46.33

func MsgTypeURL(msg Msg) string

MsgTypeURL returns the TypeURL of a `sdk.Msg`.

func MustBech32ifyAddressBytes added in v0.46.33

func MustBech32ifyAddressBytes(prefix string, bs []byte) string

MustBech32ifyAddressBytes returns a bech32 representation of address bytes. Returns an empty sting if the byte slice is 0-length. It panics if the bech32 conversion fails or the prefix is empty.

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 NewKVStoreKey

func NewKVStoreKey(name string) *types.KVStoreKey

NewKVStoreKey returns a new pointer to a KVStoreKey.

func NewKVStoreKeys added in v0.46.33

func NewKVStoreKeys(names ...string) map[string]*types.KVStoreKey

NewKVStoreKeys returns a map of new pointers to KVStoreKey's. The function will panic if there is a potential conflict in names (see `assertNoPrefix` function for more details).

func NewLevelDB deprecated added in v0.33.0

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

NewLevelDB instantiate a new LevelDB instance according to DBBackend.

Deprecated: Use NewDB (from "github.com/tendermint/tm-db") instead. Suggested backendType is tendermint config's DBBackend value.

func NewMemoryStoreKeys added in v0.46.33

func NewMemoryStoreKeys(names ...string) map[string]*types.MemoryStoreKey

NewMemoryStoreKeys constructs a new map matching store key names to their respective MemoryStoreKey references. The function will panic if there is a potential conflict in names (see `assertNoPrefix` function for more details).

func NewTransientStoreKey added in v0.24.0

func NewTransientStoreKey(name string) *types.TransientStoreKey

Constructs new TransientStoreKey Must return a pointer according to the ocap principle

func NewTransientStoreKeys added in v0.46.33

func NewTransientStoreKeys(names ...string) map[string]*types.TransientStoreKey

NewTransientStoreKeys constructs a new map of TransientStoreKey's Must return pointers according to the ocap principle The function will panic if there is a potential conflict in names (see `assertNoPrefix` function for more details).

func ParseLengthPrefixedBytes added in v0.46.33

func ParseLengthPrefixedBytes(key []byte, startIndex int, sliceLength int) ([]byte, int)

ParseLengthPrefixedBytes panics when store key length is not equal to the given length.

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

func ParseTypedEvent(event abci.Event) (proto.Message, error)

ParseTypedEvent converts abci.Event back to typed event

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

func RegisterDenom(denom string, unit Dec) error

RegisterDenom registers a denomination with a corresponding unit. If the denomination is already registered, an error will be returned.

func RegisterInterfaces added in v0.46.33

func RegisterInterfaces(registry types.InterfaceRegistry)

RegisterInterfaces registers the sdk message type.

func RegisterLegacyAminoCodec added in v0.46.33

func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)

RegisterLegacyAminoCodec registers the sdk message type.

func SetCoinDenomRegex added in v0.46.33

func SetCoinDenomRegex(reFn func() string)

SetCoinDenomRegex allows for coin's custom validation by overriding the regular expression string used for denom validation.

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

func SortableDecBytes(dec Dec) []byte

SortableDecBytes returns a byte slice representation of a Dec that can be sorted. Left and right pads with 0s so there are 18 digits to left and right of the decimal point. For this reason, there is a maximum and minimum value for this, enforced by ValidSortableDec.

func TokensToConsensusPower added in v0.46.33

func TokensToConsensusPower(tokens Int, powerReduction Int) int64

TokensToConsensusPower - convert input tokens to potential consensus-engine 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 ValidSortableDec added in v0.46.33

func ValidSortableDec(dec Dec) bool

ValidSortableDec ensures that a Dec is within the sortable bounds, a Dec can't have a precision of less than 10^-18. Max sortable decimal was set to the reciprocal of SmallestDec.

func ValidateDenom added in v0.46.33

func ValidateDenom(denom string) error

ValidateDenom is the default validation function for Coin.Denom.

func VerifyAddressFormat added in v0.46.33

func VerifyAddressFormat(bz []byte) error

VerifyAddressFormat verifies that the provided bytes form a valid address according to the default address rules or a custom address verifier set by GetConfig().SetAddressVerifier(). TODO make an issue to get rid of global Config ref: https://github.com/pointnetwork/cosmos-point-sdk/issues/9690

func WrapSDKContext added in v0.46.33

func WrapSDKContext(ctx Context) context.Context

WrapSDKContext returns a stdlib context.Context with the provided sdk.Context's internal context as a value. It is useful for passing an sdk.Context through methods that take a stdlib context.Context parameter such as generated gRPC methods. To get the original sdk.Context back, call UnwrapSDKContext.

Types

type ABCIMessageLog added in v0.33.0

type ABCIMessageLog struct {
	MsgIndex uint32 `protobuf:"varint,1,opt,name=msg_index,json=msgIndex,proto3" json:"msg_index"`
	Log      string `protobuf:"bytes,2,opt,name=log,proto3" json:"log,omitempty"`
	// Events contains a slice of Event objects that were emitted during some
	// execution.
	Events StringEvents `protobuf:"bytes,3,rep,name=events,proto3,castrepeated=StringEvents" json:"events"`
}

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

func NewABCIMessageLog added in v0.46.33

func NewABCIMessageLog(i uint32, log string, events Events) ABCIMessageLog

func (*ABCIMessageLog) Descriptor added in v0.46.33

func (*ABCIMessageLog) Descriptor() ([]byte, []int)

func (*ABCIMessageLog) GetEvents added in v0.46.33

func (m *ABCIMessageLog) GetEvents() StringEvents

func (*ABCIMessageLog) GetLog added in v0.46.33

func (m *ABCIMessageLog) GetLog() string

func (*ABCIMessageLog) GetMsgIndex added in v0.46.33

func (m *ABCIMessageLog) GetMsgIndex() uint32

func (*ABCIMessageLog) Marshal added in v0.46.33

func (m *ABCIMessageLog) Marshal() (dAtA []byte, err error)

func (*ABCIMessageLog) MarshalTo added in v0.46.33

func (m *ABCIMessageLog) MarshalTo(dAtA []byte) (int, error)

func (*ABCIMessageLog) MarshalToSizedBuffer added in v0.46.33

func (m *ABCIMessageLog) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ABCIMessageLog) ProtoMessage added in v0.46.33

func (*ABCIMessageLog) ProtoMessage()

func (*ABCIMessageLog) Reset added in v0.46.33

func (m *ABCIMessageLog) Reset()

func (*ABCIMessageLog) Size added in v0.46.33

func (m *ABCIMessageLog) Size() (n int)

func (*ABCIMessageLog) String added in v0.46.33

func (this *ABCIMessageLog) String() string

func (*ABCIMessageLog) Unmarshal added in v0.46.33

func (m *ABCIMessageLog) Unmarshal(dAtA []byte) error

func (*ABCIMessageLog) XXX_DiscardUnknown added in v0.46.33

func (m *ABCIMessageLog) XXX_DiscardUnknown()

func (*ABCIMessageLog) XXX_Marshal added in v0.46.33

func (m *ABCIMessageLog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ABCIMessageLog) XXX_Merge added in v0.46.33

func (m *ABCIMessageLog) XXX_Merge(src proto.Message)

func (*ABCIMessageLog) XXX_Size added in v0.46.33

func (m *ABCIMessageLog) XXX_Size() int

func (*ABCIMessageLog) XXX_Unmarshal added in v0.46.33

func (m *ABCIMessageLog) XXX_Unmarshal(b []byte) error

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

func AccAddressFromHexUnsafe(address string) (addr AccAddress, err error)

AccAddressFromHexUnsafe creates an AccAddress from a HEX-encoded string.

Note, this function is considered unsafe as it may produce an AccAddress from otherwise invalid input, such as a transaction hash. Please use AccAddressFromBech32.

func MustAccAddressFromBech32 added in v0.46.33

func MustAccAddressFromBech32(address string) AccAddress

MustAccAddressFromBech32 calls AccAddressFromBech32 and panics on error.

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) MarshalYAML added in v0.46.33

func (aa AccAddress) MarshalYAML() (interface{}, error)

MarshalYAML marshals to YAML 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.

func (*AccAddress) UnmarshalYAML added in v0.46.33

func (aa *AccAddress) UnmarshalYAML(data []byte) error

UnmarshalYAML 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 AnteDecorator added in v0.46.33

type AnteDecorator interface {
	AnteHandle(ctx Context, tx Tx, simulate bool, next AnteHandler) (newCtx Context, err error)
}

AnteDecorator wraps the next AnteHandler to perform custom pre- and post-processing.

type AnteHandler

type AnteHandler func(ctx Context, tx Tx, simulate bool) (newCtx Context, err error)

AnteHandler authenticates transactions, before their internal messages are handled. If newCtx.IsZero(), ctx is used instead.

func ChainAnteDecorators added in v0.46.33

func ChainAnteDecorators(chain ...AnteDecorator) AnteHandler

ChainDecorator chains AnteDecorators together with each AnteDecorator wrapping over the decorators further along chain and returns a single AnteHandler.

NOTE: The first element is outermost decorator, while the last element is innermost decorator. Decorator ordering is critical since some decorators will expect certain checks and updates to be performed (e.g. the Context) before the decorator is run. These expectations should be documented clearly in a CONTRACT docline in the decorator's godoc.

NOTE: Any application that uses GasMeter to limit transaction processing cost MUST set GasMeter with the FIRST AnteDecorator. Failing to do so will cause transactions to be processed with an infinite gasmeter and open a DOS attack vector. Use `ante.SetUpContextDecorator` or a custom Decorator with similar functionality. Returns nil when no AnteDecorator are supplied.

type Attribute added in v0.46.33

type Attribute struct {
	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

Attribute defines an attribute wrapper where the key and value are strings instead of raw bytes.

func NewAttribute added in v0.46.33

func NewAttribute(k, v string) Attribute

NewAttribute returns a new key/value Attribute object.

func (*Attribute) Descriptor added in v0.46.33

func (*Attribute) Descriptor() ([]byte, []int)

func (*Attribute) GetKey added in v0.46.33

func (m *Attribute) GetKey() string

func (*Attribute) GetValue added in v0.46.33

func (m *Attribute) GetValue() string

func (*Attribute) Marshal added in v0.46.33

func (m *Attribute) Marshal() (dAtA []byte, err error)

func (*Attribute) MarshalTo added in v0.46.33

func (m *Attribute) MarshalTo(dAtA []byte) (int, error)

func (*Attribute) MarshalToSizedBuffer added in v0.46.33

func (m *Attribute) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Attribute) ProtoMessage added in v0.46.33

func (*Attribute) ProtoMessage()

func (*Attribute) Reset added in v0.46.33

func (m *Attribute) Reset()

func (*Attribute) Size added in v0.46.33

func (m *Attribute) Size() (n int)

func (Attribute) String added in v0.46.33

func (a Attribute) String() string

func (Attribute) ToKVPair added in v0.46.33

func (a Attribute) ToKVPair() abci.EventAttribute

ToKVPair converts an Attribute object into a Tendermint key/value pair.

func (*Attribute) Unmarshal added in v0.46.33

func (m *Attribute) Unmarshal(dAtA []byte) error

func (*Attribute) XXX_DiscardUnknown added in v0.46.33

func (m *Attribute) XXX_DiscardUnknown()

func (*Attribute) XXX_Marshal added in v0.46.33

func (m *Attribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Attribute) XXX_Merge added in v0.46.33

func (m *Attribute) XXX_Merge(src proto.Message)

func (*Attribute) XXX_Size added in v0.46.33

func (m *Attribute) XXX_Size() int

func (*Attribute) XXX_Unmarshal added in v0.46.33

func (m *Attribute) XXX_Unmarshal(b []byte) error

type BeginBlocker

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

BeginBlocker runs code before the transactions in a block

Note: applications which set create_empty_blocks=false will not have regular block timing and should use e.g. BFT timestamps rather than block height for any periodic BeginBlock logic

type CacheMultiStore

type CacheMultiStore = types.CacheMultiStore

type Coin

type Coin struct {
	Denom  string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"`
	Amount Int    `protobuf:"bytes,2,opt,name=amount,proto3,customtype=Int" json:"amount"`
}

Coin defines a token with a denomination and an amount.

NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.

func ConvertCoin added in v0.46.33

func ConvertCoin(coin Coin, denom string) (Coin, error)

ConvertCoin attempts to convert a coin to a given denomination. If the given denomination is invalid or if neither denomination is registered, an error is returned.

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 or if the denomination is invalid.

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

func NormalizeCoin(coin Coin) Coin

NormalizeCoin try to convert a coin to the smallest unit registered, returns original one if failed.

func ParseCoinNormalized added in v0.46.33

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

ParseCoinNormalized parses and normalize a cli input for one coin type, returning errors if invalid or on an empty string as well. Expected format: "{amount}{denomination}"

func (Coin) Add added in v0.33.0

func (coin Coin) Add(coinB Coin) Coin

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

func (Coin) AddAmount added in v0.46.33

func (coin Coin) AddAmount(amount Int) Coin

AddAmount adds an amount to the Coin.

func (*Coin) Descriptor added in v0.46.33

func (*Coin) Descriptor() ([]byte, []int)

func (*Coin) Equal added in v0.46.33

func (this *Coin) Equal(that interface{}) bool

func (*Coin) GetDenom added in v0.46.33

func (m *Coin) GetDenom() string

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) IsLTE added in v0.46.33

func (coin Coin) IsLTE(other Coin) bool

IsLTE returns true if they are the same type and the receiver is an equal or 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) IsNil added in v0.46.33

func (coin Coin) IsNil() bool

IsNil returns true if the coin amount is nil and false otherwise.

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) IsValid added in v0.46.33

func (coin Coin) IsValid() bool

IsValid returns true if the Coin has a non-negative amount and the denom is valid.

func (Coin) IsZero

func (coin Coin) IsZero() bool

IsZero returns if this represents no money

func (*Coin) Marshal added in v0.46.33

func (m *Coin) Marshal() (dAtA []byte, err error)

func (*Coin) MarshalTo added in v0.46.33

func (m *Coin) MarshalTo(dAtA []byte) (int, error)

func (*Coin) MarshalToSizedBuffer added in v0.46.33

func (m *Coin) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Coin) ProtoMessage added in v0.46.33

func (*Coin) ProtoMessage()

func (*Coin) Reset added in v0.46.33

func (m *Coin) Reset()

func (Coin) SafeSub added in v0.46.33

func (coin Coin) SafeSub(coinB Coin) (Coin, error)

SafeSub safely subtracts the amounts of two coins. It returns an error if the coins differ in denom or subtraction results in negative coin denom.

func (*Coin) Size added in v0.46.33

func (m *Coin) Size() (n int)

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

Sub subtracts amounts of two coins with same denom and panics on error.

func (Coin) SubAmount added in v0.46.33

func (coin Coin) SubAmount(amount Int) Coin

SubAmount subtracts an amount from the Coin.

func (*Coin) Unmarshal added in v0.46.33

func (m *Coin) Unmarshal(dAtA []byte) error

func (Coin) Validate added in v0.46.33

func (coin Coin) Validate() error

Validate returns an error if the Coin has a negative amount or if the denom is invalid.

func (*Coin) XXX_DiscardUnknown added in v0.46.33

func (m *Coin) XXX_DiscardUnknown()

func (*Coin) XXX_Marshal added in v0.46.33

func (m *Coin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Coin) XXX_Merge added in v0.46.33

func (m *Coin) XXX_Merge(src proto.Message)

func (*Coin) XXX_Size added in v0.46.33

func (m *Coin) XXX_Size() int

func (*Coin) XXX_Unmarshal added in v0.46.33

func (m *Coin) XXX_Unmarshal(b []byte) error

type Coins

type Coins []Coin

Coins is a set of Coin, one per currency

func NewCoins added in v0.46.33

func NewCoins(coins ...Coin) Coins

NewCoins constructs a new coin set. The provided coins will be sanitized by removing zero coins and sorting the coin set. A panic will occur if the coin set is not valid.

func NormalizeCoins added in v0.46.33

func NormalizeCoins(coins []DecCoin) Coins

NormalizeCoins normalize and truncate a list of decimal coins

func ParseCoinsNormalized added in v0.46.33

func ParseCoinsNormalized(coinStr string) (Coins, error)

ParseCoinsNormalized will parse out a list of coins separated by commas, and normalize them by converting to the smallest unit. If the parsing is successful, the provided coins will be sanitized by removing zero coins and sorting the coin set. Lastly a validation of the coin set is executed. If the check passes, ParseCoinsNormalized will return the sanitized coins. Otherwise, it will return an error. If an empty string is provided to ParseCoinsNormalized, it returns nil Coins. ParseCoinsNormalized supports decimal coins as inputs, and truncate them to int after converted to the smallest unit. Expected format: "{amount0}{denomination},...,{amountN}{denominationN}"

func (Coins) Add added in v0.33.0

func (coins Coins) Add(coinsB ...Coin) 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. The function panics if `coins` or `coinsB` are not sorted (ascending).

func (Coins) AmountOf

func (coins Coins) AmountOf(denom string) Int

AmountOf returns the amount of a denom from coins

func (Coins) AmountOfNoDenomValidation added in v0.46.33

func (coins Coins) AmountOfNoDenomValidation(denom string) Int

AmountOfNoDenomValidation returns the amount of a denom from coins without validating the denomination.

func (Coins) DenomsSubsetOf added in v0.46.33

func (coins Coins) DenomsSubsetOf(coinsB Coins) bool

DenomsSubsetOf returns true if receiver's denom set is subset of coinsB's denoms.

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) Find added in v0.46.33

func (coins Coins) Find(denom string) (bool, Coin)

Find returns true and coin if the denom exists in coins. Otherwise it returns false and a zero coin. Uses binary search. CONTRACT: coins must be valid (sorted).

func (Coins) GetDenomByIndex added in v0.46.33

func (coins Coins) GetDenomByIndex(i int) string

GetDenomByIndex returns the Denom of the certain coin to make the findDup generic

func (Coins) IsAllGT added in v0.26.0

func (coins Coins) IsAllGT(coinsB Coins) bool

IsAllGT returns true if for every denom in coinsB, the denom is present at a greater amount in coins.

func (Coins) IsAllGTE added in v0.26.0

func (coins Coins) IsAllGTE(coinsB Coins) bool

IsAllGTE returns false if for any denom in coinsB, the denom is present at a smaller amount in coins; else returns true.

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) IsAnyGT added in v0.46.33

func (coins Coins) IsAnyGT(coinsB Coins) bool

IsAnyGT returns true iff for any denom in coins, the denom is present at a greater amount in coinsB.

e.g. {2A, 3B}.IsAnyGT{A} = true {2A, 3B}.IsAnyGT{5C} = false {}.IsAnyGT{5C} = false {2A, 3B}.IsAnyGT{} = false

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) IsAnyNil added in v0.46.33

func (coins Coins) IsAnyNil() bool

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

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 calls Validate and returns true when the Coins are sorted, have positive amount, with a valid and unique denomination (i.e no duplicates).

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

Len implements sort.Interface for Coins

func (Coins) Less

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

Less implements sort.Interface for Coins

func (Coins) MarshalJSON added in v0.46.33

func (coins Coins) MarshalJSON() ([]byte, error)

MarshalJSON implements a custom JSON marshaller for the Coins type to allow nil Coins to be encoded as an empty array.

func (Coins) Max added in v0.46.33

func (coins Coins) Max(coinsB Coins) Coins

Max takes two valid Coins inputs and returns a valid Coins result where for every denom D, AmountOf(D) of the result is the maximum of AmountOf(D) of the inputs. Note that the result might be not be equal to either input. For any valid Coins a, b, and c, the following are always true:

a.IsAllLTE(a.Max(b))
b.IsAllLTE(a.Max(b))
a.IsAllLTE(c) && b.IsAllLTE(c) == a.Max(b).IsAllLTE(c)
a.Add(b...).IsEqual(a.Min(b).Add(a.Max(b)...))

E.g. {1A, 3B, 2C}.Max({4A, 2B, 2C} == {4A, 3B, 2C}) {2A, 3B}.Max({1B, 4C}) == {2A, 3B, 4C} {1A, 2B}.Max({}) == {1A, 2B}

func (Coins) Min added in v0.46.33

func (coins Coins) Min(coinsB Coins) Coins

Min takes two valid Coins inputs and returns a valid Coins result where for every denom D, AmountOf(D) of the result is the minimum of AmountOf(D) of the inputs. Note that the result might be not be equal to either input. For any valid Coins a, b, and c, the following are always true:

a.Min(b).IsAllLTE(a)
a.Min(b).IsAllLTE(b)
c.IsAllLTE(a) && c.IsAllLTE(b) == c.IsAllLTE(a.Min(b))
a.Add(b...).IsEqual(a.Min(b).Add(a.Max(b)...))

E.g. {1A, 3B, 2C}.Min({4A, 2B, 2C} == {1A, 2B, 2C}) {2A, 3B}.Min({1B, 4C}) == {1B} {1A, 2B}.Min({3C}) == empty

See also DecCoins.Intersect().

func (Coins) MulInt added in v0.46.33

func (coins Coins) MulInt(x Int) Coins

MulInt performs the scalar multiplication of coins with a `multiplier` All coins are multiplied by x e.g. {2A, 3B} * 2 = {4A, 6B} {2A} * 0 panics Note, if IsValid was true on Coins, IsValid stays true.

func (Coins) QuoInt added in v0.46.33

func (coins Coins) QuoInt(x Int) Coins

QuoInt performs the scalar division of coins with a `divisor` All coins are divided by x and trucated. e.g. {2A, 30B} / 2 = {1A, 15B} {2A} / 2 = {1A} {4A} / {8A} = {0A} {2A} / 0 = panics Note, if IsValid was true on Coins, IsValid stays true, unless the `divisor` is greater than the smallest coin amount.

func (Coins) SafeMulInt added in v0.46.33

func (coins Coins) SafeMulInt(x Int) (Coins, bool)

SafeMulInt performs the same arithmetic as MulInt but returns false if the `multiplier` is zero because it makes IsValid return false.

func (Coins) SafeQuoInt added in v0.46.33

func (coins Coins) SafeQuoInt(x Int) (Coins, bool)

SafeQuoInt performs the same arithmetic as QuoInt but returns an error if the division cannot be done.

func (Coins) SafeSub added in v0.33.0

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

SafeSub performs the same arithmetic as Sub but returns a boolean if any negative coin amount was returned. The function panics if `coins` or `coinsB` are not sorted (ascending).

func (Coins) Sort

func (coins Coins) Sort() Coins

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

func (Coins) String

func (coins Coins) String() string

func (Coins) Sub added in v0.33.0

func (coins Coins) Sub(coinsB ...Coin) 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)

Swap implements sort.Interface for Coins

func (Coins) Validate added in v0.46.33

func (coins Coins) Validate() error

Validate checks that the Coins are sorted, have positive amount, with a valid and unique denomination (i.e no duplicates). Otherwise, it returns an error.

type CommitMultiStore

type CommitMultiStore = types.CommitMultiStore

type CommitStore

type CommitStore = types.CommitStore

type Committer

type Committer = types.Committer

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

func GetSealedConfig(ctx context.Context) (*Config, error)

GetSealedConfig returns the config instance for the SDK if/once it is sealed.

func NewConfig added in v0.46.33

func NewConfig() *Config

New returns a new Config with default values.

func (*Config) GetAddressVerifier added in v0.46.33

func (config *Config) GetAddressVerifier() func([]byte) error

GetAddressVerifier returns the function to verify that addresses have the correct format

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) GetCoinType added in v0.46.33

func (config *Config) GetCoinType() uint32

GetCoinType returns the BIP-0044 CoinType code on the config.

func (*Config) GetFullBIP44Path added in v0.46.33

func (config *Config) GetFullBIP44Path() string

GetFullBIP44Path returns the BIP44Prefix.

func (*Config) GetFullFundraiserPath deprecated added in v0.46.33

func (config *Config) GetFullFundraiserPath() string

GetFullFundraiserPath returns the BIP44Prefix.

Deprecated: This method is supported for backward compatibility only and will be removed in a future release. Use GetFullBIP44Path instead.

func (*Config) GetPurpose added in v0.46.33

func (config *Config) GetPurpose() uint32

GetPurpose returns the BIP-0044 Purpose code on the config.

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) SetAddressVerifier added in v0.46.33

func (config *Config) SetAddressVerifier(addressVerifier func([]byte) error)

SetAddressVerifier builds the Config with the provided function for verifying that addresses have the correct format

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) SetCoinType added in v0.46.33

func (config *Config) SetCoinType(coinType uint32)

Set the BIP-0044 CoinType code on the config

func (*Config) SetFullFundraiserPath deprecated added in v0.46.33

func (config *Config) SetFullFundraiserPath(fullFundraiserPath string)

Set the FullFundraiserPath (BIP44Prefix) on the config.

Deprecated: This method is supported for backward compatibility only and will be removed in a future release. Use SetPurpose and SetCoinType instead.

func (*Config) SetPurpose added in v0.46.33

func (config *Config) SetPurpose(purpose uint32)

Set the BIP-0044 Purpose code on the config

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 cryptotypes.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) MarshalYAML added in v0.46.33

func (ca ConsAddress) MarshalYAML() (interface{}, error)

MarshalYAML marshals to YAML 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.

func (*ConsAddress) UnmarshalYAML added in v0.46.33

func (ca *ConsAddress) UnmarshalYAML(data []byte) error

UnmarshalYAML unmarshals from YAML assuming Bech32 encoding.

type Context

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

Context is an immutable object contains all information needed to process a request.

It contains a context.Context object inside if you want to use that, but please do not over-use it. We try to keep all data structured and standard additions here would be better just to add to the Context struct

func NewContext

func NewContext(ms MultiStore, header tmproto.Header, isCheckTx bool, logger log.Logger) Context

create a new context

func UnwrapSDKContext added in v0.46.33

func UnwrapSDKContext(ctx context.Context) Context

UnwrapSDKContext retrieves a Context from a context.Context instance attached with WrapSDKContext. It panics if a Context was not properly attached

func (Context) BlockGasMeter added in v0.27.0

func (c Context) BlockGasMeter() GasMeter

func (Context) BlockHeader

func (c Context) BlockHeader() tmproto.Header

clone the header before returning

func (Context) BlockHeight

func (c Context) BlockHeight() int64

func (Context) BlockTime added in v0.46.33

func (c Context) BlockTime() time.Time

func (Context) CacheContext added in v0.15.0

func (c Context) CacheContext() (cc Context, writeCache func())

CacheContext returns a new Context with the multi-store cached and a new EventManager. 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) Context added in v0.46.33

func (c Context) Context() context.Context

Read-only accessors

func (Context) Deadline added in v0.46.33

func (c Context) Deadline() (deadline time.Time, ok bool)

func (Context) Done added in v0.46.33

func (c Context) Done() <-chan struct{}

func (Context) Err added in v0.46.33

func (c Context) Err() error

func (Context) EventManager added in v0.46.33

func (c Context) EventManager() *EventManager

func (Context) GasMeter added in v0.18.0

func (c Context) GasMeter() GasMeter

func (Context) HeaderHash added in v0.46.33

func (c Context) HeaderHash() tmbytes.HexBytes

HeaderHash returns a copy of the header hash obtained during abci.RequestBeginBlock

func (Context) IsCheckTx

func (c Context) IsCheckTx() bool

func (Context) IsReCheckTx added in v0.46.33

func (c Context) IsReCheckTx() bool

func (Context) IsZero

func (c Context) IsZero() bool

TODO: remove???

func (Context) KVStore

func (c Context) KVStore(key storetypes.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) Priority added in v0.46.33

func (c Context) Priority() int64

func (Context) TransientStore added in v0.24.0

func (c Context) TransientStore(key storetypes.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{}

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

WithBlockGasMeter returns a Context with an updated block GasMeter

func (Context) WithBlockHeader

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

WithBlockHeader returns a Context with an updated tendermint block header in UTC time.

func (Context) WithBlockHeight

func (c Context) WithBlockHeight(height int64) Context

WithBlockHeight returns a Context with an updated block height.

func (Context) WithBlockTime added in v0.25.0

func (c Context) WithBlockTime(newTime time.Time) Context

WithBlockTime returns a Context with an updated tendermint block header time in UTC time

func (Context) WithChainID

func (c Context) WithChainID(chainID string) Context

WithChainID returns a Context with an updated chain identifier.

func (Context) WithConsensusParams added in v0.24.0

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

WithConsensusParams returns a Context with an updated consensus params

func (Context) WithContext added in v0.46.33

func (c Context) WithContext(ctx context.Context) Context

WithContext returns a Context with an updated context.Context.

func (Context) WithEventManager added in v0.46.33

func (c Context) WithEventManager(em *EventManager) Context

WithEventManager returns a Context with an updated event manager

func (Context) WithGasMeter added in v0.18.0

func (c Context) WithGasMeter(meter GasMeter) Context

WithGasMeter returns a Context with an updated transaction GasMeter.

func (Context) WithHeaderHash added in v0.46.33

func (c Context) WithHeaderHash(hash []byte) Context

WithHeaderHash returns a Context with an updated tendermint block header hash.

func (Context) WithIsCheckTx

func (c Context) WithIsCheckTx(isCheckTx bool) Context

WithIsCheckTx enables or disables CheckTx value for verifying transactions and returns an updated Context

func (Context) WithIsReCheckTx added in v0.46.33

func (c Context) WithIsReCheckTx(isRecheckTx bool) Context

WithIsRecheckTx called with true will also set true on checkTx in order to enforce the invariant that if recheckTx = true then checkTx = true as well.

func (Context) WithLogger added in v0.16.0

func (c Context) WithLogger(logger log.Logger) Context

WithLogger returns a Context with an updated logger.

func (Context) WithMinGasPrices added in v0.30.0

func (c Context) WithMinGasPrices(gasPrices DecCoins) Context

WithMinGasPrices returns a Context with an updated minimum gas price value

func (Context) WithMultiStore

func (c Context) WithMultiStore(ms MultiStore) Context

WithMultiStore returns a Context with an updated MultiStore.

func (Context) WithPriority added in v0.46.33

func (c Context) WithPriority(p int64) Context

WithEventManager returns a Context with an updated tx priority

func (Context) WithProposer added in v0.25.0

func (c Context) WithProposer(addr ConsAddress) Context

WithProposer returns a Context with an updated proposer consensus address.

func (Context) WithTxBytes

func (c Context) WithTxBytes(txBytes []byte) Context

WithTxBytes returns a Context with an updated txBytes.

func (Context) WithValue

func (c Context) WithValue(key, value interface{}) Context

func (Context) WithVoteInfos added in v0.25.0

func (c Context) WithVoteInfos(voteInfo []abci.VoteInfo) Context

WithVoteInfos returns a Context with an updated consensus VoteInfo.

type ContextKey added in v0.46.33

type ContextKey string

ContextKey defines a type alias for a stdlib Context key.

const SdkContextKey ContextKey = "sdk-context"

SdkContextKey is the key in the context.Context which holds the sdk.Context.

type CustomProtobufType added in v0.46.33

type CustomProtobufType interface {
	Marshal() ([]byte, error)
	MarshalTo(data []byte) (n int, err error)
	Unmarshal(data []byte) error
	Size() int

	MarshalJSON() ([]byte, error)
	UnmarshalJSON(data []byte) error
}

CustomProtobufType defines the interface custom gogo proto types must implement in order to be used as a "customtype" extension.

ref: https://github.com/gogo/protobuf/blob/master/custom_types.md

type Dec added in v0.25.0

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

var MaxSortableDec Dec

MaxSortableDec is the largest Dec that can be passed into SortableDecBytes() Its negative form is the least Dec that can be passed in.

func GetDenomUnit added in v0.46.33

func GetDenomUnit(denom string) (Dec, bool)

GetDenomUnit returns a unit for a given denomination if it exists. A boolean is returned if the denomination is registered.

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

func NewDecFromStr(str string) (Dec, 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 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 SmallestDec added in v0.46.33

func SmallestDec() Dec

func ZeroDec added in v0.25.0

func ZeroDec() Dec

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) AddMut added in v0.46.33

func (d Dec) AddMut(d2 Dec) Dec

mutable addition

func (Dec) ApproxRoot added in v0.46.33

func (d Dec) ApproxRoot(root uint64) (guess Dec, err error)

ApproxRoot returns an approximate estimation of a Dec's positive real nth root using Newton's method (where n is positive). The algorithm starts with some guess and computes the sequence of improved guesses until an answer converges to an approximate answer. It returns `|d|.ApproxRoot() * -1` if input is negative. A maximum number of 100 iterations is used a backup boundary condition for cases where the answer never converges enough to satisfy the main condition.

func (Dec) ApproxSqrt added in v0.46.33

func (d Dec) ApproxSqrt() (Dec, error)

ApproxSqrt is a wrapper around ApproxRoot for the common special case of finding the square root of a number. It returns -(sqrt(abs(d)) if input is negative.

func (Dec) BigInt added in v0.46.33

func (d Dec) BigInt() *big.Int

BigInt returns a copy of the underlying big.Int.

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) Clone added in v0.46.33

func (d Dec) Clone() Dec

func (Dec) Equal added in v0.25.0

func (d Dec) Equal(d2 Dec) bool

func (Dec) Float64 added in v0.46.33

func (d Dec) Float64() (float64, error)

Float64 returns the float64 representation of a Dec. Will return the error if the conversion failed.

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) ImmutOp added in v0.46.33

func (d Dec) ImmutOp(op func(Dec, Dec) Dec, d2 Dec) Dec

func (Dec) ImmutOpInt added in v0.46.33

func (d Dec) ImmutOpInt(op func(Dec, Int) Dec, d2 Int) Dec

func (Dec) ImmutOpInt64 added in v0.46.33

func (d Dec) ImmutOpInt64(op func(Dec, int64) Dec, d2 int64) Dec

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

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) Marshal added in v0.46.33

func (d Dec) Marshal() ([]byte, error)

Marshal implements the gogo proto custom type interface.

func (Dec) MarshalAmino added in v0.25.0

func (d Dec) MarshalAmino() ([]byte, error)

Override Amino binary serialization by proxying to protobuf.

func (Dec) MarshalJSON added in v0.25.0

func (d Dec) MarshalJSON() ([]byte, error)

MarshalJSON marshals the decimal

func (*Dec) MarshalTo added in v0.46.33

func (d *Dec) MarshalTo(data []byte) (n int, err error)

MarshalTo implements the gogo proto custom type interface.

func (Dec) MarshalYAML added in v0.46.33

func (d Dec) MarshalYAML() (interface{}, error)

MarshalYAML returns the YAML representation.

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) MulInt64Mut added in v0.46.33

func (d Dec) MulInt64Mut(i int64) Dec

func (Dec) MulIntMut added in v0.46.33

func (d Dec) MulIntMut(i Int) Dec

func (Dec) MulMut added in v0.46.33

func (d Dec) MulMut(d2 Dec) Dec

mutable multiplication

func (Dec) MulTruncate added in v0.30.0

func (d Dec) MulTruncate(d2 Dec) Dec

multiplication truncate

func (Dec) MulTruncateMut added in v0.46.33

func (d Dec) MulTruncateMut(d2 Dec) Dec

mutable multiplication truncage

func (Dec) MustFloat64 added in v0.46.33

func (d Dec) MustFloat64() float64

MustFloat64 returns the float64 representation of a Dec. Would panic if the conversion failed.

func (Dec) Neg added in v0.25.0

func (d Dec) Neg() Dec

func (Dec) NegMut added in v0.46.33

func (d Dec) NegMut() Dec

func (Dec) Power added in v0.46.33

func (d Dec) Power(power uint64) Dec

Power returns a the result of raising to a positive integer power

func (Dec) PowerMut added in v0.46.33

func (d Dec) PowerMut(power uint64) 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) QuoInt64Mut added in v0.46.33

func (d Dec) QuoInt64Mut(i int64) Dec

func (Dec) QuoIntMut added in v0.46.33

func (d Dec) QuoIntMut(i Int) Dec

func (Dec) QuoMut added in v0.46.33

func (d Dec) QuoMut(d2 Dec) Dec

mutable quotient

func (Dec) QuoRoundUp added in v0.33.0

func (d Dec) QuoRoundUp(d2 Dec) Dec

quotient, round up

func (Dec) QuoRoundupMut added in v0.46.33

func (d Dec) QuoRoundupMut(d2 Dec) Dec

mutable quotient, round up

func (Dec) QuoTruncate added in v0.30.0

func (d Dec) QuoTruncate(d2 Dec) Dec

quotient truncate

func (Dec) QuoTruncateMut added in v0.46.33

func (d Dec) QuoTruncateMut(d2 Dec) Dec

mutable 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) Set added in v0.46.33

func (d Dec) Set(d2 Dec) Dec

func (Dec) SetInt64 added in v0.46.33

func (d Dec) SetInt64(i int64) Dec

func (*Dec) Size added in v0.46.33

func (d *Dec) Size() int

Size implements the gogo proto custom type interface.

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) SubMut added in v0.46.33

func (d Dec) SubMut(d2 Dec) Dec

mutable 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) Unmarshal added in v0.46.33

func (d *Dec) Unmarshal(data []byte) error

Unmarshal implements the gogo proto custom type interface.

func (*Dec) UnmarshalAmino added in v0.25.0

func (d *Dec) UnmarshalAmino(bz []byte) error

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 `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"`
	Amount Dec    `protobuf:"bytes,2,opt,name=amount,proto3,customtype=Dec" json:"amount"`
}

DecCoin defines a token with a denomination and a decimal amount.

NOTE: The amount field is an Dec which implements the custom method signatures required by gogoproto.

func ConvertDecCoin added in v0.46.33

func ConvertDecCoin(coin DecCoin, denom string) (DecCoin, error)

ConvertDecCoin attempts to convert a decimal coin to a given denomination. If the given denomination is invalid or if neither denomination is registered, an error is returned.

func NewDecCoin added in v0.30.0

func NewDecCoin(denom string, amount Int) DecCoin

NewDecCoin creates a new DecCoin instance from an Int.

func NewDecCoinFromCoin added in v0.30.0

func NewDecCoinFromCoin(coin Coin) DecCoin

NewDecCoinFromCoin creates a new DecCoin from a Coin.

func NewDecCoinFromDec added in v0.30.0

func NewDecCoinFromDec(denom string, amount Dec) DecCoin

NewDecCoinFromDec creates a new DecCoin instance from a Dec.

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

func NormalizeDecCoin(coin DecCoin) DecCoin

NormalizeDecCoin try to convert a decimal coin to the smallest unit registered, returns original one if failed.

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

Add adds amounts of two decimal coins with same denom.

func (*DecCoin) Descriptor added in v0.46.33

func (*DecCoin) Descriptor() ([]byte, []int)

func (*DecCoin) Equal added in v0.46.33

func (this *DecCoin) Equal(that interface{}) bool

func (*DecCoin) GetDenom added in v0.46.33

func (m *DecCoin) GetDenom() string

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) IsValid added in v0.46.33

func (coin DecCoin) IsValid() bool

IsValid returns true if the DecCoin has a non-negative amount and the denom is valid.

func (DecCoin) IsZero added in v0.32.0

func (coin DecCoin) IsZero() bool

IsZero returns if the DecCoin amount is zero.

func (*DecCoin) Marshal added in v0.46.33

func (m *DecCoin) Marshal() (dAtA []byte, err error)

func (*DecCoin) MarshalTo added in v0.46.33

func (m *DecCoin) MarshalTo(dAtA []byte) (int, error)

func (*DecCoin) MarshalToSizedBuffer added in v0.46.33

func (m *DecCoin) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*DecCoin) ProtoMessage added in v0.46.33

func (*DecCoin) ProtoMessage()

func (*DecCoin) Reset added in v0.46.33

func (m *DecCoin) Reset()

func (*DecCoin) Size added in v0.46.33

func (m *DecCoin) Size() (n int)

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

Sub subtracts amounts of two decimal coins with same denom.

func (DecCoin) TruncateDecimal added in v0.30.0

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

TruncateDecimal returns a Coin with a truncated decimal and a DecCoin for the change. Note, the change may be zero.

func (*DecCoin) Unmarshal added in v0.46.33

func (m *DecCoin) Unmarshal(dAtA []byte) error

func (DecCoin) Validate added in v0.46.33

func (coin DecCoin) Validate() error

Validate returns an error if the DecCoin has a negative amount or if the denom is invalid.

func (*DecCoin) XXX_DiscardUnknown added in v0.46.33

func (m *DecCoin) XXX_DiscardUnknown()

func (*DecCoin) XXX_Marshal added in v0.46.33

func (m *DecCoin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DecCoin) XXX_Merge added in v0.46.33

func (m *DecCoin) XXX_Merge(src proto.Message)

func (*DecCoin) XXX_Size added in v0.46.33

func (m *DecCoin) XXX_Size() int

func (*DecCoin) XXX_Unmarshal added in v0.46.33

func (m *DecCoin) XXX_Unmarshal(b []byte) error

type DecCoins added in v0.30.0

type DecCoins []DecCoin

DecCoins defines a slice of coins with decimal values

func NewDecCoins added in v0.30.0

func NewDecCoins(decCoins ...DecCoin) DecCoins

NewDecCoins constructs a new coin set with with decimal values from DecCoins. The provided coins will be sanitized by removing zero coins and sorting the coin set. A panic will occur if the coin set is not valid.

func NewDecCoinsFromCoins added in v0.46.33

func NewDecCoinsFromCoins(coins ...Coin) DecCoins

NewDecCoinsFromCoins constructs a new coin set with decimal values from regular Coins.

func ParseDecCoins added in v0.30.0

func ParseDecCoins(coinsStr string) (DecCoins, error)

ParseDecCoins will parse out a list of decimal coins separated by commas. If the parsing is successuful, the provided coins will be sanitized by removing zero coins and sorting the coin set. Lastly a validation of the coin set is executed. If the check passes, ParseDecCoins will return the sanitized coins. Otherwise it will return an error. If an empty string is provided to ParseDecCoins, it returns nil Coins. Expected format: "{amount0}{denomination},...,{amountN}{denominationN}"

func (DecCoins) Add added in v0.33.0

func (coins DecCoins) Add(coinsB ...DecCoin) 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

AmountOf 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) GetDenomByIndex added in v0.46.33

func (coins DecCoins) GetDenomByIndex(i int) string

GetDenomByIndex returns the Denom to make the findDup generic

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). See also Coins.Min().

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 calls Validate and returns true when the DecCoins are sorted, have positive amount, with a valid and unique denomination (i.e no duplicates).

func (DecCoins) IsZero added in v0.30.0

func (coins DecCoins) IsZero() bool

IsZero returns whether all coins are zero

func (DecCoins) Len added in v0.30.0

func (coins DecCoins) Len() int

Len implements sort.Interface for DecCoins

func (DecCoins) Less added in v0.30.0

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

Less implements sort.Interface for DecCoins

func (DecCoins) MulDec added in v0.30.0

func (coins DecCoins) MulDec(d Dec) DecCoins

MulDec multiplies all the coins by a decimal.

CONTRACT: No zero coins will be returned.

func (DecCoins) MulDecTruncate added in v0.30.0

func (coins DecCoins) MulDecTruncate(d Dec) DecCoins

MulDecTruncate multiplies all the decimal coins by a decimal, truncating. It returns nil DecCoins if d is zero.

CONTRACT: No zero coins will be returned.

func (DecCoins) QuoDec added in v0.30.0

func (coins DecCoins) QuoDec(d Dec) DecCoins

QuoDec divides all the decimal coins by a decimal. It panics if d is zero.

CONTRACT: No zero coins will be returned.

func (DecCoins) QuoDecTruncate added in v0.30.0

func (coins DecCoins) QuoDecTruncate(d Dec) DecCoins

QuoDecTruncate divides all the decimal coins by a decimal, truncating. It panics if d is zero.

CONTRACT: No zero coins will be returned.

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)

Swap implements sort.Interface for DecCoins

func (DecCoins) TruncateDecimal added in v0.30.0

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

TruncateDecimal returns the coins with truncated decimals and returns the change. Note, it will not return any zero-amount coins in either the truncated or change coins.

func (DecCoins) Validate added in v0.46.33

func (coins DecCoins) Validate() error

Validate checks that the DecCoins are sorted, have positive amount, with a valid and unique denomination (i.e no duplicates). Otherwise, it returns an error.

type DecProto added in v0.46.33

type DecProto struct {
	Dec Dec `protobuf:"bytes,1,opt,name=dec,proto3,customtype=Dec" json:"dec"`
}

DecProto defines a Protobuf wrapper around a Dec object.

func (*DecProto) Descriptor added in v0.46.33

func (*DecProto) Descriptor() ([]byte, []int)

func (*DecProto) Marshal added in v0.46.33

func (m *DecProto) Marshal() (dAtA []byte, err error)

func (*DecProto) MarshalTo added in v0.46.33

func (m *DecProto) MarshalTo(dAtA []byte) (int, error)

func (*DecProto) MarshalToSizedBuffer added in v0.46.33

func (m *DecProto) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*DecProto) ProtoMessage added in v0.46.33

func (*DecProto) ProtoMessage()

func (*DecProto) Reset added in v0.46.33

func (m *DecProto) Reset()

func (*DecProto) Size added in v0.46.33

func (m *DecProto) Size() (n int)

func (DecProto) String added in v0.46.33

func (dp DecProto) String() string

func (*DecProto) Unmarshal added in v0.46.33

func (m *DecProto) Unmarshal(dAtA []byte) error

func (*DecProto) XXX_DiscardUnknown added in v0.46.33

func (m *DecProto) XXX_DiscardUnknown()

func (*DecProto) XXX_Marshal added in v0.46.33

func (m *DecProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DecProto) XXX_Merge added in v0.46.33

func (m *DecProto) XXX_Merge(src proto.Message)

func (*DecProto) XXX_Size added in v0.46.33

func (m *DecProto) XXX_Size() int

func (*DecProto) XXX_Unmarshal added in v0.46.33

func (m *DecProto) XXX_Unmarshal(b []byte) error

type EndBlocker

type EndBlocker func(ctx Context, req abci.RequestEndBlock) abci.ResponseEndBlock

EndBlocker runs code after the transactions in a block and return updates to the validator set

Note: applications which set create_empty_blocks=false will not have regular block timing and should use e.g. BFT timestamps rather than block height for any periodic EndBlock logic

type ErrorGasOverflow added in v0.27.0

type ErrorGasOverflow = types.ErrorGasOverflow

type ErrorOutOfGas added in v0.18.0

type ErrorOutOfGas = types.ErrorOutOfGas

type Event added in v0.46.33

type Event abci.Event

Event is a type alias for an ABCI Event

func NewEvent added in v0.46.33

func NewEvent(ty string, attrs ...Attribute) Event

NewEvent creates a new Event object with a given type and slice of one or more attributes.

func TypedEventToEvent added in v0.46.33

func TypedEventToEvent(tev proto.Message) (Event, error)

TypedEventToEvent takes typed event and converts to Event object

func (Event) AppendAttributes added in v0.46.33

func (e Event) AppendAttributes(attrs ...Attribute) Event

AppendAttributes adds one or more attributes to an Event.

type EventManager added in v0.46.33

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

func NewEventManager() *EventManager

func (EventManager) ABCIEvents added in v0.46.33

func (em EventManager) ABCIEvents() []abci.Event

ABCIEvents returns all stored Event objects as abci.Event objects.

func (*EventManager) EmitEvent added in v0.46.33

func (em *EventManager) EmitEvent(event Event)

EmitEvent stores a single Event object. Deprecated: Use EmitTypedEvent

func (*EventManager) EmitEvents added in v0.46.33

func (em *EventManager) EmitEvents(events Events)

EmitEvents stores a series of Event objects. Deprecated: Use EmitTypedEvents

func (*EventManager) EmitTypedEvent added in v0.46.33

func (em *EventManager) EmitTypedEvent(tev proto.Message) error

EmitTypedEvent takes typed event and emits converting it into Event

func (*EventManager) EmitTypedEvents added in v0.46.33

func (em *EventManager) EmitTypedEvents(tevs ...proto.Message) error

EmitTypedEvents takes series of typed events and emit

func (*EventManager) Events added in v0.46.33

func (em *EventManager) Events() Events

type Events added in v0.46.33

type Events []Event

Events defines a slice of Event objects

func EmptyEvents added in v0.46.33

func EmptyEvents() Events

EmptyEvents returns an empty slice of events.

func (Events) AppendEvent added in v0.46.33

func (e Events) AppendEvent(event Event) Events

AppendEvent adds an Event to a slice of events.

func (Events) AppendEvents added in v0.46.33

func (e Events) AppendEvents(events Events) Events

AppendEvents adds a slice of Event objects to an exist slice of Event objects.

func (Events) ToABCIEvents added in v0.46.33

func (e Events) ToABCIEvents() []abci.Event

ToABCIEvents converts a slice of Event objects to a slice of abci.Event objects.

type Fee added in v0.46.33

type Fee interface {
	GetGas() uint64
	GetAmount() Coins
}

Fee defines an interface for an application application-defined concrete transaction type to be able to set and return the transaction fee.

type FeeTx added in v0.46.33

type FeeTx interface {
	Tx
	GetGas() uint64
	GetFee() Coins
	FeePayer() AccAddress
	FeeGranter() AccAddress
}

FeeTx defines the interface to be implemented by Tx to use the FeeDecorators

type Gas added in v0.18.0

type Gas = types.Gas

type GasConfig added in v0.24.0

type GasConfig = types.GasConfig

type GasInfo added in v0.46.33

type GasInfo struct {
	// GasWanted is the maximum units of work we allow this tx to perform.
	GasWanted uint64 `protobuf:"varint,1,opt,name=gas_wanted,json=gasWanted,proto3" json:"gas_wanted,omitempty"`
	// GasUsed is the amount of gas actually consumed.
	GasUsed uint64 `protobuf:"varint,2,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"`
}

GasInfo defines tx execution gas context.

func (*GasInfo) Descriptor added in v0.46.33

func (*GasInfo) Descriptor() ([]byte, []int)

func (*GasInfo) GetGasUsed added in v0.46.33

func (m *GasInfo) GetGasUsed() uint64

func (*GasInfo) GetGasWanted added in v0.46.33

func (m *GasInfo) GetGasWanted() uint64

func (*GasInfo) Marshal added in v0.46.33

func (m *GasInfo) Marshal() (dAtA []byte, err error)

func (*GasInfo) MarshalTo added in v0.46.33

func (m *GasInfo) MarshalTo(dAtA []byte) (int, error)

func (*GasInfo) MarshalToSizedBuffer added in v0.46.33

func (m *GasInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GasInfo) ProtoMessage added in v0.46.33

func (*GasInfo) ProtoMessage()

func (*GasInfo) Reset added in v0.46.33

func (m *GasInfo) Reset()

func (*GasInfo) Size added in v0.46.33

func (m *GasInfo) Size() (n int)

func (GasInfo) String added in v0.46.33

func (gi GasInfo) String() string

func (*GasInfo) Unmarshal added in v0.46.33

func (m *GasInfo) Unmarshal(dAtA []byte) error

func (*GasInfo) XXX_DiscardUnknown added in v0.46.33

func (m *GasInfo) XXX_DiscardUnknown()

func (*GasInfo) XXX_Marshal added in v0.46.33

func (m *GasInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GasInfo) XXX_Merge added in v0.46.33

func (m *GasInfo) XXX_Merge(src proto.Message)

func (*GasInfo) XXX_Size added in v0.46.33

func (m *GasInfo) XXX_Size() int

func (*GasInfo) XXX_Unmarshal added in v0.46.33

func (m *GasInfo) XXX_Unmarshal(b []byte) error

type GasMeter added in v0.18.0

type GasMeter = types.GasMeter

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, error)

Handler defines the core of the state transition function of an application.

type InitChainer

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

InitChainer initializes application state at genesis

type Int deprecated added in v0.20.0

type Int = sdkmath.Int

Type aliases to the SDK's math sub-module

Deprecated: Functionality of this package has been moved to it's own module: cosmossdk.io/math

Please use the above module instead of this package.

func TokensFromConsensusPower added in v0.46.33

func TokensFromConsensusPower(power int64, powerReduction Int) Int

TokensFromConsensusPower - convert input power to tokens

type IntProto added in v0.46.33

type IntProto struct {
	Int Int `protobuf:"bytes,1,opt,name=int,proto3,customtype=Int" json:"int"`
}

IntProto defines a Protobuf wrapper around an Int object.

func (*IntProto) Descriptor added in v0.46.33

func (*IntProto) Descriptor() ([]byte, []int)

func (*IntProto) Marshal added in v0.46.33

func (m *IntProto) Marshal() (dAtA []byte, err error)

func (*IntProto) MarshalTo added in v0.46.33

func (m *IntProto) MarshalTo(dAtA []byte) (int, error)

func (*IntProto) MarshalToSizedBuffer added in v0.46.33

func (m *IntProto) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*IntProto) ProtoMessage added in v0.46.33

func (*IntProto) ProtoMessage()

func (*IntProto) Reset added in v0.46.33

func (m *IntProto) Reset()

func (*IntProto) Size added in v0.46.33

func (m *IntProto) Size() (n int)

func (IntProto) String added in v0.46.33

func (ip IntProto) String() string

func (*IntProto) Unmarshal added in v0.46.33

func (m *IntProto) Unmarshal(dAtA []byte) error

func (*IntProto) XXX_DiscardUnknown added in v0.46.33

func (m *IntProto) XXX_DiscardUnknown()

func (*IntProto) XXX_Marshal added in v0.46.33

func (m *IntProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IntProto) XXX_Merge added in v0.46.33

func (m *IntProto) XXX_Merge(src proto.Message)

func (*IntProto) XXX_Size added in v0.46.33

func (m *IntProto) XXX_Size() int

func (*IntProto) XXX_Unmarshal added in v0.46.33

func (m *IntProto) XXX_Unmarshal(b []byte) error

type Invariant added in v0.32.0

type Invariant func(ctx Context) (string, bool)

An Invariant is a function which tests a particular invariant. The invariant returns a descriptive message about what happened and a boolean indicating whether the invariant has been broken. The simulator will then halt and print the logs.

type InvariantRegistry added in v0.46.33

type InvariantRegistry interface {
	RegisterRoute(moduleName, route string, invar Invariant)
}

expected interface for registering invariants

type Invariants added in v0.32.0

type Invariants []Invariant

Invariants defines a group of invariants

type Iterator

type Iterator = types.Iterator

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

func KVStorePrefixIteratorPaginated(kvs KVStore, prefix []byte, page, limit uint) Iterator

KVStorePrefixIteratorPaginated returns iterator over items in the selected page. Items iterated and skipped 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.

func KVStoreReversePrefixIteratorPaginated added in v0.46.33

func KVStoreReversePrefixIteratorPaginated(kvs KVStore, prefix []byte, page, limit uint) Iterator

KVStoreReversePrefixIteratorPaginated returns iterator over items in the selected page. Items iterated and skipped 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

type Msg

type Msg interface {
	proto.Message

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

Msg defines the interface a transaction message must fulfill.

func GetMsgFromTypeURL added in v0.46.33

func GetMsgFromTypeURL(cdc codec.Codec, input string) (Msg, error)

GetMsgFromTypeURL returns a `sdk.Msg` message type from a type URL

type MsgData deprecated added in v0.46.33

type MsgData struct {
	MsgType string `protobuf:"bytes,1,opt,name=msg_type,json=msgType,proto3" json:"msg_type,omitempty"`
	Data    []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
}

MsgData defines the data returned in a Result object during message execution.

Deprecated: Do not use.

func (*MsgData) Descriptor added in v0.46.33

func (*MsgData) Descriptor() ([]byte, []int)

func (*MsgData) GetData added in v0.46.33

func (m *MsgData) GetData() []byte

func (*MsgData) GetMsgType added in v0.46.33

func (m *MsgData) GetMsgType() string

func (*MsgData) Marshal added in v0.46.33

func (m *MsgData) Marshal() (dAtA []byte, err error)

func (*MsgData) MarshalTo added in v0.46.33

func (m *MsgData) MarshalTo(dAtA []byte) (int, error)

func (*MsgData) MarshalToSizedBuffer added in v0.46.33

func (m *MsgData) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MsgData) ProtoMessage added in v0.46.33

func (*MsgData) ProtoMessage()

func (*MsgData) Reset added in v0.46.33

func (m *MsgData) Reset()

func (*MsgData) Size added in v0.46.33

func (m *MsgData) Size() (n int)

func (*MsgData) String added in v0.46.33

func (this *MsgData) String() string

func (*MsgData) Unmarshal added in v0.46.33

func (m *MsgData) Unmarshal(dAtA []byte) error

func (*MsgData) XXX_DiscardUnknown added in v0.46.33

func (m *MsgData) XXX_DiscardUnknown()

func (*MsgData) XXX_Marshal added in v0.46.33

func (m *MsgData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MsgData) XXX_Merge added in v0.46.33

func (m *MsgData) XXX_Merge(src proto.Message)

func (*MsgData) XXX_Size added in v0.46.33

func (m *MsgData) XXX_Size() int

func (*MsgData) XXX_Unmarshal added in v0.46.33

func (m *MsgData) XXX_Unmarshal(b []byte) error

type MultiStore

type MultiStore = types.MultiStore

type MultiStorePersistentCache added in v0.46.33

type MultiStorePersistentCache = types.MultiStorePersistentCache

type PeerFilter added in v0.18.0

type PeerFilter func(info string) abci.ResponseQuery

PeerFilter responds to p2p filtering queries from Tendermint

type Querier added in v0.25.0

type Querier = func(ctx Context, path []string, req abci.RequestQuery) ([]byte, error)

Querier defines a function type that a module querier must implement to handle custom client queries.

type QueryRouter added in v0.46.33

type QueryRouter interface {
	AddRoute(r string, h Querier) QueryRouter
	Route(path string) Querier
}

QueryRouter provides queryables for each query path.

type Queryable

type Queryable = types.Queryable

type Request added in v0.46.33

type Request = Context

Proposed rename, not done to avoid API breakage

type Result

type Result struct {
	// Data is any data returned from message or handler execution. It MUST be
	// length prefixed in order to separate data from multiple message executions.
	// Deprecated. This field is still populated, but prefer msg_response instead
	// because it also contains the Msg response typeURL.
	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // Deprecated: Do not use.
	// Log contains the log information from message or handler execution.
	Log string `protobuf:"bytes,2,opt,name=log,proto3" json:"log,omitempty"`
	// Events contains a slice of Event objects that were emitted during message
	// or handler execution.
	Events []types1.Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events"`
	// msg_responses contains the Msg handler responses type packed in Anys.
	//
	// Since: cosmos-sdk 0.46
	MsgResponses []*types.Any `protobuf:"bytes,4,rep,name=msg_responses,json=msgResponses,proto3" json:"msg_responses,omitempty"`
}

Result is the union of ResponseFormat and ResponseCheckTx.

func WrapServiceResult added in v0.46.33

func WrapServiceResult(ctx Context, res proto.Message, err error) (*Result, error)

WrapServiceResult wraps a result from a protobuf RPC service method call (res proto.Message, err error) in a Result object or error. This method takes care of marshaling the res param to protobuf and attaching any events on the ctx.EventManager() to the Result.

func (*Result) Descriptor added in v0.46.33

func (*Result) Descriptor() ([]byte, []int)

func (Result) GetEvents added in v0.46.33

func (r Result) GetEvents() Events

func (*Result) Marshal added in v0.46.33

func (m *Result) Marshal() (dAtA []byte, err error)

func (*Result) MarshalTo added in v0.46.33

func (m *Result) MarshalTo(dAtA []byte) (int, error)

func (*Result) MarshalToSizedBuffer added in v0.46.33

func (m *Result) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Result) ProtoMessage added in v0.46.33

func (*Result) ProtoMessage()

func (*Result) Reset added in v0.46.33

func (m *Result) Reset()

func (*Result) Size added in v0.46.33

func (m *Result) Size() (n int)

func (Result) String added in v0.46.33

func (r Result) String() string

func (*Result) Unmarshal added in v0.46.33

func (m *Result) Unmarshal(dAtA []byte) error

func (*Result) XXX_DiscardUnknown added in v0.46.33

func (m *Result) XXX_DiscardUnknown()

func (*Result) XXX_Marshal added in v0.46.33

func (m *Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Result) XXX_Merge added in v0.46.33

func (m *Result) XXX_Merge(src proto.Message)

func (*Result) XXX_Size added in v0.46.33

func (m *Result) XXX_Size() int

func (*Result) XXX_Unmarshal added in v0.46.33

func (m *Result) XXX_Unmarshal(b []byte) error

type Route added in v0.46.33

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

func NewRoute added in v0.46.33

func NewRoute(p string, h Handler) Route

NewRoute returns an instance of Route.

func (Route) Empty added in v0.46.33

func (r Route) Empty() bool

Empty returns true only if both handler and path are not empty.

func (Route) Handler added in v0.46.33

func (r Route) Handler() Handler

Handler returns the handler that handles the route.

func (Route) Path added in v0.46.33

func (r Route) Path() string

Path returns the path the route has assigned.

type Router added in v0.46.33

type Router interface {
	AddRoute(r Route) Router
	Route(ctx Context, path string) Handler
}

Router provides handlers for each transaction type.

type SearchTxsResult added in v0.46.33

type SearchTxsResult struct {
	// Count of all txs
	TotalCount uint64 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	// Count of txs in current page
	Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
	// Index of current page, start from 1
	PageNumber uint64 `protobuf:"varint,3,opt,name=page_number,json=pageNumber,proto3" json:"page_number,omitempty"`
	// Count of total pages
	PageTotal uint64 `protobuf:"varint,4,opt,name=page_total,json=pageTotal,proto3" json:"page_total,omitempty"`
	// Max count txs per page
	Limit uint64 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"`
	// List of txs in current page
	Txs []*TxResponse `protobuf:"bytes,6,rep,name=txs,proto3" json:"txs,omitempty"`
}

SearchTxsResult defines a structure for querying txs pageable

func NewSearchTxsResult added in v0.46.33

func NewSearchTxsResult(totalCount, count, page, limit uint64, txs []*TxResponse) *SearchTxsResult

func (*SearchTxsResult) Descriptor added in v0.46.33

func (*SearchTxsResult) Descriptor() ([]byte, []int)

func (*SearchTxsResult) GetCount added in v0.46.33

func (m *SearchTxsResult) GetCount() uint64

func (*SearchTxsResult) GetLimit added in v0.46.33

func (m *SearchTxsResult) GetLimit() uint64

func (*SearchTxsResult) GetPageNumber added in v0.46.33

func (m *SearchTxsResult) GetPageNumber() uint64

func (*SearchTxsResult) GetPageTotal added in v0.46.33

func (m *SearchTxsResult) GetPageTotal() uint64

func (*SearchTxsResult) GetTotalCount added in v0.46.33

func (m *SearchTxsResult) GetTotalCount() uint64

func (*SearchTxsResult) GetTxs added in v0.46.33

func (m *SearchTxsResult) GetTxs() []*TxResponse

func (*SearchTxsResult) Marshal added in v0.46.33

func (m *SearchTxsResult) Marshal() (dAtA []byte, err error)

func (*SearchTxsResult) MarshalTo added in v0.46.33

func (m *SearchTxsResult) MarshalTo(dAtA []byte) (int, error)

func (*SearchTxsResult) MarshalToSizedBuffer added in v0.46.33

func (m *SearchTxsResult) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*SearchTxsResult) ProtoMessage added in v0.46.33

func (*SearchTxsResult) ProtoMessage()

func (*SearchTxsResult) Reset added in v0.46.33

func (m *SearchTxsResult) Reset()

func (*SearchTxsResult) Size added in v0.46.33

func (m *SearchTxsResult) Size() (n int)

func (*SearchTxsResult) String added in v0.46.33

func (this *SearchTxsResult) String() string

func (*SearchTxsResult) Unmarshal added in v0.46.33

func (m *SearchTxsResult) Unmarshal(dAtA []byte) error

func (SearchTxsResult) UnpackInterfaces added in v0.46.33

func (s SearchTxsResult) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error

UnpackInterfaces implements UnpackInterfacesMessage.UnpackInterfaces

types.UnpackInterfaces needs to be called for each nested Tx because there are generally interfaces to unpack in Tx's

func (*SearchTxsResult) XXX_DiscardUnknown added in v0.46.33

func (m *SearchTxsResult) XXX_DiscardUnknown()

func (*SearchTxsResult) XXX_Marshal added in v0.46.33

func (m *SearchTxsResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SearchTxsResult) XXX_Merge added in v0.46.33

func (m *SearchTxsResult) XXX_Merge(src proto.Message)

func (*SearchTxsResult) XXX_Size added in v0.46.33

func (m *SearchTxsResult) XXX_Size() int

func (*SearchTxsResult) XXX_Unmarshal added in v0.46.33

func (m *SearchTxsResult) XXX_Unmarshal(b []byte) error

type Signature added in v0.46.33

type Signature interface {
	GetPubKey() cryptotypes.PubKey
	GetSignature() []byte
}

Signature defines an interface for an application application-defined concrete transaction type to be able to set and return transaction signatures.

type SimulationResponse added in v0.46.33

type SimulationResponse struct {
	GasInfo `protobuf:"bytes,1,opt,name=gas_info,json=gasInfo,proto3,embedded=gas_info" json:"gas_info"`
	Result  *Result `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
}

SimulationResponse defines the response generated when a transaction is successfully simulated.

func (*SimulationResponse) Descriptor added in v0.46.33

func (*SimulationResponse) Descriptor() ([]byte, []int)

func (*SimulationResponse) GetResult added in v0.46.33

func (m *SimulationResponse) GetResult() *Result

func (*SimulationResponse) Marshal added in v0.46.33

func (m *SimulationResponse) Marshal() (dAtA []byte, err error)

func (*SimulationResponse) MarshalTo added in v0.46.33

func (m *SimulationResponse) MarshalTo(dAtA []byte) (int, error)

func (*SimulationResponse) MarshalToSizedBuffer added in v0.46.33

func (m *SimulationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*SimulationResponse) ProtoMessage added in v0.46.33

func (*SimulationResponse) ProtoMessage()

func (*SimulationResponse) Reset added in v0.46.33

func (m *SimulationResponse) Reset()

func (*SimulationResponse) Size added in v0.46.33

func (m *SimulationResponse) Size() (n int)

func (*SimulationResponse) Unmarshal added in v0.46.33

func (m *SimulationResponse) Unmarshal(dAtA []byte) error

func (*SimulationResponse) XXX_DiscardUnknown added in v0.46.33

func (m *SimulationResponse) XXX_DiscardUnknown()

func (*SimulationResponse) XXX_Marshal added in v0.46.33

func (m *SimulationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SimulationResponse) XXX_Merge added in v0.46.33

func (m *SimulationResponse) XXX_Merge(src proto.Message)

func (*SimulationResponse) XXX_Size added in v0.46.33

func (m *SimulationResponse) XXX_Size() int

func (*SimulationResponse) XXX_Unmarshal added in v0.46.33

func (m *SimulationResponse) XXX_Unmarshal(b []byte) error

type Store

type Store = types.Store

type StoreDecoderRegistry added in v0.46.33

type StoreDecoderRegistry map[string]func(kvA, kvB kv.Pair) string

StoreDecoderRegistry defines each of the modules store decoders. Used for ImportExport simulation.

type StringEvent added in v0.46.33

type StringEvent struct {
	Type       string      `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Attributes []Attribute `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes"`
}

StringEvent defines en Event object wrapper where all the attributes contain key/value pairs that are strings instead of raw bytes.

func StringifyEvent added in v0.46.33

func StringifyEvent(e abci.Event) StringEvent

StringifyEvent converts an Event object to a StringEvent object.

func (*StringEvent) Descriptor added in v0.46.33

func (*StringEvent) Descriptor() ([]byte, []int)

func (*StringEvent) GetAttributes added in v0.46.33

func (m *StringEvent) GetAttributes() []Attribute

func (*StringEvent) GetType added in v0.46.33

func (m *StringEvent) GetType() string

func (*StringEvent) Marshal added in v0.46.33

func (m *StringEvent) Marshal() (dAtA []byte, err error)

func (*StringEvent) MarshalTo added in v0.46.33

func (m *StringEvent) MarshalTo(dAtA []byte) (int, error)

func (*StringEvent) MarshalToSizedBuffer added in v0.46.33

func (m *StringEvent) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*StringEvent) ProtoMessage added in v0.46.33

func (*StringEvent) ProtoMessage()

func (*StringEvent) Reset added in v0.46.33

func (m *StringEvent) Reset()

func (*StringEvent) Size added in v0.46.33

func (m *StringEvent) Size() (n int)

func (*StringEvent) String added in v0.46.33

func (this *StringEvent) String() string

func (*StringEvent) Unmarshal added in v0.46.33

func (m *StringEvent) Unmarshal(dAtA []byte) error

func (*StringEvent) XXX_DiscardUnknown added in v0.46.33

func (m *StringEvent) XXX_DiscardUnknown()

func (*StringEvent) XXX_Marshal added in v0.46.33

func (m *StringEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StringEvent) XXX_Merge added in v0.46.33

func (m *StringEvent) XXX_Merge(src proto.Message)

func (*StringEvent) XXX_Size added in v0.46.33

func (m *StringEvent) XXX_Size() int

func (*StringEvent) XXX_Unmarshal added in v0.46.33

func (m *StringEvent) XXX_Unmarshal(b []byte) error

type StringEvents added in v0.46.33

type StringEvents []StringEvent

StringAttributes defines a slice of StringEvents objects.

func StringifyEvents added in v0.46.33

func StringifyEvents(events []abci.Event) StringEvents

StringifyEvents converts a slice of Event objects into a slice of StringEvent objects.

func (StringEvents) Flatten added in v0.46.33

func (se StringEvents) Flatten() StringEvents

Flatten returns a flattened version of StringEvents by grouping all attributes per unique event type.

func (StringEvents) String added in v0.46.33

func (se StringEvents) String() string

type Terminator added in v0.46.33

type Terminator struct{}

Terminator AnteDecorator will get added to the chain to simplify decorator code Don't need to check if next == nil further up the chain

                      ______
                   <((((((\\\
                   /      . }\
                   ;--..--._|}
(\                 '--/\--'  )
 \\                | '-'  :'|
  \\               . -==- .-|
   \\               \.__.'   \--._
   [\\          __.--|       //  _/'--.
   \ \\       .'-._ ('-----'/ __/      \
    \ \\     /   __>|      | '--.       |
     \ \\   |   \   |     /    /       /
      \ '\ /     \  |     |  _/       /
       \  \       \ |     | /        /
 snd    \  \      \        /

func (Terminator) AnteHandle added in v0.46.33

func (t Terminator) AnteHandle(ctx Context, _ Tx, _ bool, _ AnteHandler) (Context, error)

Simply return provided Context and nil 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 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
}

Tx defines the interface a transaction must fulfill.

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

type TxMsgData struct {
	// data field is deprecated and not populated.
	Data []*MsgData `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` // Deprecated: Do not use.
	// msg_responses contains the Msg handler responses packed into Anys.
	//
	// Since: cosmos-sdk 0.46
	MsgResponses []*types.Any `protobuf:"bytes,2,rep,name=msg_responses,json=msgResponses,proto3" json:"msg_responses,omitempty"`
}

TxMsgData defines a list of MsgData. A transaction will have a MsgData object for each message.

func (*TxMsgData) Descriptor added in v0.46.33

func (*TxMsgData) Descriptor() ([]byte, []int)

func (*TxMsgData) GetData deprecated added in v0.46.33

func (m *TxMsgData) GetData() []*MsgData

Deprecated: Do not use.

func (*TxMsgData) GetMsgResponses added in v0.46.33

func (m *TxMsgData) GetMsgResponses() []*types.Any

func (*TxMsgData) Marshal added in v0.46.33

func (m *TxMsgData) Marshal() (dAtA []byte, err error)

func (*TxMsgData) MarshalTo added in v0.46.33

func (m *TxMsgData) MarshalTo(dAtA []byte) (int, error)

func (*TxMsgData) MarshalToSizedBuffer added in v0.46.33

func (m *TxMsgData) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*TxMsgData) ProtoMessage added in v0.46.33

func (*TxMsgData) ProtoMessage()

func (*TxMsgData) Reset added in v0.46.33

func (m *TxMsgData) Reset()

func (*TxMsgData) Size added in v0.46.33

func (m *TxMsgData) Size() (n int)

func (*TxMsgData) String added in v0.46.33

func (this *TxMsgData) String() string

func (*TxMsgData) Unmarshal added in v0.46.33

func (m *TxMsgData) Unmarshal(dAtA []byte) error

func (*TxMsgData) XXX_DiscardUnknown added in v0.46.33

func (m *TxMsgData) XXX_DiscardUnknown()

func (*TxMsgData) XXX_Marshal added in v0.46.33

func (m *TxMsgData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TxMsgData) XXX_Merge added in v0.46.33

func (m *TxMsgData) XXX_Merge(src proto.Message)

func (*TxMsgData) XXX_Size added in v0.46.33

func (m *TxMsgData) XXX_Size() int

func (*TxMsgData) XXX_Unmarshal added in v0.46.33

func (m *TxMsgData) XXX_Unmarshal(b []byte) error

type TxResponse added in v0.31.0

type TxResponse struct {
	// The block height
	Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	// The transaction hash.
	TxHash string `protobuf:"bytes,2,opt,name=txhash,proto3" json:"txhash,omitempty"`
	// Namespace for the Code
	Codespace string `protobuf:"bytes,3,opt,name=codespace,proto3" json:"codespace,omitempty"`
	// Response code.
	Code uint32 `protobuf:"varint,4,opt,name=code,proto3" json:"code,omitempty"`
	// Result bytes, if any.
	Data string `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"`
	// The output of the application's logger (raw string). May be
	// non-deterministic.
	RawLog string `protobuf:"bytes,6,opt,name=raw_log,json=rawLog,proto3" json:"raw_log,omitempty"`
	// The output of the application's logger (typed). May be non-deterministic.
	Logs ABCIMessageLogs `protobuf:"bytes,7,rep,name=logs,proto3,castrepeated=ABCIMessageLogs" json:"logs"`
	// Additional information. May be non-deterministic.
	Info string `protobuf:"bytes,8,opt,name=info,proto3" json:"info,omitempty"`
	// Amount of gas requested for transaction.
	GasWanted int64 `protobuf:"varint,9,opt,name=gas_wanted,json=gasWanted,proto3" json:"gas_wanted,omitempty"`
	// Amount of gas consumed by transaction.
	GasUsed int64 `protobuf:"varint,10,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"`
	// The request transaction bytes.
	Tx *types.Any `protobuf:"bytes,11,opt,name=tx,proto3" json:"tx,omitempty"`
	// Time of the previous block. For heights > 1, it's the weighted median of
	// the timestamps of the valid votes in the block.LastCommit. For height == 1,
	// it's genesis time.
	Timestamp string `protobuf:"bytes,12,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Events defines all the events emitted by processing a transaction. Note,
	// these events include those emitted by processing all the messages and those
	// emitted from the ante. Whereas Logs contains the events, with
	// additional metadata, emitted only by processing the messages.
	//
	// Since: cosmos-sdk 0.42.11, 0.44.5, 0.45
	Events []types1.Event `protobuf:"bytes,13,rep,name=events,proto3" json:"events"`
}

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 *coretypes.ResultBroadcastTx) *TxResponse

NewResponseFormatBroadcastTx returns a TxResponse given a ResultBroadcastTx from tendermint

func NewResponseFormatBroadcastTxCommit added in v0.31.0

func NewResponseFormatBroadcastTxCommit(res *coretypes.ResultBroadcastTxCommit) *TxResponse

NewResponseFormatBroadcastTxCommit returns a TxResponse given a ResultBroadcastTxCommit from tendermint.

func NewResponseResultTx added in v0.31.0

func NewResponseResultTx(res *coretypes.ResultTx, anyTx *codectypes.Any, timestamp string) *TxResponse

NewResponseResultTx returns a TxResponse given a ResultTx from tendermint

func (*TxResponse) Descriptor added in v0.46.33

func (*TxResponse) Descriptor() ([]byte, []int)

func (TxResponse) Empty added in v0.32.0

func (r TxResponse) Empty() bool

Empty returns true if the response is empty

func (TxResponse) GetTx added in v0.46.33

func (r TxResponse) GetTx() Tx

GetTx unpacks the Tx from within a TxResponse and returns it

func (*TxResponse) Marshal added in v0.46.33

func (m *TxResponse) Marshal() (dAtA []byte, err error)

func (*TxResponse) MarshalTo added in v0.46.33

func (m *TxResponse) MarshalTo(dAtA []byte) (int, error)

func (*TxResponse) MarshalToSizedBuffer added in v0.46.33

func (m *TxResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*TxResponse) ProtoMessage added in v0.46.33

func (*TxResponse) ProtoMessage()

func (*TxResponse) Reset added in v0.46.33

func (m *TxResponse) Reset()

func (*TxResponse) Size added in v0.46.33

func (m *TxResponse) Size() (n int)

func (TxResponse) String added in v0.31.0

func (r TxResponse) String() string

func (*TxResponse) Unmarshal added in v0.46.33

func (m *TxResponse) Unmarshal(dAtA []byte) error

func (TxResponse) UnpackInterfaces added in v0.46.33

func (r TxResponse) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error

UnpackInterfaces implements UnpackInterfacesMessage.UnpackInterfaces

func (*TxResponse) XXX_DiscardUnknown added in v0.46.33

func (m *TxResponse) XXX_DiscardUnknown()

func (*TxResponse) XXX_Marshal added in v0.46.33

func (m *TxResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TxResponse) XXX_Merge added in v0.46.33

func (m *TxResponse) XXX_Merge(src proto.Message)

func (*TxResponse) XXX_Size added in v0.46.33

func (m *TxResponse) XXX_Size() int

func (*TxResponse) XXX_Unmarshal added in v0.46.33

func (m *TxResponse) XXX_Unmarshal(b []byte) error

type TxWithMemo added in v0.46.33

type TxWithMemo interface {
	Tx
	GetMemo() string
}

Tx must have GetMemo() method to use ValidateMemoDecorator

type TxWithTimeoutHeight added in v0.46.33

type TxWithTimeoutHeight interface {
	Tx

	GetTimeoutHeight() uint64
}

TxWithTimeoutHeight extends the Tx interface by allowing a transaction to set a height timeout.

type Uint deprecated added in v0.20.0

type Uint = sdkmath.Uint

Type aliases to the SDK's math sub-module

Deprecated: Functionality of this package has been moved to it's own module: cosmossdk.io/math

Please use the above module instead of this package.

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) MarshalYAML added in v0.46.33

func (va ValAddress) MarshalYAML() (interface{}, error)

MarshalYAML marshals to YAML 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.

func (*ValAddress) UnmarshalYAML added in v0.46.33

func (va *ValAddress) UnmarshalYAML(data []byte) error

UnmarshalYAML unmarshals from YAML assuming Bech32 encoding.

Directories

Path Synopsis
legacybech32
Deprecated: The module provides legacy bech32 functions which will be removed in a future release.
Deprecated: The module provides legacy bech32 functions which will be removed in a future release.
Package errors provides a shared set of errors for use in the SDK, aliases functionality in the cosmossdk.io/errors module that used to be in this package, and provides some helpers for converting errors to ABCI response code.
Package errors provides a shared set of errors for use in the SDK, aliases functionality in the cosmossdk.io/errors module that used to be in this package, and provides some helpers for converting errors to ABCI response code.
Package module contains application module patterns and associated "manager" functionality.
Package module contains application module patterns and associated "manager" functionality.
tx
Package tx is a reverse proxy.
Package tx is a reverse proxy.

Jump to

Keyboard shortcuts

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