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.
- 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)
- 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":[]}
- 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.
- 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.
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 CHEQThis breaks:
GET /cosmos/tx/v1beta1/txs/{hash}for specific txsThis used to work before upgrading to
v4.2.1(regression).Environment
Network:
cheqd-mainnet-1Node info (from the affected REST endpoint):
application_version.version:4.2.1application_version.git_commit:f716291454b23198db6ce6ffd931073d66fb7ca9cosmos_sdk_version:v0.50.14-...default_node_info.version(CometBFT):0.38.19Reproduction (public endpoint)
Use this public REST endpoint running v4.2.1:
Base URL: https://api.cheqd.nodestake.org
Pick block height 23337322.
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)
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":[]}
curl -sS "https://api.cheqd.nodestake.org/cosmos/tx/v1beta1/txs/90AB2B4D13267C1B3EAFA431DCF7809281D934709CC8745C924356C0592879B6"
It returns a normal tx_response and height is 23337322.
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.