fix(cw_monero): properly await transaction commit (#2284)

This commit is contained in:
cyan 2025-05-24 21:21:49 +02:00 committed by GitHub
parent 939e5d9279
commit fd3158293e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 7 deletions

View file

@ -251,13 +251,13 @@ Future<PendingTransactionDescription> createTransactionMultDest(
);
}
String? commitTransactionFromPointerAddress({required int address, required bool useUR}) =>
Future<String?> commitTransactionFromPointerAddress({required int address, required bool useUR}) =>
commitTransaction(tx: MoneroPendingTransaction(Pointer.fromAddress(address)), useUR: useUR);
String? commitTransaction({required Wallet2PendingTransaction tx, required bool useUR}) {
Future<String?> 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);
}
}

View file

@ -46,7 +46,7 @@ class PendingMoneroTransaction with PendingTransaction {
@override
Future<void> 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<String?> commitUR() async {
try {
final ret = monero_transaction_history.commitTransactionFromPointerAddress(
final ret = await monero_transaction_history.commitTransactionFromPointerAddress(
address: pendingTransactionDescription.pointerAddress,
useUR: true);
storeSync(force: true);