Skip to content

Commit ab4739e

Browse files
authored
refactor: remove SetBalance and SetSupply (#629)
* feat: remove SetBalance and SetSupply * docs: add changelog * test: restore TestHandleStoreAndInstantiate test func
1 parent ddc1d4e commit ab4739e

File tree

6 files changed

+2
-61
lines changed

6 files changed

+2
-61
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
5151
* (global) [\#611](https://github.com/line/lbm-sdk/pull/611) bump github.com/cosmos/cosmos-sdk from v0.45.1 to v0.45.6
5252
* (simapp) [\#620](https://github.com/line/lbm-sdk/pull/620) chore: add iterator feature for simapp
5353
* (x/collection) [\#622](https://github.com/line/lbm-sdk/pull/622) add Query/TokenClassTypeName
54+
* (x/bank) [\#629](https://github.com/line/lbm-sdk/pull/629) remove unsafe balance changing methods from bank keeper such as `SetBalance` and `SetSupply`.
5455

5556
### Improvements
5657

store/listenkv/store.go

-2
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,6 @@ func (li *listenIterator) Domain() (start []byte, end []byte) {
9191
return li.parent.Domain()
9292
}
9393

94-
// TODO(dudong2): remove Domain() func (removed in other stores by woosang). Add it later, if it's needed.
95-
9694
// Valid implements the Iterator interface.
9795
func (li *listenIterator) Valid() bool {
9896
return li.parent.Valid()

x/bank/keeper/keeper.go

-19
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ type Keeper interface {
2929
HasSupply(ctx sdk.Context, denom string) bool
3030
GetPaginatedTotalSupply(ctx sdk.Context, pagination *query.PageRequest) (sdk.Coins, *query.PageResponse, error)
3131
IterateTotalSupply(ctx sdk.Context, cb func(sdk.Coin) bool)
32-
SetSupply(ctx sdk.Context, coin sdk.Coin) // TODO(dudong2): remove after x/wasm version up(>= v0.22.0)
3332

3433
GetDenomMetaData(ctx sdk.Context, denom string) (types.Metadata, bool)
3534
SetDenomMetaData(ctx sdk.Context, denomMetaData types.Metadata)
@@ -487,24 +486,6 @@ func (k BaseKeeper) setSupply(ctx sdk.Context, coin sdk.Coin) {
487486
}
488487
}
489488

490-
// SetSupply sets the supply for the given coin
491-
func (k BaseKeeper) SetSupply(ctx sdk.Context, coin sdk.Coin) {
492-
intBytes, err := coin.Amount.Marshal()
493-
if err != nil {
494-
panic(fmt.Errorf("unable to marshal amount value %v", err))
495-
}
496-
497-
store := ctx.KVStore(k.storeKey)
498-
supplyStore := prefix.NewStore(store, types.SupplyKey)
499-
500-
// Bank invariants and IBC requires to remove zero coins.
501-
if coin.IsZero() {
502-
supplyStore.Delete(conv.UnsafeStrToBytes(coin.GetDenom()))
503-
} else {
504-
supplyStore.Set([]byte(coin.GetDenom()), intBytes)
505-
}
506-
}
507-
508489
// trackDelegation tracks the delegation of the given account if it is a vesting account
509490
func (k BaseKeeper) trackDelegation(ctx sdk.Context, addr sdk.AccAddress, balance, amt sdk.Coins) error {
510491
acc := k.ak.GetAccount(ctx, addr)

x/bank/keeper/send.go

-24
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ type SendKeeper interface {
1717
InputOutputCoins(ctx sdk.Context, inputs []types.Input, outputs []types.Output) error
1818
SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
1919

20-
SetBalance(ctx sdk.Context, addr sdk.AccAddress, balance sdk.Coin) error // TODO(dudong2): remove after x/wasm version up(>= v0.22.0)
21-
2220
GetParams(ctx sdk.Context) types.Params
2321
SetParams(ctx sdk.Context, params types.Params)
2422

@@ -268,28 +266,6 @@ func (k BaseSendKeeper) setBalance(ctx sdk.Context, addr sdk.AccAddress, balance
268266
return nil
269267
}
270268

271-
// SetBalance sets the coin balance for an account by address.
272-
func (k BaseSendKeeper) SetBalance(ctx sdk.Context, addr sdk.AccAddress, balance sdk.Coin) error {
273-
if !balance.IsValid() {
274-
return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, balance.String())
275-
}
276-
277-
accountStore := k.getAccountStore(ctx, addr)
278-
279-
// Bank invariants require to not store zero balances.
280-
if balance.IsZero() {
281-
accountStore.Delete([]byte(balance.Denom))
282-
} else {
283-
bz, err := balance.Marshal()
284-
if err != nil {
285-
return err
286-
}
287-
accountStore.Set([]byte(balance.Denom), bz)
288-
}
289-
290-
return nil
291-
}
292-
293269
// IsSendEnabledCoins checks the coins provide and returns an ErrSendDisabled if
294270
// any of the coins are not configured for sending. Returns nil if sending is enabled
295271
// for all provided coin

x/wasm/keeper/test_common.go

-3
Original file line numberDiff line numberDiff line change
@@ -714,9 +714,6 @@ func (m BurnerExampleInitMsg) GetBytes(t testing.TB) []byte {
714714
func fundAccounts(t testing.TB, ctx sdk.Context, am authkeeper.AccountKeeper, bank bankkeeper.Keeper, addr sdk.AccAddress, coins sdk.Coins) {
715715
acc := am.NewAccountWithAddress(ctx, addr)
716716
am.SetAccount(ctx, acc)
717-
for _, coin := range coins {
718-
require.NoError(t, bank.SetBalance(ctx, addr, coin))
719-
}
720717
NewTestFaucet(t, ctx, bank, minttypes.ModuleName, coins...).Fund(ctx, addr, coins...)
721718
}
722719

x/wasm/module_test.go

+1-13
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,7 @@ func TestHandleInstantiate(t *testing.T) {
202202

203203
func TestHandleStoreAndInstantiate(t *testing.T) {
204204
data := setupTest(t)
205-
206-
deposit := sdk.NewCoins(sdk.NewInt64Coin("denom", 100000))
207-
creator := createFakeFundedAccount(t, data.ctx, data.acctKeeper, data.bankKeeper, deposit)
205+
creator := data.faucet.NewFundedAccount(data.ctx, sdk.NewInt64Coin("denom", 100000))
208206

209207
h := data.module.Route().Handler()
210208
q := data.module.LegacyQuerierHandler(nil)
@@ -761,13 +759,3 @@ func assertContractInfo(t *testing.T, q sdk.Querier, ctx sdk.Context, contractBe
761759
assert.Equal(t, codeID, res.CodeID)
762760
assert.Equal(t, creator.String(), res.Creator)
763761
}
764-
func createFakeFundedAccount(t *testing.T, ctx sdk.Context, am authkeeper.AccountKeeper, bankKeeper bankkeeper.Keeper, coins sdk.Coins) sdk.AccAddress {
765-
t.Helper()
766-
_, _, addr := keyPubAddr()
767-
acc := am.NewAccountWithAddress(ctx, addr)
768-
am.SetAccount(ctx, acc)
769-
for _, coin := range coins {
770-
require.NoError(t, bankKeeper.SetBalance(ctx, addr, coin))
771-
}
772-
return addr
773-
}

0 commit comments

Comments
 (0)