Skip to content

feat: add Forma (chain 984122) to assets-controllers spot price support#8524

Open
jeremy-consensys wants to merge 1 commit intomainfrom
feat/add-forma-tia-spot-price
Open

feat: add Forma (chain 984122) to assets-controllers spot price support#8524
jeremy-consensys wants to merge 1 commit intomainfrom
feat/add-forma-tia-spot-price

Conversation

@jeremy-consensys
Copy link
Copy Markdown
Contributor

@jeremy-consensys jeremy-consensys commented Apr 20, 2026

Explanation

Forma (eip155:984122) uses TIA (Celestia) as its native gas token. Today, CodefiTokenPricesServiceV2.validateChainIdSupported returns false for Forma because its chain ID is not listed in SPOT_PRICES_SUPPORT_INFO, so the extension and mobile clients never even request a spot price for TIA — users see no price when they add Forma as a custom network.

Forma had a working price previously via the SimpleHashService fallback in va-mmcx-price-api. That fallback was removed in va-mmcx-price-api#409, leaving CoinGecko as the only remaining path. CoinGecko does not recognise Forma as an EVM asset platform (Celestia is Cosmos-based), so the chain → contract-address lookup path doesn't work for Forma. The same approach already shipped for Sei (0x531 / slip44:19000118) and Injective (slip44:22000119) applies here: point Forma's native asset at CoinGecko's celestia coin directly instead of relying on the platform-indexed path.

This PR adds:

'0xf043a': 'eip155:984122/slip44:984122', // Forma - Native symbol: TIA (Celestia)

to SPOT_PRICES_SUPPORT_INFO. slip44:984122 is a chain-id-derived pseudo-ref mirroring the slip44:8453 convention used for Base governance, chosen over slip44:118 (Cosmos Hub / ATOM) to avoid collision if ATOM is ever priced through slip44. The ref matches the companion mapping added to va-mmcx-price-api, which resolves it to CoinGecko's celestia coin id.

SUPPORTED_CHAIN_IDS is derived from SPOT_PRICES_SUPPORT_INFO, so the existing parameterised validateChainIdSupported test (codefi-v2.test.ts) picks up the new entry automatically. No fixture updates were required.

The same pattern will apply to Eden and any future Celestia-based EVM rollup once their chain IDs are published.

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
Low risk: adds a single new SPOT_PRICES_SUPPORT_INFO mapping for one chain plus changelog entry, with no behavioral changes beyond enabling price lookups for that network.

Overview
Enables spot price fetching for Forma (eip155:984122) by adding a new SPOT_PRICES_SUPPORT_INFO entry mapping its native gas token (TIA) to slip44:984122, allowing the price API to resolve it via CoinGecko.

Updates the assets-controllers changelog to document the new network/asset mapping.

Reviewed by Cursor Bugbot for commit 0ebff90. Bugbot is set up for automated code reviews on this repo. Configure here.

Adds Forma to SPOT_PRICES_SUPPORT_INFO so CodefiTokenPricesServiceV2
recognises it as a supported chain. Maps the native TIA asset to
slip44:984122, which the price-api resolves to CoinGecko's `celestia`
coin. Without this entry, the service's validateChainIdSupported check
returns false and no spot-price request is made for Forma's native
token.

Pairs with the price-api change that registers eip155:984122 and the
same slip44:984122 ref on the server side.
@jeremy-consensys jeremy-consensys marked this pull request as ready for review April 20, 2026 14:17
@jeremy-consensys jeremy-consensys requested review from a team as code owners April 20, 2026 14:17
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.

1 participant