Skip to content

Commit 7fbca52

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

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

x/auth/keeper/keeper.go

+12-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 {
@@ -196,6 +196,16 @@ func (ak AccountKeeper) GetAccountNumberLegacy(ctx context.Context) (uint64, err
196196
return v.Value, nil
197197
}
198198

199+
func (ak AccountKeeper) SetAccountNumberLegacy(ctx context.Context, num uint64) error {
200+
store := ak.storeService.OpenKVStore(ctx)
201+
legacyValue := gogotypes.UInt64Value{Value: num}
202+
bz, err := legacyValue.Marshal()
203+
if err != nil {
204+
return err
205+
}
206+
return store.Set(types.LegacyGlobalAccountNumberKey, bz)
207+
}
208+
199209
// NextAccountNumber returns and increments the global account number counter.
200210
// If the global account number is not set, it initializes it with value 0.
201211
func (ak AccountKeeper) NextAccountNumber(ctx context.Context) uint64 {
@@ -204,7 +214,7 @@ func (ak AccountKeeper) NextAccountNumber(ctx context.Context) uint64 {
204214
// this won't happen in the tip of production network,
205215
// but can happen when query historical states,
206216
// fallback to old key for backward-compatibility.
207-
n, err = ak.GetAccountNumberLegacy(ctx)
217+
n, err = ak.getAccountNumberLegacy(ctx)
208218
}
209219

210220
if err != nil {

x/auth/keeper/keeper_test.go

+18
Original file line numberDiff line numberDiff line change
@@ -215,3 +215,21 @@ func (suite *KeeperTestSuite) TestInitGenesis() {
215215
// we expect nextNum to be 2 because we initialize fee_collector as account number 1
216216
suite.Require().Equal(2, int(nextNum))
217217
}
218+
219+
func (suite *KeeperTestSuite) TestNextAccountNumber() {
220+
ctx := suite.ctx
221+
legacyNum := uint64(100)
222+
err := suite.accountKeeper.SetAccountNumberLegacy(ctx, legacyNum)
223+
suite.Require().NoError(err)
224+
225+
newAccountNumber := uint64(200)
226+
err = suite.accountKeeper.AccountNumber.Set(ctx, newAccountNumber)
227+
suite.Require().NoError(err)
228+
229+
nextNum := suite.accountKeeper.NextAccountNumber(ctx)
230+
suite.Require().Equal(int(newAccountNumber), int(nextNum))
231+
232+
nextNum = suite.accountKeeper.NextAccountNumber(ctx)
233+
suite.Require().Equal(int(newAccountNumber+1), int(nextNum))
234+
suite.Require().NotEqual(int(legacyNum), int(nextNum))
235+
}

0 commit comments

Comments
 (0)