Documentation ¶
Index ¶
- func EmitAcknowledgementEvent(ctx sdk.Context, packet exported.PacketI, ack exported.Acknowledgement, ...)
- func ExportGenesis(ctx sdk.Context, keeper Keeper) genesistypes.ControllerGenesisState
- func InitGenesis(ctx sdk.Context, keeper Keeper, state genesistypes.ControllerGenesisState)
- func NewMsgServerImpl(keeper *Keeper) types.MsgServer
- type Keeper
- func (k Keeper) AuthenticateCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) bool
- func (k Keeper) BindPort(ctx sdk.Context, portID string) *capabilitytypes.Capability
- func (k Keeper) ClaimCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) error
- func (k Keeper) DeleteMiddlewareEnabled(ctx sdk.Context, portID, connectionID string)
- func (k Keeper) GetActiveChannelID(ctx sdk.Context, connectionID, portID string) (string, bool)
- func (k Keeper) GetAllActiveChannels(ctx sdk.Context) []genesistypes.ActiveChannel
- func (k Keeper) GetAllInterchainAccounts(ctx sdk.Context) []genesistypes.RegisteredInterchainAccount
- func (k Keeper) GetAllPorts(ctx sdk.Context) []string
- func (k Keeper) GetAppVersion(ctx sdk.Context, portID, channelID string) (string, bool)
- func (k Keeper) GetConnectionID(ctx sdk.Context, portID, channelID string) (string, error)
- func (k Keeper) GetInterchainAccountAddress(ctx sdk.Context, connectionID, portID string) (string, bool)
- func (k Keeper) GetOpenActiveChannel(ctx sdk.Context, connectionID, portID string) (string, bool)
- func (k Keeper) GetParams(ctx sdk.Context) types.Params
- func (k Keeper) InterchainAccount(goCtx context.Context, req *types.QueryInterchainAccountRequest) (*types.QueryInterchainAccountResponse, error)
- func (k Keeper) IsActiveChannel(ctx sdk.Context, connectionID, portID string) bool
- func (k Keeper) IsActiveChannelClosed(ctx sdk.Context, connectionID, portID string) bool
- func (k Keeper) IsBound(ctx sdk.Context, portID string) bool
- func (k Keeper) IsControllerEnabled(ctx sdk.Context) bool
- func (k Keeper) IsMiddlewareDisabled(ctx sdk.Context, portID, connectionID string) bool
- func (k Keeper) IsMiddlewareEnabled(ctx sdk.Context, portID, connectionID string) bool
- func (k Keeper) Logger(ctx sdk.Context) log.Logger
- func (k Keeper) OnChanCloseConfirm(ctx sdk.Context, portID, channelID string) error
- func (k Keeper) OnChanOpenAck(ctx sdk.Context, portID, channelID string, counterpartyVersion string) error
- func (k Keeper) OnChanOpenInit(ctx sdk.Context, order channeltypes.Order, connectionHops []string, ...) (string, error)
- func (k Keeper) OnTimeoutPacket(ctx sdk.Context, packet channeltypes.Packet) error
- func (k Keeper) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
- func (k Keeper) RegisterInterchainAccount(ctx sdk.Context, connectionID, owner, version string) error
- func (k Keeper) SendTx(ctx sdk.Context, _ *capabilitytypes.Capability, connectionID, portID string, ...) (uint64, error)deprecated
- func (k Keeper) SetActiveChannelID(ctx sdk.Context, connectionID, portID, channelID string)
- func (k Keeper) SetInterchainAccountAddress(ctx sdk.Context, connectionID, portID, address string)
- func (k Keeper) SetMiddlewareDisabled(ctx sdk.Context, portID, connectionID string)
- func (k Keeper) SetMiddlewareEnabled(ctx sdk.Context, portID, connectionID string)
- func (k Keeper) SetParams(ctx sdk.Context, params types.Params)
- type Migrator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EmitAcknowledgementEvent ¶
func EmitAcknowledgementEvent(ctx sdk.Context, packet exported.PacketI, ack exported.Acknowledgement, err error)
EmitAcknowledgementEvent emits an event signalling a successful or failed acknowledgement and including the error details if any.
func ExportGenesis ¶
func ExportGenesis(ctx sdk.Context, keeper Keeper) genesistypes.ControllerGenesisState
ExportGenesis returns the interchain accounts controller exported genesis
func InitGenesis ¶
func InitGenesis(ctx sdk.Context, keeper Keeper, state genesistypes.ControllerGenesisState)
InitGenesis initializes the interchain accounts controller application state from a provided genesis state
func NewMsgServerImpl ¶
NewMsgServerImpl returns an implementation of the ICS27 MsgServer interface for the provided Keeper.
Types ¶
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
Keeper defines the IBC interchain accounts controller keeper
func NewKeeper ¶
func NewKeeper( cdc codec.BinaryCodec, key storetypes.StoreKey, paramSpace paramtypes.Subspace, ics4Wrapper porttypes.ICS4Wrapper, channelKeeper icatypes.ChannelKeeper, portKeeper icatypes.PortKeeper, scopedKeeper exported.ScopedKeeper, msgRouter icatypes.MessageRouter, ) Keeper
NewKeeper creates a new interchain accounts controller Keeper instance
func (Keeper) AuthenticateCapability ¶
func (k Keeper) AuthenticateCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) bool
AuthenticateCapability wraps the scopedKeeper's AuthenticateCapability function
func (Keeper) BindPort ¶
func (k Keeper) BindPort(ctx sdk.Context, portID string) *capabilitytypes.Capability
BindPort stores the provided portID and binds to it, returning the associated capability
func (Keeper) ClaimCapability ¶
func (k Keeper) ClaimCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) error
ClaimCapability wraps the scopedKeeper's ClaimCapability function
func (Keeper) DeleteMiddlewareEnabled ¶
DeleteMiddlewareEnabled deletes the middleware enabled flag stored in state
func (Keeper) GetActiveChannelID ¶
GetActiveChannelID retrieves the active channelID from the store, keyed by the provided connectionID and portID
func (Keeper) GetAllActiveChannels ¶
func (k Keeper) GetAllActiveChannels(ctx sdk.Context) []genesistypes.ActiveChannel
GetAllActiveChannels returns a list of all active interchain accounts controller channels and their associated connection and port identifiers
func (Keeper) GetAllInterchainAccounts ¶
func (k Keeper) GetAllInterchainAccounts(ctx sdk.Context) []genesistypes.RegisteredInterchainAccount
GetAllInterchainAccounts returns a list of all registered interchain account addresses and their associated connection and controller port identifiers
func (Keeper) GetAllPorts ¶
GetAllPorts returns all ports to which the interchain accounts controller module is bound. Used in ExportGenesis
func (Keeper) GetAppVersion ¶
GetAppVersion calls the ICS4Wrapper GetAppVersion function.
func (Keeper) GetConnectionID ¶
GetConnectionID returns the connection id for the given port and channelIDs.
func (Keeper) GetInterchainAccountAddress ¶
func (k Keeper) GetInterchainAccountAddress(ctx sdk.Context, connectionID, portID string) (string, bool)
GetInterchainAccountAddress retrieves the InterchainAccount address from the store associated with the provided connectionID and portID
func (Keeper) GetOpenActiveChannel ¶
GetOpenActiveChannel retrieves the active channelID from the store, keyed by the provided connectionID and portID & checks if the channel in question is in state OPEN
func (Keeper) InterchainAccount ¶
func (k Keeper) InterchainAccount(goCtx context.Context, req *types.QueryInterchainAccountRequest) (*types.QueryInterchainAccountResponse, error)
InterchainAccount implements the Query/InterchainAccount gRPC method
func (Keeper) IsActiveChannel ¶
IsActiveChannel returns true if there exists an active channel for the provided connectionID and portID, otherwise false
func (Keeper) IsActiveChannelClosed ¶
IsActiveChannelClosed retrieves the active channel from the store and returns true if the channel state is CLOSED, otherwise false
func (Keeper) IsBound ¶
IsBound checks if the interchain account controller module is already bound to the desired port
func (Keeper) IsControllerEnabled ¶
IsControllerEnabled retrieves the controller enabled boolean from the paramstore. True is returned if the controller submodule is enabled.
func (Keeper) IsMiddlewareDisabled ¶
IsMiddlewareDisabled returns true if the underlying application callbacks are disabled for the given port and connection identifier pair, otherwise false
func (Keeper) IsMiddlewareEnabled ¶
IsMiddlewareEnabled returns true if the underlying application callbacks are enabled for given port and connection identifier pair, otherwise false
func (Keeper) OnChanCloseConfirm ¶
OnChanCloseConfirm removes the active channel stored in state
func (Keeper) OnChanOpenAck ¶
func (k Keeper) OnChanOpenAck( ctx sdk.Context, portID, channelID string, counterpartyVersion string, ) error
OnChanOpenAck sets the active channel for the interchain account/owner pair and stores the associated interchain account address in state keyed by it's corresponding port identifier
func (Keeper) OnChanOpenInit ¶
func (k Keeper) OnChanOpenInit( ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version string, ) (string, error)
OnChanOpenInit performs basic validation of channel initialization. The channel order must be ORDERED, the counterparty port identifier must be the host chain representation as defined in the types package, the channel version must be equal to the version in the types package, there must not be an active channel for the specfied port identifier, and the interchain accounts module must be able to claim the channel capability.
func (Keeper) OnTimeoutPacket ¶
OnTimeoutPacket removes the active channel associated with the provided packet, the underlying channel end is closed due to the semantics of ORDERED channels
func (Keeper) Params ¶
func (k Keeper) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
Params implements the Query/Params gRPC method
func (Keeper) RegisterInterchainAccount ¶
func (k Keeper) RegisterInterchainAccount(ctx sdk.Context, connectionID, owner, version string) error
Prior to v6.x.x of ibc-go, the controller module was only functional as middleware, with authentication performed by the underlying application. For a full summary of the changes in v6.x.x, please see ADR009. This API will be removed in later releases.
func (Keeper) SendTx
deprecated
func (k Keeper) SendTx(ctx sdk.Context, _ *capabilitytypes.Capability, connectionID, portID string, icaPacketData icatypes.InterchainAccountPacketData, timeoutTimestamp uint64) (uint64, error)
SendTx takes pre-built packet data containing messages to be executed on the host chain from an authentication module and attempts to send the packet. The packet sequence for the outgoing packet is returned as a result. If the base application has the capability to send on the provided portID. An appropriate absolute timeoutTimestamp must be provided. If the packet is timed out, the channel will be closed. In the case of channel closure, a new channel may be reopened to reconnect to the host chain.
Deprecated: this is a legacy API that is only intended to function correctly in workflows where an underlying application has been set. Prior to to v6.x.x of ibc-go, the controller module was only functional as middleware, with authentication performed by the underlying application. For a full summary of the changes in v6.x.x, please see ADR009. This API will be removed in later releases.
func (Keeper) SetActiveChannelID ¶
SetActiveChannelID stores the active channelID, keyed by the provided connectionID and portID
func (Keeper) SetInterchainAccountAddress ¶
SetInterchainAccountAddress stores the InterchainAccount address, keyed by the associated connectionID and portID
func (Keeper) SetMiddlewareDisabled ¶
SetMiddlewareDisabled stores a flag to indicate that the underlying application callbacks should be disabled for the given port and connection identifier pair
func (Keeper) SetMiddlewareEnabled ¶
SetMiddlewareEnabled stores a flag to indicate that the underlying application callbacks should be enabled for the given port and connection identifier pair
type Migrator ¶
type Migrator struct {
// contains filtered or unexported fields
}
Migrator is a struct for handling in-place store migrations.
func (Migrator) AssertChannelCapabilityMigrations ¶
AssertChannelCapabilityMigrations checks that all channel capabilities generated using the interchain accounts controller port prefix are owned by the controller submodule and ibc.