mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-11-10 10:05:18 +00:00
d5dcfe73b2
* start makefile refactor to smaller units; break out proto-dep updating; add check-proto-deps target for use in CI in order to determine if depdencies have diverged * add proto check workflow * download go modules before checking proto deps * clean up -- hide output and add error message for check target * add error message for check-rsync * update any type, and ibc-go protos for v3.4.0 * add buf generate files for gogo, docs, and swagger * update swagger dirs and run with latest swagger gen * ignore new build directories * refactor proto makefile logic -- use buf instead of scripts * remove old protobuf scripts * run all proto checks on push * remove moved file * set default value for protoc machine * install build deps seperately * fetch master for buf check breaking * checkout from https url in CI for buf breaking * fix rsync file permissions on darwin * ignore build dirs * fix issue with apple provided make; clean up build deps; switch to buf format * remove clang format file -- using buf format now * run make proto-format (buf format changes) * update generated files for proto format changes
282 lines
9.5 KiB
Protocol Buffer
282 lines
9.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
package kava.hard.v1beta1;
|
|
|
|
import "cosmos/auth/v1beta1/auth.proto";
|
|
import "cosmos/base/query/v1beta1/pagination.proto";
|
|
import "cosmos/base/v1beta1/coin.proto";
|
|
import "cosmos_proto/cosmos.proto";
|
|
import "gogoproto/gogo.proto";
|
|
import "google/api/annotations.proto";
|
|
import "kava/hard/v1beta1/hard.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;
|
|
}
|