diff --git a/app/build.gradle b/app/build.gradle index 7ad7d8151f..a0a175d9c3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -75,6 +75,7 @@ android { resValue "string", "arbiscanApiKey", "Z43JN5434XVNA5D73UGPWKF26G5D9MGDPZ" resValue "string", "gnosisscanApiKey", "V2J8YU15ZX9S1W3GTUV2HXM11TP2TUBRW4" resValue "string", "ftmscanApiKey", "57YQ2GIRAZNV6M5HIJYYG3XQGGNIPVV8MF" + resValue "string", "basescanApiKey", "AKEWS351FN9P9E2CFPWRWQVGHYUP7W8SUF" resValue "string", "is_release", "false" resValue "string", "guidesUrl", "https://raw.githubusercontent.com/horizontalsystems/blockchain-crypto-guides/develop/index.json" resValue "string", "faqUrl", "https://raw.githubusercontent.com/horizontalsystems/Unstoppable-Wallet-Website/master/src/faq.json" @@ -113,6 +114,7 @@ android { resValue "string", "arbiscanApiKey", "4QWW522BV13BJCZMXH1JIB2ESJ7MZTSJYI" resValue "string", "gnosisscanApiKey", "KEXFAQKDUENZ5U9CW3ZKYJEJ84ZIHH9QTY" resValue "string", "ftmscanApiKey", "JAWRPW27KEMVXMJJ9UKY63CVPH3X5V9SMP" + resValue "string", "basescanApiKey", "QU4RJVJXQCW812J3234EW9EV815TA6XC55" resValue "string", "is_release", "true" resValue "string", "guidesUrl", "https://raw.githubusercontent.com/horizontalsystems/blockchain-crypto-guides/v1.2/index.json" resValue "string", "faqUrl", "https://raw.githubusercontent.com/horizontalsystems/Unstoppable-Wallet-Website/v1.3/src/faq.json" @@ -277,10 +279,10 @@ dependencies { // Wallet kits implementation 'com.github.horizontalsystems:ton-kit-android:e907480' implementation 'com.github.horizontalsystems:bitcoin-kit-android:47db768' - implementation 'com.github.horizontalsystems:ethereum-kit-android:3d83900' + implementation 'com.github.horizontalsystems:ethereum-kit-android:a30cc3a71' implementation 'com.github.horizontalsystems:blockchain-fee-rate-kit-android:1d3bd49' implementation 'com.github.horizontalsystems:binance-chain-kit-android:c1509a2' - implementation 'com.github.horizontalsystems:market-kit-android:55dde9c' + implementation 'com.github.horizontalsystems:market-kit-android:5fe87c2' implementation 'com.github.horizontalsystems:solana-kit-android:ce738d8' implementation 'com.github.horizontalsystems:tron-kit-android:dc3dca7' // Zcash SDK diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/core/MarketKitExtensions.kt b/app/src/main/java/io/horizontalsystems/bankwallet/core/MarketKitExtensions.kt index d6873b64af..bc0d00c678 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/core/MarketKitExtensions.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/core/MarketKitExtensions.kt @@ -50,6 +50,7 @@ val Token.swappable: Boolean BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Gnosis, BlockchainType.Fantom, BlockchainType.ArbitrumOne -> true @@ -149,6 +150,7 @@ val TokenQuery.isSupported: Boolean BlockchainType.BinanceSmartChain, BlockchainType.Polygon, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.ArbitrumOne, BlockchainType.Gnosis, BlockchainType.Fantom, @@ -184,6 +186,7 @@ val Blockchain.description: String BlockchainType.Polygon -> "MATIC, ERC20 tokens" BlockchainType.Avalanche -> "AVAX, ERC20 tokens" BlockchainType.Optimism -> "L2 chain" + BlockchainType.Base -> "L2 chain" BlockchainType.ArbitrumOne -> "L2 chain" BlockchainType.Solana -> "SOL, SPL tokens" BlockchainType.Gnosis -> "xDAI, ERC20 tokens" @@ -218,6 +221,7 @@ private val blockchainOrderMap: Map by lazy { BlockchainType.Ton, BlockchainType.Solana, BlockchainType.Polygon, + BlockchainType.Base, BlockchainType.Avalanche, BlockchainType.Zcash, BlockchainType.BitcoinCash, @@ -246,6 +250,7 @@ val BlockchainType.tokenIconPlaceholder: Int BlockchainType.Avalanche -> R.drawable.avalanche_erc20 BlockchainType.Polygon -> R.drawable.polygon_erc20 BlockchainType.Optimism -> R.drawable.optimism_erc20 + BlockchainType.Base -> R.drawable.base_erc20 BlockchainType.ArbitrumOne -> R.drawable.arbitrum_erc20 BlockchainType.Gnosis -> R.drawable.gnosis_erc20 BlockchainType.Fantom -> R.drawable.fantom_erc20 @@ -269,6 +274,7 @@ val BlockchainType.title: String BlockchainType.ArbitrumOne -> "ArbitrumOne" BlockchainType.BinanceChain -> "BNB Beacon Coin" BlockchainType.Optimism -> "Optimism" + BlockchainType.Base -> "Base" BlockchainType.Solana -> "Solana" BlockchainType.Gnosis -> "Gnosis" BlockchainType.Fantom -> "Fantom" @@ -294,6 +300,7 @@ val BlockchainType.brandColor: Color? BlockchainType.Polygon -> Color(0xFF8247E5) BlockchainType.Avalanche -> Color(0xFFD74F49) BlockchainType.Optimism -> Color(0xFFEB3431) + BlockchainType.Base -> Color(0xFF2759F6) BlockchainType.ArbitrumOne -> Color(0xFF96BEDC) else -> null } @@ -329,6 +336,7 @@ fun BlockchainType.supports(accountType: AccountType): Boolean { || this == BlockchainType.Polygon || this == BlockchainType.Avalanche || this == BlockchainType.Optimism + || this == BlockchainType.Base || this == BlockchainType.ArbitrumOne || this == BlockchainType.Gnosis || this == BlockchainType.Fantom @@ -338,6 +346,7 @@ fun BlockchainType.supports(accountType: AccountType): Boolean { || this == BlockchainType.Polygon || this == BlockchainType.Avalanche || this == BlockchainType.Optimism + || this == BlockchainType.Base || this == BlockchainType.ArbitrumOne || this == BlockchainType.Gnosis || this == BlockchainType.Fantom @@ -572,6 +581,7 @@ val BlockchainType.Companion.supported: List BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.ArbitrumOne, BlockchainType.Gnosis, BlockchainType.Fantom, diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/core/factories/AdapterFactory.kt b/app/src/main/java/io/horizontalsystems/bankwallet/core/factories/AdapterFactory.kt index 74b9a7efc8..1fbb11b69c 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/core/factories/AdapterFactory.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/core/factories/AdapterFactory.kt @@ -141,6 +141,7 @@ class AdapterFactory( BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Gnosis, BlockchainType.Fantom, BlockchainType.ArbitrumOne -> { @@ -230,6 +231,7 @@ class AdapterFactory( BlockchainType.BinanceSmartChain, BlockchainType.Polygon, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.ArbitrumOne -> { val evmKitManager = evmBlockchainManager.getEvmKitManager(blockchainType) evmKitManager.unlink(wallet.account) @@ -256,6 +258,7 @@ class AdapterFactory( BlockchainType.BinanceSmartChain, BlockchainType.Polygon, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.ArbitrumOne -> { val evmKitManager = evmBlockchainManager.getEvmKitManager(blockchainType) evmKitManager.unlink(transactionSource.account) diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/EvmBlockchainManager.kt b/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/EvmBlockchainManager.kt index 162021ca82..95e132e4c8 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/EvmBlockchainManager.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/EvmBlockchainManager.kt @@ -46,6 +46,7 @@ class EvmBlockchainManager( BlockchainType.Polygon -> Chain.Polygon BlockchainType.Avalanche -> Chain.Avalanche BlockchainType.Optimism -> Chain.Optimism + BlockchainType.Base -> Chain.Base BlockchainType.ArbitrumOne -> Chain.ArbitrumOne BlockchainType.Gnosis -> Chain.Gnosis BlockchainType.Fantom -> Chain.Fantom @@ -80,6 +81,7 @@ class EvmBlockchainManager( BlockchainType.ArbitrumOne, BlockchainType.Gnosis, BlockchainType.Fantom, + BlockchainType.Base, ) } } diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/EvmSyncSourceManager.kt b/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/EvmSyncSourceManager.kt index 4ff26998bb..1891db7a06 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/EvmSyncSourceManager.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/EvmSyncSourceManager.kt @@ -38,6 +38,7 @@ class EvmSyncSourceManager( BlockchainType.ArbitrumOne -> TransactionSource.arbiscan(appConfigProvider.arbiscanApiKey) BlockchainType.Gnosis -> TransactionSource.gnosis(appConfigProvider.gnosisscanApiKey) BlockchainType.Fantom -> TransactionSource.fantom(appConfigProvider.ftmscanApiKey) + BlockchainType.Base -> TransactionSource.basescan(appConfigProvider.basescanApiKey) else -> throw Exception("Non-supported EVM blockchain") } } @@ -131,6 +132,33 @@ class EvmSyncSourceManager( ) ) + BlockchainType.Base -> listOf( + evmSyncSource( + blockchainType, + "Base", + RpcSource.baseRpcHttp(), + defaultTransactionSource(blockchainType) + ), + evmSyncSource( + blockchainType, + "LlamaNodes", + RpcSource.Http( + listOf(URI("https://base.llamarpc.com")), + null + ), + defaultTransactionSource(blockchainType) + ), + evmSyncSource( + blockchainType, + "Omnia", + RpcSource.Http( + listOf(URI("https://endpoints.omniatech.io/v1/base/mainnet/public")), + null + ), + defaultTransactionSource(blockchainType) + ) + ) + BlockchainType.ArbitrumOne -> listOf( evmSyncSource( blockchainType, diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/TransactionAdapterManager.kt b/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/TransactionAdapterManager.kt index 51ba035909..bbcae1cb84 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/TransactionAdapterManager.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/core/managers/TransactionAdapterManager.kt @@ -55,6 +55,7 @@ class TransactionAdapterManager( BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Gnosis, BlockchainType.Fantom, BlockchainType.ArbitrumOne -> { diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/core/providers/AppConfigProvider.kt b/app/src/main/java/io/horizontalsystems/bankwallet/core/providers/AppConfigProvider.kt index ff61d8973f..5156ddc1df 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/core/providers/AppConfigProvider.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/core/providers/AppConfigProvider.kt @@ -58,6 +58,9 @@ class AppConfigProvider(localStorage: ILocalStorage) { val ftmscanApiKey by lazy { Translator.getString(R.string.ftmscanApiKey) } + val basescanApiKey by lazy { + Translator.getString(R.string.basescanApiKey) + } val guidesUrl by lazy { Translator.getString(R.string.guidesUrl) } @@ -138,6 +141,7 @@ class AppConfigProvider(localStorage: ILocalStorage) { BlockchainType.Polygon to "0x731352dcF66014156B1560B832B56069e7b38ab1", BlockchainType.Avalanche to "0x731352dcF66014156B1560B832B56069e7b38ab1", BlockchainType.Optimism to "0x731352dcF66014156B1560B832B56069e7b38ab1", + BlockchainType.Base to "0x731352dcF66014156B1560B832B56069e7b38ab1", BlockchainType.ArbitrumOne to "0x731352dcF66014156B1560B832B56069e7b38ab1", BlockchainType.Solana to "ELFQmFXqdS6C1zVqZifs7WAmLKovdEPbWSnqomhZoK3B", BlockchainType.Gnosis to "0x731352dcF66014156B1560B832B56069e7b38ab1", diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/entities/Address.kt b/app/src/main/java/io/horizontalsystems/bankwallet/entities/Address.kt index c19d821c70..bc39725523 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/entities/Address.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/entities/Address.kt @@ -48,6 +48,7 @@ val BitcoinAddress.tokenType: TokenType BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.ArbitrumOne, BlockchainType.Solana, BlockchainType.Gnosis, diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/AddressHandlerFactory.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/AddressHandlerFactory.kt index 93adcf9965..46827df230 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/AddressHandlerFactory.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/AddressHandlerFactory.kt @@ -59,6 +59,7 @@ class AddressHandlerFactory( BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Gnosis, BlockchainType.Fantom, BlockchainType.ArbitrumOne -> { @@ -92,6 +93,7 @@ class AddressHandlerFactory( BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Gnosis, BlockchainType.Fantom, BlockchainType.ArbitrumOne -> { diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/AddressInputModule.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/AddressInputModule.kt index 099aa025b4..8b788e512d 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/AddressInputModule.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/AddressInputModule.kt @@ -32,6 +32,7 @@ object AddressInputModule { BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Gnosis, BlockchainType.Fantom, BlockchainType.ArbitrumOne -> { @@ -83,6 +84,7 @@ object AddressInputModule { BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Gnosis, BlockchainType.Fantom, BlockchainType.ArbitrumOne -> { diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/IAddressHandler.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/IAddressHandler.kt index 3f137daed6..8da0d71019 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/IAddressHandler.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/address/IAddressHandler.kt @@ -109,6 +109,7 @@ class AddressHandlerUdn( BlockchainType.BinanceChain, BlockchainType.Polygon, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Avalanche, BlockchainType.Gnosis, BlockchainType.Fantom, @@ -138,6 +139,7 @@ class AddressHandlerUdn( BlockchainType.Avalanche -> "AVAX" BlockchainType.Ethereum, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.ArbitrumOne, BlockchainType.Gnosis, BlockchainType.Fantom -> "ERC20" diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/addtoken/AddTokenService.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/addtoken/AddTokenService.kt index 6d315140b5..e05fcd145c 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/addtoken/AddTokenService.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/addtoken/AddTokenService.kt @@ -34,6 +34,7 @@ class AddTokenService( BlockchainType.Fantom, BlockchainType.ArbitrumOne, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Solana ) diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/balance/BalanceViewItemFactory.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/balance/BalanceViewItemFactory.kt index 977ec4db5a..2843f5e517 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/balance/BalanceViewItemFactory.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/balance/BalanceViewItemFactory.kt @@ -96,6 +96,7 @@ class BalanceViewItemFactory { BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Solana, BlockchainType.Gnosis, BlockchainType.Fantom, diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/market/filters/MarketFiltersService.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/market/filters/MarketFiltersService.kt index 5b1102a5d5..9af5f39016 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/market/filters/MarketFiltersService.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/market/filters/MarketFiltersService.kt @@ -32,6 +32,7 @@ class MarketFiltersService( BlockchainType.Unsupported("moonriver"), BlockchainType.Unsupported("okex-chain"), BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Polygon, BlockchainType.Unsupported("solana"), BlockchainType.Unsupported("sora"), diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/BaseUniswapV3Provider.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/BaseUniswapV3Provider.kt index 83973219c0..e3026ade4c 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/BaseUniswapV3Provider.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/BaseUniswapV3Provider.kt @@ -154,6 +154,7 @@ abstract class BaseUniswapV3Provider(dexType: DexType) : EvmSwapProvider() { BlockchainType.BinanceSmartChain, BlockchainType.Polygon, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.ArbitrumOne -> uniswapV3Kit.etherToken(chain) else -> throw Exception("Invalid coin for swap: $token") } diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/OneInchProvider.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/OneInchProvider.kt index b57007de91..f036ce1bc7 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/OneInchProvider.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/OneInchProvider.kt @@ -46,6 +46,7 @@ object OneInchProvider : EvmSwapProvider() { BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Gnosis, BlockchainType.Fantom, BlockchainType.ArbitrumOne diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/UniswapV3Provider.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/UniswapV3Provider.kt index 1da5b507fd..2d5b90812b 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/UniswapV3Provider.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/providers/UniswapV3Provider.kt @@ -16,7 +16,8 @@ object UniswapV3Provider : BaseUniswapV3Provider(DexType.Uniswap) { BlockchainType.ArbitrumOne, // BlockchainType.Optimism, BlockchainType.Polygon, - BlockchainType.BinanceSmartChain + BlockchainType.BinanceSmartChain, + BlockchainType.Base, -> true else -> false } diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/sendtransaction/SendTransactionServiceFactory.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/sendtransaction/SendTransactionServiceFactory.kt index f886dc35a8..40b4ffcfc2 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/sendtransaction/SendTransactionServiceFactory.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/multiswap/sendtransaction/SendTransactionServiceFactory.kt @@ -10,6 +10,7 @@ object SendTransactionServiceFactory { BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.ArbitrumOne, BlockchainType.Gnosis, BlockchainType.Fantom -> SendTransactionServiceEvm(blockchainType) diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/send/SendFragment.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/send/SendFragment.kt index 1649409a2b..70674b3e07 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/send/SendFragment.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/send/SendFragment.kt @@ -123,6 +123,7 @@ class SendFragment : BaseFragment() { BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.Gnosis, BlockchainType.Fantom, BlockchainType.ArbitrumOne -> { diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactionInfo/TransactionInfoModule.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactionInfo/TransactionInfoModule.kt index 9cd2456f10..9823ceb791 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactionInfo/TransactionInfoModule.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactionInfo/TransactionInfoModule.kt @@ -71,6 +71,6 @@ data class TransactionInfoItem( val BlockchainType.resendable: Boolean get() = when (this) { - BlockchainType.Optimism, BlockchainType.ArbitrumOne -> false + BlockchainType.Optimism, BlockchainType.Base, BlockchainType.ArbitrumOne -> false else -> true } diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactions/TransactionRecordRepository.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactions/TransactionRecordRepository.kt index 160cfb9025..0772c7d639 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactions/TransactionRecordRepository.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactions/TransactionRecordRepository.kt @@ -77,6 +77,7 @@ class TransactionRecordRepository( BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.ArbitrumOne, BlockchainType.Gnosis, BlockchainType.Fantom, diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactions/TransactionsViewModel.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactions/TransactionsViewModel.kt index cf79785308..fdafeded16 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactions/TransactionsViewModel.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/transactions/TransactionsViewModel.kt @@ -245,6 +245,7 @@ data class TransactionViewItem( BlockchainType.Polygon -> R.drawable.logo_chain_polygon_trx_24 BlockchainType.Avalanche -> R.drawable.logo_chain_avalanche_trx_24 BlockchainType.Optimism -> R.drawable.logo_chain_optimism_trx_24 + BlockchainType.Base -> R.drawable.logo_chain_base_trx_24 BlockchainType.ArbitrumOne -> R.drawable.logo_chain_arbitrum_one_trx_24 BlockchainType.Gnosis -> R.drawable.logo_chain_gnosis_trx_32 BlockchainType.Fantom -> R.drawable.logo_chain_fantom_trx_32 diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/modules/watchaddress/WatchAddressViewModel.kt b/app/src/main/java/io/horizontalsystems/bankwallet/modules/watchaddress/WatchAddressViewModel.kt index 4a3b80857f..d049a27b2a 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/modules/watchaddress/WatchAddressViewModel.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/modules/watchaddress/WatchAddressViewModel.kt @@ -148,6 +148,7 @@ class WatchAddressViewModel( BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.ArbitrumOne, BlockchainType.Gnosis, BlockchainType.Fantom -> Type.EvmAddress diff --git a/app/src/main/java/io/horizontalsystems/bankwallet/ui/compose/components/TransactionInfoCells.kt b/app/src/main/java/io/horizontalsystems/bankwallet/ui/compose/components/TransactionInfoCells.kt index 8ccec6e2f5..06f477b1b5 100644 --- a/app/src/main/java/io/horizontalsystems/bankwallet/ui/compose/components/TransactionInfoCells.kt +++ b/app/src/main/java/io/horizontalsystems/bankwallet/ui/compose/components/TransactionInfoCells.kt @@ -714,6 +714,7 @@ private fun openTransactionOptionsModule( BlockchainType.Polygon, BlockchainType.Avalanche, BlockchainType.Optimism, + BlockchainType.Base, BlockchainType.ArbitrumOne -> { navController.slideFromRight( R.id.transactionSpeedUpCancelFragment, diff --git a/app/src/main/res/drawable/base_erc20.xml b/app/src/main/res/drawable/base_erc20.xml new file mode 100644 index 0000000000..b7e07b08af --- /dev/null +++ b/app/src/main/res/drawable/base_erc20.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/logo_chain_base_trx_24.xml b/app/src/main/res/drawable/logo_chain_base_trx_24.xml new file mode 100644 index 0000000000..f36fc71969 --- /dev/null +++ b/app/src/main/res/drawable/logo_chain_base_trx_24.xml @@ -0,0 +1,13 @@ + + + + + +