SNS index canister API

Does anyone know why the index canisters for all SNS tokens have the function get_account_transactions as an update call, not a query call?

The index canisters for ckBTC and ckETH have the function as a query. Why not the index canisters for SNS tokens?

Examples:

vs

Fun fact: I’ve been looking for the same answer last two days within the foundation :wink:.

Long story short: ckBTC and ckETH are using the new source code known as index-ng while all Snses are still using index.

index-ng is, I understand a fork of the source code of index which was improved. One of the difference is index-ng implementing getTransactions as a query while index implements it as an update.

According the last feedback I’ve got, I was answered there were some issues in the ugprade process that’s why the Snses index canister are not up-to-date. I asked for an ETA about potential upgrade but, given holiday season, did not got the answer yet.

Ok. That sounds like I can assume that at some point the SNS index canisters will get upgraded and shift to a query call as well.

2 Likes

What impact will that have for users? Will it improve performance?

Not sure what you mean with users. We are discussing canister implementation and not a dapp level implementation. getTransactions will become a query instead of an update therefore faster if queried as such (see table https://internetcomputer.org/docs/current/tutorials/developer-journey/level-1/1.3-first-dapp/#query-calls-vs-update-calls) and it will also provide additional information such as the account balance in addition to the transactions.

If a wallet frontend fetches transaction history then with a query call it will be a little bit faster, so it’s a better user experience. It is also easier to code the frontend if all index canisters have the same interface.