feat: init StellarAssetsController package#9498
Conversation
|
HI @MetaMask/core-platform Not sure how to fix below error |
| /packages/claims-controller @MetaMask/web3auth | ||
|
|
||
| ## Network Team | ||
| /packages/stellar-assets-controller @MetaMask/networks |
There was a problem hiding this comment.
Why do we need this over MultichainAssetsController?
Shouldn't that be flexible enough to handle Stellar assets?
cc @danroc
There was a problem hiding this comment.
@FrederikBolding
Due to a special need on Stellar, it requires enrich the asset info (trustline and base reserve) per asset, those information are just like balance, but not asset metadata, they are binding with the account.
And further to the conversation with asset team
MultichainAssetsController will be deprecate very soon (cc @salimtb @Prithpal-Sooriya )
New unified asset controller doesnt not have a space to handle such data for SNAP, but only accounts API does, or the tradeoff is
- making the controller has some specific logic on Stellar
- delaying the balance return
as This PR doesnt contains the real code, you may question what kind of information that we need.
Attached the actual implementation of this controller for your reference (this controller is putting in client for testing)
https://github.com/MetaMask/metamask-extension/pull/44420/changes#diff-82f451e6f3aff86d5a1e020539bd2b80625d6378403a1ec672a8e738646cd544
In additional:
When stellar switch to use accounts API (Chain Activity System), this controller will be drop, likely b4 DEC 2026
There was a problem hiding this comment.
those information are just like balance
If it’s just like a balance, couldn’t we model it as an asset? I think this is how Tron Snap handles energy.
There was a problem hiding this comment.
hi @danroc
we did that before on the multichain asset controller but we revert,
due to the multichain asset controller will be deprecated very soon
and new asset controller doesnt support that
btw Tron didnt persist energy directly in the controller, instead likely they create a new asset id "tron:728126428/slip44:energy" to have some special handle
| ## Network Team | ||
| /packages/stellar-assets-controller @MetaMask/networks | ||
|
|
||
| ## Joint team ownership |
There was a problem hiding this comment.
Missing package.json co-ownership at the bottom of the file.
Explanation
This PR is to init the
StellarAssetsControllerpackageStellarAssetsController is a controller manage the asset enrichment for Stellar
We dont do it on asset controller due to this controller may eventually replace by Accounts API when stellar ready to use the API
References
Checklist
Note
Low Risk
New isolated package with placeholder code only; no changes to existing controllers or runtime wallet behavior.
Overview
Adds
@metamask/stellar-assets-controlleras a new monorepo package intended for Stellar asset enrichment (separate fromassets-controlleruntil Accounts API is ready).The change is mostly scaffolding: standard package layout (build/test/tsconfig, licenses, changelog), a placeholder
greeterexport with a smoke test, and repo wiring—READMEpackage list and dependency diagram, roottsconfigreferences,yarn.lock,teams.json(team-networks), andCODEOWNERS(Network team + joint release ownership).There is no
BaseControllerimplementation or wallet integration in this diff yet.Reviewed by Cursor Bugbot for commit 7e8cb61. Bugbot is set up for automated code reviews on this repo. Configure here.