Skip to content
Draft
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
5 changes: 3 additions & 2 deletions .git_hooks/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,13 @@ if echo "$staged" | grep -q '\.dart$'; then
# `exclude:`, so the filter lives here — keep the regex in sync with the
# format-check target in the makefile (which CI invokes). xargs -r no-ops when
# the staged set is all-generated. Exits non-zero if any staged file is
# unformatted.
# unformatted. Batch inputs to keep each formatter process below the
# operating system argument limit after code generation.
# $DART is intentionally unquoted: the fallback sets DART="fvm dart" (two
# words), and quoting it makes xargs exec a literal binary named "fvm dart"
# (exit 127). Word splitting here matches the `$DART fix` call above.
echo "$staged" | grep '\.dart$' | grep -vE '\.(g|freezed|gr|config|mocks|steps)\.dart$|/generated/' \
| xargs -r $DART format --output=none --set-exit-if-changed >"$fmtOut" 2>&1 &
| xargs -r -n 500 $DART format --output=none --set-exit-if-changed >"$fmtOut" 2>&1 &
fmtPid=$!

wait $analyzePid; analyzeExit=$?
Expand Down
31 changes: 30 additions & 1 deletion FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ graph TB
WALLET_BACKUP[Wallet Backup]
KEYCHAIN_RECOVERY[Keychain Recovery]
REMOTE_KEYCHAIN_RECOVERY[Remote Keychain Recovery]
WALLET_METADATA_BACKUP[Wallet Metadata Backup]
NOSTR_IDENTITY[Nostr Identity]
BULLNYM[Bullnym]
AUTOMATIC_FALLBACK[Automatic Fallback]
Expand All @@ -40,6 +41,7 @@ graph TB
FEES[Fees]
WALLETS[Wallets]
EXCHANGE[Exchange]
FIAT_SETTLEMENT[Fiat Settlement]
APP_STARTUP[App Startup]
ONBOARDING[Onboarding]
UTXO_MGMT[UTXO Management]
Expand All @@ -65,6 +67,7 @@ graph TB
COINS[Coins / UTXOs]
ANNOUNCEMENTS[Announcements]
CONSOLIDATION[Consolidation]
WIZARD[Onboarding Wizard]

%% Dependencies to Core (all features depend on Core, but showing it explicitly would clutter the diagram)
%% Instead, we note this in the documentation below
Expand Down Expand Up @@ -100,6 +103,16 @@ graph TB
REMOTE_KEYCHAIN_RECOVERY --> KEYCHAIN_RECOVERY
REMOTE_KEYCHAIN_RECOVERY --> LIGHTNING_ADDRESS
REMOTE_KEYCHAIN_RECOVERY --> WALLET_BACKUP
FIAT_SETTLEMENT --> BULLNYM
FIAT_SETTLEMENT --> NOSTR_IDENTITY
FIAT_SETTLEMENT --> EXCHANGE
FIAT_SETTLEMENT --> WALLETS
FIAT_SETTLEMENT --> SETTINGS
GET_PAID --> FIAT_SETTLEMENT
LIGHTNING_ADDRESS --> FIAT_SETTLEMENT
PAYMENT_PAGE --> FIAT_SETTLEMENT
POS --> FIAT_SETTLEMENT
INVOICES --> FIAT_SETTLEMENT
NOSTR_IDENTITY --> BIP85_REGISTRY
ONBOARDING --> REMOTE_KEYCHAIN_RECOVERY
LIGHTNING_ADDRESS --> BIP85_REGISTRY
Expand Down Expand Up @@ -136,6 +149,11 @@ graph TB
GET_PAID --> PAYMENT_PAGE
GET_PAID --> POS
GET_PAID --> WALLETS
REMOTE_KEYCHAIN_RECOVERY --> KEYCHAIN_MANIFEST
REMOTE_KEYCHAIN_RECOVERY --> KEYCHAIN_RECOVERY
REMOTE_KEYCHAIN_RECOVERY --> WALLET_METADATA_BACKUP
REMOTE_KEYCHAIN_RECOVERY --> LIGHTNING_ADDRESS
REMOTE_KEYCHAIN_RECOVERY --> PAYMENT_PAGE
REMOTE_KEYCHAIN_RECOVERY --> POS
BUY --> EXCHANGE
BUY --> RECEIVE
Expand All @@ -149,6 +167,17 @@ graph TB
WALLET_BACKUP --> BULLNYM
WALLET_BACKUP --> KEYCHAIN_MANIFEST
WALLET_BACKUP --> NOSTR_IDENTITY
WALLET_BACKUP --> WALLET_METADATA_BACKUP
KEYCHAIN_MANIFEST --> BULLNYM
KEYCHAIN_MANIFEST --> NOSTR_IDENTITY
GET_PAID_SETTINGS --> KEYCHAIN_MANIFEST
REMOTE_KEYCHAIN_RECOVERY --> KEYCHAIN_MANIFEST
REMOTE_KEYCHAIN_RECOVERY --> KEYCHAIN_RECOVERY
REMOTE_KEYCHAIN_RECOVERY --> LIGHTNING_ADDRESS
ONBOARDING --> REMOTE_KEYCHAIN_RECOVERY
WALLET_METADATA_BACKUP --> LABELS
WALLET_METADATA_BACKUP --> WALLETS
WIZARD --> WALLET_METADATA_BACKUP
EXCHANGE --> SETTINGS
FEES --> NETWORK
FUNDING --> EXCHANGE
Expand Down Expand Up @@ -199,7 +228,7 @@ graph TB
classDef featureStyle fill:#1a202c,stroke:#2d3748,stroke-width:2px,color:#e2e8f0

class CORE coreStyle
class SETTINGS,TOR,PIN_CODE,LABELS,SECRETS,HW_WALLETS,BTC_PRICE,BTCPAY,NETWORK,BIP85,BIP85_REGISTRY,DETERMINISTIC_WALLETS,KEYCHAIN_MANIFEST,WALLET_BACKUP,KEYCHAIN_RECOVERY,REMOTE_KEYCHAIN_RECOVERY,NOSTR_IDENTITY,BULLNYM,AUTOMATIC_FALLBACK,LIGHTNING_ADDRESS,PAYMENT_PAGE,POS,INVOICES,GET_PAID_SETTINGS,GET_PAID,FEES,WALLETS,EXCHANGE,APP_STARTUP,ONBOARDING,UTXO_MGMT,ADDRESS_MGMT,RECIPIENTS,FUNDING,BACKUPS,SWAPS,PAYJOIN,WITHDRAWAL,STATUS,SEND,RECEIVE,TRANSFER,TX_HISTORY,BG_TASKS,AUTOSWAPS,AUTOSWEEP,DCA,SELL,PAY,BUY,COINS,ANNOUNCEMENTS,CONSOLIDATION featureStyle
class SETTINGS,TOR,PIN_CODE,LABELS,SECRETS,HW_WALLETS,BTC_PRICE,BTCPAY,NETWORK,BIP85,BIP85_REGISTRY,DETERMINISTIC_WALLETS,KEYCHAIN_MANIFEST,WALLET_BACKUP,KEYCHAIN_RECOVERY,WALLET_METADATA_BACKUP,NOSTR_IDENTITY,BULLNYM,AUTOMATIC_FALLBACK,LIGHTNING_ADDRESS,PAYMENT_PAGE,POS,INVOICES,GET_PAID_SETTINGS,GET_PAID,FEES,WALLETS,EXCHANGE,APP_STARTUP,ONBOARDING,REMOTE_KEYCHAIN_RECOVERY,UTXO_MGMT,ADDRESS_MGMT,RECIPIENTS,FUNDING,BACKUPS,SWAPS,PAYJOIN,WITHDRAWAL,STATUS,SEND,RECEIVE,TRANSFER,TX_HISTORY,BG_TASKS,AUTOSWAPS,AUTOSWEEP,DCA,SELL,PAY,BUY,COINS,WIZARD,ANNOUNCEMENTS,CONSOLIDATION featureStyle
```

## About Package Dependency Diagrams
Expand Down
1 change: 1 addition & 0 deletions lib/core/storage/migrations/migrations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export 'package:bb_mobile/core/storage/migrations/schema_14_to_15.dart';
export 'package:bb_mobile/core/storage/migrations/schema_15_to_16.dart';
export 'package:bb_mobile/core/storage/migrations/schema_16_to_17.dart';
export 'package:bb_mobile/core/storage/migrations/schema_17_to_18.dart';
export 'package:bb_mobile/core/storage/migrations/schema_18_to_19.dart';
export 'package:bb_mobile/core/storage/migrations/schema_1_to_2.dart';
export 'package:bb_mobile/core/storage/migrations/schema_2_to_3.dart';
export 'package:bb_mobile/core/storage/migrations/schema_3_to_4.dart';
Expand Down
14 changes: 14 additions & 0 deletions lib/core/storage/migrations/schema_18_to_19.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import 'package:bb_mobile/core/storage/sqlite_database.steps.dart';
import 'package:drift/drift.dart';

/// Collapses the historical metadata-backup state table into the unified
/// wallet-backup state and records incomplete recovery as a durable fence.
class Schema18To19 {
static Future<void> migrate(Migrator m, Schema19 schema19) async {
await m.deleteTable('wallet_metadata_backup_states');
await m.addColumn(
schema19.walletBackupStates,
schema19.walletBackupStates.recoveryBlocked,
);
}
}
Loading