From bbed21e820d460f855b6991e601cf3e7bed59140 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Sun, 19 Jul 2026 12:59:10 +0200 Subject: [PATCH] docs: reconcile README/SECURITY with current repo state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit README.md was out of date after several recent features: it listed 6 UI languages (missing Chinese Simplified), described watch-only as xpub-only (address-only import also exists), overclaimed multisig as a working PSBT flow (derivation for it actually throws โ€” not implemented), and its CLI quick-reference omitted restore-address and servers. Also links the new USERGUIDE.md, previously unreferenced from README. SECURITY.md's "known limitations" list didn't mention multisig is unsupported, worth stating explicitly since it's fund-safety adjacent. --- README.md | 20 ++++++++++++++------ SECURITY.md | 3 +++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 47ba8fe..681bd48 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ Unlike generic wallets adapted to many coins, Palladium Wallet is designed aroun - **Lightweight SPV**: syncs against an indexing server (ElectrumX-like protocol) without downloading the full chain. - **Security**: seed and private keys encrypted on disk (AES-GCM, PBKDF2-SHA512), never in plaintext in logs or on the wire; every server response is validated with Merkle proofs + checkpoints. -- **HD wallet** (BIP39/BIP32), SegWit/wrapped/legacy addresses, watch-only from xpub. -- **PSBT-centric**: signing flows go through PSBT (offline / air-gapped / multisig). +- **HD wallet** (BIP39/BIP32), SegWit/wrapped/legacy addresses, watch-only from xpub or from plain addresses (no key material at all). +- **PSBT-centric**: signing flows go through PSBT (offline / air-gapped); watch-only wallets export an unsigned PSBT for offline signing. Multisig script kinds are defined in the network profile but not yet implemented (planned, see `Core/Crypto/DerivationPaths.cs`). - **Multi-network**: mainnet, testnet, regtest. - **Cross-platform**: desktop (Windows/Linux) and Android share one Avalonia UI; a **CLI** runs on the same core. -- **Multilingual**: Italian, English, Spanish, French, Portuguese, German. +- **Multilingual**: Italian, English, Spanish, French, Portuguese, German, Chinese (Simplified). ## Architecture @@ -331,6 +331,9 @@ existing AVD, so create one first (step 3). Point it at the emulator binary: ## User guide (quick) +A condensed overview follows; for the complete, exhaustive walkthrough (every screen, every +validation rule, troubleshooting) see [USERGUIDE.md](USERGUIDE.md). + ### First launch 1. On first launch (desktop), choose **where to store data** (wallet, configuration, certificates) โ€” the default path or a folder of your choice. On Android this step is skipped: data lives in the app's private sandbox. 2. Create a new wallet, restore from seed, or open one of the wallets already in your data folder. @@ -360,15 +363,20 @@ existing AVD, so create one first (step 3). Point it at the emulator binary: ### CLI in brief ```bash # Wallet -dotnet run --project src/Cli -- create [--words 12|24] [--kind segwit|wrapped|legacy] [--net mainnet|testnet|regtest] [--password P] -dotnet run --project src/Cli -- restore "" [...] -dotnet run --project src/Cli -- info [--net ...] [--password P] +dotnet run --project src/Cli -- create [--words 12|24] [--kind segwit|wrapped|legacy] [--net mainnet|testnet|regtest] [--password P] +dotnet run --project src/Cli -- restore "" [...] +dotnet run --project src/Cli -- restore-xpub [--net ...] [--password P] +dotnet run --project src/Cli -- restore-address [--net ...] [--password P] +dotnet run --project src/Cli -- info [--net ...] [--password P] # Network dotnet run --project src/Cli -- sync [--server host[:port]] [--ssl] dotnet run --project src/Cli -- send --to ADDRESS (--amount X | --all) [--feerate sat/vB] [--broadcast] +dotnet run --project src/Cli -- servers [--discover] ``` The default wallet file is `~/.palladium-wallet//wallets/default.wallet.json` (override with `--file`). +Run without arguments for the full command list (also covers `newseed`, `addresses`, `reset-certs`); +see [USERGUIDE.md ยง17](USERGUIDE.md#17-command-line-interface-cli) for complete flag reference. --- diff --git a/SECURITY.md b/SECURITY.md index 73ab172..bdf0699 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -108,3 +108,6 @@ This is a complement to, not a substitute for, independent human or third-party - No coin control (automatic UTXO selection only) - No RBF/CPFP UI (RBF flag is set on all transactions, but fee bumping is not exposed) - No Lightning Network support +- No multisig (M-of-N) wallets: the network profile defines multisig SLIP-132 header + variants, but derivation for them is not implemented โ€” attempting to use one throws + rather than silently producing an insecure/incorrect wallet