From e8cd01e6154d2ee8cf583440200730a5d3117d65 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 21 Nov 2024 12:13:22 -0600 Subject: [PATCH 1/3] fix parsing of coinbase utxos --- .../wallet_mixin_interfaces/electrumx_interface.dart | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/wallets/wallet/wallet_mixin_interfaces/electrumx_interface.dart b/lib/wallets/wallet/wallet_mixin_interfaces/electrumx_interface.dart index b542f071c..62f0e2255 100644 --- a/lib/wallets/wallet/wallet_mixin_interfaces/electrumx_interface.dart +++ b/lib/wallets/wallet/wallet_mixin_interfaces/electrumx_interface.dart @@ -1190,6 +1190,9 @@ mixin ElectrumXInterface cryptoCurrency: cryptoCurrency, ); + final inputs = txn["vin"] as List? ?? []; + final isCoinbase = inputs.any((e) => (e as Map?)?["coinbase"] != null); + final vout = jsonUTXO["tx_pos"] as int; final outputs = txn["vout"] as List; @@ -1221,7 +1224,10 @@ mixin ElectrumXInterface name: checkBlockResult.utxoLabel ?? "", isBlocked: checkBlockResult.blocked, blockedReason: checkBlockResult.blockedReason, - isCoinbase: txn["is_coinbase"] as bool? ?? false, + isCoinbase: txn["is_coinbase"] as bool? ?? + txn["is-coinbase"] as bool? ?? + txn["iscoinbase"] as bool? ?? + isCoinbase, blockHash: txn["blockhash"] as String?, blockHeight: jsonUTXO["height"] as int?, blockTime: txn["blocktime"] as int?, From f3c9c41376ad1810ecd845fa807df8f94ef9a406 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 21 Nov 2024 12:13:34 -0600 Subject: [PATCH 2/3] show 0 fee for coinbase transactions --- lib/models/isar/models/blockchain_data/v2/transaction_v2.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/models/isar/models/blockchain_data/v2/transaction_v2.dart b/lib/models/isar/models/blockchain_data/v2/transaction_v2.dart index 4b9c84d6d..3d8903391 100644 --- a/lib/models/isar/models/blockchain_data/v2/transaction_v2.dart +++ b/lib/models/isar/models/blockchain_data/v2/transaction_v2.dart @@ -129,6 +129,10 @@ class TransactionV2 { return fee; } + if (isCoinbase()) { + return Amount.zeroWith(fractionDigits: fractionDigits); + } + final inSum = inputs.map((e) => e.value).reduce((value, element) => value += element); final outSum = outputs From 98b98ac8c5f67fcdde601313c772977d81543fe8 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 21 Nov 2024 12:14:01 -0600 Subject: [PATCH 3/3] fix gui overflow issues --- .../wallet_view/sub_widgets/desktop_wallet_features.dart | 2 +- .../sub_widgets/more_features/more_features_dialog.dart | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart index 9ad37d2a7..4639bc7e5 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart @@ -119,7 +119,7 @@ class _DesktopWalletFeaturesState extends ConsumerState { barrierDismissible: false, builder: (context) => DesktopDialog( maxWidth: 500, - maxHeight: 210, + maxHeight: double.infinity, child: Padding( padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 20), child: Column( diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/more_features/more_features_dialog.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/more_features/more_features_dialog.dart index e3a8f0dba..0869b0b50 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/more_features/more_features_dialog.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/more_features/more_features_dialog.dart @@ -246,6 +246,7 @@ class _MoreFeaturesDialogState extends ConsumerState { wallet.viewOnlyType == ViewOnlyWalletType.addressOnly; return DesktopDialog( + maxHeight: double.infinity, child: Column( mainAxisSize: MainAxisSize.min, children: [