ibc/applications

Table of Contents

ibc/applications/fee/v1/ack.proto

Top

IncentivizedAcknowledgement

IncentivizedAcknowledgement is the acknowledgement format to be used by applications wrapped in the fee middleware

FieldTypeLabelDescription
app_acknowledgement bytes

the underlying app acknowledgement bytes

forward_relayer_address string

the relayer address which submits the recv packet message

underlying_app_success bool

success flag of the base application callback

ibc/applications/fee/v1/fee.proto

Top

Fee

Fee defines the ICS29 receive, acknowledgement and timeout fees

FieldTypeLabelDescription
recv_fee cosmos.base.v1beta1.Coin repeated

the packet receive fee

ack_fee cosmos.base.v1beta1.Coin repeated

the packet acknowledgement fee

timeout_fee cosmos.base.v1beta1.Coin repeated

the packet timeout fee

IdentifiedPacketFees

IdentifiedPacketFees contains a list of type PacketFee and associated PacketId

FieldTypeLabelDescription
packet_id ibc.core.channel.v1.PacketId

unique packet identifier comprised of the channel ID, port ID and sequence

packet_fees PacketFee repeated

list of packet fees

PacketFee

PacketFee contains ICS29 relayer fees, refund address and optional list of permitted relayers

FieldTypeLabelDescription
fee Fee

fee encapsulates the recv, ack and timeout fees associated with an IBC packet

refund_address string

the refund address for unspent fees

relayers string repeated

optional list of relayers permitted to receive fees

PacketFees

PacketFees contains a list of type PacketFee

FieldTypeLabelDescription
packet_fees PacketFee repeated

list of packet fees

ibc/applications/fee/v1/genesis.proto

Top

FeeEnabledChannel

FeeEnabledChannel contains the PortID & ChannelID for a fee enabled channel

FieldTypeLabelDescription
port_id string

unique port identifier

channel_id string

unique channel identifier

ForwardRelayerAddress

ForwardRelayerAddress contains the forward relayer address and PacketId used for async acknowledgements

FieldTypeLabelDescription
address string

the forward relayer address

packet_id ibc.core.channel.v1.PacketId

unique packet identifer comprised of the channel ID, port ID and sequence

GenesisState

GenesisState defines the ICS29 fee middleware genesis state

FieldTypeLabelDescription
identified_fees IdentifiedPacketFees repeated

list of identified packet fees

fee_enabled_channels FeeEnabledChannel repeated

list of fee enabled channels

registered_payees RegisteredPayee repeated

list of registered payees

registered_counterparty_payees RegisteredCounterpartyPayee repeated

list of registered counterparty payees

forward_relayers ForwardRelayerAddress repeated

list of forward relayer addresses

RegisteredCounterpartyPayee

RegisteredCounterpartyPayee contains the relayer address and counterparty payee address for a specific channel (used

for recv fee distribution)

FieldTypeLabelDescription
channel_id string

unique channel identifier

relayer string

the relayer address

counterparty_payee string

the counterparty payee address

RegisteredPayee

RegisteredPayee contains the relayer address and payee address for a specific channel

FieldTypeLabelDescription
channel_id string

unique channel identifier

relayer string

the relayer address

payee string

the payee address

ibc/applications/fee/v1/metadata.proto

Top

Metadata

Metadata defines the ICS29 channel specific metadata encoded into the channel version bytestring

See ICS004: https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#Versioning

FieldTypeLabelDescription
fee_version string

fee_version defines the ICS29 fee version

app_version string

app_version defines the underlying application version, which may or may not be a JSON encoded bytestring

ibc/applications/fee/v1/query.proto

Top

QueryCounterpartyPayeeRequest

QueryCounterpartyPayeeRequest defines the request type for the CounterpartyPayee rpc

FieldTypeLabelDescription
channel_id string

unique channel identifier

relayer string

the relayer address to which the counterparty is registered

QueryCounterpartyPayeeResponse

QueryCounterpartyPayeeResponse defines the response type for the CounterpartyPayee rpc

FieldTypeLabelDescription
counterparty_payee string

the counterparty payee address used to compensate forward relaying

QueryFeeEnabledChannelRequest

QueryFeeEnabledChannelRequest defines the request type for the FeeEnabledChannel rpc

FieldTypeLabelDescription
port_id string

unique port identifier

channel_id string

unique channel identifier

QueryFeeEnabledChannelResponse

QueryFeeEnabledChannelResponse defines the response type for the FeeEnabledChannel rpc

FieldTypeLabelDescription
fee_enabled bool

boolean flag representing the fee enabled channel status

QueryFeeEnabledChannelsRequest

QueryFeeEnabledChannelsRequest defines the request type for the FeeEnabledChannels rpc

FieldTypeLabelDescription
pagination cosmos.base.query.v1beta1.PageRequest

pagination defines an optional pagination for the request.

query_height uint64

block height at which to query

QueryFeeEnabledChannelsResponse

QueryFeeEnabledChannelsResponse defines the response type for the FeeEnabledChannels rpc

FieldTypeLabelDescription
fee_enabled_channels FeeEnabledChannel repeated

list of fee enabled channels

pagination cosmos.base.query.v1beta1.PageResponse

pagination defines the pagination in the response.

QueryIncentivizedPacketRequest

QueryIncentivizedPacketRequest defines the request type for the IncentivizedPacket rpc

FieldTypeLabelDescription
packet_id ibc.core.channel.v1.PacketId

unique packet identifier comprised of channel ID, port ID and sequence

query_height uint64

block height at which to query

QueryIncentivizedPacketResponse

QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPacket rpc

FieldTypeLabelDescription
incentivized_packet IdentifiedPacketFees

the identified fees for the incentivized packet

QueryIncentivizedPacketsForChannelRequest

QueryIncentivizedPacketsForChannelRequest defines the request type for querying for all incentivized packets

for a specific channel

FieldTypeLabelDescription
pagination cosmos.base.query.v1beta1.PageRequest

pagination defines an optional pagination for the request.

port_id string

channel_id string

query_height uint64

Height to query at

QueryIncentivizedPacketsForChannelResponse

QueryIncentivizedPacketsResponse defines the response type for the incentivized packets RPC

FieldTypeLabelDescription
incentivized_packets IdentifiedPacketFees repeated

Map of all incentivized_packets

pagination cosmos.base.query.v1beta1.PageResponse

pagination defines the pagination in the response.

QueryIncentivizedPacketsRequest

QueryIncentivizedPacketsRequest defines the request type for the IncentivizedPackets rpc

FieldTypeLabelDescription
pagination cosmos.base.query.v1beta1.PageRequest

pagination defines an optional pagination for the request.

query_height uint64

block height at which to query

QueryIncentivizedPacketsResponse

QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPackets rpc

FieldTypeLabelDescription
incentivized_packets IdentifiedPacketFees repeated

list of identified fees for incentivized packets

pagination cosmos.base.query.v1beta1.PageResponse

pagination defines the pagination in the response.

QueryPayeeRequest

QueryPayeeRequest defines the request type for the Payee rpc

FieldTypeLabelDescription
channel_id string

unique channel identifier

relayer string

the relayer address to which the distribution address is registered

QueryPayeeResponse

QueryPayeeResponse defines the response type for the Payee rpc

FieldTypeLabelDescription
payee_address string

the payee address to which packet fees are paid out

QueryTotalAckFeesRequest

QueryTotalAckFeesRequest defines the request type for the TotalAckFees rpc

FieldTypeLabelDescription
packet_id ibc.core.channel.v1.PacketId

the packet identifier for the associated fees

QueryTotalAckFeesResponse

QueryTotalAckFeesResponse defines the response type for the TotalAckFees rpc

FieldTypeLabelDescription
ack_fees cosmos.base.v1beta1.Coin repeated

the total packet acknowledgement fees

QueryTotalRecvFeesRequest

QueryTotalRecvFeesRequest defines the request type for the TotalRecvFees rpc

FieldTypeLabelDescription
packet_id ibc.core.channel.v1.PacketId

the packet identifier for the associated fees

QueryTotalRecvFeesResponse

QueryTotalRecvFeesResponse defines the response type for the TotalRecvFees rpc

FieldTypeLabelDescription
recv_fees cosmos.base.v1beta1.Coin repeated

the total packet receive fees

QueryTotalTimeoutFeesRequest

QueryTotalTimeoutFeesRequest defines the request type for the TotalTimeoutFees rpc

FieldTypeLabelDescription
packet_id ibc.core.channel.v1.PacketId

the packet identifier for the associated fees

QueryTotalTimeoutFeesResponse

QueryTotalTimeoutFeesResponse defines the response type for the TotalTimeoutFees rpc

FieldTypeLabelDescription
timeout_fees cosmos.base.v1beta1.Coin repeated

the total packet timeout fees

Query

Query defines the ICS29 gRPC querier service.

Method NameRequest TypeResponse TypeDescription
IncentivizedPackets QueryIncentivizedPacketsRequest QueryIncentivizedPacketsResponse

IncentivizedPackets returns all incentivized packets and their associated fees

IncentivizedPacket QueryIncentivizedPacketRequest QueryIncentivizedPacketResponse

IncentivizedPacket returns all packet fees for a packet given its identifier

IncentivizedPacketsForChannel QueryIncentivizedPacketsForChannelRequest QueryIncentivizedPacketsForChannelResponse

Gets all incentivized packets for a specific channel

TotalRecvFees QueryTotalRecvFeesRequest QueryTotalRecvFeesResponse

TotalRecvFees returns the total receive fees for a packet given its identifier

TotalAckFees QueryTotalAckFeesRequest QueryTotalAckFeesResponse

TotalAckFees returns the total acknowledgement fees for a packet given its identifier

TotalTimeoutFees QueryTotalTimeoutFeesRequest QueryTotalTimeoutFeesResponse

TotalTimeoutFees returns the total timeout fees for a packet given its identifier

Payee QueryPayeeRequest QueryPayeeResponse

Payee returns the registered payee address for a specific channel given the relayer address

CounterpartyPayee QueryCounterpartyPayeeRequest QueryCounterpartyPayeeResponse

CounterpartyPayee returns the registered counterparty payee for forward relaying

FeeEnabledChannels QueryFeeEnabledChannelsRequest QueryFeeEnabledChannelsResponse

FeeEnabledChannels returns a list of all fee enabled channels

FeeEnabledChannel QueryFeeEnabledChannelRequest QueryFeeEnabledChannelResponse

FeeEnabledChannel returns true if the provided port and channel identifiers belong to a fee enabled channel

Methods with HTTP bindings

Method Name Method Pattern Body
IncentivizedPackets GET /ibc/apps/fee/v1/incentivized_packets
IncentivizedPacket GET /ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/incentivized_packet
IncentivizedPacketsForChannel GET /ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/incentivized_packets
TotalRecvFees GET /ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_recv_fees
TotalAckFees GET /ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_ack_fees
TotalTimeoutFees GET /ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_timeout_fees
Payee GET /ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/payee
CounterpartyPayee GET /ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/counterparty_payee
FeeEnabledChannels GET /ibc/apps/fee/v1/fee_enabled
FeeEnabledChannel GET /ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/fee_enabled

ibc/applications/fee/v1/tx.proto

Top

MsgPayPacketFee

MsgPayPacketFee defines the request type for the PayPacketFee rpc

This Msg can be used to pay for a packet at the next sequence send & should be combined with the Msg that will be

paid for

FieldTypeLabelDescription
fee Fee

fee encapsulates the recv, ack and timeout fees associated with an IBC packet

source_port_id string

the source port unique identifier

source_channel_id string

the source channel unique identifer

signer string

account address to refund fee if necessary

relayers string repeated

optional list of relayers permitted to the receive packet fees

MsgPayPacketFeeAsync

MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync rpc

This Msg can be used to pay for a packet at a specified sequence (instead of the next sequence send)

FieldTypeLabelDescription
packet_id ibc.core.channel.v1.PacketId

unique packet identifier comprised of the channel ID, port ID and sequence

packet_fee PacketFee

the packet fee associated with a particular IBC packet

MsgPayPacketFeeAsyncResponse

MsgPayPacketFeeAsyncResponse defines the response type for the PayPacketFeeAsync rpc

MsgPayPacketFeeResponse

MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc

MsgRegisterCounterpartyPayee

MsgRegisterCounterpartyPayee defines the request type for the RegisterCounterpartyPayee rpc

FieldTypeLabelDescription
port_id string

unique port identifier

channel_id string

unique channel identifier

relayer string

the relayer address

counterparty_payee string

the counterparty payee address

MsgRegisterCounterpartyPayeeResponse

MsgRegisterCounterpartyPayeeResponse defines the response type for the RegisterCounterpartyPayee rpc

MsgRegisterPayee

MsgRegisterPayee defines the request type for the RegisterPayee rpc

FieldTypeLabelDescription
port_id string

unique port identifier

channel_id string

unique channel identifier

relayer string

the relayer address

payee string

the payee address

MsgRegisterPayeeResponse

MsgRegisterPayeeResponse defines the response type for the RegisterPayee rpc

Msg

Msg defines the ICS29 Msg service.

Method NameRequest TypeResponse TypeDescription
RegisterPayee MsgRegisterPayee MsgRegisterPayeeResponse

RegisterPayee defines a rpc handler method for MsgRegisterPayee RegisterPayee is called by the relayer on each channelEnd and allows them to set an optional payee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on the source chain from which packets originate as this is where fee distribution takes place. This function may be called more than once by a relayer, in which case, the latest payee is always used.

RegisterCounterpartyPayee MsgRegisterCounterpartyPayee MsgRegisterCounterpartyPayeeResponse

RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee RegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty payee address before relaying. This ensures they will be properly compensated for forward relaying since the destination chain must include the registered counterparty payee address in the acknowledgement. This function may be called more than once by a relayer, in which case, the latest counterparty payee address is always used.

PayPacketFee MsgPayPacketFee MsgPayPacketFeeResponse

PayPacketFee defines a rpc handler method for MsgPayPacketFee PayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to incentivize the relaying of the packet at the next sequence NOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows initiates the lifecycle of the incentivized packet

PayPacketFeeAsync MsgPayPacketFeeAsync MsgPayPacketFeeAsyncResponse

PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync PayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to incentivize the relaying of a known packet (i.e. at a particular sequence)

ibc/applications/interchain_accounts/controller/v1/controller.proto

Top

Params

Params defines the set of on-chain interchain accounts parameters.

The following parameters may be used to disable the controller submodule.

FieldTypeLabelDescription
controller_enabled bool

controller_enabled enables or disables the controller submodule.

ibc/applications/interchain_accounts/controller/v1/query.proto

Top

QueryInterchainAccountRequest

QueryInterchainAccountRequest is the request type for the Query/InterchainAccount RPC method.

FieldTypeLabelDescription
owner string

connection_id string

QueryInterchainAccountResponse

QueryInterchainAccountResponse the response type for the Query/InterchainAccount RPC method.

FieldTypeLabelDescription
address string

QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method.

QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method.

FieldTypeLabelDescription
params Params

params defines the parameters of the module.

Query

Query provides defines the gRPC querier service.

Method NameRequest TypeResponse TypeDescription
InterchainAccount QueryInterchainAccountRequest QueryInterchainAccountResponse

InterchainAccount returns the interchain account address for a given owner address on a given connection

Params QueryParamsRequest QueryParamsResponse

Params queries all parameters of the ICA controller submodule.

Methods with HTTP bindings

Method Name Method Pattern Body
InterchainAccount GET /ibc/apps/interchain_accounts/controller/v1/owners/{owner}/connections/{connection_id}
Params GET /ibc/apps/interchain_accounts/controller/v1/params

ibc/applications/interchain_accounts/controller/v1/tx.proto

Top

MsgRegisterInterchainAccount

MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount

FieldTypeLabelDescription
owner string

connection_id string

version string

ordering ibc.core.channel.v1.Order

MsgRegisterInterchainAccountResponse

MsgRegisterInterchainAccountResponse defines the response for Msg/RegisterAccount

FieldTypeLabelDescription
channel_id string

port_id string

MsgSendTx

MsgSendTx defines the payload for Msg/SendTx

FieldTypeLabelDescription
owner string

connection_id string

packet_data ibc.applications.interchain_accounts.v1.InterchainAccountPacketData

relative_timeout uint64

Relative timeout timestamp provided will be added to the current block time during transaction execution. The timeout timestamp must be non-zero.

MsgSendTxResponse

MsgSendTxResponse defines the response for MsgSendTx

FieldTypeLabelDescription
sequence uint64

MsgUpdateParams

MsgUpdateParams defines the payload for Msg/UpdateParams

FieldTypeLabelDescription
signer string

signer address

params Params

params defines the 27-interchain-accounts/controller parameters to update. NOTE: All parameters must be supplied.

MsgUpdateParamsResponse

MsgUpdateParamsResponse defines the response for Msg/UpdateParams

Msg

Msg defines the 27-interchain-accounts/controller Msg service.

Method NameRequest TypeResponse TypeDescription
RegisterInterchainAccount MsgRegisterInterchainAccount MsgRegisterInterchainAccountResponse

RegisterInterchainAccount defines a rpc handler for MsgRegisterInterchainAccount.

SendTx MsgSendTx MsgSendTxResponse

SendTx defines a rpc handler for MsgSendTx.

UpdateParams MsgUpdateParams MsgUpdateParamsResponse

UpdateParams defines a rpc handler for MsgUpdateParams.

ibc/applications/interchain_accounts/genesis/v1/genesis.proto

Top

ActiveChannel

ActiveChannel contains a connection ID, port ID and associated active channel ID, as well as a boolean flag to

indicate if the channel is middleware enabled

FieldTypeLabelDescription
connection_id string

port_id string

channel_id string

is_middleware_enabled bool

ControllerGenesisState

ControllerGenesisState defines the interchain accounts controller genesis state

FieldTypeLabelDescription
active_channels ActiveChannel repeated

interchain_accounts RegisteredInterchainAccount repeated

ports string repeated

params ibc.applications.interchain_accounts.controller.v1.Params

GenesisState

GenesisState defines the interchain accounts genesis state

FieldTypeLabelDescription
controller_genesis_state ControllerGenesisState

host_genesis_state HostGenesisState

HostGenesisState

HostGenesisState defines the interchain accounts host genesis state

FieldTypeLabelDescription
active_channels ActiveChannel repeated

interchain_accounts RegisteredInterchainAccount repeated

port string

params ibc.applications.interchain_accounts.host.v1.Params

RegisteredInterchainAccount

RegisteredInterchainAccount contains a connection ID, port ID and associated interchain account address

FieldTypeLabelDescription
connection_id string

port_id string

account_address string

ibc/applications/interchain_accounts/host/v1/host.proto

Top

Params

Params defines the set of on-chain interchain accounts parameters.

The following parameters may be used to disable the host submodule.

FieldTypeLabelDescription
host_enabled bool

host_enabled enables or disables the host submodule.

allow_messages string repeated

allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain.

QueryRequest

QueryRequest defines the parameters for a particular query request

by an interchain account.

FieldTypeLabelDescription
path string

path defines the path of the query request as defined by ADR-021. https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing

data bytes

data defines the payload of the query request as defined by ADR-021. https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing

ibc/applications/interchain_accounts/host/v1/query.proto

Top

QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method.

QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method.

FieldTypeLabelDescription
params Params

params defines the parameters of the module.

Query

Query provides defines the gRPC querier service.

Method NameRequest TypeResponse TypeDescription
Params QueryParamsRequest QueryParamsResponse

Params queries all parameters of the ICA host submodule.

Methods with HTTP bindings

Method Name Method Pattern Body
Params GET /ibc/apps/interchain_accounts/host/v1/params

ibc/applications/interchain_accounts/host/v1/tx.proto

Top

MsgModuleQuerySafe

MsgModuleQuerySafe defines the payload for Msg/ModuleQuerySafe

FieldTypeLabelDescription
signer string

signer address

requests QueryRequest repeated

requests defines the module safe queries to execute.

MsgModuleQuerySafeResponse

MsgModuleQuerySafeResponse defines the response for Msg/ModuleQuerySafe

FieldTypeLabelDescription
height uint64

height at which the responses were queried

responses bytes repeated

protobuf encoded responses for each query

MsgUpdateParams

MsgUpdateParams defines the payload for Msg/UpdateParams

FieldTypeLabelDescription
signer string

signer address

params Params

params defines the 27-interchain-accounts/host parameters to update. NOTE: All parameters must be supplied.

MsgUpdateParamsResponse

MsgUpdateParamsResponse defines the response for Msg/UpdateParams

Msg

Msg defines the 27-interchain-accounts/host Msg service.

Method NameRequest TypeResponse TypeDescription
UpdateParams MsgUpdateParams MsgUpdateParamsResponse

UpdateParams defines a rpc handler for MsgUpdateParams.

ModuleQuerySafe MsgModuleQuerySafe MsgModuleQuerySafeResponse

ModuleQuerySafe defines a rpc handler for MsgModuleQuerySafe.

ibc/applications/interchain_accounts/v1/account.proto

Top

InterchainAccount

An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain

FieldTypeLabelDescription
base_account cosmos.auth.v1beta1.BaseAccount

account_owner string

ibc/applications/interchain_accounts/v1/metadata.proto

Top

Metadata

Metadata defines a set of protocol specific data encoded into the ICS27 channel version bytestring

See ICS004: https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#Versioning

FieldTypeLabelDescription
version string

version defines the ICS27 protocol version

controller_connection_id string

controller_connection_id is the connection identifier associated with the controller chain

host_connection_id string

host_connection_id is the connection identifier associated with the host chain

address string

address defines the interchain account address to be fulfilled upon the OnChanOpenTry handshake step NOTE: the address field is empty on the OnChanOpenInit handshake step

encoding string

encoding defines the supported codec format

tx_type string

tx_type defines the type of transactions the interchain account can execute

ibc/applications/interchain_accounts/v1/packet.proto

Top

CosmosTx

CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain.

FieldTypeLabelDescription
messages google.protobuf.Any repeated

InterchainAccountPacketData

InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field.

FieldTypeLabelDescription
type Type

data bytes

memo string

Type

Type defines a classification of message issued from a controller chain to its associated interchain accounts

host

NameNumberDescription
TYPE_UNSPECIFIED 0

Default zero value enumeration

TYPE_EXECUTE_TX 1

Execute a transaction on an interchain accounts host chain

ibc/applications/transfer/v1/authz.proto

Top

Allocation

Allocation defines the spend limit for a particular port and channel

FieldTypeLabelDescription
source_port string

the port on which the packet will be sent

source_channel string

the channel by which the packet will be sent

spend_limit cosmos.base.v1beta1.Coin repeated

spend limitation on the channel

allow_list string repeated

allow list of receivers, an empty allow list permits any receiver address

allowed_packet_data string repeated

allow list of memo strings, an empty list prohibits all memo strings; a list only with "*" permits any memo string

TransferAuthorization

TransferAuthorization allows the grantee to spend up to spend_limit coins from

the granter's account for ibc transfer on a specific channel

FieldTypeLabelDescription
allocations Allocation repeated

port and channel amounts

ibc/applications/transfer/v1/genesis.proto

Top

GenesisState

GenesisState defines the ibc-transfer genesis state

FieldTypeLabelDescription
port_id string

denom_traces DenomTrace repeated

params Params

total_escrowed cosmos.base.v1beta1.Coin repeated

total_escrowed contains the total amount of tokens escrowed by the transfer module

ibc/applications/transfer/v1/query.proto

Top

QueryDenomHashRequest

QueryDenomHashRequest is the request type for the Query/DenomHash RPC

method

FieldTypeLabelDescription
trace string

The denomination trace ([port_id]/[channel_id])+/[denom]

QueryDenomHashResponse

QueryDenomHashResponse is the response type for the Query/DenomHash RPC

method.

FieldTypeLabelDescription
hash string

hash (in hex format) of the denomination trace information.

QueryDenomTraceRequest

QueryDenomTraceRequest is the request type for the Query/DenomTrace RPC

method

FieldTypeLabelDescription
hash string

hash (in hex format) or denom (full denom with ibc prefix) of the denomination trace information.

QueryDenomTraceResponse

QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC

method.

FieldTypeLabelDescription
denom_trace DenomTrace

denom_trace returns the requested denomination trace information.

QueryDenomTracesRequest

QueryConnectionsRequest is the request type for the Query/DenomTraces RPC

method

FieldTypeLabelDescription
pagination cosmos.base.query.v1beta1.PageRequest

pagination defines an optional pagination for the request.

QueryDenomTracesResponse

QueryConnectionsResponse is the response type for the Query/DenomTraces RPC

method.

FieldTypeLabelDescription
denom_traces DenomTrace repeated

denom_traces returns all denominations trace information.

pagination cosmos.base.query.v1beta1.PageResponse

pagination defines the pagination in the response.

QueryEscrowAddressRequest

QueryEscrowAddressRequest is the request type for the EscrowAddress RPC method.

FieldTypeLabelDescription
port_id string

unique port identifier

channel_id string

unique channel identifier

QueryEscrowAddressResponse

QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method.

FieldTypeLabelDescription
escrow_address string

the escrow account address

QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method.

QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method.

FieldTypeLabelDescription
params Params

params defines the parameters of the module.

QueryTotalEscrowForDenomRequest

QueryTotalEscrowForDenomRequest is the request type for TotalEscrowForDenom RPC method.

FieldTypeLabelDescription
denom string

QueryTotalEscrowForDenomResponse

QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method.

FieldTypeLabelDescription
amount cosmos.base.v1beta1.Coin

Query

Query provides defines the gRPC querier service.

Method NameRequest TypeResponse TypeDescription
DenomTraces QueryDenomTracesRequest QueryDenomTracesResponse

DenomTraces queries all denomination traces.

DenomTrace QueryDenomTraceRequest QueryDenomTraceResponse

DenomTrace queries a denomination trace information.

Params QueryParamsRequest QueryParamsResponse

Params queries all parameters of the ibc-transfer module.

DenomHash QueryDenomHashRequest QueryDenomHashResponse

DenomHash queries a denomination hash information.

EscrowAddress QueryEscrowAddressRequest QueryEscrowAddressResponse

EscrowAddress returns the escrow address for a particular port and channel id.

TotalEscrowForDenom QueryTotalEscrowForDenomRequest QueryTotalEscrowForDenomResponse

TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom.

Methods with HTTP bindings

Method Name Method Pattern Body
DenomTraces GET /ibc/apps/transfer/v1/denom_traces
DenomTrace GET /ibc/apps/transfer/v1/denom_traces/{hash=**}
Params GET /ibc/apps/transfer/v1/params
DenomHash GET /ibc/apps/transfer/v1/denom_hashes/{trace=**}
EscrowAddress GET /ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address
TotalEscrowForDenom GET /ibc/apps/transfer/v1/denoms/{denom=**}/total_escrow

ibc/applications/transfer/v1/transfer.proto

Top

DenomTrace

DenomTrace contains the base denomination for ICS20 fungible tokens and the

source tracing information path.

FieldTypeLabelDescription
path string

path defines the chain of port/channel identifiers used for tracing the source of the fungible token.

base_denom string

base denomination of the relayed fungible token.

Params

Params defines the set of IBC transfer parameters.

NOTE: To prevent a single token from being transferred, set the

TransfersEnabled parameter to true and then set the bank module's SendEnabled

parameter for the denomination to false.

FieldTypeLabelDescription
send_enabled bool

send_enabled enables or disables all cross-chain token transfers from this chain.

receive_enabled bool

receive_enabled enables or disables all cross-chain token transfers to this chain.

ibc/applications/transfer/v1/tx.proto

Top

MsgTransfer

MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between

ICS20 enabled chains. See ICS Spec here:

https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures

FieldTypeLabelDescription
source_port string

the port on which the packet will be sent

source_channel string

the channel by which the packet will be sent

token cosmos.base.v1beta1.Coin

the tokens to be transferred

sender string

the sender address

receiver string

the recipient address on the destination chain

timeout_height ibc.core.client.v1.Height

Timeout height relative to the current block height. The timeout is disabled when set to 0.

timeout_timestamp uint64

Timeout timestamp in absolute nanoseconds since unix epoch. The timeout is disabled when set to 0.

memo string

optional memo

MsgTransferResponse

MsgTransferResponse defines the Msg/Transfer response type.

FieldTypeLabelDescription
sequence uint64

sequence number of the transfer packet sent

MsgUpdateParams

MsgUpdateParams is the Msg/UpdateParams request type.

FieldTypeLabelDescription
signer string

signer address

params Params

params defines the transfer parameters to update. NOTE: All parameters must be supplied.

MsgUpdateParamsResponse

MsgUpdateParamsResponse defines the response structure for executing a

MsgUpdateParams message.

Msg

Msg defines the ibc/transfer Msg service.

Method NameRequest TypeResponse TypeDescription
Transfer MsgTransfer MsgTransferResponse

Transfer defines a rpc handler method for MsgTransfer.

UpdateParams MsgUpdateParams MsgUpdateParamsResponse

UpdateParams defines a rpc handler for MsgUpdateParams.

ibc/applications/transfer/v2/packet.proto

Top

FungibleTokenPacketData

FungibleTokenPacketData defines a struct for the packet payload

See FungibleTokenPacketData spec:

https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures

FieldTypeLabelDescription
denom string

the token denomination to be transferred

amount string

the token amount to be transferred

sender string

the sender address

receiver string

the recipient address on the destination chain

memo string

optional memo

Scalar Value Types

.proto Type Notes Python Type
double float
float float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int/long
uint32 Uses variable-length encoding. int/long
uint64 Uses variable-length encoding. int/long
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int/long
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. int
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. int/long
sfixed32 Always four bytes. int
sfixed64 Always eight bytes. int/long
bool boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. str/unicode
bytes May contain any arbitrary sequence of bytes. str