2022-01-13 16:39:32 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package ibc.applications.transfer.v1;
|
|
|
|
|
2022-04-21 20:16:28 +00:00
|
|
|
option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types";
|
2022-01-13 16:39:32 +00:00
|
|
|
|
|
|
|
import "gogoproto/gogo.proto";
|
|
|
|
import "cosmos/base/v1beta1/coin.proto";
|
|
|
|
import "ibc/core/client/v1/client.proto";
|
|
|
|
|
|
|
|
// Msg defines the ibc/transfer Msg service.
|
|
|
|
service Msg {
|
|
|
|
// Transfer defines a rpc handler method for MsgTransfer.
|
|
|
|
rpc Transfer(MsgTransfer) returns (MsgTransferResponse);
|
|
|
|
}
|
|
|
|
|
|
|
|
// MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between
|
|
|
|
// ICS20 enabled chains. See ICS Spec here:
|
2022-04-21 20:16:28 +00:00
|
|
|
// https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures
|
2022-01-13 16:39:32 +00:00
|
|
|
message MsgTransfer {
|
|
|
|
option (gogoproto.equal) = false;
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
|
|
|
// the port on which the packet will be sent
|
|
|
|
string source_port = 1 [(gogoproto.moretags) = "yaml:\"source_port\""];
|
|
|
|
// the channel by which the packet will be sent
|
|
|
|
string source_channel = 2 [(gogoproto.moretags) = "yaml:\"source_channel\""];
|
|
|
|
// the tokens to be transferred
|
|
|
|
cosmos.base.v1beta1.Coin token = 3 [(gogoproto.nullable) = false];
|
|
|
|
// the sender address
|
|
|
|
string sender = 4;
|
|
|
|
// the recipient address on the destination chain
|
|
|
|
string receiver = 5;
|
|
|
|
// Timeout height relative to the current block height.
|
|
|
|
// The timeout is disabled when set to 0.
|
|
|
|
ibc.core.client.v1.Height timeout_height = 6
|
|
|
|
[(gogoproto.moretags) = "yaml:\"timeout_height\"", (gogoproto.nullable) = false];
|
2022-10-24 18:06:39 +00:00
|
|
|
// Timeout timestamp in absolute nanoseconds since unix epoch.
|
2022-01-13 16:39:32 +00:00
|
|
|
// The timeout is disabled when set to 0.
|
|
|
|
uint64 timeout_timestamp = 7 [(gogoproto.moretags) = "yaml:\"timeout_timestamp\""];
|
|
|
|
}
|
|
|
|
|
|
|
|
// MsgTransferResponse defines the Msg/Transfer response type.
|
|
|
|
message MsgTransferResponse {}
|