From 5541a8d10e2a38e0f7c9edc3b3b618d4611a1926 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Federico=20Kunze=20K=C3=BCllmer?= <31522760+fedekunze@users.noreply.github.com> Date: Tue, 14 Sep 2021 18:12:49 +0200 Subject: [PATCH] conflicts --- CHANGELOG.md | 1 + x/bank/keeper/keeper.go | 9 ++++++++- x/bank/keeper/keeper_test.go | 25 ++++++++++++++----------- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 734efe8e57f5..8f470ad6703d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Features +* (x/bank) [\#10134](https://github.com/cosmos/cosmos-sdk/pull/10134) Add `HasDenomMetadata` function to bank `Keeper` to check if a client coin denom metadata exists in state. * (client/keys) [\#9407](https://github.com/cosmos/cosmos-sdk/pull/9601) Added `keys rename` CLI command and `Keyring.Rename` interface method to rename a key in the keyring. * [\#10022](https://github.com/cosmos/cosmos-sdk/pull/10022) `AuthKeeper` interface in `x/auth` now includes a function `HasAccount`. * [\#9533](https://github.com/cosmos/cosmos-sdk/pull/9533) Added a new gRPC method, `DenomOwners`, in `x/bank` to query for all account holders of a specific denomination. diff --git a/x/bank/keeper/keeper.go b/x/bank/keeper/keeper.go index 482c002870bd..d3c1b5f8fce2 100644 --- a/x/bank/keeper/keeper.go +++ b/x/bank/keeper/keeper.go @@ -29,6 +29,7 @@ type Keeper interface { GetPaginatedTotalSupply(ctx sdk.Context, pagination *query.PageRequest) (sdk.Coins, *query.PageResponse, error) IterateTotalSupply(ctx sdk.Context, cb func(sdk.Coin) bool) GetDenomMetaData(ctx sdk.Context, denom string) (types.Metadata, bool) + HasDenomMetaData(ctx sdk.Context, denom string) bool SetDenomMetaData(ctx sdk.Context, denomMetaData types.Metadata) IterateAllDenomMetaData(ctx sdk.Context, cb func(types.Metadata) bool) @@ -74,7 +75,6 @@ func (k BaseKeeper) GetPaginatedTotalSupply(ctx sdk.Context, pagination *query.P supply = supply.Add(sdk.NewCoin(string(key), amount)) return nil }) - if err != nil { return nil, nil, err } @@ -239,6 +239,13 @@ func (k BaseKeeper) GetDenomMetaData(ctx sdk.Context, denom string) (types.Metad return metadata, true } +// HasDenomMetaData checks if the denomination metadata exists in store. +func (k BaseKeeper) HasDenomMetaData(ctx sdk.Context, denom string) bool { + store := ctx.KVStore(k.storeKey) + store = prefix.NewStore(store, types.DenomMetadataPrefix) + return store.Has([]byte(denom)) +} + // GetAllDenomMetaData retrieves all denominations metadata func (k BaseKeeper) GetAllDenomMetaData(ctx sdk.Context) []types.Metadata { denomMetaData := make([]types.Metadata, 0) diff --git a/x/bank/keeper/keeper_test.go b/x/bank/keeper/keeper_test.go index 93f355260bf8..a720b08765d9 100644 --- a/x/bank/keeper/keeper_test.go +++ b/x/bank/keeper/keeper_test.go @@ -1002,6 +1002,8 @@ func (suite *IntegrationTestSuite) TestSetDenomMetaData() { actualMetadata, found := app.BankKeeper.GetDenomMetaData(ctx, metadata[1].Base) suite.Require().True(found) + found = app.BankKeeper.HasDenomMetaData(ctx, metadata[1].Base) + suite.Require().True(found) suite.Require().Equal(metadata[1].GetBase(), actualMetadata.GetBase()) suite.Require().Equal(metadata[1].GetDisplay(), actualMetadata.GetDisplay()) suite.Require().Equal(metadata[1].GetDescription(), actualMetadata.GetDescription()) @@ -1134,18 +1136,19 @@ func (suite *IntegrationTestSuite) TestBalanceTrackingEvents() { } func (suite *IntegrationTestSuite) getTestMetadata() []types.Metadata { - return []types.Metadata{{ - Name: "Cosmos Hub Atom", - Symbol: "ATOM", - Description: "The native staking token of the Cosmos Hub.", - DenomUnits: []*types.DenomUnit{ - {"uatom", uint32(0), []string{"microatom"}}, - {"matom", uint32(3), []string{"milliatom"}}, - {"atom", uint32(6), nil}, + return []types.Metadata{ + { + Name: "Cosmos Hub Atom", + Symbol: "ATOM", + Description: "The native staking token of the Cosmos Hub.", + DenomUnits: []*types.DenomUnit{ + {"uatom", uint32(0), []string{"microatom"}}, + {"matom", uint32(3), []string{"milliatom"}}, + {"atom", uint32(6), nil}, + }, + Base: "uatom", + Display: "atom", }, - Base: "uatom", - Display: "atom", - }, { Name: "Token", Symbol: "TOKEN",