core
core copied to clipboard
Use account API in `TokenDetectionController`
Account API docs: https://docs.cx.metamask.io/docs/multichainAccounts/api-reference/
Use the account API as a means of detecting tokens in TokenDetectionController
. This API uses off chain indexing to determine which tokens the wallet interacted with, and will be more efficient than the current approach of bulk calling balanceOf
on the entire token list.
The account API can only be used on chains that it supports. If the account API does not support the current chain, we fall back to the old mechanism. Also if the request to the API fails, we can fallback to the old mechanism.
In the future, the account API may be used to replace additional functionality like the balance updates in TokenBalancesController
. But we're starting with detection since its the highest perf impact.