Calling GET /api/v2/getShards?seqno=<valid_masterchain_seqno> consistently
returns HTTP 500 with error "INTERNAL: get last block failed Wrong constructor
found(during last block synchronization)" for any valid, already-finalized
masterchain seqno.
Steps to reproduce:
- curl http://localhost:8081/api/v2/getMasterchainInfo (get current seqno, e.g. 84314454)
- curl "http://localhost:8081/api/v2/getShards?seqno=84314454"
-> 500 error
Tested across multiple seqnos (spanning 450+ blocks), all fail with the same error.
getMasterchainInfo and getConsensusBlock work correctly on the same deployment,
confirming liteserver connectivity is healthy.
The equivalent endpoint on the Python version (toncenter/ton-http-api) using
the same mainnet.json liteserver config, GET /shards?seqno=84314400, returns
correct data — ruling out a liteserver/network issue.
Environment:
- Image: toncenter/ton-http-api-cpp:v2.1.6
- config: default config_vars.yaml, tonlib_config_path pointed to standard mainnet global config
Calling GET /api/v2/getShards?seqno=<valid_masterchain_seqno> consistently
returns HTTP 500 with error "INTERNAL: get last block failed Wrong constructor
found(during last block synchronization)" for any valid, already-finalized
masterchain seqno.
Steps to reproduce:
-> 500 error
Tested across multiple seqnos (spanning 450+ blocks), all fail with the same error.
getMasterchainInfo and getConsensusBlock work correctly on the same deployment,
confirming liteserver connectivity is healthy.
The equivalent endpoint on the Python version (toncenter/ton-http-api) using
the same mainnet.json liteserver config, GET /shards?seqno=84314400, returns
correct data — ruling out a liteserver/network issue.
Environment: