Skip to content

feat: init StellarAssetsController package#9498

Open
stanleyyconsensys wants to merge 2 commits into
mainfrom
feat/add-stellar-assets-controller
Open

feat: init StellarAssetsController package#9498
stanleyyconsensys wants to merge 2 commits into
mainfrom
feat/add-stellar-assets-controller

Conversation

@stanleyyconsensys

@stanleyyconsensys stanleyyconsensys commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Explanation

This PR is to init the StellarAssetsController package

StellarAssetsController 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

  • 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

Note

Low Risk
New isolated package with placeholder code only; no changes to existing controllers or runtime wallet behavior.

Overview
Adds @metamask/stellar-assets-controller as a new monorepo package intended for Stellar asset enrichment (separate from assets-controller until Accounts API is ready).

The change is mostly scaffolding: standard package layout (build/test/tsconfig, licenses, changelog), a placeholder greeter export with a smoke test, and repo wiringREADME package list and dependency diagram, root tsconfig references, yarn.lock, teams.json (team-networks), and CODEOWNERS (Network team + joint release ownership).

There is no BaseController implementation 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.

@stanleyyconsensys stanleyyconsensys requested a review from a team as a code owner July 14, 2026 09:39
@stanleyyconsensys

Copy link
Copy Markdown
Contributor Author

HI @MetaMask/core-platform

Not sure how to fix below error

 Missing CODEOWNER rule for CHANGELOG.md co-ownership with core platform team
   └─ Missing CODEOWNER rule for package.json co-ownership with core platform team

Comment thread .github/CODEOWNERS
/packages/claims-controller @MetaMask/web3auth

## Network Team
/packages/stellar-assets-controller @MetaMask/networks

@FrederikBolding FrederikBolding Jul 14, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this over MultichainAssetsController?

Shouldn't that be flexible enough to handle Stellar assets?

cc @danroc

@stanleyyconsensys stanleyyconsensys Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@stanleyyconsensys stanleyyconsensys Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread .github/CODEOWNERS
## Network Team
/packages/stellar-assets-controller @MetaMask/networks

## Joint team ownership

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing package.json co-ownership at the bottom of the file.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

resolved in this commit 7e8cb61

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.

3 participants