Skip to content

[Bug]: Sign mode textual error if not upper case  #17822

@JulianToledano

Description

@JulianToledano

Is there an existing issue for this?

  • I have searched the existing issues

What happened?

When trying to send a tx with textual mode it will fail if you don't write it in upper case.

For example

simd tx bank send myAccount cosmos15aptdqmm7ddgtcrjvc5hs988rlrkze40l4q0he 10000uatom --fees 2000uatom --account-number 727172 --chain-id theta-testnet-001  --node https://rpc-t.cosmos.nodestake.top:443 --sign-mode textual
auth_info:
  fee:
    amount:
    - amount: "2000"
      denom: uatom
    gas_limit: "200000"
    granter: ""
    payer: ""
  signer_infos: []
  tip: null
body:
  extension_options: []
  memo: ""
  messages:
  - '@type': /cosmos.bank.v1beta1.MsgSend
    amount:
    - amount: "10000"
      denom: uatom
    from_address: cosmos1rd4z6l8p3v55m7rjmyes5ehuj7elcyr2h4q8sp
    to_address: cosmos15aptdqmm7ddgtcrjvc5hs988rlrkze40l4q0he
  non_critical_extension_options: []
  timeout_height: "0"
signatures: []
confirm transaction before signing and broadcasting [y/N]: y
Usage:
  simd tx bank send [from_key_or_address] [to_address] [amount] [flags]

Flags:
  -a, --account-number uint      The account number of the signing account (offline mode only)
      --aux                      Generate aux signer data instead of sending a tx
  -b, --broadcast-mode string    Transaction broadcasting mode (sync|async) (default "sync")
      --chain-id string          The network chain ID
      --dry-run                  ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible)
      --fee-granter string       Fee granter grants fees for the transaction
      --fee-payer string         Fee payer pays fees for the transaction instead of deducting from the signer
      --fees string              Fees to pay along with transaction; eg: 10uatom
      --from string              Name or address of private key with which to sign
      --gas string               gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000)
      --gas-adjustment float     adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored  (default 1)
      --gas-prices string        Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom)
      --generate-only            Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name)
  -h, --help                     help for send
      --keyring-backend string   Select keyring's backend (os|file|kwallet|pass|test|memory) (default "os")
      --keyring-dir string       The client Keyring directory; if omitted, the default 'home' directory will be used
      --ledger                   Use a connected Ledger device
      --node string              <host>:<port> to CometBFT rpc interface for this chain (default "tcp://localhost:26657")
      --note string              Note to add a description to the transaction (previously --memo)
      --offline                  Offline mode (does not allow any online functionality)
  -o, --output string            Output format (text|json) (default "json")
  -s, --sequence uint            The sequence number of the signing account (offline mode only)
      --sign-mode string         Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature
      --timeout-height uint      Set a block timeout height to prevent the tx from being committed past a certain height
      --tip string               Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator
  -y, --yes                      Skip tx broadcasting prompt confirmation

Global Flags:
      --home string         directory for config and data (default "/Users/juliantoledanodiaz/.simapp")
      --log_format string   The logging format (json|plain) (default "plain")
      --log_level string    The logging level (trace|debug|info|warn|error|fatal|panic) (default "info")
      --trace               print out full stack trace on errors

post failed: Post "http://localhost:26657": dial tcp [::1]:26657: connect: connection refused

if written in uppercase:

simd tx bank send myAccount cosmos15aptdqmm7ddgtcrjvc5hs988rlrkze40l4q0he 10000uatom --fees 2000uatom --account-number 727172 --chain-id theta-testnet-001  --node https://rpc-t.cosmos.nodestake.top:443 --sign-mode TEXTUAL
auth_info:
  fee:
    amount:
    - amount: "2000"
      denom: uatom
    gas_limit: "200000"
    granter: ""
    payer: ""
  signer_infos: []
  tip: null
body:
  extension_options: []
  memo: ""
  messages:
  - '@type': /cosmos.bank.v1beta1.MsgSend
    amount:
    - amount: "10000"
      denom: uatom
    from_address: cosmos1rd4z6l8p3v55m7rjmyes5ehuj7elcyr2h4q8sp
    to_address: cosmos15aptdqmm7ddgtcrjvc5hs988rlrkze40l4q0he
  non_critical_extension_options: []
  timeout_height: "0"
signatures: []
confirm transaction before signing and broadcasting [y/N]: y
code: 0
codespace: ""
data: ""
events: []
gas_used: "0"
gas_wanted: "0"
height: "0"
info: ""
logs: []
raw_log: '[]'
timestamp: ""
tx: null
txhash: 494F74D7F8652614811736548F067C4C63463967A4A2DF64123B4406D1FD625C

Cosmos SDK Version

v0.50.0-rc.0

How to reproduce?

simd tx bank send myAccount cosmos15aptdqmm7ddgtcrjvc5hs988rlrkze40l4q0he 10000uatom --fees 2000uatom --account-number 727172 --chain-id theta-testnet-001 --node https://rpc-t.cosmos.nodestake.top:443 --sign-mode textual

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions