types

package
v0.9.3 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2020 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// AddrLen defines a valid address length
	AddrLen = 20
	// Bech32PrefixAccAddr defines the Bech32 prefix of an CU's address
	Bech32MainPrefix = "hbc"

	// bht in https://github.com/satoshilabs/slips/blob/master/slip-0044.md
	CoinType = 496

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

	// PrefixAccount is the prefix for CU 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 CU's address
	Bech32PrefixAccAddr = Bech32MainPrefix
	// Bech32PrefixAccPub defines the Bech32 prefix of an CU's public key
	Bech32PrefixAccPub = Bech32MainPrefix + PrefixPublic
	// Bech32PrefixValAddr defines the Bech32 prefix of a validator's operator address
	Bech32PrefixValAddr = Bech32MainPrefix + PrefixValidator + PrefixOperator
	// Bech32PrefixValPub defines the Bech32 prefix of a validator's operator public key
	Bech32PrefixValPub = Bech32MainPrefix + PrefixValidator + PrefixOperator + PrefixPublic
	// Bech32PrefixConsAddr defines the Bech32 prefix of a consensus node address
	Bech32PrefixConsAddr = Bech32MainPrefix + PrefixValidator + PrefixConsensus
	// Bech32PrefixConsPub defines the Bech32 prefix of a consensus node public key
	Bech32PrefixConsPub = Bech32MainPrefix + PrefixValidator + PrefixConsensus + PrefixPublic
)
View Source
const (
	Precision = 18

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

number of decimal places

View Source
const (
	// Base error codes
	CodeOK                CodeType = 0
	CodeInternal          CodeType = 1
	CodeTxDecode          CodeType = 2
	CodeInvalidSequence   CodeType = 3
	CodeUnauthorized      CodeType = 4
	CodeInsufficientFunds CodeType = 5
	CodeUnknownRequest    CodeType = 6
	CodeInvalidAddress    CodeType = 7
	CodeInvalidPubKey     CodeType = 8
	CodeUnknownAddress    CodeType = 9
	CodeInsufficientCoins CodeType = 10
	CodeInvalidCoins      CodeType = 11
	CodeOutOfGas          CodeType = 12
	CodeMemoTooLarge      CodeType = 13
	CodeInsufficientFee   CodeType = 14
	CodeTooManySignatures CodeType = 15
	CodeGasOverflow       CodeType = 16
	CodeNoSignatures      CodeType = 17
	CodeTooMuchPrecision  CodeType = 18

	CodeDuplicatedUtxo     CodeType = 1000
	CodeUnknownUtxo        CodeType = 1001
	CodeMismatchUtxoAmount CodeType = 1002
	CodeInvalidCollect     CodeType = 1003
	CodeAmountError        CodeType = 1004
	CodeAssetError         CodeType = 1005
	CodeUtxoError          CodeType = 1006
	CodeOnHoldError        CodeType = 1007
	CodeBlkNumberError     CodeType = 1008

	CodeInvalidAccount          CodeType = 1010
	CodeSymbolAlreadyExist      CodeType = 1011
	CodeInvalidSymbol           CodeType = 1012
	CodeUnsupportToken          CodeType = 1013
	CodeInvalidOrder            CodeType = 1014
	CodeInvalidAsset            CodeType = 1015
	CodeInvalidTx               CodeType = 1016
	CodeTransactionIsNotEnabled CodeType = 1017

	CodeUnsupportAddressType  CodeType = 1020
	CodeNotFoundOrder         CodeType = 1021
	CodeNotFoundAsset         CodeType = 1022
	CodeNotFoundCustodianUnit CodeType = 1023
	CodeInvalidCUType         CodeType = 1024

	CodeInsufficientValidtorNumberForKeyGen CodeType = 1030
	CodeInsufficientValidtorNumber          CodeType = 1031
	CodeMigrationInProgress                 CodeType = 1032
	CodeSystemBusy                          CodeType = 1033
	CodePreKeyGenTooMany                    CodeType = 1034
	CodeWaitAssignTooMany                   CodeType = 1035

	CodeEmptyDBGet CodeType = 1040
	// 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 = "hbtcchain_base"
)

SDK error codes

View Source
const (
	DepositUnconfirm   = 0
	DepositWaitConfirm = 1
	DepositConfirmed   = 2
)
View Source
const (
	WithdrawStatusUnconfirmed WithdrawStatus = 0
	// withdraw order confirmed valid by majority of settle
	WithdrawStatusValid = 1
	// withdraw order confirmed invalid (eg. withdraw to contract address) by majority of settle
	WithdrawStatusInvalid = 2
)
View Source
const (

	// default bond denomination
	DefaultBondDenom = NativeToken

	// 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 (
	Unbonded  BondStatus = 0x00
	Unbonding BondStatus = 0x01
	Bonded    BondStatus = 0x02

	BondStatusUnbonded  = "Unbonded"
	BondStatusUnbonding = "Unbonding"
	BondStatusBonded    = "Bonded"
)

staking constants

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

nolint - reexport

View Source
const (
	NativeToken        = "hbc"
	NativeTokenDecimal = 18

	NativeDefiToken        = "hdt"
	NativeDefiTokenDecimal = 8

	GasPriceBucketWindow uint64 = 10
)
View Source
const (
	KiloBytes                 = 1024
	BytesPerUtxoVin           = 150
	BytesPerUtxoVout          = 40
	LimitAccountBasedOrderNum = 1
)
View Source
const (
	MaxVinNum  = 6
	MaxVoutNum = 6
)
View Source
const HashLength = 32
View Source
const (
	OrderIDLen = 36
)
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 (
	EventTypeMessage = "message"

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

Common event types and attribute keys

View Source
var (
	KeySendEnabled        = "send_enabled"
	KeyDepositEnabled     = "deposit_enabled"
	KeyWithdrawalEnabled  = "withdrawal_enabled"
	KeyCollectThreshold   = "collect_threshold"
	KeyDepositThreshold   = "deposit_threshold"
	KeyOpenFee            = "open_fee"
	KeySysOpenFee         = "sys_open_fee"
	KeyWithdrawalFeeRate  = "withdrawal_fee_rate"
	KeyMaxOpCUNumber      = "max_op_cu_number"
	KeySysTransferNum     = "systransfer_num"
	KeyOpCUSysTransferNum = "op_cu_systransfer_num"
	KeyGasLimit           = "gas_limit"
	KeyConfirmations      = "confirmations"
	KeyNeedCollectFee     = "need_collect_fee"
)
View Source
var (
	// This is set at compile time. Could be cleveldb, defaults is goleveldb.
	DBBackend = ""

	// IsAlphaNumeric defines a regular expression for matching against alpha-numeric
	// values.
	IsAlphaNumeric = regexp.MustCompile(`^[a-zA-Z0-9]+$`).MatchString
)
View Source
var DepositNil = DepositItem{}
View Source
var NilAsset = Asset{}
View Source
var PowerReduction = NewIntFromBigInt(new(big.Int).Exp(big.NewInt(10), big.NewInt(18), nil))

PowerReduction is the amount of staking tokens required for 1 unit of consensus-engine power, HBC precision = 1^10-18

Functions

func AppendMsgToErr

func AppendMsgToErr(msg string, err string) string

appends a message to the head of the given error

func Bech32ifyAccPub

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

Bech32ifyAccPub returns a Bech32 encoded string containing the Bech32PrefixAccPub prefix for a given CU PubKey.

func Bech32ifyConsPub

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

Bech32ifyConsPub returns a Bech32 encoded string containing the Bech32PrefixConsPub prefixfor a given consensus node's PubKey.

func Bech32ifyValPub

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

Bech32ifyValPub returns a Bech32 encoded string containing the Bech32PrefixValPub prefix for a given validator operator's PubKey.

func CodeToDefaultMsg

func CodeToDefaultMsg(code CodeType) string

NOTE: Don't stringer this, we'll put better messages in later.

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 DiffKVStores

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

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

func FormatInvariant

func FormatInvariant(module, name, msg string) string

FormatInvariant returns a standardized invariant message.

func FormatTimeBytes

func FormatTimeBytes(t time.Time) []byte

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

func GetAccPubKeyBech32

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

GetAccPubKeyBech32 creates a PubKey for an CU with a given public key string using the Bech32 Bech32PrefixAccPub prefix.

func GetConsPubKeyBech32

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

GetConsPubKeyBech32 creates a PubKey for a consensus node with a given public key string using the Bech32 Bech32PrefixConsPub prefix.

func GetFromBech32

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

GetFromBech32 decodes a bytestring from a Bech32 encoded string.

func GetValPubKeyBech32

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

GetValPubKeyBech32 creates a PubKey for a validator's operator with a given public key string using the Bech32 Bech32PrefixValPub prefix.

func InclusiveEndBytes

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 IsAddressTypeLegal

func IsAddressTypeLegal(addrType AddressType) bool

func IsIllegalOrderID

func IsIllegalOrderID(orderID string) bool

func IsIllegalOrderIDList

func IsIllegalOrderIDList(orderIDs []string) bool

IsIllegalOrderIDList checks whether a list of order ID is valid. A valid order id list cannot contain duplicated order IDs and every order id must be legal .

func IsTokenNameValid added in v0.9.3

func IsTokenNameValid(s string) bool

IsTokenNameValid check token name.

func IsTokenTypeValid added in v0.9.3

func IsTokenTypeValid(tokenType TokenType) bool

func IsValidAddr

func IsValidAddr(addr string) bool

func Majority23

func Majority23(num int) int

func Majority34

func Majority34(num int) int

func MaxUint16

func MaxUint16(a, b uint16) uint16

func MustBech32ifyAccPub

func MustBech32ifyAccPub(pub crypto.PubKey) string

MustBech32ifyAccPub returns the result of Bech32ifyAccPub panicing on failure.

func MustBech32ifyConsPub

func MustBech32ifyConsPub(pub crypto.PubKey) string

MustBech32ifyConsPub returns the result of Bech32ifyConsPub panicing on failure.

func MustBech32ifyValPub

func MustBech32ifyValPub(pub crypto.PubKey) string

MustBech32ifyValPub returns the result of Bech32ifyValPub panicing on failure.

func MustGetAccPubKeyBech32

func MustGetAccPubKeyBech32(pubkey string) (pk crypto.PubKey)

MustGetAccPubKeyBech32 returns the result of GetAccPubKeyBech32 panicing on failure.

func MustGetConsPubKeyBech32

func MustGetConsPubKeyBech32(pubkey string) (pk crypto.PubKey)

MustGetConsPubKeyBech32 returns the result of GetConsPubKeyBech32 panicing on failure.

func MustGetValPubKeyBech32

func MustGetValPubKeyBech32(pubkey string) (pk crypto.PubKey)

MustGetValPubKeyBech32 returns the result of GetValPubKeyBech32 panicing on failure.

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 NewDecFromStr

func NewDecFromStr(str string) (d Dec, err Error)

create a decimal from an input decimal string. valid must come in the form:

(-) whole integers (.) decimal integers

examples of acceptable input include:

-123.456
456.7890
345
-456789

NOTE - An error will return if more decimal places are provided in the string than the constant Precision.

CONTRACT - This function does not mutate the input str.

func NewKVStoreKeys

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

NewKVStoreKeys returns a map of new pointers to KVStoreKey's. Uses pointers so keys don't collide.

func NewLevelDB

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

NewLevelDB instantiate a new LevelDB instance according to DBBackend.

func NewTransientStoreKeys

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

NewTransientStoreKeys constructs a new map of TransientStoreKey's Must return pointers according to the ocap principle

func OneSixthCeil

func OneSixthCeil(num int) 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 PubkeyToString

func PubkeyToString(pubkey crypto.PubKey) string

func RegisterCodec

func RegisterCodec(cdc *codec.Codec)

Register the sdk message type

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 StringifyData

func StringifyData(cdc *codec.Codec, data []byte) string

StringifyData decode data to receipts. return hex encoded data if err

func StringsIndex

func StringsIndex(s []string, want string) int

StringsIndex returns the index of the first instance of string `want` in string slice `s`, or -1 if `want` is not present in `s`.

func TokensToConsensusPower

func TokensToConsensusPower(tokens Int) int64

TokensToConsensusPower - convert input tokens to potential consensus-engine power

func Uint32ToBigEndian added in v0.9.3

func Uint32ToBigEndian(i uint32) []byte

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 VerifyAddressFormat

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

Types

type ABCIMessageLog

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

	// Events contains a slice of Event objects that were emitted during some
	// execution.
	Events StringEvents `json:"events"`
}

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

func NewABCIMessageLog

func NewABCIMessageLog(i uint16, 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 type.

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 AddressType

type AddressType uint64
const (
	CustodianUnitAddressType AddressType = 0x1 //CustodianUnitAddress
	DepositAddressType       AddressType = 0x2 //Deposit Address
	WithdrawalAddressType    AddressType = 0x3 //WithdrawalAddress Address
)

type AnteHandler

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

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

type Asset

type Asset struct {
	Denom string `json:"denom" yaml:"denom"`

	Address string `json:"address" yaml:"address"`

	Nonce uint64 `json:"nonce" yaml:"nonce"`

	Epoch uint64 `json:"epoch" yaml:"epoch"`

	EnableSendTx bool `json:"enable_sendtx" yaml:"enable_sendtx"`

	GasRemained Int `json:"gas_remained"`
}

func NewAsset

func NewAsset(denom, address string, epoch uint64, enbalesendtx bool) Asset

type Attribute

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

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

func NewAttribute

func NewAttribute(k, v string) Attribute

NewAttribute returns a new key/value Attribute object.

func (Attribute) String

func (a Attribute) String() string

func (Attribute) ToKVPair

func (a Attribute) ToKVPair() cmn.KVPair

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

type BalanceFlow

type BalanceFlow struct {
	// CUAddress the address for the custodian unit for the balance change
	CUAddress CUAddress

	// Symbol token symbol for the asset
	//Symbol Symbol
	Symbol Symbol

	// PreviousBalance previous balance for the balance change
	PreviousBalance Int

	// BalanceChange the actual balance change
	BalanceChange Int

	// PreviousBalanceOnHold previous balance on hold
	PreviousBalanceOnHold Int

	// BalanceOnHoldChange the actual balance on hold change
	BalanceOnHoldChange Int
}

BalanceFlow for asset balance change

type BaseToken added in v0.9.3

type BaseToken struct {
	Name        string `json:"name"`
	Symbol      Symbol `json:"symbol" yaml:"symbol"`
	Issuer      string `json:"issuer" yaml:"issuer"`              //token's issuer
	Chain       Symbol `json:"chain" yaml:"chain"`                //related mainnet token, e.g. ERC20 token's Chain is ETH
	SendEnabled bool   `json:"send_enabled" yaml:"send_enabled"`  //whether send enabled or not
	Decimals    uint64 `json:"decimals" yaml:"decimals"`          //token's decimals, represents by the decimals's
	TotalSupply Int    `json:"total_supply" yaml:"total_supply" ` //token's total supply
}

func (*BaseToken) GetChain added in v0.9.3

func (t *BaseToken) GetChain() Symbol

func (*BaseToken) GetDecimals added in v0.9.3

func (t *BaseToken) GetDecimals() uint64

func (*BaseToken) GetIssuer added in v0.9.3

func (t *BaseToken) GetIssuer() string

func (*BaseToken) GetName added in v0.9.3

func (t *BaseToken) GetName() string

func (*BaseToken) GetSymbol added in v0.9.3

func (t *BaseToken) GetSymbol() Symbol

func (*BaseToken) GetTotalSupply added in v0.9.3

func (t *BaseToken) GetTotalSupply() Int

func (*BaseToken) IsIBCToken added in v0.9.3

func (t *BaseToken) IsIBCToken() bool

func (*BaseToken) IsSendEnabled added in v0.9.3

func (t *BaseToken) IsSendEnabled() bool

func (*BaseToken) IsValid added in v0.9.3

func (t *BaseToken) IsValid() bool

func (*BaseToken) String added in v0.9.3

func (t *BaseToken) String() string

type BasicSettleQuota

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

func NewBasicSettleQuota

func NewBasicSettleQuota(limit Gas) *BasicSettleQuota

func (*BasicSettleQuota) Consume

func (b *BasicSettleQuota) Consume(valAddress ValAddress, current Gas) bool

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 BondStatus

type BondStatus byte

BondStatus is the status of a validator

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 CUAddress

type CUAddress []byte

CUAddress a wrapper around bytes meant to represent an CU address. When marshaled to a string or JSON, it uses Base58. Implement address interface

func CUAddressFromBase58

func CUAddressFromBase58(address string) (addr CUAddress, err error)

CUAddressFromBase58 creates an AccAddress from a base58 string prefixed with "HBT".

func CUAddressFromByte

func CUAddressFromByte(b []byte) CUAddress

func CUAddressFromHex

func CUAddressFromHex(address string) (addr CUAddress, err error)

CUAddressFromHex creates an CUAddress from a hex string.

func CUAddressFromPubKey

func CUAddressFromPubKey(pubKey crypto.PubKey) CUAddress

func CosmosAddressToCUAddress

func CosmosAddressToCUAddress(cosmosAddr Address) CUAddress

func NewCUAddress

func NewCUAddress() CUAddress

func (CUAddress) Bytes

func (ca CUAddress) Bytes() []byte

Bytes returns the raw address bytes.

func (CUAddress) Empty

func (ca CUAddress) Empty() bool

Returns boolean for whether an CUAddress is empty

func (CUAddress) Equals

func (ca CUAddress) Equals(ca2 Address) bool

Returns boolean for whether CUAddress equal to another address

func (CUAddress) Format

func (ca CUAddress) Format(s fmt.State, verb rune)

Format implements the fmt.Formatter interface. nolint: errcheck

func (CUAddress) IsValidAddr

func (ca CUAddress) IsValidAddr() bool

func (CUAddress) Marshal

func (ca CUAddress) Marshal() ([]byte, error)

Marshal returns the raw address bytes. It is needed for protobuf compatibility.

func (CUAddress) MarshalJSON

func (ca CUAddress) MarshalJSON() ([]byte, error)

MarshalJSON marshals to JSON using Base58.

func (CUAddress) MarshalYAML

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

MarshalYAML marshals to YAML using Bech32.

func (CUAddress) String

func (ca CUAddress) String() string

func (*CUAddress) Unmarshal

func (ca *CUAddress) Unmarshal(data []byte) error

Unmarshal sets the address to the given data. It is needed for protobuf compatibility.

func (*CUAddress) UnmarshalJSON

func (ca *CUAddress) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshals from JSON assuming Base58 encoding.

func (*CUAddress) UnmarshalYAML

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

UnmarshalYAML unmarshals from JSON assuming Bech32 encoding.

type CUAddressList

type CUAddressList []CUAddress

func (CUAddressList) Any

func (l CUAddressList) Any(f func(CUAddress) bool) bool

Any is a method on CUAddressList that returns true if at least one member of the list satisfies a function. It returns false if the list is empty.

func (CUAddressList) Contains

func (l CUAddressList) Contains(target Address) bool

func (CUAddressList) Join

func (l CUAddressList) Join() string

func (CUAddressList) Len

func (l CUAddressList) Len() int

func (CUAddressList) Less

func (l CUAddressList) Less(i, j int) bool

func (CUAddressList) Swap

func (l CUAddressList) Swap(i, j int)

type CUType

type CUType int
const (
	CUTypeUser CUType = 0x1 //用户地址
	CUTypeOp   CUType = 0x2 //运营地址
	CUTypeORG  CUType = 0x3 //机构地址
)

type CacheKVStore

type CacheKVStore = types.CacheKVStore

nolint - reexport

type CacheMultiStore

type CacheMultiStore = types.CacheMultiStore

nolint - reexport

type CacheWrap

type CacheWrap = types.CacheWrap

nolint - reexport

type CacheWrapper

type CacheWrapper = types.CacheWrapper

nolint - reexport

type CategoryType

type CategoryType uint64

CategoryType indicates the category type that causes the receipt in the flow.

const (
	// TODO(kai.wen): Add more category type
	CategoryTypeTransfer          CategoryType = 0x1
	CategoryTypeMultiTransfer     CategoryType = 0x2
	CategoryTypeKeyGen            CategoryType = 0x3
	CategoryTypeDeposit           CategoryType = 0x4
	CategoryTypeWithdrawal        CategoryType = 0x5
	CategoryTypeCollect           CategoryType = 0x6
	CategoryTypeSysTransfer       CategoryType = 0x7
	CategoryTypeOrderRetry        CategoryType = 0x8
	CategoryTypeMapping           CategoryType = 0x9
	CategoryTypeOpcuAssetTransfer CategoryType = 0xA
	CategoryTypeOpenswap          CategoryType = 0xB
	CategoryTypeQuickSwap         CategoryType = 0xC
	CategoryTypeHrc10             CategoryType = 0xD
)

type ChainCUInfo

type ChainCUInfo struct {
	Chain       string `json:"chain"`
	Addr        string `json:"addr"`
	CuAddress   string `json:"cu_address"`
	IsChainAddr bool   `json:"ischainaddr"`
	IsOPCU      bool   `json:"isopcu"`
}

func (*ChainCUInfo) String

func (info *ChainCUInfo) String() string

type CodeType

type CodeType uint32

CodeType - ABCI code identifier within codespace

func (CodeType) IsOK

func (code CodeType) IsOK() bool

IsOK - is everything okay?

type CodespaceType

type CodespaceType string

CodespaceType - codespace identifier

type Coin

type Coin struct {
	Denom string `json:"denom"` // denom is token symbol

	// To allow the use of unsigned integers (see: #1273) a larger refactor will
	// need to be made. So we use signed integers for now with safety measures in
	// place preventing negative values being used.
	Amount Int `json:"amount"`
}

Coin hold some amount of one currency.

CONTRACT: A coin will never hold a negative amount of any denomination.

TODO: Make field members private for further safety.

func NewCoin

func NewCoin(denom string, amount Int) Coin

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

func NewInt64Coin

func NewInt64Coin(denom string, amount int64) Coin

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

func ParseCoin

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

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

func (Coin) Add

func (coin Coin) Add(coinB Coin) Coin

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

func (Coin) IsEqual

func (coin Coin) IsEqual(other Coin) bool

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

func (Coin) IsGTE

func (coin Coin) IsGTE(other Coin) bool

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

func (Coin) IsLT

func (coin Coin) IsLT(other Coin) bool

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

func (Coin) IsNegative

func (coin Coin) IsNegative() bool

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

TODO: Remove once unsigned integers are used.

func (Coin) IsPositive

func (coin Coin) IsPositive() bool

IsPositive returns true if coin amount is positive.

TODO: Remove once unsigned integers are used.

func (Coin) IsValid

func (coin Coin) IsValid() bool

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

func (Coin) IsZero

func (coin Coin) IsZero() bool

IsZero returns if this represents no money

func (Coin) MulRaw

func (coin Coin) MulRaw(i2 int64) Coin

func (Coin) String

func (coin Coin) String() string

String provides a human-readable representation of a coin

func (Coin) Sub

func (coin Coin) Sub(coinB Coin) Coin

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

type Coins

type Coins []Coin

Coins is a set of Coin, one per currency

func NewCoins

func NewCoins(coins ...Coin) Coins

NewCoins constructs a new coin set.

func ParseCoins

func ParseCoins(coinsStr string) (Coins, error)

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

func (Coins) Add

func (coins Coins) Add(coinsB Coins) Coins

Add adds two sets of coins.

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

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

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

func (Coins) AmountOf

func (coins Coins) AmountOf(denom string) Int

Returns the amount of a denom from coins

func (Coins) DenomsSubsetOf

func (coins Coins) DenomsSubsetOf(coinsB Coins) bool

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

func (Coins) Empty

func (coins Coins) Empty() bool

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

func (Coins) IsAllGT

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

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

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

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

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

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

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

func (coins Coins) IsAnyNegative() bool

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

TODO: Remove once unsigned integers are used.

func (Coins) IsEqual

func (coins Coins) IsEqual(coinsB Coins) bool

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

func (Coins) IsValid

func (coins Coins) IsValid() bool

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

func (Coins) IsZero

func (coins Coins) IsZero() bool

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

func (Coins) Len

func (coins Coins) Len() int

nolint

func (Coins) Less

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

func (Coins) MarshalJSON

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

Sub subtracts a set of coins from another.

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

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

func (Coins) Swap

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

type CollectFinishFlow

type CollectFinishFlow struct {
	OrderIDs []string
	CostFee  Int
}

type CollectSignFinishFlow

type CollectSignFinishFlow struct {
	OrderIDs []string
	SignedTx []byte
}

type CollectWaitSignFlow

type CollectWaitSignFlow struct {
	OrderIDs []string
	RawData  []byte
}

type CommitID

type CommitID = types.CommitID

nolint - reexport

type CommitKVStore

type CommitKVStore = types.CommitKVStore

nolint - reexport

type CommitMultiStore

type CommitMultiStore = types.CommitMultiStore

nolint - reexport

type CommitStore

type CommitStore = types.CommitStore

nolint - reexport

type Committer

type Committer = types.Committer

nolint - reexport

type Config

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

func GetConfig() *Config

GetConfig returns the config instance for the SDK.

func (*Config) GetAddressVerifier

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

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

func (*Config) GetBech32AccountAddrPrefix

func (config *Config) GetBech32AccountAddrPrefix() string

GetBech32AccountAddrPrefix returns the Bech32 prefix for CU address

func (*Config) GetBech32AccountPubPrefix

func (config *Config) GetBech32AccountPubPrefix() string

GetBech32AccountPubPrefix returns the Bech32 prefix for CU public key

func (*Config) GetBech32ConsensusAddrPrefix

func (config *Config) GetBech32ConsensusAddrPrefix() string

GetBech32ConsensusAddrPrefix returns the Bech32 prefix for consensus node address

func (*Config) GetBech32ConsensusPubPrefix

func (config *Config) GetBech32ConsensusPubPrefix() string

GetBech32ConsensusPubPrefix returns the Bech32 prefix for consensus node public key

func (*Config) GetBech32ValidatorAddrPrefix

func (config *Config) GetBech32ValidatorAddrPrefix() string

GetBech32ValidatorAddrPrefix returns the Bech32 prefix for validator address

func (*Config) GetBech32ValidatorPubPrefix

func (config *Config) GetBech32ValidatorPubPrefix() string

GetBech32ValidatorPubPrefix returns the Bech32 prefix for validator public key

func (*Config) GetCoinType

func (config *Config) GetCoinType() uint32

Get the BIP-0044 CoinType code on the config

func (*Config) GetFullFundraiserPath

func (config *Config) GetFullFundraiserPath() string

Get the FullFundraiserPath (BIP44Prefix) on the config

func (*Config) GetTxEncoder

func (config *Config) GetTxEncoder() TxEncoder

GetTxEncoder return function to encode transactions

func (*Config) Seal

func (config *Config) Seal() *Config

Seal seals the config such that the config state could not be modified further

func (*Config) SetAddressVerifier

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

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

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

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

func (config *Config) SetCoinType(coinType uint32)

Set the BIP-0044 CoinType code on the config

func (*Config) SetFullFundraiserPath

func (config *Config) SetFullFundraiserPath(fullFundraiserPath string)

Set the FullFundraiserPath (BIP44Prefix) on the config

func (*Config) SetTxEncoder

func (config *Config) SetTxEncoder(encoder TxEncoder)

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

type ConsAddress

type ConsAddress []byte

ConsAddress defines a wrapper around bytes meant to present a consensus node. When marshaled to a string or JSON, it uses Bech32.

func ConsAddressFromBech32

func ConsAddressFromBech32(address string) (addr ConsAddress, err error)

ConsAddressFromBech32 creates a ConsAddress from a Bech32 string.

func ConsAddressFromHex

func ConsAddressFromHex(address string) (addr ConsAddress, err error)

ConsAddressFromHex creates a ConsAddress from a hex string.

func GetConsAddress

func GetConsAddress(pubkey crypto.PubKey) ConsAddress

get ConsAddress from pubkey

func (ConsAddress) Bytes

func (ca ConsAddress) Bytes() []byte

Bytes returns the raw address bytes.

func (ConsAddress) Empty

func (ca ConsAddress) Empty() bool

Returns boolean for whether an ConsAddress is empty

func (ConsAddress) Equals

func (ca ConsAddress) Equals(ca2 Address) bool

Returns boolean for whether two ConsAddress are Equal

func (ConsAddress) Format

func (ca ConsAddress) Format(s fmt.State, verb rune)

Format implements the fmt.Formatter interface. nolint: errcheck

func (ConsAddress) Marshal

func (ca ConsAddress) Marshal() ([]byte, error)

Marshal returns the raw address bytes. It is needed for protobuf compatibility.

func (ConsAddress) MarshalJSON

func (ca ConsAddress) MarshalJSON() ([]byte, error)

MarshalJSON marshals to JSON using Bech32.

func (ConsAddress) MarshalYAML

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

MarshalYAML marshals to YAML using Bech32.

func (ConsAddress) String

func (ca ConsAddress) String() string

String implements the Stringer interface.

func (*ConsAddress) Unmarshal

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

Unmarshal sets the address to the given data. It is needed for protobuf compatibility.

func (*ConsAddress) UnmarshalJSON

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

UnmarshalJSON unmarshals from JSON assuming Bech32 encoding.

func (*ConsAddress) UnmarshalYAML

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 abci.Header, isCheckTx bool, logger log.Logger) Context

create a new context

func (Context) BlockGasMeter

func (c Context) BlockGasMeter() GasMeter

func (Context) BlockHeader

func (c Context) BlockHeader() abci.Header

clone the header before returning

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

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

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

func (Context) Context

func (c Context) Context() context.Context

Read-only accessors

func (Context) EventManager

func (c Context) EventManager() *EventManager

func (Context) GasMeter

func (c Context) GasMeter() GasMeter

func (Context) IsCheckTx

func (c Context) IsCheckTx() bool

func (Context) IsZero

func (c Context) IsZero() bool

TODO: remove???

func (Context) KVStore

func (c Context) KVStore(key StoreKey) KVStore

KVStore fetches a KVStore from the MultiStore.

func (Context) Logger

func (c Context) Logger() log.Logger

func (Context) MinGasPrices

func (c Context) MinGasPrices() DecCoins

func (Context) MultiStore

func (c Context) MultiStore() MultiStore

func (Context) SettleQuota

func (c Context) SettleQuota() SettleQuota

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

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

Value is deprecated, provided for backwards compatibility Please use

ctx.Context().Value(key)

instead of

ctx.Value(key)

func (Context) VoteInfos

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

func (Context) WithBlockGasMeter

func (c Context) WithBlockGasMeter(meter GasMeter) Context

func (Context) WithBlockHeader

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

func (Context) WithBlockHeight

func (c Context) WithBlockHeight(height int64) Context

func (Context) WithBlockTime

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

func (Context) WithChainID

func (c Context) WithChainID(chainID string) Context

func (Context) WithConsensusParams

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

func (Context) WithContext

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

func (Context) WithEventManager

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

func (Context) WithGasMeter

func (c Context) WithGasMeter(meter GasMeter) Context

func (Context) WithIsCheckTx

func (c Context) WithIsCheckTx(isCheckTx bool) Context

func (Context) WithLogger

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

func (Context) WithMinGasPrices

func (c Context) WithMinGasPrices(gasPrices DecCoins) Context

func (Context) WithMultiStore

func (c Context) WithMultiStore(ms MultiStore) Context

func (Context) WithProposer

func (c Context) WithProposer(addr ConsAddress) Context

func (Context) WithSettleQuota

func (c Context) WithSettleQuota(quota SettleQuota) Context

func (Context) WithTxBytes

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

func (Context) WithValue

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

WithValue is deprecated, provided for backwards compatibility Please use

ctx = ctx.WithContext(context.WithValue(ctx.Context(), key, false))

instead of

ctx = ctx.WithValue(key, false)

func (Context) WithVoteInfos

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

type Dec

type Dec struct {
	*big.Int `json:"int"`
}

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

func DecMedian

func DecMedian(decs Decs) Dec

contract: len(decs) > 0

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

nolint - common values

func (Dec) Abs

func (d Dec) Abs() Dec

func (Dec) Add

func (d Dec) Add(d2 Dec) Dec

addition

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

func (d Dec) MarshalAmino() (string, error)

wraps d.MarshalText()

func (Dec) MarshalJSON

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

MarshalJSON marshals the decimal

func (Dec) MarshalYAML

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

MarshalYAML returns Ythe AML 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) 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) 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) UnmarshalAmino

func (d *Dec) UnmarshalAmino(text string) (err error)

requires a valid JSON string - strings quotes and calls UnmarshalText

func (*Dec) UnmarshalJSON

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

UnmarshalJSON defines custom decoding scheme

type DecCoin

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

Coins which can have additional decimal points

func NewDecCoin

func NewDecCoin(denom string, amount Int) DecCoin

func NewDecCoinFromCoin

func NewDecCoinFromCoin(coin Coin) DecCoin

func NewDecCoinFromDec

func NewDecCoinFromDec(denom string, amount Dec) 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

Adds amounts of two coins with same denom

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

func (coin DecCoin) IsZero() bool

IsZero returns if the DecCoin amount is zero.

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

Subtracts amounts of two 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.

type DecCoins

type DecCoins []DecCoin

coins with decimal

func NewDecCoins

func NewDecCoins(coins Coins) DecCoins

func ParseDecCoins

func ParseDecCoins(coinsStr string) (DecCoins, error)

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

func (DecCoins) Add

func (coins DecCoins) Add(coinsB DecCoins) DecCoins

Add adds two sets of DecCoins.

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

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

func (DecCoins) AmountOf

func (coins DecCoins) AmountOf(denom string) Dec

returns the amount of a denom from deccoins

func (DecCoins) Copy

func (coins DecCoins) Copy() DecCoins

func (DecCoins) Empty

func (coins DecCoins) Empty() bool

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

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

return 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 Decs

type Decs []Dec

func (Decs) Len

func (decs Decs) Len() int

func (Decs) Less

func (decs Decs) Less(i, j int) bool

func (Decs) Sort

func (decs Decs) Sort() Decs

func (Decs) Swap

func (decs Decs) Swap(i, j int)

type DepositConfirmedFlow

type DepositConfirmedFlow struct {
	ValidOrderIDs   []string
	InValidOrderIDs []string
}

type DepositFlow

type DepositFlow struct {
	CuAddress         string
	Multisignedadress string
	Symbol            string
	Index             uint64
	Txhash            string
	Amount            Int
	OrderID           string
	DepositType       DepositType
	Memo              string
	Epoch             uint64
}

type DepositItem

type DepositItem struct {
	Hash       string            `json:"hash"`
	Index      uint64            `json:"index"`
	Amount     Int               `json:"amount"`
	ExtAddress string            `json:"ext_address"`
	Memo       string            `json:"memo"`
	Status     DepositItemStatus `json:"status"`
}

func NewDepositItem

func NewDepositItem(hash string, index uint64, amount Int, extAddress, memo string, status DepositItemStatus) (DepositItem, error)

func (DepositItem) GetHash

func (d DepositItem) GetHash() string

func (DepositItem) GetIndex

func (d DepositItem) GetIndex() uint64

func (DepositItem) GetStatus

func (d DepositItem) GetStatus() DepositItemStatus

func (DepositItem) IsValid

func (d DepositItem) IsValid() bool

func (DepositItem) String

func (d DepositItem) String() string

type DepositItemStatus

type DepositItemStatus uint16
const (
	DepositItemStatusUnCollected DepositItemStatus = 0x0
	DepositItemStatusWaitCollect DepositItemStatus = 0x1
	DepositItemStatusConfirmed   DepositItemStatus = 0x2
	DepositItemStatusInProcess   DepositItemStatus = 0x3
)

state transform flow:

CollectWaitSign                CollectFinish

UnCollected -------------------> InProcess -----------------> Confirmed

func (DepositItemStatus) In

In check if current status is in the list

type DepositList

type DepositList []DepositItem

--------------------------------------------------- DepositList

func NewDepositList

func NewDepositList(deposits ...DepositItem) (DepositList, error)

func (*DepositList) AddDepositItem

func (dts *DepositList) AddDepositItem(d DepositItem) error

func (*DepositList) Filter

func (dts *DepositList) Filter(filterFunc func(DepositItem) bool) DepositList

func (*DepositList) GetDepositItem

func (dts *DepositList) GetDepositItem(hash string, index uint64) (DepositItem, int)

GetDeposit 返回 Deposit 和在数组中的下标,不存在返回空和 -1

func (DepositList) Len

func (dts DepositList) Len() int

nolint

func (DepositList) Less

func (dts DepositList) Less(i, j int) bool

func (*DepositList) RemoveDepositItem

func (dts *DepositList) RemoveDepositItem(hash string, index uint64) error

DelDeposit remove Deposit from list & list len() -1

func (DepositList) Sort

func (dts DepositList) Sort() DepositList

Sort is a helper function to sort the set of depositList inplace sort by hash & index

func (DepositList) SortByAmount

func (dts DepositList) SortByAmount()

func (DepositList) SortByAmountDesc

func (dts DepositList) SortByAmountDesc()

func (*DepositList) String

func (dts *DepositList) String() string

func (*DepositList) Sum

func (dts *DepositList) Sum() Int

func (*DepositList) SumByStatus

func (dts *DepositList) SumByStatus(status DepositItemStatus) Int

func (DepositList) Swap

func (dts DepositList) Swap(i, j int)

func (*DepositList) UpdateDepositItem

func (dts *DepositList) UpdateDepositItem(d DepositItem) error

// UpdateDeposit update the deposit in depositList which have same hash & index

type DepositType

type DepositType uint64
const (
	DepositTypeCU   DepositType = 0x1
	DepositTypeOPCU DepositType = 0x2
)

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 Epoch

type Epoch struct {
	Index             uint64      `json:"index" yaml:"index"`
	StartBlockNum     uint64      `json:"start_block_num" yaml:"start_block_num"` // inclusive
	EndBlockNum       uint64      `json:"end_block_num" yaml:"end_block_num"`     // inclusive, 0 means this epoch is not finished yet
	KeyNodeSet        []CUAddress `json:"key_node_set" yaml:"key_node_set"`
	MigrationFinished bool        `json:"migration_finished" yaml:"migration_finished"`
}

func NewEpoch

func NewEpoch(index uint64, startBlockNum uint64, endBlockNum uint64, keyNodeSet []CUAddress, finished bool) Epoch

func (Epoch) String

func (e Epoch) String() string

type Error

type Error interface {

	// convenience
	TraceSDK(format string, args ...interface{}) Error

	// set codespace
	WithDefaultCodespace(CodespaceType) Error

	Code() CodeType
	Codespace() CodespaceType
	ABCILog() string
	Result() Result
	QueryResult() abci.ResponseQuery
	// contains filtered or unexported methods
}

sdk Error type

func ErrAlreadyExitSymbol

func ErrAlreadyExitSymbol(msg string) Error

func ErrDuplicatedUtxo

func ErrDuplicatedUtxo(msg string) Error

func ErrEmptyDBGet

func ErrEmptyDBGet(msg string) Error

func ErrGasOverflow

func ErrGasOverflow(msg string) Error

func ErrInsufficientCoins

func ErrInsufficientCoins(msg string) Error

func ErrInsufficientFee

func ErrInsufficientFee(msg string) Error

func ErrInsufficientFunds

func ErrInsufficientFunds(msg string) Error

func ErrInsufficientValidatorNum

func ErrInsufficientValidatorNum(msg string) Error

func ErrInsufficientValidatorNumForKeyGen

func ErrInsufficientValidatorNumForKeyGen(msg string) Error

func ErrInternal

func ErrInternal(msg string) Error

nolint

func ErrInvalidAccount

func ErrInvalidAccount(msg string) Error

func ErrInvalidAddr

func ErrInvalidAddr(msg string) Error

func ErrInvalidAddress

func ErrInvalidAddress(msg string) Error

func ErrInvalidAmount

func ErrInvalidAmount(msg string) Error

func ErrInvalidAsset

func ErrInvalidAsset(msg string) Error

func ErrInvalidBlkNumber

func ErrInvalidBlkNumber(msg string) Error

func ErrInvalidCUType

func ErrInvalidCUType(msg string) Error

func ErrInvalidCoins

func ErrInvalidCoins(msg string) Error

func ErrInvalidCollect

func ErrInvalidCollect(msg string) Error

func ErrInvalidOnhold

func ErrInvalidOnhold(msg string) Error

func ErrInvalidOrder

func ErrInvalidOrder(msg string) Error

func ErrInvalidPubKey

func ErrInvalidPubKey(msg string) Error

func ErrInvalidSequence

func ErrInvalidSequence(msg string) Error

func ErrInvalidSymbol

func ErrInvalidSymbol(msg string) Error

func ErrInvalidTx

func ErrInvalidTx(msg string) Error

func ErrInvalidUtxo

func ErrInvalidUtxo(msg string) Error

func ErrMemoTooLarge

func ErrMemoTooLarge(msg string) Error

func ErrMigrationInProgress

func ErrMigrationInProgress(msg string) Error

func ErrMismatchUtxoAmount

func ErrMismatchUtxoAmount(msg string) Error

func ErrNoSignatures

func ErrNoSignatures(msg string) Error

func ErrNotFoundAsset

func ErrNotFoundAsset(msg string) Error

func ErrNotFoundOrder

func ErrNotFoundOrder(msg string) Error

func ErrOutOfGas

func ErrOutOfGas(msg string) Error

func ErrPreKeyGenTooMany

func ErrPreKeyGenTooMany(msg string) Error

func ErrSystemBusy

func ErrSystemBusy(msg string) Error

func ErrTooManySignatures

func ErrTooManySignatures(msg string) Error

func ErrTooMuchPrecision

func ErrTooMuchPrecision(msg string) Error

func ErrTransactionIsNotEnabled

func ErrTransactionIsNotEnabled(msg string) Error

func ErrTxDecode

func ErrTxDecode(msg string) Error

func ErrUnSupportAddressType

func ErrUnSupportAddressType(msg string) Error

func ErrUnSupportToken

func ErrUnSupportToken(msg string) Error

func ErrUnauthorized

func ErrUnauthorized(msg string) Error

func ErrUnknownAddress

func ErrUnknownAddress(msg string) Error

func ErrUnknownRequest

func ErrUnknownRequest(msg string) Error

func ErrUnknownUtxo

func ErrUnknownUtxo(msg string) Error

func ErrWaitAssignTooMany

func ErrWaitAssignTooMany(msg string) Error

func NewError

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

NewError - create an error.

type ErrorGasOverflow

type ErrorGasOverflow = types.ErrorGasOverflow

nolint - reexport

type ErrorOutOfGas

type ErrorOutOfGas = types.ErrorOutOfGas

nolint - reexport

type Event

type Event abci.Event

Event is a type alias for an ABCI Event

func NewEvent

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 (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 Flow

type Flow interface{}

Flow defines the interface of the flow in the receipt

type Gas

type Gas = types.Gas

nolint - reexport

type GasConfig

type GasConfig = types.GasConfig

nolint - reexport

type GasMeter

type GasMeter = types.GasMeter

nolint - reexport

func NewGasMeter

func NewGasMeter(limit Gas) GasMeter

nolint - reexport

func NewInfiniteGasMeter

func NewInfiniteGasMeter() GasMeter

nolint - reexport

type GasRefundHandler added in v0.9.3

type GasRefundHandler func(ctx Context, tx Tx, gasWanted, gasUsed uint64) bool

type Handler

type Handler func(ctx Context, msg Msg) Result

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

type Hash

type Hash [HashLength]byte

Hash to identify uniqueness

func BytesToHash

func BytesToHash(bytes []byte) Hash

func ProtoToHash

func ProtoToHash(msg proto.Message) Hash

func (Hash) Bytes

func (h Hash) Bytes() []byte

type IBCToken added in v0.9.3

type IBCToken struct {
	BaseToken

	TokenType          TokenType `json:"type" yaml:"type"`                                     //token's type
	DepositEnabled     bool      `json:"deposit_enabled" yaml:"deposit_enabled"`               //whether send enabled or not
	WithdrawalEnabled  bool      `json:"withdrawal_enabled" yaml:"withdrawal_enabled"`         //whether withdrawal enabled or not
	CollectThreshold   Int       `json:"collect_threshold" yaml:"collect_threshold" `          // token's collect threshold == account threshold
	DepositThreshold   Int       `json:"deposit_threshold" yaml:"deposit_threshold"`           // token's deposit threshold
	OpenFee            Int       `json:"open_fee" yaml:"open_fee"`                             // token's open fee for custodianunit address
	SysOpenFee         Int       `json:"sys_open_fee" yaml:"sys_open_fee"`                     // token's open fee for external address
	WithdrawalFeeRate  Dec       `json:"withdrawal_fee_rate" yaml:"withdrawal_fee_rate"`       // token's WithdrawalFeeRate
	MaxOpCUNumber      uint64    `json:"max_op_cu_number" yaml:"max_op_cu_number"`             // token's opcu num
	SysTransferNum     Int       `json:"sys_transfer_num" yaml:"sys_transfer_num"`             // 给user反向打币每次限额
	OpCUSysTransferNum Int       `json:"op_cu_sys_transfer_num" yaml:"op_cu_sys_transfer_num"` // 给 opcu之间转gas的每次限额
	GasLimit           Int       `json:"gas_limit" yaml:"gas_limit"`
	GasPrice           Int       `json:"gas_price" yaml:"gas_price"`
	Confirmations      uint64    `json:"confirmations" yaml:"confirmations"` //confirmation of chain
	IsNonceBased       bool      `json:"is_nonce_based" yaml:"is_nonce_based"`
	NeedCollectFee     bool      `json:"need_collect_fee" yaml:"need_collect_fee"`
}

IBCToken defines information of inter-blockchain token

func (*IBCToken) CollectFee added in v0.9.3

func (t *IBCToken) CollectFee() Coin

func (*IBCToken) IsValid added in v0.9.3

func (t *IBCToken) IsValid() bool

func (*IBCToken) OpCUSysTransferAmount added in v0.9.3

func (t *IBCToken) OpCUSysTransferAmount() Int

func (*IBCToken) String added in v0.9.3

func (t *IBCToken) String() string

func (*IBCToken) SysTransferAmount added in v0.9.3

func (t *IBCToken) SysTransferAmount() Int

func (*IBCToken) WithdrawalFee added in v0.9.3

func (t *IBCToken) WithdrawalFee() Coin

type InitChainer

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

InitChainer initializes 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 DefaultUtxoCollectTxSize added in v0.9.3

func DefaultUtxoCollectTxSize() Int

func DefaultUtxoWithdrawTxSize added in v0.9.3

func DefaultUtxoWithdrawTxSize() Int

func EstimateSignedUtxoTxSize

func EstimateSignedUtxoTxSize(numVin, numVout int) Int

EstimateSignedUtxoTxSize, the number of changeback should be counted into numVout.

for example, if 1 withdrawal to and 1 changeback, numVout =2

func IntMedian

func IntMedian(Ints Ints) Int

contract: len(Ints) > 0

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

func SizeInKB(size int) Int

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

func (i Int) MarshalAmino() (string, error)

MarshalAmino defines custom encoding scheme

func (Int) MarshalJSON

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

MarshalJSON defines custom encoding scheme

func (Int) MarshalYAML

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

MarshalYAML returns Ythe AML 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) 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) UnmarshalAmino

func (i *Int) UnmarshalAmino(text string) error

UnmarshalAmino defines custom decoding scheme

func (*Int) UnmarshalJSON

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

UnmarshalJSON defines custom decoding scheme

type Ints

type Ints []Int

func (Ints) Len

func (Ints Ints) Len() int

func (Ints) Less

func (Ints Ints) Less(i, j int) bool

func (Ints) Sort

func (Ints Ints) Sort() Ints

func (Ints) Swap

func (Ints Ints) Swap(i, j int)

type Invariant

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

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

expected interface for registering invariants

type Invariants

type Invariants []Invariant

Invariants defines a group of invariants

type Iterator

type Iterator = types.Iterator

nolint - reexport

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

key-value result for iterator queries

type KVStore

type KVStore = types.KVStore

nolint - reexport

type KVStoreKey

type KVStoreKey = types.KVStoreKey

nolint - reexport

func NewKVStoreKey

func NewKVStoreKey(name string) *KVStoreKey

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

type KeyGenFinishFlow

type KeyGenFinishFlow struct {
	OrderID     string
	ToAddr      string
	IsPreKeyGen bool
}

type KeyGenFlow

type KeyGenFlow struct {
	OrderID         string
	Symbol          Symbol
	From            CUAddress
	To              CUAddress
	IsPreKeyGen     bool
	ExcludedKeyNode CUAddress
}

type KeyGenWaitSignFlow

type KeyGenWaitSignFlow struct {
	OrderID string
	PubKey  []byte
}

type MappingBalanceFlow

type MappingBalanceFlow struct {
	// Symbol token symbol for the mapping asset
	IssueSymbol       Symbol
	PreviousIssuePool Int
	IssuePoolChange   Int
}

MappingBalanceFlow for mapping balance change

type MigrationStatus

type MigrationStatus int
const (
	MigrationBegin           MigrationStatus = 0x00
	MigrationKeyGenBegin     MigrationStatus = 0x01
	MigrationKeyGenFinish    MigrationStatus = 0x02
	MigrationAssetBegin      MigrationStatus = 0x03
	MigrationMainTokenFinish MigrationStatus = 0x04
	MigrationFinish          MigrationStatus = 0x05
)

type Msg

type Msg interface {

	// Return the message type.
	// Must be alphanumeric or empty.
	Route() string

	// Returns a human-readable string for the message, intended for utilization
	// within tags
	Type() string

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

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

	// Signers returns the addrs of signers that must sign.
	// CONTRACT: All signatures must be present to be valid.
	// CONTRACT: Returns addrs in some deterministic order.
	GetSigners() []CUAddress
}

Transactions messages must fulfill the Msg

type MultiStore

type MultiStore = types.MultiStore

nolint - reexport

type OpCUAstInfo added in v0.9.3

type OpCUAstInfo struct {
	Symbol                    string          `json:"symbol"`
	CuAddress                 string          `json:"cu_address"`
	Locked                    bool            `json:"locked"`
	Amount                    Int             `json:"amount"` // TODO 计算当前余额
	MultisignAddress          string          `json:"multisign_address"`
	LastEpochMultisignAddress string          `json:"last_epoch_multisign_address"`
	DepositList               DepositList     `json:"deposit_list"`
	MainNetAmount             Int             `json:"main_net_amount"` // erc20's amount of eth
	GasUsed                   Int             `json:"gas_used"`
	GasReceived               Int             `json:"gas_received"`
	MigrationStatus           MigrationStatus `json:"migration_status"`
}

----------------------------------------------------------------------

func (*OpCUAstInfo) String added in v0.9.3

func (oc *OpCUAstInfo) String() string

String implements fmt.Stringer

type OpCUsAstInfo added in v0.9.3

type OpCUsAstInfo []OpCUAstInfo

func (OpCUsAstInfo) String added in v0.9.3

func (cs OpCUsAstInfo) String() string

type OpcuAssetTransferFinishFlow

type OpcuAssetTransferFinishFlow struct {
	OrderID string
	CostFee Int
}

type OpcuAssetTransferFlow

type OpcuAssetTransferFlow struct {
	OrderID       string
	Opcu          string
	FromAddr      string
	ToAddr        string
	Symbol        string
	TransferItems []TransferItem
}

type OpcuAssetTransferSignFinishFlow

type OpcuAssetTransferSignFinishFlow struct {
	OrderID  string
	SignedTx []byte
}

type OpcuAssetTransferWaitSignFlow

type OpcuAssetTransferWaitSignFlow struct {
	OrderID string
	RawData []byte
}

type Order

type Order interface {
	GetOrderType() OrderType
	SetOrderType(orderType OrderType)
	GetOrderStatus() OrderStatus
	SetOrderStatus(status OrderStatus)
	GetID() string
	SetID(string) Error
	GetSymbol() string
	GetCUAddress() CUAddress
	GetHeight() uint64
	//DeepCopy() Order
	String() string
}

type OrderBase

type OrderBase struct {
	CUAddress CUAddress   `json:"cu_address"`
	ID        string      `json:"id"`
	OrderType OrderType   `json:"order_type"`
	Symbol    string      `json:"symbol"`
	Status    OrderStatus `json:"status"`
	Height    uint64      `json:"height"`
}

func (*OrderBase) DeepCopy

func (o *OrderBase) DeepCopy() Order

DeepCopy OrderBase

func (*OrderBase) GetCUAddress

func (o *OrderBase) GetCUAddress() CUAddress

func (*OrderBase) GetHeight

func (o *OrderBase) GetHeight() uint64

func (*OrderBase) GetID

func (o *OrderBase) GetID() string

func (*OrderBase) GetOrderStatus

func (o *OrderBase) GetOrderStatus() OrderStatus

func (*OrderBase) GetOrderType

func (o *OrderBase) GetOrderType() OrderType

func (*OrderBase) GetSymbol

func (o *OrderBase) GetSymbol() string

func (*OrderBase) SetID

func (o *OrderBase) SetID(id string) Error

func (*OrderBase) SetOrderStatus

func (o *OrderBase) SetOrderStatus(status OrderStatus)

func (*OrderBase) SetOrderType

func (o *OrderBase) SetOrderType(orderType OrderType)

func (*OrderBase) String

func (o *OrderBase) String() string

type OrderCollect

type OrderCollect struct {
	OrderBase
	CollectFromCU      CUAddress `json:"collect_from_cu"`
	CollectFromAddress string    `json:"collect_from_address"`
	CollectToCU        CUAddress `json:"collect_to_cu"`
	Amount             Int       `json:"amount"`
	GasPrice           Int       `json:"gas_price"`
	GasLimit           Int       `json:"gas_limit"`
	CostFee            Int       `json:"cost_fee"`
	// external chain deposit tx hash
	Txhash string `json:"tx_hash"`
	// external chain deposit tx index
	Index    uint64 `json:"index"`
	Memo     string `json:"memo"`
	RawData  []byte `json:"raw_data"`
	SignedTx []byte `json:"signed_Tx"`
	// external chain collect tx hash
	ExtTxHash     string `json:"ext_txhash"`
	DepositStatus uint16 `json:"deposit_status"`
}

func (*OrderCollect) DeepCopy

func (o *OrderCollect) DeepCopy() Order

DeepCopy OrderCollect

func (*OrderCollect) GetRawdata

func (o *OrderCollect) GetRawdata() []byte

func (*OrderCollect) GetSignedTx

func (o *OrderCollect) GetSignedTx() []byte

func (*OrderCollect) MarshalYAML

func (o *OrderCollect) MarshalYAML() (interface{}, error)

MarshalYAML returns the YAML representation of an SysTransfer order.

func (*OrderCollect) String

func (o *OrderCollect) String() string

type OrderFlow

type OrderFlow struct {
	Symbol Symbol

	// CUAddress the address for the custodian unit for the order change
	CUAddress CUAddress

	// OrderID for the order change
	OrderID string

	// OrderType for the order
	OrderType OrderType

	OrderStatus OrderStatus
}

OrderFlow for order change

type OrderKeyGen

type OrderKeyGen struct {
	OrderBase
	KeyNodes         []CUAddress `json:"key_nodes"`
	SignThreshold    uint64      `json:"sign_threshold"`
	To               CUAddress   `json:"to"`
	OpenFee          Coin        `json:"open_fee"`
	MultiSignAddress string      `json:"multi_sign_address"`
	Pubkey           []byte      `json:"pubkey"`
	Epoch            uint64      `json:"epoch"`
}

func (*OrderKeyGen) DeepCopy

func (o *OrderKeyGen) DeepCopy() Order

DeepCopy OrderKeygen

func (*OrderKeyGen) String

func (o *OrderKeyGen) String() string

type OrderOpcuAssetTransfer

type OrderOpcuAssetTransfer struct {
	OrderBase
	TransfertItems []TransferItem `json:"transfer_items"`
	ToAddr         string         `json:"to_address"`
	RawData        []byte         `json:"raw_data"`
	SignedTx       []byte         `json:"signed_tx"`
	Txhash         string         `json:"tx_hash"`
	CostFee        Int            `json:"cost_fee"`
}

func (*OrderOpcuAssetTransfer) DeepCopy

func (o *OrderOpcuAssetTransfer) DeepCopy() Order

DeepCopy OrderWithdrawal

func (*OrderOpcuAssetTransfer) GetRawdata

func (o *OrderOpcuAssetTransfer) GetRawdata() []byte

func (*OrderOpcuAssetTransfer) GetSignedTx

func (o *OrderOpcuAssetTransfer) GetSignedTx() []byte

func (*OrderOpcuAssetTransfer) GetTxHash

func (o *OrderOpcuAssetTransfer) GetTxHash() string

func (*OrderOpcuAssetTransfer) MarshalYAML

func (o *OrderOpcuAssetTransfer) MarshalYAML() (interface{}, error)

MarshalYAML returns the YAML representation of an withdrawal order.

func (*OrderOpcuAssetTransfer) String

func (o *OrderOpcuAssetTransfer) String() string

type OrderRetryFlow

type OrderRetryFlow struct {
	OrderIDs        []string
	ExcludedKeyNode CUAddress
}

type OrderStatus

type OrderStatus int
const (
	OrderStatusBegin      OrderStatus = 0x1
	OrderStatusWaitSign   OrderStatus = 0x2
	OrderStatusSignFinish OrderStatus = 0x3
	OrderStatusFinish     OrderStatus = 0x4
	OrderStatusCancel     OrderStatus = 0x5 // order cancelled without broadcasting to chain
	OrderStatusFailed     OrderStatus = 0x6 // order failed after broadcasting to chain
)

func (OrderStatus) Match

func (s OrderStatus) Match(other OrderStatus) bool

Match check if status equals or `s` == SignFinish and `other` is at terminate status

func (OrderStatus) Terminated

func (s OrderStatus) Terminated() bool

Terminated check if status is at terminate status (OrderStatusFinish, OrderStatusCancel, OrderStatusFailed)

type OrderSysTransfer

type OrderSysTransfer struct {
	OrderBase
	Amount      Int    `json:"amount"`
	CostFee     Int    `json:"cost_fee"`
	ToCU        string `json:"to_cu"`
	ToAddress   string `json:"to_address"`
	FromAddress string `json:"from_address"`
	OpCUaddress string `json:"opcu_address"`
	TxHash      string `json:"tx_hash"`
	RawData     []byte `json:"raw_data"`
	SignedTx    []byte `json:"signed_tx"`
}

func (*OrderSysTransfer) DeepCopy

func (o *OrderSysTransfer) DeepCopy() Order

DeepCopy OrderWithdrawal

func (*OrderSysTransfer) GetRawdata

func (o *OrderSysTransfer) GetRawdata() []byte

func (*OrderSysTransfer) GetSignedTx

func (o *OrderSysTransfer) GetSignedTx() []byte

func (*OrderSysTransfer) MarshalYAML

func (o *OrderSysTransfer) MarshalYAML() (interface{}, error)

MarshalYAML returns the YAML representation of an SysTransfer order.

func (*OrderSysTransfer) String

func (o *OrderSysTransfer) String() string

type OrderType

type OrderType int
const (
	OrderTypeKeyGen            OrderType = 0x1
	OrderTypeWithdrawal        OrderType = 0x2
	OrderTypeCollect           OrderType = 0x3
	OrderTypeDeposit           OrderType = 0x4
	OrderTypeSysTransfer       OrderType = 0x5
	OrderTypeOpcuAssetTransfer OrderType = 0x6
)

type OrderWithdrawal

type OrderWithdrawal struct {
	OrderBase
	Amount            Int            `json:"amount"`
	GasFee            Int            `json:"gas_fee"`
	CostFee           Int            `json:"cost_fee"`
	WithdrawToAddress string         `json:"withdraw_to_address"`
	FromAddress       string         `json:"from_address"`
	OpCUaddress       string         `json:"opcu_address"`
	UtxoInNum         int            `json:"utxoin_num"`
	Txhash            string         `json:"tx_hash"`
	RawData           []byte         `json:"raw_data"`
	SignedTx          []byte         `json:"signed_tx"`
	WithdrawStatus    WithdrawStatus `json:"withdraw_status"`
}

func (*OrderWithdrawal) DeepCopy

func (o *OrderWithdrawal) DeepCopy() Order

DeepCopy OrderWithdrawal

func (*OrderWithdrawal) GetRawdata

func (o *OrderWithdrawal) GetRawdata() []byte

func (*OrderWithdrawal) GetSignedTx

func (o *OrderWithdrawal) GetSignedTx() []byte

func (*OrderWithdrawal) MarshalYAML

func (o *OrderWithdrawal) MarshalYAML() (interface{}, error)

MarshalYAML returns the YAML representation of an withdrawal order.

func (*OrderWithdrawal) String

func (o *OrderWithdrawal) String() string

type PeerFilter

type PeerFilter func(info string) abci.ResponseQuery

PeerFilter responds to p2p filtering queries from Tendermint

type PruningOptions

type PruningOptions = types.PruningOptions

nolint - reexport

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 QueryRouter

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

nolint - reexport

type Receipt

type Receipt struct {
	// Category for the transaction that causes the receipt.
	Category CategoryType

	// Flows list of flows.
	Flows []Flow
}

Receipt defines basic interface for all kind of receipts

func GetReceiptFromData

func GetReceiptFromData(cdc *codec.Codec, data []byte) ([]Receipt, error, bool)

GetReceiptFromData decode receipts from tx result. A tx may have more than one receipts.

type Request

type Request = Context

Proposed rename, not done to avoid API breakage

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 NewResultFromDeliverTx

func NewResultFromDeliverTx(res *abci.ResponseDeliverTx) Result

func NewResultFromResultTx

func NewResultFromResultTx(res *ctypes.ResultTx) 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) Router
	Route(path string) Handler
}

Router provides handlers for each transaction type.

type SearchTxsResult

type SearchTxsResult struct {
	TotalCount int          `json:"total_count"` // Count of all txs
	Count      int          `json:"count"`       // Count of txs in current page
	PageNumber int          `json:"page_number"` // index of current page, start from 1
	PageTotal  int          `json:"page_total"`  // Count of total pages
	Limit      int          `json:"limit"`       // Max count txs per page
	Txs        []TxResponse `json:"txs"`         // List of txs in current page
}

SearchTxsResult defines a structure for querying txs pageable

func NewSearchTxsResult

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

type SettleMsg

type SettleMsg interface {
	Msg
	// is this msg can only sent by settle
	IsSettleOnlyMsg() bool
}

SettleMsg is the msgs sent by settle. Note that a SettleMsg is not necessarily sent by settle, DepositMsg is SettleMsg but can also be sent by normal users)

type SettleQuota

type SettleQuota interface {
	Consume(cu ValAddress, amount Gas) bool
}

type SortUtxoIns

type SortUtxoIns UtxoIns

func (SortUtxoIns) Len

func (s SortUtxoIns) Len() int

func (SortUtxoIns) Less

func (s SortUtxoIns) Less(i, j int) bool

func (SortUtxoIns) Swap

func (s SortUtxoIns) Swap(i, j int)

type SortUtxoOuts

type SortUtxoOuts UtxoOuts

func (SortUtxoOuts) Len

func (s SortUtxoOuts) Len() int

func (SortUtxoOuts) Less

func (s SortUtxoOuts) Less(i, j int) bool

func (SortUtxoOuts) Swap

func (s SortUtxoOuts) Swap(i, j int)

type Store

type Store = types.Store

nolint - reexport

type StoreKey

type StoreKey = types.StoreKey

nolint - reexport

type StoreType

type StoreType = types.StoreType

nolint - reexport

type StringEvent

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

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

func StringifyEvent

func StringifyEvent(e abci.Event) StringEvent

StringifyEvent converts an Event object to a StringEvent object.

type StringEvents

type StringEvents []StringEvent

StringAttributes defines a slice of StringEvents objects.

func StringifyEvents

func StringifyEvents(events []abci.Event) StringEvents

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

func (StringEvents) Flatten

func (se StringEvents) Flatten() StringEvents

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

func (StringEvents) String

func (se StringEvents) String() string

type Symbol

type Symbol string

func (Symbol) IsValid added in v0.9.3

func (s Symbol) IsValid() bool

func (Symbol) String

func (s Symbol) String() string

type SysTransferFinishFlow

type SysTransferFinishFlow struct {
	OrderID string
	CostFee Int
}

type SysTransferFlow

type SysTransferFlow struct {
	OrderID  string
	FromCU   string
	ToCU     string
	FromAddr string
	ToAddr   string
	Symbol   string
	Amount   Int
}

type SysTransferSignFinishFlow

type SysTransferSignFinishFlow struct {
	OrderID  string
	SignedTx []byte
}

type SysTransferWaitSignFlow

type SysTransferWaitSignFlow struct {
	OrderID string
	RawData []byte
}

type TestMsg

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

msg type for testing

func NewTestMsg

func NewTestMsg(addrs ...CUAddress) *TestMsg

func (*TestMsg) GetSignBytes

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

func (*TestMsg) GetSigners

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

func (*TestMsg) Route

func (msg *TestMsg) Route() string

nolint

func (*TestMsg) Type

func (msg *TestMsg) Type() string

func (*TestMsg) ValidateBasic

func (msg *TestMsg) ValidateBasic() Error

type Token added in v0.9.3

type Token interface {
	GetName() string
	GetSymbol() Symbol
	GetIssuer() string
	GetChain() Symbol
	IsSendEnabled() bool
	GetDecimals() uint64
	GetTotalSupply() Int
	IsIBCToken() bool
	IsValid() bool
	String() string
}

type TokenType

type TokenType uint64

TokenType

const (
	UtxoBased          TokenType = 0x1 //UtxoBased   i.e. token likes BTC
	AccountBased       TokenType = 0x2 //AccountBased i.e. token likes ETH, every user has its own account
	AccountSharedBased TokenType = 0x3 //Memo Based, i.e. token  like EOS/XRP, users share a account with differen memos/tags
)

type TokensGasPrice

type TokensGasPrice struct {
	Chain    string `json:"chain" yaml:"chain"`
	GasPrice Int    `json:"gas_price" yaml:"gas_price"`
}

func (TokensGasPrice) String

func (gp TokensGasPrice) String() string

type TraceContext

type TraceContext = types.TraceContext

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

type TransferItem

type TransferItem struct {
	Hash   string `json:"hash"`
	Index  uint64 `json:"index"`
	Amount Int    `json:"amount"`
}

type TransientStoreKey

type TransientStoreKey = types.TransientStoreKey

nolint - reexport

func NewTransientStoreKey

func NewTransientStoreKey(name string) *TransientStoreKey

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

type Tx

type Tx interface {
	// Gets the all the transaction's messages.
	GetMsgs() []Msg

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

Transactions objects must fulfill the Tx

type TxDecoder

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

TxDecoder unmarshals transaction bytes

type TxEncoder

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

TxEncoder marshals transaction to bytes

type TxFinishNodeData

type TxFinishNodeData struct {
	ValidatorAddr string
	CostFee       Int
}

type TxResponse

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

	// DEPRECATED: Remove in the next next major release in favor of using the
	// ABCIMessageLog.Events field.
	Events StringEvents `json:"events,omitempty"`
}

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

func NewResponseFormatBroadcastTx

func NewResponseFormatBroadcastTx(res *ctypes.ResultBroadcastTx) TxResponse

NewResponseFormatBroadcastTx returns a TxResponse given a ResultBroadcastTx from tendermint

func NewResponseFormatBroadcastTxCommit

func NewResponseFormatBroadcastTxCommit(res *ctypes.ResultBroadcastTxCommit) TxResponse

NewResponseFormatBroadcastTxCommit returns a TxResponse given a ResultBroadcastTxCommit from tendermint.

func NewResponseResultTx

func NewResponseResultTx(cdc *codec.Codec, 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 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 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) 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) 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) MarshalAmino

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

MarshalAmino defines custom encoding scheme

func (Uint) MarshalJSON

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

MarshalJSON defines custom encoding scheme

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

func (u *Uint) UnmarshalAmino(text string) error

UnmarshalAmino defines custom decoding scheme

func (*Uint) UnmarshalJSON

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

UnmarshalJSON defines custom decoding scheme

type UtxoIn

type UtxoIn struct {
	Hash    string `json:"hash"`
	Index   uint64 `json:"index"`
	Amount  Int    `json:"amount"`
	Address string `json:"address"`
}

UtxoIn defines UtxoIn in address module

func NewUtxoIn

func NewUtxoIn(hash string, index uint64, amount Int, address string) UtxoIn

TODO add address NewUtxoIn creates a new UtxoIn

func (UtxoIn) Equal

func (u UtxoIn) Equal(other UtxoIn) bool

func (UtxoIn) String

func (u UtxoIn) String() string

String

type UtxoIns

type UtxoIns []UtxoIn

func (UtxoIns) Empty

func (us UtxoIns) Empty() bool

Empty check whether the UtxoIns is empty

func (UtxoIns) Equal

func (us UtxoIns) Equal(others UtxoIns) bool

Equal check whether two utxoins same

func (UtxoIns) Has

func (us UtxoIns) Has(utxo UtxoIn) bool

Has check whether a utxo in utxoIn

func (UtxoIns) HasDuplicatedItem

func (us UtxoIns) HasDuplicatedItem() bool

HasDuplicatedItem check whether duplication items exist in utxoins

func (UtxoIns) IsSubsetOf

func (us UtxoIns) IsSubsetOf(others UtxoIns) bool

IsSubsetOf check whether us is subset of others

func (UtxoIns) IsValid

func (us UtxoIns) IsValid() bool

func (UtxoIns) PrintUtxoIn

func (us UtxoIns) PrintUtxoIn()

func (UtxoIns) RemoveOneUtxoIn

func (us UtxoIns) RemoveOneUtxoIn(utxo UtxoIn) (bool, UtxoIns)

RemoveOneUtxoIn remove a utxo from utxoIns, then return the remained utxoIns

func (UtxoIns) RemoveUtxoIns

func (us UtxoIns) RemoveUtxoIns(delete UtxoIns) UtxoIns

RemoveUtxoIns

func (UtxoIns) Sort

func (us UtxoIns) Sort()

Sort the utxo by hash

func (UtxoIns) String

func (us UtxoIns) String() string

Strings

func (UtxoIns) UtxoInTotalAmount

func (us UtxoIns) UtxoInTotalAmount() Int

UtxoInTotalAmount return the us's total amount

type UtxoOut

type UtxoOut struct {
	Address string `json:"address"`
	Amount  Int    `json:"amount"`
}

UtxoOut defines UtxoOut ,only valid for utxobased

func NewUtxoOut

func NewUtxoOut(addr string, amount Int) UtxoOut

NewUtxoOut create a UtxoOut

func (UtxoOut) Equal

func (u UtxoOut) Equal(other UtxoOut) bool

func (UtxoOut) String

func (u UtxoOut) String() string

type UtxoOuts

type UtxoOuts []UtxoOut

func (UtxoOuts) Equal

func (us UtxoOuts) Equal(others UtxoOuts) bool

func (UtxoOuts) Has

func (us UtxoOuts) Has(utxoOut UtxoOut) bool

func (UtxoOuts) Sort

func (us UtxoOuts) Sort()

func (UtxoOuts) String

func (us UtxoOuts) String() string

func (UtxoOuts) UtxoOutTotalAmount

func (us UtxoOuts) UtxoOutTotalAmount() Int

UtxoOutTotalAmount calculate UtxoOut total amount

type ValAddress

type ValAddress []byte

ValAddress defines a wrapper around bytes meant to present a validator's operator. When marshaled to a string or JSON, it uses Bech32.

func ValAddressFromBech32

func ValAddressFromBech32(address string) (addr ValAddress, err error)

ValAddressFromBech32 creates a ValAddress from a Bech32 string.

func ValAddressFromHex

func ValAddressFromHex(address string) (addr ValAddress, err error)

ValAddressFromHex creates a ValAddress from a hex string.

func (ValAddress) Bytes

func (va ValAddress) Bytes() []byte

Bytes returns the raw address bytes.

func (ValAddress) Empty

func (va ValAddress) Empty() bool

Returns boolean for whether an CUAddress is empty

func (ValAddress) Equals

func (va ValAddress) Equals(va2 Address) bool

Returns boolean for whether two ValAddresses are Equal

func (ValAddress) Format

func (va ValAddress) Format(s fmt.State, verb rune)

Format implements the fmt.Formatter interface. nolint: errcheck

func (ValAddress) Marshal

func (va ValAddress) Marshal() ([]byte, error)

Marshal returns the raw address bytes. It is needed for protobuf compatibility.

func (ValAddress) MarshalJSON

func (va ValAddress) MarshalJSON() ([]byte, error)

MarshalJSON marshals to JSON using Bech32.

func (ValAddress) MarshalYAML

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

MarshalYAML marshals to YAML using Bech32.

func (ValAddress) String

func (va ValAddress) String() string

String implements the Stringer interface.

func (*ValAddress) Unmarshal

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

Unmarshal sets the address to the given data. It is needed for protobuf compatibility.

func (*ValAddress) UnmarshalJSON

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

UnmarshalJSON unmarshals from JSON assuming Bech32 encoding.

func (*ValAddress) UnmarshalYAML

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

UnmarshalYAML unmarshals from YAML assuming Bech32 encoding.

type WithdrawStatus

type WithdrawStatus int

type WithdrawalConfirmFlow

type WithdrawalConfirmFlow struct {
	OrderID        string
	WithdrawStatus WithdrawStatus
}

type WithdrawalFinishFlow

type WithdrawalFinishFlow struct {
	OrderIDs []string
	CostFee  Int
	Valid    bool
}

type WithdrawalFlow

type WithdrawalFlow struct {
	OrderID        string
	FromCu         string
	ToAddr         string
	Symbol         string
	Amount         Int
	GasFee         Int
	WithdrawStatus WithdrawStatus
}

type WithdrawalSignFinishFlow

type WithdrawalSignFinishFlow struct {
	OrderIDs []string
	SignedTx []byte
}

type WithdrawalWaitSignFlow

type WithdrawalWaitSignFlow struct {
	OrderIDs []string
	OpCU     string
	FromAddr string
	RawData  []byte
}

Directories

Path Synopsis
Package module contains application module patterns and associated "manager" functionality.
Package module contains application module patterns and associated "manager" functionality.
Package rest provides HTTP types and primitives for REST requests validation and responses handling.
Package rest provides HTTP types and primitives for REST requests validation and responses handling.

Jump to

Keyboard shortcuts

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