Skip to content

Commit

Permalink
refactor(staking): remove account address bech32 global (#15598)
Browse files Browse the repository at this point in the history
  • Loading branch information
tac0turtle committed Apr 2, 2023
1 parent 0c905e8 commit 7f0e05e
Show file tree
Hide file tree
Showing 17 changed files with 241 additions and 86 deletions.
15 changes: 8 additions & 7 deletions tests/e2e/staking/suite.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down
66 changes: 29 additions & 37 deletions x/staking/client/cli/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"strconv"
"strings"

"cosmossdk.io/core/address"
"github.com/spf13/cobra"

"github.com/cosmos/cosmos-sdk/client"
Expand All @@ -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",
Expand All @@ -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(),
Expand Down Expand Up @@ -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)
Expand All @@ -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
}
Expand All @@ -277,7 +269,7 @@ $ %s query staking delegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p %s1gghju
}

params := &types.QueryDelegationRequest{
DelegatorAddr: delAddr.String(),
DelegatorAddr: args[0],
ValidatorAddr: valAddr.String(),
}

Expand All @@ -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{
Expand All @@ -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
}
Expand All @@ -331,7 +323,7 @@ $ %s query staking delegations %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p
}

params := &types.QueryDelegatorDelegationsRequest{
DelegatorAddr: delAddr.String(),
DelegatorAddr: args[0],
Pagination: pageReq,
}

Expand Down Expand Up @@ -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()

Expand Down Expand Up @@ -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(),
}

Expand All @@ -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{
Expand All @@ -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
}
Expand All @@ -496,7 +488,7 @@ $ %s query staking unbonding-delegations %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru
}

params := &types.QueryDelegatorUnbondingDelegationsRequest{
DelegatorAddr: delegatorAddr.String(),
DelegatorAddr: args[0],
Pagination: pageReq,
}

Expand All @@ -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()

Expand All @@ -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
}
Expand All @@ -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(),
}
Expand All @@ -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{
Expand All @@ -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
}
Expand All @@ -612,7 +604,7 @@ $ %s query staking redelegation %s1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p
}

params := &types.QueryRedelegationsRequest{
DelegatorAddr: delAddr.String(),
DelegatorAddr: args[0],
Pagination: pageReq,
}

Expand Down
15 changes: 8 additions & 7 deletions x/staking/client/cli/query_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down
Loading

0 comments on commit 7f0e05e

Please sign in to comment.