25 Commits

Author SHA1 Message Date
r4bbit
808d4f30bc
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-03-27 11:28:05 +01:00
Pravdyvy
9c90930bd6 Merge branch 'main' into Pravdyvy/hardcoded-initial-state 2026-03-20 14:55:42 +02:00
Daniil Polyakov
325960d696 feat: remove override_rust_log from wallet config 2026-03-20 00:48:04 +03:00
Daniil Polyakov
b631ef02c6 fix: final fixes & polishing 2026-03-20 00:47:37 +03:00
Pravdyvy
afa0a63c95 fix: suggestions fix 2 2026-03-19 18:01:15 +02:00
jonesmarvin8
ce729f112d Merge branch 'main' into marvin/bip-32-comp 2026-03-18 16:47:39 -04:00
Pravdyvy
5ab7d40727 Merge branch 'main' into Pravdyvy/hardcoded-initial-state 2026-03-18 18:18:52 +02:00
Daniil Polyakov
aa462b66eb feat: add nursery clippy lints 2026-03-17 21:25:30 +03:00
Daniil Polyakov
e3b93b6e9a feat: add restriction clippy lints 2026-03-17 21:25:30 +03:00
Pravdyvy
a9a0c386ad fix: integartion tests fix 2026-03-16 15:15:35 +02:00
Pravdyvy
02953999aa feat: general initial state 2026-03-13 18:23:39 +02:00
jonesmarvin8
a5119dc3f3 fix wallet configs 2026-03-09 11:50:37 -04:00
jonesmarvin8
ab41bff5cc update config files 2026-02-27 18:30:54 -05:00
jonesmarvin8
b9324bf03b Merge branch 'main' into marvin/bip-32-comp 2026-02-26 12:41:50 -05:00
Daniil Polyakov
437e5addb4 feat: use human-readable byte sizes and durations 2026-02-26 16:25:24 +03:00
jonesmarvin8
3ed6ce3f1c fix wallet json 2026-02-25 19:00:01 -05:00
Daniil Polyakov
975cfb9ec6 feat: fully integrate Sequencer, Indexer and Explorer with Bedrock 2026-02-12 16:31:13 +03:00
jonesmarvin8
f891f57cab Merge branch 'main' into marvin/public_keys 2026-02-10 09:19:45 -05:00
fryorcraken
636a3daedc
add wallet account label feature
- can add a label to own account via `wallet` CLI
- labels are displayed with `wallet account get` command
- labels are displayed with `wallet account list` command
- labels are persisted.
2026-01-28 15:19:09 +11:00
jonesmarvin8
9a92aa1553 updates and fmt 2026-01-26 18:38:41 -05:00
Daniil Polyakov
cd2430c2ee
Merge pull request #229 from logos-blockchain/arjentix/iss-186-fix-wallet-sync-print-spam
Remove print spam when running wallet account sync-private
2025-12-10 14:24:26 +03:00
Daniil Polyakov
46ac451284 feat: add basic auth to wallet 2025-12-09 18:20:50 +03:00
Daniil Polyakov
80a188e6a3 feat: remove print spam when running wallet account sync-private 2025-12-09 00:07:10 +03:00
Daniil Polyakov
6b26811229 feat: implement multiple blocks polling 2025-12-04 14:55:45 +03:00
Daniil Polyakov
aee6f45a8b refactor: move some stuff to a more suitable place 2025-12-01 17:08:07 +03:00