tendermint

package
v0.4.5 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2023 License: Apache-2.0, Apache-2.0 Imports: 61 Imported by: 5

README

Tendermint

This implementation is a fork of cosmos/relayer

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthConfig        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowConfig          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupConfig = fmt.Errorf("proto: unexpected end of group")
)
View Source
var ErrLightNotInitialized = errors.New("light client is not initialized")

ErrLightNotInitialized returns the canonical error for a an uninitialized light client

Functions

func BuildSimTx added in v0.1.1

func BuildSimTx(txf tx.Factory, msgs ...sdk.Msg) ([]byte, error)

BuildSimTx creates an unsigned tx with an empty single signature and returns the encoded transaction or an error if the unsigned transaction cannot be built.

func CalculateGas added in v0.1.1

func CalculateGas(
	queryFunc func(string, []byte) ([]byte, int64, error), txf tx.Factory, msgs ...sdk.Msg,
) (txtypes.SimulateResponse, uint64, error)

CalculateGas simulates the execution of a transaction and returns the simulation response obtained by the query and the adjusted gas amount.

func CreateMnemonic

func CreateMnemonic() (string, error)

CreateMnemonic creates a new mnemonic

func MustGetHeight

func MustGetHeight(h ibcexported.Height) uint64

MustGetHeight takes the height inteface and returns the actual height

func RegisterInterfaces

func RegisterInterfaces(registry codectypes.InterfaceRegistry)

RegisterInterfaces register the module interfaces to protobuf Any.

Types

type Chain

type Chain struct {

	// TODO: make these private
	HomePath string           `yaml:"-" json:"-"`
	PathEnd  *core.PathEnd    `yaml:"-" json:"-"`
	Keybase  keys.Keyring     `yaml:"-" json:"-"`
	Client   rpcclient.Client `yaml:"-" json:"-"`
	// contains filtered or unexported fields
}

Chain represents the necessary data for connecting to and indentifying a chain and its counterparites

func (*Chain) CLIContext

func (c *Chain) CLIContext(height int64) sdkCtx.Context

CLIContext returns an instance of client.Context derived from Chain

func (*Chain) ChainID

func (c *Chain) ChainID() string

func (*Chain) ClientID

func (c *Chain) ClientID() string

func (*Chain) Codec added in v0.1.1

func (c *Chain) Codec() codec.ProtoCodecMarshaler

func (*Chain) Config

func (c *Chain) Config() ChainConfig

func (*Chain) ErrCantSetPath

func (c *Chain) ErrCantSetPath(err error) error

ErrCantSetPath returns an error if the path doesn't set properly

func (*Chain) GetAddress

func (c *Chain) GetAddress() (sdk.AccAddress, error)

GetAddress returns the sdk.AccAddress associated with the configred key

func (*Chain) Init

func (c *Chain) Init(homePath string, timeout time.Duration, codec codec.ProtoCodecMarshaler, debug bool) error

func (*Chain) Key

func (c *Chain) Key() string

func (*Chain) KeyExists

func (c *Chain) KeyExists(name string) bool

KeyExists returns true if there is a specified key in chain's keybase

func (*Chain) LatestHeight added in v0.3.1

func (c *Chain) LatestHeight() (ibcexported.Height, error)

LatestHeight queries the chain for the latest height and returns it

func (*Chain) Log

func (c *Chain) Log(s string)

Log takes a string and logs the data

func (*Chain) LogFailedTx

func (c *Chain) LogFailedTx(res *sdk.TxResponse, err error, msgs []sdk.Msg)

LogFailedTx takes the transaction and the messages to create it and logs the appropriate data

func (*Chain) LogSuccessTx

func (c *Chain) LogSuccessTx(res *sdk.TxResponse, msgs []sdk.Msg)

LogSuccessTx take the transaction and the messages to create it and logs the appropriate data

func (*Chain) MustGetAddress

func (c *Chain) MustGetAddress() sdk.AccAddress

MustGetAddress used for brevity

func (*Chain) Path

func (c *Chain) Path() *core.PathEnd

func (*Chain) Print

func (c *Chain) Print(toPrint proto.Message, text, indent bool) error

Print fmt.Printlns the json or yaml representation of whatever is passed in CONTRACT: The cmd calling this function needs to have the "json" and "indent" flags set TODO: better "text" printing here would be a nice to have TODO: fix indenting all over the code base

func (*Chain) QueryBalance

func (c *Chain) QueryBalance(ctx core.QueryContext, addr sdk.AccAddress) (sdk.Coins, error)

QueryBalance returns the amount of coins in the relayer account

func (*Chain) QueryChannel

func (c *Chain) QueryChannel(ctx core.QueryContext) (chanRes *chantypes.QueryChannelResponse, err error)

QueryChannel returns the channel associated with a channelID

func (*Chain) QueryClientConsensusState

func (c *Chain) QueryClientConsensusState(
	ctx core.QueryContext, dstClientConsHeight ibcexported.Height) (*clienttypes.QueryConsensusStateResponse, error)

QueryClientConsensusState retrevies the latest consensus state for a client in state at a given height

func (*Chain) QueryClientState

func (c *Chain) QueryClientState(ctx core.QueryContext) (*clienttypes.QueryClientStateResponse, error)

QueryClientState retrevies the latest consensus state for a client in state at a given height

func (*Chain) QueryConnection

func (c *Chain) QueryConnection(ctx core.QueryContext) (*conntypes.QueryConnectionResponse, error)

QueryConnection returns the remote end of a given connection

func (*Chain) QueryDenomTraces

func (c *Chain) QueryDenomTraces(ctx core.QueryContext, offset, limit uint64) (*transfertypes.QueryDenomTracesResponse, error)

QueryDenomTraces returns all the denom traces from a given chain

func (*Chain) QueryHistoricalInfo

func (c *Chain) QueryHistoricalInfo(height clienttypes.Height) (*stakingtypes.QueryHistoricalInfoResponse, error)

QueryHistoricalInfo returns historical header data

func (*Chain) QueryTxs

func (c *Chain) QueryTxs(height int64, page, limit int, events []string) ([]*ctypes.ResultTx, error)

QueryTxs returns an array of transactions given a tag

func (*Chain) QueryUnbondingPeriod

func (c *Chain) QueryUnbondingPeriod() (time.Duration, error)

QueryUnbondingPeriod returns the unbonding period of the chain

func (*Chain) QueryUnfinalizedRelayAcknowledgements added in v0.4.2

func (c *Chain) QueryUnfinalizedRelayAcknowledgements(ctx core.QueryContext, counterparty core.LightClientICS04Querier) (core.PacketInfoList, error)

func (*Chain) QueryUnfinalizedRelayPackets added in v0.4.2

func (c *Chain) QueryUnfinalizedRelayPackets(ctx core.QueryContext, counterparty core.LightClientICS04Querier) (core.PacketInfoList, error)

func (*Chain) QueryUnreceivedAcknowledgements added in v0.4.2

func (c *Chain) QueryUnreceivedAcknowledgements(ctx core.QueryContext, seqs []uint64) ([]uint64, error)

QueryUnreceivedAcknowledgements returns a list of unrelayed packet acks

func (*Chain) QueryUnreceivedPackets added in v0.4.2

func (c *Chain) QueryUnreceivedPackets(ctx core.QueryContext, seqs []uint64) ([]uint64, error)

QueryUnreceivedPackets returns a list of unrelayed packet commitments

func (*Chain) QueryValsetAtHeight

func (c *Chain) QueryValsetAtHeight(height clienttypes.Height) (*tmproto.ValidatorSet, error)

QueryValsetAtHeight returns the validator set at a given height

func (*Chain) RegisterMsgEventListener added in v0.1.2

func (c *Chain) RegisterMsgEventListener(listener core.MsgEventListener)

RegisterMsgEventListener registers a given EventListener to the chain

func (*Chain) Send

func (c *Chain) Send(msgs []sdk.Msg) bool

func (*Chain) SendMsgs

func (c *Chain) SendMsgs(msgs []sdk.Msg) ([]byte, error)

func (*Chain) SetRelayInfo added in v0.1.2

func (c *Chain) SetRelayInfo(p *core.PathEnd, _ *core.ProvableChain, _ *core.PathEnd) error

SetRelayInfo sets source's path and counterparty's info to the chain

func (*Chain) SetupForRelay added in v0.1.2

func (c *Chain) SetupForRelay(ctx context.Context) error

func (*Chain) Timestamp added in v0.4.5

func (c *Chain) Timestamp(height ibcexported.Height) (time.Time, error)

func (*Chain) TxFactory

func (c *Chain) TxFactory(height int64) tx.Factory

TxFactory returns an instance of tx.Factory derived from

func (*Chain) UseSDKContext

func (c *Chain) UseSDKContext() func()

UseSDKContext uses a custom Bech32 account prefix and returns a restore func CONTRACT: When using this function, caller must ensure that lock contention doesn't cause program to hang.

type ChainConfig

type ChainConfig struct {
	Key           string  `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	ChainId       string  `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	RpcAddr       string  `protobuf:"bytes,3,opt,name=rpc_addr,json=rpcAddr,proto3" json:"rpc_addr,omitempty"`
	AccountPrefix string  `protobuf:"bytes,4,opt,name=account_prefix,json=accountPrefix,proto3" json:"account_prefix,omitempty"`
	GasAdjustment float64 `protobuf:"fixed64,5,opt,name=gas_adjustment,json=gasAdjustment,proto3" json:"gas_adjustment,omitempty"`
	GasPrices     string  `protobuf:"bytes,6,opt,name=gas_prices,json=gasPrices,proto3" json:"gas_prices,omitempty"`
}

func (ChainConfig) Build added in v0.1.1

func (c ChainConfig) Build() (core.Chain, error)

func (*ChainConfig) Descriptor

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

func (*ChainConfig) Marshal

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

func (*ChainConfig) MarshalTo

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

func (*ChainConfig) MarshalToSizedBuffer

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

func (*ChainConfig) ProtoMessage

func (*ChainConfig) ProtoMessage()

func (*ChainConfig) Reset

func (m *ChainConfig) Reset()

func (*ChainConfig) Size

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

func (*ChainConfig) String

func (m *ChainConfig) String() string

func (*ChainConfig) Unmarshal

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

func (*ChainConfig) XXX_DiscardUnknown

func (m *ChainConfig) XXX_DiscardUnknown()

func (*ChainConfig) XXX_Marshal

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

func (*ChainConfig) XXX_Merge

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

func (*ChainConfig) XXX_Size

func (m *ChainConfig) XXX_Size() int

func (*ChainConfig) XXX_Unmarshal

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

type Prover added in v0.1.1

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

func NewProver added in v0.1.1

func NewProver(chain *Chain, config ProverConfig) *Prover

func (*Prover) CreateMsgCreateClient added in v0.1.1

func (pr *Prover) CreateMsgCreateClient(clientID string, dstHeader core.Header, signer sdk.AccAddress) (*clienttypes.MsgCreateClient, error)

CreateMsgCreateClient creates a CreateClientMsg to this chain

func (*Prover) DeleteLightDB added in v0.1.1

func (pr *Prover) DeleteLightDB() error

DeleteLightDB removes the light client database on disk, forcing re-initialization

func (*Prover) GetLatestFinalizedHeader added in v0.3.1

func (pr *Prover) GetLatestFinalizedHeader() (latestFinalizedHeader core.Header, err error)

GetLatestFinalizedHeader returns the latest finalized header

func (*Prover) GetLatestLightHeader added in v0.1.1

func (pr *Prover) GetLatestLightHeader() (*tmclient.Header, error)

GetLatestLightHeader returns the header to be used for client creation

func (*Prover) GetLatestLightHeight added in v0.1.1

func (pr *Prover) GetLatestLightHeight() (int64, error)

GetLatestLightHeight uses the CLI utilities to pull the latest height from a given chain

func (*Prover) GetLightSignedHeaderAtHeight added in v0.1.1

func (pr *Prover) GetLightSignedHeaderAtHeight(height int64) (*tmclient.Header, error)

GetLightSignedHeaderAtHeight returns a signed header at a particular height.

func (*Prover) Init added in v0.1.2

func (pr *Prover) Init(homePath string, timeout time.Duration, codec codec.ProtoCodecMarshaler, debug bool) error

func (*Prover) LightClient added in v0.1.1

func (pr *Prover) LightClient(db dbm.DB) (*light.Client, error)

LightClient initializes the light client for a given chain from the trusted store in the database this should be call for all other light client usage

func (*Prover) LightClientWithTrust added in v0.1.1

func (pr *Prover) LightClientWithTrust(db dbm.DB, to light.TrustOptions) (*light.Client, error)

LightClientWithTrust takes a header from the chain and attempts to add that header to the light database.

func (*Prover) LightClientWithoutTrust added in v0.1.1

func (pr *Prover) LightClientWithoutTrust(db dbm.DB) (*light.Client, error)

LightClientWithoutTrust querys the latest header from the chain and initializes a new light client database using that header. This should only be called when first initializing the light client

func (*Prover) LightHTTP added in v0.1.1

func (pr *Prover) LightHTTP() lightp.Provider

LightHTTP returns the http client for light clients

func (*Prover) NewLightDB added in v0.1.1

func (pr *Prover) NewLightDB() (db *dbm.GoLevelDB, df func(), err error)

func (*Prover) ProveState added in v0.4.2

func (pr *Prover) ProveState(ctx core.QueryContext, path string, value []byte) ([]byte, clienttypes.Height, error)

ProveState returns the proof of an IBC state specified by `path` and `value`

func (*Prover) SetRelayInfo added in v0.1.2

func (pr *Prover) SetRelayInfo(_ *core.PathEnd, _ *core.ProvableChain, _ *core.PathEnd) error

SetRelayInfo sets source's path and counterparty's info to the chain

func (*Prover) SetupForRelay added in v0.1.2

func (pr *Prover) SetupForRelay(ctx context.Context) error

func (*Prover) SetupHeadersForUpdate added in v0.3.1

func (pr *Prover) SetupHeadersForUpdate(dstChain core.ChainInfoICS02Querier, latestFinalizedHeader core.Header) ([]core.Header, error)

SetupHeadersForUpdate returns the finalized header and any intermediate headers needed to apply it to the client on the counterpaty chain

func (*Prover) TrustOptions added in v0.1.1

func (pr *Prover) TrustOptions(height int64, hash []byte) light.TrustOptions

TrustOptions returns light.TrustOptions given a height and hash

func (*Prover) UpdateLightClient added in v0.3.1

func (pr *Prover) UpdateLightClient() (core.Header, error)

type ProverConfig added in v0.1.1

type ProverConfig struct {
	TrustingPeriod string `protobuf:"bytes,1,opt,name=trusting_period,json=trustingPeriod,proto3" json:"trusting_period,omitempty"`
}

func (ProverConfig) Build added in v0.1.1

func (c ProverConfig) Build(chain core.Chain) (core.Prover, error)

func (*ProverConfig) Descriptor added in v0.1.1

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

func (*ProverConfig) Marshal added in v0.1.1

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

func (*ProverConfig) MarshalTo added in v0.1.1

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

func (*ProverConfig) MarshalToSizedBuffer added in v0.1.1

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

func (*ProverConfig) ProtoMessage added in v0.1.1

func (*ProverConfig) ProtoMessage()

func (*ProverConfig) Reset added in v0.1.1

func (m *ProverConfig) Reset()

func (*ProverConfig) Size added in v0.1.1

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

func (*ProverConfig) String added in v0.1.1

func (m *ProverConfig) String() string

func (*ProverConfig) Unmarshal added in v0.1.1

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

func (*ProverConfig) XXX_DiscardUnknown added in v0.1.1

func (m *ProverConfig) XXX_DiscardUnknown()

func (*ProverConfig) XXX_Marshal added in v0.1.1

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

func (*ProverConfig) XXX_Merge added in v0.1.1

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

func (*ProverConfig) XXX_Size added in v0.1.1

func (m *ProverConfig) XXX_Size() int

func (*ProverConfig) XXX_Unmarshal added in v0.1.1

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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