refactor(bech32): remove embedding of addresscodec (#16197)
This commit is contained in:
parent
1f5389e14c
commit
c8ab555174
@ -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),
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 => ../../
|
||||
)
|
||||
|
||||
@ -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=
|
||||
|
||||
@ -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())
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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{}
|
||||
|
||||
|
||||
@ -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))
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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())
|
||||
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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),
|
||||
},
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -29,6 +29,6 @@ func NewKeeper(storeService store.KVStoreService,
|
||||
cdc: cdc,
|
||||
storeService: storeService,
|
||||
bk: bk,
|
||||
ac: ak,
|
||||
ac: ak.AddressCodec(),
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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))
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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")
|
||||
}
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user