types

package
v1.5.23 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2021 License: Apache-2.0, Apache-2.0 Imports: 35 Imported by: 0

Documentation

Overview

nolint

Index

Constants

View Source
const (
	Precision = 18

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

number of decimal places

View Source
const (
	// Base error codes
	CodeOK CodeType = 0
	//CodeInternal          CodeType = 1
	CodeTxDecode CodeType = 2
	//CodeInvalidSequence   CodeType = 3
	//CodeUnauthorized      CodeType = 4
	//CodeInsufficientFunds CodeType = 5
	CodeUnknownRequest CodeType = 6

	// CodespaceRoot is a codespace for error codes in this file only.
	// Notice that 0 is an "unset" codespace, which can be overridden with
	// Error.WithDefaultCodespace().
	//CodespaceUndefined CodespaceType = ""
	CodespaceRoot CodespaceType = "default"
)

const (

CodeOK    CodeType = 200

)

// SDK error codes

View Source
const (
	GasIterNextCostFlatDesc = "IterNextFlat"
	GasValuePerByteDesc     = "ValuePerByte"
	GasWritePerByteDesc     = "WritePerByte"
	GasReadPerByteDesc      = "ReadPerByte"
	GasWriteCostFlatDesc    = "WriteFlat"
	GasReadCostFlatDesc     = "ReadFlat"
	GasHasDesc              = "Has"
	GasDeleteDesc           = "Delete"
)

Gas consumption descriptors.

View Source
const (

	// default bond denomination
	DefaultBondDenom = "stake"

	ValidatorUpdateDelay int64 = 1

	Unbonded  BondStatus = 1
	Unbonding BondStatus = 2
	Bonded    BondStatus = 3

	BondStatusUnbonded  = "Unbonded"
	BondStatusUnbonding = "Unbonding"
	BondStatusBonded    = "Bonded"
	BondStatusAll       = "all"
)
View Source
const (
	AddrLen = 20
)
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 (
	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 (
	EventTypeMessage = "message"
	EventTypeType    = "type"
	//EventTypeInvalidTx = "invalid_tx"
	//EventTypeValidTx = "valid_tx"
	EventTypeMultiMsg = "multi_msg"

	AttributeKeyTx          = "tx"
	AttributeKeyInvalidTx   = "invalid_tx"
	AttributeKeyValidTx     = "valid_tx"
	AttributeKeyMethod      = "operation"
	AttributeKeyModule      = "module"
	AttributeKeySender      = "sender"
	AttributeKeyReceiver    = "receiver"
	AttributeKeyAmount      = "amount"
	AttributeKeyTotalSupply = "total_supply"
)

Common event types and attribute keys

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 (
	ChainCoinDenom = DefaultBondDenom
)
View Source
var CommitInfoKeyFmt string
View Source
var LatestVersionKey string
View Source
var MaxSortableDec = OneDec().Quo(SmallestDec())

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

View Source
var PowerReduction = NewIntFromBigInt(new(big.Int).Exp(big.NewInt(10), big.NewInt(6), nil))

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

Functions

func BigEndianToUint64

func BigEndianToUint64(bz []byte) uint64

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

func CopyBytes

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

copy bytes

func DecEq

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

func DecsEqual(d1s, d2s []Dec) bool

test if two decimal arrays are equal

func DefaultChainID

func DefaultChainID() (string, error)

DefaultChainID returns the chain ID from the genesis file if present. An error is returned if the file cannot be read or parsed.

TODO: This should be removed and the chainID should always be provided by the end user.

func DefaultCoinDenomRegex

func DefaultCoinDenomRegex() string

DefaultCoinDenomRegex returns the default regex string

func DiffKVStores

func DiffKVStores(a KVStore, b KVStore, prefixesToSkip [][]byte) (kvA abci.EventAttribute, kvB abci.EventAttribute, count int64, equal bool)

Compare two KVstores, return either the first types/value pair at which they differ and whether or not they are equal, skipping value comparison for a set of provided prefixes

func FormatTimeBytes

func FormatTimeBytes(t time.Time) []byte

Formats a time.Time into a []byte that can be sorted

func InclusiveEndBytes

func InclusiveEndBytes(inclusiveBytes []byte) (exclusiveBytes []byte)

InclusiveEndBytes returns the []byte that would end a range query such that the input would be included

func IntEq

func IntEq(t *testing.T, exp, got Int) (*testing.T, bool, string, string, string)

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

func MustSortJSON

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 NewMemoryStoreKeys

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

NewMemoryStoreKeys constructs a new map matching store key names to their respective MemoryStoreKey references.

func NewRouter

func NewRouter() *router

nolint NewRouter - create new router TODO either make Function unexported or make return types (router) Exported

func Paginate

func Paginate(numObjs, page, limit, defLimit int) (start, end int)

func ParseTimeBytes

func ParseTimeBytes(bz []byte) (time.Time, error)

Parses a []byte encoded using FormatTimeKey back into a time.Time

func PrefixEndBytes

func PrefixEndBytes(prefix []byte) []byte

PrefixEndBytes returns the []byte that would end a range query for all []byte with a certain prefix Deals with last byte of prefix being FF without overflowing

func RegisterCodec

func RegisterCodec(cdc *codec.Codec)

Register the sdk message types

func RegisterInterfaces

func RegisterInterfaces(registry types.InterfaceRegistry)

RegisterInterfaces registers the sdk message type.

func SetCoinDenom

func SetCoinDenom(denom string)

func SetCoinDenomRegex

func SetCoinDenomRegex(reFn func() string)

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

func SortJSON

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

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

func TokensToConsensusPower(tokens Int) int64

func Uint64ToBigEndian

func Uint64ToBigEndian(i uint64) []byte

Uint64ToBigEndian - marshals uint64 to a bigendian byte slice so it can be sorted

func UintOverflow

func UintOverflow(i *big.Int) error

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

func ValidSortableDec

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

func ValidateDenom(denom string) error

func WrapSDKContext

func WrapSDKContext(ctx Context) context.Context

Types

type ABCIMessageLog

type ABCIMessageLog struct {
	MsgIndex uint32       `json:"msg_index"`
	Success  bool         `json:"success"`
	Log      string       `json:"log"`
	Events   StringEvents `json:"events"`
}

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

func NewABCIMessageLog

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

type ABCIMessageLogs

type ABCIMessageLogs []ABCIMessageLog

ABCIMessageLogs represents a slice of ABCIMessageLog.

func ParseABCILogs

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

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

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

type AccAddr

type AccAddr []byte

func (AccAddr) Bytes

func (acca AccAddr) Bytes() []byte

type AccAddress

type AccAddress struct {
	common.Address
}

func AccAddressFromBech32

func AccAddressFromBech32(addr string) (AccAddress, error)

func GetConsAddress

func GetConsAddress(pubKeyVal crypto.PubKey) AccAddress

func HexToAddress

func HexToAddress(addr string) AccAddress

func ToAccAddress

func ToAccAddress(addr []byte) AccAddress

func (AccAddress) Empty

func (aa AccAddress) Empty() bool

func (AccAddress) Equal

func (aa AccAddress) Equal(aa2 AccAddress) bool

func (AccAddress) Equals

func (aa AccAddress) Equals(aa2 AccAddress) bool

func (AccAddress) Marshal

func (aa AccAddress) Marshal() ([]byte, error)

func (AccAddress) MarshalJSON

func (aa AccAddress) MarshalJSON() ([]byte, error)

func (AccAddress) String

func (aa AccAddress) String() string

func (*AccAddress) UnmarshalJSON

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

type AnteHandler

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

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

type Attribute

type Attribute struct {
	Key   []byte `json:"key"`
	Value []byte `json:"value"`
	Index bool   `json:"index"`
}

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

func NewAttribute

func NewAttribute(k, v []byte) Attribute

NewAttribute returns a new types/value Attribute object.

func NewAttributeString

func NewAttributeString(k, v string) Attribute

NewAttribute returns a new types/value Attribute object.

func NewAttributes

func NewAttributes(attributes []Attribute, attrs ...Attribute) []Attribute

func NewIndexAttributeString

func NewIndexAttributeString(k, v string) Attribute

NewAttribute returns a new types/value Attribute object.

func (Attribute) String

func (a Attribute) String() string

func (Attribute) ToKVPair

func (a Attribute) ToKVPair() abci.EventAttribute

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

type BeginBlocker

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

run code before the transactions in a block

type BondStatus

type BondStatus int32

func (BondStatus) Equal

func (b BondStatus) Equal(b2 BondStatus) bool

Equal compares two BondStatus instances

func (BondStatus) String

func (b BondStatus) String() string

String implements the Stringer interface for BondStatus.

type CacheKVStore

type CacheKVStore interface {
	KVStore

	// Writes operations to underlying KVStore
	Write()
}

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

type CacheMultiStore

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

From MultiStore.CacheMultiStore()....

type CacheWrap

type CacheWrap interface {
	// Write syncs with the underlying store.
	Write()

	// CacheWrap recursively wraps again.
	CacheWrap() CacheWrap

	// CacheWrapWithTrace recursively wraps again with tracing enabled.
	CacheWrapWithTrace(w io.Writer, tc TraceContext) CacheWrap
}

CacheWrap makes the most appropriate cache-wrap. For example, IAVLStore.CacheWrap() returns a CacheKVStore. CacheWrap should not return a Committer, since Commit cache-wraps make no sense. It can return KVStore, HeapStore, SpaceStore, etc.

type CacheWrapper

type CacheWrapper interface {
	// CacheWrap cache wraps.
	CacheWrap() CacheWrap

	// CacheWrapWithTrace cache wraps with tracing enabled.
	CacheWrapWithTrace(w io.Writer, tc TraceContext) CacheWrap
}

type CodeType

type CodeType uint32

import (

"fmt"
"strings"

cmn "github.com/ci123chain/ci123chain/pkg/libs/common"

abci "github.com/tendermint/tendermint/abci/types"

)

CodeType - ABCI code identifier within codespace

func (CodeType) IsOK

func (code CodeType) IsOK() bool

// IsOK - is everything okay?

type CodespaceType

type CodespaceType string

CodespaceType - codespace identifier

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 NewChainCoin

func NewChainCoin(amount Int) Coin

func NewCoin

func NewCoin(denom string, amount Int) Coin

NewCoin returns a new coin with a denomination and amount. It will panic if the amount is negative.

func NewEmptyCoin

func NewEmptyCoin() Coin

func NewIntCoin

func NewIntCoin(denom string, amount *big.Int) Coin

func NewUInt64Coin

func NewUInt64Coin(denom string, amount uint64) Coin

func ParseCoinNormalized

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

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

func (Coin) Add

func (c Coin) Add(coinB Coin) Coin

func (Coin) AmountOf

func (c Coin) AmountOf(denom string) Int

func (*Coin) Descriptor

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

func (*Coin) Equal

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

func (*Coin) GetDenom

func (m *Coin) GetDenom() string

func (Coin) IsEqual

func (c Coin) IsEqual(other Coin) bool

func (Coin) IsGTE

func (c Coin) IsGTE(other Coin) bool

func (Coin) IsLT

func (c Coin) IsLT(other Coin) bool

func (Coin) IsNegative

func (c Coin) IsNegative() bool

func (Coin) IsPositive

func (c Coin) IsPositive() bool

func (Coin) IsValid

func (c Coin) IsValid() bool

func (Coin) IsZero

func (c Coin) IsZero() bool

func (*Coin) Marshal

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

func (*Coin) MarshalTo

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

func (*Coin) MarshalToSizedBuffer

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

func (*Coin) ProtoMessage

func (*Coin) ProtoMessage()

func (*Coin) Reset

func (m *Coin) Reset()

func (Coin) SafeSub

func (c Coin) SafeSub(coinB Coin) (Coin, bool)

func (*Coin) Size

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

func (Coin) String

func (c Coin) String() string

func (Coin) Sub

func (c Coin) Sub(coinB Coin) Coin

func (*Coin) Unmarshal

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

func (*Coin) XXX_DiscardUnknown

func (m *Coin) XXX_DiscardUnknown()

func (*Coin) XXX_Marshal

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

func (*Coin) XXX_Merge

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

func (*Coin) XXX_Size

func (m *Coin) XXX_Size() int

func (*Coin) XXX_Unmarshal

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

type Coins

type Coins []Coin

Coins is a set of Coin, one per currency

func NewCoins

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 (Coins) Add

func (coins Coins) Add(coinsB Coins) Coins

func (Coins) AmountOf

func (coins Coins) AmountOf(denom string) Int

Returns the amount of a denom from coins

func (Coins) Empty

func (coins Coins) Empty() bool

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

func (Coins) GetDenomByIndex

func (coins Coins) GetDenomByIndex(i int) string

func (Coins) IsAnyNegative

func (coins Coins) IsAnyNegative() bool

func (Coins) IsValid

func (coins Coins) IsValid() bool

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

func (Coins) IsZero

func (coins Coins) IsZero() bool

IsZero returns whether all coins are zero

func (Coins) Len

func (coins Coins) Len() int

func (Coins) Less

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

func (Coins) SafeSub

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

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

func (Coins) Sort

func (coins Coins) Sort() Coins

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

func (Coins) String

func (coins Coins) String() string

func (Coins) Sub

func (coins Coins) Sub(coinsB Coins) Coins

func (Coins) Swap

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

type CommitID

type CommitID struct {
	Version int64
	Hash    []byte
}

CommitID contains the tree version number and its merkle root.

func (CommitID) IsZero

func (cid CommitID) IsZero() bool

func (CommitID) String

func (cid CommitID) String() string

type CommitKVStore

type CommitKVStore interface {
	Committer
	KVStore
}

Stores of MultiStore must implement CommitStore.

type CommitMultiStore

type CommitMultiStore interface {
	Committer
	MultiStore

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

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

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

	// Get latest version
	GetLatestVersion() int64

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

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

A non-cache MultiStore.

type CommitStore

type CommitStore interface {
	Committer
	Store
}

Stores of MultiStore must implement CommitStore.

type Committer

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

something that can persist to disk

type Context

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

The intent of Context is for it to be an immutable object that can be cloned and updated cheaply with WithValue() and passed forward to the next decorator or handler. For example,

func MsgHandler(ctx Context, tx Tx) Result {
	...
	ctx = ctx.WithValue(types, value)
	...
}

func NewContext

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

create a new context

func UnwrapSDKContext

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

func (c Context) BlockHeader() types.Header

func (Context) BlockHeight

func (c Context) BlockHeight() int64

func (Context) BlockTime

func (c Context) BlockTime() time.Time

func (Context) CacheContext

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

Cache the multistore and return a new cached context. The cached context is written to the context when writeCache is called.

func (Context) ChainID

func (c Context) ChainID() string

func (Context) ConsensusParams

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

func (Context) EventManager

func (c Context) EventManager() *EventManager

func (Context) GasLimit

func (c Context) GasLimit() uint64

func (Context) GasMeter

func (c Context) GasMeter() GasMeter

func (Context) GetOp

func (c Context) GetOp(ver int64) (Op, bool)

Returns false if ver <= 0 || ver > len(c.pst.ops). The first operation is version 1.

func (Context) IsCheckTx

func (c Context) IsCheckTx() bool

func (Context) IsZero

func (c Context) IsZero() bool

is context nil

func (Context) KVStore

func (c Context) KVStore(key StoreKey) KVStore

KVStore fetches a KVStore from the MultiStore.

func (Context) LoadLatestVersion

func (c Context) LoadLatestVersion()

KVStore fetches a KVStore from the MultiStore.

func (Context) Logger

func (c Context) Logger() log.Logger

func (Context) MultiStore

func (c Context) MultiStore() MultiStore

func (Context) Nonce

func (c Context) Nonce() uint64

func (Context) TransientStore

func (c Context) TransientStore(key StoreKey) KVStore

TransientStore fetches a TransientStore from the MultiStore.

func (Context) TxBytes

func (c Context) TxBytes() []byte

func (Context) TxIndex

func (c Context) TxIndex() uint32

func (Context) Value

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

context value for the provided types

func (Context) VoteInfos

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

func (Context) WithBlockHeader

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

func (Context) WithBlockHeight

func (c Context) WithBlockHeight(height int64) Context

func (Context) WithBlockTime

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

func (Context) WithCacheWrapper

func (c Context) WithCacheWrapper(key interface{}, value CacheWrapper) Context

func (Context) WithChainID

func (c Context) WithChainID(chainID string) Context

func (Context) WithCloner

func (c Context) WithCloner(key interface{}, value cloner) Context

func (Context) WithConsensusParams

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

func (Context) WithEventManager

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

func (Context) WithGasLimit

func (c Context) WithGasLimit(gas uint64) Context

func (Context) WithGasMeter

func (c Context) WithGasMeter(meter GasMeter) Context

func (Context) WithInt32

func (c Context) WithInt32(key interface{}, value int32) Context

func (Context) WithIsCheckTx

func (c Context) WithIsCheckTx(isCheckTx bool) Context

func (Context) WithLogger

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

func (Context) WithMultiStore

func (c Context) WithMultiStore(ms MultiStore) Context

func (Context) WithNonce

func (c Context) WithNonce(nonce uint64) Context

func (Context) WithProposer

func (c Context) WithProposer(addr []byte) Context

func (Context) WithProtoMsg

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

func (Context) WithString

func (c Context) WithString(key interface{}, value string) Context

func (Context) WithTxBytes

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

func (Context) WithTxIndex

func (c Context) WithTxIndex(idx uint32) Context

func (Context) WithUint32

func (c Context) WithUint32(key interface{}, value uint32) Context

func (Context) WithUint64

func (c Context) WithUint64(key interface{}, value uint64) Context

func (Context) WithValue

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

nolint

func (Context) WithVoteInfos

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

type ContextKey

type ContextKey string
const SdkContextKey ContextKey = "sdk-context"

type Dec

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

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

func MaxDec

func MaxDec(d1, d2 Dec) Dec

maximum decimal between two

func MinDec

func MinDec(d1, d2 Dec) Dec

minimum decimal between two

func MustNewDecFromStr

func MustNewDecFromStr(s string) Dec

Decimal from string, panic on error

func NewDec

func NewDec(i int64) Dec

create a new Dec from integer assuming whole number

func NewDecFromBigInt

func NewDecFromBigInt(i *big.Int) Dec

create a new Dec from big integer assuming whole numbers CONTRACT: prec <= Precision

func NewDecFromBigIntWithPrec

func NewDecFromBigIntWithPrec(i *big.Int, prec int64) Dec

create a new Dec from big integer assuming whole numbers CONTRACT: prec <= Precision

func NewDecFromInt

func NewDecFromInt(i Int) Dec

create a new Dec from big integer assuming whole numbers CONTRACT: prec <= Precision

func NewDecFromIntWithPrec

func NewDecFromIntWithPrec(i Int, prec int64) Dec

create a new Dec from big integer with decimal place at prec CONTRACT: prec <= Precision

func NewDecFromStr

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

func NewDecWithPrec(i, prec int64) Dec

create a new Dec from integer with decimal place at prec CONTRACT: prec <= Precision

func OneDec

func OneDec() Dec

func SmallestDec

func SmallestDec() Dec

func ZeroDec

func ZeroDec() Dec

func (Dec) Abs

func (d Dec) Abs() Dec

func (Dec) Add

func (d Dec) Add(d2 Dec) Dec

addition

func (Dec) ApproxRoot

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.

func (Dec) ApproxSqrt

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

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

BigInt returns a copy of the underlying big.Int.

func (Dec) Ceil

func (d Dec) Ceil() Dec

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

func (Dec) Equal

func (d Dec) Equal(d2 Dec) bool

func (Dec) Format

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

format decimal state

func (Dec) GT

func (d Dec) GT(d2 Dec) bool

func (Dec) GTE

func (d Dec) GTE(d2 Dec) bool

func (Dec) IsInteger

func (d Dec) IsInteger() bool

is integer, e.g. decimals are zero

func (Dec) IsNegative

func (d Dec) IsNegative() bool

func (Dec) IsNil

func (d Dec) IsNil() bool

______________________________________________________________________________________________ nolint

func (Dec) IsPositive

func (d Dec) IsPositive() bool

func (Dec) IsZero

func (d Dec) IsZero() bool

func (Dec) LT

func (d Dec) LT(d2 Dec) bool

func (Dec) LTE

func (d Dec) LTE(d2 Dec) bool

func (Dec) Marshal

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

Marshal implements the gogo proto custom types interface.

func (Dec) MarshalAmino

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

Override Amino binary serialization by proxying to protobuf.

func (Dec) MarshalJSON

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

MarshalJSON marshals the decimal

func (*Dec) MarshalTo

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

MarshalTo implements the gogo proto custom types interface.

func (Dec) MarshalYAML

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

MarshalYAML returns the YAML representation.

func (Dec) Mul

func (d Dec) Mul(d2 Dec) Dec

multiplication

func (Dec) MulInt

func (d Dec) MulInt(i Int) Dec

multiplication

func (Dec) MulInt64

func (d Dec) MulInt64(i int64) Dec

MulInt64 - multiplication with int64

func (Dec) MulTruncate

func (d Dec) MulTruncate(d2 Dec) Dec

multiplication truncate

func (Dec) Neg

func (d Dec) Neg() Dec

func (Dec) Power

func (d Dec) Power(power uint64) Dec

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

func (Dec) Quo

func (d Dec) Quo(d2 Dec) Dec

quotient

func (Dec) QuoInt

func (d Dec) QuoInt(i Int) Dec

quotient

func (Dec) QuoInt64

func (d Dec) QuoInt64(i int64) Dec

QuoInt64 - quotient with int64

func (Dec) QuoRoundUp

func (d Dec) QuoRoundUp(d2 Dec) Dec

quotient, round up

func (Dec) QuoTruncate

func (d Dec) QuoTruncate(d2 Dec) Dec

quotient truncate

func (Dec) RoundInt

func (d Dec) RoundInt() Int

RoundInt round the decimal using bankers rounding

func (Dec) RoundInt64

func (d Dec) RoundInt64() int64

RoundInt64 rounds the decimal using bankers rounding

func (*Dec) Size

func (d *Dec) Size() int

Size implements the gogo proto custom types interface.

func (Dec) String

func (d Dec) String() string

func (Dec) Sub

func (d Dec) Sub(d2 Dec) Dec

subtraction

func (Dec) TruncateDec

func (d Dec) TruncateDec() Dec

TruncateDec truncates the decimals from the number and returns a Dec

func (Dec) TruncateInt

func (d Dec) TruncateInt() Int

TruncateInt truncates the decimals from the number and returns an Int

func (Dec) TruncateInt64

func (d Dec) TruncateInt64() int64

TruncateInt64 truncates the decimals from the number and returns an int64

func (*Dec) Unmarshal

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

Unmarshal implements the gogo proto custom types interface.

func (*Dec) UnmarshalAmino

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

func (*Dec) UnmarshalJSON

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

UnmarshalJSON defines custom decoding scheme

type DecCoin

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 NewDecCoin

func NewDecCoin(denom string, amount Int) DecCoin

NewDecCoin creates a new DecCoin instance from an Int.

func NewDecCoinFromCoin

func NewDecCoinFromCoin(coin Coin) DecCoin

NewDecCoinFromCoin creates a new DecCoin from a Coin.

func NewDecCoinFromDec

func NewDecCoinFromDec(denom string, amount Dec) DecCoin

NewDecCoinFromDec creates a new DecCoin instance from a Dec.

func NewEmptyDecCoin

func NewEmptyDecCoin() DecCoin

func NewInt64DecCoin

func NewInt64DecCoin(denom string, amount int64) DecCoin

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

func ParseDecCoin

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

func (coin DecCoin) Add(coinB DecCoin) DecCoin

Add adds amounts of two decimal coins with same denom.

func (*DecCoin) Descriptor

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

func (*DecCoin) Equal

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

func (*DecCoin) GetDenom

func (m *DecCoin) GetDenom() string

func (DecCoin) IsEqual

func (coin DecCoin) IsEqual(other DecCoin) bool

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

func (DecCoin) IsGTE

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

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

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

func (coin DecCoin) IsPositive() bool

IsPositive returns true if coin amount is positive.

TODO: Remove once unsigned integers are used.

func (DecCoin) IsValid

func (coin DecCoin) IsValid() bool

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

func (DecCoin) IsZero

func (coin DecCoin) IsZero() bool

IsZero returns if the DecCoin amount is zero.

func (*DecCoin) Marshal

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

func (*DecCoin) MarshalTo

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

func (*DecCoin) MarshalToSizedBuffer

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

func (DecCoin) MulDec

func (coin DecCoin) MulDec(d Dec) DecCoin

func (DecCoin) MulDecTruncate

func (coin DecCoin) MulDecTruncate(d Dec) DecCoin

func (*DecCoin) ProtoMessage

func (*DecCoin) ProtoMessage()

func (DecCoin) QuoDecTruncate

func (coin DecCoin) QuoDecTruncate(d Dec) DecCoin

func (*DecCoin) Reset

func (m *DecCoin) Reset()

func (*DecCoin) Size

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

func (DecCoin) String

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

func (coin DecCoin) Sub(coinB DecCoin) DecCoin

Sub subtracts amounts of two decimal coins with same denom.

func (DecCoin) TruncateDecimal

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

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

func (*DecCoin) XXX_DiscardUnknown

func (m *DecCoin) XXX_DiscardUnknown()

func (*DecCoin) XXX_Marshal

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

func (*DecCoin) XXX_Merge

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

func (*DecCoin) XXX_Size

func (m *DecCoin) XXX_Size() int

func (*DecCoin) XXX_Unmarshal

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

type DecCoins

type DecCoins []DecCoin

DecCoins defines a slice of coins with decimal values

func NewDecCoins

func NewDecCoins(decCoins ...DecCoin) DecCoins

NewDecCoins constructs a new coin set with with decimal values from DecCoins.

func NewDecCoinsFromCoins

func NewDecCoinsFromCoins(coins ...Coin) DecCoins

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

func (DecCoins) Add

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

func (coins DecCoins) AmountOf(denom string) Dec

AmountOf returns the amount of a denom from deccoins

func (DecCoins) Empty

func (coins DecCoins) Empty() bool

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

func (DecCoins) GetDenomByIndex

func (coins DecCoins) GetDenomByIndex(i int) string

GetDenomByIndex returns the Denom to make the findDup generic

func (DecCoins) Intersect

func (coins DecCoins) Intersect(coinsB DecCoins) DecCoins

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

func (DecCoins) IsAllPositive

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

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

func (coins DecCoins) IsEqual(coinsB DecCoins) bool

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

func (DecCoins) IsValid

func (coins DecCoins) IsValid() bool

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

func (DecCoins) IsZero

func (coins DecCoins) IsZero() bool

IsZero returns whether all coins are zero

func (DecCoins) Len

func (coins DecCoins) Len() int

nolint

func (DecCoins) Less

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

func (DecCoins) MulDec

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

func (coins DecCoins) MulDecTruncate(d Dec) DecCoins

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

CONTRACT: No zero coins will be returned.

func (DecCoins) QuoDec

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

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

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

func (coins DecCoins) Sort() DecCoins

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

func (DecCoins) String

func (coins DecCoins) String() string

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

func (DecCoins) Sub

func (coins DecCoins) Sub(coinsB DecCoins) DecCoins

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

func (DecCoins) Swap

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

func (DecCoins) TruncateDecimal

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.

type DecProto

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

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

func (*DecProto) Marshal

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

func (*DecProto) MarshalTo

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

func (*DecProto) MarshalToSizedBuffer

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

func (*DecProto) ProtoMessage

func (*DecProto) ProtoMessage()

func (*DecProto) Reset

func (m *DecProto) Reset()

func (*DecProto) Size

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

func (DecProto) String

func (dp DecProto) String() string

func (*DecProto) Unmarshal

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

func (*DecProto) XXX_DiscardUnknown

func (m *DecProto) XXX_DiscardUnknown()

func (*DecProto) XXX_Marshal

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

func (*DecProto) XXX_Merge

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

func (*DecProto) XXX_Size

func (m *DecProto) XXX_Size() int

func (*DecProto) XXX_Unmarshal

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

type DeferHandler

type DeferHandler func(ctx Context, tx Tx, out bool, simulate bool) (result Result)

type EndBlocker

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

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

type ErrorGasOverflow

type ErrorGasOverflow struct {
	Descriptor string
}

ErrorGasOverflow defines an error thrown when an action results gas consumption unsigned integer overflow.

type ErrorOutOfGas

type ErrorOutOfGas struct {
	Descriptor string
}

ErrorOutOfGas defines an error thrown when an action results in out of gas.

func (ErrorOutOfGas) Error

func (e ErrorOutOfGas) Error() string

type Event

type Event abci.Event

Event is a types alias for an ABCI Event

func NewEvent

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

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

func (Event) AppendAttributes

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

AppendAttributes adds one or more attributes to an Event.

type EventManager

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

EventManager implements a simple wrapper around a slice of Event objects that can be emitted from.

func NewEventManager

func NewEventManager() *EventManager

func (EventManager) ABCIEvents

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

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

func (*EventManager) EmitEvent

func (em *EventManager) EmitEvent(event Event)

EmitEvent stores a single Event object.

func (*EventManager) EmitEvents

func (em *EventManager) EmitEvents(events Events)

EmitEvents stores a series of Event objects.

func (*EventManager) Events

func (em *EventManager) Events() Events

type Events

type Events []Event

Events defines a slice of Event objects

func EmptyEvents

func EmptyEvents() Events

EmptyEvents returns an empty slice of events.

func (Events) AppendEvent

func (e Events) AppendEvent(event Event) Events

AppendEvent adds an Event to a slice of events.

func (Events) AppendEvents

func (e Events) AppendEvents(events Events) Events

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

func (Events) ToABCIEvents

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

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

type Gas

type Gas = uint64

Gas measured by the SDK

type GasConfig

type GasConfig struct {
	HasCost          Gas
	DeleteCost       Gas
	ReadCostFlat     Gas
	ReadCostPerByte  Gas
	WriteCostFlat    Gas
	WriteCostPerByte Gas
	ValueCostPerByte Gas
	IterNextCostFlat Gas
}

GasConfig defines gas cost for each operation on KVStores

func KVGasConfig

func KVGasConfig() GasConfig

KVGasConfig returns a default gas configs for KVStores.

func TransientGasConfig

func TransientGasConfig() GasConfig

TransientGasConfig returns a default gas configs for TransientStores.

type GasMeter

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

GasMeter interface to track gas consumption

func NewGasMeter

func NewGasMeter(limit Gas) GasMeter

NewGasMeter returns a reference to a new basicGasMeter.

func NewInfiniteGasMeter

func NewInfiniteGasMeter() GasMeter

NewInfiniteGasMeter returns a reference to a new infiniteGasMeter.

type Handler

type Handler func(ctx Context, msg Msg) (*Result, error)

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

type Heights

type Heights []int64
types Heights struct {
	height  []int64   `json:"height"`
}

type InitChainer

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

initialize application state at genesis

type Int

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

Int wraps integer with 256 bit range bound Checks overflow, underflow and division by zero Exists in range from -(2^maxBitLen-1) to 2^maxBitLen-1

func MaxInt

func MaxInt(i, i2 Int) Int

MaxInt returns the maximum between two integers.

func MinInt

func MinInt(i1, i2 Int) Int

return the minimum of the ints

func NewInt

func NewInt(n int64) Int

NewInt constructs Int from int64

func NewIntFromBigInt

func NewIntFromBigInt(i *big.Int) Int

NewIntFromBigInt constructs Int from big.Int

func NewIntFromString

func NewIntFromString(s string) (res Int, ok bool)

NewIntFromString constructs Int from string

func NewIntFromUint64

func NewIntFromUint64(n uint64) Int

NewIntFromUint64 constructs an Int from a uint64.

func NewIntWithDecimal

func NewIntWithDecimal(n int64, dec int) Int

NewIntWithDecimal constructs Int with decimal Result value is n*10^dec

func OneInt

func OneInt() Int

OneInt returns Int value with one

func TokensFromConsensusPower

func TokensFromConsensusPower(power int64) Int

TokensFromConsensusPower - convert input power to tokens

func ZeroInt

func ZeroInt() Int

ZeroInt returns Int value with zero

func (Int) Add

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

Add adds Int from another

func (Int) AddRaw

func (i Int) AddRaw(i2 int64) Int

AddRaw adds int64 to Int

func (Int) BigInt

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

BigInt converts Int to big.Int

func (Int) Equal

func (i Int) Equal(i2 Int) bool

Equal compares two Ints

func (Int) GT

func (i Int) GT(i2 Int) bool

GT returns true if first Int is greater than second

func (Int) GTE

func (i Int) GTE(i2 Int) bool

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

func (Int) Int64

func (i Int) Int64() int64

Int64 converts Int to int64 Panics if the value is out of range

func (Int) IsInt64

func (i Int) IsInt64() bool

IsInt64 returns true if Int64() not panics

func (Int) IsNegative

func (i Int) IsNegative() bool

IsNegative returns true if Int is negative

func (Int) IsPositive

func (i Int) IsPositive() bool

IsPositive returns true if Int is positive

func (Int) IsUint64

func (i Int) IsUint64() bool

IsUint64 returns true if Uint64() not panics

func (Int) IsZero

func (i Int) IsZero() bool

IsZero returns true if Int is zero

func (Int) LT

func (i Int) LT(i2 Int) bool

LT returns true if first Int is lesser than second

func (Int) LTE

func (i Int) LTE(i2 Int) bool

LTE returns true if first Int is less than or equal to second

func (Int) Marshal

func (i Int) Marshal() ([]byte, error)

Marshal implements the gogo proto custom types interface.

func (Int) MarshalAmino

func (i Int) MarshalAmino() ([]byte, error)

Override Amino binary serialization by proxying to protobuf.

func (Int) MarshalJSON

func (i Int) MarshalJSON() ([]byte, error)

MarshalJSON defines custom encoding scheme

func (*Int) MarshalTo

func (i *Int) MarshalTo(data []byte) (n int, err error)

MarshalTo implements the gogo proto custom types interface.

func (Int) MarshalYAML

func (i Int) MarshalYAML() (interface{}, error)

MarshalYAML returns the YAML representation.

func (Int) Mod

func (i Int) Mod(i2 Int) Int

Mod returns remainder after dividing with Int

func (Int) ModRaw

func (i Int) ModRaw(i2 int64) Int

ModRaw returns remainder after dividing with int64

func (Int) Mul

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

Mul multiples two Ints

func (Int) MulRaw

func (i Int) MulRaw(i2 int64) Int

MulRaw multipies Int and int64

func (Int) Neg

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

Neg negates Int

func (Int) Quo

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

Quo divides Int with Int

func (Int) QuoRaw

func (i Int) QuoRaw(i2 int64) Int

QuoRaw divides Int with int64

func (Int) Sign

func (i Int) Sign() int

Sign returns sign of Int

func (*Int) Size

func (i *Int) Size() int

Size implements the gogo proto custom types interface.

func (Int) String

func (i Int) String() string

Human readable string

func (Int) Sub

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

Sub subtracts Int from another

func (Int) SubRaw

func (i Int) SubRaw(i2 int64) Int

SubRaw subtracts int64 from Int

func (Int) ToDec

func (i Int) ToDec() Dec

ToDec converts Int to Dec

func (Int) Uint64

func (i Int) Uint64() uint64

Uint64 converts Int to uint64 Panics if the value is out of range

func (*Int) Unmarshal

func (i *Int) Unmarshal(data []byte) error

Unmarshal implements the gogo proto custom types interface.

func (*Int) UnmarshalAmino

func (i *Int) UnmarshalAmino(bz []byte) error

func (*Int) UnmarshalJSON

func (i *Int) UnmarshalJSON(bz []byte) error

UnmarshalJSON defines custom decoding scheme

type IntProto

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

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

func (*IntProto) Marshal

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

func (*IntProto) MarshalTo

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

func (*IntProto) MarshalToSizedBuffer

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

func (*IntProto) ProtoMessage

func (*IntProto) ProtoMessage()

func (*IntProto) Reset

func (m *IntProto) Reset()

func (*IntProto) Size

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

func (IntProto) String

func (ip IntProto) String() string

func (*IntProto) Unmarshal

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

func (*IntProto) XXX_DiscardUnknown

func (m *IntProto) XXX_DiscardUnknown()

func (*IntProto) XXX_Marshal

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

func (*IntProto) XXX_Merge

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

func (*IntProto) XXX_Size

func (m *IntProto) XXX_Size() int

func (*IntProto) XXX_Unmarshal

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

type Iterator

type Iterator = dbm.Iterator

Alias iterator to db's Iterator for convenience.

func KVStorePrefixIterator

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

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

func KVStoreReversePrefixIterator

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

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

type KVPair

type KVPair abci.EventAttribute

types-value result for iterator queries

type KVStore

type KVStore interface {
	Store

	// Get returns nil iff types doesn't exist. Panics on nil types.
	Get(key []byte) []byte

	// Has checks if a types exists. Panics on nil types.
	Has(key []byte) bool

	// Set sets the types. Panics on nil types or value.
	Set(key, value []byte)

	// Delete deletes the types. Panics on nil types.
	Delete(key []byte)

	// Iterator over a domain of keys in ascending order. End is exclusive.
	// Start must be less than end, or the Iterator is invalid.
	// Iterator must be closed by caller.
	// To iterate over entire domain, use store.Iterator(nil, nil)
	// CONTRACT: No writes may happen within a domain while an iterator exists over it.
	Iterator(start, end []byte) Iterator

	// Iterator over a domain of keys in descending order. End is exclusive.
	// Start must be greater than end, or the Iterator is invalid.
	// Iterator must be closed by caller.
	// CONTRACT: No writes may happen within a domain while an iterator exists over it.
	ReverseIterator(start, end []byte) Iterator

	// RemoteIterator are used to get iterators in the shared database.
	RemoteIterator(start, end []byte) Iterator

	// Prefix applied keys with the argument
	// CONTRACT: when Prefix is called on a KVStore more than once,
	// the concatanation of the prefixes is applied
	Prefix(prefix []byte) KVStore

	// Gas consuming store
	// CONTRACT: when Gas is called on a KVStore more than once,
	// the concatanation of the meters/configs is applied
	Gas(GasMeter, GasConfig) KVStore

	// Latest store
	// Use latest store when some key-values must be latest
	Latest(Keys []string) KVStore

	// parent
	Parent() KVStore
}

KVStore is a simple interface to get/set data

type KVStoreKey

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

KVStoreKey is used for accessing substores. Only the pointer value should ever be used - it functions as a capabilities types.

func NewKVStoreKey

func NewKVStoreKey(name string) *KVStoreKey

NewKVStoreKey returns a new pointer to a KVStoreKey. Use a pointer so keys don't collide.

func (*KVStoreKey) Name

func (key *KVStoreKey) Name() string

func (*KVStoreKey) String

func (key *KVStoreKey) String() string

type MemoryStoreKey

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

MemoryStoreKey defines a typed key to be used with an in-memory KVStore.

func NewMemoryStoreKey

func NewMemoryStoreKey(name string) *MemoryStoreKey

func (MemoryStoreKey) Name

func (key MemoryStoreKey) Name() string

func (MemoryStoreKey) String

func (key MemoryStoreKey) String() string

type Msg

type Msg interface {
	Route() string
	MsgType() string
	ValidateBasic() error
	GetFromAddress() AccAddress
	Bytes() []byte
}

type MsgRequest

type MsgRequest 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
}

MsgRequest is the interface a transaction message, defined as a proto service method, must fulfill.

type MultiStore

type MultiStore interface {
	Store

	// Cache wrap MultiStore.
	// NOTE: Caller should probably not call .Write() on each, but
	// call CacheMultiStore.Write().
	CacheMultiStore() CacheMultiStore

	// Convenience for fetching substores.
	GetStore(StoreKey) Store
	GetKVStore(StoreKey) KVStore

	// TracingEnabled returns if tracing is enabled for the MultiStore.
	TracingEnabled() bool

	// WithTracer sets the tracer for the MultiStore that the underlying
	// stores will utilize to trace operations. A MultiStore is returned.
	WithTracer(w io.Writer) MultiStore

	// WithTracingContext sets the tracing context for a MultiStore. It is
	// implied that the caller should update the context when necessary between
	// tracing operations. A MultiStore is returned.
	WithTracingContext(TraceContext) MultiStore

	// ResetTraceContext resets the current tracing context.
	ResetTraceContext() MultiStore
}

type Op

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

XXX add description

type PbMsg

type PbMsg interface {
	proto.Message
	Msg
}

type PeerFilter

type PeerFilter func(info string) abci.ResponseQuery

respond to p2p filtering queries from Tendermint

type PruningStrategy

type PruningStrategy uint8

PruningStrategy specfies how old states will be deleted over time

const (
	// PruneSyncable means only those states not needed for state syncing will be deleted (keeps last 100 + every 10000th)
	PruneSyncable PruningStrategy = iota

	// PruneEverything means all saved states will be deleted, storing only the current state
	PruneEverything PruningStrategy = iota

	// PruneNothing means all historic states will be saved, nothing will be deleted
	PruneNothing PruningStrategy = iota
)

type Querier

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

Type for querier functions on keepers to implement to handle custom queries

type Queryable

type Queryable interface {
	Query(abci.RequestQuery) abci.ResponseQuery
}

Queryable allows a Store to expose internal state to the abci.Query interface. Multistore can route requests to the proper Store.

This is an optional, but useful extension to any CommitStore

type QureyAppResponse

type QureyAppResponse struct {
	Code       uint32 `json:"code"`
	FormatData string `json:"format_data,omitempty"`
	Data       string `json:"data,omitempty"`
	Log        string `json:"log,omitempty"`
	GasWanted  uint64 `json:"gas_wanted,omitempty"`
	GasUsed    uint64 `json:"gas_used,omitempty"`
	Codespace  string `json:"codespace,omitempty"`
}

type Result

type Result struct {
	// Code is the response code, is stored back on the chain.
	Code CodeType

	// Codespace is the string referring to the domain of an error
	Codespace CodespaceType

	// Data is any data returned from the app.
	// Data has to be length prefixed in order to separate
	// results from multiple msgs executions
	Data []byte

	// Log contains the txs log information. NOTE: nondeterministic.
	Log string

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

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

	// Events contains a slice of Event objects that were emitted during some
	// execution.
	Events Events
}

Result is the union of ResponseFormat and ResponseCheckTx.

func WrapServiceResult

func WrapServiceResult(ctx Context, res interface{}, err error) (*Result, error)

WrapServiceResult wraps a result from a protobuf RPC service method call 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) IsOK

func (res Result) IsOK() bool

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

type Router

type Router interface {
	AddRoute(r string, h Handler) (rtr Router)
	Route(path string) (h Handler)
}

Router provides handlers for each transfer types.

type ServiceMsg

type ServiceMsg struct {
	// MethodName is the fully-qualified service method name.
	MethodName string
	// Request is the request payload.
	Request MsgRequest
}

ServiceMsg is the struct into which an Any whose typeUrl matches a service method format (ex. `/cosmos.gov.Msg/SubmitProposal`) unpacks.

func (ServiceMsg) Bytes

func (msg ServiceMsg) Bytes() []byte

GetSignBytes implements Msg.GetSignBytes method.

func (ServiceMsg) GetFromAddress

func (msg ServiceMsg) GetFromAddress() AccAddress

GetSigners implements Msg.GetSigners method.

func (ServiceMsg) GetSigners

func (msg ServiceMsg) GetSigners() []AccAddress

GetSigners implements Msg.GetSigners method.

func (ServiceMsg) MsgType

func (msg ServiceMsg) MsgType() string

Type implements Msg.Type method.

func (ServiceMsg) ProtoMessage

func (msg ServiceMsg) ProtoMessage()

func (ServiceMsg) Reset

func (msg ServiceMsg) Reset()

func (ServiceMsg) Route

func (msg ServiceMsg) Route() string

Route implements Msg.Route method.

func (ServiceMsg) String

func (msg ServiceMsg) String() string

func (ServiceMsg) ValidateBasic

func (msg ServiceMsg) ValidateBasic() error

ValidateBasic implements Msg.ValidateBasic method.

type Store

type Store interface {
	GetStoreType() StoreType
	CacheWrapper
}

type StoreKey

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

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

type StoreType

type StoreType int

kind of store

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

type StringEvent

type StringEvent struct {
	Type       string      `json:"type,omitempty"`
	Attributes []Attribute `json:"attributes,omitempty"`
}

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

func StringifyEvent

func StringifyEvent(e abci.Event) StringEvent

StringifyEvent converts an Event object to a StringEvent object.

type StringEvents

type StringEvents []StringEvent

StringAttributes defines a slice of StringEvents objects.

func StringifyEvents

func StringifyEvents(events []abci.Event) StringEvents

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

func (StringEvents) Flatten

func (se StringEvents) Flatten() StringEvents

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

func (StringEvents) String

func (se StringEvents) String() string

type TraceContext

type TraceContext map[string]interface{}

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

type TransientStoreKey

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

TransientStoreKey is used for indexing transient stores in a MultiStore

func NewTransientStoreKey

func NewTransientStoreKey(name string) *TransientStoreKey

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

func (*TransientStoreKey) Name

func (key *TransientStoreKey) Name() string

Implements StoreKey

func (*TransientStoreKey) String

func (key *TransientStoreKey) String() string

Implements StoreKey

type Tx

type Tx interface {
	GetMsgs() []Msg
	ValidateBasic() error
	GetSignBytes() []byte
	GetSignature() []byte
	SetSignature([]byte)
	Bytes() []byte
	SetPubKey([]byte)
	GetGas() uint64
	GetNonce() uint64
	GetFromAddress() AccAddress
}

type TxDecoder

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

TxDecoder unmarshals transfer bytes

type TxInfo

type TxInfo struct {
	Hash  string `json:"hash"`
	Index uint32 `json:"index"`
}

type TxResponse

type TxResponse struct {
	Height     int64           `json:"height,omitempty"`
	TxHash     string          `json:"txhash"`
	Index      uint32          `json:"index"`
	Code       uint32          `json:"code"`
	FormatData string          `json:"format_data,omitempty"`
	Data       string          `json:"data,omitempty"`
	RawLog     string          `json:"raw_log,omitempty"`
	Logs       ABCIMessageLogs `json:"logs"`
	Info       string          `json:"info,omitempty"`
	GasWanted  int64           `json:"gas_wanted,omitempty"`
	GasUsed    int64           `json:"gas_used,omitempty"`
	Events     StringEvents    `json:"events,omitempty"`
	Codespace  string          `json:"codespace,omitempty"`
	Tx         Tx              `json:"tx,omitempty"`
	Timestamp  string          `json:"timestamp,omitempty"`
}

func NewResponseFormatBroadcastTx

func NewResponseFormatBroadcastTx(res *ctypes.ResultBroadcastTx) TxResponse

func NewResponseFormatBroadcastTxCommit

func NewResponseFormatBroadcastTxCommit(res *ctypes.ResultBroadcastTxCommit) TxResponse

func NewResponseResultTx

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

NewResponseResultTx returns a TxResponse given a ResultTx from tendermint

func (TxResponse) Empty

func (r TxResponse) Empty() bool

Empty returns true if the response is empty

func (TxResponse) String

func (r TxResponse) String() string

type TxsResult

type TxsResult struct {
	Height int64    `json:"height"`
	Txs    []TxInfo `json:"hashes"`
	Error  string   `json:"error"`
}

type Uint

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

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

func MaxUint

func MaxUint(u1, u2 Uint) Uint

Return the maximum of the Uints

func MinUint

func MinUint(u1, u2 Uint) Uint

Return the minimum of the Uints

func NewUint

func NewUint(n uint64) Uint

NewUint constructs Uint from int64

func NewUintFromBigInt

func NewUintFromBigInt(i *big.Int) Uint

NewUintFromBigUint constructs Uint from big.Uint

func NewUintFromString

func NewUintFromString(s string) Uint

NewUintFromString constructs Uint from string

func OneUint

func OneUint() Uint

OneUint returns Uint value with one.

func ParseUint

func ParseUint(s string) (Uint, error)

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

func RelativePow

func RelativePow(x Uint, n Uint, b Uint) (z Uint)

RelativePow raises x to the power of n, where x (and the result, z) are scaled by factor b for example, RelativePow(210, 2, 100) = 441 (2.1^2 = 4.41)

func ZeroUint

func ZeroUint() Uint

ZeroUint returns unsigned zero.

func (Uint) Add

func (u Uint) Add(u2 Uint) Uint

Add adds Uint from another

func (Uint) AddUint64

func (u Uint) AddUint64(u2 uint64) Uint

Add convert uint64 and add it to Uint

func (Uint) BigInt

func (u Uint) BigInt() *big.Int

BigInt converts Uint to big.Int

func (Uint) Decr

func (u Uint) Decr() Uint

Decr decrements the Uint by one. Decr will panic if the Uint is zero.

func (Uint) Equal

func (u Uint) Equal(u2 Uint) bool

Equal compares two Uints

func (Uint) GT

func (u Uint) GT(u2 Uint) bool

GT returns true if first Uint is greater than second

func (Uint) GTE

func (u Uint) GTE(u2 Uint) bool

GTE returns true if first Uint is greater than second

func (Uint) Incr

func (u Uint) Incr() Uint

Incr increments the Uint by one.

func (Uint) IsZero

func (u Uint) IsZero() bool

IsZero returns 1 if the uint equals to 0.

func (Uint) LT

func (u Uint) LT(u2 Uint) bool

LT returns true if first Uint is lesser than second

func (Uint) LTE

func (u Uint) LTE(u2 Uint) bool

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

func (Uint) Marshal

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

Marshal implements the gogo proto custom type interface.

func (Uint) MarshalAmino

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

Override Amino binary serialization by proxying to protobuf.

func (Uint) MarshalJSON

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

MarshalJSON defines custom encoding scheme

func (*Uint) MarshalTo

func (u *Uint) MarshalTo(data []byte) (n int, err error)

MarshalTo implements the gogo proto custom type interface.

func (Uint) Mod

func (u Uint) Mod(u2 Uint) Uint

Mod returns remainder after dividing with Uint

func (Uint) Mul

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

Mul multiplies two Uints

func (Uint) MulUint64

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

Mul multiplies two Uints

func (Uint) Quo

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

Quo divides Uint with Uint

func (Uint) QuoUint64

func (u Uint) QuoUint64(u2 uint64) Uint

Quo divides Uint with uint64

func (*Uint) Size

func (u *Uint) Size() int

Size implements the gogo proto custom type interface.

func (Uint) String

func (u Uint) String() string

Human readable string

func (Uint) Sub

func (u Uint) Sub(u2 Uint) Uint

Sub adds Uint from another

func (Uint) SubUint64

func (u Uint) SubUint64(u2 uint64) Uint

SubUint64 adds Uint from another

func (Uint) Uint64

func (u Uint) Uint64() uint64

Uint64 converts Uint to uint64 Panics if the value is out of range

func (*Uint) Unmarshal

func (u *Uint) Unmarshal(data []byte) error

Unmarshal implements the gogo proto custom type interface.

func (*Uint) UnmarshalAmino

func (u *Uint) UnmarshalAmino(bz []byte) error

func (*Uint) UnmarshalJSON

func (u *Uint) UnmarshalJSON(bz []byte) error

UnmarshalJSON defines custom decoding scheme

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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