MsgRegisterInterchainAccount
An Interchain Accounts channel handshake can be initiated using MsgRegisterInterchainAccount
:
Owner
is an empty string.ConnectionID
is invalid (see 24-host naming requirements).
MsgChannelOpenInit
on chain and route it to the core IBC message server to initiate the opening step of the channel handshake.
The controller submodule will generate a new port identifier and claim the associated port capability. The caller is expected to provide an appropriate application version string. For example, this may be an ICS-27 JSON encoded Metadata
type or an ICS-29 JSON encoded Metadata
type with a nested application version.
If the Version
string is omitted, the controller submodule will construct a default version string in the OnChanOpenInit
handshake callback.
ChannelID
is returned in the message response.
MsgSendTx
An Interchain Accounts transaction can be executed on a remote host chain by sending a MsgSendTx
from the corresponding controller chain:
Owner
is an empty string.ConnectionID
is invalid (see 24-host naming requirements).PacketData
contains anUNSPECIFIED
type enum, the length ofData
bytes is zero or theMemo
field exceeds 256 characters in length.RelativeTimeout
is zero.
PacketData
and send it via the channel associated with the Owner
and ConnectionID
.
The PacketData
is expected to contain a list of serialized []sdk.Msg
in the form of CosmosTx
. Please note the signer field of each sdk.Msg
must be the interchain account address.
When the packet is relayed to the host chain, the PacketData
is unmarshalled and the messages are authenticated and executed.
Sequence
is returned in the message response.
Atomicity
As the Interchain Accounts module supports the execution of multiple transactions using the Cosmos SDKMsg
interface, it provides the same atomicity guarantees as Cosmos SDK-based applications, leveraging the CacheMultiStore
architecture provided by the Context
type.
This provides atomic execution of transactions when using Interchain Accounts, where state changes are only committed if all Msg
s succeed.