mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-11-10 10:05:18 +00:00
252 lines
9.4 KiB
Protocol Buffer
252 lines
9.4 KiB
Protocol Buffer
|
syntax = "proto3";
|
||
|
package kava.hard.v1beta1;
|
||
|
|
||
|
import "kava/hard/v1beta1/hard.proto";
|
||
|
import "gogoproto/gogo.proto";
|
||
|
import "cosmos_proto/cosmos.proto";
|
||
|
import "google/api/annotations.proto";
|
||
|
import "cosmos/base/v1beta1/coin.proto";
|
||
|
import "cosmos/base/query/v1beta1/pagination.proto";
|
||
|
import "cosmos/auth/v1beta1/auth.proto";
|
||
|
|
||
|
option go_package = "github.com/kava-labs/kava/x/hard/types";
|
||
|
|
||
|
// Query defines the gRPC querier service for bep3 module.
|
||
|
service Query {
|
||
|
// Params queries module params.
|
||
|
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
|
||
|
option (google.api.http).get = "/kava/hard/v1beta1/params";
|
||
|
}
|
||
|
|
||
|
// Accounts queries module accounts.
|
||
|
rpc Accounts(QueryAccountsRequest) returns (QueryAccountsResponse) {
|
||
|
option (google.api.http).get = "/kava/hard/v1beta1/accounts";
|
||
|
}
|
||
|
|
||
|
// Deposits queries hard deposits.
|
||
|
rpc Deposits(QueryDepositsRequest) returns (QueryDepositsResponse) {
|
||
|
option (google.api.http).get = "/kava/hard/v1beta1/deposits";
|
||
|
}
|
||
|
|
||
|
// UnsyncedDeposits queries unsynced deposits.
|
||
|
rpc UnsyncedDeposits(QueryUnsyncedDepositsRequest) returns (QueryUnsyncedDepositsResponse) {
|
||
|
option (google.api.http).get = "/kava/hard/v1beta1/unsynced-deposits";
|
||
|
}
|
||
|
|
||
|
// TotalDeposited queries total coins deposited to hard liquidity pools.
|
||
|
rpc TotalDeposited(QueryTotalDepositedRequest) returns (QueryTotalDepositedResponse) {
|
||
|
option (google.api.http).get = "/kava/hard/v1beta1/total-deposited/{denom}";
|
||
|
}
|
||
|
|
||
|
// Borrows queries hard borrows.
|
||
|
rpc Borrows(QueryBorrowsRequest) returns (QueryBorrowsResponse) {
|
||
|
option (google.api.http).get = "/kava/hard/v1beta1/borrows";
|
||
|
}
|
||
|
|
||
|
// UnsyncedBorrows queries unsynced borrows.
|
||
|
rpc UnsyncedBorrows(QueryUnsyncedBorrowsRequest) returns (QueryUnsyncedBorrowsResponse) {
|
||
|
option (google.api.http).get = "/kava/hard/v1beta1/unsynced-borrows";
|
||
|
}
|
||
|
|
||
|
// TotalBorrowed queries total coins borrowed from hard liquidity pools.
|
||
|
rpc TotalBorrowed(QueryTotalBorrowedRequest) returns (QueryTotalBorrowedResponse) {
|
||
|
option (google.api.http).get = "/kava/hard/v1beta1/total-borrowed/{denom}";
|
||
|
}
|
||
|
|
||
|
// InterestRate queries the hard module interest rates.
|
||
|
rpc InterestRate(QueryInterestRateRequest) returns (QueryInterestRateResponse) {
|
||
|
option (google.api.http).get = "/kava/hard/v1beta1/interest-rate/{denom}";
|
||
|
}
|
||
|
|
||
|
// Reserves queries total hard reserve coins.
|
||
|
rpc Reserves(QueryReservesRequest) returns (QueryReservesResponse) {
|
||
|
option (google.api.http).get = "/kava/hard/v1beta1/reserves/{denom}";
|
||
|
}
|
||
|
|
||
|
// InterestFactors queries hard module interest factors.
|
||
|
rpc InterestFactors(QueryInterestFactorsRequest) returns (QueryInterestFactorsResponse) {
|
||
|
option (google.api.http).get = "/kava/hard/v1beta1/interest-factors/{denom}";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// QueryParamsRequest is the request type for the Query/Params RPC method.
|
||
|
message QueryParamsRequest {}
|
||
|
|
||
|
// QueryParamsResponse is the response type for the Query/Params RPC method.
|
||
|
message QueryParamsResponse {
|
||
|
Params params = 1 [(gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryAccountsRequest is the request type for the Query/Accounts RPC method.
|
||
|
message QueryAccountsRequest {}
|
||
|
|
||
|
// QueryAccountsResponse is the response type for the Query/Accounts RPC method.
|
||
|
message QueryAccountsResponse {
|
||
|
repeated cosmos.auth.v1beta1.ModuleAccount accounts = 1 [(gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryDepositsRequest is the request type for the Query/Deposits RPC method.
|
||
|
message QueryDepositsRequest {
|
||
|
string denom = 1;
|
||
|
string owner = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
||
|
|
||
|
cosmos.base.query.v1beta1.PageRequest pagination = 3;
|
||
|
}
|
||
|
|
||
|
// QueryDepositsResponse is the response type for the Query/Deposits RPC method.
|
||
|
message QueryDepositsResponse {
|
||
|
repeated DepositResponse deposits = 1 [(gogoproto.castrepeated) = "DepositResponses", (gogoproto.nullable) = false];
|
||
|
|
||
|
cosmos.base.query.v1beta1.PageResponse pagination = 2;
|
||
|
}
|
||
|
|
||
|
// QueryUnsyncedDepositsRequest is the request type for the Query/UnsyncedDeposits RPC method.
|
||
|
message QueryUnsyncedDepositsRequest {
|
||
|
string denom = 1;
|
||
|
string owner = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
||
|
|
||
|
cosmos.base.query.v1beta1.PageRequest pagination = 3;
|
||
|
}
|
||
|
|
||
|
// QueryUnsyncedDepositsResponse is the response type for the Query/UnsyncedDeposits RPC method.
|
||
|
message QueryUnsyncedDepositsResponse {
|
||
|
repeated DepositResponse deposits = 1 [(gogoproto.castrepeated) = "DepositResponses", (gogoproto.nullable) = false];
|
||
|
|
||
|
cosmos.base.query.v1beta1.PageResponse pagination = 2;
|
||
|
}
|
||
|
|
||
|
// QueryTotalDepositedRequest is the request type for the Query/TotalDeposited RPC method.
|
||
|
message QueryTotalDepositedRequest {
|
||
|
string denom = 1;
|
||
|
}
|
||
|
|
||
|
// QueryTotalDepositedResponse is the response type for the Query/TotalDeposited RPC method.
|
||
|
message QueryTotalDepositedResponse {
|
||
|
repeated cosmos.base.v1beta1.Coin supplied_coins = 2
|
||
|
[(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", (gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryBorrowsRequest is the request type for the Query/Borrows RPC method.
|
||
|
message QueryBorrowsRequest {
|
||
|
string denom = 1;
|
||
|
string owner = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
||
|
|
||
|
cosmos.base.query.v1beta1.PageRequest pagination = 3;
|
||
|
}
|
||
|
|
||
|
// QueryBorrowsResponse is the response type for the Query/Borrows RPC method.
|
||
|
message QueryBorrowsResponse {
|
||
|
repeated BorrowResponse borrows = 1 [(gogoproto.castrepeated) = "BorrowResponses", (gogoproto.nullable) = false];
|
||
|
|
||
|
cosmos.base.query.v1beta1.PageResponse pagination = 2;
|
||
|
}
|
||
|
|
||
|
// QueryUnsyncedBorrowsRequest is the request type for the Query/UnsyncedBorrows RPC method.
|
||
|
message QueryUnsyncedBorrowsRequest {
|
||
|
string denom = 1;
|
||
|
string owner = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
||
|
|
||
|
cosmos.base.query.v1beta1.PageRequest pagination = 3;
|
||
|
}
|
||
|
|
||
|
// QueryUnsyncedBorrowsResponse is the response type for the Query/UnsyncedBorrows RPC method.
|
||
|
message QueryUnsyncedBorrowsResponse {
|
||
|
repeated BorrowResponse borrows = 1 [(gogoproto.castrepeated) = "BorrowResponses", (gogoproto.nullable) = false];
|
||
|
|
||
|
cosmos.base.query.v1beta1.PageResponse pagination = 2;
|
||
|
}
|
||
|
|
||
|
// QueryTotalBorrowedRequest is the request type for the Query/TotalBorrowed RPC method.
|
||
|
message QueryTotalBorrowedRequest {
|
||
|
string denom = 1;
|
||
|
}
|
||
|
|
||
|
// QueryTotalBorrowedResponse is the response type for the Query/TotalBorrowed RPC method.
|
||
|
message QueryTotalBorrowedResponse {
|
||
|
repeated cosmos.base.v1beta1.Coin borrowed_coins = 2
|
||
|
[(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", (gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryInterestRateRequest is the request type for the Query/InterestRate RPC method.
|
||
|
message QueryInterestRateRequest {
|
||
|
string denom = 1;
|
||
|
}
|
||
|
|
||
|
// QueryInterestRateResponse is the response type for the Query/InterestRate RPC method.
|
||
|
message QueryInterestRateResponse {
|
||
|
repeated MoneyMarketInterestRate interest_rates = 1
|
||
|
[(gogoproto.castrepeated) = "MoneyMarketInterestRates", (gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryReservesRequest is the request type for the Query/Reserves RPC method.
|
||
|
message QueryReservesRequest {
|
||
|
string denom = 1;
|
||
|
}
|
||
|
|
||
|
// QueryReservesResponse is the response type for the Query/Reserves RPC method.
|
||
|
message QueryReservesResponse {
|
||
|
repeated cosmos.base.v1beta1.Coin amount = 2
|
||
|
[(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", (gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// QueryInterestFactorsRequest is the request type for the Query/InterestFactors RPC method.
|
||
|
message QueryInterestFactorsRequest {
|
||
|
string denom = 1;
|
||
|
}
|
||
|
|
||
|
// QueryInterestFactorsResponse is the response type for the Query/InterestFactors RPC method.
|
||
|
message QueryInterestFactorsResponse {
|
||
|
repeated InterestFactor interest_factors = 1
|
||
|
[(gogoproto.castrepeated) = "InterestFactors", (gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// DepositResponse defines an amount of coins deposited into a hard module account.
|
||
|
message DepositResponse {
|
||
|
string depositor = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
||
|
repeated cosmos.base.v1beta1.Coin amount = 2
|
||
|
[(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", (gogoproto.nullable) = false];
|
||
|
repeated SupplyInterestFactorResponse index = 3
|
||
|
[(gogoproto.castrepeated) = "SupplyInterestFactorResponses", (gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// SupplyInterestFactorResponse defines an individual borrow interest factor.
|
||
|
message SupplyInterestFactorResponse {
|
||
|
string denom = 1;
|
||
|
// sdk.Dec as string
|
||
|
string value = 2;
|
||
|
}
|
||
|
|
||
|
// BorrowResponse defines an amount of coins borrowed from a hard module account.
|
||
|
message BorrowResponse {
|
||
|
string borrower = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
||
|
repeated cosmos.base.v1beta1.Coin amount = 2
|
||
|
[(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", (gogoproto.nullable) = false];
|
||
|
repeated BorrowInterestFactorResponse index = 3
|
||
|
[(gogoproto.castrepeated) = "BorrowInterestFactorResponses", (gogoproto.nullable) = false];
|
||
|
}
|
||
|
|
||
|
// BorrowInterestFactorResponse defines an individual borrow interest factor.
|
||
|
message BorrowInterestFactorResponse {
|
||
|
string denom = 1;
|
||
|
// sdk.Dec as string
|
||
|
string value = 2;
|
||
|
}
|
||
|
|
||
|
// MoneyMarketInterestRate is a unique type returned by interest rate queries
|
||
|
message MoneyMarketInterestRate {
|
||
|
string denom = 1;
|
||
|
// sdk.Dec as String
|
||
|
string supply_interest_rate = 2;
|
||
|
// sdk.Dec as String
|
||
|
string borrow_interest_rate = 3;
|
||
|
}
|
||
|
|
||
|
// InterestFactor is a unique type returned by interest factor queries
|
||
|
message InterestFactor {
|
||
|
string denom = 1;
|
||
|
// sdk.Dec as String
|
||
|
string borrow_interest_factor = 2;
|
||
|
// sdk.Dec as String
|
||
|
string supply_interest_factor = 3;
|
||
|
}
|