Commit Graph

  • 1a4fefadc3 fix(wallet): keep transactions under the standard 100 KvB relay limit main davide 2026-07-17 19:44:36 +02:00
  • 3460e53b4f feat(spv): verify Merkle proofs progressively, gate spendability on it davide 2026-07-17 19:41:31 +02:00
  • feb765663c chore(chain): add mainnet checkpoint at height 475124 davide 2026-07-17 15:14:14 +02:00
  • 322ce8f305 chore(release): bump version to 1.0.0 davide 2026-07-09 08:45:12 +02:00
  • 077835a30b feat(wallet): decode OP_RETURN payloads and coinbase pool tags in tx details davide 2026-07-09 08:35:34 +02:00
  • 663460d62e feat(ui): add user guide button to help overlay davide 2026-07-07 22:35:19 +02:00
  • be818a50a8 docs: tighten CLAUDE.md/AGENTS.md formatting for scannability davide 2026-07-07 22:29:46 +02:00
  • 6f4ae679e5 docs: document fuzzing infrastructure and its security guarantees davide 2026-07-07 22:06:38 +02:00
  • cdede17683 feat(fuzz): add SharpFuzz-based fuzzing for untrusted-input parsers davide 2026-07-07 22:05:08 +02:00
  • a264669151 fix(storage): EncryptedFile.Decrypt must reject malformed containers cleanly davide 2026-07-07 22:05:08 +02:00
  • d9c75eaec2 fix(net): ParsePeers must tolerate any JSON shape from the server davide 2026-07-07 21:51:52 +02:00
  • c868c17505 fix(crypto): Bip39.TryParse must not throw on unrecognisable text davide 2026-07-07 21:51:22 +02:00
  • d8917fbd9a docs: sync test-coverage description with the expanded suite davide 2026-07-07 16:26:32 +02:00
  • 413392f608 test(storage): exercise AppPaths' full data-root precedence chain davide 2026-07-07 16:26:17 +02:00
  • 970253cbbe test(net): exercise UpdateChecker.CheckAsync end-to-end via a stub transport davide 2026-07-07 16:26:00 +02:00
  • 31012ce825 test(net): cover ElectrumClient's multi-segment response dispatch davide 2026-07-07 16:25:47 +02:00
  • a46f5e6638 test(wallet): cover WalletLoader's defensive branches for corrupted files davide 2026-07-07 16:25:33 +02:00
  • 61ed0c0ed0 test(chain): cover PalladiumNetworks.For and the INetworkSet plumbing davide 2026-07-07 16:25:20 +02:00
  • 9097ca4abc test(crypto): cover Bip39 empty input and all 8 wordlist languages davide 2026-07-07 16:25:07 +02:00
  • 2ed8c04064 test(crypto): cover Slip132 rejection of malformed and corrupted keys davide 2026-07-07 16:24:52 +02:00
  • 56135c29f8 test(wallet): cover TransactionFactory's standardness-policy rejection davide 2026-07-07 16:24:37 +02:00
  • 5d74038aad test(wallet): cover ImportedKeyAccount edge cases and fund-safety fallbacks davide 2026-07-07 16:24:23 +02:00
  • db5b65ca0d test(spv): cover checkpoint-anchoring memoization and the non-generic retry path davide 2026-07-07 16:24:07 +02:00
  • 45f7b1401e test(spv): cover the PoW-checked branch of BlockHeaderInfo.IsValidChild davide 2026-07-07 16:23:45 +02:00
  • e349a80ddc feat(spv): anchor header trust to hardcoded mainnet checkpoints davide 2026-07-07 15:12:09 +02:00
  • 69be42aba0 docs(cli): translate console output and comments to English davide 2026-07-07 14:46:03 +02:00
  • af2fdcc894 fix(gui): route runtime status messages through Loc instead of hardcoded Italian davide 2026-07-07 14:45:40 +02:00
  • 1f4421ae16 docs: add end-user guide covering GUI and CLI davide 2026-07-07 14:25:35 +02:00
  • b304996ff5 docs(security): correct PBKDF2 iteration count and salt size davide 2026-07-07 14:24:37 +02:00
  • c75e3921aa docs: sync AGENTS.md with CLAUDE.md and fix stale references davide 2026-07-02 23:45:48 +02:00
  • 50d8e7f21a docs(security): disclose AI-assisted testing methodology davide 2026-07-02 23:38:19 +02:00
  • 15978bf564 chore(release): bump version to 0.9.1 0.9.1 davide 2026-07-02 23:25:42 +02:00
  • 31aabd0856 docs: document expanded test coverage and the fake ElectrumX server davide 2026-07-02 23:21:50 +02:00
  • 56ce1d4259 test: extend wallet/storage/property coverage and fix nullable warnings davide 2026-07-02 23:21:20 +02:00
  • 448f7dc65d test: cover network/SPV layer end to end (was previously untested) davide 2026-07-02 23:20:54 +02:00
  • e8ff99a768 test: add in-process fake ElectrumX server for network-layer testing davide 2026-07-02 23:20:18 +02:00
  • 27231c8eec fix(core): stop corrupted state from permanently breaking SSL and wallet loading davide 2026-07-02 23:19:43 +02:00
  • eb7ec9e835 chore: add update-version.sh to bump version across the project davide 2026-07-02 22:21:06 +02:00
  • f0fb3fe05d docs: link CHANGELOG.md and require updating it on new version tags 0.9.0 davide 2026-07-02 22:01:33 +02:00
  • 3f26f52f8b docs: add CHANGELOG.md for 0.9.0 davide 2026-07-02 22:01:12 +02:00
  • cb3ff714d9 feat(android): sign release builds with the persistent keystore davide 2026-07-02 21:54:15 +02:00
  • d0037747b5 chore(android): add persistent release-signing keystore generator davide 2026-07-02 21:53:53 +02:00
  • 34b4313a36 feat(app): check GitHub releases on startup and prompt for updates davide 2026-07-02 21:33:14 +02:00
  • 2d017231eb chore(github): complete issue/PR templates and wire in-app bug report to them davide 2026-07-02 21:18:46 +02:00
  • e7797017f6 feat(gui): split server discovery into its own always-usable button davide 2026-07-02 19:24:09 +02:00
  • 6c24a8bb46 feat(wallet): surface immature balance separately from confirmed davide 2026-07-02 18:24:26 +02:00
  • 9aecdb1aaa feat(wallet): enforce confirmation thresholds before spending UTXOs davide 2026-07-02 16:25:38 +02:00
  • 2be43d3177 fix(sync): allow server change at any time, even during an active sync davide 2026-07-02 14:56:47 +02:00
  • ef60ec0330 loc: expand About description to include non-custodial and local security details davide 2026-07-02 12:29:33 +02:00
  • 567c0de501 docs: document reproducible builds and fix Windows publish command davide 2026-07-02 10:45:56 +02:00
  • 6a5daa0c18 feat(build): add Docker-based reproducible build system davide 2026-07-02 10:45:37 +02:00
  • 4d730d7860 feat(ui): add bug report button in Help and GitHub issue template davide 2026-06-24 15:41:29 +02:00
  • 068d85e0e2 feat(ui): show full tx inputs/outputs in detail overlay without truncation davide 2026-06-24 15:37:43 +02:00
  • 1f857ddf52 refactor(ui): remove SPV badge from tx detail and history davide 2026-06-22 00:02:32 +02:00
  • 2953ba35ba refactor(ui): remove redundant "Open wallet from file" menu item davide 2026-06-21 22:46:05 +02:00
  • c0193ae440 feat(ui): add Quit to File menu; hide Wallet item when no wallet is open davide 2026-06-21 22:34:54 +02:00
  • affeaccae8 feat(ui): password-gated private key reveal in address detail overlay davide 2026-06-21 22:28:28 +02:00
  • 4a97172346 feat(ui): Wallet menu overlay — info, xpub, and password-protected seed reveal davide 2026-06-21 22:27:31 +02:00
  • 5d6ff07f0b docs(agents): add coding agent guide davide 2026-06-21 20:56:31 +02:00
  • c5290a1796 feat(ui): persist last server and split connection status text davide 2026-06-18 19:34:36 +02:00
  • 227ec62d53 feat(ui): simplify server panel — remove TLS/Discover, show full address in status davide 2026-06-18 19:28:19 +02:00
  • fa9d9b12f1 docs(claude): remove obsolete blueprint refs and progress tracker davide 2026-06-17 14:04:14 +02:00
  • 96b6a7e291 feat(ui): Help overlay with Info/Donate tabs, fixed dimensions davide 2026-06-17 09:01:01 +02:00
  • b13b66160c feat(ui): donate tab in Help overlay davide 2026-06-17 08:40:02 +02:00
  • 9744619eb4 fix(ui): mobile tab bar — uniform sizing, indicator overlap, spacing davide 2026-06-17 08:17:09 +02:00
  • 5d2d0ad312 feat(ui): two-column desktop layout for Send/Receive, fixed window size davide 2026-06-16 15:04:07 +02:00
  • 3d5a226a5a docs: translate all code comments to English (language policy) davide 2026-06-16 14:40:06 +02:00
  • 4b82a0852c feat(ui): restructure transaction details + clearer coinbase identification davide 2026-06-16 10:21:50 +02:00
  • 41eb1bb788 feat(ui): centralized design system — blue/green tokens, gradient hero, SVG tab icons davide 2026-06-16 10:08:35 +02:00
  • 5ff2075a45 perf(spv): incremental discovery, parallel chains, persistent header cache davide 2026-06-16 09:27:40 +02:00
  • 38e0f0a52e perf(net): batched writes, zero-alloc reads, bounded in-flight requests davide 2026-06-16 09:27:40 +02:00
  • 14ae39c5aa feat(ui): wallet name field in creation wizard davide 2026-06-15 15:05:49 +02:00
  • 3054a9baaa fix(spv): resilient sync — GetHistory discovery, tx cache, auto-connect fallback davide 2026-06-15 14:23:23 +02:00
  • 4dc37f1b42 feat(ui): wizard flows for xpub/xprv and WIF import davide 2026-06-15 14:23:03 +02:00
  • 47b6064964 feat(wallet): IWalletAccount abstraction and WIF/xpub/xprv keystore import types davide 2026-06-15 14:20:10 +02:00
  • 002c854497 feat(wallet): add P2PKH, P2SH-P2WPKH, and P2TR (Taproot/BIP86) address types davide 2026-06-15 12:03:46 +02:00
  • 8b960458ee feat(ui): server overlay full-screen on mobile, larger touch targets davide 2026-06-15 10:59:05 +02:00
  • 1b784a6c73 fix(ui): prevent text overflow on mobile davide 2026-06-15 10:58:39 +02:00
  • 200c12651b feat(ui): hardcode mainnet, remove network selector davide 2026-06-15 10:35:38 +02:00
  • 5f983ca84e feat(ui): replace emoji camera button with vector path icon davide 2026-06-15 10:25:43 +02:00
  • 53ecd701c0 feat(ui): unified tab bar with icons on desktop and mobile davide 2026-06-15 10:19:38 +02:00
  • bfee0dde03 feat(android): QR code scanner for Send address field davide 2026-06-15 10:19:24 +02:00
  • 8476eeb247 feat(android): add app logo as launcher icon davide 2026-06-15 08:49:51 +02:00
  • 1914d9462b feat(ui): replace mobile tab strip with custom full-width nav bar davide 2026-06-15 08:24:39 +02:00
  • 4c0edde4f7 feat(ui): mobile polish — tab bar icons, server overlay, status text davide 2026-06-14 21:40:15 +02:00
  • cfc48ff86f feat(ui): responsive layout for portrait mobile (Android) davide 2026-06-14 19:54:07 +02:00
  • bb9819ec96 docs: document CsCheck property-based tests in README and CLAUDE.md davide 2026-06-13 22:09:50 +02:00
  • 8cdbd70966 test: add property-based tests with CsCheck (218 total) davide 2026-06-13 22:08:57 +02:00
  • ee0b73dd52 test: expand coverage to 209 tests across all core modules davide 2026-06-13 21:59:49 +02:00
  • a8d48bedad docs: add SECURITY.md with threat model and SPV trust assumptions davide 2026-06-13 21:15:39 +02:00
  • 5d061c6f21 docs(storage): document plaintext save caveat on WalletStore.Save davide 2026-06-13 21:15:25 +02:00
  • 2ddc0f920c refactor(app): split MainWindowViewModel into partial files by area davide 2026-06-13 21:15:03 +02:00
  • 58645bd7a7 fix(storage): acquire wallet lock before load and before CloseWallet davide 2026-06-13 20:50:17 +02:00
  • 008e9c395a fix(wallet): reject amounts with sub-satoshi precision davide 2026-06-13 20:39:05 +02:00
  • 70cce640aa test(storage): add WalletLock unit tests davide 2026-06-13 20:34:19 +02:00
  • 0f8a764a44 feat(storage): add WalletLock to prevent concurrent wallet access davide 2026-06-13 20:33:59 +02:00
  • d66490b6be docs: update CLAUDE.md davide 2026-06-13 20:15:28 +02:00
  • b00c5821f2 refactor(app): clear status bar during wizard steps davide 2026-06-12 16:16:34 +02:00
  • 658fcdbced docs: update CLAUDE.md and README for multi-head architecture and .NET 10 davide 2026-06-12 16:06:19 +02:00
  • e94eaf7700 refactor(arch): split App into shared library + Desktop + Android heads davide 2026-06-12 16:06:37 +02:00