Documentation ¶
Index ¶
- Variables
- func BuildSimTx(txf tx.Factory, msgs ...sdk.Msg) ([]byte, error)
- func CalculateGas(queryFunc func(string, []byte) ([]byte, int64, error), txf tx.Factory, ...) (txtypes.SimulateResponse, uint64, error)
- func CreateMnemonic() (string, error)
- func MustGetHeight(h ibcexported.Height) uint64
- func RegisterInterfaces(registry codectypes.InterfaceRegistry)
- type Chain
- func (c *Chain) CLIContext(height int64) sdkCtx.Context
- func (c *Chain) ChainID() string
- func (c *Chain) ClientID() string
- func (c *Chain) Codec() codec.ProtoCodecMarshaler
- func (c *Chain) Config() ChainConfig
- func (c *Chain) ErrCantSetPath(err error) error
- func (c *Chain) GetAddress() (sdk.AccAddress, error)
- func (c *Chain) Init(homePath string, timeout time.Duration, codec codec.ProtoCodecMarshaler, ...) error
- func (c *Chain) Key() string
- func (c *Chain) KeyExists(name string) bool
- func (c *Chain) LatestHeight() (ibcexported.Height, error)
- func (c *Chain) Log(s string)
- func (c *Chain) LogFailedTx(res *sdk.TxResponse, err error, msgs []sdk.Msg)
- func (c *Chain) LogSuccessTx(res *sdk.TxResponse, msgs []sdk.Msg)
- func (c *Chain) MustGetAddress() sdk.AccAddress
- func (c *Chain) Path() *core.PathEnd
- func (c *Chain) Print(toPrint proto.Message, text, indent bool) error
- func (c *Chain) QueryBalance(ctx core.QueryContext, addr sdk.AccAddress) (sdk.Coins, error)
- func (c *Chain) QueryChannel(ctx core.QueryContext) (chanRes *chantypes.QueryChannelResponse, err error)
- func (c *Chain) QueryClientConsensusState(ctx core.QueryContext, dstClientConsHeight ibcexported.Height) (*clienttypes.QueryConsensusStateResponse, error)
- func (c *Chain) QueryClientState(ctx core.QueryContext) (*clienttypes.QueryClientStateResponse, error)
- func (c *Chain) QueryConnection(ctx core.QueryContext) (*conntypes.QueryConnectionResponse, error)
- func (c *Chain) QueryDenomTraces(ctx core.QueryContext, offset, limit uint64) (*transfertypes.QueryDenomTracesResponse, error)
- func (c *Chain) QueryHistoricalInfo(height clienttypes.Height) (*stakingtypes.QueryHistoricalInfoResponse, error)
- func (c *Chain) QueryTxs(height int64, page, limit int, events []string) ([]*ctypes.ResultTx, error)
- func (c *Chain) QueryUnbondingPeriod() (time.Duration, error)
- func (c *Chain) QueryUnfinalizedRelayAcknowledgements(ctx core.QueryContext, counterparty core.LightClientICS04Querier) (core.PacketInfoList, error)
- func (c *Chain) QueryUnfinalizedRelayPackets(ctx core.QueryContext, counterparty core.LightClientICS04Querier) (core.PacketInfoList, error)
- func (c *Chain) QueryUnreceivedAcknowledgements(ctx core.QueryContext, seqs []uint64) ([]uint64, error)
- func (c *Chain) QueryUnreceivedPackets(ctx core.QueryContext, seqs []uint64) ([]uint64, error)
- func (c *Chain) QueryValsetAtHeight(height clienttypes.Height) (*tmproto.ValidatorSet, error)
- func (c *Chain) RegisterMsgEventListener(listener core.MsgEventListener)
- func (c *Chain) Send(msgs []sdk.Msg) bool
- func (c *Chain) SendMsgs(msgs []sdk.Msg) ([]byte, error)
- func (c *Chain) SetRelayInfo(p *core.PathEnd, _ *core.ProvableChain, _ *core.PathEnd) error
- func (c *Chain) SetupForRelay(ctx context.Context) error
- func (c *Chain) TxFactory(height int64) tx.Factory
- func (c *Chain) UseSDKContext() func()
- type ChainConfig
- func (c ChainConfig) Build() (core.Chain, error)
- func (*ChainConfig) Descriptor() ([]byte, []int)
- func (m *ChainConfig) Marshal() (dAtA []byte, err error)
- func (m *ChainConfig) MarshalTo(dAtA []byte) (int, error)
- func (m *ChainConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ChainConfig) ProtoMessage()
- func (m *ChainConfig) Reset()
- func (m *ChainConfig) Size() (n int)
- func (m *ChainConfig) String() string
- func (m *ChainConfig) Unmarshal(dAtA []byte) error
- func (m *ChainConfig) XXX_DiscardUnknown()
- func (m *ChainConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ChainConfig) XXX_Merge(src proto.Message)
- func (m *ChainConfig) XXX_Size() int
- func (m *ChainConfig) XXX_Unmarshal(b []byte) error
- type Prover
- func (pr *Prover) CreateMsgCreateClient(clientID string, dstHeader core.Header, signer sdk.AccAddress) (*clienttypes.MsgCreateClient, error)
- func (pr *Prover) DeleteLightDB() error
- func (pr *Prover) GetLatestFinalizedHeader() (latestFinalizedHeader core.Header, err error)
- func (pr *Prover) GetLatestLightHeader() (*tmclient.Header, error)
- func (pr *Prover) GetLatestLightHeight() (int64, error)
- func (pr *Prover) GetLightSignedHeaderAtHeight(height int64) (*tmclient.Header, error)
- func (pr *Prover) Init(homePath string, timeout time.Duration, codec codec.ProtoCodecMarshaler, ...) error
- func (pr *Prover) LightClient(db dbm.DB) (*light.Client, error)
- func (pr *Prover) LightClientWithTrust(db dbm.DB, to light.TrustOptions) (*light.Client, error)
- func (pr *Prover) LightClientWithoutTrust(db dbm.DB) (*light.Client, error)
- func (pr *Prover) LightHTTP() lightp.Provider
- func (pr *Prover) NewLightDB() (db *dbm.GoLevelDB, df func(), err error)
- func (pr *Prover) ProveState(ctx core.QueryContext, path string, value []byte) ([]byte, clienttypes.Height, error)
- func (pr *Prover) SetRelayInfo(_ *core.PathEnd, _ *core.ProvableChain, _ *core.PathEnd) error
- func (pr *Prover) SetupForRelay(ctx context.Context) error
- func (pr *Prover) SetupHeadersForUpdate(dstChain core.ChainInfoICS02Querier, latestFinalizedHeader core.Header) ([]core.Header, error)
- func (pr *Prover) TrustOptions(height int64, hash []byte) light.TrustOptions
- func (pr *Prover) UpdateLightClient() (core.Header, error)
- type ProverConfig
- func (c ProverConfig) Build(chain core.Chain) (core.Prover, error)
- func (*ProverConfig) Descriptor() ([]byte, []int)
- func (m *ProverConfig) Marshal() (dAtA []byte, err error)
- func (m *ProverConfig) MarshalTo(dAtA []byte) (int, error)
- func (m *ProverConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ProverConfig) ProtoMessage()
- func (m *ProverConfig) Reset()
- func (m *ProverConfig) Size() (n int)
- func (m *ProverConfig) String() string
- func (m *ProverConfig) Unmarshal(dAtA []byte) error
- func (m *ProverConfig) XXX_DiscardUnknown()
- func (m *ProverConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ProverConfig) XXX_Merge(src proto.Message)
- func (m *ProverConfig) XXX_Size() int
- func (m *ProverConfig) XXX_Unmarshal(b []byte) error
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidLengthConfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowConfig = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupConfig = fmt.Errorf("proto: unexpected end of group") )
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
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 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 ¶
CLIContext returns an instance of client.Context derived from Chain
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 ¶
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) 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) LogFailedTx ¶
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) Print ¶
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 ¶
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
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) SetRelayInfo ¶ added in v0.1.2
SetRelayInfo sets source's path and counterparty's info to the chain
func (*Chain) SetupForRelay ¶ added in v0.1.2
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) Descriptor ¶
func (*ChainConfig) Descriptor() ([]byte, []int)
func (*ChainConfig) Marshal ¶
func (m *ChainConfig) Marshal() (dAtA []byte, err 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
DeleteLightDB removes the light client database on disk, forcing re-initialization
func (*Prover) GetLatestFinalizedHeader ¶ added in v0.3.1
GetLatestFinalizedHeader returns the latest finalized header
func (*Prover) GetLatestLightHeader ¶ added in v0.1.1
GetLatestLightHeader returns the header to be used for client creation
func (*Prover) GetLatestLightHeight ¶ added in v0.1.1
GetLatestLightHeight uses the CLI utilities to pull the latest height from a given chain
func (*Prover) GetLightSignedHeaderAtHeight ¶ added in v0.1.1
GetLightSignedHeaderAtHeight returns a signed header at a particular height.
func (*Prover) LightClient ¶ added in v0.1.1
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
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
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) NewLightDB ¶ added in v0.1.1
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
SetRelayInfo sets source's path and counterparty's info to the chain
func (*Prover) SetupForRelay ¶ added in v0.1.2
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
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) 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