From 923af3611a415c51af172cb0467304f4dbdaa137 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 20 Jul 2023 19:59:22 +0200 Subject: [PATCH] chore(types): audit (backport #17075) (#17083) Co-authored-by: Julien Robert --- types/dec_coin.go | 2 +- types/handler.go | 2 ++ types/module/genesis.go | 1 - types/tx/types.go | 13 +++++++++---- x/auth/tx/builder.go | 6 +----- x/auth/tx/builder_test.go | 2 +- x/bank/simulation/operations.go | 12 ++++++++++-- x/group/migrations/v2/migrate.go | 7 ++++++- 8 files changed, 30 insertions(+), 15 deletions(-) delete mode 100644 types/module/genesis.go diff --git a/types/dec_coin.go b/types/dec_coin.go index 38ef4a7682..74580b8d8f 100644 --- a/types/dec_coin.go +++ b/types/dec_coin.go @@ -491,7 +491,7 @@ func (coins DecCoins) Equal(coinsB DecCoins) bool { coinsB = coinsB.Sort() for i := 0; i < len(coins); i++ { - if !coins[i].IsEqual(coinsB[i]) { + if !coins[i].Equal(coinsB[i]) { return false } } diff --git a/types/handler.go b/types/handler.go index 7b57dd52f5..32750c81c1 100644 --- a/types/handler.go +++ b/types/handler.go @@ -100,6 +100,8 @@ func ChainPostDecorators(chain ...PostDecorator) PostHandler { // \ '\ / \ | | _/ / // \ \ \ | | / / // snd \ \ \ / +// +// Deprecated: Terminator is retired (ref https://github.com/cosmos/cosmos-sdk/pull/16076). type Terminator struct{} // AnteHandle returns the provided Context and nil error diff --git a/types/module/genesis.go b/types/module/genesis.go deleted file mode 100644 index b0b78bfd7a..0000000000 --- a/types/module/genesis.go +++ /dev/null @@ -1 +0,0 @@ -package module diff --git a/types/tx/types.go b/types/tx/types.go index d0f97c7c04..9e2c5c3066 100644 --- a/types/tx/types.go +++ b/types/tx/types.go @@ -162,10 +162,15 @@ func (t *Tx) FeePayer(cdc codec.Codec) []byte { return signers[0] } -func (t *Tx) FeeGranter() sdk.AccAddress { - feePayer := t.AuthInfo.Fee.Granter - if feePayer != "" { - return sdk.MustAccAddressFromBech32(feePayer) +func (t *Tx) FeeGranter(cdc codec.Codec) []byte { + feeGranter := t.AuthInfo.Fee.Granter + if feeGranter != "" { + feeGranterAddr, err := cdc.InterfaceRegistry().SigningContext().AddressCodec().StringToBytes(feeGranter) + if err != nil { + panic(err) + } + + return feeGranterAddr } return nil } diff --git a/x/auth/tx/builder.go b/x/auth/tx/builder.go index d5c9af1b48..7f3a398e02 100644 --- a/x/auth/tx/builder.go +++ b/x/auth/tx/builder.go @@ -211,11 +211,7 @@ func (w *wrapper) FeePayer() []byte { } func (w *wrapper) FeeGranter() []byte { - feeGranter := w.tx.AuthInfo.Fee.Granter - if feeGranter != "" { - return sdk.MustAccAddressFromBech32(feeGranter) - } - return nil + return w.tx.FeeGranter(w.cdc) } func (w *wrapper) GetTip() *tx.Tip { diff --git a/x/auth/tx/builder_test.go b/x/auth/tx/builder_test.go index 31583bc8ad..3ea3ae0c3b 100644 --- a/x/auth/tx/builder_test.go +++ b/x/auth/tx/builder_test.go @@ -307,7 +307,7 @@ func TestBuilderFeeGranter(t *testing.T) { feeAmount := testdata.NewTestFeeAmount() msgs := []sdk.Msg{msg1} - txBuilder := newBuilder(nil) + txBuilder := newBuilder(testutil.CodecOptions{}.NewCodec()) err := txBuilder.SetMsgs(msgs...) require.NoError(t, err) txBuilder.SetGasLimit(200000) diff --git a/x/bank/simulation/operations.go b/x/bank/simulation/operations.go index 33faddd5e8..76dd67f213 100644 --- a/x/bank/simulation/operations.go +++ b/x/bank/simulation/operations.go @@ -347,7 +347,11 @@ func sendMsgMultiSend( accountNumbers := make([]uint64, len(msg.Inputs)) sequenceNumbers := make([]uint64, len(msg.Inputs)) for i := 0; i < len(msg.Inputs); i++ { - addr := sdk.MustAccAddressFromBech32(msg.Inputs[i].Address) + addr, err := ak.AddressCodec().StringToBytes(msg.Inputs[i].Address) + if err != nil { + panic(err) + } + acc := ak.GetAccount(ctx, addr) accountNumbers[i] = acc.GetAccountNumber() sequenceNumbers[i] = acc.GetSequence() @@ -356,7 +360,11 @@ func sendMsgMultiSend( fees sdk.Coins err error ) - addr := sdk.MustAccAddressFromBech32(msg.Inputs[0].Address) + + addr, err := ak.AddressCodec().StringToBytes(msg.Inputs[0].Address) + if err != nil { + panic(err) + } // feePayer is the first signer, i.e. first input address feePayer := ak.GetAccount(ctx, addr) spendable := bk.SpendableCoins(ctx, feePayer.GetAddress()) diff --git a/x/group/migrations/v2/migrate.go b/x/group/migrations/v2/migrate.go index a1fc4fcc1e..550ae51802 100644 --- a/x/group/migrations/v2/migrate.go +++ b/x/group/migrations/v2/migrate.go @@ -48,8 +48,13 @@ func Migrate( } for _, policy := range groupPolicies { + addr, err := accountKeeper.AddressCodec().StringToBytes(policy.Address) + if err != nil { + return fmt.Errorf("failed to convert group policy account address: %w", err) + } + // get the account address by acc id - oldAcc := accountKeeper.GetAccount(ctx, sdk.MustAccAddressFromBech32(policy.Address)) + oldAcc := accountKeeper.GetAccount(ctx, addr) // remove the old account accountKeeper.RemoveAccount(ctx, oldAcc)