thorclient

package
v0.77.1 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2021 License: MIT Imports: 45 Imported by: 18

Documentation

Index

Constants

View Source
const (
	AuthAccountEndpoint      = "/auth/accounts"
	BroadcastTxsEndpoint     = "/"
	KeygenEndpoint           = "/thorchain/keygen"
	KeysignEndpoint          = "/thorchain/keysign"
	LastBlockEndpoint        = "/thorchain/lastblock"
	NodeAccountEndpoint      = "/thorchain/node"
	SignerMembershipEndpoint = "/thorchain/vaults/%s/signers"
	StatusEndpoint           = "/status"
	AsgardVault              = "/thorchain/vaults/asgard"
	PubKeysEndpoint          = "/thorchain/vaults/pubkeys"
	ThorchainConstants       = "/thorchain/constants"
	RagnarokEndpoint         = "/thorchain/ragnarok"
	MimirEndpoint            = "/thorchain/mimir"
	ChainVersionEndpoint     = "/thorchain/version"
	InboundAddressesEndpoint = "/thorchain/inbound_addresses"
	PoolsEndpoint            = "/thorchain/pools"
	THORNameEndpoint         = "/thorchain/thorname/%s"
)

Endpoint urls

Variables

View Source
var ErrNotFound error = fmt.Errorf("not found")

Functions

func GetKeyringKeybase

func GetKeyringKeybase(chainHomeFolder, signerName, password string) (ckeys.Keyring, ckeys.Info, error)

GetKeyringKeybase return keyring and key info

func MakeCodec

func MakeCodec() codec.ProtoCodecMarshaler

func MakeLegacyCodec added in v0.41.0

func MakeLegacyCodec() *codec.LegacyAmino

MakeLegacyCodec creates codec

Types

type Keys

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

Keys manages all the keys used by thorchain

func NewKeysWithKeybase

func NewKeysWithKeybase(kb ckeys.Keyring, name, password string) *Keys

NewKeysWithKeybase create a new instance of Keys

func (*Keys) GetKeybase

func (k *Keys) GetKeybase() ckeys.Keyring

GetKeybase return the keybase

func (*Keys) GetPrivateKey

func (k *Keys) GetPrivateKey() (cryptotypes.PrivKey, error)

GetPrivateKey return the private key

func (*Keys) GetSignerInfo

func (k *Keys) GetSignerInfo() ckeys.Info

GetSignerInfo return signer info

type PoolManager added in v0.41.0

type PoolManager interface {
	GetValue(source, target common.Asset, amount cosmos.Uint) (cosmos.Uint, error)
}

PoolManager provide all the functionalities need to deal with pool

type PoolMgr added in v0.41.0

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

PoolMgr implement PoolManager interface

func NewPoolMgr added in v0.41.0

func NewPoolMgr(bridge *ThorchainBridge) *PoolMgr

NewPoolMgr create a new instance of PoolMgr

func (*PoolMgr) GetValue added in v0.41.0

func (pm *PoolMgr) GetValue(source, target common.Asset, amount cosmos.Uint) (cosmos.Uint, error)

GetValue is to convert source asset into target , and return the value for example, we could ask PoolManager, how much TKN asset in ETH?

type PubKeyContractAddressPair added in v0.41.0

type PubKeyContractAddressPair struct {
	PubKey    common.PubKey
	Contracts map[common.Chain]common.Address
}

PubKeyContractAddressPair is an entry to map pubkey and contract addresses

type QueryKeysign

type QueryKeysign struct {
	Keysign   types.TxOut `json:"keysign"`
	Signature string      `json:"signature"`
}

type ThorchainBridge

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

ThorchainBridge will be used to send tx to THORChain

func NewThorchainBridge

func NewThorchainBridge(cfg config.ClientConfiguration, m *metrics.Metrics, k *Keys) (*ThorchainBridge, error)

NewThorchainBridge create a new instance of ThorchainBridge

func (*ThorchainBridge) Broadcast

func (b *ThorchainBridge) Broadcast(msgs ...stypes.Msg) (common.TxID, error)

Broadcast Broadcasts tx to thorchain

func (*ThorchainBridge) EnsureNodeWhitelisted

func (b *ThorchainBridge) EnsureNodeWhitelisted() error

EnsureNodeWhitelisted will call to thorchain to check whether the observer had been whitelist or not

func (*ThorchainBridge) EnsureNodeWhitelistedWithTimeout

func (b *ThorchainBridge) EnsureNodeWhitelistedWithTimeout() error

EnsureNodeWhitelistedWithTimeout check node is whitelisted with timeout retry

func (*ThorchainBridge) FetchNodeStatus

func (b *ThorchainBridge) FetchNodeStatus() (stypes.NodeStatus, error)

FetchNodeStatus get current node status from thorchain

func (*ThorchainBridge) GetAsgards

func (b *ThorchainBridge) GetAsgards() (stypes.Vaults, error)

GetAsgards retrieve all the asgard vaults from thorchain

func (*ThorchainBridge) GetBlockHeight

func (b *ThorchainBridge) GetBlockHeight() (int64, error)

GetBlockHeight returns the current height for thorchain blocks

func (*ThorchainBridge) GetConfig

GetConfig return the configuration

func (*ThorchainBridge) GetConstants

func (b *ThorchainBridge) GetConstants() (map[string]int64, error)

GetConstants from thornode

func (*ThorchainBridge) GetContext added in v0.41.0

func (b *ThorchainBridge) GetContext() client.Context

GetContext return a valid context with all relevant values set

func (*ThorchainBridge) GetContractAddress added in v0.41.0

func (b *ThorchainBridge) GetContractAddress() ([]PubKeyContractAddressPair, error)

GetContractAddress retrieve the contract address from asgard

func (*ThorchainBridge) GetErrataMsg added in v0.41.0

func (b *ThorchainBridge) GetErrataMsg(txID common.TxID, chain common.Chain) sdk.Msg

GetErrataMsg get errata tx from params

func (*ThorchainBridge) GetKeygenBlock

func (b *ThorchainBridge) GetKeygenBlock(blockHeight int64, pk string) (types.KeygenBlock, error)

GetKeygenBlock retrieves keygen request for the given block height from thorchain

func (*ThorchainBridge) GetKeygenStdTx

func (b *ThorchainBridge) GetKeygenStdTx(poolPubKey common.PubKey, blame stypes.Blame, inputPks common.PubKeys, keygenType stypes.KeygenType, chains common.Chains, height, keygenTime int64) (sdk.Msg, error)

GetKeygenStdTx get keygen tx from params

func (*ThorchainBridge) GetKeysign

func (b *ThorchainBridge) GetKeysign(blockHeight int64, pk string) (types.TxOut, error)

GetKeysign retrieves txout from this block height from thorchain

func (*ThorchainBridge) GetKeysignParty

func (b *ThorchainBridge) GetKeysignParty(vaultPubKey common.PubKey) (common.PubKeys, error)

GetKeysignParty call into thorchain to get the node accounts that should be join together to sign the message

func (*ThorchainBridge) GetLastObservedInHeight

func (b *ThorchainBridge) GetLastObservedInHeight(chain common.Chain) (int64, error)

GetLastObservedInHeight returns the lastobservedin value for the chain past in

func (*ThorchainBridge) GetLastSignedOutHeight

func (b *ThorchainBridge) GetLastSignedOutHeight(chain common.Chain) (int64, error)

GetLastSignedOutHeight returns the lastsignedout value for thorchain

func (*ThorchainBridge) GetMimir

func (b *ThorchainBridge) GetMimir(key string) (int64, error)

GetMimir - get mimir settings

func (*ThorchainBridge) GetNodeAccount

func (b *ThorchainBridge) GetNodeAccount(thorAddr string) (*types.NodeAccount, error)

GetNodeAccount retrieves node account for this address from thorchain

func (*ThorchainBridge) GetObservationsStdTx

func (b *ThorchainBridge) GetObservationsStdTx(txIns stypes.ObservedTxs) ([]cosmos.Msg, error)

GetObservationsStdTx get observations tx from txIns

func (*ThorchainBridge) GetPools added in v0.41.0

func (b *ThorchainBridge) GetPools() (stypes.Pools, error)

GetPools get pools from THORChain

func (*ThorchainBridge) GetPubKeys

func (b *ThorchainBridge) GetPubKeys() ([]PubKeyContractAddressPair, error)

GetPubKeys retrieve asgard vaults and yggdrasil vaults , and it's relevant smart contracts

func (*ThorchainBridge) GetSolvencyMsg added in v0.63.0

func (b *ThorchainBridge) GetSolvencyMsg(height int64, chain common.Chain, pubKey common.PubKey, coins common.Coins) sdk.Msg

GetSolvencyMsg create MsgSolvency from the given parameters

func (*ThorchainBridge) GetTHORName added in v0.58.0

func (b *ThorchainBridge) GetTHORName(name string) (stypes.THORName, error)

GetTHORName get THORName from THORChain

func (*ThorchainBridge) GetThorchainVersion added in v0.41.0

func (b *ThorchainBridge) GetThorchainVersion() (semver.Version, error)

GetThorchainVersion retrieve thorchain version

func (*ThorchainBridge) IsCatchingUp

func (b *ThorchainBridge) IsCatchingUp() (bool, error)

IsCatchingUp returns bool for if thorchain is catching up to the rest of the nodes. Returns yes, if it is, false if it is caught up.

func (*ThorchainBridge) PostKeysignFailure

func (b *ThorchainBridge) PostKeysignFailure(blame stypes.Blame, height int64, memo string, coins common.Coins, pubkey common.PubKey) (common.TxID, error)

PostKeysignFailure generate and post a keysign fail tx to thorchan

func (*ThorchainBridge) PostNetworkFee

func (b *ThorchainBridge) PostNetworkFee(height int64, chain common.Chain, transactionSize, transactionRate uint64) (common.TxID, error)

PostNetworkFee send network fee message to THORNode

func (*ThorchainBridge) RagnarokInProgress

func (b *ThorchainBridge) RagnarokInProgress() (bool, error)

RagnarokInProgress is to query thorchain to check whether ragnarok had been triggered

func (*ThorchainBridge) WaitToCatchUp

func (b *ThorchainBridge) WaitToCatchUp() error

WaitToCatchUp wait for thorchain to catch up

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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