diff --git a/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/OneInch/OneInchDataSource.swift b/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/OneInch/OneInchDataSource.swift index 057409df72..41ac212005 100644 --- a/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/OneInch/OneInchDataSource.swift +++ b/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/OneInch/OneInchDataSource.swift @@ -8,7 +8,7 @@ import ThemeKit import UIKit class OneInchDataSource { - private static let levelColors: [UIColor] = [.themeRemus, .themeJacob, .themeLucian] + private static let levelColors: [UIColor] = [.themeRemus, .themeJacob, .themeLucian, .themeLucian] private let disposeBag = DisposeBag() diff --git a/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/Uniswap/UniswapModule.swift b/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/Uniswap/UniswapModule.swift index f077093283..c38c8e60a1 100644 --- a/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/Uniswap/UniswapModule.swift +++ b/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/Uniswap/UniswapModule.swift @@ -114,6 +114,15 @@ extension UniswapKit.Kit.TradeError: LocalizedError { } } +extension UniswapKit.KitV3.TradeError: LocalizedError { + public var errorDescription: String? { + switch self { + case .tradeNotFound: return "swap.trade_error.not_found".localized + default: return nil + } + } +} + extension UniswapModule.TradeError: LocalizedError { public var errorDescription: String? { switch self { diff --git a/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/Uniswap/UniswapViewModel.swift b/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/Uniswap/UniswapViewModel.swift index 7a25adb59d..cedbcc70d9 100644 --- a/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/Uniswap/UniswapViewModel.swift +++ b/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/Uniswap/UniswapViewModel.swift @@ -369,7 +369,7 @@ extension UniswapViewModel { switch trade.impactLevel { case .warning: impactWarnings = [UniswapModule.UniswapWarning.highPriceImpact] - case .forbidden: impactErrors = [UniswapModule.UniswapError.forbiddenPriceImpact(provider: "Uniswap")] // we can use url from dex + case .forbidden: impactErrors = [UniswapModule.UniswapError.forbiddenPriceImpact(provider: dexName)] // we can use url from dex default: () } let sendEvmData = SendEvmData( diff --git a/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/UniswapV3/UniswapV3DataSource.swift b/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/UniswapV3/UniswapV3DataSource.swift index 98cf258451..e92b35699f 100644 --- a/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/UniswapV3/UniswapV3DataSource.swift +++ b/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/UniswapV3/UniswapV3DataSource.swift @@ -8,7 +8,7 @@ import UIKit import UniswapKit class UniswapV3DataSource { - private static let levelColors: [UIColor] = [.themeRemus, .themeJacob, .themeLucian] + private static let levelColors: [UIColor] = [.themeRemus, .themeJacob, .themeLucian, .themeLucian] private let disposeBag = DisposeBag() diff --git a/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/UniswapV3/UniswapV3ViewModel.swift b/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/UniswapV3/UniswapV3ViewModel.swift index 1d379fd3d9..ed204099ec 100644 --- a/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/UniswapV3/UniswapV3ViewModel.swift +++ b/UnstoppableWallet/UnstoppableWallet/Modules/Swap/Adapters/UniswapV3/UniswapV3ViewModel.swift @@ -369,14 +369,16 @@ extension UniswapV3ViewModel { ) var impactWarning = [Warning]() + var impactErrors = [Error]() switch trade.impactLevel { case .warning: impactWarning = [UniswapModule.UniswapWarning.highPriceImpact] - case .forbidden: impactWarning = [UniswapModule.UniswapWarning.forbiddenPriceImpact] + case .forbidden: impactErrors = [UniswapModule.UniswapError.forbiddenPriceImpact(provider: dexName)] default: () } let sendEvmData = SendEvmData( transactionData: transactionData, additionalInfo: .uniswap(info: swapInfo), - warnings: impactWarning + warnings: impactWarning, + errors: impactErrors ) openConfirmRelay.accept(sendEvmData)