fix dogecoin transaction size calculation (#2570)

Serhii committed Oct 11, 2025 at 02:31 UTC a56ae8e4ab06312358628fc5e587079c83d3356c
1 file changed +14
cw_dogecoin/lib/src/dogecoin_wallet.dart
+14
@@ -7,6 +7,7 @@ import 'package:cw_bitcoin/electrum_wallet.dart';
7 import 'package:cw_bitcoin/electrum_wallet_snapshot.dart';
8 import 'package:cw_core/crypto_currency.dart';
9 import 'package:cw_core/encryption_file_utils.dart';
10 +import 'package:cw_core/transaction_priority.dart';
11 import 'package:cw_core/unspent_coins_info.dart';
12 import 'package:cw_core/wallet_info.dart';
13 import 'package:cw_core/wallet_keys_file.dart';
@@ -65,6 +66,19 @@ abstract class DogeCoinWalletBase extends ElectrumWallet with Store {
66 @override
67 int get networkDustAmount => 100000000; // 1 DOGE = 1e8 koinu
68
69 + static int estimatedDogeCoinTransactionSize(int inputsCount, int outputsCounts) =>
70 + inputsCount * 180 + outputsCounts * 34 + 10;
71 +
72 + @override
73 + int feeAmountForPriority(TransactionPriority priority, int inputsCount, int outputsCount,
74 + {int? size}) =>
75 + feeRate(priority) * (size ?? estimatedDogeCoinTransactionSize(inputsCount, outputsCount));
76 +
77 + @override
78 + int feeAmountWithFeeRate(int feeRate, int inputsCount, int outputsCount, {int? size}) =>
79 + feeRate * (size ?? estimatedDogeCoinTransactionSize(inputsCount, outputsCount));
80 +
81 +
82 static Future<DogeCoinWallet> create(
83 {required String mnemonic,
84 required String password,