diff --git a/testutil/mock/logger.go b/testutil/mock/logger.go index 800210aa241e..1a8080da357b 100644 --- a/testutil/mock/logger.go +++ b/testutil/mock/logger.go @@ -7,7 +7,7 @@ package mock import ( reflect "reflect" - log "cosmossdk.io/log" + log "cosmossdk.io/core/log" gomock "github.com/golang/mock/gomock" ) diff --git a/x/accounts/keeper.go b/x/accounts/keeper.go index 56415c7c9791..8c52df3cf3e7 100644 --- a/x/accounts/keeper.go +++ b/x/accounts/keeper.go @@ -118,9 +118,9 @@ func (k Keeper) NextAccountNumber( return accNum, nil } -// InitAccountNumberSeq use to set accounts account number tracking. +// InitAccountNumberSeqUnsafe use to set accounts account number tracking. // Only use for account number migration. -func (k Keeper) InitAccountNumberSeq(ctx context.Context, accNum uint64) error { +func (k Keeper) InitAccountNumberSeqUnsafe(ctx context.Context, accNum uint64) error { currentNum, err := k.AccountNumber.Peek(ctx) if err != nil { return err diff --git a/x/auth/keeper/keeper.go b/x/auth/keeper/keeper.go index 428110abbd47..176a97fa67e9 100644 --- a/x/auth/keeper/keeper.go +++ b/x/auth/keeper/keeper.go @@ -45,6 +45,9 @@ type AccountKeeperI interface { // Fetch the sequence of an account at a specified address. GetSequence(context.Context, sdk.AccAddress) (uint64, error) + // Fetch the next account number, and increment the internal counter. + NextAccountNumber(context.Context) uint64 + // GetModulePermissions fetches per-module account permissions GetModulePermissions() map[string]types.PermissionsForAddress @@ -175,6 +178,18 @@ func (ak AccountKeeper) GetSequence(ctx context.Context, addr sdk.AccAddress) (u return acc.GetSequence(), nil } +// NextAccountNumber returns and increments the global account number counter. +// If the global account number is not set, it initializes it with value 0. +// +// Depricated: keep this to avoid break api +func (ak AccountKeeper) NextAccountNumber(ctx context.Context) uint64 { + n, err := ak.AccountsModKeeper.NextAccountNumber(ctx) + if err != nil { + panic(err) + } + return n +} + // GetModulePermissions fetches per-module account permissions. func (ak AccountKeeper) GetModulePermissions() map[string]types.PermissionsForAddress { return ak.permAddrs diff --git a/x/auth/keeper/migrations.go b/x/auth/keeper/migrations.go index f0a7eec53de4..5b3418b99e65 100644 --- a/x/auth/keeper/migrations.go +++ b/x/auth/keeper/migrations.go @@ -59,7 +59,7 @@ func (m Migrator) Migrate5To6(ctx context.Context) error { return err } - return m.keeper.AccountsModKeeper.InitAccountNumberSeq(ctx, currentAccNum) + return m.keeper.AccountsModKeeper.InitAccountNumberSeqUnsafe(ctx, currentAccNum) } // V45SetAccount implements V45_SetAccount diff --git a/x/auth/testutil/expected_keepers_mocks.go b/x/auth/testutil/expected_keepers_mocks.go index 77ad173c730c..a53fb9b61b85 100644 --- a/x/auth/testutil/expected_keepers_mocks.go +++ b/x/auth/testutil/expected_keepers_mocks.go @@ -106,18 +106,18 @@ func (m *MockAccountsModKeeper) EXPECT() *MockAccountsModKeeperMockRecorder { return m.recorder } -// InitAccountNumberSeq mocks base method. -func (m *MockAccountsModKeeper) InitAccountNumberSeq(ctx context.Context, currentAccNum uint64) error { +// InitAccountNumberSeqUnsafe mocks base method. +func (m *MockAccountsModKeeper) InitAccountNumberSeqUnsafe(ctx context.Context, currentAccNum uint64) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "InitAccountNumberSeq", ctx, currentAccNum) + ret := m.ctrl.Call(m, "InitAccountNumberSeqUnsafe", ctx, currentAccNum) ret0, _ := ret[0].(error) return ret0 } -// InitAccountNumberSeq indicates an expected call of InitAccountNumberSeq. -func (mr *MockAccountsModKeeperMockRecorder) InitAccountNumberSeq(ctx, currentAccNum interface{}) *gomock.Call { +// InitAccountNumberSeqUnsafe indicates an expected call of InitAccountNumberSeqUnsafe. +func (mr *MockAccountsModKeeperMockRecorder) InitAccountNumberSeqUnsafe(ctx, currentAccNum interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InitAccountNumberSeq", reflect.TypeOf((*MockAccountsModKeeper)(nil).InitAccountNumberSeq), ctx, currentAccNum) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InitAccountNumberSeqUnsafe", reflect.TypeOf((*MockAccountsModKeeper)(nil).InitAccountNumberSeqUnsafe), ctx, currentAccNum) } // IsAccountsModuleAccount mocks base method. diff --git a/x/auth/types/expected_keepers.go b/x/auth/types/expected_keepers.go index 7d30c2e1fcc9..401988a7d00d 100644 --- a/x/auth/types/expected_keepers.go +++ b/x/auth/types/expected_keepers.go @@ -21,7 +21,7 @@ type AccountsModKeeper interface { IsAccountsModuleAccount(ctx context.Context, accountAddr []byte) bool NextAccountNumber(ctx context.Context) (accNum uint64, err error) - // InitAccountNumberSeq is use to set accounts module account number with value + // InitAccountNumberSeqUnsafe is use to set accounts module account number with value // of auth module current account number - InitAccountNumberSeq(ctx context.Context, currentAccNum uint64) error + InitAccountNumberSeqUnsafe(ctx context.Context, currentAccNum uint64) error } diff --git a/x/auth/vesting/testutil/expected_keepers_mocks.go b/x/auth/vesting/testutil/expected_keepers_mocks.go index 1d6f11ab762a..3446770eceae 100644 --- a/x/auth/vesting/testutil/expected_keepers_mocks.go +++ b/x/auth/vesting/testutil/expected_keepers_mocks.go @@ -106,18 +106,18 @@ func (m *MockAccountsModKeeper) EXPECT() *MockAccountsModKeeperMockRecorder { return m.recorder } -// InitAccountNumberSeq mocks base method. -func (m *MockAccountsModKeeper) InitAccountNumberSeq(ctx context.Context, currentAccNum uint64) error { +// InitAccountNumberSeqUnsafe mocks base method. +func (m *MockAccountsModKeeper) InitAccountNumberSeqUnsafe(ctx context.Context, currentAccNum uint64) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "InitAccountNumberSeq", ctx, currentAccNum) + ret := m.ctrl.Call(m, "InitAccountNumberSeqUnsafe", ctx, currentAccNum) ret0, _ := ret[0].(error) return ret0 } -// InitAccountNumberSeq indicates an expected call of InitAccountNumberSeq. -func (mr *MockAccountsModKeeperMockRecorder) InitAccountNumberSeq(ctx, currentAccNum interface{}) *gomock.Call { +// InitAccountNumberSeqUnsafe indicates an expected call of InitAccountNumberSeqUnsafe. +func (mr *MockAccountsModKeeperMockRecorder) InitAccountNumberSeqUnsafe(ctx, currentAccNum interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InitAccountNumberSeq", reflect.TypeOf((*MockAccountsModKeeper)(nil).InitAccountNumberSeq), ctx, currentAccNum) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InitAccountNumberSeqUnsafe", reflect.TypeOf((*MockAccountsModKeeper)(nil).InitAccountNumberSeqUnsafe), ctx, currentAccNum) } // IsAccountsModuleAccount mocks base method.