Merge PR #3734: Gentx workflow for offline keys

This commit is contained in:
Sunny Aggarwal 2019-02-27 10:31:11 -08:00 committed by Jack Zampolin
parent e2baa3806a
commit e78a6da2bf
2 changed files with 14 additions and 0 deletions

View File

@ -55,6 +55,7 @@ decoded automatically.
* [\#3670] CLI support for showing bech32 addresses in Ledger devices * [\#3670] CLI support for showing bech32 addresses in Ledger devices
* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` * [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name`
CLI flag. CLI flag.
* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for `gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed.
### Gaia ### Gaia

View File

@ -24,6 +24,7 @@ import (
"github.com/cosmos/cosmos-sdk/client/utils" "github.com/cosmos/cosmos-sdk/client/utils"
"github.com/cosmos/cosmos-sdk/cmd/gaia/app" "github.com/cosmos/cosmos-sdk/cmd/gaia/app"
"github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec"
kbkeys "github.com/cosmos/cosmos-sdk/crypto/keys"
"github.com/cosmos/cosmos-sdk/server" "github.com/cosmos/cosmos-sdk/server"
sdk "github.com/cosmos/cosmos-sdk/types" sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/auth" "github.com/cosmos/cosmos-sdk/x/auth"
@ -129,9 +130,20 @@ following delegation and commission default parameters:
return err return err
} }
info, err := txBldr.Keybase().Get(name)
if err != nil {
return err
}
if info.GetType() == kbkeys.TypeOffline {
fmt.Println("Offline key passed in. Use `gaiacli tx sign` command to sign:")
return utils.PrintUnsignedStdTx(txBldr, cliCtx, []sdk.Msg{msg}, true)
}
// write the unsigned transaction to the buffer // write the unsigned transaction to the buffer
w := bytes.NewBuffer([]byte{}) w := bytes.NewBuffer([]byte{})
cliCtx = cliCtx.WithOutput(w) cliCtx = cliCtx.WithOutput(w)
if err = utils.PrintUnsignedStdTx(txBldr, cliCtx, []sdk.Msg{msg}, true); err != nil { if err = utils.PrintUnsignedStdTx(txBldr, cliCtx, []sdk.Msg{msg}, true); err != nil {
return err return err
} }
@ -163,6 +175,7 @@ following delegation and commission default parameters:
fmt.Fprintf(os.Stderr, "Genesis transaction written to %q\n", outputDocument) fmt.Fprintf(os.Stderr, "Genesis transaction written to %q\n", outputDocument)
return nil return nil
}, },
} }