refactor(staking): remove account address bech32 global (#15598)
This commit is contained in:
parent
0c905e8707
commit
7f0e05ebb9
@ -14,6 +14,7 @@ import (
|
||||
"github.com/stretchr/testify/suite"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/client/flags"
|
||||
"github.com/cosmos/cosmos-sdk/codec/address"
|
||||
"github.com/cosmos/cosmos-sdk/crypto/hd"
|
||||
"github.com/cosmos/cosmos-sdk/crypto/keyring"
|
||||
"github.com/cosmos/cosmos-sdk/testutil"
|
||||
@ -403,7 +404,7 @@ func (s *E2ETestSuite) TestGetCmdQueryDelegation() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryDelegation()
|
||||
cmd := cli.GetCmdQueryDelegation(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := val.ClientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -459,7 +460,7 @@ func (s *E2ETestSuite) TestGetCmdQueryDelegations() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryDelegations()
|
||||
cmd := cli.GetCmdQueryDelegations(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := val.ClientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -515,7 +516,7 @@ func (s *E2ETestSuite) TestGetCmdQueryValidatorDelegations() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryDelegations()
|
||||
cmd := cli.GetCmdQueryDelegations(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := val.ClientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -559,7 +560,7 @@ func (s *E2ETestSuite) TestGetCmdQueryUnbondingDelegations() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryUnbondingDelegations()
|
||||
cmd := cli.GetCmdQueryUnbondingDelegations(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := val.ClientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -618,7 +619,7 @@ func (s *E2ETestSuite) TestGetCmdQueryUnbondingDelegation() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryUnbondingDelegation()
|
||||
cmd := cli.GetCmdQueryUnbondingDelegation(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := val.ClientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -716,7 +717,7 @@ func (s *E2ETestSuite) TestGetCmdQueryRedelegations() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryRedelegations()
|
||||
cmd := cli.GetCmdQueryRedelegations(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := val.ClientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -792,7 +793,7 @@ func (s *E2ETestSuite) TestGetCmdQueryRedelegation() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryRedelegation()
|
||||
cmd := cli.GetCmdQueryRedelegation(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := val.ClientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
|
||||
@ -5,6 +5,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"cosmossdk.io/core/address"
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/client"
|
||||
@ -15,7 +16,7 @@ import (
|
||||
)
|
||||
|
||||
// GetQueryCmd returns the cli query commands for this module
|
||||
func GetQueryCmd() *cobra.Command {
|
||||
func GetQueryCmd(ac address.Codec) *cobra.Command {
|
||||
stakingQueryCmd := &cobra.Command{
|
||||
Use: types.ModuleName,
|
||||
Short: "Querying commands for the staking module",
|
||||
@ -25,12 +26,12 @@ func GetQueryCmd() *cobra.Command {
|
||||
}
|
||||
|
||||
stakingQueryCmd.AddCommand(
|
||||
GetCmdQueryDelegation(),
|
||||
GetCmdQueryDelegations(),
|
||||
GetCmdQueryUnbondingDelegation(),
|
||||
GetCmdQueryUnbondingDelegations(),
|
||||
GetCmdQueryRedelegation(),
|
||||
GetCmdQueryRedelegations(),
|
||||
GetCmdQueryDelegation(ac),
|
||||
GetCmdQueryDelegations(ac),
|
||||
GetCmdQueryUnbondingDelegation(ac),
|
||||
GetCmdQueryUnbondingDelegations(ac),
|
||||
GetCmdQueryRedelegation(ac),
|
||||
GetCmdQueryRedelegations(ac),
|
||||
GetCmdQueryValidator(),
|
||||
GetCmdQueryValidators(),
|
||||
GetCmdQueryValidatorDelegations(),
|
||||
@ -242,22 +243,13 @@ $ %s query staking redelegations-from %s1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj
|
||||
}
|
||||
|
||||
// GetCmdQueryDelegation the query delegation command.
|
||||
func GetCmdQueryDelegation() *cobra.Command {
|
||||
bech32PrefixAccAddr := sdk.GetConfig().GetBech32AccountAddrPrefix()
|
||||
bech32PrefixValAddr := sdk.GetConfig().GetBech32ValidatorAddrPrefix()
|
||||
|
||||
func GetCmdQueryDelegation(ac address.Codec) *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "delegation [delegator-addr] [validator-addr]",
|
||||
Short: "Query a delegation based on address and validator address",
|
||||
Long: strings.TrimSpace(
|
||||
fmt.Sprintf(`Query delegations for an individual delegator on an individual validator.
|
||||
|
||||
Example:
|
||||
$ %s query staking delegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p %s1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj
|
||||
`,
|
||||
version.AppName, bech32PrefixAccAddr, bech32PrefixValAddr,
|
||||
),
|
||||
),
|
||||
Example: fmt.Sprintf(`%s query staking delegation [delegator-address] [validator-address]`,
|
||||
version.AppName),
|
||||
Long: "Query delegations for an individual delegator on an individual validator",
|
||||
Args: cobra.ExactArgs(2),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
clientCtx, err := client.GetClientQueryContext(cmd)
|
||||
@ -266,7 +258,7 @@ $ %s query staking delegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p %s1gghju
|
||||
}
|
||||
queryClient := types.NewQueryClient(clientCtx)
|
||||
|
||||
delAddr, err := sdk.AccAddressFromBech32(args[0])
|
||||
_, err = ac.StringToBytes(args[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -277,7 +269,7 @@ $ %s query staking delegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p %s1gghju
|
||||
}
|
||||
|
||||
params := &types.QueryDelegationRequest{
|
||||
DelegatorAddr: delAddr.String(),
|
||||
DelegatorAddr: args[0],
|
||||
ValidatorAddr: valAddr.String(),
|
||||
}
|
||||
|
||||
@ -297,7 +289,7 @@ $ %s query staking delegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p %s1gghju
|
||||
|
||||
// GetCmdQueryDelegations implements the command to query all the delegations
|
||||
// made from one delegator.
|
||||
func GetCmdQueryDelegations() *cobra.Command {
|
||||
func GetCmdQueryDelegations(ac address.Codec) *cobra.Command {
|
||||
bech32PrefixAccAddr := sdk.GetConfig().GetBech32AccountAddrPrefix()
|
||||
|
||||
cmd := &cobra.Command{
|
||||
@ -320,7 +312,7 @@ $ %s query staking delegations %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p
|
||||
}
|
||||
queryClient := types.NewQueryClient(clientCtx)
|
||||
|
||||
delAddr, err := sdk.AccAddressFromBech32(args[0])
|
||||
_, err = ac.StringToBytes(args[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -331,7 +323,7 @@ $ %s query staking delegations %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p
|
||||
}
|
||||
|
||||
params := &types.QueryDelegatorDelegationsRequest{
|
||||
DelegatorAddr: delAddr.String(),
|
||||
DelegatorAddr: args[0],
|
||||
Pagination: pageReq,
|
||||
}
|
||||
|
||||
@ -407,7 +399,7 @@ $ %s query staking delegations-to %s1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj
|
||||
|
||||
// GetCmdQueryUnbondingDelegation implements the command to query a single
|
||||
// unbonding-delegation record.
|
||||
func GetCmdQueryUnbondingDelegation() *cobra.Command {
|
||||
func GetCmdQueryUnbondingDelegation(ac address.Codec) *cobra.Command {
|
||||
bech32PrefixAccAddr := sdk.GetConfig().GetBech32AccountAddrPrefix()
|
||||
bech32PrefixValAddr := sdk.GetConfig().GetBech32ValidatorAddrPrefix()
|
||||
|
||||
@ -436,13 +428,13 @@ $ %s query staking unbonding-delegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9
|
||||
return err
|
||||
}
|
||||
|
||||
delAddr, err := sdk.AccAddressFromBech32(args[0])
|
||||
_, err = ac.StringToBytes(args[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
params := &types.QueryUnbondingDelegationRequest{
|
||||
DelegatorAddr: delAddr.String(),
|
||||
DelegatorAddr: args[0],
|
||||
ValidatorAddr: valAddr.String(),
|
||||
}
|
||||
|
||||
@ -462,7 +454,7 @@ $ %s query staking unbonding-delegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9
|
||||
|
||||
// GetCmdQueryUnbondingDelegations implements the command to query all the
|
||||
// unbonding-delegation records for a delegator.
|
||||
func GetCmdQueryUnbondingDelegations() *cobra.Command {
|
||||
func GetCmdQueryUnbondingDelegations(ac address.Codec) *cobra.Command {
|
||||
bech32PrefixAccAddr := sdk.GetConfig().GetBech32AccountAddrPrefix()
|
||||
|
||||
cmd := &cobra.Command{
|
||||
@ -485,7 +477,7 @@ $ %s query staking unbonding-delegations %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru
|
||||
}
|
||||
queryClient := types.NewQueryClient(clientCtx)
|
||||
|
||||
delegatorAddr, err := sdk.AccAddressFromBech32(args[0])
|
||||
_, err = ac.StringToBytes(args[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -496,7 +488,7 @@ $ %s query staking unbonding-delegations %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru
|
||||
}
|
||||
|
||||
params := &types.QueryDelegatorUnbondingDelegationsRequest{
|
||||
DelegatorAddr: delegatorAddr.String(),
|
||||
DelegatorAddr: args[0],
|
||||
Pagination: pageReq,
|
||||
}
|
||||
|
||||
@ -517,7 +509,7 @@ $ %s query staking unbonding-delegations %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru
|
||||
|
||||
// GetCmdQueryRedelegation implements the command to query a single
|
||||
// redelegation record.
|
||||
func GetCmdQueryRedelegation() *cobra.Command {
|
||||
func GetCmdQueryRedelegation(ac address.Codec) *cobra.Command {
|
||||
bech32PrefixAccAddr := sdk.GetConfig().GetBech32AccountAddrPrefix()
|
||||
bech32PrefixValAddr := sdk.GetConfig().GetBech32ValidatorAddrPrefix()
|
||||
|
||||
@ -541,7 +533,7 @@ $ %s query staking redelegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p %s1l2r
|
||||
}
|
||||
queryClient := types.NewQueryClient(clientCtx)
|
||||
|
||||
delAddr, err := sdk.AccAddressFromBech32(args[0])
|
||||
_, err = ac.StringToBytes(args[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -557,7 +549,7 @@ $ %s query staking redelegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p %s1l2r
|
||||
}
|
||||
|
||||
params := &types.QueryRedelegationsRequest{
|
||||
DelegatorAddr: delAddr.String(),
|
||||
DelegatorAddr: args[0],
|
||||
DstValidatorAddr: valDstAddr.String(),
|
||||
SrcValidatorAddr: valSrcAddr.String(),
|
||||
}
|
||||
@ -578,7 +570,7 @@ $ %s query staking redelegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p %s1l2r
|
||||
|
||||
// GetCmdQueryRedelegations implements the command to query all the
|
||||
// redelegation records for a delegator.
|
||||
func GetCmdQueryRedelegations() *cobra.Command {
|
||||
func GetCmdQueryRedelegations(ac address.Codec) *cobra.Command {
|
||||
bech32PrefixAccAddr := sdk.GetConfig().GetBech32AccountAddrPrefix()
|
||||
|
||||
cmd := &cobra.Command{
|
||||
@ -601,7 +593,7 @@ $ %s query staking redelegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p
|
||||
}
|
||||
queryClient := types.NewQueryClient(clientCtx)
|
||||
|
||||
delAddr, err := sdk.AccAddressFromBech32(args[0])
|
||||
_, err = ac.StringToBytes(args[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -612,7 +604,7 @@ $ %s query staking redelegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p
|
||||
}
|
||||
|
||||
params := &types.QueryRedelegationsRequest{
|
||||
DelegatorAddr: delAddr.String(),
|
||||
DelegatorAddr: args[0],
|
||||
Pagination: pageReq,
|
||||
}
|
||||
|
||||
|
||||
@ -7,6 +7,7 @@ import (
|
||||
"github.com/cosmos/gogoproto/proto"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/client/flags"
|
||||
"github.com/cosmos/cosmos-sdk/codec/address"
|
||||
clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/staking/client/cli"
|
||||
@ -124,7 +125,7 @@ func (s *CLITestSuite) TestGetCmdQueryDelegation() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryDelegation()
|
||||
cmd := cli.GetCmdQueryDelegation(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := s.clientCtx
|
||||
|
||||
_, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -169,7 +170,7 @@ func (s *CLITestSuite) TestGetCmdQueryDelegations() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryDelegations()
|
||||
cmd := cli.GetCmdQueryDelegations(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := s.clientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -215,7 +216,7 @@ func (s *CLITestSuite) TestGetCmdQueryValidatorDelegations() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryDelegations()
|
||||
cmd := cli.GetCmdQueryDelegations(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := s.clientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -256,7 +257,7 @@ func (s *CLITestSuite) TestGetCmdQueryUnbondingDelegations() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryUnbondingDelegations()
|
||||
cmd := cli.GetCmdQueryUnbondingDelegations(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := s.clientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -311,7 +312,7 @@ func (s *CLITestSuite) TestGetCmdQueryUnbondingDelegation() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryUnbondingDelegation()
|
||||
cmd := cli.GetCmdQueryUnbondingDelegation(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := s.clientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -398,7 +399,7 @@ func (s *CLITestSuite) TestGetCmdQueryRedelegations() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryRedelegations()
|
||||
cmd := cli.GetCmdQueryRedelegations(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := s.clientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
@ -465,7 +466,7 @@ func (s *CLITestSuite) TestGetCmdQueryRedelegation() {
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdQueryRedelegation()
|
||||
cmd := cli.GetCmdQueryRedelegation(address.NewBech32Codec("cosmos"))
|
||||
clientCtx := s.clientCtx
|
||||
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
|
||||
@ -95,7 +95,10 @@ 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 := sdk.MustAccAddressFromBech32(delegation.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(delegation.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
b := types.MustMarshalDelegation(k.cdc, delegation)
|
||||
@ -104,7 +107,10 @@ 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 := sdk.MustAccAddressFromBech32(delegation.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(delegation.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// TODO: Consider calling hooks outside of the store wrapper functions, it's unobvious.
|
||||
if err := k.Hooks().BeforeDelegationRemoved(ctx, delegatorAddress, delegation.GetValidatorAddr()); err != nil {
|
||||
@ -275,7 +281,10 @@ 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 := sdk.MustAccAddressFromBech32(ubd.DelegatorAddress)
|
||||
delAddr, err := k.authKeeper.StringToBytes(ubd.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
bz := types.MustMarshalUBD(k.cdc, ubd)
|
||||
@ -290,7 +299,10 @@ 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 := sdk.MustAccAddressFromBech32(ubd.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(ubd.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
addr, err := sdk.ValAddressFromBech32(ubd.ValidatorAddress)
|
||||
@ -473,7 +485,10 @@ 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 := sdk.MustAccAddressFromBech32(red.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(red.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
bz := types.MustMarshalRED(k.cdc, red)
|
||||
@ -538,7 +553,10 @@ 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 := sdk.MustAccAddressFromBech32(red.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(red.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
valSrcAddr, err := sdk.ValAddressFromBech32(red.ValidatorSrcAddress)
|
||||
@ -659,7 +677,10 @@ func (k Keeper) Delegate(
|
||||
return math.LegacyZeroDec(), err
|
||||
}
|
||||
|
||||
delegatorAddress := sdk.MustAccAddressFromBech32(delegation.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(delegation.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// if subtractAccount is true then we are
|
||||
// performing a delegation and not a redelegation, thus the source tokens are
|
||||
@ -745,12 +766,12 @@ func (k Keeper) Unbond(
|
||||
// subtract shares from delegation
|
||||
delegation.Shares = delegation.Shares.Sub(shares)
|
||||
|
||||
delegatorAddress, err := sdk.AccAddressFromBech32(delegation.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(delegation.DelegatorAddress)
|
||||
if err != nil {
|
||||
return amount, err
|
||||
}
|
||||
|
||||
isValidatorOperator := delegatorAddress.Equals(validator.GetOperator())
|
||||
isValidatorOperator := bytes.Equal(delegatorAddress, validator.GetOperator())
|
||||
|
||||
// If the delegation is the operator of the validator and undelegating will decrease the validator's
|
||||
// self-delegation below their minimum, we jail the validator.
|
||||
@ -858,7 +879,7 @@ func (k Keeper) CompleteUnbonding(ctx sdk.Context, delAddr sdk.AccAddress, valAd
|
||||
balances := sdk.NewCoins()
|
||||
ctxTime := ctx.BlockHeader().Time
|
||||
|
||||
delegatorAddress, err := sdk.AccAddressFromBech32(ubd.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(ubd.DelegatorAddress)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@ -27,6 +27,11 @@ 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()
|
||||
}
|
||||
|
||||
// construct the validators
|
||||
amts := []math.Int{sdk.NewInt(9), sdk.NewInt(8), sdk.NewInt(7)}
|
||||
var validators [3]stakingtypes.Validator
|
||||
@ -146,6 +151,11 @@ 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()
|
||||
}
|
||||
|
||||
ubd := stakingtypes.NewUnbondingDelegation(
|
||||
delAddrs[0],
|
||||
valAddrs[0],
|
||||
@ -196,6 +206,11 @@ func (s *KeeperTestSuite) TestUnbondDelegation() {
|
||||
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()
|
||||
}
|
||||
startTokens := keeper.TokensFromConsensusPower(ctx, 10)
|
||||
validator := testutil.NewValidator(s.T(), valAddrs[0], PKs[0])
|
||||
|
||||
@ -231,6 +246,10 @@ 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
|
||||
@ -280,6 +299,10 @@ 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])
|
||||
@ -355,6 +378,10 @@ 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])
|
||||
@ -431,6 +458,10 @@ 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])
|
||||
@ -498,6 +529,11 @@ 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), sdk.NewInt(5),
|
||||
math.LegacyNewDec(5), 0)
|
||||
@ -524,6 +560,10 @@ 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(), sdk.NewInt(5),
|
||||
@ -599,6 +639,10 @@ func (s *KeeperTestSuite) TestRedelegateToSameValidator() {
|
||||
require.True(validator.IsBonded())
|
||||
|
||||
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)
|
||||
|
||||
@ -621,6 +665,8 @@ 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)
|
||||
|
||||
@ -662,6 +708,15 @@ 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])
|
||||
@ -713,6 +768,10 @@ 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])
|
||||
@ -793,6 +852,15 @@ 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])
|
||||
|
||||
@ -64,7 +64,10 @@ func (k Keeper) InitGenesis(ctx sdk.Context, data *types.GenesisState) (res []ab
|
||||
}
|
||||
|
||||
for _, delegation := range data.Delegations {
|
||||
delegatorAddress := sdk.MustAccAddressFromBech32(delegation.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(delegation.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("invalid delegator address: %s", err))
|
||||
}
|
||||
|
||||
// Call the before-creation hook if not exported
|
||||
if !data.Exported {
|
||||
|
||||
@ -185,7 +185,7 @@ func (k Querier) Delegation(c context.Context, req *types.QueryDelegationRequest
|
||||
}
|
||||
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
delAddr, err := sdk.AccAddressFromBech32(req.DelegatorAddr)
|
||||
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -226,7 +226,7 @@ func (k Querier) UnbondingDelegation(c context.Context, req *types.QueryUnbondin
|
||||
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
|
||||
delAddr, err := sdk.AccAddressFromBech32(req.DelegatorAddr)
|
||||
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -259,7 +259,7 @@ func (k Querier) DelegatorDelegations(c context.Context, req *types.QueryDelegat
|
||||
var delegations types.Delegations
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
|
||||
delAddr, err := sdk.AccAddressFromBech32(req.DelegatorAddr)
|
||||
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -300,7 +300,7 @@ func (k Querier) DelegatorValidator(c context.Context, req *types.QueryDelegator
|
||||
}
|
||||
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
delAddr, err := sdk.AccAddressFromBech32(req.DelegatorAddr)
|
||||
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -331,7 +331,7 @@ func (k Querier) DelegatorUnbondingDelegations(c context.Context, req *types.Que
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
delAddr, err := sdk.AccAddressFromBech32(req.DelegatorAddr)
|
||||
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -416,7 +416,7 @@ func (k Querier) DelegatorValidators(c context.Context, req *types.QueryDelegato
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
delAddr, err := sdk.AccAddressFromBech32(req.DelegatorAddr)
|
||||
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -467,7 +467,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 := sdk.AccAddressFromBech32(req.DelegatorAddr)
|
||||
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -517,7 +517,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 := sdk.AccAddressFromBech32(req.DelegatorAddr)
|
||||
delAddr, err := k.authKeeper.StringToBytes(req.DelegatorAddr)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
@ -543,7 +543,7 @@ func DelegationToDelegationResponse(ctx sdk.Context, k *Keeper, del types.Delega
|
||||
return types.DelegationResponse{}, types.ErrNoValidatorFound
|
||||
}
|
||||
|
||||
delegatorAddress, err := sdk.AccAddressFromBech32(del.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(del.DelegatorAddress)
|
||||
if err != nil {
|
||||
return types.DelegationResponse{}, err
|
||||
}
|
||||
@ -584,7 +584,10 @@ func RedelegationsToRedelegationResponses(ctx sdk.Context, k *Keeper, redels typ
|
||||
panic(err)
|
||||
}
|
||||
|
||||
delegatorAddress := sdk.MustAccAddressFromBech32(redel.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(redel.DelegatorAddress)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
val, found := k.GetValidator(ctx, valDstAddr)
|
||||
if !found {
|
||||
|
||||
@ -47,7 +47,7 @@ func NewKeeper(
|
||||
}
|
||||
|
||||
// ensure that authority is a valid AccAddress
|
||||
if _, err := sdk.AccAddressFromBech32(authority); err != nil {
|
||||
if _, err := ak.StringToBytes(authority); err != nil {
|
||||
panic("authority is not a valid acc address")
|
||||
}
|
||||
|
||||
|
||||
@ -50,6 +50,8 @@ 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()
|
||||
bankKeeper := stakingtestutil.NewMockBankKeeper(ctrl)
|
||||
|
||||
keeper := stakingkeeper.NewKeeper(
|
||||
|
||||
@ -205,7 +205,7 @@ func (k msgServer) Delegate(goCtx context.Context, msg *types.MsgDelegate) (*typ
|
||||
return nil, types.ErrNoValidatorFound
|
||||
}
|
||||
|
||||
delegatorAddress, err := sdk.AccAddressFromBech32(msg.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(msg.DelegatorAddress)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -253,7 +253,7 @@ func (k msgServer) BeginRedelegate(goCtx context.Context, msg *types.MsgBeginRed
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
delegatorAddress, err := sdk.AccAddressFromBech32(msg.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(msg.DelegatorAddress)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -317,7 +317,7 @@ func (k msgServer) Undelegate(goCtx context.Context, msg *types.MsgUndelegate) (
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
delegatorAddress, err := sdk.AccAddressFromBech32(msg.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(msg.DelegatorAddress)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -378,7 +378,7 @@ func (k msgServer) CancelUnbondingDelegation(goCtx context.Context, msg *types.M
|
||||
return nil, err
|
||||
}
|
||||
|
||||
delegatorAddress, err := sdk.AccAddressFromBech32(msg.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(msg.DelegatorAddress)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@ -271,7 +271,10 @@ func (k Keeper) SlashRedelegation(ctx sdk.Context, srcValidator types.Validator,
|
||||
panic(err)
|
||||
}
|
||||
|
||||
delegatorAddress := sdk.MustAccAddressFromBech32(redelegation.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(redelegation.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
delegation, found := k.GetDelegation(ctx, delegatorAddress, valDstAddr)
|
||||
if !found {
|
||||
|
||||
@ -128,7 +128,10 @@ 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 := sdk.MustAccAddressFromBech32(ubd.DelegatorAddress)
|
||||
delAddr, err := k.authKeeper.StringToBytes(ubd.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
valAddr, err := sdk.ValAddressFromBech32(ubd.ValidatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
@ -146,7 +149,10 @@ 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 := sdk.MustAccAddressFromBech32(red.DelegatorAddress)
|
||||
delAddr, err := k.authKeeper.StringToBytes(red.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
valSrcAddr, err := sdk.ValAddressFromBech32(red.ValidatorSrcAddress)
|
||||
if err != nil {
|
||||
@ -260,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 := sdk.AccAddressFromBech32(ubd.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(ubd.DelegatorAddress)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -56,6 +56,10 @@ 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
|
||||
@ -129,6 +133,11 @@ 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
|
||||
@ -257,6 +266,10 @@ 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,10 @@ func (k Keeper) BlockValidatorUpdates(ctx sdk.Context) []abci.ValidatorUpdate {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
delegatorAddress := sdk.MustAccAddressFromBech32(dvPair.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(dvPair.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
balances, err := k.CompleteUnbonding(ctx, delegatorAddress, addr)
|
||||
if err != nil {
|
||||
@ -69,7 +72,10 @@ func (k Keeper) BlockValidatorUpdates(ctx sdk.Context) []abci.ValidatorUpdate {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
delegatorAddress := sdk.MustAccAddressFromBech32(dvvTriplet.DelegatorAddress)
|
||||
delegatorAddress, err := k.authKeeper.StringToBytes(dvvTriplet.DelegatorAddress)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
balances, err := k.CompleteRedelegation(
|
||||
ctx,
|
||||
|
||||
@ -46,6 +46,7 @@ var (
|
||||
// AppModuleBasic defines the basic application module used by the staking module.
|
||||
type AppModuleBasic struct {
|
||||
cdc codec.Codec
|
||||
ak types.AccountKeeper
|
||||
}
|
||||
|
||||
var _ module.AppModuleBasic = AppModuleBasic{}
|
||||
@ -94,8 +95,8 @@ func (AppModuleBasic) GetTxCmd() *cobra.Command {
|
||||
}
|
||||
|
||||
// GetQueryCmd returns no root query command for the staking module.
|
||||
func (AppModuleBasic) GetQueryCmd() *cobra.Command {
|
||||
return cli.GetQueryCmd()
|
||||
func (ab AppModuleBasic) GetQueryCmd() *cobra.Command {
|
||||
return cli.GetQueryCmd(ab.ak)
|
||||
}
|
||||
|
||||
// AppModule implements an application module for the staking module.
|
||||
@ -119,7 +120,7 @@ func NewAppModule(
|
||||
ls exported.Subspace,
|
||||
) AppModule {
|
||||
return AppModule{
|
||||
AppModuleBasic: AppModuleBasic{cdc: cdc},
|
||||
AppModuleBasic: AppModuleBasic{cdc: cdc, ak: ak},
|
||||
keeper: keeper,
|
||||
accountKeeper: ak,
|
||||
bankKeeper: bk,
|
||||
|
||||
@ -88,6 +88,21 @@ func (m *MockAccountKeeper) EXPECT() *MockAccountKeeperMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// BytesToString mocks base method.
|
||||
func (m *MockAccountKeeper) BytesToString(bz []byte) (string, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "BytesToString", bz)
|
||||
ret0, _ := ret[0].(string)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// BytesToString indicates an expected call of BytesToString.
|
||||
func (mr *MockAccountKeeperMockRecorder) BytesToString(bz interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BytesToString", reflect.TypeOf((*MockAccountKeeper)(nil).BytesToString), bz)
|
||||
}
|
||||
|
||||
// GetAccount mocks base method.
|
||||
func (m *MockAccountKeeper) GetAccount(ctx context.Context, addr types.AccAddress) types.AccountI {
|
||||
m.ctrl.T.Helper()
|
||||
@ -154,6 +169,21 @@ 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
|
||||
|
||||
@ -24,6 +24,11 @@ type AccountKeeper interface {
|
||||
|
||||
// TODO remove with genesis 2-phases refactor https://github.com/cosmos/cosmos-sdk/issues/2862
|
||||
SetModuleAccount(context.Context, sdk.ModuleAccountI)
|
||||
|
||||
// StringToBytes decodes address strings to bytes
|
||||
StringToBytes(text string) ([]byte, error)
|
||||
// BytesToString encodes address bytes to text
|
||||
BytesToString(bz []byte) (string, error)
|
||||
}
|
||||
|
||||
// BankKeeper defines the expected interface needed to retrieve account balances.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user