Skip to content

feat(tron-wallet-snap): route asset reads through Core when migration is on - #145

Draft
ulissesferreira wants to merge 4 commits into
mainfrom
WPN-1497-route-assets-logic-based-on-feature-flag
Draft

feat(tron-wallet-snap): route asset reads through Core when migration is on#145
ulissesferreira wants to merge 4 commits into
mainfrom
WPN-1497-route-assets-logic-based-on-feature-flag

Conversation

@ulissesferreira

@ulissesferreira ulissesferreira commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Pass RemoteFeatureFlagsProvider into AssetsService and resolve the Tron assets migration flag via #shouldReturnAssetsFromCore
  • Route getAccountAssetByID, getAccountAssetsByIDs, getAccountAssets, fetchAssetsAndBalancesForAccount, and saveMany through Core when migration is active
  • When migration is on, fetch returns only snap-owned assets; save publishes them via keyring events without local persistence

Part of WPN-1497. Stack:

  1. refactor(tron-wallet-snap): extract shared asset utils and inject SnapAssetsAdapter #143
  2. feat(tron-wallet-snap): add CoreAssetsAdapter and mapControllerAsset #144
  3. feat(tron-wallet-snap): route asset reads through Core when migration is on #145 (this PR)

Replaces outdated #127 / #141.

Test plan

  • yarn workspace @metamask/tron-wallet-snap run build
  • yarn workspace @metamask/tron-wallet-snap run jest --no-coverage src/services/assets/AssetsService.test.ts
  • With migration flag off: asset reads/writes/fetch behave as Snap-only
  • With migration flag on: fungible reads come from AssetsController; fetch returns only snap-owned assets; saveMany emits only snap-owned assets and does not persist fungibles locally

@ulissesferreira
ulissesferreira requested a review from a team as a code owner August 10, 2026 14:13
@ulissesferreira
ulissesferreira force-pushed the WPN-1497-implement-core-assets-adapter branch from 714b17d to 3550d24 Compare August 10, 2026 14:13
@ulissesferreira
ulissesferreira requested a review from a team as a code owner August 10, 2026 14:13
@ulissesferreira
ulissesferreira force-pushed the WPN-1497-route-assets-logic-based-on-feature-flag branch from ba86a26 to 25080b8 Compare August 10, 2026 14:14
@ulissesferreira
ulissesferreira force-pushed the WPN-1497-implement-core-assets-adapter branch from 3550d24 to a42b752 Compare August 10, 2026 15:07
@ulissesferreira
ulissesferreira force-pushed the WPN-1497-route-assets-logic-based-on-feature-flag branch from 46681f7 to e73dd2e Compare August 10, 2026 15:35
@ulissesferreira
ulissesferreira force-pushed the WPN-1497-implement-core-assets-adapter branch 4 times, most recently from 69e150f to cc94a88 Compare August 14, 2026 12:49
@ulissesferreira
ulissesferreira marked this pull request as draft August 14, 2026 13:29
Base automatically changed from WPN-1497-implement-core-assets-adapter to main August 14, 2026 13:50
… is on

Add feature-flag resolution and route fungible reads / snap-owned saveMany
through CoreAssetsAdapter when the Tron assets migration flag is active.
…ation is on

When the Tron assets migration flag is active, fetchAssetsAndBalancesForAccount
uses CoreAssetsAdapter so only snap-owned assets are fetched on-chain.
@cursor
cursor Bot force-pushed the WPN-1497-route-assets-logic-based-on-feature-flag branch from c0bae22 to 084b8c7 Compare August 18, 2026 10:00
…asum

Cast facade asset IDs to Caip19AssetId for the Core adapter constructor
shape on main, and refresh the snap bundle shasum after the rebase.

Co-authored-by: Ulisses Ferreira <ulisses@hey.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants