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.