Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cw 810 refactor electrum connection status #1799

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions cw_bitcoin/lib/electrum_wallet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2182,7 +2182,7 @@ abstract class ElectrumWalletBase
});
}

final balances = await Future.wait(balanceFutures);
final balances = await Future.wait(balanceFutures); // ToDo: add onError ignore failed balances

if (balances.isNotEmpty && balances.first['confirmed'] == null) {
// if we got null balance responses from the server, set our connection status to lost and return our last known balance:
Expand Down Expand Up @@ -2389,10 +2389,8 @@ abstract class ElectrumWalletBase
void _updateInputsAndOutputs(ElectrumTransactionInfo tx, ElectrumTransactionBundle bundle) {
tx.inputAddresses = tx.inputAddresses?.where((address) => address.isNotEmpty).toList();

if (tx.inputAddresses == null ||
tx.inputAddresses!.isEmpty ||
tx.outputAddresses == null ||
tx.outputAddresses!.isEmpty) {
if (tx.inputAddresses?.isNotEmpty != true ||
tx.outputAddresses?.isNotEmpty != true) {
List<String> inputAddresses = [];
List<String> outputAddresses = [];

Expand Down
35 changes: 15 additions & 20 deletions cw_core/lib/sync_status.dart
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
abstract class SyncStatus {
const SyncStatus();
double progress();
}

class StartingScanSyncStatus extends SyncStatus {
StartingScanSyncStatus(this.beginHeight);

final int beginHeight;
@override
double progress() => 0.0;
}

Expand Down Expand Up @@ -39,16 +31,25 @@ class SyncedSyncStatus extends SyncStatus {
double progress() => 1.0;
}

/// ===========================================================================

abstract class ScanSyncStatus extends SyncStatus {}

class StartingScanSyncStatus extends SyncStatus {
StartingScanSyncStatus(this.beginHeight);

final int beginHeight;
}

class SyncedTipSyncStatus extends SyncedSyncStatus {
SyncedTipSyncStatus(this.tip);

final int tip;
}

class SyncronizingSyncStatus extends SyncStatus {
@override
double progress() => 0.0;
}
/// ===========================================================================

class SyncronizingSyncStatus extends SyncStatus {}

class NotConnectedSyncStatus extends SyncStatus {
const NotConnectedSyncStatus();
Expand All @@ -75,15 +76,9 @@ class FailedSyncStatus extends NotConnectedSyncStatus {
String toString() => error ?? super.toString();
}

class ConnectingSyncStatus extends SyncStatus {
@override
double progress() => 0.0;
}
class ConnectingSyncStatus extends SyncStatus {}

class ConnectedSyncStatus extends SyncStatus {
@override
double progress() => 0.0;
}
class ConnectedSyncStatus extends SyncStatus {}

class UnsupportedSyncStatus extends NotConnectedSyncStatus {}

Expand Down