Skip to content

feat(WPN-1476): route Solana asset reads via migration stages - #123

Draft
ulissesferreira wants to merge 2 commits into
ulissesferreira/wpn-1652-core-assets-adapter-6620from
ulissesferreira/wpn-1476-migrate-solana-assets-controller-6620
Draft

feat(WPN-1476): route Solana asset reads via migration stages#123
ulissesferreira wants to merge 2 commits into
ulissesferreira/wpn-1652-core-assets-adapter-6620from
ulissesferreira/wpn-1476-migrate-solana-assets-controller-6620

Conversation

@ulissesferreira

Copy link
Copy Markdown
Contributor

Explanation

Part of migrating the Solana assets-controller staged migration from snap-solana-wallet#641 into this monorepo (PR 4 of 6, Lane A / feature-flag path only).

Routes Solana fungible asset reads through AssetsProvider based on RemoteFeatureFlagController migration stages, following the Tron WPN-1497 pattern (#96) rather than a literal CoreAssetsAdapter class:

  • Add shouldTrackSnapAssets, isSnapOwnedAsset (NFTs), and async mapControllerAsset (ATA-aware)
  • Stage-aware routing in AssetsService:
    • Off → Snap adapter only
    • ReadAssetsControllerWithFallback → Core with Snap fallback
    • ReadAssetsControllerOnly+ → Core fungibles; Snap-owned NFTs always from Snap
  • Gate Snap fungible fetch/saveMany when stage disables tracking
  • Update AccountsSynchronizer and KeyringAccountMonitor for migration-stage behavior

References

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 communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them
Open in Web Open in Cursor 

cursoragent and others added 2 commits August 5, 2026 13:57
Co-authored-by: Ulisses Ferreira <ulisses@hey.com>
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