mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-29 09:45:18 +00:00
223 lines
9.8 KiB
Protocol Buffer
223 lines
9.8 KiB
Protocol Buffer
|
syntax = "proto3";
|
||
|
|
||
|
package ibc.applications.fee.v1;
|
||
|
|
||
|
option go_package = "github.com/cosmos/ibc-go/v6/modules/apps/29-fee/types";
|
||
|
|
||
|
import "gogoproto/gogo.proto";
|
||
|
import "google/api/annotations.proto";
|
||
|
import "cosmos/base/v1beta1/coin.proto";
|
||
|
import "cosmos/base/query/v1beta1/pagination.proto";
|
||
|
import "ibc/applications/fee/v1/fee.proto";
|
||
|
import "ibc/applications/fee/v1/genesis.proto";
|
||
|
import "ibc/core/channel/v1/channel.proto";
|
||
|
|
||
|
// Query defines the ICS29 gRPC querier service.
|
||
|
service Query {
|
||
|
// IncentivizedPackets returns all incentivized packets and their associated fees
|
||
|
rpc IncentivizedPackets(QueryIncentivizedPacketsRequest) returns (QueryIncentivizedPacketsResponse) {
|
||
|
option (google.api.http).get = "/ibc/apps/fee/v1/incentivized_packets";
|
||
|
}
|
||
|
|
||
|
// IncentivizedPacket returns all packet fees for a packet given its identifier
|
||
|
rpc IncentivizedPacket(QueryIncentivizedPacketRequest) returns (QueryIncentivizedPacketResponse) {
|
||
|
option (google.api.http).get =
|
||
|
"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/"
|
||
|
"{packet_id.sequence}/incentivized_packet";
|
||
|
}
|
||
|
|
||
|
// Gets all incentivized packets for a specific channel
|
||
|
rpc IncentivizedPacketsForChannel(QueryIncentivizedPacketsForChannelRequest)
|
||
|
returns (QueryIncentivizedPacketsForChannelResponse) {
|
||
|
option (google.api.http).get = "/ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/incentivized_packets";
|
||
|
}
|
||
|
|
||
|
// TotalRecvFees returns the total receive fees for a packet given its identifier
|
||
|
rpc TotalRecvFees(QueryTotalRecvFeesRequest) returns (QueryTotalRecvFeesResponse) {
|
||
|
option (google.api.http).get = "/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/"
|
||
|
"sequences/{packet_id.sequence}/total_recv_fees";
|
||
|
}
|
||
|
|
||
|
// TotalAckFees returns the total acknowledgement fees for a packet given its identifier
|
||
|
rpc TotalAckFees(QueryTotalAckFeesRequest) returns (QueryTotalAckFeesResponse) {
|
||
|
option (google.api.http).get = "/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/"
|
||
|
"sequences/{packet_id.sequence}/total_ack_fees";
|
||
|
}
|
||
|
|
||
|
// TotalTimeoutFees returns the total timeout fees for a packet given its identifier
|
||
|
rpc TotalTimeoutFees(QueryTotalTimeoutFeesRequest) returns (QueryTotalTimeoutFeesResponse) {
|
||
|
option (google.api.http).get = "/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/"
|
||
|
"sequences/{packet_id.sequence}/total_timeout_fees";
|
||
|
}
|
||
|
|
||
|
// Payee returns the registered payee address for a specific channel given the relayer address
|
||
|
rpc Payee(QueryPayeeRequest) returns (QueryPayeeResponse) {
|
||
|
option (google.api.http).get = "/ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/payee";
|
||
|
}
|
||
|
|
||
|
// CounterpartyPayee returns the registered counterparty payee for forward relaying
|
||
|
rpc CounterpartyPayee(QueryCounterpartyPayeeRequest) returns (QueryCounterpartyPayeeResponse) {
|
||
|
option (google.api.http).get = "/ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/counterparty_payee";
|
||
|
}
|
||
|
|
||
|
// FeeEnabledChannels returns a list of all fee enabled channels
|
||
|
rpc FeeEnabledChannels(QueryFeeEnabledChannelsRequest) returns (QueryFeeEnabledChannelsResponse) {
|
||
|
option (google.api.http).get = "/ibc/apps/fee/v1/fee_enabled";
|
||
|
}
|
||
|
|
||
|
// FeeEnabledChannel returns true if the provided port and channel identifiers belong to a fee enabled channel
|
||
|
rpc FeeEnabledChannel(QueryFeeEnabledChannelRequest) returns (QueryFeeEnabledChannelResponse) {
|
||
|
option (google.api.http).get = "/ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/fee_enabled";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// QueryIncentivizedPacketsRequest defines the request type for the IncentivizedPackets rpc
|
||
|
message QueryIncentivizedPacketsRequest {
|
||
|
// pagination defines an optional pagination for the request.
|
||
|
cosmos.base.query.v1beta1.PageRequest pagination = 1;
|
||
|
// block height at which to query
|
||
|
uint64 query_height = 2;
|
||
|
}
|
||
|
|
||
|
// QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPackets rpc
|
||
|
message QueryIncentivizedPacketsResponse {
|
||
|
// list of identified fees for incentivized packets
|
||
|
repeated ibc.applications.fee.v1.IdentifiedPacketFees incentivized_packets = 1 [(gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryIncentivizedPacketRequest defines the request type for the IncentivizedPacket rpc
|
||
|
message QueryIncentivizedPacketRequest {
|
||
|
// unique packet identifier comprised of channel ID, port ID and sequence
|
||
|
ibc.core.channel.v1.PacketId packet_id = 1 [(gogoproto.nullable) = false];
|
||
|
// block height at which to query
|
||
|
uint64 query_height = 2;
|
||
|
}
|
||
|
|
||
|
// QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPacket rpc
|
||
|
message QueryIncentivizedPacketResponse {
|
||
|
// the identified fees for the incentivized packet
|
||
|
ibc.applications.fee.v1.IdentifiedPacketFees incentivized_packet = 1 [(gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryIncentivizedPacketsForChannelRequest defines the request type for querying for all incentivized packets
|
||
|
// for a specific channel
|
||
|
message QueryIncentivizedPacketsForChannelRequest {
|
||
|
// pagination defines an optional pagination for the request.
|
||
|
cosmos.base.query.v1beta1.PageRequest pagination = 1;
|
||
|
string port_id = 2;
|
||
|
string channel_id = 3;
|
||
|
// Height to query at
|
||
|
uint64 query_height = 4;
|
||
|
}
|
||
|
|
||
|
// QueryIncentivizedPacketsResponse defines the response type for the incentivized packets RPC
|
||
|
message QueryIncentivizedPacketsForChannelResponse {
|
||
|
// Map of all incentivized_packets
|
||
|
repeated ibc.applications.fee.v1.IdentifiedPacketFees incentivized_packets = 1;
|
||
|
}
|
||
|
|
||
|
// QueryTotalRecvFeesRequest defines the request type for the TotalRecvFees rpc
|
||
|
message QueryTotalRecvFeesRequest {
|
||
|
// the packet identifier for the associated fees
|
||
|
ibc.core.channel.v1.PacketId packet_id = 1 [(gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryTotalRecvFeesResponse defines the response type for the TotalRecvFees rpc
|
||
|
message QueryTotalRecvFeesResponse {
|
||
|
// the total packet receive fees
|
||
|
repeated cosmos.base.v1beta1.Coin recv_fees = 1 [
|
||
|
(gogoproto.moretags) = "yaml:\"recv_fees\"",
|
||
|
(gogoproto.nullable) = false,
|
||
|
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
|
||
|
];
|
||
|
}
|
||
|
|
||
|
// QueryTotalAckFeesRequest defines the request type for the TotalAckFees rpc
|
||
|
message QueryTotalAckFeesRequest {
|
||
|
// the packet identifier for the associated fees
|
||
|
ibc.core.channel.v1.PacketId packet_id = 1 [(gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryTotalAckFeesResponse defines the response type for the TotalAckFees rpc
|
||
|
message QueryTotalAckFeesResponse {
|
||
|
// the total packet acknowledgement fees
|
||
|
repeated cosmos.base.v1beta1.Coin ack_fees = 1 [
|
||
|
(gogoproto.moretags) = "yaml:\"ack_fees\"",
|
||
|
(gogoproto.nullable) = false,
|
||
|
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
|
||
|
];
|
||
|
}
|
||
|
|
||
|
// QueryTotalTimeoutFeesRequest defines the request type for the TotalTimeoutFees rpc
|
||
|
message QueryTotalTimeoutFeesRequest {
|
||
|
// the packet identifier for the associated fees
|
||
|
ibc.core.channel.v1.PacketId packet_id = 1 [(gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryTotalTimeoutFeesResponse defines the response type for the TotalTimeoutFees rpc
|
||
|
message QueryTotalTimeoutFeesResponse {
|
||
|
// the total packet timeout fees
|
||
|
repeated cosmos.base.v1beta1.Coin timeout_fees = 1 [
|
||
|
(gogoproto.moretags) = "yaml:\"timeout_fees\"",
|
||
|
(gogoproto.nullable) = false,
|
||
|
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
|
||
|
];
|
||
|
}
|
||
|
|
||
|
// QueryPayeeRequest defines the request type for the Payee rpc
|
||
|
message QueryPayeeRequest {
|
||
|
// unique channel identifier
|
||
|
string channel_id = 1 [(gogoproto.moretags) = "yaml:\"channel_id\""];
|
||
|
// the relayer address to which the distribution address is registered
|
||
|
string relayer = 2;
|
||
|
}
|
||
|
|
||
|
// QueryPayeeResponse defines the response type for the Payee rpc
|
||
|
message QueryPayeeResponse {
|
||
|
// the payee address to which packet fees are paid out
|
||
|
string payee_address = 1 [(gogoproto.moretags) = "yaml:\"payee_address\""];
|
||
|
}
|
||
|
|
||
|
// QueryCounterpartyPayeeRequest defines the request type for the CounterpartyPayee rpc
|
||
|
message QueryCounterpartyPayeeRequest {
|
||
|
// unique channel identifier
|
||
|
string channel_id = 1 [(gogoproto.moretags) = "yaml:\"channel_id\""];
|
||
|
// the relayer address to which the counterparty is registered
|
||
|
string relayer = 2;
|
||
|
}
|
||
|
|
||
|
// QueryCounterpartyPayeeResponse defines the response type for the CounterpartyPayee rpc
|
||
|
message QueryCounterpartyPayeeResponse {
|
||
|
// the counterparty payee address used to compensate forward relaying
|
||
|
string counterparty_payee = 1 [(gogoproto.moretags) = "yaml:\"counterparty_payee\""];
|
||
|
}
|
||
|
|
||
|
// QueryFeeEnabledChannelsRequest defines the request type for the FeeEnabledChannels rpc
|
||
|
message QueryFeeEnabledChannelsRequest {
|
||
|
// pagination defines an optional pagination for the request.
|
||
|
cosmos.base.query.v1beta1.PageRequest pagination = 1;
|
||
|
// block height at which to query
|
||
|
uint64 query_height = 2;
|
||
|
}
|
||
|
|
||
|
// QueryFeeEnabledChannelsResponse defines the response type for the FeeEnabledChannels rpc
|
||
|
message QueryFeeEnabledChannelsResponse {
|
||
|
// list of fee enabled channels
|
||
|
repeated ibc.applications.fee.v1.FeeEnabledChannel fee_enabled_channels = 1
|
||
|
[(gogoproto.moretags) = "yaml:\"fee_enabled_channels\"", (gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryFeeEnabledChannelRequest defines the request type for the FeeEnabledChannel rpc
|
||
|
message QueryFeeEnabledChannelRequest {
|
||
|
// unique port identifier
|
||
|
string port_id = 1 [(gogoproto.moretags) = "yaml:\"port_id\""];
|
||
|
// unique channel identifier
|
||
|
string channel_id = 2 [(gogoproto.moretags) = "yaml:\"channel_id\""];
|
||
|
}
|
||
|
|
||
|
// QueryFeeEnabledChannelResponse defines the response type for the FeeEnabledChannel rpc
|
||
|
message QueryFeeEnabledChannelResponse {
|
||
|
// boolean flag representing the fee enabled channel status
|
||
|
bool fee_enabled = 1 [(gogoproto.moretags) = "yaml:\"fee_enabled\""];
|
||
|
}
|