From b1caf79c1b4f4a3bb124d7eac24b80e38abf1914 Mon Sep 17 00:00:00 2001 From: Hector Chu <hectorchu@gmail.com> Date: Thu, 25 Apr 2024 23:13:41 +0100 Subject: [PATCH] Normal fee for non-mweb txns --- cw_bitcoin/lib/electrum_wallet.dart | 1 + cw_bitcoin/lib/litecoin_wallet.dart | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/cw_bitcoin/lib/electrum_wallet.dart b/cw_bitcoin/lib/electrum_wallet.dart index 1f5c14319..586c73ed8 100644 --- a/cw_bitcoin/lib/electrum_wallet.dart +++ b/cw_bitcoin/lib/electrum_wallet.dart @@ -1250,6 +1250,7 @@ abstract class ElectrumWalletBase totalConfirmed += confirmed; totalUnconfirmed += unconfirmed; + addressRecord.balance = confirmed + unconfirmed; if (confirmed > 0 || unconfirmed > 0) { addressRecord.setAsUsed(); } diff --git a/cw_bitcoin/lib/litecoin_wallet.dart b/cw_bitcoin/lib/litecoin_wallet.dart index b84675669..c9bee05f1 100644 --- a/cw_bitcoin/lib/litecoin_wallet.dart +++ b/cw_bitcoin/lib/litecoin_wallet.dart @@ -291,6 +291,13 @@ abstract class LitecoinWalletBase extends ElectrumWallet with Store { String? memo, required int feeRate}) async { + final spendsMweb = utxos.any((utxo) => utxo.utxo.scriptType == SegwitAddresType.mweb); + final paysToMweb = outputs.any((output) => + output.toOutput.scriptPubKey.getAddressType() == SegwitAddresType.mweb); + if (!spendsMweb && !paysToMweb) { + return await super.calcFee(utxos: utxos, outputs: outputs, + network: network, memo: memo, feeRate: feeRate); + } final txb = BitcoinTransactionBuilder(utxos: utxos, outputs: outputs, fee: BigInt.zero, network: network); final scanSecret = mwebHd.derive(0x80000000).privKey!;