davide
002c854497
feat(wallet): add P2PKH, P2SH-P2WPKH, and P2TR (Taproot/BIP86) address types
...
- ScriptKind.Taproot (BIP86, purpose 86', P2WPKH → witness v1 bech32m plm1p)
derivation wired in DerivationPaths and ChainProfiles (xprv/xpub headers,
no SLIP-132 standard for P2TR); NBitcoin ScriptPubKeyType.TaprootBIP86
- Wizard step StepScriptType inserted between passphrase and password: 4 radio
buttons (Legacy / Wrapped SegWit / Native SegWit★ / Taproot), localized in
6 languages; CreateOrRestore now uses SelectedScriptKind instead of hardcoded
NativeSegwit; back navigation updated accordingly
- BIP86 golden-vector tests (Bip86TaprootTests): output key verified against
official Bitcoin BIP86 addresses, plm1p prefix asserted
2026-06-15 12:03:52 +02:00
davide
2ddc0f920c
refactor(app): split MainWindowViewModel into partial files by area
...
1300-line monolith → 7 focused files (max 359 lines each):
MainWindowViewModel.cs core fields, constructor, lifecycle
MainWindowViewModel.Wizard.cs setup wizard and wallet open/close flows
MainWindowViewModel.Settings.cs language, unit, overlay flags
MainWindowViewModel.Sync.cs server config, connection, sync loop
MainWindowViewModel.Send.cs send panel
MainWindowViewModel.Contacts.cs contact management
MainWindowViewModel.Receive.cs balance display, QR, addresses, tx details
No behaviour change, no XAML change, 127/127 tests pass.
2026-06-13 21:15:07 +02:00