Ledger and Index canister compatibility

Hi guys, I need to understand why, when creating an index canister with hash 79075dbdd331a7911b93006be9e174aa9725108c4c79b58d7fbed8ed69d51f65, I’m only able to retrieve transactions for certain tokens.

For example, I can get the transactions for a token using this WASM: b60487873e58beda2fe7a02cfdf3c741bc48a30d3485aeec8a69a991d7807d4b, but I’m unable to retrieve transactions for this other WASM (bob ledger): 25071c2c55ad4571293e00d8e277f442aec7aed88109743ac52df3125209ff45.

Is there a list of compatible WASMs for each index canister WASM?

Thank You!

For project-specific canisters, it’s often best to reach out to the developers or the support community to get the officially supported list of WASMs for a particular index canister.

Hi @ckPaul,
Currently, I cannot explain why this wouldn’t work. The index canister you are using, with module hash 79075dbdd331a7911b93006be9e174aa9725108c4c79b58d7fbed8ed69d51f65, corresponds to the gunzipped version of the ic-icrc1-index-ng.wasm.gz canister from commit a62848817cec7ae50618a87a526c85d020283fd9 from November 7, 2024.

The ledger corresponding to module hash b60487873e58beda2fe7a02cfdf3c741bc48a30d3485aeec8a69a991d7807d4b corresponds to ic-icrc1-ledger.wasm.gz from commit f58b13bc425784cd399070028ff8b3f3dca8c869 from March 2024.

The WASM running on the bob ledger, 25071c2c55ad4571293e00d8e277f442aec7aed88109743ac52df3125209ff45, is ic-icrc1-ledger.wasm.gz from commit 2190613d3b5bcd9b74c382b22d151580b8ac271a, from November 28, 2024.

If anything, I would have expected that the index from November 7, 2024, would be compatible with the ledger from November 28, 2024.

In general, I would recommend running an index from the same revision/release as the ledger whose blocks and transactions it is indexing. Keeping the two in sync should be relatively simple if you’re the controller of both, but anyone can spin up an index canister and point it at any ledger, in which case keeping the two in sync wrt. versions gets more complicated. We typically test index-ledger compatibility for adjacent release versions, but not for other canister version pairs.

Regarding the issues in this specific case, does the https://<index_canister_id>.raw.icp0.io/logs endpoint offer any further hints about what the problem may be?