MsgRegisterInterchainAccount
messageicacontroller-{contract_address}.{interchain_account_id}
. This ensures that each interchain account is uniquely associated with a specific contract and identifier.
MsgSubmitTx
message containing one or more messages to executeSudo
mechanism to call back into the contract when IBC events occur. Each callback follows a specific message format that the contract must implement to properly handle the events.
SudoLimitWrapper
, which provides critical protections:
Ok()
immediately if the data is incompatible.<remote-chain-binary>
is the CLI binary for the remote chain (e.g., gaiad
, osmosisd
)<channel-id>
is the ICA channel ID on the remote chain (obtained from the OpenAck callback’s counterparty_channel_id
)<seq-id>
is the sequence ID returned from the MsgSubmitTx
response<src-port>
is the port ID (format: icacontroller-{contract_address}.{interchain_account_id}
)<src-channel-id>
is the local channel ID from your registrationcodespace: <module>, code: <error_code>
. For example:
codespace
indicates the module where the error occurred, and code
is the unique error identifier. You can find error descriptions in the remote chain’s source code at x/<module>/types/errors.go
.
neutron14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s5c2epq
registers an account with ID hub/1
, the port becomes: