Documentation ¶
Index ¶
- Constants
- func EgressKey(destChain string, index int64) []byte
- func EgressLengthKey(destChain string) []byte
- func ErrIdenticalChains() sdk.Error
- func ErrInvalidSequence() sdk.Error
- func IngressSequenceKey(srcChain string) []byte
- func NewHandler(ibcm IBCMapper, ck bank.CoinKeeper) sdk.Handler
- func RegisterWire(cdc *wire.Codec)
- type IBCMapper
- func (ibcm IBCMapper) GetIngressSequence(ctx sdk.Context, srcChain string) int64
- func (ibcm IBCMapper) PostIBCPacket(ctx sdk.Context, packet IBCPacket) sdk.Error
- func (ibcm IBCMapper) ReceiveIBCPacket(ctx sdk.Context, packet IBCPacket) sdk.Error
- func (ibcm IBCMapper) SetIngressSequence(ctx sdk.Context, srcChain string, sequence int64)
- type IBCPacket
- type IBCReceiveMsg
- type IBCTransferMsg
Constants ¶
const ( // IBC errors reserve 200 - 299. CodeInvalidSequence sdk.CodeType = 200 CodeIdenticalChains sdk.CodeType = 201 CodeUnknownRequest sdk.CodeType = sdk.CodeUnknownRequest )
Variables ¶
This section is empty.
Functions ¶
func EgressLengthKey ¶
Stores the number of outgoing IBC packets under "egress/index".
func ErrIdenticalChains ¶
func ErrInvalidSequence ¶
func IngressSequenceKey ¶
Stores the sequence number of incoming IBC packet under "ingress/index".
func NewHandler ¶
func NewHandler(ibcm IBCMapper, ck bank.CoinKeeper) sdk.Handler
Types ¶
type IBCMapper ¶
type IBCMapper struct {
// contains filtered or unexported fields
}
func NewIBCMapper ¶
XXX: The IBCMapper should not take a CoinKeeper. Rather have the CoinKeeper take an IBCMapper.
func (IBCMapper) GetIngressSequence ¶
func (IBCMapper) PostIBCPacket ¶
XXX: This is not the public API. This will change in MVP2 and will henceforth only be invoked from another module directly and not through a user transaction. TODO: Handle invalid IBC packets and return errors.
func (IBCMapper) ReceiveIBCPacket ¶
XXX: In the future every module is able to register it's own handler for handling it's own IBC packets. The "ibc" handler will only route the packets to the appropriate callbacks. XXX: For now this handles all interactions with the CoinKeeper. XXX: This needs to do some authentication checking.
type IBCPacket ¶
type IBCPacket struct { SrcAddr sdk.Address DestAddr sdk.Address Coins sdk.Coins SrcChain string DestChain string }
IBCPacket defines a piece of data that can be send between two separate blockchains.
func NewIBCPacket ¶
func (IBCPacket) ValidateBasic ¶
type IBCReceiveMsg ¶
IBCReceiveMsg defines the message that a relayer uses to post an IBCPacket to the destination chain.
func (IBCReceiveMsg) Get ¶
func (msg IBCReceiveMsg) Get(key interface{}) interface{}
func (IBCReceiveMsg) GetSignBytes ¶
func (msg IBCReceiveMsg) GetSignBytes() []byte
func (IBCReceiveMsg) GetSigners ¶
func (msg IBCReceiveMsg) GetSigners() []sdk.Address
x/bank/tx.go SendMsg.GetSigners()
func (IBCReceiveMsg) Type ¶
func (msg IBCReceiveMsg) Type() string
func (IBCReceiveMsg) ValidateBasic ¶
func (msg IBCReceiveMsg) ValidateBasic() sdk.Error
type IBCTransferMsg ¶
type IBCTransferMsg struct {
IBCPacket
}
IBCTransferMsg defines how another module can send an IBCPacket.
func (IBCTransferMsg) Get ¶
func (msg IBCTransferMsg) Get(key interface{}) interface{}
func (IBCTransferMsg) GetSignBytes ¶
func (msg IBCTransferMsg) GetSignBytes() []byte
func (IBCTransferMsg) GetSigners ¶
func (msg IBCTransferMsg) GetSigners() []sdk.Address
x/bank/tx.go SendMsg.GetSigners()
func (IBCTransferMsg) Type ¶
func (msg IBCTransferMsg) Type() string
func (IBCTransferMsg) ValidateBasic ¶
func (msg IBCTransferMsg) ValidateBasic() sdk.Error