Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
1 task done
JulianToledano opened this issue Sep 20, 2023 · 7 comments · Fixed by #18242
Closed
1 task done

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

JulianToledano opened this issue Sep 20, 2023 · 7 comments · Fixed by #18242
Assignees
Labels

Comments

@JulianToledano
Copy link
Contributor

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

@facundomedica
Copy link
Member

It looks like the issue is that when you write "TEXTUAL" it defaults to the direct signmode: https://testnet.ping.pub/cosmos/tx/494F74D7F8652614811736548F067C4C63463967A4A2DF64123B4406D1FD625C (see in the json under signer_infos).

The real issue here is that you are setting --node to something else other than localhost but you still get: post failed: Post "http://localhost:26657": dial tcp [::1]:26657: connect: connection refused.

Textual requires connection to a node in order to get denom data. For some reason it's trying to call localhost instead of the passed in node address.

@facundomedica
Copy link
Member

Looks like we are overwriting the passed node URI.
Although after fixing it locally, I get another error because that testnet doesn't have textual implemented. Best way to try out is a localnet for now (make localnet-start). Given that it's localhost you shouldn't have any issues testing until we fix this other thing

@julienrbrt
Copy link
Member

Hey @JulianToledano! Could you re-try on latest release/v0.50.x and using this branch #17996

@JulianToledano
Copy link
Contributor Author

Hey @JulianToledano! Could you re-try on latest release/v0.50.x and using this branch #17996

Same as before, it keeps posting to localhost

@julienrbrt
Copy link
Member

Hey @JulianToledano! Could you re-try on latest release/v0.50.x and using this branch #17996

Same as before, it keeps posting to localhost

Okay, and can you give some info about your OS and configuration? I couldn't reproduce locally.

@JulianToledano
Copy link
Contributor Author

macOS Sonoma version 14.0

GOROOT='~/go/go1.21.0'

I just did a make build from #17996 and tried the same tx bank send

some more info needed?

@julienrbrt
Copy link
Member

Thanks! I have been able to reproduce.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants