HomePhabricator

[marlin] Add initial Firma support

Description

[marlin] Add initial Firma support

Summary:
A switch at the top of the app let the user switch between Firma and XEC.

There are some limitations for now:

  • There is no support for bip21 firma payment requests
  • There are a lot of legacy functions and variables that should be renamed now that tokens are supported

The design allow for easily adding any desired token, making marlin a good template for token wallets. For now only Firma is added, more might come later if I feel like it doesn't degrade the experience. It's still only send and receive at this point, but I think a swap feature might make sense. All of this will be other diffs, this one is already large enough.

Note that there is a special case for the Firma price: it's pegged to USD, so when the user selects USD as a fiat currency the conversion is forced to exactly 1/1. For all other currencies, USDT is used as a USD proxy.

Test Plan:

pnpm web

cd web && pnpm test

Reviewers: #bitcoin_abc, bytesofman

Reviewed By: #bitcoin_abc, bytesofman

Subscribers: bytesofman

Differential Revision: https://reviews.bitcoinabc.org/D19779

Details

Provenance
FabienAuthored on Apr 7 2026, 07:59
FabienPushed on Apr 17 2026, 18:19
Reviewer
Restricted Project
Differential Revision
D19779: [marlin] Add initial Firma support
Parents
rABC079d24940b20: [secp256k1] build: Improve `SECP_TRY_APPEND_DEFAULT_CFLAGS` macro
Branches
Unknown
Tags
Unknown