From fd3158293eaf1364311e4ad2a14414a236bcfb9c Mon Sep 17 00:00:00 2001 From: cyan Date: Sat, 24 May 2025 21:21:49 +0200 Subject: [PATCH] fix(cw_monero): properly await transaction commit (#2284) --- cw_monero/lib/api/transaction_history.dart | 10 +++++----- cw_monero/lib/pending_monero_transaction.dart | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cw_monero/lib/api/transaction_history.dart b/cw_monero/lib/api/transaction_history.dart index 4360149d2..2fe0888f6 100644 --- a/cw_monero/lib/api/transaction_history.dart +++ b/cw_monero/lib/api/transaction_history.dart @@ -251,13 +251,13 @@ Future createTransactionMultDest( ); } -String? commitTransactionFromPointerAddress({required int address, required bool useUR}) => +Future commitTransactionFromPointerAddress({required int address, required bool useUR}) => commitTransaction(tx: MoneroPendingTransaction(Pointer.fromAddress(address)), useUR: useUR); -String? commitTransaction({required Wallet2PendingTransaction tx, required bool useUR}) { +Future commitTransaction({required Wallet2PendingTransaction tx, required bool useUR}) async { final txCommit = useUR ? tx.commitUR(120) - : Isolate.run(() { + : await Isolate.run(() { monero.PendingTransaction_commit( Pointer.fromAddress(tx.ffiAddress()), filename: '', @@ -286,9 +286,9 @@ String? commitTransaction({required Wallet2PendingTransaction tx, required bool throw CreationTransactionException(message: error); } if (useUR) { - return txCommit as String?; + return Future.value(txCommit as String?); } else { - return null; + return Future.value(null); } } diff --git a/cw_monero/lib/pending_monero_transaction.dart b/cw_monero/lib/pending_monero_transaction.dart index 4f8606a79..f29d1ccd2 100644 --- a/cw_monero/lib/pending_monero_transaction.dart +++ b/cw_monero/lib/pending_monero_transaction.dart @@ -46,7 +46,7 @@ class PendingMoneroTransaction with PendingTransaction { @override Future commit() async { try { - monero_transaction_history.commitTransactionFromPointerAddress( + await monero_transaction_history.commitTransactionFromPointerAddress( address: pendingTransactionDescription.pointerAddress, useUR: false); } catch (e) { @@ -68,7 +68,7 @@ class PendingMoneroTransaction with PendingTransaction { @override Future commitUR() async { try { - final ret = monero_transaction_history.commitTransactionFromPointerAddress( + final ret = await monero_transaction_history.commitTransactionFromPointerAddress( address: pendingTransactionDescription.pointerAddress, useUR: true); storeSync(force: true);