mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-11-15 04:25:27 +00:00
a9583b16f4
* feat(community): add AnnualizedRewards grpc query (#1751)
* add annualized_reward query proto
* use sdkmath.LegacyDec to match RPS param...
* add AnnualizedRewards grpc query
* add changelog entry
* simplify calculation & expand test cases
(cherry picked from commit 0efe7f2281
)
* fix conflicts, remove community param references
* backport update to lint CI
* disable internal testnet genesis check
* fix initialization order of keepers in app.go
---------
Co-authored-by: Robert Pirtle <Astropirtle@gmail.com>
67 lines
2.6 KiB
Protocol Buffer
67 lines
2.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
package kava.community.v1beta1;
|
|
|
|
import "cosmos/base/v1beta1/coin.proto";
|
|
import "cosmos_proto/cosmos.proto";
|
|
import "gogoproto/gogo.proto";
|
|
import "google/api/annotations.proto";
|
|
|
|
option go_package = "github.com/kava-labs/kava/x/community/types";
|
|
|
|
// Query defines the gRPC querier service for x/community.
|
|
service Query {
|
|
// Balance queries the balance of all coins of x/community module.
|
|
rpc Balance(QueryBalanceRequest) returns (QueryBalanceResponse) {
|
|
option (google.api.http).get = "/kava/community/v1beta1/balance";
|
|
}
|
|
|
|
// TotalBalance queries the balance of all coins, including x/distribution,
|
|
// x/community, and supplied balances.
|
|
rpc TotalBalance(QueryTotalBalanceRequest) returns (QueryTotalBalanceResponse) {
|
|
option (google.api.http).get = "/kava/community/v1beta1/total_balance";
|
|
}
|
|
|
|
// AnnualizedRewards calculates and returns the current annualized reward percentages,
|
|
// like staking rewards, for the chain.
|
|
rpc AnnualizedRewards(QueryAnnualizedRewardsRequest) returns (QueryAnnualizedRewardsResponse) {
|
|
option (google.api.http).get = "/kava/community/v1beta1/annualized_rewards";
|
|
}
|
|
}
|
|
|
|
// QueryBalanceRequest defines the request type for querying x/community balance.
|
|
message QueryBalanceRequest {}
|
|
|
|
// QueryBalanceResponse defines the response type for querying x/community balance.
|
|
message QueryBalanceResponse {
|
|
repeated cosmos.base.v1beta1.Coin coins = 1 [
|
|
(gogoproto.nullable) = false,
|
|
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
|
|
];
|
|
}
|
|
|
|
// QueryTotalBalanceRequest defines the request type for querying total community pool balance.
|
|
message QueryTotalBalanceRequest {}
|
|
|
|
// QueryTotalBalanceResponse defines the response type for querying total
|
|
// community pool balance. This matches the x/distribution CommunityPool query response.
|
|
message QueryTotalBalanceResponse {
|
|
// pool defines community pool's coins.
|
|
repeated cosmos.base.v1beta1.DecCoin pool = 1 [
|
|
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins",
|
|
(gogoproto.nullable) = false
|
|
];
|
|
}
|
|
|
|
// QueryAnnualizedRewardsRequest defines the request type for querying the annualized rewards.
|
|
message QueryAnnualizedRewardsRequest {}
|
|
|
|
// QueryAnnualizedRewardsResponse defines the response type for querying the annualized rewards.
|
|
message QueryAnnualizedRewardsResponse {
|
|
// staking_rewards is the calculated annualized staking rewards percentage rate
|
|
string staking_rewards = 1 [
|
|
(cosmos_proto.scalar) = "cosmos.Dec",
|
|
(gogoproto.customtype) = "cosmossdk.io/math.LegacyDec",
|
|
(gogoproto.nullable) = false
|
|
];
|
|
}
|