-
-
Notifications
You must be signed in to change notification settings - Fork 187
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add and use Accounts API for Account balance calls (#4781)
## Explanation This integrates the Accounts API (Multi-chain Balances Endpoint) to help alleviate expensive RPC calls made by Token Detection. The aim is to attempt to use the Accounts API when making balance calls for expensive functionality (e.g. Token Detection) <details><summary>Code Walkthrough</summary> https://www.loom.com/share/e540cae3967746b0aca343d4c59d0af6?sid=69c2556c-96d3-451e-bd67-7d03f32fff03 </details> ## References #4743 https://consensyssoftware.atlassian.net/browse/NOTIFY-1179 ## Changelog <!-- If you're making any consumer-facing changes, list those changes here as if you were updating a changelog, using the template below as a guide. (CATEGORY is one of BREAKING, ADDED, CHANGED, DEPRECATED, REMOVED, or FIXED. For security-related issues, follow the Security Advisory process.) Please take care to name the exact pieces of the API you've added or changed (e.g. types, interfaces, functions, or methods). If there are any breaking changes, make sure to offer a solution for consumers to follow once they upgrade to the changes. Finally, if you're only making changes to development scripts or tests, you may replace the template below with "None". --> ### `@metamask/assets-controllers` - **ADDED**: MultiChain Accounts Service - **ADDED**: `fetchSupportedNetworks()` function to dynamically fetch supported networks by the Accounts API - **ADDED**: `fetchMultiChainBalances()` function to get balances for a given address - **ADDED**: `useAccountsAPI` to the `TokenDetectionController` constructor to enable/disable the accounts API feature. - **ADDED**: `#addDetectedTokensViaAPI()` private method in `TokenDetectionController` to get detected tokens via the Accounts API. - **CHANGED**: `detectTokens()` method in `TokenDetectionController` to try AccountsAPI first before using RPC flow to detect tokens. ## Checklist - [x] I've updated the test suite for new or updated code as appropriate - [x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [x] I've highlighted breaking changes using the "BREAKING" category above as appropriate - [x] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes
- Loading branch information
1 parent
8fb04fc
commit 1251b86
Showing
8 changed files
with
681 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.