From ad93901ae52d0d82269811bf0bf97ae4526dc747 Mon Sep 17 00:00:00 2001 From: David Adegoke <64401859+Blazebrain@users.noreply.github.com> Date: Mon, 5 Oct 2026 16:41:25 +0100 Subject: [PATCH] fix: add new images and fix integration tests (#3679) --- assets/images/robinhood_chain_QR.svg | 20 ++++++ assets/images/robinhood_chain_mono.svg | 10 ++- cw_core/lib/card_design.dart | 3 +- cw_evm/lib/tokens/robinhood_tokens.dart | 2 + integration_test/core/test_wallets.dart | 4 ++ .../currency_picker/currency_picker_args.dart | 3 + .../multi_network_currency_picker.dart | 6 +- lib/utils/qr_util.dart | 2 +- .../balance_card_backgrounds/robinhood.svg | 63 +++++++++++++++---- res/pictures/balance_card_icons/robinhood.svg | 6 +- .../card_icons/chain_icons/robinhood.svg | 46 +++++++++++++- res/pictures/card_icons/og_icons/rob-og.svg | 12 +++- .../card_icons/outline_icons/rob-outline.svg | 11 +++- .../card_icons/symbol_icons/rob-symbol.svg | 10 ++- res/pictures/chain_badges/robinhood.svg | 10 ++- res/pictures/crypto_full_icons/robinhood.svg | 40 +++++++++++- tool/utils/secret_key.dart | 2 + 17 files changed, 216 insertions(+), 34 deletions(-) create mode 100644 assets/images/robinhood_chain_QR.svg diff --git a/assets/images/robinhood_chain_QR.svg b/assets/images/robinhood_chain_QR.svg new file mode 100644 index 000000000..a8ee2b6f9 --- /dev/null +++ b/assets/images/robinhood_chain_QR.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/robinhood_chain_mono.svg b/assets/images/robinhood_chain_mono.svg index 7f56d1bda..6c34a94ec 100644 --- a/assets/images/robinhood_chain_mono.svg +++ b/assets/images/robinhood_chain_mono.svg @@ -1,3 +1,9 @@ - - + + + + + + + + diff --git a/cw_core/lib/card_design.dart b/cw_core/lib/card_design.dart index 408966ab1..aa9696121 100644 --- a/cw_core/lib/card_design.dart +++ b/cw_core/lib/card_design.dart @@ -327,10 +327,9 @@ class CardDesign { static const robinhoodSpecial = CardDesign( gradient: const LinearGradient( - colors: [Color(0xFF5AA438), Color(0xFF2E6B1E)], + colors: [Color(0xFFBDFE00), Color(0xFF85BE00)], begin: Alignment.topCenter, end: Alignment.bottomCenter), - colors: CardColorCombination.light, backgroundType: CardDesignBackgroundTypes.svgFull, imagePath: "assets/new-ui/balance_card_backgrounds/robinhood.svg"); diff --git a/cw_evm/lib/tokens/robinhood_tokens.dart b/cw_evm/lib/tokens/robinhood_tokens.dart index 45d543e32..eba60a774 100644 --- a/cw_evm/lib/tokens/robinhood_tokens.dart +++ b/cw_evm/lib/tokens/robinhood_tokens.dart @@ -12,6 +12,7 @@ class RobinhoodTokens { decimal: 6, enabled: true, iconPath: "assets/images/usdg_icon.png", + groups: const {CurrencyGroups.stablecoin}, ), Erc20Token( name: "Ethena USDe", @@ -19,6 +20,7 @@ class RobinhoodTokens { contractAddress: "0x5d3a1ff2b6bab83b63cd9ad0787074081a52ef34", decimal: 18, enabled: true, + groups: const {CurrencyGroups.stablecoin}, ), Erc20Token( name: "WETH", diff --git a/integration_test/core/test_wallets.dart b/integration_test/core/test_wallets.dart index 68565c763..01c8b9b66 100644 --- a/integration_test/core/test_wallets.dart +++ b/integration_test/core/test_wallets.dart @@ -34,6 +34,8 @@ class TestWallets { return secrets.arbitrumTestWalletSeeds; case WalletType.bsc: return secrets.bscTestWalletSeeds; + case WalletType.robinhood: + return secrets.robinhoodTestWalletSeeds; case WalletType.tron: return secrets.tronTestWalletSeeds; case WalletType.nano: @@ -75,6 +77,8 @@ class TestWallets { return secrets.arbitrumTestWalletReceiveAddress; case WalletType.bsc: return secrets.bscTestWalletReceiveAddress; + case WalletType.robinhood: + return secrets.robinhoodTestWalletReceiveAddress; case WalletType.solana: return secrets.solanaTestWalletReceiveAddress; case WalletType.tron: diff --git a/lib/new-ui/widgets/currency_picker/currency_picker_args.dart b/lib/new-ui/widgets/currency_picker/currency_picker_args.dart index b49578691..70b6228ce 100644 --- a/lib/new-ui/widgets/currency_picker/currency_picker_args.dart +++ b/lib/new-ui/widgets/currency_picker/currency_picker_args.dart @@ -25,6 +25,9 @@ bool isTrustedStablecoin(CryptoCurrency c) => _stablecoinSymbols.contains(c.title.toUpperCase())) && !c.isPotentialScam; +bool hasBuiltInStablecoinSymbol(CryptoCurrency c) => + _stablecoinSymbols.contains(c.title.toUpperCase()); + const _kEvmDefaultTokenNatives = [ CryptoCurrency.baseEth, CryptoCurrency.arbEth, diff --git a/lib/new-ui/widgets/currency_picker/multi_network_currency_picker.dart b/lib/new-ui/widgets/currency_picker/multi_network_currency_picker.dart index aa3339d53..6687ff43a 100644 --- a/lib/new-ui/widgets/currency_picker/multi_network_currency_picker.dart +++ b/lib/new-ui/widgets/currency_picker/multi_network_currency_picker.dart @@ -322,9 +322,13 @@ class _MultiNetworkPickerBodyState extends State<_MultiNetworkPickerBody> { final visibleRecents = recents.where(items.contains).toList(growable: false); + final isSingleNetwork = items.map(cryptoCurrencyOrTokenToWalletType).toSet().length == 1; final seenStablecoinTitles = {}; final stablecoins = items - .where((c) => isTrustedStablecoin(c) && seenStablecoinTitles.add(c.title.toUpperCase())) + .where((c) => + isTrustedStablecoin(c) && + (isSingleNetwork || hasBuiltInStablecoinSymbol(c)) && + seenStablecoinTitles.add(c.title.toUpperCase())) .toList(growable: false); final cryptocurrencies = items.where(natives.contains).toList(growable: false); diff --git a/lib/utils/qr_util.dart b/lib/utils/qr_util.dart index ab43544a8..215bd0c39 100644 --- a/lib/utils/qr_util.dart +++ b/lib/utils/qr_util.dart @@ -13,7 +13,7 @@ String getQrImage(WalletType type) { case WalletType.bsc: return 'assets/images/bnb_chain_QR.svg'; case WalletType.robinhood: - return "assets/images/eth_chain_qr.svg"; + return "assets/images/robinhood_chain_QR.svg"; case WalletType.solana: return 'assets/images/sol_chain_qr.svg'; case WalletType.tron: diff --git a/res/pictures/balance_card_backgrounds/robinhood.svg b/res/pictures/balance_card_backgrounds/robinhood.svg index 8082ed778..bf1c7e6aa 100644 --- a/res/pictures/balance_card_backgrounds/robinhood.svg +++ b/res/pictures/balance_card_backgrounds/robinhood.svg @@ -1,12 +1,53 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/pictures/balance_card_icons/robinhood.svg b/res/pictures/balance_card_icons/robinhood.svg index 7f56d1bda..a0a126547 100644 --- a/res/pictures/balance_card_icons/robinhood.svg +++ b/res/pictures/balance_card_icons/robinhood.svg @@ -1,3 +1,5 @@ - - + + + + diff --git a/res/pictures/card_icons/chain_icons/robinhood.svg b/res/pictures/card_icons/chain_icons/robinhood.svg index 2a0337d22..7ce101309 100644 --- a/res/pictures/card_icons/chain_icons/robinhood.svg +++ b/res/pictures/card_icons/chain_icons/robinhood.svg @@ -1,4 +1,44 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/pictures/card_icons/og_icons/rob-og.svg b/res/pictures/card_icons/og_icons/rob-og.svg index 2a0337d22..18779c98a 100644 --- a/res/pictures/card_icons/og_icons/rob-og.svg +++ b/res/pictures/card_icons/og_icons/rob-og.svg @@ -1,4 +1,10 @@ - - - + + + + + + + + + diff --git a/res/pictures/card_icons/outline_icons/rob-outline.svg b/res/pictures/card_icons/outline_icons/rob-outline.svg index d4f523285..0e7594205 100644 --- a/res/pictures/card_icons/outline_icons/rob-outline.svg +++ b/res/pictures/card_icons/outline_icons/rob-outline.svg @@ -1,3 +1,10 @@ - - + + + + + + + + + diff --git a/res/pictures/card_icons/symbol_icons/rob-symbol.svg b/res/pictures/card_icons/symbol_icons/rob-symbol.svg index 7f56d1bda..dbd6867f4 100644 --- a/res/pictures/card_icons/symbol_icons/rob-symbol.svg +++ b/res/pictures/card_icons/symbol_icons/rob-symbol.svg @@ -1,3 +1,9 @@ - - + + + + + + + + diff --git a/res/pictures/chain_badges/robinhood.svg b/res/pictures/chain_badges/robinhood.svg index 7f56d1bda..6c34a94ec 100644 --- a/res/pictures/chain_badges/robinhood.svg +++ b/res/pictures/chain_badges/robinhood.svg @@ -1,3 +1,9 @@ - - + + + + + + + + diff --git a/res/pictures/crypto_full_icons/robinhood.svg b/res/pictures/crypto_full_icons/robinhood.svg index 2a0337d22..238e70fa2 100644 --- a/res/pictures/crypto_full_icons/robinhood.svg +++ b/res/pictures/crypto_full_icons/robinhood.svg @@ -1,4 +1,38 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tool/utils/secret_key.dart b/tool/utils/secret_key.dart index c3cadec4b..33e09950d 100644 --- a/tool/utils/secret_key.dart +++ b/tool/utils/secret_key.dart @@ -59,6 +59,7 @@ class SecretKey { SecretKey('baseTestWalletSeeds', () => ''), SecretKey('arbitrumTestWalletSeeds', () => ''), SecretKey('bscTestWalletSeeds', () => ''), + SecretKey("robinhoodTestWalletSeeds", () => ""), SecretKey('solanaTestWalletSeeds', () => ''), SecretKey('solanaTestWalletSeeds2', () => ''), SecretKey('tronTestWalletSeeds', () => ''), @@ -77,6 +78,7 @@ class SecretKey { SecretKey('baseTestWalletReceiveAddress', () => ''), SecretKey('arbitrumTestWalletReceiveAddress', () => ''), SecretKey('bscTestWalletReceiveAddress', () => ''), + SecretKey("robinhoodTestWalletReceiveAddress", () => ""), SecretKey('solanaTestWalletReceiveAddress', () => ''), SecretKey('tronTestWalletReceiveAddress', () => ''), SecretKey('nanoTestWalletReceiveAddress', () => ''),