feat: add wbtc.eth, usdt.sol, usdt.arb on chainflip, fix usdc.arb and eth.arb (#3050)

David Cumps committed Mar 13, 2026 at 02:06 UTC db0442003a3719e6654baa29b41373be49308102
2 files changed +12 -3
cw_core/lib/crypto_currency.dart
+4 -2
@@ -124,6 +124,8 @@ class CryptoCurrency extends EnumerableItem<int> with Serializable<int> implemen
124 CryptoCurrency.baseEth,
125 CryptoCurrency.usde,
126 CryptoCurrency.arbEth,
127 + CryptoCurrency.usdcArb,
128 + CryptoCurrency.usdtArb,
129 ];
130
131 static const havenCurrencies = [
@@ -259,8 +261,8 @@ class CryptoCurrency extends EnumerableItem<int> with Serializable<int> implemen
261 static const arbEth = CryptoCurrency(title: 'ETH', tag: 'ARB', fullName: 'Ethereum', raw: 106, name: 'arbeth', iconPath: 'assets/images/crypto/ethereum.webp', decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/arbitrum.svg");
262 static const zec = CryptoCurrency(title: 'ZEC', fullName: 'Zcash', raw: 107, name: 'zec', iconPath: 'assets/images/zec_icon.png', decimals: 8,flatIconPath: "assets/new-ui/balance_card_icons/zcash.svg");
263 static const usdcArb = CryptoCurrency(title: 'USDC', tag: 'ARB', fullName: 'USDC Coin', raw: 108, name: 'usdcarb', iconPath: 'assets/images/crypto/usdc.webp', decimals: 6);
262 - static const ltcmweb = CryptoCurrency(title: 'LTC', fullName: 'Litecoin MWeb', raw: 107, name: 'ltcmweb', iconPath: 'assets/images/crypto/litecoin.webp', decimals: 8);
263 -
264 + static const usdtArb = CryptoCurrency(title: 'USDT', tag: 'ARB', fullName: 'USDT Tether', raw: 109, name: 'usdtarb', iconPath: 'assets/images/crypto/tether.webp', decimals: 6);
265 + static const ltcmweb = CryptoCurrency(title: 'LTC', fullName: 'Litecoin MWeb', raw: 110, name: 'ltcmweb', iconPath: 'assets/images/crypto/litecoin.webp', decimals: 8);
266
267 static final Map<int, CryptoCurrency> _rawCurrencyMap =
268 [...all, ...havenCurrencies, ...zcashCurrencies].fold<Map<int, CryptoCurrency>>(<int, CryptoCurrency>{}, (acc, item) {
lib/exchange/provider/chainflip_exchange_provider.dart
+8 -1
@@ -24,11 +24,13 @@ class ChainflipExchangeProvider extends ExchangeProvider {
24 CryptoCurrency.usdc,
25 CryptoCurrency.usdterc20,
26 CryptoCurrency.flip,
27 + CryptoCurrency.wbtc,
28 CryptoCurrency.sol,
29 CryptoCurrency.usdcsol,
30 + CryptoCurrency.usdtSol,
31 CryptoCurrency.arbEth,
32 CryptoCurrency.usdcArb,
31 - // TODO: Add CryptoCurrency.dot
33 + CryptoCurrency.usdtArb,
34 ];
35
36 static const _baseURL = 'chainflip-broker.io';
@@ -338,6 +340,7 @@ class ChainflipExchangeProvider extends ExchangeProvider {
340 final networkName = switch (name) {
341 'BITCOIN' => 'Bitcoin',
342 'ETHEREUM' => 'Ethereum',
343 + 'ARBITRUM' => 'Arbitrum',
344 'SOLANA' => 'Solana',
345 _ => name
346 };
@@ -353,8 +356,12 @@ class ChainflipExchangeProvider extends ExchangeProvider {
356 'usdc.eth' => CryptoCurrency.usdc,
357 'usdt.eth' => CryptoCurrency.usdterc20,
358 'flip.eth' => CryptoCurrency.flip,
359 + 'wbtc.eth' => CryptoCurrency.wbtc,
360 'sol.sol' => CryptoCurrency.sol,
361 'usdc.sol' => CryptoCurrency.usdcsol,
362 + 'eth.arb' => CryptoCurrency.arbEth,
363 + 'usdc.arb' => CryptoCurrency.usdcArb,
364 + 'usdt.arb' => CryptoCurrency.usdtArb,
365 _ => null
366 };
367