41 Commits

Author SHA1 Message Date
jonesmarvin8
38a64f6587 fix context issue 2026-04-07 17:34:11 -04:00
jonesmarvin8
92ae120ae7 initialize changes 2026-04-06 17:47:01 -04:00
r4bbit
3e24ae2736 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-04-01 16:04:47 +02:00
Daniil Polyakov
7b20a83379 fix: fixes after rebase & address comments 2026-03-20 00:48:04 +03:00
Daniil Polyakov
b631ef02c6 fix: final fixes & polishing 2026-03-20 00:47:37 +03:00
jonesmarvin8
ce729f112d Merge branch 'main' into marvin/bip-32-comp 2026-03-18 16:47:39 -04:00
Daniil Polyakov
252848a145 feat: update rust to 1.94.0 2026-03-17 21:25:30 +03: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
Daniil Polyakov
efe8393ba0 feat: add pedantic clippy lints 2026-03-17 21:25:30 +03:00
jonesmarvin8
b1747548b2 fix nullifer typo 2026-03-09 12:23:57 -04:00
Daniil Polyakov
975cfb9ec6 feat: fully integrate Sequencer, Indexer and Explorer with Bedrock 2026-02-12 16:31:13 +03:00
Daniil Polyakov
7296088005 feat: introduce parallel integration tests, wallet without global vars and etc 2025-12-31 04:30:22 +03: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
40991cf6d1 fix: layered cleanup 2025-12-08 12:11:11 +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
6c409b6fb1 Merge branch 'main' into Pravdyvy/deterministic-key-derivation 2025-11-27 13:46:35 +02:00
Pravdyvy
463942df80
Apply suggestions from code review 1
Co-authored-by: Daniil Polyakov <arjentix@gmail.com>
2025-11-26 07:07:58 +02:00
Daniil Polyakov
a714e3c563 feat: enhance rustfmt config 2025-11-26 00:33:09 +03:00
Daniil Polyakov
ea9c659fb1 refactor: rename Address to AccountId 2025-11-25 21:38:07 +03:00
Pravdyvy
ec149d3227 feat: deterministic keys 2025-11-11 12:15:20 +02:00
Pravdyvy
20c276e63e fix: continuation of integration 2025-11-10 16:29:33 +02:00
Pravdyvy
d9a130cc55 feat: private tree 2025-11-07 16:21:14 +02:00
Pravdyvy
9788f189b1 feat: stat of deterministic passwords 2025-11-04 16:09:04 +02:00
Oleksandr Pravdyvyi
0384efc38f
fix: base58 adoption fixes 2025-10-24 11:12:32 +03:00
Sergio Chouhy
a00773d5aa wip 2025-09-30 17:14:09 -03:00
Oleksandr Pravdyvyi
854d96af72
fix; privacy preserving tx gen 1 2025-09-11 18:32:46 +03:00
Oleksandr Pravdyvyi
23e79d3e17
fix: fmt 2025-09-08 15:23:32 +03:00
Oleksandr Pravdyvyi
4837413989
fix: merge fix 2025-09-08 15:03:02 +03:00
Oleksandr Pravdyvyi
33783e06d8
fix: keys structures updates 2025-09-08 14:48:58 +03:00
Oleksandr Pravdyvyi
7c42b3de10
fix: lint fix 1 2025-09-02 07:51:49 +03:00
Oleksandr Pravdyvyi
5de28e999e
fix: fmt fix 2025-09-02 07:44:24 +03:00
Oleksandr Pravdyvyi
9993590d45
fix: comments fix 2 2025-09-02 07:32:39 +03:00
Oleksandr Pravdyvyi
5c3418ca8e
fix: comments fix 2 2025-09-01 14:17:16 +03:00
Oleksandr Pravdyvyi
22cdce5102
fix: comments fix 2025-09-01 14:06:43 +03:00
Oleksandr Pravdyvyi
80620b6aac
fix: wallet fix 2025-08-19 14:14:09 +03:00
Oleksandr Pravdyvyi
e617cac69c
fix: key proctocol crate updated 2025-08-18 16:15:25 +03:00
Oleksandr Pravdyvyi
35b636a27d
fix: clearing and renaming 2025-08-15 14:27:36 +03:00