refactor(bech32): remove embedding of addresscodec (#16197)

This commit is contained in:
Marko 2023-05-22 12:20:45 +02:00 committed by GitHub
parent 1f5389e14c
commit c8ab555174
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
83 changed files with 292 additions and 603 deletions

View File

@ -291,7 +291,7 @@ func NewSimApp(
invCheckPeriod := cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod))
app.CrisisKeeper = crisiskeeper.NewKeeper(appCodec, runtime.NewKVStoreService(keys[crisistypes.StoreKey]), invCheckPeriod,
app.BankKeeper, authtypes.FeeCollectorName, authtypes.NewModuleAddress(govtypes.ModuleName).String(), app.AccountKeeper.GetAddressCodec())
app.BankKeeper, authtypes.FeeCollectorName, authtypes.NewModuleAddress(govtypes.ModuleName).String(), app.AccountKeeper.AddressCodec())
app.FeeGrantKeeper = feegrantkeeper.NewKeeper(appCodec, runtime.NewKVStoreService(keys[feegrant.StoreKey]), app.AccountKeeper)
@ -301,7 +301,7 @@ func NewSimApp(
stakingtypes.NewMultiStakingHooks(app.DistrKeeper.Hooks(), app.SlashingKeeper.Hooks()),
)
app.CircuitKeeper = circuitkeeper.NewKeeper(keys[circuittypes.StoreKey], authtypes.NewModuleAddress(govtypes.ModuleName).String(), app.AccountKeeper.GetAddressCodec())
app.CircuitKeeper = circuitkeeper.NewKeeper(keys[circuittypes.StoreKey], authtypes.NewModuleAddress(govtypes.ModuleName).String(), app.AccountKeeper.AddressCodec())
app.AuthzKeeper = authzkeeper.NewKeeper(runtime.NewKVStoreService(keys[authzkeeper.StoreKey]), appCodec, app.MsgServiceRouter(), app.AccountKeeper)
@ -352,7 +352,7 @@ func NewSimApp(
// create evidence keeper with router
evidenceKeeper := evidencekeeper.NewKeeper(
appCodec, runtime.NewKVStoreService(keys[evidencetypes.StoreKey]), app.StakingKeeper, app.SlashingKeeper, app.AccountKeeper.GetAddressCodec(), runtime.ProvideCometInfoService(),
appCodec, runtime.NewKVStoreService(keys[evidencetypes.StoreKey]), app.StakingKeeper, app.SlashingKeeper, app.AccountKeeper.AddressCodec(), runtime.ProvideCometInfoService(),
)
// If evidence needs to be handled for the app, set routes in router here and seal
app.EvidenceKeeper = *evidenceKeeper
@ -380,7 +380,7 @@ func NewSimApp(
slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(slashingtypes.ModuleName), app.interfaceRegistry),
distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(distrtypes.ModuleName)),
staking.NewAppModule(appCodec, app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(stakingtypes.ModuleName)),
upgrade.NewAppModule(app.UpgradeKeeper, app.AccountKeeper.GetAddressCodec()),
upgrade.NewAppModule(app.UpgradeKeeper, app.AccountKeeper.AddressCodec()),
evidence.NewAppModule(app.EvidenceKeeper),
params.NewAppModule(app.ParamsKeeper),
authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry),

View File

@ -145,7 +145,7 @@ func (suite *DeterministicTestSuite) TestGRPCQueryAccounts() {
})
// Regression test
addr1, err := suite.accountKeeper.GetAddressCodec().StringToBytes("cosmos1892yr6fzlj7ud0kfkah2ctrav3a4p4n060ze8f")
addr1, err := suite.accountKeeper.AddressCodec().StringToBytes("cosmos1892yr6fzlj7ud0kfkah2ctrav3a4p4n060ze8f")
suite.Require().NoError(err)
pub1, err := hex.DecodeString("D1002E1B019000010BB7034500E71F011F1CA90D5B000E134BFB0F3603030D0303")
suite.Require().NoError(err)

View File

@ -84,7 +84,7 @@ func (s queryServer) Account(c context.Context, req *types.QueryAccountRequest)
}
ctx := sdk.UnwrapSDKContext(c)
addr, err := s.k.StringToBytes(req.Address)
addr, err := s.k.addressCodec.StringToBytes(req.Address)
if err != nil {
return nil, err
}
@ -190,7 +190,7 @@ func (s queryServer) AddressBytesToString(ctx context.Context, req *types.Addres
return nil, errors.New("empty address bytes is not allowed")
}
text, err := s.k.BytesToString(req.AddressBytes)
text, err := s.k.addressCodec.BytesToString(req.AddressBytes)
if err != nil {
return nil, err
}
@ -209,7 +209,7 @@ func (s queryServer) AddressStringToBytes(ctx context.Context, req *types.Addres
return nil, errors.New("empty address string is not allowed")
}
bz, err := s.k.StringToBytes(req.AddressString)
bz, err := s.k.addressCodec.StringToBytes(req.AddressString)
if err != nil {
return nil, err
}
@ -228,7 +228,7 @@ func (s queryServer) AccountInfo(goCtx context.Context, req *types.QueryAccountI
}
ctx := sdk.UnwrapSDKContext(goCtx)
addr, err := s.k.StringToBytes(req.Address)
addr, err := s.k.addressCodec.StringToBytes(req.Address)
if err != nil {
return nil, err
}

View File

@ -22,8 +22,6 @@ import (
// AccountKeeperI is the interface contract that x/auth's keeper implements.
type AccountKeeperI interface {
address.Codec
// Return a new account with the next account number and the specified address. Does not save the new account to the store.
NewAccountWithAddress(context.Context, sdk.AccAddress) sdk.AccountI
@ -56,12 +54,14 @@ type AccountKeeperI interface {
// GetModulePermissions fetches per-module account permissions
GetModulePermissions() map[string]types.PermissionsForAddress
AddressCodec() address.Codec
}
// AccountKeeper encodes/decodes accounts using the go-amino (binary)
// encoding/decoding library.
type AccountKeeper struct {
address.Codec
addressCodec address.Codec
storeService store.KVStoreService
cdc codec.BinaryCodec
@ -100,7 +100,7 @@ func NewAccountKeeper(
sb := collections.NewSchemaBuilder(storeService)
return AccountKeeper{
Codec: authcodec.NewBech32Codec(bech32Prefix),
addressCodec: authcodec.NewBech32Codec(bech32Prefix),
bech32Prefix: bech32Prefix,
storeService: storeService,
proto: proto,
@ -117,10 +117,10 @@ func (ak AccountKeeper) GetAuthority() string {
return ak.authority
}
// GetAddressCodec returns the x/auth module's address.
// AddressCodec returns the x/auth module's address.
// x/auth is tied to bech32 encoded user accounts
func (ak AccountKeeper) GetAddressCodec() address.Codec {
return ak.Codec
func (ak AccountKeeper) AddressCodec() address.Codec {
return ak.addressCodec
}
// Logger returns a module-specific logger.

View File

@ -117,7 +117,7 @@ func (am AppModule) IsAppModule() {}
// NewAppModule creates a new AppModule object
func NewAppModule(cdc codec.Codec, accountKeeper keeper.AccountKeeper, randGenAccountsFn types.RandomGenesisAccountsFn, ss exported.Subspace) AppModule {
return AppModule{
AppModuleBasic: AppModuleBasic{ac: accountKeeper.GetAddressCodec()},
AppModuleBasic: AppModuleBasic{ac: accountKeeper.AddressCodec()},
accountKeeper: accountKeeper,
randGenAccountsFn: randGenAccountsFn,
legacySubspace: ss,

View File

@ -88,7 +88,7 @@ type AppModule struct {
func NewAppModule(ak keeper.AccountKeeper, bk types.BankKeeper) AppModule {
return AppModule{
AppModuleBasic: AppModuleBasic{ac: ak},
AppModuleBasic: AppModuleBasic{ac: ak.AddressCodec()},
accountKeeper: ak,
bankKeeper: bk,
}

View File

@ -29,12 +29,12 @@ func NewMsgServerImpl(k keeper.AccountKeeper, bk types.BankKeeper) types.MsgServ
var _ types.MsgServer = msgServer{}
func (s msgServer) CreateVestingAccount(goCtx context.Context, msg *types.MsgCreateVestingAccount) (*types.MsgCreateVestingAccountResponse, error) {
from, err := s.AccountKeeper.StringToBytes(msg.FromAddress)
from, err := s.AccountKeeper.AddressCodec().StringToBytes(msg.FromAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid 'from' address: %s", err)
}
to, err := s.AccountKeeper.StringToBytes(msg.ToAddress)
to, err := s.AccountKeeper.AddressCodec().StringToBytes(msg.ToAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid 'to' address: %s", err)
}
@ -95,12 +95,12 @@ func (s msgServer) CreateVestingAccount(goCtx context.Context, msg *types.MsgCre
}
func (s msgServer) CreatePermanentLockedAccount(goCtx context.Context, msg *types.MsgCreatePermanentLockedAccount) (*types.MsgCreatePermanentLockedAccountResponse, error) {
from, err := s.AccountKeeper.StringToBytes(msg.FromAddress)
from, err := s.AccountKeeper.AddressCodec().StringToBytes(msg.FromAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid 'from' address: %s", err)
}
to, err := s.AccountKeeper.StringToBytes(msg.ToAddress)
to, err := s.AccountKeeper.AddressCodec().StringToBytes(msg.ToAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid 'to' address: %s", err)
}
@ -150,12 +150,12 @@ func (s msgServer) CreatePermanentLockedAccount(goCtx context.Context, msg *type
}
func (s msgServer) CreatePeriodicVestingAccount(goCtx context.Context, msg *types.MsgCreatePeriodicVestingAccount) (*types.MsgCreatePeriodicVestingAccountResponse, error) {
from, err := s.AccountKeeper.StringToBytes(msg.FromAddress)
from, err := s.AccountKeeper.AddressCodec().StringToBytes(msg.FromAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid 'from' address: %s", err)
}
to, err := s.AccountKeeper.StringToBytes(msg.ToAddress)
to, err := s.AccountKeeper.AddressCodec().StringToBytes(msg.ToAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid 'to' address: %s", err)
}

View File

@ -10,8 +10,7 @@ import (
// AccountKeeper defines the expected account keeper (noalias)
type AccountKeeper interface {
address.Codec
AddressCodec() address.Codec
GetAccount(ctx context.Context, addr sdk.AccAddress) sdk.AccountI
NewAccountWithAddress(ctx context.Context, addr sdk.AccAddress) sdk.AccountI
SetAccount(ctx context.Context, acc sdk.AccountI)

View File

@ -14,11 +14,11 @@ func (k Keeper) InitGenesis(ctx sdk.Context, data *authz.GenesisState) {
continue
}
grantee, err := k.authKeeper.StringToBytes(entry.Grantee)
grantee, err := k.authKeeper.AddressCodec().StringToBytes(entry.Grantee)
if err != nil {
panic(err)
}
granter, err := k.authKeeper.StringToBytes(entry.Granter)
granter, err := k.authKeeper.AddressCodec().StringToBytes(entry.Granter)
if err != nil {
panic(err)
}

View File

@ -13,6 +13,7 @@ import (
"github.com/golang/mock/gomock"
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/codec/address"
"github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/testutil"
@ -51,11 +52,7 @@ func (suite *GenesisTestSuite) SetupTest() {
// gomock initializations
ctrl := gomock.NewController(suite.T())
suite.accountKeeper = authztestutil.NewMockAccountKeeper(ctrl)
suite.accountKeeper.EXPECT().StringToBytes(granteeAddr.String()).Return(granteeAddr, nil).AnyTimes()
suite.accountKeeper.EXPECT().BytesToString(granterAddr).Return(granterAddr.String(), nil).AnyTimes()
suite.accountKeeper.EXPECT().StringToBytes(granterAddr.String()).Return(granterAddr, nil).AnyTimes()
suite.accountKeeper.EXPECT().BytesToString(granterAddr).Return(granterAddr.String(), nil).AnyTimes()
suite.accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
suite.baseApp = baseapp.NewBaseApp(
"authz",

View File

@ -25,12 +25,12 @@ func (k Keeper) Grants(ctx context.Context, req *authz.QueryGrantsRequest) (*aut
return nil, status.Errorf(codes.InvalidArgument, "empty request")
}
granter, err := k.authKeeper.StringToBytes(req.Granter)
granter, err := k.authKeeper.AddressCodec().StringToBytes(req.Granter)
if err != nil {
return nil, err
}
grantee, err := k.authKeeper.StringToBytes(req.Grantee)
grantee, err := k.authKeeper.AddressCodec().StringToBytes(req.Grantee)
if err != nil {
return nil, err
}
@ -95,7 +95,7 @@ func (k Keeper) GranterGrants(ctx context.Context, req *authz.QueryGranterGrants
return nil, status.Errorf(codes.InvalidArgument, "empty request")
}
granter, err := k.authKeeper.StringToBytes(req.Granter)
granter, err := k.authKeeper.AddressCodec().StringToBytes(req.Granter)
if err != nil {
return nil, err
}
@ -140,7 +140,7 @@ func (k Keeper) GranteeGrants(ctx context.Context, req *authz.QueryGranteeGrants
return nil, status.Errorf(codes.InvalidArgument, "empty request")
}
grantee, err := k.authKeeper.StringToBytes(req.Grantee)
grantee, err := k.authKeeper.AddressCodec().StringToBytes(req.Grantee)
if err != nil {
return nil, err
}

View File

@ -1,7 +1,6 @@
package keeper_test
import (
"errors"
"testing"
"time"
@ -14,6 +13,7 @@ import (
storetypes "cosmossdk.io/store/types"
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/codec/address"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/testutil"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
@ -68,12 +68,8 @@ func (s *TestSuite) SetupTest() {
// gomock initializations
ctrl := gomock.NewController(s.T())
s.accountKeeper = authztestutil.NewMockAccountKeeper(ctrl)
for _, addr := range s.addrs {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
s.accountKeeper.EXPECT().StringToBytes("").Return(nil, errors.New("empty address string is not allowed")).AnyTimes()
s.accountKeeper.EXPECT().StringToBytes("invalid").Return(nil, errors.New("invalid bech32 string")).AnyTimes()
s.accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
s.bankKeeper = authztestutil.NewMockBankKeeper(ctrl)
banktypes.RegisterInterfaces(s.encCfg.InterfaceRegistry)

View File

@ -19,12 +19,12 @@ func (k Keeper) Grant(goCtx context.Context, msg *authz.MsgGrant) (*authz.MsgGra
return nil, authz.ErrGranteeIsGranter
}
grantee, err := k.authKeeper.StringToBytes(msg.Grantee)
grantee, err := k.authKeeper.AddressCodec().StringToBytes(msg.Grantee)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid grantee address: %s", err)
}
granter, err := k.authKeeper.StringToBytes(msg.Granter)
granter, err := k.authKeeper.AddressCodec().StringToBytes(msg.Granter)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid granter address: %s", err)
}
@ -65,12 +65,12 @@ func (k Keeper) Revoke(goCtx context.Context, msg *authz.MsgRevoke) (*authz.MsgR
return nil, authz.ErrGranteeIsGranter
}
grantee, err := k.authKeeper.StringToBytes(msg.Grantee)
grantee, err := k.authKeeper.AddressCodec().StringToBytes(msg.Grantee)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid grantee address: %s", err)
}
granter, err := k.authKeeper.StringToBytes(msg.Granter)
granter, err := k.authKeeper.AddressCodec().StringToBytes(msg.Granter)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid granter address: %s", err)
}
@ -94,7 +94,7 @@ func (k Keeper) Exec(goCtx context.Context, msg *authz.MsgExec) (*authz.MsgExecR
return nil, errors.New("empty address string is not allowed")
}
grantee, err := k.authKeeper.StringToBytes(msg.Grantee)
grantee, err := k.authKeeper.AddressCodec().StringToBytes(msg.Grantee)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid grantee address: %s", err)
}

View File

@ -5,6 +5,7 @@ import (
sdkmath "cosmossdk.io/math"
"github.com/cosmos/cosmos-sdk/codec/address"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
sdk "github.com/cosmos/cosmos-sdk/types"
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
@ -26,7 +27,7 @@ func (suite *TestSuite) TestGrant() {
addrs := suite.createAccounts(2)
curBlockTime := ctx.BlockTime()
suite.accountKeeper.EXPECT().StringToBytes(sdk.AccAddress("valid").String()).Return(sdk.AccAddress("valid"), nil).AnyTimes()
suite.accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
oneHour := curBlockTime.Add(time.Hour)
oneYear := curBlockTime.AddDate(1, 0, 0)

View File

@ -11,6 +11,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/codec/address"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/testutil"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
@ -61,8 +62,7 @@ func TestExpiredGrantsQueue(t *testing.T) {
accountKeeper.EXPECT().GetAccount(gomock.Any(), grantee3).Return(authtypes.NewBaseAccountWithAddress(grantee3)).AnyTimes()
accountKeeper.EXPECT().GetAccount(gomock.Any(), grantee4).Return(authtypes.NewBaseAccountWithAddress(grantee4)).AnyTimes()
accountKeeper.EXPECT().StringToBytes(granter.String()).Return(granter, nil).AnyTimes()
accountKeeper.EXPECT().BytesToString(granter).Return(granter.String(), nil).AnyTimes()
accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
authzKeeper := keeper.NewKeeper(storeService, encCfg.Codec, baseApp.MsgServiceRouter(), accountKeeper)

View File

@ -114,7 +114,7 @@ type AppModule struct {
// NewAppModule creates a new AppModule object
func NewAppModule(cdc codec.Codec, keeper keeper.Keeper, ak authz.AccountKeeper, bk authz.BankKeeper, registry cdctypes.InterfaceRegistry) AppModule {
return AppModule{
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: ak},
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: ak.AddressCodec()},
keeper: keeper,
accountKeeper: ak,
bankKeeper: bk,

View File

@ -8,6 +8,7 @@ import (
context "context"
reflect "reflect"
address "cosmossdk.io/core/address"
types "github.com/cosmos/cosmos-sdk/types"
gomock "github.com/golang/mock/gomock"
)
@ -35,19 +36,18 @@ func (m *MockAccountKeeper) EXPECT() *MockAccountKeeperMockRecorder {
return m.recorder
}
// BytesToString mocks base method.
func (m *MockAccountKeeper) BytesToString(bz []byte) (string, error) {
// AddressCodec mocks base method.
func (m *MockAccountKeeper) AddressCodec() address.Codec {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "BytesToString", bz)
ret0, _ := ret[0].(string)
ret1, _ := ret[1].(error)
return ret0, ret1
ret := m.ctrl.Call(m, "AddressCodec")
ret0, _ := ret[0].(address.Codec)
return ret0
}
// BytesToString indicates an expected call of BytesToString.
func (mr *MockAccountKeeperMockRecorder) BytesToString(bz interface{}) *gomock.Call {
// AddressCodec indicates an expected call of AddressCodec.
func (mr *MockAccountKeeperMockRecorder) AddressCodec() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BytesToString", reflect.TypeOf((*MockAccountKeeper)(nil).BytesToString), bz)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddressCodec", reflect.TypeOf((*MockAccountKeeper)(nil).AddressCodec))
}
// GetAccount mocks base method.
@ -90,21 +90,6 @@ func (mr *MockAccountKeeperMockRecorder) SetAccount(ctx, acc interface{}) *gomoc
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetAccount", reflect.TypeOf((*MockAccountKeeper)(nil).SetAccount), ctx, acc)
}
// StringToBytes mocks base method.
func (m *MockAccountKeeper) StringToBytes(text string) ([]byte, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StringToBytes", text)
ret0, _ := ret[0].([]byte)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StringToBytes indicates an expected call of StringToBytes.
func (mr *MockAccountKeeperMockRecorder) StringToBytes(text interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StringToBytes", reflect.TypeOf((*MockAccountKeeper)(nil).StringToBytes), text)
}
// MockBankKeeper is a mock of BankKeeper interface.
type MockBankKeeper struct {
ctrl *gomock.Controller

View File

@ -18,11 +18,11 @@ func (k Keeper) InitGenesis(ctx sdk.Context, data types.GenesisState) {
}
for _, dwi := range data.DelegatorWithdrawInfos {
delegatorAddress, err := k.authKeeper.StringToBytes(dwi.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(dwi.DelegatorAddress)
if err != nil {
panic(err)
}
withdrawAddress, err := k.authKeeper.StringToBytes(dwi.WithdrawAddress)
withdrawAddress, err := k.authKeeper.AddressCodec().StringToBytes(dwi.WithdrawAddress)
if err != nil {
panic(err)
}
@ -74,7 +74,7 @@ func (k Keeper) InitGenesis(ctx sdk.Context, data types.GenesisState) {
if err != nil {
panic(err)
}
delegatorAddress, err := k.authKeeper.StringToBytes(del.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(del.DelegatorAddress)
if err != nil {
panic(err)
}

View File

@ -217,7 +217,7 @@ func (k Querier) DelegationRewards(c context.Context, req *types.QueryDelegation
return nil, errors.Wrap(types.ErrNoValidatorExists, req.ValidatorAddress)
}
delAdr, err := k.authKeeper.StringToBytes(req.DelegatorAddress)
delAdr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddress)
if err != nil {
return nil, err
}
@ -254,7 +254,7 @@ func (k Querier) DelegationTotalRewards(c context.Context, req *types.QueryDeleg
total := sdk.DecCoins{}
var delRewards []types.DelegationDelegatorReward
delAdr, err := k.authKeeper.StringToBytes(req.DelegatorAddress)
delAdr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddress)
if err != nil {
return nil, err
}
@ -294,7 +294,7 @@ func (k Querier) DelegatorValidators(c context.Context, req *types.QueryDelegato
}
ctx := sdk.UnwrapSDKContext(c)
delAdr, err := k.authKeeper.StringToBytes(req.DelegatorAddress)
delAdr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddress)
if err != nil {
return nil, err
}
@ -320,7 +320,7 @@ func (k Querier) DelegatorWithdrawAddress(c context.Context, req *types.QueryDel
if req.DelegatorAddress == "" {
return nil, status.Error(codes.InvalidArgument, "empty delegator address")
}
delAdr, err := k.authKeeper.StringToBytes(req.DelegatorAddress)
delAdr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddress)
if err != nil {
return nil, err
}

View File

@ -26,12 +26,12 @@ func NewMsgServerImpl(keeper Keeper) types.MsgServer {
}
func (k msgServer) SetWithdrawAddress(ctx context.Context, msg *types.MsgSetWithdrawAddress) (*types.MsgSetWithdrawAddressResponse, error) {
delegatorAddress, err := k.authKeeper.StringToBytes(msg.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(msg.DelegatorAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid delegator address: %s", err)
}
withdrawAddress, err := k.authKeeper.StringToBytes(msg.WithdrawAddress)
withdrawAddress, err := k.authKeeper.AddressCodec().StringToBytes(msg.WithdrawAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid withdraw address: %s", err)
}
@ -50,7 +50,7 @@ func (k msgServer) WithdrawDelegatorReward(ctx context.Context, msg *types.MsgWi
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid validator address: %s", err)
}
delegatorAddress, err := k.authKeeper.StringToBytes(msg.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(msg.DelegatorAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid delegator address: %s", err)
}
@ -102,7 +102,7 @@ func (k msgServer) WithdrawValidatorCommission(ctx context.Context, msg *types.M
}
func (k msgServer) FundCommunityPool(ctx context.Context, msg *types.MsgFundCommunityPool) (*types.MsgFundCommunityPoolResponse, error) {
depositor, err := k.authKeeper.StringToBytes(msg.Depositor)
depositor, err := k.authKeeper.AddressCodec().StringToBytes(msg.Depositor)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid depositor address: %s", err)
}
@ -148,7 +148,7 @@ func (k msgServer) CommunityPoolSpend(ctx context.Context, msg *types.MsgCommuni
return nil, err
}
recipient, err := k.authKeeper.StringToBytes(msg.Recipient)
recipient, err := k.authKeeper.AddressCodec().StringToBytes(msg.Recipient)
if err != nil {
return nil, err
}
@ -168,7 +168,7 @@ func (k msgServer) CommunityPoolSpend(ctx context.Context, msg *types.MsgCommuni
}
func (k msgServer) DepositValidatorRewardsPool(ctx context.Context, msg *types.MsgDepositValidatorRewardsPool) (*types.MsgDepositValidatorRewardsPoolResponse, error) {
depositor, err := k.authKeeper.StringToBytes(msg.Depositor)
depositor, err := k.authKeeper.AddressCodec().StringToBytes(msg.Depositor)
if err != nil {
return nil, err
}
@ -206,7 +206,7 @@ func (k msgServer) DepositValidatorRewardsPool(ctx context.Context, msg *types.M
}
func (k *Keeper) validateAuthority(authority string) error {
if _, err := k.authKeeper.StringToBytes(authority); err != nil {
if _, err := k.authKeeper.AddressCodec().StringToBytes(authority); err != nil {
return sdkerrors.ErrInvalidAddress.Wrapf("invalid authority address: %s", err)
}

View File

@ -113,7 +113,7 @@ func NewAppModule(
bankKeeper types.BankKeeper, stakingKeeper types.StakingKeeper, ss exported.Subspace,
) AppModule {
return AppModule{
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: accountKeeper},
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: accountKeeper.AddressCodec()},
keeper: keeper,
accountKeeper: accountKeeper,
bankKeeper: bankKeeper,

View File

@ -8,6 +8,7 @@ import (
context "context"
reflect "reflect"
address "cosmossdk.io/core/address"
types "github.com/cosmos/cosmos-sdk/types"
types0 "github.com/cosmos/cosmos-sdk/x/staking/types"
gomock "github.com/golang/mock/gomock"
@ -36,19 +37,18 @@ func (m *MockAccountKeeper) EXPECT() *MockAccountKeeperMockRecorder {
return m.recorder
}
// BytesToString mocks base method.
func (m *MockAccountKeeper) BytesToString(bz []byte) (string, error) {
// AddressCodec mocks base method.
func (m *MockAccountKeeper) AddressCodec() address.Codec {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "BytesToString", bz)
ret0, _ := ret[0].(string)
ret1, _ := ret[1].(error)
return ret0, ret1
ret := m.ctrl.Call(m, "AddressCodec")
ret0, _ := ret[0].(address.Codec)
return ret0
}
// BytesToString indicates an expected call of BytesToString.
func (mr *MockAccountKeeperMockRecorder) BytesToString(bz interface{}) *gomock.Call {
// AddressCodec indicates an expected call of AddressCodec.
func (mr *MockAccountKeeperMockRecorder) AddressCodec() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BytesToString", reflect.TypeOf((*MockAccountKeeper)(nil).BytesToString), bz)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddressCodec", reflect.TypeOf((*MockAccountKeeper)(nil).AddressCodec))
}
// GetAccount mocks base method.
@ -105,21 +105,6 @@ func (mr *MockAccountKeeperMockRecorder) SetModuleAccount(arg0, arg1 interface{}
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetModuleAccount", reflect.TypeOf((*MockAccountKeeper)(nil).SetModuleAccount), arg0, arg1)
}
// StringToBytes mocks base method.
func (m *MockAccountKeeper) StringToBytes(text string) ([]byte, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StringToBytes", text)
ret0, _ := ret[0].([]byte)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StringToBytes indicates an expected call of StringToBytes.
func (mr *MockAccountKeeperMockRecorder) StringToBytes(text interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StringToBytes", reflect.TypeOf((*MockAccountKeeper)(nil).StringToBytes), text)
}
// MockBankKeeper is a mock of BankKeeper interface.
type MockBankKeeper struct {
ctrl *gomock.Controller

View File

@ -11,13 +11,10 @@ import (
// AccountKeeper defines the expected account keeper used for simulations (noalias)
type AccountKeeper interface {
address.Codec
AddressCodec() address.Codec
GetAccount(ctx context.Context, addr sdk.AccAddress) sdk.AccountI
GetModuleAddress(name string) sdk.AccAddress
GetModuleAccount(ctx context.Context, name string) sdk.ModuleAccountI
// TODO remove with genesis 2-phases refactor https://github.com/cosmos/cosmos-sdk/issues/2862
SetModuleAccount(context.Context, sdk.ModuleAccountI)
}

View File

@ -10,7 +10,7 @@ import (
// AccountKeeper defines the expected auth Account Keeper (noalias)
type AccountKeeper interface {
address.Codec
AddressCodec() address.Codec
GetModuleAddress(moduleName string) sdk.AccAddress
GetModuleAccount(ctx context.Context, moduleName string) sdk.ModuleAccountI

View File

@ -6,7 +6,7 @@ require (
cosmossdk.io/api v0.4.1
cosmossdk.io/core v0.7.0
cosmossdk.io/depinject v1.0.0-alpha.3
cosmossdk.io/errors v1.0.0-beta.7
cosmossdk.io/errors v1.0.0-beta.7.0.20230429155654-3ee8242364e4
cosmossdk.io/log v1.1.0
cosmossdk.io/math v1.0.1
cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc
@ -27,7 +27,7 @@ require (
require (
cosmossdk.io/collections v0.1.0 // indirect
cosmossdk.io/x/tx v0.5.5 // indirect
cosmossdk.io/x/tx v0.6.3 // indirect
filippo.io/edwards25519 v1.0.0 // indirect
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect
github.com/99designs/keyring v1.2.1 // indirect
@ -51,7 +51,8 @@ require (
github.com/cosmos/cosmos-db v1.0.0-rc.1 // indirect
github.com/cosmos/go-bip39 v1.0.0 // indirect
github.com/cosmos/gogogateway v1.2.0 // indirect
github.com/cosmos/iavl v0.21.0-beta.1 // indirect
github.com/cosmos/iavl v0.21.0 // indirect
github.com/cosmos/ics23/go v0.10.0 // indirect
github.com/cosmos/ledger-cosmos-go v0.13.0 // indirect
github.com/creachadair/taskgroup v0.4.2 // indirect
github.com/danieljoos/wincred v1.1.2 // indirect
@ -154,3 +155,12 @@ require (
pgregory.net/rapid v0.5.7 // indirect
sigs.k8s.io/yaml v1.3.0 // indirect
)
// Below are the short-lived replace of the evidence module
replace (
// TODO: remove me when collections v0.2.0 is released
cosmossdk.io/collections => ../../collections
cosmossdk.io/store => ../../store
cosmossdk.io/x/tx => ../tx
github.com/cosmos/cosmos-sdk => ../../
)

View File

@ -43,16 +43,16 @@ cosmossdk.io/core v0.7.0 h1:GFss3qt2P9p23Cz24NnqLkslzb8n+B75A24x1JgJJp0=
cosmossdk.io/core v0.7.0/go.mod h1:36hP0ZH/8ipsjzfcp0yKU4bqQXUGhS0/m1krWFCtwCc=
cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z+zfw=
cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU=
cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w=
cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE=
cosmossdk.io/errors v1.0.0-beta.7.0.20230429155654-3ee8242364e4 h1:rOy7iw7HlwKc5Af5qIHLXdBx/F98o6du/I/WGwOW6eA=
cosmossdk.io/errors v1.0.0-beta.7.0.20230429155654-3ee8242364e4/go.mod h1:AwrAxbvuH9FdatzJX463kMYNMVkjujWU/xR+HsimWTw=
cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0=
cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4=
cosmossdk.io/math v1.0.1 h1:Qx3ifyOPaMLNH/89WeZFH268yCvU4xEcnPLu3sJqPPg=
cosmossdk.io/math v1.0.1/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k=
cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc h1:9piuA+NYmhe+SyMPtMoboLw/djgDbrI3dD5TG020Tnk=
cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc/go.mod h1:UFF5rmjN7WYVfxo6ArdY/l1+yyWMURBWOmSJypGqFHQ=
cosmossdk.io/x/tx v0.5.5 h1:9XG3KOrqObt7Rw7KhT7fiqRd6EepUfmA9ERa8CHj1WM=
cosmossdk.io/x/tx v0.5.5/go.mod h1:Oh3Kh+IPOfMEILNxVd2e8SLqRrIjYHpdGBfDg4ghU/k=
cosmossdk.io/x/tx v0.6.3 h1:B9uRBUYrjEuq972T0ma0BCDu5QDElqsQkJuM+UZlDhA=
cosmossdk.io/x/tx v0.6.3/go.mod h1:Fm+6hJnc0Zivgy90sPbAHaDnucg1qyo8MtA7h3qJHP0=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek=
filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns=
@ -187,8 +187,6 @@ github.com/cosmos/cosmos-db v1.0.0-rc.1 h1:SjnT8B6WKMW9WEIX32qMhnEEKcI7ZP0+G1Sa9
github.com/cosmos/cosmos-db v1.0.0-rc.1/go.mod h1:Dnmk3flSf5lkwCqvvjNpoxjpXzhxnCAFzKHlbaForso=
github.com/cosmos/cosmos-proto v1.0.0-beta.3 h1:VitvZ1lPORTVxkmF2fAp3IiA61xVwArQYKXTdEcpW6o=
github.com/cosmos/cosmos-proto v1.0.0-beta.3/go.mod h1:t8IASdLaAq+bbHbjq4p960BvcTqtwuAxid3b/2rOD6I=
github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20230426101247-6dfe7351a5c2 h1:VjzSCR3T3w2+YW0fjNLbHIvB2EjpGGbsZ0jEZ3mIn2A=
github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20230426101247-6dfe7351a5c2/go.mod h1:AD4IKrBq+M+oy1hlaBaDkyFcvoR82cLg0mS6lE2K0nU=
github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y=
github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
@ -197,8 +195,10 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ
github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU=
github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI=
github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek=
github.com/cosmos/iavl v0.21.0-beta.1 h1:fBQeBc8HLZ14plJNcmGfaOXSSMLVEHvEQXiTXSD76m0=
github.com/cosmos/iavl v0.21.0-beta.1/go.mod h1:25YJYzilTErJ2mKfNB3xyWL9IsCwEQdNzdIutg2mh3U=
github.com/cosmos/iavl v0.21.0 h1:E39qwHl45PaQUe/mRA8lY4kOqaunOorVQufpv5JPgXk=
github.com/cosmos/iavl v0.21.0/go.mod h1:ejCWRfxvfmQTcligmeRcoQeB8VgHGxkVlIqKSKG7YaI=
github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM=
github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0=
github.com/cosmos/ledger-cosmos-go v0.13.0 h1:ex0CvCxToSR7j5WjrghPu2Bu9sSXKikjnVvUryNnx4s=
github.com/cosmos/ledger-cosmos-go v0.13.0/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI=
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=

View File

@ -13,6 +13,7 @@ import (
"cosmossdk.io/x/feegrant/module"
feegranttestutil "cosmossdk.io/x/feegrant/testutil"
"github.com/cosmos/cosmos-sdk/codec/address"
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
"github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1"
"github.com/cosmos/cosmos-sdk/runtime"
@ -43,6 +44,7 @@ func initFixture(t *testing.T) *genesisFixture {
ctrl := gomock.NewController(t)
accountKeeper := feegranttestutil.NewMockAccountKeeper(ctrl)
accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
return &genesisFixture{
ctx: testCtx.Ctx,
@ -55,8 +57,7 @@ func TestImportExportGenesis(t *testing.T) {
f := initFixture(t)
f.accountKeeper.EXPECT().GetAccount(gomock.Any(), granteeAddr).Return(authtypes.NewBaseAccountWithAddress(granteeAddr)).AnyTimes()
f.accountKeeper.EXPECT().StringToBytes(granteeAddr.String()).Return(granteeAddr, nil).AnyTimes()
f.accountKeeper.EXPECT().StringToBytes(granterAddr.String()).Return(granterAddr, nil).AnyTimes()
f.accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
coins := sdk.NewCoins(sdk.NewCoin("foo", sdk.NewInt(1_000)))
now := f.ctx.BlockHeader().Time
@ -132,16 +133,10 @@ func TestInitGenesis(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
f := initFixture(t)
if !tc.invalidAddr {
f.accountKeeper.EXPECT().StringToBytes(tc.feeAllowances[0].Grantee).Return(granteeAddr, nil).AnyTimes()
f.accountKeeper.EXPECT().StringToBytes(tc.feeAllowances[0].Granter).Return(granterAddr, nil).AnyTimes()
err := f.feegrantKeeper.InitGenesis(f.ctx, &feegrant.GenesisState{Allowances: tc.feeAllowances})
assert.ErrorContains(t, err, "failed to get allowance: no allowance")
} else {
expectedErr := errors.New("errors")
f.accountKeeper.EXPECT().StringToBytes(tc.feeAllowances[0].Grantee).Return(nil, expectedErr).AnyTimes()
f.accountKeeper.EXPECT().StringToBytes(tc.feeAllowances[0].Granter).Return(nil, expectedErr).AnyTimes()
expectedErr := errors.New("decoding bech32 failed")
err := f.feegrantKeeper.InitGenesis(f.ctx, &feegrant.GenesisState{Allowances: tc.feeAllowances})
assert.ErrorContains(t, err, expectedErr.Error())
}

View File

@ -25,12 +25,12 @@ func (q Keeper) Allowance(c context.Context, req *feegrant.QueryAllowanceRequest
return nil, status.Error(codes.InvalidArgument, "invalid request")
}
granterAddr, err := q.authKeeper.StringToBytes(req.Granter)
granterAddr, err := q.authKeeper.AddressCodec().StringToBytes(req.Granter)
if err != nil {
return nil, err
}
granteeAddr, err := q.authKeeper.StringToBytes(req.Grantee)
granteeAddr, err := q.authKeeper.AddressCodec().StringToBytes(req.Grantee)
if err != nil {
return nil, err
}
@ -67,7 +67,7 @@ func (q Keeper) Allowances(c context.Context, req *feegrant.QueryAllowancesReque
return nil, status.Error(codes.InvalidArgument, "invalid request")
}
granteeAddr, err := q.authKeeper.StringToBytes(req.Grantee)
granteeAddr, err := q.authKeeper.AddressCodec().StringToBytes(req.Grantee)
if err != nil {
return nil, err
}
@ -102,7 +102,7 @@ func (q Keeper) AllowancesByGranter(c context.Context, req *feegrant.QueryAllowa
return nil, status.Error(codes.InvalidArgument, "invalid request")
}
granterAddr, err := q.authKeeper.StringToBytes(req.Granter)
granterAddr, err := q.authKeeper.AddressCodec().StringToBytes(req.Granter)
if err != nil {
return nil, err
}

View File

@ -1,8 +1,6 @@
package keeper_test
import (
"errors"
"cosmossdk.io/x/feegrant"
sdk "github.com/cosmos/cosmos-sdk/types"
)
@ -13,9 +11,6 @@ const (
)
func (suite *KeeperTestSuite) TestFeeAllowance() {
suite.accountKeeper.EXPECT().StringToBytes(invalidGranter).Return(nil, errors.New("decoding bech32 failed")).AnyTimes()
suite.accountKeeper.EXPECT().StringToBytes(invalidGrantee).Return(nil, errors.New("decoding bech32 failed")).AnyTimes()
testCases := []struct {
name string
req *feegrant.QueryAllowanceRequest
@ -92,7 +87,6 @@ func (suite *KeeperTestSuite) TestFeeAllowance() {
}
func (suite *KeeperTestSuite) TestFeeAllowances() {
suite.accountKeeper.EXPECT().StringToBytes(invalidGrantee).Return(nil, errors.New("decoding bech32 failed")).AnyTimes()
testCases := []struct {
name string
req *feegrant.QueryAllowancesRequest
@ -159,7 +153,6 @@ func (suite *KeeperTestSuite) TestFeeAllowances() {
}
func (suite *KeeperTestSuite) TestFeeAllowancesByGranter() {
suite.accountKeeper.EXPECT().StringToBytes(invalidGrantee).Return(nil, errors.New("decoding bech32 failed")).AnyTimes()
testCases := []struct {
name string
req *feegrant.QueryAllowancesByGranterRequest

View File

@ -270,11 +270,11 @@ func emitUseGrantEvent(ctx context.Context, granter, grantee string) {
// InitGenesis will initialize the keeper from a *previously validated* GenesisState
func (k Keeper) InitGenesis(ctx context.Context, data *feegrant.GenesisState) error {
for _, f := range data.Allowances {
granter, err := k.authKeeper.StringToBytes(f.Granter)
granter, err := k.authKeeper.AddressCodec().StringToBytes(f.Granter)
if err != nil {
return err
}
grantee, err := k.authKeeper.StringToBytes(f.Grantee)
grantee, err := k.authKeeper.AddressCodec().StringToBytes(f.Grantee)
if err != nil {
return err
}

View File

@ -51,15 +51,7 @@ func (suite *KeeperTestSuite) SetupTest() {
suite.accountKeeper.EXPECT().GetAccount(gomock.Any(), suite.addrs[2]).Return(authtypes.NewBaseAccountWithAddress(suite.addrs[2])).AnyTimes()
suite.accountKeeper.EXPECT().GetAccount(gomock.Any(), suite.addrs[3]).Return(authtypes.NewBaseAccountWithAddress(suite.addrs[3])).AnyTimes()
suite.accountKeeper.EXPECT().StringToBytes(suite.addrs[0].String()).Return(suite.addrs[0], nil).AnyTimes()
suite.accountKeeper.EXPECT().StringToBytes(suite.addrs[1].String()).Return(suite.addrs[1], nil).AnyTimes()
suite.accountKeeper.EXPECT().StringToBytes(suite.addrs[2].String()).Return(suite.addrs[2], nil).AnyTimes()
suite.accountKeeper.EXPECT().StringToBytes(suite.addrs[3].String()).Return(suite.addrs[3], nil).AnyTimes()
suite.accountKeeper.EXPECT().BytesToString(suite.addrs[0]).Return(suite.addrs[0].String(), nil).AnyTimes()
suite.accountKeeper.EXPECT().BytesToString(suite.addrs[1]).Return(suite.addrs[1].String(), nil).AnyTimes()
suite.accountKeeper.EXPECT().BytesToString(suite.addrs[2]).Return(suite.addrs[2].String(), nil).AnyTimes()
suite.accountKeeper.EXPECT().BytesToString(suite.addrs[3]).Return(suite.addrs[3].String(), nil).AnyTimes()
suite.accountKeeper.EXPECT().AddressCodec().Return(codecaddress.NewBech32Codec("cosmos")).AnyTimes()
suite.feegrantKeeper = keeper.NewKeeper(encCfg.Codec, runtime.NewKVStoreService(key), suite.accountKeeper)
suite.ctx = testCtx.Ctx
@ -182,8 +174,6 @@ func (suite *KeeperTestSuite) TestKeeperCrud() {
accAddr, err := codecaddress.NewBech32Codec("cosmos").StringToBytes(address)
suite.Require().NoError(err)
suite.accountKeeper.EXPECT().GetAccount(gomock.Any(), accAddr).Return(authtypes.NewBaseAccountWithAddress(accAddr)).AnyTimes()
suite.accountKeeper.EXPECT().StringToBytes(address).Return(accAddr, nil).AnyTimes()
suite.accountKeeper.EXPECT().BytesToString(accAddr).Return(address, nil).AnyTimes()
// let's grant and revoke authorization to non existing account
err = suite.feegrantKeeper.GrantAllowance(suite.ctx, suite.addrs[3], accAddr, basic2)

View File

@ -33,12 +33,12 @@ func (k msgServer) GrantAllowance(goCtx context.Context, msg *feegrant.MsgGrantA
ctx := sdk.UnwrapSDKContext(goCtx)
grantee, err := k.authKeeper.StringToBytes(msg.Grantee)
grantee, err := k.authKeeper.AddressCodec().StringToBytes(msg.Grantee)
if err != nil {
return nil, err
}
granter, err := k.authKeeper.StringToBytes(msg.Granter)
granter, err := k.authKeeper.AddressCodec().StringToBytes(msg.Granter)
if err != nil {
return nil, err
}
@ -72,12 +72,12 @@ func (k msgServer) RevokeAllowance(goCtx context.Context, msg *feegrant.MsgRevok
ctx := sdk.UnwrapSDKContext(goCtx)
grantee, err := k.authKeeper.StringToBytes(msg.Grantee)
grantee, err := k.authKeeper.AddressCodec().StringToBytes(msg.Grantee)
if err != nil {
return nil, err
}
granter, err := k.authKeeper.StringToBytes(msg.Granter)
granter, err := k.authKeeper.AddressCodec().StringToBytes(msg.Granter)
if err != nil {
return nil, err
}

View File

@ -1,7 +1,6 @@
package keeper_test
import (
"errors"
"time"
"cosmossdk.io/x/feegrant"
@ -31,8 +30,6 @@ func (suite *KeeperTestSuite) TestGrantAllowance() {
any, err := codectypes.NewAnyWithValue(&feegrant.BasicAllowance{})
suite.Require().NoError(err)
invalid := "invalid-granter"
suite.accountKeeper.EXPECT().StringToBytes(invalid).Return(nil, errors.New("decoding bech32 failed")).AnyTimes()
return &feegrant.MsgGrantAllowance{
Granter: invalid,
Grantee: suite.addrs[1].String(),
@ -48,8 +45,6 @@ func (suite *KeeperTestSuite) TestGrantAllowance() {
any, err := codectypes.NewAnyWithValue(&feegrant.BasicAllowance{})
suite.Require().NoError(err)
invalid := "invalid-grantee"
suite.accountKeeper.EXPECT().StringToBytes(invalid).Return(nil, errors.New("decoding bech32 failed")).AnyTimes()
return &feegrant.MsgGrantAllowance{
Granter: suite.addrs[0].String(),
Grantee: invalid,
@ -72,8 +67,6 @@ func (suite *KeeperTestSuite) TestGrantAllowance() {
suite.Require().NoError(err)
suite.accountKeeper.EXPECT().GetAccount(gomock.Any(), granteeAccAddr).Return(nil).AnyTimes()
suite.accountKeeper.EXPECT().StringToBytes(grantee).Return(granteeAccAddr, nil).AnyTimes()
suite.accountKeeper.EXPECT().BytesToString(granteeAccAddr).Return(grantee, nil).AnyTimes()
acc := authtypes.NewBaseAccountWithAddress(granteeAccAddr)
add, err := addressCodec.StringToBytes(grantee)
@ -81,8 +74,6 @@ func (suite *KeeperTestSuite) TestGrantAllowance() {
suite.accountKeeper.EXPECT().NewAccountWithAddress(gomock.Any(), add).Return(acc).AnyTimes()
suite.accountKeeper.EXPECT().SetAccount(gomock.Any(), acc).Return()
suite.accountKeeper.EXPECT().StringToBytes(grantee).Return(granteeAccAddr, nil).AnyTimes()
suite.accountKeeper.EXPECT().BytesToString(granteeAccAddr).Return(grantee, nil).AnyTimes()
suite.Require().NoError(err)
return &feegrant.MsgGrantAllowance{
@ -200,12 +191,6 @@ func (suite *KeeperTestSuite) TestGrantAllowance() {
func (suite *KeeperTestSuite) TestRevokeAllowance() {
oneYear := suite.ctx.BlockTime().AddDate(1, 0, 0)
invalidGranter := "invalid-granter"
suite.accountKeeper.EXPECT().StringToBytes(invalidGranter).Return(nil, errors.New("decoding bech32 failed")).AnyTimes()
invalidGrantee := "invalid-grantee"
suite.accountKeeper.EXPECT().StringToBytes(invalidGrantee).Return(nil, errors.New("decoding bech32 failed")).AnyTimes()
testCases := []struct {
name string
request *feegrant.MsgRevokeAllowance

View File

@ -13,6 +13,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/codec/address"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/testutil"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
@ -42,15 +43,7 @@ func TestFeegrantPruning(t *testing.T) {
accountKeeper.EXPECT().GetAccount(gomock.Any(), granter2).Return(authtypes.NewBaseAccountWithAddress(granter2)).AnyTimes()
accountKeeper.EXPECT().GetAccount(gomock.Any(), granter3).Return(authtypes.NewBaseAccountWithAddress(granter3)).AnyTimes()
accountKeeper.EXPECT().StringToBytes(grantee.String()).Return(grantee.Bytes(), nil).AnyTimes()
accountKeeper.EXPECT().StringToBytes(granter1.String()).Return(granter1.Bytes(), nil).AnyTimes()
accountKeeper.EXPECT().StringToBytes(granter2.String()).Return(granter2.Bytes(), nil).AnyTimes()
accountKeeper.EXPECT().StringToBytes(granter3.String()).Return(granter3.Bytes(), nil).AnyTimes()
accountKeeper.EXPECT().BytesToString(grantee.Bytes()).Return(grantee.String(), nil).AnyTimes()
accountKeeper.EXPECT().BytesToString(granter1.Bytes()).Return(granter1.String(), nil).AnyTimes()
accountKeeper.EXPECT().BytesToString(granter2.Bytes()).Return(granter2.String(), nil).AnyTimes()
accountKeeper.EXPECT().BytesToString(granter3.Bytes()).Return(granter3.String(), nil).AnyTimes()
accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
feegrantKeeper := keeper.NewKeeper(encCfg.Codec, runtime.NewKVStoreService(key), accountKeeper)

View File

@ -122,7 +122,7 @@ type AppModule struct {
// NewAppModule creates a new AppModule object
func NewAppModule(cdc codec.Codec, ak feegrant.AccountKeeper, bk feegrant.BankKeeper, keeper keeper.Keeper, registry cdctypes.InterfaceRegistry) AppModule {
return AppModule{
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: ak},
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: ak.AddressCodec()},
keeper: keeper,
accountKeeper: ak,
bankKeeper: bk,

View File

@ -18,6 +18,7 @@ import (
_ "github.com/cosmos/cosmos-sdk/x/mint"
_ "github.com/cosmos/cosmos-sdk/x/params"
_ "github.com/cosmos/cosmos-sdk/x/staking"
"github.com/cosmos/gogoproto/proto"
"cosmossdk.io/x/feegrant"
"cosmossdk.io/x/feegrant/keeper"
@ -160,7 +161,7 @@ func (suite *SimTestSuite) TestSimulateMsgGrantAllowance() {
require.NoError(err)
var msg feegrant.MsgGrantAllowance
suite.legacyAmino.UnmarshalJSON(operationMsg.Msg, &msg)
proto.Unmarshal(operationMsg.Msg, &msg)
require.True(operationMsg.OK)
require.Equal(accounts[2].Address.String(), msg.Granter)
@ -202,7 +203,7 @@ func (suite *SimTestSuite) TestSimulateMsgRevokeAllowance() {
require.NoError(err)
var msg feegrant.MsgRevokeAllowance
suite.legacyAmino.UnmarshalJSON(operationMsg.Msg, &msg)
proto.Unmarshal(operationMsg.Msg, &msg)
require.True(operationMsg.OK)
require.Equal(granter.Address.String(), msg.Granter)

View File

@ -8,6 +8,7 @@ import (
context "context"
reflect "reflect"
address "cosmossdk.io/core/address"
types "github.com/cosmos/cosmos-sdk/types"
gomock "github.com/golang/mock/gomock"
)
@ -35,19 +36,18 @@ func (m *MockAccountKeeper) EXPECT() *MockAccountKeeperMockRecorder {
return m.recorder
}
// BytesToString mocks base method.
func (m *MockAccountKeeper) BytesToString(bz []byte) (string, error) {
// AddressCodec mocks base method.
func (m *MockAccountKeeper) AddressCodec() address.Codec {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "BytesToString", bz)
ret0, _ := ret[0].(string)
ret1, _ := ret[1].(error)
return ret0, ret1
ret := m.ctrl.Call(m, "AddressCodec")
ret0, _ := ret[0].(address.Codec)
return ret0
}
// BytesToString indicates an expected call of BytesToString.
func (mr *MockAccountKeeperMockRecorder) BytesToString(bz interface{}) *gomock.Call {
// AddressCodec indicates an expected call of AddressCodec.
func (mr *MockAccountKeeperMockRecorder) AddressCodec() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BytesToString", reflect.TypeOf((*MockAccountKeeper)(nil).BytesToString), bz)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddressCodec", reflect.TypeOf((*MockAccountKeeper)(nil).AddressCodec))
}
// GetAccount mocks base method.
@ -118,21 +118,6 @@ func (mr *MockAccountKeeperMockRecorder) SetAccount(ctx, acc interface{}) *gomoc
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetAccount", reflect.TypeOf((*MockAccountKeeper)(nil).SetAccount), ctx, acc)
}
// StringToBytes mocks base method.
func (m *MockAccountKeeper) StringToBytes(text string) ([]byte, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StringToBytes", text)
ret0, _ := ret[0].([]byte)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StringToBytes indicates an expected call of StringToBytes.
func (mr *MockAccountKeeperMockRecorder) StringToBytes(text interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StringToBytes", reflect.TypeOf((*MockAccountKeeper)(nil).StringToBytes), text)
}
// MockBankKeeper is a mock of BankKeeper interface.
type MockBankKeeper struct {
ctrl *gomock.Controller

View File

@ -45,7 +45,7 @@ func InitGenesis(ctx sdk.Context, ak types.AccountKeeper, bk types.BankKeeper, k
}
for _, vote := range data.Votes {
addr, err := ak.StringToBytes(vote.Voter)
addr, err := ak.AddressCodec().StringToBytes(vote.Voter)
if err != nil {
panic(err)
}

View File

@ -14,6 +14,7 @@ import (
storetypes "cosmossdk.io/store/types"
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/codec/address"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/testutil"
"github.com/cosmos/cosmos-sdk/testutil/testdata"
@ -83,8 +84,7 @@ func setupGovKeeper(t *testing.T) (
acctKeeper.EXPECT().GetModuleAddress(types.ModuleName).Return(govAcct).AnyTimes()
acctKeeper.EXPECT().GetModuleAddress(disttypes.ModuleName).Return(distAcct).AnyTimes()
acctKeeper.EXPECT().GetModuleAccount(gomock.Any(), types.ModuleName).Return(authtypes.NewEmptyModuleAccount(types.ModuleName)).AnyTimes()
acctKeeper.EXPECT().StringToBytes(govAcct.String()).Return(govAcct, nil).AnyTimes()
acctKeeper.EXPECT().BytesToString(govAcct).Return(govAcct.String(), nil).AnyTimes()
acctKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
trackMockBalances(bankKeeper, distributionKeeper)
stakingKeeper.EXPECT().TokensFromConsensusPower(ctx, gomock.Any()).DoAndReturn(func(ctx sdk.Context, power int64) math.Int {

View File

@ -16,7 +16,7 @@ import (
// SetDeposit sets a Deposit to the gov store
func (keeper Keeper) SetDeposit(ctx context.Context, deposit v1.Deposit) error {
depositor, err := keeper.authKeeper.StringToBytes(deposit.Depositor)
depositor, err := keeper.authKeeper.AddressCodec().StringToBytes(deposit.Depositor)
if err != nil {
return err
}
@ -147,7 +147,7 @@ func (keeper Keeper) ChargeDeposit(ctx context.Context, proposalID uint64, destA
}
for _, deposit := range deposits {
depositerAddress, err := keeper.authKeeper.StringToBytes(deposit.Depositor)
depositerAddress, err := keeper.authKeeper.AddressCodec().StringToBytes(deposit.Depositor)
if err != nil {
return err
}
@ -202,7 +202,7 @@ func (keeper Keeper) ChargeDeposit(ctx context.Context, proposalID uint64, destA
return err
}
default:
destAccAddress, err := keeper.authKeeper.StringToBytes(destAddress)
destAccAddress, err := keeper.authKeeper.AddressCodec().StringToBytes(destAddress)
if err != nil {
return err
}

View File

@ -50,10 +50,7 @@ func TestDeposits(t *testing.T) {
}
TestAddrs := simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, ctx, 2, sdkmath.NewInt(10000000*depositMultiplier))
for _, addr := range TestAddrs {
authKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
authKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
}
authKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
tp := TestProposal
proposal, err := govKeeper.SubmitProposal(ctx, tp, "", "title", "summary", TestAddrs[0], tc.expedited)
@ -314,10 +311,7 @@ func TestChargeDeposit(t *testing.T) {
params := v1.DefaultParams()
params.ProposalCancelRatio = tc.proposalCancelRatio
TestAddrs := simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, ctx, 2, sdkmath.NewInt(10000000000))
for _, addr := range TestAddrs {
authKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
authKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
}
authKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
switch i {
case 0:

View File

@ -68,7 +68,7 @@ func (q queryServer) Proposals(ctx context.Context, req *v1.QueryProposalsReques
// match voter address (if supplied)
if len(req.Voter) > 0 {
voter, err := q.k.authKeeper.StringToBytes(req.Voter)
voter, err := q.k.authKeeper.AddressCodec().StringToBytes(req.Voter)
if err != nil {
return false, err
}
@ -80,7 +80,7 @@ func (q queryServer) Proposals(ctx context.Context, req *v1.QueryProposalsReques
// match depositor (if supplied)
if len(req.Depositor) > 0 {
depositor, err := q.k.authKeeper.StringToBytes(req.Depositor)
depositor, err := q.k.authKeeper.AddressCodec().StringToBytes(req.Depositor)
if err != nil {
return false, err
}
@ -117,7 +117,7 @@ func (q queryServer) Vote(ctx context.Context, req *v1.QueryVoteRequest) (*v1.Qu
return nil, status.Error(codes.InvalidArgument, "empty voter address")
}
voter, err := q.k.authKeeper.StringToBytes(req.Voter)
voter, err := q.k.authKeeper.AddressCodec().StringToBytes(req.Voter)
if err != nil {
return nil, err
}
@ -205,7 +205,7 @@ func (q queryServer) Deposit(ctx context.Context, req *v1.QueryDepositRequest) (
return nil, status.Error(codes.InvalidArgument, "empty depositor address")
}
depositor, err := q.k.authKeeper.StringToBytes(req.Depositor)
depositor, err := q.k.authKeeper.AddressCodec().StringToBytes(req.Depositor)
if err != nil {
return nil, err
}

View File

@ -7,6 +7,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/cosmos/cosmos-sdk/codec/address"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/gov"
@ -51,10 +52,7 @@ func TestHooks(t *testing.T) {
govKeeper, authKeeper, bankKeeper, stakingKeeper, _, _, ctx := setupGovKeeper(t)
addrs := simtestutil.AddTestAddrs(bankKeeper, stakingKeeper, ctx, 1, minDeposit[0].Amount)
for _, addr := range addrs {
authKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
authKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
}
authKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
govHooksReceiver := MockGovHooksReceiver{}

View File

@ -81,7 +81,7 @@ func NewKeeper(
panic(fmt.Sprintf("%s module account has not been set", types.ModuleName))
}
if _, err := authKeeper.StringToBytes(authority); err != nil {
if _, err := authKeeper.AddressCodec().StringToBytes(authority); err != nil {
panic(fmt.Sprintf("invalid authority address: %s", authority))
}

View File

@ -76,20 +76,17 @@ func (suite *KeeperTestSuite) reset() {
suite.legacyMsgSrvr = keeper.NewLegacyMsgServerImpl(govAcct.String(), suite.msgSrvr)
suite.addrs = simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, ctx, 3, sdkmath.NewInt(30000000))
for _, addr := range suite.addrs {
suite.acctKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
suite.acctKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
}
suite.acctKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
}
func TestIncrementProposalNumber(t *testing.T) {
govKeeper, authKeeper, _, _, _, _, ctx := setupGovKeeper(t)
authKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
ac := address.NewBech32Codec("cosmos")
addrBz, err := ac.StringToBytes(address1)
require.NoError(t, err)
authKeeper.EXPECT().StringToBytes(address1).Return(addrBz, nil).AnyTimes()
authKeeper.EXPECT().BytesToString(addrBz).Return(address1, nil).AnyTimes()
tp := TestProposal
_, err = govKeeper.SubmitProposal(ctx, tp, "", "test", "summary", addrBz, false)
@ -114,8 +111,7 @@ func TestProposalQueues(t *testing.T) {
ac := address.NewBech32Codec("cosmos")
addrBz, err := ac.StringToBytes(address1)
require.NoError(t, err)
authKeeper.EXPECT().StringToBytes(address1).Return(addrBz, nil).AnyTimes()
authKeeper.EXPECT().BytesToString(addrBz).Return(address1, nil).AnyTimes()
authKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
// create test proposals
tp := TestProposal

View File

@ -38,7 +38,7 @@ func (k msgServer) SubmitProposal(goCtx context.Context, msg *v1.MsgSubmitPropos
return nil, errors.Wrap(sdkerrors.ErrInvalidRequest, "proposal summary cannot be empty")
}
proposer, err := k.authKeeper.StringToBytes(msg.GetProposer())
proposer, err := k.authKeeper.AddressCodec().StringToBytes(msg.GetProposer())
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid proposer address: %s", err)
}
@ -102,7 +102,7 @@ func (k msgServer) SubmitProposal(goCtx context.Context, msg *v1.MsgSubmitPropos
// CancelProposals implements the MsgServer.CancelProposal method.
func (k msgServer) CancelProposal(goCtx context.Context, msg *v1.MsgCancelProposal) (*v1.MsgCancelProposalResponse, error) {
_, err := k.authKeeper.StringToBytes(msg.Proposer)
_, err := k.authKeeper.AddressCodec().StringToBytes(msg.Proposer)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid proposer address: %s", err)
}
@ -156,7 +156,7 @@ func (k msgServer) ExecLegacyContent(goCtx context.Context, msg *v1.MsgExecLegac
// Vote implements the MsgServer.Vote method.
func (k msgServer) Vote(goCtx context.Context, msg *v1.MsgVote) (*v1.MsgVoteResponse, error) {
accAddr, err := k.authKeeper.StringToBytes(msg.Voter)
accAddr, err := k.authKeeper.AddressCodec().StringToBytes(msg.Voter)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid voter address: %s", err)
}
@ -184,7 +184,7 @@ func (k msgServer) Vote(goCtx context.Context, msg *v1.MsgVote) (*v1.MsgVoteResp
// VoteWeighted implements the MsgServer.VoteWeighted method.
func (k msgServer) VoteWeighted(goCtx context.Context, msg *v1.MsgVoteWeighted) (*v1.MsgVoteWeightedResponse, error) {
accAddr, accErr := k.authKeeper.StringToBytes(msg.Voter)
accAddr, accErr := k.authKeeper.AddressCodec().StringToBytes(msg.Voter)
if accErr != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid voter address: %s", accErr)
}
@ -237,7 +237,7 @@ func (k msgServer) VoteWeighted(goCtx context.Context, msg *v1.MsgVoteWeighted)
// Deposit implements the MsgServer.Deposit method.
func (k msgServer) Deposit(goCtx context.Context, msg *v1.MsgDeposit) (*v1.MsgDepositResponse, error) {
accAddr, err := k.authKeeper.StringToBytes(msg.Depositor)
accAddr, err := k.authKeeper.AddressCodec().StringToBytes(msg.Depositor)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid depositor address: %s", err)
}

View File

@ -1,7 +1,6 @@
package keeper_test
import (
"errors"
"strings"
"time"
@ -20,11 +19,7 @@ const (
o1 = "-0.1"
)
var (
longAddress = "cosmos1v9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpv9skzctpg0s5ed"
longAddressError = "address max length is 255"
emptyAddressError = "empty address string is not allowed"
)
var longAddressError = "address max length is 255"
func (suite *KeeperTestSuite) TestSubmitProposalReq() {
suite.reset()
@ -42,8 +37,6 @@ func (suite *KeeperTestSuite) TestSubmitProposalReq() {
Amount: coins,
}
suite.acctKeeper.EXPECT().StringToBytes("").Return(nil, errors.New(emptyAddressError))
cases := map[string]struct {
preRun func() (*v1.MsgSubmitProposal, error)
expErr bool
@ -241,8 +234,6 @@ func (suite *KeeperTestSuite) TestCancelProposalReq() {
suite.Require().NotNil(res.ProposalId)
proposalID := res.ProposalId
suite.acctKeeper.EXPECT().StringToBytes("").Return(nil, errors.New(emptyAddressError))
cases := map[string]struct {
preRun func() uint64
expErr bool
@ -338,9 +329,6 @@ func (suite *KeeperTestSuite) TestVoteReq() {
)
suite.Require().NoError(err)
suite.acctKeeper.EXPECT().StringToBytes(longAddress).Return(nil, errors.New(longAddressError)).AnyTimes()
suite.acctKeeper.EXPECT().StringToBytes("").Return(nil, errors.New(emptyAddressError))
res, err := suite.msgSrvr.SubmitProposal(suite.ctx, msg)
suite.Require().NoError(err)
suite.Require().NotNil(res.ProposalId)
@ -489,9 +477,6 @@ func (suite *KeeperTestSuite) TestVoteWeightedReq() {
suite.Require().NotNil(res.ProposalId)
proposalID := res.ProposalId
suite.acctKeeper.EXPECT().StringToBytes(longAddress).Return(nil, errors.New(longAddressError)).AnyTimes()
suite.acctKeeper.EXPECT().StringToBytes("").Return(nil, errors.New(emptyAddressError))
cases := map[string]struct {
preRun func() uint64
vote *v1.MsgVote
@ -735,8 +720,6 @@ func (suite *KeeperTestSuite) TestDepositReq() {
suite.Require().NotNil(res.ProposalId)
pID := res.ProposalId
suite.acctKeeper.EXPECT().StringToBytes("").Return(nil, errors.New(emptyAddressError))
cases := map[string]struct {
preRun func() uint64
expErr bool
@ -796,8 +779,6 @@ func (suite *KeeperTestSuite) TestLegacyMsgSubmitProposal() {
params, _ := suite.govKeeper.Params.Get(suite.ctx)
minDeposit := params.MinDeposit
suite.acctKeeper.EXPECT().StringToBytes("").Return(nil, errors.New(emptyAddressError))
cases := map[string]struct {
preRun func() (*v1beta1.MsgSubmitProposal, error)
expErr bool
@ -931,9 +912,6 @@ func (suite *KeeperTestSuite) TestLegacyMsgVote() {
suite.Require().NotNil(res.ProposalId)
proposalID := res.ProposalId
suite.acctKeeper.EXPECT().StringToBytes(longAddress).Return(nil, errors.New(longAddressError)).AnyTimes()
suite.acctKeeper.EXPECT().StringToBytes("").Return(nil, errors.New(emptyAddressError))
cases := map[string]struct {
preRun func() uint64
expErr bool
@ -1067,9 +1045,6 @@ func (suite *KeeperTestSuite) TestLegacyVoteWeighted() {
suite.Require().NotNil(res.ProposalId)
proposalID := res.ProposalId
suite.acctKeeper.EXPECT().StringToBytes(longAddress).Return(nil, errors.New(longAddressError)).AnyTimes()
suite.acctKeeper.EXPECT().StringToBytes("").Return(nil, errors.New(emptyAddressError))
cases := map[string]struct {
preRun func() uint64
vote *v1beta1.MsgVote
@ -1321,8 +1296,6 @@ func (suite *KeeperTestSuite) TestLegacyMsgDeposit() {
suite.Require().NotNil(res.ProposalId)
pID := res.ProposalId
suite.acctKeeper.EXPECT().StringToBytes("").Return(nil, errors.New(emptyAddressError))
cases := map[string]struct {
preRun func() uint64
expErr bool
@ -1693,9 +1666,6 @@ func (suite *KeeperTestSuite) TestSubmitProposal_InitialDeposit() {
govKeeper, ctx := suite.govKeeper, suite.ctx
address := simtestutil.AddTestAddrs(suite.bankKeeper, suite.stakingKeeper, ctx, 1, tc.accountBalance[0].Amount)[0]
suite.acctKeeper.EXPECT().StringToBytes(address.String()).Return(address, nil).AnyTimes()
suite.acctKeeper.EXPECT().BytesToString(address).Return(address.String(), nil).AnyTimes()
params := v1.DefaultParams()
params.MinDeposit = tc.minDeposit
params.MinInitialDepositRatio = tc.minInitialDepositRatio.String()

View File

@ -43,7 +43,7 @@ func (keeper Keeper) Tally(ctx context.Context, proposal v1.Proposal) (passes, b
rng := collections.NewPrefixedPairRange[uint64, sdk.AccAddress](proposal.Id)
err = keeper.Votes.Walk(ctx, rng, func(key collections.Pair[uint64, sdk.AccAddress], vote v1.Vote) (bool, error) {
// if validator, just record it in the map
voter, err := keeper.authKeeper.StringToBytes(vote.Voter)
voter, err := keeper.authKeeper.AddressCodec().StringToBytes(vote.Voter)
if err != nil {
return false, err
}

View File

@ -8,6 +8,7 @@ import (
sdkmath "cosmossdk.io/math"
"github.com/stretchr/testify/require"
"github.com/cosmos/cosmos-sdk/codec/address"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
sdk "github.com/cosmos/cosmos-sdk/types"
v1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1"
@ -16,10 +17,7 @@ import (
func TestVotes(t *testing.T) {
govKeeper, authKeeper, bankKeeper, stakingKeeper, _, _, ctx := setupGovKeeper(t)
addrs := simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, ctx, 2, sdkmath.NewInt(10000000))
for _, addr := range addrs {
authKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
authKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
}
authKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
tp := TestProposal
proposal, err := govKeeper.SubmitProposal(ctx, tp, "", "title", "description", sdk.AccAddress("cosmos1ghekyjucln7y67ntx7cf27m9dpuxxemn4c8g4r"), false)

View File

@ -139,7 +139,7 @@ func NewAppModule(
ak govtypes.AccountKeeper, bk govtypes.BankKeeper, ss govtypes.ParamSubspace,
) AppModule {
return AppModule{
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: ak},
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: ak.AddressCodec()},
keeper: keeper,
accountKeeper: ak,
bankKeeper: bk,

View File

@ -8,6 +8,7 @@ import (
context "context"
reflect "reflect"
address "cosmossdk.io/core/address"
math "cosmossdk.io/math"
types "github.com/cosmos/cosmos-sdk/types"
query "github.com/cosmos/cosmos-sdk/types/query"
@ -40,19 +41,18 @@ func (m *MockAccountKeeper) EXPECT() *MockAccountKeeperMockRecorder {
return m.recorder
}
// BytesToString mocks base method.
func (m *MockAccountKeeper) BytesToString(bz []byte) (string, error) {
// AddressCodec mocks base method.
func (m *MockAccountKeeper) AddressCodec() address.Codec {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "BytesToString", bz)
ret0, _ := ret[0].(string)
ret1, _ := ret[1].(error)
return ret0, ret1
ret := m.ctrl.Call(m, "AddressCodec")
ret0, _ := ret[0].(address.Codec)
return ret0
}
// BytesToString indicates an expected call of BytesToString.
func (mr *MockAccountKeeperMockRecorder) BytesToString(bz interface{}) *gomock.Call {
// AddressCodec indicates an expected call of AddressCodec.
func (mr *MockAccountKeeperMockRecorder) AddressCodec() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BytesToString", reflect.TypeOf((*MockAccountKeeper)(nil).BytesToString), bz)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddressCodec", reflect.TypeOf((*MockAccountKeeper)(nil).AddressCodec))
}
// GetAccount mocks base method.
@ -121,21 +121,6 @@ func (mr *MockAccountKeeperMockRecorder) SetModuleAccount(arg0, arg1 interface{}
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetModuleAccount", reflect.TypeOf((*MockAccountKeeper)(nil).SetModuleAccount), arg0, arg1)
}
// StringToBytes mocks base method.
func (m *MockAccountKeeper) StringToBytes(text string) ([]byte, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StringToBytes", text)
ret0, _ := ret[0].([]byte)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StringToBytes indicates an expected call of StringToBytes.
func (mr *MockAccountKeeperMockRecorder) StringToBytes(text interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StringToBytes", reflect.TypeOf((*MockAccountKeeper)(nil).StringToBytes), text)
}
// MockBankKeeper is a mock of BankKeeper interface.
type MockBankKeeper struct {
ctrl *gomock.Controller

View File

@ -37,7 +37,7 @@ type DistributionKeeper interface {
// AccountKeeper defines the expected account keeper (noalias)
type AccountKeeper interface {
addresscodec.Codec
AddressCodec() addresscodec.Codec
GetAccount(ctx context.Context, addr sdk.AccAddress) sdk.AccountI

View File

@ -9,7 +9,7 @@ import (
)
type AccountKeeper interface {
address.Codec
AddressCodec() address.Codec
// NewAccount returns a new account with the next account number. Does not save the new account to the store.
NewAccount(context.Context, sdk.AccountI) sdk.AccountI

View File

@ -14,6 +14,7 @@ import (
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/codec/address"
"github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1"
"github.com/cosmos/cosmos-sdk/testutil"
sdk "github.com/cosmos/cosmos-sdk/types"
@ -55,10 +56,7 @@ func (s *GenesisTestSuite) SetupTest() {
accountKeeper := grouptestutil.NewMockAccountKeeper(ctrl)
accountKeeper.EXPECT().GetAccount(gomock.Any(), accAddr).Return(authtypes.NewBaseAccountWithAddress(accAddr)).AnyTimes()
accountKeeper.EXPECT().GetAccount(gomock.Any(), memberAddr).Return(authtypes.NewBaseAccountWithAddress(memberAddr)).AnyTimes()
accountKeeper.EXPECT().BytesToString(accAddr).Return(accAddr.String(), nil).AnyTimes()
accountKeeper.EXPECT().StringToBytes(accAddr.String()).Return(accAddr, nil).AnyTimes()
accountKeeper.EXPECT().BytesToString(memberAddr).Return(memberAddr.String(), nil).AnyTimes()
accountKeeper.EXPECT().StringToBytes(memberAddr.String()).Return(memberAddr, nil).AnyTimes()
accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
bApp := baseapp.NewBaseApp(
"group",

View File

@ -83,7 +83,7 @@ func (k Keeper) getGroupMembers(ctx sdk.Context, id uint64, pageRequest *query.P
// GroupsByAdmin queries all groups where a given address is admin.
func (k Keeper) GroupsByAdmin(goCtx context.Context, request *group.QueryGroupsByAdminRequest) (*group.QueryGroupsByAdminResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
addr, err := k.accKeeper.StringToBytes(request.Admin)
addr, err := k.accKeeper.AddressCodec().StringToBytes(request.Admin)
if err != nil {
return nil, err
}
@ -139,7 +139,7 @@ func (k Keeper) getGroupPoliciesByGroup(ctx sdk.Context, id uint64, pageRequest
// admin.
func (k Keeper) GroupPoliciesByAdmin(goCtx context.Context, request *group.QueryGroupPoliciesByAdminRequest) (*group.QueryGroupPoliciesByAdminResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
addr, err := k.accKeeper.StringToBytes(request.Admin)
addr, err := k.accKeeper.AddressCodec().StringToBytes(request.Admin)
if err != nil {
return nil, err
}
@ -180,7 +180,7 @@ func (k Keeper) Proposal(goCtx context.Context, request *group.QueryProposalRequ
// ProposalsByGroupPolicy queries all proposals of a group policy.
func (k Keeper) ProposalsByGroupPolicy(goCtx context.Context, request *group.QueryProposalsByGroupPolicyRequest) (*group.QueryProposalsByGroupPolicyResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
addr, err := k.accKeeper.StringToBytes(request.Address)
addr, err := k.accKeeper.AddressCodec().StringToBytes(request.Address)
if err != nil {
return nil, err
}
@ -218,7 +218,7 @@ func (k Keeper) getProposal(ctx sdk.Context, proposalID uint64) (group.Proposal,
// VoteByProposalVoter queries a vote given a voter and a proposal ID.
func (k Keeper) VoteByProposalVoter(goCtx context.Context, request *group.QueryVoteByProposalVoterRequest) (*group.QueryVoteByProposalVoterResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
addr, err := k.accKeeper.StringToBytes(request.Voter)
addr, err := k.accKeeper.AddressCodec().StringToBytes(request.Voter)
if err != nil {
return nil, err
}
@ -256,7 +256,7 @@ func (k Keeper) VotesByProposal(goCtx context.Context, request *group.QueryVotes
// VotesByVoter queries all votes of a voter.
func (k Keeper) VotesByVoter(goCtx context.Context, request *group.QueryVotesByVoterRequest) (*group.QueryVotesByVoterResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
addr, err := k.accKeeper.StringToBytes(request.Voter)
addr, err := k.accKeeper.AddressCodec().StringToBytes(request.Voter)
if err != nil {
return nil, err
}
@ -284,7 +284,7 @@ func (k Keeper) GroupsByMember(goCtx context.Context, request *group.QueryGroups
}
ctx := sdk.UnwrapSDKContext(goCtx)
member, err := k.accKeeper.StringToBytes(request.Address)
member, err := k.accKeeper.AddressCodec().StringToBytes(request.Address)
if err != nil {
return nil, err
}

View File

@ -11,6 +11,7 @@ import (
storetypes "cosmossdk.io/store/types"
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/codec/address"
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
"github.com/cosmos/cosmos-sdk/testutil"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
@ -48,9 +49,8 @@ func initKeeper(t *testing.T) (types.Context, groupkeeper.Keeper, []types.AccAdd
accountKeeper := grouptestutil.NewMockAccountKeeper(ctrl)
for _, addr := range addrs {
accountKeeper.EXPECT().GetAccount(gomock.Any(), addr).Return(authtypes.NewBaseAccountWithAddress(addr)).AnyTimes()
accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
}
accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
groupKeeper = groupkeeper.NewKeeper(key, encCfg.Codec, bApp.MsgServiceRouter(), accountKeeper, group.DefaultConfig())

View File

@ -94,7 +94,7 @@ func NewKeeper(storeKey storetypes.StoreKey, cdc codec.Codec, router baseapp.Mes
panic(err.Error())
}
k.groupByAdminIndex, err = orm.NewIndex(groupTable, GroupByAdminIndexPrefix, func(val interface{}) ([]interface{}, error) {
addr, err := accKeeper.StringToBytes(val.(*group.GroupInfo).Admin)
addr, err := accKeeper.AddressCodec().StringToBytes(val.(*group.GroupInfo).Admin)
if err != nil {
return nil, err
}
@ -119,7 +119,7 @@ func NewKeeper(storeKey storetypes.StoreKey, cdc codec.Codec, router baseapp.Mes
}
k.groupMemberByMemberIndex, err = orm.NewIndex(groupMemberTable, GroupMemberByMemberIndexPrefix, func(val interface{}) ([]interface{}, error) {
memberAddr := val.(*group.GroupMember).Member.Address
addr, err := accKeeper.StringToBytes(memberAddr)
addr, err := accKeeper.AddressCodec().StringToBytes(memberAddr)
if err != nil {
return nil, err
}
@ -144,7 +144,7 @@ func NewKeeper(storeKey storetypes.StoreKey, cdc codec.Codec, router baseapp.Mes
}
k.groupPolicyByAdminIndex, err = orm.NewIndex(groupPolicyTable, GroupPolicyByAdminIndexPrefix, func(value interface{}) ([]interface{}, error) {
admin := value.(*group.GroupPolicyInfo).Admin
addr, err := accKeeper.StringToBytes(admin)
addr, err := accKeeper.AddressCodec().StringToBytes(admin)
if err != nil {
return nil, err
}
@ -162,7 +162,7 @@ func NewKeeper(storeKey storetypes.StoreKey, cdc codec.Codec, router baseapp.Mes
}
k.proposalByGroupPolicyIndex, err = orm.NewIndex(proposalTable, ProposalByGroupPolicyIndexPrefix, func(value interface{}) ([]interface{}, error) {
account := value.(*group.Proposal).GroupPolicyAddress
addr, err := accKeeper.StringToBytes(account)
addr, err := accKeeper.AddressCodec().StringToBytes(account)
if err != nil {
return nil, err
}
@ -192,7 +192,7 @@ func NewKeeper(storeKey storetypes.StoreKey, cdc codec.Codec, router baseapp.Mes
panic(err.Error())
}
k.voteByVoterIndex, err = orm.NewIndex(voteTable, VoteByVoterIndexPrefix, func(value interface{}) ([]interface{}, error) {
addr, err := accKeeper.StringToBytes(value.(*group.Vote).Voter)
addr, err := accKeeper.AddressCodec().StringToBytes(value.(*group.Vote).Voter)
if err != nil {
return nil, err
}

View File

@ -3,7 +3,6 @@ package keeper_test
import (
"context"
"encoding/binary"
"errors"
"testing"
"time"
@ -60,13 +59,8 @@ func (s *TestSuite) SetupTest() {
s.accountKeeper = grouptestutil.NewMockAccountKeeper(ctrl)
for i := range s.addrs {
s.accountKeeper.EXPECT().GetAccount(gomock.Any(), s.addrs[i]).Return(authtypes.NewBaseAccountWithAddress(s.addrs[i])).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(s.addrs[i]).Return(s.addrs[i].String(), nil).AnyTimes()
s.accountKeeper.EXPECT().StringToBytes(s.addrs[i].String()).Return(s.addrs[i], nil).AnyTimes()
}
// add empty string to the list of expected calls
s.accountKeeper.EXPECT().StringToBytes("").Return(nil, errors.New("unable to decode")).AnyTimes()
s.accountKeeper.EXPECT().StringToBytes("invalid").Return(nil, errors.New("unable to decode")).AnyTimes()
s.accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
s.bankKeeper = grouptestutil.NewMockBankKeeper(ctrl)
@ -143,15 +137,11 @@ func (s *TestSuite) setNextAccount() {
s.Require().NoError(err)
groupPolicyAccBumpAccountNumber.SetAccountNumber(nextAccVal)
addrcdc := address.NewBech32Codec("cosmos")
addrst, err := addrcdc.BytesToString(ac.Address())
s.Require().NoError(err)
s.accountKeeper.EXPECT().GetAccount(gomock.Any(), sdk.AccAddress(ac.Address())).Return(nil).AnyTimes()
s.accountKeeper.EXPECT().NewAccount(gomock.Any(), groupPolicyAcc).Return(groupPolicyAccBumpAccountNumber).AnyTimes()
s.accountKeeper.EXPECT().SetAccount(gomock.Any(), sdk.AccountI(groupPolicyAccBumpAccountNumber)).Return().AnyTimes()
s.accountKeeper.EXPECT().StringToBytes(addrst).Return(ac.Address().Bytes(), nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(ac.Address().Bytes()).Return(addrst, nil).AnyTimes()
}
func TestKeeperTestSuite(t *testing.T) {
@ -434,7 +424,7 @@ func (s *TestSuite) TestTallyProposalsAtVPEnd() {
groupRes, err := s.groupKeeper.CreateGroupWithPolicy(s.ctx, groupMsg)
s.Require().NoError(err)
accountAddr := groupRes.GetGroupPolicyAddress()
groupPolicy, err := s.accountKeeper.StringToBytes(accountAddr)
groupPolicy, err := s.accountKeeper.AddressCodec().StringToBytes(accountAddr)
s.Require().NoError(err)
s.Require().NotNil(groupPolicy)

View File

@ -25,7 +25,7 @@ var _ group.MsgServer = Keeper{}
const gasCostPerIteration = uint64(20)
func (k Keeper) CreateGroup(goCtx context.Context, msg *group.MsgCreateGroup) (*group.MsgCreateGroupResponse, error) {
if _, err := k.accKeeper.StringToBytes(msg.Admin); err != nil {
if _, err := k.accKeeper.AddressCodec().StringToBytes(msg.Admin); err != nil {
return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid admin address: %s", msg.Admin)
}
@ -225,11 +225,11 @@ func (k Keeper) UpdateGroupAdmin(goCtx context.Context, msg *group.MsgUpdateGrou
return nil, errorsmod.Wrap(errors.ErrInvalid, "new and old admin are the same")
}
if _, err := k.accKeeper.StringToBytes(msg.Admin); err != nil {
if _, err := k.accKeeper.AddressCodec().StringToBytes(msg.Admin); err != nil {
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "admin address")
}
if _, err := k.accKeeper.StringToBytes(msg.NewAdmin); err != nil {
if _, err := k.accKeeper.AddressCodec().StringToBytes(msg.NewAdmin); err != nil {
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "new admin address")
}
@ -257,7 +257,7 @@ func (k Keeper) UpdateGroupMetadata(goCtx context.Context, msg *group.MsgUpdateG
return nil, err
}
if _, err := k.accKeeper.StringToBytes(msg.Admin); err != nil {
if _, err := k.accKeeper.AddressCodec().StringToBytes(msg.Admin); err != nil {
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "admin address")
}
@ -341,7 +341,7 @@ func (k Keeper) CreateGroupPolicy(goCtx context.Context, msg *group.MsgCreateGro
return nil, errorsmod.Wrap(err, "decision policy")
}
reqGroupAdmin, err := k.accKeeper.StringToBytes(msg.GetAdmin())
reqGroupAdmin, err := k.accKeeper.AddressCodec().StringToBytes(msg.GetAdmin())
if err != nil {
return nil, errorsmod.Wrap(err, "request admin")
}
@ -352,7 +352,7 @@ func (k Keeper) CreateGroupPolicy(goCtx context.Context, msg *group.MsgCreateGro
return nil, err
}
groupAdmin, err := k.accKeeper.StringToBytes(groupInfo.Admin)
groupAdmin, err := k.accKeeper.AddressCodec().StringToBytes(groupInfo.Admin)
if err != nil {
return nil, errorsmod.Wrap(err, "group admin")
}
@ -510,7 +510,7 @@ func (k Keeper) SubmitProposal(goCtx context.Context, msg *group.MsgSubmitPropos
return nil, err
}
groupPolicyAddr, err := k.accKeeper.StringToBytes(msg.GroupPolicyAddress)
groupPolicyAddr, err := k.accKeeper.AddressCodec().StringToBytes(msg.GroupPolicyAddress)
if err != nil {
return nil, errorsmod.Wrap(err, "request account address of group policy")
}
@ -633,7 +633,7 @@ func (k Keeper) WithdrawProposal(goCtx context.Context, msg *group.MsgWithdrawPr
return nil, errorsmod.Wrap(errors.ErrEmpty, "proposal id")
}
if _, err := k.accKeeper.StringToBytes(msg.Address); err != nil {
if _, err := k.accKeeper.AddressCodec().StringToBytes(msg.Address); err != nil {
return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid group policy admin / proposer address: %s", msg.Address)
}
@ -688,7 +688,7 @@ func (k Keeper) Vote(goCtx context.Context, msg *group.MsgVote) (*group.MsgVoteR
return nil, err
}
if _, err := k.accKeeper.StringToBytes(msg.Voter); err != nil {
if _, err := k.accKeeper.AddressCodec().StringToBytes(msg.Voter); err != nil {
return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid voter address: %s", msg.Voter)
}
@ -828,7 +828,7 @@ func (k Keeper) Exec(goCtx context.Context, msg *group.MsgExec) (*group.MsgExecR
// Caching context so that we don't update the store in case of failure.
cacheCtx, flush := ctx.CacheContext()
addr, err := k.accKeeper.StringToBytes(policyInfo.Address)
addr, err := k.accKeeper.AddressCodec().StringToBytes(policyInfo.Address)
if err != nil {
return nil, err
}
@ -881,7 +881,7 @@ func (k Keeper) LeaveGroup(goCtx context.Context, msg *group.MsgLeaveGroup) (*gr
return nil, errorsmod.Wrap(errors.ErrEmpty, "group-id")
}
_, err := k.accKeeper.StringToBytes(msg.Address)
_, err := k.accKeeper.AddressCodec().StringToBytes(msg.Address)
if err != nil {
return nil, errorsmod.Wrap(err, "group member")
}
@ -965,12 +965,12 @@ type (
// doUpdateGroupPolicy first makes sure that the group policy admin initiated the group policy update,
// before performing the group policy update and emitting an event.
func (k Keeper) doUpdateGroupPolicy(ctx sdk.Context, reqGroupPolicy, reqAdmin string, action groupPolicyActionFn, note string) error {
groupPolicyAddr, err := k.accKeeper.StringToBytes(reqGroupPolicy)
groupPolicyAddr, err := k.accKeeper.AddressCodec().StringToBytes(reqGroupPolicy)
if err != nil {
return errorsmod.Wrap(err, "group policy address")
}
_, err = k.accKeeper.StringToBytes(reqAdmin)
_, err = k.accKeeper.AddressCodec().StringToBytes(reqAdmin)
if err != nil {
return errorsmod.Wrap(err, "group policy admin")
}
@ -1069,7 +1069,7 @@ func (k Keeper) validateProposers(proposers []string) error {
return errorsmod.Wrapf(errors.ErrDuplicate, "address: %s", proposer)
}
_, err := k.accKeeper.StringToBytes(proposer)
_, err := k.accKeeper.AddressCodec().StringToBytes(proposer)
if err != nil {
return errorsmod.Wrapf(err, "proposer address %s", proposer)
}
@ -1094,7 +1094,7 @@ func (k Keeper) validateMembers(members []group.MemberRequest) error {
return errorsmod.Wrapf(errors.ErrDuplicate, "address: %s", member.Address)
}
_, err := k.accKeeper.StringToBytes(member.Address)
_, err := k.accKeeper.AddressCodec().StringToBytes(member.Address)
if err != nil {
return errorsmod.Wrapf(err, "member address %s", member.Address)
}

View File

@ -35,8 +35,7 @@ func (s *TestSuite) createGroupAndGetMembers(numMembers int) []*group.GroupMembe
Address: addressPool[i].String(),
Weight: "1",
}
s.accountKeeper.EXPECT().StringToBytes(addressPool[i].String()).Return(addressPool[i].Bytes(), nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addressPool[i].Bytes()).Return(addressPool[i].String(), nil).AnyTimes()
s.accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
}
g, err := s.groupKeeper.CreateGroup(s.ctx, &group.MsgCreateGroup{
@ -291,7 +290,7 @@ func (s *TestSuite) TestUpdateGroupMembers() {
},
},
expErr: true,
expErrMsg: "unable to decode",
expErrMsg: "empty address string is not allowed",
},
"invalid member metadata too long": {
req: &group.MsgUpdateGroupMembers{
@ -888,7 +887,7 @@ func (s *TestSuite) TestCreateGroupWithPolicy() {
0,
),
expErr: true,
expErrMsg: "unable to decode",
expErrMsg: "decoding bech32 failed",
},
"decision policy threshold > total group weight": {
req: &group.MsgCreateGroupWithPolicy{
@ -1634,8 +1633,7 @@ func (s *TestSuite) TestSubmitProposal() {
res, err := s.groupKeeper.CreateGroupPolicy(s.ctx, policyReq)
s.Require().NoError(err)
s.accountKeeper.EXPECT().StringToBytes(res.Address).Return(sdk.MustAccAddressFromBech32(res.Address).Bytes(), nil).AnyTimes()
noMinExecPeriodPolicyAddr, err := s.accountKeeper.StringToBytes(res.Address)
noMinExecPeriodPolicyAddr, err := s.accountKeeper.AddressCodec().StringToBytes(res.Address)
s.Require().NoError(err)
// Create a new group policy with super high threshold
@ -1712,7 +1710,7 @@ func (s *TestSuite) TestSubmitProposal() {
Proposers: []string{addr2.String()},
},
expErr: true,
expErrMsg: "unable to decode",
expErrMsg: "empty address string is not allowed",
postRun: func(sdkCtx sdk.Context) {},
},
"existing group policy required": {
@ -2002,10 +2000,7 @@ func (s *TestSuite) TestVote() {
s.Require().NoError(err)
accountAddr := policyRes.Address
// module account will be created and returned
addrbz, err := address.NewBech32Codec("cosmos").StringToBytes(accountAddr)
s.Require().NoError(err)
s.accountKeeper.EXPECT().StringToBytes(accountAddr).Return(addrbz, nil).AnyTimes()
groupPolicy, err := s.accountKeeper.StringToBytes(accountAddr)
groupPolicy, err := s.accountKeeper.AddressCodec().StringToBytes(accountAddr)
s.Require().NoError(err)
s.Require().NotNil(groupPolicy)
@ -2894,11 +2889,6 @@ func (s *TestSuite) TestLeaveGroup() {
admin2 := addrs[5]
admin3 := addrs[6]
for _, addr := range addrs {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr.Bytes(), nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
members := []group.MemberRequest{
{
Address: member1.String(),
@ -2981,7 +2971,7 @@ func (s *TestSuite) TestLeaveGroup() {
Address: "invalid",
},
true,
"unable to decode",
"decoding bech32 failed",
0,
math.NewDecFromInt64(0),
},

View File

@ -48,7 +48,7 @@ type AppModule struct {
// NewAppModule creates a new AppModule object
func NewAppModule(cdc codec.Codec, keeper keeper.Keeper, ak group.AccountKeeper, bk group.BankKeeper, registry cdctypes.InterfaceRegistry) AppModule {
return AppModule{
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: ak},
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: ak.AddressCodec()},
keeper: keeper,
bankKeeper: bk,
accKeeper: ak,

View File

@ -8,6 +8,7 @@ import (
context "context"
reflect "reflect"
address "cosmossdk.io/core/address"
types "github.com/cosmos/cosmos-sdk/types"
types0 "github.com/cosmos/cosmos-sdk/x/bank/types"
gomock "github.com/golang/mock/gomock"
@ -36,19 +37,18 @@ func (m *MockAccountKeeper) EXPECT() *MockAccountKeeperMockRecorder {
return m.recorder
}
// BytesToString mocks base method.
func (m *MockAccountKeeper) BytesToString(bz []byte) (string, error) {
// AddressCodec mocks base method.
func (m *MockAccountKeeper) AddressCodec() address.Codec {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "BytesToString", bz)
ret0, _ := ret[0].(string)
ret1, _ := ret[1].(error)
return ret0, ret1
ret := m.ctrl.Call(m, "AddressCodec")
ret0, _ := ret[0].(address.Codec)
return ret0
}
// BytesToString indicates an expected call of BytesToString.
func (mr *MockAccountKeeperMockRecorder) BytesToString(bz interface{}) *gomock.Call {
// AddressCodec indicates an expected call of AddressCodec.
func (mr *MockAccountKeeperMockRecorder) AddressCodec() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BytesToString", reflect.TypeOf((*MockAccountKeeper)(nil).BytesToString), bz)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddressCodec", reflect.TypeOf((*MockAccountKeeper)(nil).AddressCodec))
}
// GetAccount mocks base method.
@ -103,21 +103,6 @@ func (mr *MockAccountKeeperMockRecorder) SetAccount(arg0, arg1 interface{}) *gom
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetAccount", reflect.TypeOf((*MockAccountKeeper)(nil).SetAccount), arg0, arg1)
}
// StringToBytes mocks base method.
func (m *MockAccountKeeper) StringToBytes(text string) ([]byte, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StringToBytes", text)
ret0, _ := ret[0].([]byte)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StringToBytes indicates an expected call of StringToBytes.
func (mr *MockAccountKeeperMockRecorder) StringToBytes(text interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StringToBytes", reflect.TypeOf((*MockAccountKeeper)(nil).StringToBytes), text)
}
// MockBankKeeper is a mock of BankKeeper interface.
type MockBankKeeper struct {
ctrl *gomock.Controller

View File

@ -18,6 +18,5 @@ type BankKeeper interface {
type AccountKeeper interface {
GetModuleAddress(name string) sdk.AccAddress
GetAccount(ctx context.Context, addr sdk.AccAddress) sdk.AccountI
address.Codec
AddressCodec() address.Codec
}

View File

@ -5,6 +5,7 @@ import (
"fmt"
"testing"
"github.com/cosmos/cosmos-sdk/codec/address"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
@ -16,7 +17,7 @@ func TestGRPCQuery(t *testing.T) {
}
func (s *TestSuite) TestBalance() {
s.accountKeeper.EXPECT().StringToBytes("owner").Return(nil, fmt.Errorf("decoding bech32 failed")).AnyTimes()
s.accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
var req *nft.QueryBalanceRequest
testCases := []struct {
msg string

View File

@ -29,6 +29,6 @@ func NewKeeper(storeService store.KVStoreService,
cdc: cdc,
storeService: storeService,
bk: bk,
ac: ak,
ac: ak.AddressCodec(),
}
}

View File

@ -15,6 +15,7 @@ import (
nfttestutil "cosmossdk.io/x/nft/testutil"
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/codec/address"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/testutil"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
@ -61,9 +62,7 @@ func (s *TestSuite) SetupTest() {
accountKeeper := nfttestutil.NewMockAccountKeeper(ctrl)
bankKeeper := nfttestutil.NewMockBankKeeper(ctrl)
accountKeeper.EXPECT().GetModuleAddress("nft").Return(s.addrs[0]).AnyTimes()
for _, addr := range s.addrs {
accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
}
accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
s.accountKeeper = accountKeeper

View File

@ -110,7 +110,7 @@ type AppModule struct {
// NewAppModule creates a new AppModule object
func NewAppModule(cdc codec.Codec, keeper keeper.Keeper, ak nft.AccountKeeper, bk nft.BankKeeper, registry cdctypes.InterfaceRegistry) AppModule {
return AppModule{
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: ak},
AppModuleBasic: AppModuleBasic{cdc: cdc, ac: ak.AddressCodec()},
keeper: keeper,
accountKeeper: ak,
bankKeeper: bk,

View File

@ -8,6 +8,7 @@ import (
context "context"
reflect "reflect"
address "cosmossdk.io/core/address"
types "github.com/cosmos/cosmos-sdk/types"
gomock "github.com/golang/mock/gomock"
)
@ -72,19 +73,18 @@ func (m *MockAccountKeeper) EXPECT() *MockAccountKeeperMockRecorder {
return m.recorder
}
// BytesToString mocks base method.
func (m *MockAccountKeeper) BytesToString(bz []byte) (string, error) {
// AddressCodec mocks base method.
func (m *MockAccountKeeper) AddressCodec() address.Codec {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "BytesToString", bz)
ret0, _ := ret[0].(string)
ret1, _ := ret[1].(error)
return ret0, ret1
ret := m.ctrl.Call(m, "AddressCodec")
ret0, _ := ret[0].(address.Codec)
return ret0
}
// BytesToString indicates an expected call of BytesToString.
func (mr *MockAccountKeeperMockRecorder) BytesToString(bz interface{}) *gomock.Call {
// AddressCodec indicates an expected call of AddressCodec.
func (mr *MockAccountKeeperMockRecorder) AddressCodec() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BytesToString", reflect.TypeOf((*MockAccountKeeper)(nil).BytesToString), bz)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddressCodec", reflect.TypeOf((*MockAccountKeeper)(nil).AddressCodec))
}
// GetAccount mocks base method.
@ -114,18 +114,3 @@ func (mr *MockAccountKeeperMockRecorder) GetModuleAddress(name interface{}) *gom
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetModuleAddress", reflect.TypeOf((*MockAccountKeeper)(nil).GetModuleAddress), name)
}
// StringToBytes mocks base method.
func (m *MockAccountKeeper) StringToBytes(text string) ([]byte, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StringToBytes", text)
ret0, _ := ret[0].([]byte)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StringToBytes indicates an expected call of StringToBytes.
func (mr *MockAccountKeeperMockRecorder) StringToBytes(text interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StringToBytes", reflect.TypeOf((*MockAccountKeeper)(nil).StringToBytes), text)
}

View File

@ -103,7 +103,7 @@ func (k Keeper) GetDelegatorDelegations(ctx sdk.Context, delegator sdk.AccAddres
// SetDelegation sets a delegation.
func (k Keeper) SetDelegation(ctx sdk.Context, delegation types.Delegation) {
delegatorAddress, err := k.authKeeper.StringToBytes(delegation.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(delegation.DelegatorAddress)
if err != nil {
panic(err)
}
@ -118,7 +118,7 @@ func (k Keeper) SetDelegation(ctx sdk.Context, delegation types.Delegation) {
// RemoveDelegation removes a delegation
func (k Keeper) RemoveDelegation(ctx sdk.Context, delegation types.Delegation) error {
delegatorAddress, err := k.authKeeper.StringToBytes(delegation.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(delegation.DelegatorAddress)
if err != nil {
panic(err)
}
@ -294,7 +294,7 @@ func (k Keeper) HasMaxUnbondingDelegationEntries(ctx sdk.Context, delegatorAddr
// SetUnbondingDelegation sets the unbonding delegation and associated index.
func (k Keeper) SetUnbondingDelegation(ctx sdk.Context, ubd types.UnbondingDelegation) {
delAddr, err := k.authKeeper.StringToBytes(ubd.DelegatorAddress)
delAddr, err := k.authKeeper.AddressCodec().StringToBytes(ubd.DelegatorAddress)
if err != nil {
panic(err)
}
@ -312,7 +312,7 @@ func (k Keeper) SetUnbondingDelegation(ctx sdk.Context, ubd types.UnbondingDeleg
// RemoveUnbondingDelegation removes the unbonding delegation object and associated index.
func (k Keeper) RemoveUnbondingDelegation(ctx sdk.Context, ubd types.UnbondingDelegation) {
delegatorAddress, err := k.authKeeper.StringToBytes(ubd.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(ubd.DelegatorAddress)
if err != nil {
panic(err)
}
@ -502,7 +502,7 @@ func (k Keeper) HasMaxRedelegationEntries(ctx sdk.Context, delegatorAddr sdk.Acc
// SetRedelegation set a redelegation and associated index.
func (k Keeper) SetRedelegation(ctx sdk.Context, red types.Redelegation) {
delegatorAddress, err := k.authKeeper.StringToBytes(red.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(red.DelegatorAddress)
if err != nil {
panic(err)
}
@ -570,7 +570,7 @@ func (k Keeper) IterateRedelegations(ctx sdk.Context, fn func(index int64, red t
// RemoveRedelegation removes a redelegation object and associated index.
func (k Keeper) RemoveRedelegation(ctx sdk.Context, red types.Redelegation) {
delegatorAddress, err := k.authKeeper.StringToBytes(red.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(red.DelegatorAddress)
if err != nil {
panic(err)
}
@ -694,7 +694,7 @@ func (k Keeper) Delegate(
return math.LegacyZeroDec(), err
}
delegatorAddress, err := k.authKeeper.StringToBytes(delegation.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(delegation.DelegatorAddress)
if err != nil {
panic(err)
}
@ -783,7 +783,7 @@ func (k Keeper) Unbond(
// subtract shares from delegation
delegation.Shares = delegation.Shares.Sub(shares)
delegatorAddress, err := k.authKeeper.StringToBytes(delegation.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(delegation.DelegatorAddress)
if err != nil {
return amount, err
}
@ -896,7 +896,7 @@ func (k Keeper) CompleteUnbonding(ctx sdk.Context, delAddr sdk.AccAddress, valAd
balances := sdk.NewCoins()
ctxTime := ctx.BlockHeader().Time
delegatorAddress, err := k.authKeeper.StringToBytes(ubd.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(ubd.DelegatorAddress)
if err != nil {
return nil, err
}

View File

@ -6,6 +6,7 @@ import (
"cosmossdk.io/math"
"github.com/golang/mock/gomock"
"github.com/cosmos/cosmos-sdk/codec/address"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
sdk "github.com/cosmos/cosmos-sdk/types"
stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
@ -27,10 +28,7 @@ func (s *KeeperTestSuite) TestDelegation() {
addrDels, valAddrs := createValAddrs(3)
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
s.accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
// construct the validators
amts := []math.Int{math.NewInt(9), math.NewInt(8), math.NewInt(7)}
@ -151,10 +149,9 @@ func (s *KeeperTestSuite) TestDelegationsByValIndex() {
addrDels, valAddrs := createValAddrs(3)
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
s.bankKeeper.EXPECT().DelegateCoinsFromAccountToModule(gomock.Any(), addr, gomock.Any(), gomock.Any()).Return(nil).AnyTimes()
}
s.accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
// construct the validators
amts := []math.Int{sdk.NewInt(9), sdk.NewInt(8), sdk.NewInt(7)}
@ -228,10 +225,7 @@ func (s *KeeperTestSuite) TestUnbondingDelegation() {
delAddrs, valAddrs := createValAddrs(2)
for _, addr := range delAddrs {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
s.accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
ubd := stakingtypes.NewUnbondingDelegation(
delAddrs[0],
@ -284,11 +278,6 @@ func (s *KeeperTestSuite) TestUnbondingDelegationsFromValidator() {
delAddrs, valAddrs := createValAddrs(2)
for _, addr := range delAddrs {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
ubd := stakingtypes.NewUnbondingDelegation(
delAddrs[0],
valAddrs[0],
@ -346,10 +335,6 @@ func (s *KeeperTestSuite) TestUnbondDelegation() {
delAddrs, valAddrs := createValAddrs(1)
for _, addr := range delAddrs {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
startTokens := keeper.TokensFromConsensusPower(ctx, 10)
validator := testutil.NewValidator(s.T(), valAddrs[0], PKs[0])
@ -385,10 +370,6 @@ func (s *KeeperTestSuite) TestUndelegateSelfDelegationBelowMinSelfDelegation() {
require := s.Require()
addrDels, addrVals := createValAddrs(1)
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
delTokens := keeper.TokensFromConsensusPower(ctx, 10)
// create a validator with a self-delegation
@ -438,10 +419,6 @@ func (s *KeeperTestSuite) TestUndelegateFromUnbondingValidator() {
delTokens := keeper.TokensFromConsensusPower(ctx, 10)
addrDels, addrVals := createValAddrs(2)
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
// create a validator with a self-delegation
validator := testutil.NewValidator(s.T(), addrVals[0], PKs[0])
@ -517,10 +494,6 @@ func (s *KeeperTestSuite) TestUndelegateFromUnbondedValidator() {
delTokens := keeper.TokensFromConsensusPower(ctx, 10)
addrDels, addrVals := createValAddrs(2)
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
// create a validator with a self-delegation
validator := testutil.NewValidator(s.T(), addrVals[0], PKs[0])
@ -597,10 +570,6 @@ func (s *KeeperTestSuite) TestUnbondingAllDelegationFromValidator() {
delTokens := keeper.TokensFromConsensusPower(ctx, 10)
addrDels, addrVals := createValAddrs(2)
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
// create a validator with a self-delegation
validator := testutil.NewValidator(s.T(), addrVals[0], PKs[0])
@ -668,11 +637,6 @@ func (s *KeeperTestSuite) TestGetRedelegationsFromSrcValidator() {
addrDels, addrVals := createValAddrs(2)
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
rd := stakingtypes.NewRedelegation(addrDels[0], addrVals[0], addrVals[1], 0,
time.Unix(0, 0), math.NewInt(5),
math.LegacyNewDec(5), 0)
@ -699,10 +663,6 @@ func (s *KeeperTestSuite) TestRedelegation() {
require := s.Require()
addrDels, addrVals := createValAddrs(2)
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
rd := stakingtypes.NewRedelegation(addrDels[0], addrVals[0], addrVals[1], 0,
time.Unix(0, 0).UTC(), math.NewInt(5),
@ -779,9 +739,6 @@ func (s *KeeperTestSuite) TestRedelegateToSameValidator() {
val0AccAddr := sdk.AccAddress(addrVals[0].Bytes())
s.accountKeeper.EXPECT().StringToBytes(val0AccAddr.String()).Return(val0AccAddr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(val0AccAddr).Return(val0AccAddr.String(), nil).AnyTimes()
selfDelegation := stakingtypes.NewDelegation(val0AccAddr, addrVals[0], issuedShares)
keeper.SetDelegation(ctx, selfDelegation)
@ -804,8 +761,6 @@ func (s *KeeperTestSuite) TestRedelegationMaxEntries() {
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.NotBondedPoolName, stakingtypes.BondedPoolName, gomock.Any())
_ = stakingkeeper.TestingUpdateValidator(keeper, ctx, validator, true)
val0AccAddr := sdk.AccAddress(addrVals[0].Bytes())
s.accountKeeper.EXPECT().StringToBytes(val0AccAddr.String()).Return(val0AccAddr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(val0AccAddr).Return(val0AccAddr.String(), nil).AnyTimes()
selfDelegation := stakingtypes.NewDelegation(val0AccAddr, addrVals[0], issuedShares)
keeper.SetDelegation(ctx, selfDelegation)
@ -847,15 +802,6 @@ func (s *KeeperTestSuite) TestRedelegateSelfDelegation() {
require := s.Require()
addrDels, addrVals := createValAddrs(2)
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
// create a validator with a self-delegation
validator := testutil.NewValidator(s.T(), addrVals[0], PKs[0])
@ -907,10 +853,6 @@ func (s *KeeperTestSuite) TestRedelegateFromUnbondingValidator() {
require := s.Require()
addrDels, addrVals := createValAddrs(2)
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
// create a validator with a self-delegation
validator := testutil.NewValidator(s.T(), addrVals[0], PKs[0])
@ -991,15 +933,6 @@ func (s *KeeperTestSuite) TestRedelegateFromUnbondedValidator() {
require := s.Require()
addrDels, addrVals := createValAddrs(2)
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
for _, addr := range addrDels {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
// create a validator with a self-delegation
validator := testutil.NewValidator(s.T(), addrVals[0], PKs[0])
@ -1068,10 +1001,6 @@ func (s *KeeperTestSuite) TestUnbondingDelegationAddEntry() {
require := s.Require()
delAddrs, valAddrs := createValAddrs(1)
for _, addr := range delAddrs {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
delAddr := delAddrs[0]
valAddr := valAddrs[0]
@ -1113,10 +1042,6 @@ func (s *KeeperTestSuite) TestSetUnbondingDelegationEntry() {
require := s.Require()
delAddrs, valAddrs := createValAddrs(1)
for _, addr := range delAddrs {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
delAddr := delAddrs[0]
valAddr := valAddrs[0]

View File

@ -64,7 +64,7 @@ func (k Keeper) InitGenesis(ctx sdk.Context, data *types.GenesisState) (res []ab
}
for _, delegation := range data.Delegations {
delegatorAddress, err := k.authKeeper.StringToBytes(delegation.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(delegation.DelegatorAddress)
if err != nil {
panic(fmt.Errorf("invalid delegator address: %s", err))
}

View File

@ -222,7 +222,7 @@ func (k Querier) Delegation(c context.Context, req *types.QueryDelegationRequest
}
ctx := sdk.UnwrapSDKContext(c)
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
delAddr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddr)
if err != nil {
return nil, err
}
@ -263,7 +263,7 @@ func (k Querier) UnbondingDelegation(c context.Context, req *types.QueryUnbondin
ctx := sdk.UnwrapSDKContext(c)
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
delAddr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddr)
if err != nil {
return nil, err
}
@ -296,7 +296,7 @@ func (k Querier) DelegatorDelegations(c context.Context, req *types.QueryDelegat
var delegations types.Delegations
ctx := sdk.UnwrapSDKContext(c)
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
delAddr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddr)
if err != nil {
return nil, err
}
@ -337,7 +337,7 @@ func (k Querier) DelegatorValidator(c context.Context, req *types.QueryDelegator
}
ctx := sdk.UnwrapSDKContext(c)
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
delAddr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddr)
if err != nil {
return nil, err
}
@ -368,7 +368,7 @@ func (k Querier) DelegatorUnbondingDelegations(c context.Context, req *types.Que
ctx := sdk.UnwrapSDKContext(c)
store := ctx.KVStore(k.storeKey)
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
delAddr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddr)
if err != nil {
return nil, err
}
@ -453,7 +453,7 @@ func (k Querier) DelegatorValidators(c context.Context, req *types.QueryDelegato
ctx := sdk.UnwrapSDKContext(c)
store := ctx.KVStore(k.storeKey)
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
delAddr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddr)
if err != nil {
return nil, err
}
@ -504,7 +504,7 @@ func (k Querier) Params(c context.Context, _ *types.QueryParamsRequest) (*types.
}
func queryRedelegation(ctx sdk.Context, k Querier, req *types.QueryRedelegationsRequest) (redels types.Redelegations, err error) {
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
delAddr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddr)
if err != nil {
return nil, err
}
@ -554,7 +554,7 @@ func queryRedelegationsFromSrcValidator(store storetypes.KVStore, k Querier, req
}
func queryAllRedelegations(store storetypes.KVStore, k Querier, req *types.QueryRedelegationsRequest) (redels types.Redelegations, res *query.PageResponse, err error) {
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
delAddr, err := k.authKeeper.AddressCodec().StringToBytes(req.DelegatorAddr)
if err != nil {
return nil, nil, err
}
@ -580,7 +580,7 @@ func DelegationToDelegationResponse(ctx sdk.Context, k *Keeper, del types.Delega
return types.DelegationResponse{}, types.ErrNoValidatorFound
}
delegatorAddress, err := k.authKeeper.StringToBytes(del.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(del.DelegatorAddress)
if err != nil {
return types.DelegationResponse{}, err
}
@ -621,7 +621,7 @@ func RedelegationsToRedelegationResponses(ctx sdk.Context, k *Keeper, redels typ
panic(err)
}
delegatorAddress, err := k.authKeeper.StringToBytes(redel.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(redel.DelegatorAddress)
if err != nil {
return nil, err
}

View File

@ -47,7 +47,7 @@ func NewKeeper(
}
// ensure that authority is a valid AccAddress
if _, err := ak.StringToBytes(authority); err != nil {
if _, err := ak.AddressCodec().StringToBytes(authority); err != nil {
panic("authority is not a valid acc address")
}

View File

@ -1,7 +1,6 @@
package keeper_test
import (
"errors"
"testing"
"cosmossdk.io/math"
@ -13,6 +12,7 @@ import (
storetypes "cosmossdk.io/store/types"
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/codec/address"
"github.com/cosmos/cosmos-sdk/testutil"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
sdk "github.com/cosmos/cosmos-sdk/types"
@ -51,10 +51,7 @@ func (s *KeeperTestSuite) SetupTest() {
accountKeeper := stakingtestutil.NewMockAccountKeeper(ctrl)
accountKeeper.EXPECT().GetModuleAddress(stakingtypes.BondedPoolName).Return(bondedAcc.GetAddress())
accountKeeper.EXPECT().GetModuleAddress(stakingtypes.NotBondedPoolName).Return(notBondedAcc.GetAddress())
accountKeeper.EXPECT().StringToBytes(authtypes.NewModuleAddress(govtypes.ModuleName).String()).Return(authtypes.NewModuleAddress(govtypes.ModuleName), nil).AnyTimes()
accountKeeper.EXPECT().BytesToString(authtypes.NewModuleAddress(govtypes.ModuleName)).Return(authtypes.NewModuleAddress(govtypes.ModuleName).String(), nil).AnyTimes()
accountKeeper.EXPECT().StringToBytes("").Return(nil, errors.New("empty address string is not allowed")).AnyTimes()
accountKeeper.EXPECT().StringToBytes("invalid").Return(nil, errors.New("invalid bech32 string")).AnyTimes()
accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
bankKeeper := stakingtestutil.NewMockBankKeeper(ctrl)

View File

@ -223,7 +223,7 @@ func (k msgServer) Delegate(goCtx context.Context, msg *types.MsgDelegate) (*typ
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid validator address: %s", valErr)
}
delegatorAddress, err := k.authKeeper.StringToBytes(msg.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(msg.DelegatorAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid delegator address: %s", err)
}
@ -290,7 +290,7 @@ func (k msgServer) BeginRedelegate(goCtx context.Context, msg *types.MsgBeginRed
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid destination validator address: %s", err)
}
delegatorAddress, err := k.authKeeper.StringToBytes(msg.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(msg.DelegatorAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid delegator address: %s", err)
}
@ -358,7 +358,7 @@ func (k msgServer) Undelegate(goCtx context.Context, msg *types.MsgUndelegate) (
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid validator address: %s", err)
}
delegatorAddress, err := k.authKeeper.StringToBytes(msg.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(msg.DelegatorAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid delegator address: %s", err)
}
@ -427,7 +427,7 @@ func (k msgServer) CancelUnbondingDelegation(goCtx context.Context, msg *types.M
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid validator address: %s", err)
}
delegatorAddress, err := k.authKeeper.StringToBytes(msg.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(msg.DelegatorAddress)
if err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid delegator address: %s", err)
}

View File

@ -8,6 +8,7 @@ import (
"github.com/golang/mock/gomock"
"github.com/cosmos/cosmos-sdk/codec/address"
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
"github.com/cosmos/cosmos-sdk/crypto/keys/ed25519"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
@ -22,8 +23,7 @@ var (
)
func (s *KeeperTestSuite) execExpectCalls() {
s.accountKeeper.EXPECT().StringToBytes(Addr.String()).Return(Addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(Addr).Return(Addr.String(), nil).AnyTimes()
s.accountKeeper.EXPECT().AddressCodec().Return(address.NewBech32Codec("cosmos")).AnyTimes()
s.bankKeeper.EXPECT().DelegateCoinsFromAccountToModule(gomock.Any(), Addr, stakingtypes.NotBondedPoolName, gomock.Any()).AnyTimes()
}
@ -467,7 +467,7 @@ func (s *KeeperTestSuite) TestMsgDelegate() {
Amount: sdk.Coin{Denom: sdk.DefaultBondDenom, Amount: keeper.TokensFromConsensusPower(s.ctx, int64(100))},
},
expErr: true,
expErrMsg: "invalid delegator address: invalid bech32 string",
expErrMsg: "invalid delegator address: decoding bech32 failed",
},
{
name: "validator does not exist",
@ -556,9 +556,6 @@ func (s *KeeperTestSuite) TestMsgBeginRedelegate() {
res, err := msgServer.CreateValidator(ctx, msg)
require.NoError(err)
require.NotNil(res)
s.accountKeeper.EXPECT().StringToBytes(addr2.String()).Return(addr2, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr2).Return(addr2.String(), nil).AnyTimes()
s.bankKeeper.EXPECT().DelegateCoinsFromAccountToModule(gomock.Any(), addr2, stakingtypes.NotBondedPoolName, gomock.Any()).AnyTimes()
msg, err = stakingtypes.NewMsgCreateValidator(dstValAddr, dstPk, amt, stakingtypes.Description{Moniker: "NewVal"}, comm, math.OneInt())
@ -611,7 +608,7 @@ func (s *KeeperTestSuite) TestMsgBeginRedelegate() {
Amount: sdk.Coin{Denom: sdk.DefaultBondDenom, Amount: keeper.TokensFromConsensusPower(s.ctx, int64(100))},
},
expErr: true,
expErrMsg: "invalid delegator address: invalid bech32 string",
expErrMsg: "invalid delegator address: decoding bech32 failed: invalid bech32 string length 7",
},
{
name: "invalid destination validator",
@ -762,7 +759,7 @@ func (s *KeeperTestSuite) TestMsgUndelegate() {
Amount: sdk.Coin{Denom: sdk.DefaultBondDenom, Amount: shares.RoundInt()},
},
expErr: true,
expErrMsg: "invalid delegator address: invalid bech32 string",
expErrMsg: "invalid delegator address: decoding bech32 failed",
},
{
name: "validator does not exist",
@ -839,9 +836,6 @@ func (s *KeeperTestSuite) TestMsgCancelUnbondingDelegation() {
comm := stakingtypes.NewCommissionRates(math.LegacyNewDec(0), math.LegacyNewDec(0), math.LegacyNewDec(0))
amt := sdk.Coin{Denom: sdk.DefaultBondDenom, Amount: keeper.TokensFromConsensusPower(s.ctx, int64(100))}
s.accountKeeper.EXPECT().StringToBytes(Addr.String()).Return(Addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(Addr).Return(Addr.String(), nil).AnyTimes()
s.bankKeeper.EXPECT().DelegateCoinsFromAccountToModule(gomock.Any(), Addr, stakingtypes.NotBondedPoolName, gomock.Any()).AnyTimes()
msg, err := stakingtypes.NewMsgCreateValidator(ValAddr, pk, amt, stakingtypes.Description{Moniker: "NewVal"}, comm, math.OneInt())
@ -900,7 +894,7 @@ func (s *KeeperTestSuite) TestMsgCancelUnbondingDelegation() {
CreationHeight: 10,
},
expErr: true,
expErrMsg: "invalid delegator address: invalid bech32 string",
expErrMsg: "invalid delegator address: decoding bech32 failed",
},
{
name: "entry not found at height",

View File

@ -271,7 +271,7 @@ func (k Keeper) SlashRedelegation(ctx sdk.Context, srcValidator types.Validator,
panic(err)
}
delegatorAddress, err := k.authKeeper.StringToBytes(redelegation.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(redelegation.DelegatorAddress)
if err != nil {
panic(err)
}

View File

@ -128,7 +128,7 @@ func (k Keeper) GetValidatorByUnbondingID(ctx sdk.Context, id uint64) (val types
// Note, it does not set the unbonding delegation itself, use SetUnbondingDelegation(ctx, ubd) for that
func (k Keeper) SetUnbondingDelegationByUnbondingID(ctx sdk.Context, ubd types.UnbondingDelegation, id uint64) {
store := ctx.KVStore(k.storeKey)
delAddr, err := k.authKeeper.StringToBytes(ubd.DelegatorAddress)
delAddr, err := k.authKeeper.AddressCodec().StringToBytes(ubd.DelegatorAddress)
if err != nil {
panic(err)
}
@ -149,7 +149,7 @@ func (k Keeper) SetUnbondingDelegationByUnbondingID(ctx sdk.Context, ubd types.U
func (k Keeper) SetRedelegationByUnbondingID(ctx sdk.Context, red types.Redelegation, id uint64) {
store := ctx.KVStore(k.storeKey)
delAddr, err := k.authKeeper.StringToBytes(red.DelegatorAddress)
delAddr, err := k.authKeeper.AddressCodec().StringToBytes(red.DelegatorAddress)
if err != nil {
panic(err)
}
@ -266,7 +266,7 @@ func (k Keeper) unbondingDelegationEntryCanComplete(ctx sdk.Context, id uint64)
// Check if entry is matured.
if !ubd.Entries[i].OnHold() && ubd.Entries[i].IsMature(ctx.BlockHeader().Time) {
// If matured, complete it.
delegatorAddress, err := k.authKeeper.StringToBytes(ubd.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(ubd.DelegatorAddress)
if err != nil {
return err
}

View File

@ -56,10 +56,6 @@ func (s *KeeperTestSuite) TestUnbondingTypeAccessors() {
func (s *KeeperTestSuite) TestUnbondingDelegationByUnbondingIDAccessors() {
delAddrs, valAddrs := createValAddrs(2)
for _, addr := range delAddrs {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
type exists struct {
setUnbondingDelegation bool
@ -133,11 +129,6 @@ func (s *KeeperTestSuite) TestUnbondingDelegationByUnbondingIDAccessors() {
func (s *KeeperTestSuite) TestRedelegationByUnbondingIDAccessors() {
delAddrs, valAddrs := createValAddrs(2)
for _, addr := range delAddrs {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
type exists struct {
setRedelegation bool
setRedelegationByUnbondingID bool
@ -266,10 +257,7 @@ func (s *KeeperTestSuite) TestValidatorByUnbondingIDAccessors() {
func (s *KeeperTestSuite) TestUnbondingCanComplete() {
delAddrs, valAddrs := createValAddrs(3)
for _, addr := range delAddrs {
s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes()
s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes()
}
unbondingID := uint64(1)
// no unbondingID set

View File

@ -41,7 +41,7 @@ func (k Keeper) BlockValidatorUpdates(ctx sdk.Context) []abci.ValidatorUpdate {
if err != nil {
panic(err)
}
delegatorAddress, err := k.authKeeper.StringToBytes(dvPair.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(dvPair.DelegatorAddress)
if err != nil {
panic(err)
}
@ -72,7 +72,7 @@ func (k Keeper) BlockValidatorUpdates(ctx sdk.Context) []abci.ValidatorUpdate {
if err != nil {
panic(err)
}
delegatorAddress, err := k.authKeeper.StringToBytes(dvvTriplet.DelegatorAddress)
delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(dvvTriplet.DelegatorAddress)
if err != nil {
panic(err)
}

View File

@ -95,7 +95,7 @@ func (AppModuleBasic) GetTxCmd() *cobra.Command {
// GetQueryCmd returns no root query command for the staking module.
func (ab AppModuleBasic) GetQueryCmd() *cobra.Command {
return cli.GetQueryCmd(ab.ak)
return cli.GetQueryCmd(ab.ak.AddressCodec())
}
// AppModule implements an application module for the staking module.

View File

@ -8,6 +8,7 @@ import (
context "context"
reflect "reflect"
address "cosmossdk.io/core/address"
math "cosmossdk.io/math"
types "github.com/cosmos/cosmos-sdk/types"
types0 "github.com/cosmos/cosmos-sdk/x/staking/types"
@ -88,19 +89,18 @@ func (m *MockAccountKeeper) EXPECT() *MockAccountKeeperMockRecorder {
return m.recorder
}
// BytesToString mocks base method.
func (m *MockAccountKeeper) BytesToString(bz []byte) (string, error) {
// AddressCodec mocks base method.
func (m *MockAccountKeeper) AddressCodec() address.Codec {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "BytesToString", bz)
ret0, _ := ret[0].(string)
ret1, _ := ret[1].(error)
return ret0, ret1
ret := m.ctrl.Call(m, "AddressCodec")
ret0, _ := ret[0].(address.Codec)
return ret0
}
// BytesToString indicates an expected call of BytesToString.
func (mr *MockAccountKeeperMockRecorder) BytesToString(bz interface{}) *gomock.Call {
// AddressCodec indicates an expected call of AddressCodec.
func (mr *MockAccountKeeperMockRecorder) AddressCodec() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BytesToString", reflect.TypeOf((*MockAccountKeeper)(nil).BytesToString), bz)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddressCodec", reflect.TypeOf((*MockAccountKeeper)(nil).AddressCodec))
}
// GetAccount mocks base method.
@ -169,21 +169,6 @@ func (mr *MockAccountKeeperMockRecorder) SetModuleAccount(arg0, arg1 interface{}
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetModuleAccount", reflect.TypeOf((*MockAccountKeeper)(nil).SetModuleAccount), arg0, arg1)
}
// StringToBytes mocks base method.
func (m *MockAccountKeeper) StringToBytes(text string) ([]byte, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StringToBytes", text)
ret0, _ := ret[0].([]byte)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StringToBytes indicates an expected call of StringToBytes.
func (mr *MockAccountKeeperMockRecorder) StringToBytes(text interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StringToBytes", reflect.TypeOf((*MockAccountKeeper)(nil).StringToBytes), text)
}
// MockBankKeeper is a mock of BankKeeper interface.
type MockBankKeeper struct {
ctrl *gomock.Controller

View File

@ -17,7 +17,7 @@ type DistributionKeeper interface {
// AccountKeeper defines the expected account keeper (noalias)
type AccountKeeper interface {
address.Codec
AddressCodec() address.Codec
IterateAccounts(ctx context.Context, process func(sdk.AccountI) (stop bool))
GetAccount(ctx context.Context, addr sdk.AccAddress) sdk.AccountI // only used for simulation