From 13706d0ecf475e7e0b004541a4d1435c5decff3c Mon Sep 17 00:00:00 2001 From: smk762 Date: Tue, 4 Nov 2025 17:36:58 +0800 Subject: [PATCH 1/2] add basic handling for base tokens --- lib/bloc/coins_bloc/asset_coin_extension.dart | 6 ++++++ lib/bloc/fiat/base_fiat_provider.dart | 2 ++ lib/model/coin_type.dart | 1 + lib/model/coin_utils.dart | 4 ++++ lib/shared/utils/utils.dart | 5 +++++ sdk | 2 +- 6 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/bloc/coins_bloc/asset_coin_extension.dart b/lib/bloc/coins_bloc/asset_coin_extension.dart index d8044b72fe..2c073af8f0 100644 --- a/lib/bloc/coins_bloc/asset_coin_extension.dart +++ b/lib/bloc/coins_bloc/asset_coin_extension.dart @@ -65,6 +65,8 @@ extension AssetCoinExtension on Asset { extension CoinTypeExtension on CoinSubClass { CoinType toCoinType() { switch (this) { + case CoinSubClass.base: + return CoinType.base20; case CoinSubClass.ftm20: return CoinType.ftm20; case CoinSubClass.arbitrum: @@ -112,6 +114,8 @@ extension CoinTypeExtension on CoinSubClass { bool isEvmProtocol() { switch (this) { + case CoinSubClass.base: + return true; case CoinSubClass.avx20: case CoinSubClass.bep20: case CoinSubClass.ftm20: @@ -137,6 +141,8 @@ extension CoinTypeExtension on CoinSubClass { extension CoinSubClassExtension on CoinType { CoinSubClass toCoinSubClass() { switch (this) { + case CoinType.base20: + return CoinSubClass.base; case CoinType.ftm20: return CoinSubClass.ftm20; case CoinType.arb20: diff --git a/lib/bloc/fiat/base_fiat_provider.dart b/lib/bloc/fiat/base_fiat_provider.dart index 9f0b9fb98b..564cd5b45f 100644 --- a/lib/bloc/fiat/base_fiat_provider.dart +++ b/lib/bloc/fiat/base_fiat_provider.dart @@ -128,6 +128,8 @@ abstract class BaseFiatProvider { return 'FTM'; case CoinType.arb20: return 'ARB'; + case CoinType.base20: + return 'BASE'; case CoinType.hrc20: return 'HARMONY'; case CoinType.plg20: diff --git a/lib/model/coin_type.dart b/lib/model/coin_type.dart index 9ee370e8c5..402da3b250 100644 --- a/lib/model/coin_type.dart +++ b/lib/model/coin_type.dart @@ -8,6 +8,7 @@ enum CoinType { qrc20, ftm20, arb20, + base20, avx20, hrc20, mvr20, diff --git a/lib/model/coin_utils.dart b/lib/model/coin_utils.dart index afc400cb84..1d89f21284 100644 --- a/lib/model/coin_utils.dart +++ b/lib/model/coin_utils.dart @@ -147,6 +147,8 @@ String getCoinTypeName(CoinType type, [String? symbol]) { return 'FTM-20'; case CoinType.arb20: return 'ARB-20'; + case CoinType.base20: + return 'BASE'; case CoinType.etc: return 'ETC'; case CoinType.avx20: @@ -193,6 +195,8 @@ bool isParentCoin(CoinType type, String symbol) { return symbol == 'FTM'; case CoinType.arb20: return symbol == 'ETH-ARB20'; + case CoinType.base20: + return symbol == 'ETH-BASE'; case CoinType.hrc20: return symbol == 'ONE'; case CoinType.plg20: diff --git a/lib/shared/utils/utils.dart b/lib/shared/utils/utils.dart index 6fff9f4bb8..8f8aa691ae 100644 --- a/lib/shared/utils/utils.dart +++ b/lib/shared/utils/utils.dart @@ -341,6 +341,7 @@ String abbr2Ticker(String abbr) { 'QRC20', 'FTM20', 'ARB20', + 'BASE', 'HRC20', 'MVR20', 'AVX20', @@ -407,6 +408,8 @@ Color getProtocolColor(CoinType type) { return const Color.fromRGBO(25, 105, 255, 1); case CoinType.arb20: return const Color.fromRGBO(0, 168, 226, 1); + case CoinType.base20: + return const Color.fromRGBO(0, 168, 226, 1); case CoinType.hrc20: return const Color.fromRGBO(29, 195, 219, 1); case CoinType.etc: @@ -450,6 +453,7 @@ bool hasTxHistorySupport(Coin coin) { case CoinType.qrc20: case CoinType.ftm20: case CoinType.arb20: + case CoinType.base20: case CoinType.etc: case CoinType.avx20: case CoinType.mvr20: @@ -481,6 +485,7 @@ String getNativeExplorerUrlByCoin(Coin coin, String? address) { case CoinType.qrc20: case CoinType.ftm20: case CoinType.arb20: + case CoinType.base20: case CoinType.avx20: case CoinType.mvr20: case CoinType.hco20: diff --git a/sdk b/sdk index 61a417068c..f6f40061ee 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit 61a417068c27b8757fd1fe4cf71b35c241aaf1b4 +Subproject commit f6f40061ee8d8cd210e1237a7f0cae427ab82ba6 From 7af4f55d7954a0c01526feddc7832e72223fe170 Mon Sep 17 00:00:00 2001 From: smk762 Date: Wed, 5 Nov 2025 14:34:00 +0800 Subject: [PATCH 2/2] handle base20 for fiat switch case --- lib/bloc/fiat/base_fiat_provider.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/bloc/fiat/base_fiat_provider.dart b/lib/bloc/fiat/base_fiat_provider.dart index 564cd5b45f..2f2f1c746c 100644 --- a/lib/bloc/fiat/base_fiat_provider.dart +++ b/lib/bloc/fiat/base_fiat_provider.dart @@ -240,6 +240,8 @@ abstract class BaseFiatProvider { case 'ARBITRUM': case 'ARB': return CoinType.arb20; + case 'BASE': + return CoinType.base20; case 'HARMONY': return CoinType.hrc20; case 'MATIC':