CAKE-333 | fixed commit() method in the pending_bitcoin_transaction.dart; added bitcoin_commit_transaction_exception.dart to the app

OleksandrSobol committed Jun 24, 2021 at 18:59 UTC 7724d5e24885962a5dc2bcac8ee58626c6162813
2 files changed +12 -1
lib/bitcoin/bitcoin_commit_transaction_exception.dart new
+4
@@ -0,0 +1,4 @@
1 +class BitcoinCommitTransactionException implements Exception {
2 + @override
3 + String toString() => 'Transaction commit is failed.';
4 +}
\ No newline at end of file
lib/bitcoin/pending_bitcoin_transaction.dart
+8 -1
@@ -1,3 +1,4 @@
1 +import 'package:cake_wallet/bitcoin/bitcoin_commit_transaction_exception.dart';
2 import 'package:flutter/foundation.dart';
3 import 'package:bitcoin_flutter/bitcoin_flutter.dart' as bitcoin;
4 import 'package:cake_wallet/core/pending_transaction.dart';
@@ -33,7 +34,13 @@ class PendingBitcoinTransaction with PendingTransaction {
34
35 @override
36 Future<void> commit() async {
36 - await electrumClient.broadcastTransaction(transactionRaw: _tx.toHex());
37 + final result =
38 + await electrumClient.broadcastTransaction(transactionRaw: _tx.toHex());
39 +
40 + if (result.isEmpty) {
41 + throw BitcoinCommitTransactionException();
42 + }
43 +
44 _listeners?.forEach((listener) => listener(transactionInfo()));
45 }
46