r4bbit
a3983f5a89
fix(wallet): use cryptographically secure entropy for mnemonic generation
...
The mnemonic/wallet generation was using a constant zero-byte array for entropy ([0u8; 32]), making all wallets deterministic based
solely on the password. This commit introduces proper random entropy using OsRng and enables users to back up their recovery phrase.
Changes:
- SeedHolder::new_mnemonic() now uses OsRng for 256-bit random entropy and returns the generated mnemonic
- Added SeedHolder::from_mnemonic() to recover a wallet from an existing mnemonic phrase
- WalletChainStore::new_storage() returns the mnemonic for user backup
- Added WalletChainStore::restore_storage() for recovery from a mnemonic
- WalletCore::new_init_storage() now returns the mnemonic
- Renamed reset_storage to restore_storage, which accepts a mnemonic for recovery
- CLI displays the recovery phrase when a new wallet is created
- RestoreKeys command now prompts for the mnemonic phrase via read_mnemonic_from_stdin()
Note: The password parameter is retained for future storage encryption but is no longer used in seed derivation (empty passphrase is used
instead). This means the mnemonic alone is sufficient to recover accounts.
Usage:
On first wallet initialization, users will see:
IMPORTANT: Write down your recovery phrase and store it securely.
This is the only way to recover your wallet if you lose access.
Recovery phrase:
word1 word2 word3 ... word24
To restore keys:
wallet restore-keys --depth 5
Input recovery phrase: <24 words>
Input password: <password>
2026-02-17 13:06:38 +01:00
jonesmarvin8
943efd1433
Merge branch 'main' into marvin/private_keys
2026-02-12 10:33:00 -05:00
Daniil Polyakov
975cfb9ec6
feat: fully integrate Sequencer, Indexer and Explorer with Bedrock
2026-02-12 16:31:13 +03:00
jonesmarvin8
6a399ac36c
Merge branch 'main' into marvin/private_keys
2026-02-11 11:49:57 -05:00
jonesmarvin8
f891f57cab
Merge branch 'main' into marvin/public_keys
2026-02-10 09:19:45 -05:00
jonesmarvin8
8959b1652c
Merge branch 'marvin/public_keys' into marvin/public_account_id
2026-02-08 14:00:14 -05:00
David Rusu
38f1f68030
feat(license): MIT/Apache2 license and add cargo deny config
2026-01-31 23:13:36 +04:00
jonesmarvin8
ff13c34027
update secret_holder
...
Removed definition of outgoingviewingsecretkey
2026-01-28 11:01:48 -05:00
jonesmarvin8
1dd0f16a5c
fixed edge case
2026-01-27 16:19:56 -05:00
jonesmarvin8
752ad89ac7
fixed with unified approach
2026-01-27 16:00:42 -05:00
jonesmarvin8
a2d3d5ae0d
Merge branch 'marvin/public_keys' into marvin/public_account_id
2026-01-26 16:08:33 -05:00
jonesmarvin8
c81ce363c1
Merge branch 'main' into marvin/public_keys
2026-01-26 16:06:40 -05:00
jonesmarvin8
e2d7906930
fixed hardcoded account ids
2026-01-24 10:28:41 -05:00
jonesmarvin8
6e18f46965
additional lint fix
2026-01-22 18:25:57 -05:00
jonesmarvin8
d1a2234cc5
lint fix
2026-01-22 18:24:19 -05:00
jonesmarvin8
2c9219bb0f
relabel ipk to vpk
2026-01-21 17:58:45 -05:00
jonesmarvin8
d204f386bb
fmt
2026-01-21 17:48:10 -05:00
jonesmarvin8
c6aa0c41b6
update tests
2026-01-21 17:27:23 -05:00
jonesmarvin8
877f879af3
cargo fmt
2026-01-21 17:11:51 -05:00
jonesmarvin8
75beecc6b9
update tests
...
Update tests for LEE domain separator.
2026-01-21 17:03:43 -05:00
jonesmarvin8
0b8b1c89b8
Merge branch 'main' into marvin/private_keys
2026-01-21 16:52:11 -05:00
jonesmarvin8
eaee772c86
Update key_protocol/src/key_management/key_tree/keys_public.rs
...
Co-authored-by: Sergio Chouhy <41742639+schouhy@users.noreply.github.com>
2026-01-14 10:51:11 -05:00
jonesmarvin8
537eeb63dc
Update key_protocol/src/key_management/key_tree/keys_public.rs
...
Co-authored-by: Sergio Chouhy <41742639+schouhy@users.noreply.github.com>
2026-01-14 10:50:59 -05:00
jonesmarvin8
874aa09b82
fixes
2026-01-12 17:27:44 -05:00
jonesmarvin8
ab37740348
Merge branch 'main' into marvin/public_keys
2026-01-12 16:02:56 -05:00
jonesmarvin8
4620219408
Update key_protocol/src/key_management/key_tree/keys_public.rs
...
Co-authored-by: Sergio Chouhy <41742639+schouhy@users.noreply.github.com>
2026-01-07 18:10:02 -05:00
Daniil Polyakov
7296088005
feat: introduce parallel integration tests, wallet without global vars and etc
2025-12-31 04:30:22 +03:00
jonesmarvin8
065eeac3b2
minor clean up and fmt
2025-12-23 17:42:30 -05:00
jonesmarvin8
9f753c0333
clean up and fmt/clippy
2025-12-23 17:40:47 -05:00
jonesmarvin8
ed373067fb
fixed private keys
2025-12-22 19:50:03 -05:00
jonesmarvin8
3c21f4418f
public key protocol fixed
2025-12-22 19:47:59 -05:00
Daniil Polyakov
87f45b8215
feat: move all crates into workspace
2025-12-19 18:30:40 +03:00
jonesmarvin8
74327bcec6
added tests for public keys (master and non-harden child keys
2025-12-16 20:47:55 -05:00
jonesmarvin8
b7a6fda00a
Added test for master keys
2025-12-16 20:46:16 -05:00
jonesmarvin8
2e0450bfcd
private key protocol fixes
2025-12-15 17:24:59 -05:00
Pravdyvy
e1eff07478
fix: layered autobalancing
2025-12-09 11:51:44 +02:00
Pravdyvy
47ff7f0b64
fix: layered automatization
2025-12-09 11:09:15 +02:00
Pravdyvy
26fb822da1
Merge branch 'Pravdyvy/keys-restoration-from-mnemonic' into Pravdyvy/tree-ux-updates
2025-12-09 10:46:28 +02:00
Pravdyvy
01f7acb4d6
fix: remove unused enum
2025-12-08 12:13:03 +02:00
Pravdyvy
40991cf6d1
fix: layered cleanup
2025-12-08 12:11:11 +02:00
Pravdyvy
29c3737704
fix: lint fix comments addressed
2025-12-05 07:46:59 +02:00
Pravdyvy
926a292c9c
fix: constraint added
2025-12-04 16:49:10 +02:00
Pravdyvy
2453ae095f
fix: cleanup fixing
2025-12-04 14:31:52 +02:00
Pravdyvy
b81aafbc23
feat: UX improvements
2025-12-03 13:10:07 +02:00
Pravdyvy
5affa4f9fd
fix: suggestions fix
2025-12-03 07:05:23 +02:00
Pravdyvy
0f617a8601
Merge branch 'Pravdyvy/deterministic-key-derivation' into Pravdyvy/keys-restoration-from-mnemonic
2025-12-01 12:01:45 +02:00
Pravdyvy
64e2fb73a8
fix: merge update
2025-11-28 08:48:11 +02:00
Pravdyvy
6c409b6fb1
Merge branch 'main' into Pravdyvy/deterministic-key-derivation
2025-11-27 13:46:35 +02:00
Pravdyvy
30f19b245d
fix: suggestions fix 3
2025-11-26 14:53:26 +02:00
Pravdyvy
77570c48e9
fix: suggestions 2
2025-11-26 14:27:09 +02:00