chore: bump version to v1.1.0
This commit is contained in:
@@ -191,7 +191,7 @@ See [playbook.md](playbook.md) for detailed air-gapped procedures.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🆕 What's New in v1.0.6
|
## 🆕 What's New in v1.1.0
|
||||||
|
|
||||||
- **BIP85 child mnemonic derivation** via new `gen-child` command
|
- **BIP85 child mnemonic derivation** via new `gen-child` command
|
||||||
- Derive 12/15/18/21/24-word child mnemonics from master seed
|
- Derive 12/15/18/21/24-word child mnemonics from master seed
|
||||||
|
|||||||
10
playbook.md
10
playbook.md
@@ -1,4 +1,4 @@
|
|||||||
# pyhdwallet v1.0.6 (hdwalletpy)
|
# pyhdwallet v1.1.0 (hdwalletpy)
|
||||||
|
|
||||||
A command-line tool for generating and recovering HD wallets (BIP39) with support for Ethereum, Solana, and Bitcoin. It is designed for offline operation, optional PGP encryption, and writing deterministic AES-encrypted ZIP "wallet artifacts" into a local `.wallet/` folder.
|
A command-line tool for generating and recovering HD wallets (BIP39) with support for Ethereum, Solana, and Bitcoin. It is designed for offline operation, optional PGP encryption, and writing deterministic AES-encrypted ZIP "wallet artifacts" into a local `.wallet/` folder.
|
||||||
|
|
||||||
@@ -326,7 +326,7 @@ Naming uses UTC timestamps (e.g. `20260108_011830Z`):
|
|||||||
|
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
### gen-child (offline) - **NEW in v1.0.6**
|
### gen-child (offline) - **NEW in v1.1.0**
|
||||||
|
|
||||||
Derive a child BIP39 mnemonic from a master mnemonic using BIP85 deterministic entropy.
|
Derive a child BIP39 mnemonic from a master mnemonic using BIP85 deterministic entropy.
|
||||||
|
|
||||||
@@ -387,7 +387,7 @@ m/83696968'/39'/0'/{words}'/{index}'
|
|||||||
|
|
||||||
- `83696968'` — BIP85 magic constant
|
- `83696968'` — BIP85 magic constant
|
||||||
- `39'` — BIP39 application
|
- `39'` — BIP39 application
|
||||||
- `0'` — English language (only supported language in v1.0.6)
|
- `0'` — English language (only supported language in v1.1.0)
|
||||||
- `{words}'` — Child mnemonic word count (12/15/18/21/24)
|
- `{words}'` — Child mnemonic word count (12/15/18/21/24)
|
||||||
- `{index}'` — Your chosen index
|
- `{index}'` — Your chosen index
|
||||||
|
|
||||||
@@ -444,7 +444,7 @@ When using `--file`, the encrypted ZIP contains a JSON payload with:
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"version": "pyhdwallet v1.0.6",
|
"version": "pyhdwallet v1.1.0",
|
||||||
"purpose": "BIP85 derived child mnemonic",
|
"purpose": "BIP85 derived child mnemonic",
|
||||||
"master_fingerprint": "ABCD1234",
|
"master_fingerprint": "ABCD1234",
|
||||||
"master_word_count": 24,
|
"master_word_count": 24,
|
||||||
@@ -895,7 +895,7 @@ python src/pyhdwallet.py test
|
|||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
- **v1.0.6** (2026-01-09)
|
- **v1.1.0** (2026-01-09)
|
||||||
- **Added**: BIP85 child mnemonic derivation via new `gen-child` command
|
- **Added**: BIP85 child mnemonic derivation via new `gen-child` command
|
||||||
- Supports deriving 12/15/18/21/24-word children from master seed
|
- Supports deriving 12/15/18/21/24-word children from master seed
|
||||||
- Optional master BIP39 passphrase support
|
- Optional master BIP39 passphrase support
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
"""
|
"""
|
||||||
pyhdwallet v1.0.6 (Python 3.11+)
|
pyhdwallet v1.1.0 (Python 3.11+)
|
||||||
|
|
||||||
Commands:
|
Commands:
|
||||||
- fetchkey (online): download ASCII-armored PGP public key and print SHA256 + fingerprint
|
- fetchkey (online): download ASCII-armored PGP public key and print SHA256 + fingerprint
|
||||||
@@ -15,7 +15,7 @@ Behavior (current):
|
|||||||
- ZIP password is prompted via getpass; if echo-hiding fails, fallback to input() with loud warning.
|
- ZIP password is prompted via getpass; if echo-hiding fails, fallback to input() with loud warning.
|
||||||
- When stdout is not a TTY, refuse to print sensitive data unless --force is provided.
|
- When stdout is not a TTY, refuse to print sensitive data unless --force is provided.
|
||||||
|
|
||||||
Recover input policy (v1.0.6):
|
Recover input policy (v1.1.0):
|
||||||
- Seed recovery removed (mnemonic only).
|
- Seed recovery removed (mnemonic only).
|
||||||
- No plaintext mnemonic via CLI args.
|
- No plaintext mnemonic via CLI args.
|
||||||
- Use either:
|
- Use either:
|
||||||
@@ -739,7 +739,7 @@ def build_payload_gen(
|
|||||||
addresses: Dict[str, Any],
|
addresses: Dict[str, Any],
|
||||||
) -> Dict[str, Any]:
|
) -> Dict[str, Any]:
|
||||||
return {
|
return {
|
||||||
"version": "pyhdwallet v1.0.6",
|
"version": "pyhdwallet v1.1.0",
|
||||||
"purpose": "generated mnemonic backup",
|
"purpose": "generated mnemonic backup",
|
||||||
"mnemonic": mnemonic,
|
"mnemonic": mnemonic,
|
||||||
"passphrase_used": passphrase_used,
|
"passphrase_used": passphrase_used,
|
||||||
@@ -763,7 +763,7 @@ def build_payload_recover(
|
|||||||
addresses: Dict[str, Any],
|
addresses: Dict[str, Any],
|
||||||
) -> Dict[str, Any]:
|
) -> Dict[str, Any]:
|
||||||
payload: Dict[str, Any] = {
|
payload: Dict[str, Any] = {
|
||||||
"version": "pyhdwallet v1.0.6",
|
"version": "pyhdwallet v1.1.0",
|
||||||
"purpose": "recovery payload",
|
"purpose": "recovery payload",
|
||||||
"master_fingerprint": fp,
|
"master_fingerprint": fp,
|
||||||
"solana_profile": sol_profile,
|
"solana_profile": sol_profile,
|
||||||
@@ -817,7 +817,7 @@ def build_payload_gen_child(
|
|||||||
Payload dict ready for JSON serialization
|
Payload dict ready for JSON serialization
|
||||||
"""
|
"""
|
||||||
return {
|
return {
|
||||||
"version": "pyhdwallet v1.0.6",
|
"version": "pyhdwallet v1.1.0",
|
||||||
"purpose": "BIP85 derived child mnemonic",
|
"purpose": "BIP85 derived child mnemonic",
|
||||||
"master_fingerprint": master_fingerprint,
|
"master_fingerprint": master_fingerprint,
|
||||||
"master_word_count": master_word_count,
|
"master_word_count": master_word_count,
|
||||||
@@ -1244,8 +1244,8 @@ def cmd_test(args) -> None:
|
|||||||
|
|
||||||
|
|
||||||
def build_parser() -> argparse.ArgumentParser:
|
def build_parser() -> argparse.ArgumentParser:
|
||||||
parser = argparse.ArgumentParser(description="pyhdwallet v1.0.6 - Secure HD Wallet Tool")
|
parser = argparse.ArgumentParser(description="pyhdwallet v1.1.0 - Secure HD Wallet Tool")
|
||||||
parser.add_argument("--version", action="version", version="pyhdwallet v1.0.6")
|
parser.add_argument("--version", action="version", version="pyhdwallet v1.1.0")
|
||||||
|
|
||||||
sub = parser.add_subparsers(dest="cmd")
|
sub = parser.add_subparsers(dest="cmd")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user