Documentation ¶
Index ¶
- Constants
- Variables
- func Abs[T int | int64](a T) T
- func ConvertAndEncode(hrp string, data []byte) (string, error)
- func CosmosPrivateKeyToTMPrivateKey(privateKey cryptotypes.PrivKey) crypto.PrivKey
- func Entropy(b []byte) float64
- func GetMedianInt64(vals []int64) int64
- func GetMedianUint(vals []cosmos.Uint) cosmos.Uint
- func GetSafeShare(part, total, allocation cosmos.Uint) cosmos.Uint
- func GetUncappedShare(part, total, allocation cosmos.Uint) (share cosmos.Uint)
- func Max[T int | uint | int64 | uint64](a, b T) T
- func Min[T int | uint | int64 | uint64](a, b T) T
- func RandHexString(n int) string
- func RoundSignificantFigures(number uint64, significantDigits int64) uint64
- func SafeSub(input1, input2 cosmos.Uint) cosmos.Uint
- func Sign(buf []byte) ([]byte, []byte, error)
- func SignBase64(buf []byte) (string, string, error)
- func WeightedMean(vals, weights []cosmos.Uint) (cosmos.Uint, error)
- type Account
- type Address
- func (addr Address) AccAddress() (cosmos.AccAddress, error)
- func (addr Address) Equals(addr2 Address) bool
- func (addr Address) GetChain() Chain
- func (addr Address) GetNetwork(chain Chain) ChainNetwork
- func (addr Address) IsChain(chain Chain) bool
- func (addr Address) IsEmpty() bool
- func (addr Address) IsNoop() bool
- func (addr Address) IsValidBCHAddress() bool
- func (addr Address) String() string
- type AddressSuite
- type Asset
- func (*Asset) Descriptor() ([]byte, []int)
- func (a Asset) Equals(a2 Asset) bool
- func (a Asset) GetChain() Chain
- func (a Asset) GetDerivedAsset() Asset
- func (a Asset) GetLayer1Asset() Asset
- func (a Asset) GetSecuredAsset() Asset
- func (a Asset) GetSyntheticAsset() Asset
- func (a Asset) GetTradeAsset() Asset
- func (a Asset) IsDerivedAsset() bool
- func (a Asset) IsEmpty() bool
- func (a Asset) IsGasAsset() bool
- func (a Asset) IsNative() bool
- func (a Asset) IsRune() bool
- func (a Asset) IsSecuredAsset() bool
- func (a Asset) IsSyntheticAsset() bool
- func (a Asset) IsTradeAsset() bool
- func (a Asset) IsVaultAsset() bool
- func (m *Asset) Marshal() (dAtA []byte, err error)
- func (a Asset) MarshalJSON() ([]byte, error)
- func (a Asset) MarshalJSONPB(*jsonpb.Marshaler) ([]byte, error)
- func (m *Asset) MarshalTo(dAtA []byte) (int, error)
- func (m *Asset) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (a Asset) MimirString() string
- func (a Asset) Native() string
- func (*Asset) ProtoMessage()
- func (m *Asset) Reset()
- func (a Asset) ShortCode() string
- func (m *Asset) Size() (n int)
- func (a Asset) String() string
- func (m *Asset) Unmarshal(dAtA []byte) error
- func (a *Asset) UnmarshalJSON(data []byte) error
- func (a *Asset) UnmarshalJSONPB(unmarshal *jsonpb.Unmarshaler, content []byte) error
- func (a Asset) Valid() error
- func (m *Asset) XXX_DiscardUnknown()
- func (m *Asset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Asset) XXX_Merge(src proto.Message)
- func (m *Asset) XXX_Size() int
- func (m *Asset) XXX_Unmarshal(b []byte) error
- type Chain
- func (c Chain) AddressPrefix(cn ChainNetwork) string
- func (c Chain) ApproximateBlockMilliseconds() int64
- func (c Chain) DefaultCoinbase() float64
- func (c Chain) DustThreshold() cosmos.Uint
- func (c Chain) Equals(c2 Chain) bool
- func (c Chain) GetGasAsset() Asset
- func (c Chain) GetGasAssetDecimal() int64
- func (c Chain) GetGasUnits() string
- func (c Chain) GetSigningAlgo() SigningAlgo
- func (c Chain) InboundNotes() string
- func (c Chain) IsBSCChain() bool
- func (c Chain) IsEVM() bool
- func (c Chain) IsEmpty() bool
- func (c Chain) IsTHORChain() bool
- func (c Chain) IsUTXO() bool
- func (c Chain) IsValidAddress(addr Address) bool
- func (c Chain) MaxMemoLength() int
- func (c Chain) String() string
- func (c Chain) Valid() error
- type ChainNetwork
- type ChainPoolInfo
- type Chains
- type Coin
- func (*Coin) Descriptor() ([]byte, []int)
- func (c Coin) Equals(cc Coin) bool
- func (c Coin) IsEmpty() bool
- func (c Coin) IsNative() bool
- func (c Coin) IsRune() bool
- func (m *Coin) Marshal() (dAtA []byte, err error)
- func (m *Coin) MarshalTo(dAtA []byte) (int, error)
- func (m *Coin) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (c Coin) Native() (cosmos.Coin, error)
- func (*Coin) ProtoMessage()
- func (m *Coin) Reset()
- func (m *Coin) Size() (n int)
- func (c Coin) String() string
- func (m *Coin) Unmarshal(dAtA []byte) error
- func (c Coin) Valid() error
- func (c Coin) WithDecimals(decimal int64) Coin
- func (m *Coin) XXX_DiscardUnknown()
- func (m *Coin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Coin) XXX_Merge(src proto.Message)
- func (m *Coin) XXX_Size() int
- func (m *Coin) XXX_Unmarshal(b []byte) error
- type Coins
- func (oldCoins Coins) Add(addCoins ...Coin) Coins
- func (cs Coins) Contains(c Coin) bool
- func (cs Coins) Copy() Coins
- func (cs Coins) Distinct() Coins
- func (cs Coins) EqualsEx(cs2 Coins) bool
- func (cs Coins) GetCoin(asset Asset) Coin
- func (cs Coins) HasSynthetic() bool
- func (cs Coins) IsEmpty() bool
- func (cs Coins) Native() (cosmos.Coins, error)
- func (cs Coins) NoneEmpty() Coins
- func (oldCoins Coins) SafeSub(subCoins ...Coin) Coins
- func (cs Coins) String() string
- func (cs Coins) Valid() error
- type Fee
- func (*Fee) Descriptor() ([]byte, []int)
- func (m *Fee) Marshal() (dAtA []byte, err error)
- func (m *Fee) MarshalTo(dAtA []byte) (int, error)
- func (m *Fee) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Fee) ProtoMessage()
- func (m *Fee) Reset()
- func (m *Fee) Size() (n int)
- func (f Fee) String() string
- func (m *Fee) Unmarshal(dAtA []byte) error
- func (m *Fee) XXX_DiscardUnknown()
- func (m *Fee) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Fee) XXX_Merge(src proto.Message)
- func (m *Fee) XXX_Size() int
- func (m *Fee) XXX_Unmarshal(b []byte) error
- type Gas
- type Invariant
- type InvariantRoute
- type ProtoUint
- func (*ProtoUint) Descriptor() ([]byte, []int)
- func (m *ProtoUint) Marshal() (dAtA []byte, err error)
- func (m *ProtoUint) MarshalTo(dAtA []byte) (int, error)
- func (m *ProtoUint) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ProtoUint) ProtoMessage()
- func (m *ProtoUint) Reset()
- func (m *ProtoUint) Size() (n int)
- func (this *ProtoUint) String() string
- func (m *ProtoUint) Unmarshal(dAtA []byte) error
- func (m *ProtoUint) XXX_DiscardUnknown()
- func (m *ProtoUint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ProtoUint) XXX_Merge(src proto.Message)
- func (m *ProtoUint) XXX_Size() int
- func (m *ProtoUint) XXX_Unmarshal(b []byte) error
- type PubKey
- func (p PubKey) EVMPubkeyToAddress() (Address, error)
- func (p PubKey) Equals(pubKey1 PubKey) bool
- func (p PubKey) GetAddress(chain Chain) (Address, error)
- func (p PubKey) GetThorAddress() (cosmos.AccAddress, error)
- func (p PubKey) IsEmpty() bool
- func (p PubKey) MarshalJSON() ([]byte, error)
- func (p PubKey) Secp256K1() (*btcec.PublicKey, error)
- func (p PubKey) String() string
- func (p *PubKey) UnmarshalJSON(data []byte) error
- type PubKeySet
- func (p PubKeySet) Contains(pk PubKey) bool
- func (*PubKeySet) Descriptor() ([]byte, []int)
- func (p PubKeySet) Equals(pks1 PubKeySet) bool
- func (p PubKeySet) GetAddress(chain Chain) (Address, error)
- func (p PubKeySet) IsEmpty() bool
- func (m *PubKeySet) Marshal() (dAtA []byte, err error)
- func (m *PubKeySet) MarshalTo(dAtA []byte) (int, error)
- func (m *PubKeySet) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*PubKeySet) ProtoMessage()
- func (m *PubKeySet) Reset()
- func (m *PubKeySet) Size() (n int)
- func (p PubKeySet) String() string
- func (m *PubKeySet) Unmarshal(dAtA []byte) error
- func (m *PubKeySet) XXX_DiscardUnknown()
- func (m *PubKeySet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *PubKeySet) XXX_Merge(src proto.Message)
- func (m *PubKeySet) XXX_Size() int
- func (m *PubKeySet) XXX_Unmarshal(b []byte) error
- type PubKeys
- type SigningAlgo
- type Symbol
- type Ticker
- type Tickers
- type Tx
- func (*Tx) Descriptor() ([]byte, []int)
- func (tx Tx) EqualsEx(tx2 Tx) bool
- func (tx Tx) Hash(version semver.Version, blockHeight int64) string
- func (tx Tx) IsEmpty() bool
- func (m *Tx) Marshal() (dAtA []byte, err error)
- func (m *Tx) MarshalTo(dAtA []byte) (int, error)
- func (m *Tx) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Tx) ProtoMessage()
- func (m *Tx) Reset()
- func (m *Tx) Size() (n int)
- func (tx Tx) String() string
- func (tx Tx) ToAttributes() []cosmos.Attribute
- func (m *Tx) Unmarshal(dAtA []byte) error
- func (tx Tx) Valid() error
- func (m *Tx) XXX_DiscardUnknown()
- func (m *Tx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Tx) XXX_Merge(src proto.Message)
- func (m *Tx) XXX_Size() int
- func (m *Tx) XXX_Unmarshal(b []byte) error
- type TxID
- type TxIDs
- type Txs
Constants ¶
const ( NoAddress = Address("") NoopAddress = Address("noop") EVMNullAddress = Address("0x0000000000000000000000000000000000000000") )
const ( EmptyChain = Chain("") BSCChain = Chain("BSC") ETHChain = Chain("ETH") BTCChain = Chain("BTC") LTCChain = Chain("LTC") BCHChain = Chain("BCH") DOGEChain = Chain("DOGE") THORChain = Chain("THOR") GAIAChain = Chain("GAIA") AVAXChain = Chain("AVAX") SigningAlgoSecp256k1 = SigningAlgo("secp256k1") SigningAlgoEd25519 = SigningAlgo("ed25519") )
const CurrentChainNetwork = MainNet
const One = 100000000
One is useful type so THORNode doesn't need to manage 8 zeroes all the time
const THORChainDecimals = 8
THORChainDecimals indicate the number of decimal points used in THORChain
Variables ¶
var ( // EmptyAsset empty asset, not valid EmptyAsset = Asset{Chain: EmptyChain, Symbol: "", Ticker: "", Synth: false} // ATOMAsset ATOM ATOMAsset = Asset{Chain: GAIAChain, Symbol: "ATOM", Ticker: "ATOM", Synth: false} // BNBBEP20Asset BNB BNBBEP20Asset = Asset{Chain: BSCChain, Symbol: "BNB", Ticker: "BNB", Synth: false} // BTCAsset BTC BTCAsset = Asset{Chain: BTCChain, Symbol: "BTC", Ticker: "BTC", Synth: false} // LTCAsset BTC LTCAsset = Asset{Chain: LTCChain, Symbol: "LTC", Ticker: "LTC", Synth: false} // BCHAsset BCH BCHAsset = Asset{Chain: BCHChain, Symbol: "BCH", Ticker: "BCH", Synth: false} // DOGEAsset DOGE DOGEAsset = Asset{Chain: DOGEChain, Symbol: "DOGE", Ticker: "DOGE", Synth: false} // ETHAsset ETH ETHAsset = Asset{Chain: ETHChain, Symbol: "ETH", Ticker: "ETH", Synth: false} // AVAXAsset AVAX AVAXAsset = Asset{Chain: AVAXChain, Symbol: "AVAX", Ticker: "AVAX", Synth: false} // RuneNative RUNE on thorchain RuneNative = Asset{Chain: THORChain, Symbol: "RUNE", Ticker: "RUNE", Synth: false} TOR = Asset{Chain: THORChain, Symbol: "TOR", Ticker: "TOR", Synth: false} THORBTC = Asset{Chain: THORChain, Symbol: "BTC", Ticker: "BTC", Synth: false} )
var ( ErrInvalidLengthCommon = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowCommon = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupCommon = fmt.Errorf("proto: unexpected end of group") )
var ( EmptyPubKey PubKey EmptyPubKeySet PubKeySet )
var AllChains = [...]Chain{ BSCChain, ETHChain, BTCChain, LTCChain, BCHChain, DOGEChain, THORChain, GAIAChain, AVAXChain, }
var BlankTxID = TxID("0000000000000000000000000000000000000000000000000000000000000000")
BlankTxID represent blank
var LatestVersion semver.Version = semver.MustParse("999.0.0")
var NoCoin = Coin{ Asset: EmptyAsset, Amount: cosmos.ZeroUint(), }
NoCoin is empty Coin
Functions ¶
func ConvertAndEncode ¶
ConvertAndEncode converts from a base64 encoded byte string to hex or base32 encoded byte string and then to bech32
func CosmosPrivateKeyToTMPrivateKey ¶
func CosmosPrivateKeyToTMPrivateKey(privateKey cryptotypes.PrivKey) crypto.PrivKey
CosmosPrivateKeyToTMPrivateKey convert cosmos implementation of private key to tendermint private key
func GetMedianInt64 ¶
func GetSafeShare ¶
GetSafeShare does the same as GetUncappedShare , but GetSafeShare will guarantee the result will not more than total. The first two arguments should always have the same units (cancelling out to represent a unitless ratio applied to the allocation).
func GetUncappedShare ¶
GetUncappedShare this method will panic if any of the input parameter can't be convert to cosmos.Dec which shouldn't happen. The first two arguments should always have the same units (cancelling out to represent a unitless ratio applied to the allocation).
func RandHexString ¶
RandHexString generates random hex string used for test purpose
func RoundSignificantFigures ¶
RoundSignificantFigures rounds an unsigned 64-bit integer to the specified number of significant digits. It takes the number and significant digits as arguments.
func SafeSub ¶
SafeSub subtract input2 from input1, given cosmos.Uint can't be negative , otherwise it will panic thus in this method,when input2 is larger than input 1, it will just return cosmos.ZeroUint
Types ¶
type Address ¶
type Address string
func ConvertToNewBCHAddressFormat ¶
ConvertToNewBCHAddressFormat convert the given BCH to new address format
func NewAddress ¶
NewAddress create a new Address. Supports Binance, Bitcoin, and Ethereum
func (Address) AccAddress ¶
func (addr Address) AccAddress() (cosmos.AccAddress, error)
func (Address) GetChain ¶
Note that this will always return ETHChain for an AVAXChain address, so perhaps only use it when determining a network (e.g. mainnet/testnet).
func (Address) GetNetwork ¶
func (addr Address) GetNetwork(chain Chain) ChainNetwork
func (Address) IsChain ¶
Note that this can have false positives, such as being unable to distinguish between ETH and AVAX.
func (Address) IsValidBCHAddress ¶
IsValidBCHAddress determinate whether the address is a valid new BCH address format
type AddressSuite ¶
type AddressSuite struct{}
func (*AddressSuite) TestAddress ¶
func (s *AddressSuite) TestAddress(c *C)
func (*AddressSuite) TestConvertToNewBCHAddressFormat ¶
func (s *AddressSuite) TestConvertToNewBCHAddressFormat(c *C)
type Asset ¶
type Asset struct { Chain Chain `protobuf:"bytes,1,opt,name=chain,proto3,casttype=Chain" json:"chain,omitempty"` Symbol Symbol `protobuf:"bytes,2,opt,name=symbol,proto3,casttype=Symbol" json:"symbol,omitempty"` Ticker Ticker `protobuf:"bytes,3,opt,name=ticker,proto3,casttype=Ticker" json:"ticker,omitempty"` Synth bool `protobuf:"varint,4,opt,name=synth,proto3" json:"synth,omitempty"` Trade bool `protobuf:"varint,5,opt,name=trade,proto3" json:"trade,omitempty"` Secured bool `protobuf:"varint,6,opt,name=secured,proto3" json:"secured,omitempty"` }
func NewAssetWithShortCodes ¶
func RuneAsset ¶
func RuneAsset() Asset
RuneAsset return RUNE Asset depends on different environment
func (*Asset) Descriptor ¶
func (Asset) GetSyntheticAsset ¶
Get synthetic asset of asset
func (Asset) IsDerivedAsset ¶
Check if asset is a derived asset
func (Asset) IsGasAsset ¶
IsGasAsset check whether asset is base asset used to pay for gas
func (Asset) IsNative ¶
IsNative is a helper function, returns true when the asset is a native asset to THORChain (ie rune, a synth, etc)
func (Asset) IsSecuredAsset ¶
func (Asset) IsSyntheticAsset ¶
Check if asset is a pegged asset
func (Asset) IsTradeAsset ¶
func (Asset) IsVaultAsset ¶
func (Asset) MarshalJSON ¶
MarshalJSON implement Marshaler interface
func (Asset) MarshalJSONPB ¶
MarshalJSONPB implement jsonpb.Marshaler
func (Asset) MimirString ¶
Replace pool name "." with a "-" for Mimir key checking.
func (*Asset) ProtoMessage ¶
func (*Asset) ProtoMessage()
func (*Asset) UnmarshalJSON ¶
UnmarshalJSON implement Unmarshaler interface
func (*Asset) UnmarshalJSONPB ¶
func (a *Asset) UnmarshalJSONPB(unmarshal *jsonpb.Unmarshaler, content []byte) error
UnmarshalJSONPB implement jsonpb.Unmarshaler
func (*Asset) XXX_DiscardUnknown ¶
func (m *Asset) XXX_DiscardUnknown()
func (*Asset) XXX_Marshal ¶
func (*Asset) XXX_Unmarshal ¶
type Chain ¶
type Chain string
func GetEVMChains ¶
func GetEVMChains() []Chain
GetEVMChains returns all "EVM" chains connected to THORChain "EVM" is defined, in thornode's context, as a chain that: - uses 0x as an address prefix - has a "Router" Smart Contract
func GetUTXOChains ¶
func GetUTXOChains() []Chain
GetUTXOChains returns all "UTXO" chains connected to THORChain.
func (Chain) AddressPrefix ¶
func (c Chain) AddressPrefix(cn ChainNetwork) string
AddressPrefix return the address prefix used by the given network (mocknet/mainnet)
func (Chain) ApproximateBlockMilliseconds ¶
func (Chain) DefaultCoinbase ¶
DefaultCoinbase returns the default coinbase address for each chain, returns 0 if no coinbase emission is used. This is used used at the time of writing as a fallback value in Bifrost, and for inbound confirmation count estimates in the quote APIs.
func (Chain) DustThreshold ¶
DustThreshold returns the min dust threshold for each chain The min dust threshold defines the lower end of the withdraw range of memoless savers txs The native coin value provided in a memoless tx defines a basis points amount of Withdraw or Add to a savers position as follows: Withdraw range: (dust_threshold + 1) -> (dust_threshold + 10_000) Add range: dust_threshold -> Inf NOTE: these should all be in 8 decimal places
func (Chain) GetGasAssetDecimal ¶
GetGasAssetDecimal returns decimals for the gas asset of the given chain. Currently Gaia is 1e6 and all others are 1e8. If an external chain's gas asset is larger than 1e8, just return cosmos.DefaultCoinDecimals.
func (Chain) GetGasUnits ¶
GetGasUnits returns name of the gas unit for each chain
func (Chain) GetSigningAlgo ¶
func (c Chain) GetSigningAlgo() SigningAlgo
GetSigningAlgo get the signing algorithm for the given chain
func (Chain) InboundNotes ¶
func (Chain) IsBSCChain ¶
func (Chain) IsEVM ¶
IsEVM returns true if given chain is an EVM chain. See working definition of an "EVM" chain in the `GetEVMChains` function description
func (Chain) IsTHORChain ¶
func (Chain) IsValidAddress ¶
IsValidAddress make sure the address is correct for the chain And this also make sure mocknet doesn't use mainnet address vice versa
func (Chain) MaxMemoLength ¶
MaxMemoLength returns the max memo length for each chain.
type ChainNetwork ¶
type ChainNetwork uint8
ChainNetwork is to indicate which chain environment THORNode are working with
const ( // TestNet network for test - DO NOT USE // TODO: remove on hard fork TestNet ChainNetwork = iota // MainNet network for mainnet MainNet // MockNet network for mocknet MockNet // Stagenet network for stagenet StageNet )
func (ChainNetwork) SoftEquals ¶
func (net ChainNetwork) SoftEquals(net2 ChainNetwork) bool
Soft Equals check is mainnet == mainet, or mocknet == mocknet
type ChainPoolInfo ¶
type ChainPoolInfo struct { Chain Chain `json:"chain"` PubKey PubKey `json:"pub_key"` PoolAddress Address `json:"pool_address"` }
ChainPoolInfo represent the pool address specific for a chain
var EmptyChainPoolInfo ChainPoolInfo
EmptyChainPoolInfo everything is empty
func NewChainPoolInfo ¶
func NewChainPoolInfo(chain Chain, pubKey PubKey) (ChainPoolInfo, error)
NewChainPoolInfo create a new instance of ChainPoolInfo
func (ChainPoolInfo) IsEmpty ¶
func (cpi ChainPoolInfo) IsEmpty() bool
IsEmpty whether the struct is empty
type Chains ¶
type Chains []Chain
Chains represent a slice of Chain
type Coin ¶
type Coin struct { Asset Asset `protobuf:"bytes,1,opt,name=asset,proto3,customtype=Asset" json:"asset"` Amount cosmossdk_io_math.Uint `protobuf:"bytes,2,opt,name=amount,proto3,customtype=cosmossdk.io/math.Uint" json:"amount"` Decimals int64 `protobuf:"varint,3,opt,name=decimals,proto3" json:"decimals,omitempty"` }
func (*Coin) Descriptor ¶
func (*Coin) ProtoMessage ¶
func (*Coin) ProtoMessage()
func (Coin) WithDecimals ¶
WithDecimals update coin with a decimal
func (*Coin) XXX_DiscardUnknown ¶
func (m *Coin) XXX_DiscardUnknown()
func (*Coin) XXX_Unmarshal ¶
type Coins ¶
type Coins []Coin
Coins represent a slice of Coin
func (Coins) EqualsEx ¶
EqualsEx Check if two lists of coins are equal to each other. This method will make a copy of cs1 & cs2 , thus the original coins order will not be changed
func (Coins) GetCoin ¶
GetCoin gets a specific coin by asset. Assumes there is only one of this coin in the list.
func (Coins) HasSynthetic ¶
HasSynthetic check whether the coins contains synth coin
type Fee ¶
type Fee struct { Coins Coins `protobuf:"bytes,1,rep,name=coins,proto3,castrepeated=Coins" json:"coins"` PoolDeduct cosmossdk_io_math.Uint `protobuf:"bytes,2,opt,name=pool_deduct,json=poolDeduct,proto3,customtype=cosmossdk.io/math.Uint" json:"pool_deduct"` }
func (*Fee) Descriptor ¶
func (*Fee) ProtoMessage ¶
func (*Fee) ProtoMessage()
func (*Fee) XXX_DiscardUnknown ¶
func (m *Fee) XXX_DiscardUnknown()
func (*Fee) XXX_Unmarshal ¶
type Gas ¶
type Gas Coins
Gas coins
func (Gas) Adds_deprecated ¶
Add combines two gas objects into one, adding amounts where needed or appending new coins. **WARNING**: dangerous, returns self-reference and also self-modifies
func (Gas) Equals ¶
Equals Check if two lists of coins are equal to each other. Order does not matter
type Invariant ¶
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.
type InvariantRoute ¶
invariant route
func NewInvariantRoute ¶
func NewInvariantRoute(route string, invariant Invariant) InvariantRoute
NewInvariantRoute - create an InvariantRoute object
type ProtoUint ¶
type ProtoUint struct {
Value cosmossdk_io_math.Uint `protobuf:"bytes,1,opt,name=value,proto3,customtype=cosmossdk.io/math.Uint" json:"value"`
}
func (*ProtoUint) Descriptor ¶
func (*ProtoUint) MarshalToSizedBuffer ¶
func (*ProtoUint) ProtoMessage ¶
func (*ProtoUint) ProtoMessage()
func (*ProtoUint) XXX_DiscardUnknown ¶
func (m *ProtoUint) XXX_DiscardUnknown()
func (*ProtoUint) XXX_Marshal ¶
func (*ProtoUint) XXX_Unmarshal ¶
type PubKey ¶
type PubKey string
PubKey used in thorchain, it should be bech32 encoded string thus it will be something like tthorpub1addwnpepqt7qug8vk9r3saw8n4r803ydj2g3dqwx0mvq5akhnze86fc536xcycgtrnv tthorpub1addwnpepqdqvd4r84lq9m54m5kk9sf4k6kdgavvch723pcgadulxd6ey9u70k6zq8qe
func NewPubKeyFromCrypto ¶
NewPubKeyFromCrypto
func (PubKey) EVMPubkeyToAddress ¶
EVMPubkeyToAddress converts a pubkey of an EVM chain to the corresponding address
func (PubKey) GetAddress ¶
GetAddress will return an address for the given chain
func (PubKey) GetThorAddress ¶
func (p PubKey) GetThorAddress() (cosmos.AccAddress, error)
func (PubKey) MarshalJSON ¶
MarshalJSON to Marshals to JSON using Bech32
func (*PubKey) UnmarshalJSON ¶
UnmarshalJSON to Unmarshal from JSON assuming Bech32 encoding
type PubKeySet ¶
type PubKeySet struct { Secp256k1 PubKey `protobuf:"bytes,1,opt,name=secp256k1,proto3,casttype=PubKey" json:"secp256k1,omitempty"` Ed25519 PubKey `protobuf:"bytes,2,opt,name=ed25519,proto3,casttype=PubKey" json:"ed25519,omitempty"` }
PubKeySet contains two pub keys , secp256k1 and ed25519
func NewPubKeySet ¶
NewPubKeySet create a new instance of PubKeySet , which contains two keys
func (*PubKeySet) Descriptor ¶
func (PubKeySet) GetAddress ¶
GetAddress
func (*PubKeySet) MarshalToSizedBuffer ¶
func (*PubKeySet) ProtoMessage ¶
func (*PubKeySet) ProtoMessage()
func (*PubKeySet) XXX_DiscardUnknown ¶
func (m *PubKeySet) XXX_DiscardUnknown()
func (*PubKeySet) XXX_Marshal ¶
func (*PubKeySet) XXX_Unmarshal ¶
type PubKeys ¶
type PubKeys []PubKey
PubKey used in thorchain, it should be bech32 encoded string thus it will be something like tthorpub1addwnpepqt7qug8vk9r3saw8n4r803ydj2g3dqwx0mvq5akhnze86fc536xcycgtrnv tthorpub1addwnpepqdqvd4r84lq9m54m5kk9sf4k6kdgavvch723pcgadulxd6ey9u70k6zq8qe
type SigningAlgo ¶
type SigningAlgo string
type Symbol ¶
type Symbol string
Symbol represent an asset
func (Symbol) IsMiniToken ¶
IsMiniToken is to determine whether it is a mini token on binance chain
type Ticker ¶
type Ticker string
Ticker The trading 'symbol' or shortened name (typically in capital letters) that refer to a coin on a trading platform. For example: ETH
func NewTicker ¶
NewTicker parse the given string as ticker, return error if it is not legitimate ticker
type Tx ¶
type Tx struct { ID TxID `protobuf:"bytes,1,opt,name=id,proto3,casttype=TxID" json:"id,omitempty"` Chain Chain `protobuf:"bytes,2,opt,name=chain,proto3,casttype=Chain" json:"chain,omitempty"` FromAddress Address `protobuf:"bytes,3,opt,name=from_address,json=fromAddress,proto3,casttype=Address" json:"from_address,omitempty"` ToAddress Address `protobuf:"bytes,4,opt,name=to_address,json=toAddress,proto3,casttype=Address" json:"to_address,omitempty"` Coins Coins `protobuf:"bytes,5,rep,name=coins,proto3,castrepeated=Coins" json:"coins"` Gas Gas `protobuf:"bytes,6,rep,name=gas,proto3,castrepeated=Gas" json:"gas"` Memo string `protobuf:"bytes,7,opt,name=memo,proto3" json:"memo,omitempty"` }
func GetRagnarokTx ¶
GetRagnarokTx return a tx used for ragnarok
func (*Tx) Descriptor ¶
func (Tx) EqualsEx ¶
EqualsEx compare two Tx to see whether they represent the same Tx This method will not change the original tx & tx2
func (Tx) Hash ¶
Hash calculates an internal hash based on chain, from address, coins, to address and block height. TODO: remove version on hard fork
func (*Tx) ProtoMessage ¶
func (*Tx) ProtoMessage()
func (Tx) ToAttributes ¶
ToAttributes push all the tx fields into a slice of cosmos Attribute(key value pairs)
func (Tx) Valid ¶
Valid do some data sanity check , if the tx contains invalid information it will return an none nil error
func (*Tx) XXX_DiscardUnknown ¶
func (m *Tx) XXX_DiscardUnknown()
func (*Tx) XXX_Unmarshal ¶
Source Files ¶
- account.go
- address.go
- address_test_mainnet.go
- asset.go
- chain.go
- chain_network.go
- chain_network_mainnet.go
- coin.go
- common.go
- common.pb.go
- entropy.go
- fee.go
- gas.go
- invariant.go
- math.go
- pubkey.go
- random_string.go
- sign.go
- significant_figures.go
- symbol.go
- ticker.go
- tx.go
- type_chain_pool_addr.go
- type_convert.go