From 32942c380d4ce0db25e3f23195ea9e11ee6a8a59 Mon Sep 17 00:00:00 2001 From: Sergey Balashov Date: Mon, 18 Dec 2023 19:09:13 +0000 Subject: [PATCH 1/3] IOS-5466 Add placeholderAddress IOS-5466 Update Blockchain.swift --- BlockchainSdk/Common/Blockchain.swift | 81 +++++++++++++++++++++++- BlockchainSdk/Common/WalletManager.swift | 2 +- 2 files changed, 80 insertions(+), 3 deletions(-) diff --git a/BlockchainSdk/Common/Blockchain.swift b/BlockchainSdk/Common/Blockchain.swift index d382719fd..66497cb2e 100644 --- a/BlockchainSdk/Common/Blockchain.swift +++ b/BlockchainSdk/Common/Blockchain.swift @@ -891,7 +891,6 @@ extension Blockchain { @available(iOS 13.0, *) extension Blockchain { - var assembly: WalletManagerAssembly { switch self { case .bitcoin: @@ -958,5 +957,83 @@ extension Blockchain { return DecimalWalletAssembly() } } - +} + +// MARK: - Placeholder address + +@available(iOS 13.0, *) +extension Blockchain { + /// Use this address for estimated fee + /// DO NOT send any amounts to this address!! + var placeholderAddress: String { + switch self { + case .bitcoin: + return "bc1qwff8ryfujqukhyjcqghs68j3ph948pwcpx24d8" + case .litecoin: + return "ltc1qtcl2c7mnld8pk7kjyef9gd2d7hxxz9wqh6ylef" + case .stellar: + return "GAYK3NFZTAJQCLKGEDBRFQWMMY34MGO3PA6X3RX66XVZTCVE47A4SEK6" + case .ethereum, + .ethereumPoW, + .ethereumFair, + .rsk, + .bsc, + .polygon, + .avalanche, + .fantom, + .arbitrum, + .gnosis, + .saltPay, + .cronos, + .telos, + .octa, + .optimism, + .kava: + return "0xB62553026e1727cEE953868400C9AA20f96AA6fB" + case .ethereumClassic: + return "0xB835e3DBc99b7C7B232d3a4b6924C30Cf9813766" + case .bitcoinCash: + return "bitcoincash:qz42lpts8hsvf00r2wd2et6dandw9n8hmucl67puqg" + case .binance: + return "bnb1nhzmtee445kyf78a243pxacp85q866gdw74xar" + case .cardano: + return "addr1q9svm389hgtksjvawpt9nfd9twk4kfckhs23wxrdfspynw9g3emv6k6njzwqvdmtff4426vy2pfg0ngu9t6pr9xmd0ass48agt" + case .xrp: + return "rqVUVDZoBL1RN1E8sRMJXNy2baQ4p1Ekm" + case .ducatus: + return "" + case .tezos: + return "tz1T2BYR5vzmtrub9qhXzjBj7XFkTeXhHJ8R" + case .dogecoin: + return "DDL1UEGQwdcKxqD1juYhW8AgJaXhEZMY3C" + case .solana: + return "AEtkrvuucZhDbbdw4HPwad1w3dcuh9r3eVVS3GCDaHYX" + case .polkadot: + return "1mRpHu2zGPsugVJxrz41FMxopVWSn5s6HMepk3DitrP1cMf" + case .kusama: + return "Eh1V6Lqzd49RahV9ssZ6LTEvcDkWSnr53D1feYEZpM2Kdv3" + case .azero: + return "5HqqS1sYV19pP6jGVNyowBcPWvoyaJCQpwgyWDaNQaFNb93g" + case .tron: + return "TAFqkNfz3escPSdhogPX8nqDY4Rxzxv5v3" + case .dash: + return "XcN7YdKmSshcFSkL5vjJfnWUhnH2Uxqbm4" + case .ton: + return "EQCQsD3nAYO4agXyaiqVa3v0CA4K4nTdSRMJZw24ZFRQmBWT" + case .kaspa: + return "kaspa:qypwj0zh73z276kufh3u9fv8vpjcc8h4tt356hc9pzvnykxxxr32yycwqedqmt0" + case .ravencoin: + return "RCNTqArDCW57hBHrYKYdKNVs17PbpS9qN6" + case .cosmos: + return "cosmos158672lrar4kmsp29r0xw9suywp3snsgwe2gpym" + case .terraV1, .terraV2: + return "terra1frj93e573hlw7qfdln0r5ms74kudnlfvmwv0n5" + case .chia: + return "xch1zedrwdnv9jdt0an007pgk8wxjhvkveqnrxc003mceu2prt0hxknqtmggeu" + case .near: + return "e6ca3ee691ed78d47cffd38ecc04f1e80ef07b7908be7fc5fa5f2e5f25a0a3d8" + case .decimal: + return "d01kcj4xqnwzunua62ns6zqpjd2yruk4fhm9k8xj4" + } + } } diff --git a/BlockchainSdk/Common/WalletManager.swift b/BlockchainSdk/Common/WalletManager.swift index 72696ec8d..9b5c64977 100644 --- a/BlockchainSdk/Common/WalletManager.swift +++ b/BlockchainSdk/Common/WalletManager.swift @@ -81,7 +81,7 @@ public protocol TransactionFeeProvider { @available(iOS 13.0, *) public extension TransactionFeeProvider where Self: WalletProvider { func estimatedFee(amount: Amount) -> AnyPublisher<[Fee], Error> { - getFee(amount: amount, destination: wallet.address) + getFee(amount: amount, destination: wallet.blockchain.placeholderAddress) } } From c74bc9f74d6750dd8cde59bc6f851edee5a3d8f8 Mon Sep 17 00:00:00 2001 From: Sergey Balashov Date: Tue, 19 Dec 2023 09:34:06 +0000 Subject: [PATCH 2/3] IOS-5466 -> estimationFeeAddress --- BlockchainSdk/Common/Blockchain.swift | 2 +- BlockchainSdk/Common/WalletManager.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BlockchainSdk/Common/Blockchain.swift b/BlockchainSdk/Common/Blockchain.swift index 66497cb2e..568ae5a7c 100644 --- a/BlockchainSdk/Common/Blockchain.swift +++ b/BlockchainSdk/Common/Blockchain.swift @@ -965,7 +965,7 @@ extension Blockchain { extension Blockchain { /// Use this address for estimated fee /// DO NOT send any amounts to this address!! - var placeholderAddress: String { + var estimationFeeAddress: String { switch self { case .bitcoin: return "bc1qwff8ryfujqukhyjcqghs68j3ph948pwcpx24d8" diff --git a/BlockchainSdk/Common/WalletManager.swift b/BlockchainSdk/Common/WalletManager.swift index 9b5c64977..7ff04d80e 100644 --- a/BlockchainSdk/Common/WalletManager.swift +++ b/BlockchainSdk/Common/WalletManager.swift @@ -81,7 +81,7 @@ public protocol TransactionFeeProvider { @available(iOS 13.0, *) public extension TransactionFeeProvider where Self: WalletProvider { func estimatedFee(amount: Amount) -> AnyPublisher<[Fee], Error> { - getFee(amount: amount, destination: wallet.blockchain.placeholderAddress) + getFee(amount: amount, destination: wallet.blockchain.estimationFeeAddress) } } From 4fff2a50943601fb8703e95aa34a9cd507eb8474 Mon Sep 17 00:00:00 2001 From: Sergey Balashov Date: Tue, 19 Dec 2023 09:36:14 +0000 Subject: [PATCH 3/3] IOS-5466 Update Blockchain.swift --- BlockchainSdk/Common/Blockchain.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/BlockchainSdk/Common/Blockchain.swift b/BlockchainSdk/Common/Blockchain.swift index 568ae5a7c..6191792a0 100644 --- a/BlockchainSdk/Common/Blockchain.swift +++ b/BlockchainSdk/Common/Blockchain.swift @@ -965,6 +965,7 @@ extension Blockchain { extension Blockchain { /// Use this address for estimated fee /// DO NOT send any amounts to this address!! + /// https://www.notion.so/tangem/Express-Address-for-fee-calculations-53678a61de674eba9af6b166f23175fe var estimationFeeAddress: String { switch self { case .bitcoin: