4 Commits

Author SHA1 Message Date
c98d4db711 test: expand test suite to 194 tests across all modules
Add tests/test_crypto.py (22 tests) and tests/test_single_wallet.py
(46 tests) for previously uncovered modules; extend existing test files
with WIF format checks, error/validation cases, BIP39 passphrase,
account index, words_num, and redeem script structure tests
2026-03-10 09:40:01 +01:00
54d282a36b feat: add Electrum-compatible wallet encryption
- Add src/crypto.py with AES-256-CBC pw_encode/pw_decode
  using double SHA256 key derivation (Electrum standard)
- Add encrypt_wallet() and decrypt_wallet() to src/hd_wallet.py
- Prompt for encryption password when saving HD wallet to file
- Add 13 encryption/decryption tests to tests/test_hd_wallet.py
- Add pycryptodome to requirements.txt
2026-03-09 13:35:33 +01:00
2727844ec8 feat: add HD wallet generator with BIP-44/49/84/86 support
- Add src/hd_wallet.py with deterministic key derivation (BIP-32/39)
- Support P2PKH (BIP-44), P2SH-P2WPKH (BIP-49), P2WPKH (BIP-84), P2TR (BIP-86)
- JSON output aligned to Electrum wallet format (keystore, xpub/xprv, derivation path, root fingerprint)
- Add tests/test_hd_wallet.py with 34 tests (structure, prefixes, determinism, SecretScan)
- Add bip-utils to requirements.txt
- Add option 6 to __main__.py menu
2026-03-09 12:04:43 +01:00
409669e000 test: add tests/ folder with SecretScan verification links
- Add pytest test suite for all 5 address types (P2PK, P2PKH, P2SH, P2WPKH, P2TR)
- Test output fields, address prefixes per network, key lengths and uniqueness
- Each test file prints the SecretScan URL for manual address verification
- Add pytest to requirements.txt
2026-03-09 11:11:41 +01:00