Documentation
¶
Index ¶
- func NewQueryServer(k *Keeper) types.QueryServer
- type Keeper
- func (k *Keeper) AcknowledgePacket(ctx sdk.Context, packet types.Packet, acknowledgement []byte, proof []byte, ...) (string, error)
- func (k *Keeper) ChanCloseConfirm(ctx sdk.Context, portID, channelID string, initProof []byte, ...) error
- func (k *Keeper) ChanCloseInit(ctx sdk.Context, portID, channelID string) error
- func (k *Keeper) ChanOpenAck(ctx sdk.Context, portID, channelID string, ...) error
- func (k *Keeper) ChanOpenConfirm(ctx sdk.Context, portID, channelID string, ackProof []byte, ...) error
- func (k *Keeper) ChanOpenInit(ctx sdk.Context, order types.Order, connectionHops []string, portID string, ...) (string, error)
- func (k *Keeper) ChanOpenTry(ctx sdk.Context, order types.Order, connectionHops []string, portID string, ...) (string, error)
- func (k *Keeper) GenerateChannelIdentifier(ctx sdk.Context) string
- func (k *Keeper) GetAllChannels(ctx sdk.Context) (channels []types.IdentifiedChannel)
- func (k *Keeper) GetAllChannelsWithPortPrefix(ctx sdk.Context, portPrefix string) []types.IdentifiedChannel
- func (k *Keeper) GetAllPacketAckSeqs(ctx sdk.Context) (seqs []types.PacketSequence)
- func (k *Keeper) GetAllPacketAcks(ctx sdk.Context) (acks []types.PacketState)
- func (k *Keeper) GetAllPacketCommitments(ctx sdk.Context) (commitments []types.PacketState)
- func (k *Keeper) GetAllPacketCommitmentsAtChannel(ctx sdk.Context, portID, channelID string) (commitments []types.PacketState)
- func (k *Keeper) GetAllPacketReceipts(ctx sdk.Context) (receipts []types.PacketState)
- func (k *Keeper) GetAllPacketRecvSeqs(ctx sdk.Context) (seqs []types.PacketSequence)
- func (k *Keeper) GetAllPacketSendSeqs(ctx sdk.Context) (seqs []types.PacketSequence)
- func (k *Keeper) GetAppVersion(ctx sdk.Context, portID, channelID string) (string, bool)
- func (k *Keeper) GetChannel(ctx sdk.Context, portID, channelID string) (types.Channel, bool)
- func (k *Keeper) GetChannelClientState(ctx sdk.Context, portID, channelID string) (string, exported.ClientState, error)
- func (k *Keeper) GetChannelConnection(ctx sdk.Context, portID, channelID string) (string, connectiontypes.ConnectionEnd, error)
- func (k *Keeper) GetConnection(ctx sdk.Context, connectionID string) (connectiontypes.ConnectionEnd, error)
- func (k *Keeper) GetNextChannelSequence(ctx sdk.Context) uint64
- func (k *Keeper) GetNextSequenceAck(ctx sdk.Context, portID, channelID string) (uint64, bool)
- func (k *Keeper) GetNextSequenceRecv(ctx sdk.Context, portID, channelID string) (uint64, bool)
- func (k *Keeper) GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool)
- func (k *Keeper) GetPacketAcknowledgement(ctx sdk.Context, portID, channelID string, sequence uint64) ([]byte, bool)
- func (k *Keeper) GetPacketCommitment(ctx sdk.Context, portID, channelID string, sequence uint64) []byte
- func (k *Keeper) GetPacketReceipt(ctx sdk.Context, portID, channelID string, sequence uint64) (string, bool)
- func (k *Keeper) GetRecvStartSequence(ctx sdk.Context, portID, channelID string) (uint64, bool)
- func (k *Keeper) HasChannel(ctx sdk.Context, portID, channelID string) bool
- func (k *Keeper) HasInflightPackets(ctx sdk.Context, portID, channelID string) bool
- func (k *Keeper) HasPacketAcknowledgement(ctx sdk.Context, portID, channelID string, sequence uint64) bool
- func (k *Keeper) HasPacketCommitment(ctx sdk.Context, portID, channelID string, sequence uint64) bool
- func (k *Keeper) IterateChannels(ctx sdk.Context, cb func(types.IdentifiedChannel) bool)
- func (k *Keeper) IteratePacketAcknowledgement(ctx sdk.Context, ...)
- func (k *Keeper) IteratePacketCommitment(ctx sdk.Context, ...)
- func (k *Keeper) IteratePacketCommitmentAtChannel(ctx sdk.Context, portID, channelID string, ...)
- func (k *Keeper) IteratePacketReceipt(ctx sdk.Context, ...)
- func (k *Keeper) IteratePacketSequence(ctx sdk.Context, iterator db.Iterator, ...)
- func (Keeper) Logger(ctx sdk.Context) log.Logger
- func (k *Keeper) RecvPacket(ctx sdk.Context, packet types.Packet, proof []byte, ...) (string, error)
- func (k *Keeper) RecvPacketReCheckTx(ctx sdk.Context, packet types.Packet) error
- func (k *Keeper) SendPacket(ctx sdk.Context, sourcePort string, sourceChannel string, ...) (uint64, error)
- func (k *Keeper) SetChannel(ctx sdk.Context, portID, channelID string, channel types.Channel)
- func (k *Keeper) SetNextChannelSequence(ctx sdk.Context, sequence uint64)
- func (k *Keeper) SetNextSequenceAck(ctx sdk.Context, portID, channelID string, sequence uint64)
- func (k *Keeper) SetNextSequenceRecv(ctx sdk.Context, portID, channelID string, sequence uint64)
- func (k *Keeper) SetNextSequenceSend(ctx sdk.Context, portID, channelID string, sequence uint64)
- func (k *Keeper) SetPacketAcknowledgement(ctx sdk.Context, portID, channelID string, sequence uint64, ackHash []byte)
- func (k *Keeper) SetPacketCommitment(ctx sdk.Context, portID, channelID string, sequence uint64, ...)
- func (k *Keeper) SetPacketReceipt(ctx sdk.Context, portID, channelID string, sequence uint64)
- func (k *Keeper) TimeoutOnClose(ctx sdk.Context, packet types.Packet, proof, closedProof []byte, ...) (string, error)
- func (k *Keeper) TimeoutPacket(ctx sdk.Context, packet types.Packet, proof []byte, ...) (string, error)
- func (k *Keeper) WriteAcknowledgement(ctx sdk.Context, packet exported.PacketI, ...) error
- func (k *Keeper) WriteOpenAckChannel(ctx sdk.Context, ...)
- func (k *Keeper) WriteOpenConfirmChannel(ctx sdk.Context, portID, channelID string)
- func (k *Keeper) WriteOpenInitChannel(ctx sdk.Context, portID, channelID string, order types.Order, ...)
- func (k *Keeper) WriteOpenTryChannel(ctx sdk.Context, portID, channelID string, order types.Order, ...)
- type Migrator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewQueryServer ¶
func NewQueryServer(k *Keeper) types.QueryServer
NewQueryServer returns a new 04-channel types.QueryServer implementation.
Types ¶
type Keeper ¶
type Keeper struct { // implements gRPC QueryServer interface types.QueryServer // contains filtered or unexported fields }
Keeper defines the IBC channel keeper
func NewKeeper ¶
func NewKeeper( cdc codec.BinaryCodec, storeService corestore.KVStoreService, clientKeeper types.ClientKeeper, connectionKeeper types.ConnectionKeeper, ) *Keeper
NewKeeper creates a new IBC channel Keeper instance
func (*Keeper) AcknowledgePacket ¶
func (k *Keeper) AcknowledgePacket( ctx sdk.Context, packet types.Packet, acknowledgement []byte, proof []byte, proofHeight exported.Height, ) (string, error)
AcknowledgePacket is called by a module to process the acknowledgement of a packet previously sent by the calling module on a channel to a counterparty module on the counterparty chain. Its intended usage is within the ante handler. AcknowledgePacket will clean up the packet commitment, which is no longer necessary since the packet has been received and acted upon. It will also increment NextSequenceAck in case of ORDERED channels.
func (*Keeper) ChanCloseConfirm ¶
func (k *Keeper) ChanCloseConfirm( ctx sdk.Context, portID, channelID string, initProof []byte, proofHeight exported.Height, ) error
ChanCloseConfirm is called by the counterparty module to close their end of the channel, since the other end has been closed.
func (*Keeper) ChanCloseInit ¶
Closing Handshake
This section defines the set of functions required to close a channel handshake as defined in https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#closing-handshake
ChanCloseInit is called by either module to close their end of the channel. Once closed, channels cannot be reopened.
func (*Keeper) ChanOpenAck ¶
func (k *Keeper) ChanOpenAck( ctx sdk.Context, portID, channelID string, counterpartyVersion, counterpartyChannelID string, tryProof []byte, proofHeight exported.Height, ) error
ChanOpenAck is called by the handshake-originating module to acknowledge the acceptance of the initial request by the counterparty module on the other chain.
func (*Keeper) ChanOpenConfirm ¶
func (k *Keeper) ChanOpenConfirm( ctx sdk.Context, portID, channelID string, ackProof []byte, proofHeight exported.Height, ) error
ChanOpenConfirm is called by the handshake-accepting module to confirm the acknowledgement of the handshake-originating module on the other chain and finish the channel opening handshake.
func (*Keeper) ChanOpenInit ¶
func (k *Keeper) ChanOpenInit( ctx sdk.Context, order types.Order, connectionHops []string, portID string, counterparty types.Counterparty, version string, ) (string, error)
ChanOpenInit is called by a module to initiate a channel opening handshake with a module on another chain. The counterparty channel identifier is validated to be empty in msg validation.
func (*Keeper) ChanOpenTry ¶
func (k *Keeper) ChanOpenTry( ctx sdk.Context, order types.Order, connectionHops []string, portID string, counterparty types.Counterparty, counterpartyVersion string, initProof []byte, proofHeight exported.Height, ) (string, error)
ChanOpenTry is called by a module to accept the first step of a channel opening handshake initiated by a module on another chain.
func (*Keeper) GenerateChannelIdentifier ¶
GenerateChannelIdentifier returns the next channel identifier.
func (*Keeper) GetAllChannels ¶
func (k *Keeper) GetAllChannels(ctx sdk.Context) (channels []types.IdentifiedChannel)
GetAllChannels returns all stored Channel objects.
func (*Keeper) GetAllChannelsWithPortPrefix ¶
func (k *Keeper) GetAllChannelsWithPortPrefix(ctx sdk.Context, portPrefix string) []types.IdentifiedChannel
GetAllChannelsWithPortPrefix returns all channels with the specified port prefix. If an empty prefix is provided all channels will be returned.
func (*Keeper) GetAllPacketAckSeqs ¶
func (k *Keeper) GetAllPacketAckSeqs(ctx sdk.Context) (seqs []types.PacketSequence)
GetAllPacketAckSeqs returns all stored next acknowledgements sequences.
func (*Keeper) GetAllPacketAcks ¶
func (k *Keeper) GetAllPacketAcks(ctx sdk.Context) (acks []types.PacketState)
GetAllPacketAcks returns all stored PacketAcknowledgements objects.
func (*Keeper) GetAllPacketCommitments ¶
func (k *Keeper) GetAllPacketCommitments(ctx sdk.Context) (commitments []types.PacketState)
GetAllPacketCommitments returns all stored PacketCommitments objects.
func (*Keeper) GetAllPacketCommitmentsAtChannel ¶
func (k *Keeper) GetAllPacketCommitmentsAtChannel(ctx sdk.Context, portID, channelID string) (commitments []types.PacketState)
GetAllPacketCommitmentsAtChannel returns all stored PacketCommitments objects for a specified port ID and channel ID.
func (*Keeper) GetAllPacketReceipts ¶
func (k *Keeper) GetAllPacketReceipts(ctx sdk.Context) (receipts []types.PacketState)
GetAllPacketReceipts returns all stored PacketReceipt objects.
func (*Keeper) GetAllPacketRecvSeqs ¶
func (k *Keeper) GetAllPacketRecvSeqs(ctx sdk.Context) (seqs []types.PacketSequence)
GetAllPacketRecvSeqs returns all stored next recv sequences.
func (*Keeper) GetAllPacketSendSeqs ¶
func (k *Keeper) GetAllPacketSendSeqs(ctx sdk.Context) (seqs []types.PacketSequence)
GetAllPacketSendSeqs returns all stored next send sequences.
func (*Keeper) GetAppVersion ¶
GetAppVersion gets the version for the specified channel.
func (*Keeper) GetChannel ¶
GetChannel returns a channel with a particular identifier binded to a specific port
func (*Keeper) GetChannelClientState ¶
func (k *Keeper) GetChannelClientState(ctx sdk.Context, portID, channelID string) (string, exported.ClientState, error)
GetChannelClientState returns the associated client state with its ID, from a port and channel identifier.
func (*Keeper) GetChannelConnection ¶
func (k *Keeper) GetChannelConnection(ctx sdk.Context, portID, channelID string) (string, connectiontypes.ConnectionEnd, error)
GetChannelConnection returns the connection ID and state associated with the given port and channel identifier.
func (*Keeper) GetConnection ¶
func (k *Keeper) GetConnection(ctx sdk.Context, connectionID string) (connectiontypes.ConnectionEnd, error)
GetConnection wraps the connection keeper's GetConnection function.
func (*Keeper) GetNextChannelSequence ¶
GetNextChannelSequence gets the next channel sequence from the store.
func (*Keeper) GetNextSequenceAck ¶
GetNextSequenceAck gets a channel's next ack sequence from the store
func (*Keeper) GetNextSequenceRecv ¶
GetNextSequenceRecv gets a channel's next receive sequence from the store
func (*Keeper) GetNextSequenceSend ¶
GetNextSequenceSend gets a channel's next send sequence from the store
func (*Keeper) GetPacketAcknowledgement ¶
func (k *Keeper) GetPacketAcknowledgement(ctx sdk.Context, portID, channelID string, sequence uint64) ([]byte, bool)
GetPacketAcknowledgement gets the packet ack hash from the store
func (*Keeper) GetPacketCommitment ¶
func (k *Keeper) GetPacketCommitment(ctx sdk.Context, portID, channelID string, sequence uint64) []byte
GetPacketCommitment gets the packet commitment hash from the store
func (*Keeper) GetPacketReceipt ¶
func (k *Keeper) GetPacketReceipt(ctx sdk.Context, portID, channelID string, sequence uint64) (string, bool)
GetPacketReceipt gets a packet receipt from the store
func (*Keeper) GetRecvStartSequence ¶
GetRecvStartSequence gets a channel's recv start sequence from the store. The recv start sequence will be set to the counterparty's next sequence send upon a successful channel upgrade. It will be used for replay protection of historical packets and as the upper bound for pruning stale packet receives.
func (*Keeper) HasChannel ¶
HasChannel true if the channel with the given identifiers exists in state.
func (*Keeper) HasInflightPackets ¶
HasInflightPackets returns true if there are packet commitments stored at the specified port and channel, and false otherwise.
func (*Keeper) HasPacketAcknowledgement ¶
func (k *Keeper) HasPacketAcknowledgement(ctx sdk.Context, portID, channelID string, sequence uint64) bool
HasPacketAcknowledgement check if the packet ack hash is already on the store
func (*Keeper) HasPacketCommitment ¶
func (k *Keeper) HasPacketCommitment(ctx sdk.Context, portID, channelID string, sequence uint64) bool
HasPacketCommitment returns true if the packet commitment exists
func (*Keeper) IterateChannels ¶
IterateChannels provides an iterator over all Channel objects. For each Channel, cb will be called. If the cb returns true, the iterator will close and stop.
func (*Keeper) IteratePacketAcknowledgement ¶
func (k *Keeper) IteratePacketAcknowledgement(ctx sdk.Context, cb func(portID, channelID string, sequence uint64, hash []byte) bool)
IteratePacketAcknowledgement provides an iterator over all PacketAcknowledgement objects. For each acknowledgement, cb will be called. If the cb returns true, the iterator will close and stop.
func (*Keeper) IteratePacketCommitment ¶
func (k *Keeper) IteratePacketCommitment(ctx sdk.Context, cb func(portID, channelID string, sequence uint64, hash []byte) bool)
IteratePacketCommitment provides an iterator over all PacketCommitment objects. For each packet commitment, cb will be called. If the cb returns true, the iterator will close and stop.
func (*Keeper) IteratePacketCommitmentAtChannel ¶
func (k *Keeper) IteratePacketCommitmentAtChannel(ctx sdk.Context, portID, channelID string, cb func(_, _ string, sequence uint64, hash []byte) bool)
IteratePacketCommitmentAtChannel provides an iterator over all PacketCommitment objects at a specified channel. For each packet commitment, cb will be called. If the cb returns true, the iterator will close and stop.
func (*Keeper) IteratePacketReceipt ¶
func (k *Keeper) IteratePacketReceipt(ctx sdk.Context, cb func(portID, channelID string, sequence uint64, receipt []byte) bool)
IteratePacketReceipt provides an iterator over all PacketReceipt objects. For each receipt, cb will be called. If the cb returns true, the iterator will close and stop.
func (*Keeper) IteratePacketSequence ¶
func (k *Keeper) IteratePacketSequence(ctx sdk.Context, iterator db.Iterator, cb func(portID, channelID string, sequence uint64) bool)
IteratePacketSequence provides an iterator over all send, receive or ack sequences. For each sequence, cb will be called. If the cb returns true, the iterator will close and stop.
func (*Keeper) RecvPacket ¶
func (k *Keeper) RecvPacket( ctx sdk.Context, packet types.Packet, proof []byte, proofHeight exported.Height, ) (string, error)
RecvPacket is called by a module in order to receive & process an IBC packet sent on the corresponding channel end on the counterparty chain.
func (*Keeper) RecvPacketReCheckTx ¶
RecvPacketReCheckTx applies replay protection ensuring that when relay messages are re-executed in ReCheckTx, we can appropriately filter out redundant relay transactions.
func (*Keeper) SendPacket ¶
func (k *Keeper) SendPacket( ctx sdk.Context, sourcePort string, sourceChannel string, timeoutHeight clienttypes.Height, timeoutTimestamp uint64, data []byte, ) (uint64, error)
SendPacket is called by a module in order to send an IBC packet on a channel. The packet sequence generated for the packet to be sent is returned. An error is returned if one occurs.
func (*Keeper) SetChannel ¶
SetChannel sets a channel to the store
func (*Keeper) SetNextChannelSequence ¶
SetNextChannelSequence sets the next channel sequence to the store.
func (*Keeper) SetNextSequenceAck ¶
SetNextSequenceAck sets a channel's next ack sequence to the store
func (*Keeper) SetNextSequenceRecv ¶
SetNextSequenceRecv sets a channel's next receive sequence to the store
func (*Keeper) SetNextSequenceSend ¶
SetNextSequenceSend sets a channel's next send sequence to the store
func (*Keeper) SetPacketAcknowledgement ¶
func (k *Keeper) SetPacketAcknowledgement(ctx sdk.Context, portID, channelID string, sequence uint64, ackHash []byte)
SetPacketAcknowledgement sets the packet ack hash to the store
func (*Keeper) SetPacketCommitment ¶
func (k *Keeper) SetPacketCommitment(ctx sdk.Context, portID, channelID string, sequence uint64, commitmentHash []byte)
SetPacketCommitment sets the packet commitment hash to the store
func (*Keeper) SetPacketReceipt ¶
SetPacketReceipt sets an empty packet receipt to the store
func (*Keeper) TimeoutOnClose ¶
func (k *Keeper) TimeoutOnClose( ctx sdk.Context, packet types.Packet, proof, closedProof []byte, proofHeight exported.Height, nextSequenceRecv uint64, ) (string, error)
TimeoutOnClose is called by a module in order to prove that the channel to which an unreceived packet was addressed has been closed, so the packet will never be received (even if the timeoutHeight has not yet been reached).
func (*Keeper) TimeoutPacket ¶
func (k *Keeper) TimeoutPacket( ctx sdk.Context, packet types.Packet, proof []byte, proofHeight exported.Height, nextSequenceRecv uint64, ) (string, error)
TimeoutPacket is called by a module which originally attempted to send a packet to a counterparty module, where the timeout height has passed on the counterparty chain without the packet being committed, to prove that the packet can no longer be executed and to allow the calling module to safely perform appropriate state transitions. Its intended usage is within the ante handler.
func (*Keeper) WriteAcknowledgement ¶
func (k *Keeper) WriteAcknowledgement( ctx sdk.Context, packet exported.PacketI, acknowledgement exported.Acknowledgement, ) error
WriteAcknowledgement writes the packet execution acknowledgement to the state, which will be verified by the counterparty chain using AcknowledgePacket.
CONTRACT:
1) For synchronous execution, this function is be called in the IBC handler . For async handling, it needs to be called directly by the module which originally processed the packet.
2) Assumes that packet receipt has been written (unordered), or nextSeqRecv was incremented (ordered) previously by RecvPacket.
func (*Keeper) WriteOpenAckChannel ¶
func (k *Keeper) WriteOpenAckChannel( ctx sdk.Context, portID, channelID, counterpartyVersion, counterpartyChannelID string, )
WriteOpenAckChannel writes an updated channel state for the successful OpenAck handshake step. An event is emitted for the handshake step.
func (*Keeper) WriteOpenConfirmChannel ¶
WriteOpenConfirmChannel writes an updated channel state for the successful OpenConfirm handshake step. An event is emitted for the handshake step.
func (*Keeper) WriteOpenInitChannel ¶
func (k *Keeper) WriteOpenInitChannel( ctx sdk.Context, portID, channelID string, order types.Order, connectionHops []string, counterparty types.Counterparty, version string, )
WriteOpenInitChannel writes a channel which has successfully passed the OpenInit handshake step. The channel is set in state and all the associated Send and Recv sequences are set to 1. An event is emitted for the handshake step.
func (*Keeper) WriteOpenTryChannel ¶
func (k *Keeper) WriteOpenTryChannel( ctx sdk.Context, portID, channelID string, order types.Order, connectionHops []string, counterparty types.Counterparty, version string, )
WriteOpenTryChannel writes a channel which has successfully passed the OpenTry handshake step. The channel is set in state. If a previous channel state did not exist, all the Send and Recv sequences are set to 1. An event is emitted for the handshake step.
type Migrator ¶
type Migrator struct {
// contains filtered or unexported fields
}
Migrator is a struct for handling in-place store migrations.
func (*Migrator) Migrate7To8 ¶
Migrate7To8 migrates the channel store from module version 7 to 8 by: - Removing channel upgrade sequences - Removing any channel upgrade info (i.e. upgrades, counterparty upgrades, upgrade errors) - Removing channel params - Removing pruning sequences NOTE: This migration will fail if any channels are in the FLUSHING or FLUSHCOMPLETE state.