Skip to content

Commit

Permalink
feat: remove need for multisig address to be in keybase for tx sign: (#…
Browse files Browse the repository at this point in the history
…286)

* remove need for multisig address to be in keybase for tx sign:

* add to sign command

* Remove print line
  • Loading branch information
sunnya97 committed Jul 13, 2022
1 parent d49b3e7 commit 2c4e05d
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions x/auth/client/cli/tx_sign.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import (

"github.com/spf13/cobra"

sdk "github.com/cosmos/cosmos-sdk/types"

"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/client/flags"
"github.com/cosmos/cosmos-sdk/client/tx"
Expand Down Expand Up @@ -107,10 +109,16 @@ func makeSignBatchCmd() func(cmd *cobra.Command, args []string) error {
return err
}
} else {
multisigAddr, _, _, err := client.GetFromFields(txFactory.Keybase(), ms, clientCtx.GenerateOnly)
multisigAddr, err := sdk.AccAddressFromBech32(ms)

// if passed in string for multisig flag is not an address, check to see if it is a name in the keybase
if err != nil {
return fmt.Errorf("error getting account from keybase: %w", err)
multisigAddr, _, _, err = client.GetFromFields(txFactory.Keybase(), ms, clientCtx.GenerateOnly)
if err != nil {
return fmt.Errorf("error getting account from keybase: %w", err)
}
}

err = authclient.SignTxWithSignerAddress(
txFactory, clientCtx, multisigAddr, clientCtx.GetFromName(), txBuilder, clientCtx.Offline, true)
if err != nil {
Expand Down Expand Up @@ -234,10 +242,17 @@ func makeSignCmd() func(cmd *cobra.Command, args []string) error {

overwrite, _ := f.GetBool(flagOverwrite)
if multisig != "" {
multisigAddr, _, _, err := client.GetFromFields(txFactory.Keybase(), multisig, clientCtx.GenerateOnly)

multisigAddr, err := sdk.AccAddressFromBech32(multisig)

// if passed in string for multisig flag is not an address, check to see if it is a name in the keybase
if err != nil {
return fmt.Errorf("error getting account from keybase: %w", err)
multisigAddr, _, _, err = client.GetFromFields(txFactory.Keybase(), multisig, clientCtx.GenerateOnly)
if err != nil {
return fmt.Errorf("error getting account from keybase: %w", err)
}
}

err = authclient.SignTxWithSignerAddress(
txF, clientCtx, multisigAddr, fromName, txBuilder, clientCtx.Offline, overwrite)
if err != nil {
Expand Down

0 comments on commit 2c4e05d

Please sign in to comment.