mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-11-10 18:15:19 +00:00
bc260d8091
* add community params type * add get/set params methods * add community genesis state type * add community init/export genesis * add querier methods for params * add query cli cmd * update changelog * update protonet genesis * Add `RewardsPerSecond` param to `x/community` module (#1707) * Add RewardsPerSecond param to community * Update rewards per second param to int * Add rewards_per_second to protonet genesis * Use default rewards per second of 744191 * Include value if negative in Validate error * Rename RewardsPerSecond param to StakingRewardsPerSecond * Add changelog entry * Add param migration, update consensus version to 2 * Update proto docs * Update staking_rewards_per_second param name in protonet genesis (#1730) * Update godoc Co-authored-by: Robert Pirtle <Astropirtle@gmail.com> * add genesis state tests * document what 0 upgrade time means * update kvtool to include new params --------- Co-authored-by: drklee3 <derrick@dlee.dev> Co-authored-by: Robert Pirtle <Astropirtle@gmail.com>
65 lines
1.7 KiB
Go
65 lines
1.7 KiB
Go
package keeper
|
|
|
|
import (
|
|
"context"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"google.golang.org/grpc/codes"
|
|
"google.golang.org/grpc/status"
|
|
|
|
"github.com/kava-labs/kava/x/community/types"
|
|
)
|
|
|
|
type queryServer struct {
|
|
keeper Keeper
|
|
}
|
|
|
|
var _ types.QueryServer = queryServer{}
|
|
|
|
// NewQueryServerImpl creates a new server for handling gRPC queries.
|
|
func NewQueryServerImpl(k Keeper) types.QueryServer {
|
|
return &queryServer{keeper: k}
|
|
}
|
|
|
|
// Params implements the gRPC service handler for querying x/community params.
|
|
func (s queryServer) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) {
|
|
ctx := sdk.UnwrapSDKContext(c)
|
|
|
|
params, found := s.keeper.GetParams(ctx)
|
|
if !found {
|
|
return nil, status.Error(codes.NotFound, "params not found")
|
|
}
|
|
|
|
return &types.QueryParamsResponse{
|
|
Params: params,
|
|
}, nil
|
|
}
|
|
|
|
// Balance implements the gRPC service handler for querying x/community balance.
|
|
func (s queryServer) Balance(c context.Context, _ *types.QueryBalanceRequest) (*types.QueryBalanceResponse, error) {
|
|
ctx := sdk.UnwrapSDKContext(c)
|
|
return &types.QueryBalanceResponse{
|
|
Coins: s.keeper.GetModuleAccountBalance(ctx),
|
|
}, nil
|
|
}
|
|
|
|
// CommunityPool queries the community pool coins
|
|
func (s queryServer) TotalBalance(
|
|
c context.Context,
|
|
req *types.QueryTotalBalanceRequest,
|
|
) (*types.QueryTotalBalanceResponse, error) {
|
|
ctx := sdk.UnwrapSDKContext(c)
|
|
|
|
// x/distribution community pool balance
|
|
nativePoolBalance := s.keeper.distrKeeper.GetFeePoolCommunityCoins(ctx)
|
|
|
|
// x/community pool balance
|
|
communityPoolBalance := s.keeper.GetModuleAccountBalance(ctx)
|
|
|
|
totalBalance := nativePoolBalance.Add(sdk.NewDecCoinsFromCoins(communityPoolBalance...)...)
|
|
|
|
return &types.QueryTotalBalanceResponse{
|
|
Pool: totalBalance,
|
|
}, nil
|
|
}
|