github.com/okex/exchain@v1.8.0/libs/ibc-go/proto/ibc/applications/fee/v1/tx.proto (about)

     1  syntax = "proto3";
     2  
     3  package ibc.applications.fee.v1;
     4  
     5  option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types";
     6  
     7  import "gogoproto/gogo.proto";
     8  import "ibc/applications/fee/v1/fee.proto";
     9  import "ibc/core/channel/v1/channel.proto";
    10  
    11  // Msg defines the ICS29 Msg service.
    12  service Msg {
    13    // RegisterPayee defines a rpc handler method for MsgRegisterPayee
    14    // RegisterPayee is called by the relayer on each channelEnd and allows them to set an optional
    15    // payee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on
    16    // the source chain from which packets originate as this is where fee distribution takes place. This function may be
    17    // called more than once by a relayer, in which case, the latest payee is always used.
    18    rpc RegisterPayee(MsgRegisterPayee) returns (MsgRegisterPayeeResponse);
    19  
    20    // RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee
    21    // RegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty
    22    // payee address before relaying. This ensures they will be properly compensated for forward relaying since
    23    // the destination chain must include the registered counterparty payee address in the acknowledgement. This function
    24    // may be called more than once by a relayer, in which case, the latest counterparty payee address is always used.
    25    rpc RegisterCounterpartyPayee(MsgRegisterCounterpartyPayee) returns (MsgRegisterCounterpartyPayeeResponse);
    26  
    27    // PayPacketFee defines a rpc handler method for MsgPayPacketFee
    28    // PayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to
    29    // incentivize the relaying of the packet at the next sequence
    30    // NOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows
    31    // initiates the lifecycle of the incentivized packet
    32    rpc PayPacketFee(MsgPayPacketFee) returns (MsgPayPacketFeeResponse);
    33  
    34    // PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync
    35    // PayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to
    36    // incentivize the relaying of a known packet (i.e. at a particular sequence)
    37    rpc PayPacketFeeAsync(MsgPayPacketFeeAsync) returns (MsgPayPacketFeeAsyncResponse);
    38  }
    39  
    40  // MsgRegisterPayee defines the request type for the RegisterPayee rpc
    41  message MsgRegisterPayee {
    42    option (gogoproto.equal)           = false;
    43    option (gogoproto.goproto_getters) = false;
    44  
    45    // unique port identifier
    46    string port_id = 1 [(gogoproto.moretags) = "yaml:\"port_id\""];
    47    // unique channel identifier
    48    string channel_id = 2 [(gogoproto.moretags) = "yaml:\"channel_id\""];
    49    // the relayer address
    50    string relayer = 3;
    51    // the payee address
    52    string payee = 4;
    53  }
    54  
    55  // MsgRegisterPayeeResponse defines the response type for the RegisterPayee rpc
    56  message MsgRegisterPayeeResponse {}
    57  
    58  // MsgRegisterCounterpartyPayee defines the request type for the RegisterCounterpartyPayee rpc
    59  message MsgRegisterCounterpartyPayee {
    60    option (gogoproto.equal)           = false;
    61    option (gogoproto.goproto_getters) = false;
    62  
    63    // unique port identifier
    64    string port_id = 1 [(gogoproto.moretags) = "yaml:\"port_id\""];
    65    // unique channel identifier
    66    string channel_id = 2 [(gogoproto.moretags) = "yaml:\"channel_id\""];
    67    // the relayer address
    68    string relayer = 3;
    69    // the counterparty payee address
    70    string counterparty_payee = 4 [(gogoproto.moretags) = "yaml:\"counterparty_payee\""];
    71  }
    72  
    73  // MsgRegisterCounterpartyPayeeResponse defines the response type for the RegisterCounterpartyPayee rpc
    74  message MsgRegisterCounterpartyPayeeResponse {}
    75  
    76  // MsgPayPacketFee defines the request type for the PayPacketFee rpc
    77  // This Msg can be used to pay for a packet at the next sequence send & should be combined with the Msg that will be
    78  // paid for
    79  message MsgPayPacketFee {
    80    option (gogoproto.equal)           = false;
    81    option (gogoproto.goproto_getters) = false;
    82  
    83    // fee encapsulates the recv, ack and timeout fees associated with an IBC packet
    84    ibc.applications.fee.v1.Fee fee = 1 [(gogoproto.nullable) = false];
    85    // the source port unique identifier
    86    string source_port_id = 2 [(gogoproto.moretags) = "yaml:\"source_port_id\""];
    87    // the source channel unique identifer
    88    string source_channel_id = 3 [(gogoproto.moretags) = "yaml:\"source_channel_id\""];
    89    // account address to refund fee if necessary
    90    string signer = 4;
    91    // optional list of relayers permitted to the receive packet fees
    92    repeated string relayers = 5;
    93  }
    94  
    95  // MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc
    96  message MsgPayPacketFeeResponse {}
    97  
    98  // MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync rpc
    99  // This Msg can be used to pay for a packet at a specified sequence (instead of the next sequence send)
   100  message MsgPayPacketFeeAsync {
   101    option (gogoproto.equal)           = false;
   102    option (gogoproto.goproto_getters) = false;
   103  
   104    // unique packet identifier comprised of the channel ID, port ID and sequence
   105    ibc.core.channel.v1.PacketId packet_id = 1
   106        [(gogoproto.moretags) = "yaml:\"packet_id\"", (gogoproto.nullable) = false];
   107    // the packet fee associated with a particular IBC packet
   108    PacketFee packet_fee = 2 [(gogoproto.moretags) = "yaml:\"packet_fee\"", (gogoproto.nullable) = false];
   109  }
   110  
   111  // MsgPayPacketFeeAsyncResponse defines the response type for the PayPacketFeeAsync rpc
   112  message MsgPayPacketFeeAsyncResponse {}