Skip to content

TxService REST /cosmos/tx/v1beta1/txs fails to decode some txs after upgrading to cheqd-noded v4.2.1 #964

@Jacky-29

Description

@Jacky-29

Summary

After upgrading to cheqd-noded v4.2.1, the TxService REST endpoint fails to decode certain transactions with:

  • tx parse error: unable to resolve type URL CHEQ

This breaks:

  • GET /cosmos/tx/v1beta1/txs/{hash} for specific txs
  • querying txs by block height via TxService (the query fails if the block contains an unparsable tx)

This used to work before upgrading to v4.2.1 (regression).

Environment

Network: cheqd-mainnet-1

Node info (from the affected REST endpoint):

  • application_version.version: 4.2.1
  • application_version.git_commit: f716291454b23198db6ce6ffd931073d66fb7ca9
  • cosmos_sdk_version: v0.50.14-...
  • default_node_info.version (CometBFT): 0.38.19

Reproduction (public endpoint)

Use this public REST endpoint running v4.2.1:
Base URL: https://api.cheqd.nodestake.org
Pick block height 23337322.

  1. The block contains 2 txs at the Tendermint layer:
    curl -sS "https://api.cheqd.nodestake.org/cosmos/base/tendermint/v1beta1/blocks/23337322" | jq '.block.data.txs | length'# => 2
    The two tx hashes (sha256 of tx bytes) are:
    D3299D9FA650EB5839BFC87E4B0D605ED58462A4F782AA21BF552DF79AF000C4 (fails to decode)
    90AB2B4D13267C1B3EAFA431DCF7809281D934709CC8745C924356C0592879B6 (decodes OK)
  2. Querying the first tx by hash fails:
    curl -sS "https://api.cheqd.nodestake.org/cosmos/tx/v1beta1/txs/D3299D9FA650EB5839BFC87E4B0D605ED58462A4F782AA21BF552DF79AF000C4"
    Response:
    {"code":2,"message":"codespace sdk code 2: tx parse error: unable to resolve type URL CHEQ","details":[]}
  3. Querying the second tx by hash succeeds:
    curl -sS "https://api.cheqd.nodestake.org/cosmos/tx/v1beta1/txs/90AB2B4D13267C1B3EAFA431DCF7809281D934709CC8745C924356C0592879B6"
    It returns a normal tx_response and height is 23337322.
  4. Querying txs by height via TxService fails (because one tx in that block cannot be decoded):
    curl -sS "https://api.cheqd.nodestake.org/cosmos/tx/v1beta1/txs?query=tx.height=23337322&page=1&limit=100"
    Response:
    {"code":13,"message":"unable to resolve type URL CHEQ: tx parse error","details":[]}

Expected behavior

All valid txs in a block should be decodable via TxService REST:
GET /cosmos/tx/v1beta1/txs?... should return tx_responses for the height, not fail entirely

Actual behavior

Some txs fail to decode with unable to resolve type URL CHEQ
Any tx search hitting such txs fails (or returns incomplete results depending on endpoint)

Notes / suspicion

The error indicates an Any type URL resolution problem (type URL shown as CHEQ).
This appears after upgrading to cheqd-noded v4.2.1 (regression), so it may be related to interface / codec registration changes in the app (Tx decoding path).
Please advise how to restore compatibility / ensure all message types are registered so TxService can decode all txs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions