mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-11-04 14:47:26 +00:00 
			
		
		
		
	- Upgrade cosmos-sdk to v0.44.5 from v0.39.2 - Add Legacy Tx Endpoint for backwards compatibility - Add IBC v1.2.3 Support Co-authored-by: DracoLi <draco@dracoli.com> Co-authored-by: drklee3 <derrick@dlee.dev> Co-authored-by: denalimarsh <denalimarsh@gmail.com> Co-authored-by: Draco Li <draco@kava.io> Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com> Co-authored-by: Kevin Davis <karzak@users.noreply.github.com> Co-authored-by: Denali Marsh <denali@kava.io>
		
			
				
	
	
		
			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;
 | 
						|
}
 |