Skip to content

Commit e6083c3

Browse files
committed
Apply suggestions from code review
1 parent 4cda041 commit e6083c3

File tree

2 files changed

+56
-12
lines changed

2 files changed

+56
-12
lines changed

x/auth/keeper/keeper.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ func (ak AccountKeeper) GetSequence(ctx context.Context, addr sdk.AccAddress) (u
183183
return acc.GetSequence(), nil
184184
}
185185

186-
func (ak AccountKeeper) GetAccountNumberLegacy(ctx context.Context) (uint64, error) {
186+
func (ak AccountKeeper) getAccountNumberLegacy(ctx context.Context) (uint64, error) {
187187
store := ak.storeService.OpenKVStore(ctx)
188188
b, err := store.Get(types.LegacyGlobalAccountNumberKey)
189189
if err != nil {
@@ -204,7 +204,7 @@ func (ak AccountKeeper) NextAccountNumber(ctx context.Context) uint64 {
204204
// this won't happen in the tip of production network,
205205
// but can happen when query historical states,
206206
// fallback to old key for backward-compatibility.
207-
n, err = ak.GetAccountNumberLegacy(ctx)
207+
n, err = ak.getAccountNumberLegacy(ctx)
208208
}
209209

210210
if err != nil {

x/auth/keeper/keeper_test.go

+54-10
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ package keeper_test
33
import (
44
"testing"
55

6+
cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
7+
cmttime "github.com/cometbft/cometbft/types/time"
8+
gogotypes "github.com/cosmos/gogoproto/types"
9+
"github.com/stretchr/testify/require"
610
"github.com/stretchr/testify/suite"
711

812
"cosmossdk.io/core/header"
@@ -32,6 +36,17 @@ var (
3236
randomPermAcc = types.NewEmptyModuleAccount(randomPerm, "random")
3337
)
3438

39+
func getMaccPerms() map[string][]string {
40+
return map[string][]string{
41+
"fee_collector": nil,
42+
"mint": {"minter"},
43+
"bonded_tokens_pool": {"burner", "staking"},
44+
"not_bonded_tokens_pool": {"burner", "staking"},
45+
multiPerm: {"burner", "minter", "staking"},
46+
randomPerm: {"random"},
47+
}
48+
}
49+
3550
type KeeperTestSuite struct {
3651
suite.Suite
3752

@@ -51,20 +66,11 @@ func (suite *KeeperTestSuite) SetupTest() {
5166
testCtx := testutil.DefaultContextWithDB(suite.T(), key, storetypes.NewTransientStoreKey("transient_test"))
5267
suite.ctx = testCtx.Ctx.WithHeaderInfo(header.Info{})
5368

54-
maccPerms := map[string][]string{
55-
"fee_collector": nil,
56-
"mint": {"minter"},
57-
"bonded_tokens_pool": {"burner", "staking"},
58-
"not_bonded_tokens_pool": {"burner", "staking"},
59-
multiPerm: {"burner", "minter", "staking"},
60-
randomPerm: {"random"},
61-
}
62-
6369
suite.accountKeeper = keeper.NewAccountKeeper(
6470
suite.encCfg.Codec,
6571
storeService,
6672
types.ProtoBaseAccount,
67-
maccPerms,
73+
getMaccPerms(),
6874
authcodec.NewBech32Codec("cosmos"),
6975
"cosmos",
7076
types.NewModuleAddress("gov").String(),
@@ -215,3 +221,41 @@ func (suite *KeeperTestSuite) TestInitGenesis() {
215221
// we expect nextNum to be 2 because we initialize fee_collector as account number 1
216222
suite.Require().Equal(2, int(nextNum))
217223
}
224+
225+
func TestNextAccountNumber(t *testing.T) {
226+
key := storetypes.NewKVStoreKey(types.StoreKey)
227+
storeService := runtime.NewKVStoreService(key)
228+
testCtx := testutil.DefaultContextWithDB(t, key, storetypes.NewTransientStoreKey("transient_test"))
229+
ctx := testCtx.Ctx.WithBlockHeader(cmtproto.Header{Time: cmttime.Now()})
230+
encCfg := moduletestutil.MakeTestEncodingConfig()
231+
232+
ak := keeper.NewAccountKeeper(
233+
encCfg.Codec,
234+
storeService,
235+
types.ProtoBaseAccount,
236+
getMaccPerms(),
237+
authcodec.NewBech32Codec("cosmos"),
238+
"cosmos",
239+
types.NewModuleAddress("gov").String(),
240+
)
241+
242+
num := uint64(10)
243+
val := &gogotypes.UInt64Value{
244+
Value: num,
245+
}
246+
data, err := val.Marshal()
247+
require.NoError(t, err)
248+
store := storeService.OpenKVStore(ctx)
249+
err = store.Set(types.LegacyGlobalAccountNumberKey, data)
250+
require.NoError(t, err)
251+
252+
nextNum := ak.NextAccountNumber(ctx)
253+
require.Equal(t, num, nextNum)
254+
255+
num = uint64(0)
256+
err = ak.AccountNumber.Set(ctx, num)
257+
require.NoError(t, err)
258+
259+
nextNum = ak.NextAccountNumber(ctx)
260+
require.Equal(t, num, nextNum)
261+
}

0 commit comments

Comments
 (0)