diff --git a/CHANGELOG.md b/CHANGELOG.md index 465be449acb1..ededd10f6baf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,14 @@ #### SDK +* [\#4135](https://github.com/cosmos/cosmos-sdk/pull/4135) Add further clarification +to generate only usage. + +### Bug Fixes + +#### SDK + +* [\#4135](https://github.com/cosmos/cosmos-sdk/pull/4135) Fix `NewResponseFormatBroadcastTxCommit` * [\#4053](https://github.com/cosmos/cosmos-sdk/issues/4053) Add `--inv-check-period` flag to gaiad to set period at which invariants checks will run. diff --git a/client/context/context.go b/client/context/context.go index e9d7e6782c50..ea87533ff4fd 100644 --- a/client/context/context.go +++ b/client/context/context.go @@ -7,6 +7,8 @@ import ( "os" "path/filepath" + "github.com/pkg/errors" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/keys" "github.com/cosmos/cosmos-sdk/codec" @@ -292,7 +294,7 @@ func GetFromFields(from string, genOnly bool) (sdk.AccAddress, string, error) { if genOnly { addr, err := sdk.AccAddressFromBech32(from) if err != nil { - return nil, "", err + return nil, "", errors.Wrap(err, "must provide a valid Bech32 address for generate-only") } return addr, "", nil diff --git a/client/flags.go b/client/flags.go index 77aec7e24e6c..26ff68e82c23 100644 --- a/client/flags.go +++ b/client/flags.go @@ -93,7 +93,7 @@ func PostCommands(cmds ...*cobra.Command) []*cobra.Command { c.Flags().Bool(FlagPrintResponse, true, "return tx response (only works with async = false)") c.Flags().Bool(FlagTrustNode, true, "Trust connected full node (don't verify proofs for responses)") c.Flags().Bool(FlagDryRun, false, "ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it") - c.Flags().Bool(FlagGenerateOnly, false, "build an unsigned transaction and write it to STDOUT") + c.Flags().Bool(FlagGenerateOnly, false, "Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase is not accessible)") c.Flags().BoolP(FlagSkipConfirmation, "y", false, "Skip tx broadcasting prompt confirmation") // --gas can accept integers and "simulate" diff --git a/docs/cosmos-hub/gaiacli.md b/docs/cosmos-hub/gaiacli.md index 5097455516d0..4aa133ec8dee 100644 --- a/docs/cosmos-hub/gaiacli.md +++ b/docs/cosmos-hub/gaiacli.md @@ -242,6 +242,10 @@ gaiacli tx sign \ unsignedSendTx.json > signedSendTx.json ``` +::: tip Note +The `--generate-only` flag prevents `gaiacli` from accessing the local keybase. +::: + You can validate the transaction's signatures by typing the following: ```bash diff --git a/types/result.go b/types/result.go index e83ed56e16d6..7f0590241f65 100644 --- a/types/result.go +++ b/types/result.go @@ -107,6 +107,10 @@ func NewResponseResultTx(res *ctypes.ResultTx, tx Tx, timestamp string) TxRespon // NewResponseFormatBroadcastTxCommit returns a TxResponse given a // ResultBroadcastTxCommit from tendermint. func NewResponseFormatBroadcastTxCommit(res *ctypes.ResultBroadcastTxCommit) TxResponse { + if res == nil { + return TxResponse{} + } + if !res.CheckTx.IsOK() { return newTxResponseCheckTx(res) }