Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Integrate new
TokenListController
polling pattern [Core] (#4878)
## Explanation _TokenListController is currently responsible for maintaining a list of all tokens per chain. This dataset is accessible via `tokenList` state variable in metamask state. After this task is complete, this token list will migrate it's polling pattern to leverage the base class, to execute a single poll per chain, rather than on an interval for all chains_ ___ Move `TokenListController` away from being scoped to a single polling loop, to executing individual polling loops per chain, allowing it to be more UI based in its controls. The controller will accept `PollingInputs` from the extension from various UI elements, and will be responsible for starting, stopping, and deduping polls as needed. Deduping is baked into the inherited base class `StaticIntervalPollingController` Here is the corresponding [PR in extension](MetaMask/metamask-extension#28198) that consumes and integrates with this controller. There will also be an additional mobile PR at some point to implement something similar. ## References MetaMask/MetaMask-planning#3429 ## 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/package-a` - **<CATEGORY>**: Your change here - **<CATEGORY>**: Your change here ### `@metamask/package-b` - **<CATEGORY>**: Your change here - **<CATEGORY>**: Your change here ## Checklist - [ ] I've updated the test suite for new or updated code as appropriate - [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [ ] I've highlighted breaking changes using the "BREAKING" category above as appropriate - [ ] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes
- Loading branch information