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
f8dfcac17a
Merge branch 'main' into marvin/private_keys
2026-02-16 19:55:09 -05:00
Sergio Chouhy
d8537ea3f0
add wallet ffi auth-transfer private method
2026-02-16 11:24:06 -03:00
Sergio Chouhy
2c89e17896
add wallet ffi auth-transfer deshielded method
2026-02-16 11:16:48 -03:00
Sergio Chouhy
c3ca6c7563
add wallet ffi auth-transfer shielded method
2026-02-16 11:16:48 -03:00
Sergio Chouhy
707ea7d379
add get private account and init private account ffi methods
2026-02-16 11:16:46 -03:00
jonesmarvin8
6a89ca0a7f
Merge branch 'main' into marvin/private_keys
2026-02-16 08:02:37 -05:00
Daniil Polyakov
d4494c1f21
fix: use private account for private account test in wallet_ffi
2026-02-12 19:38:04 +03:00
Daniil Polyakov
d2ce0cd51b
fix: run async runtime when dropping TestContext in BlockingTestContext
2026-02-12 19:35:07 +03:00
jonesmarvin8
c78f74e50b
update artifacts
2026-02-12 10:52:38 -05:00
jonesmarvin8
943efd1433
Merge branch 'main' into marvin/private_keys
2026-02-12 10:33:00 -05:00
Daniil Polyakov
60be2b6d00
chore: satisfy CI
2026-02-12 16:31:34 +03:00
Daniil Polyakov
09debfa74f
feat: implement all-in-one docker compose
2026-02-12 16:31:13 +03:00
Daniil Polyakov
c753373434
chore: apply recommended wallet config from #328 for integration tests
2026-02-12 16:31:13 +03:00
Daniil Polyakov
975cfb9ec6
feat: fully integrate Sequencer, Indexer and Explorer with Bedrock
2026-02-12 16:31:13 +03:00
jonesmarvin8
3facbbcc1f
fixed artifacts
2026-02-11 18:53:31 -05:00
jonesmarvin8
9e52d41090
minor fixes from merging main
...
ipk -> vpk
IncomingViewingPublicKey -> ViewingPublicKey
2026-02-11 12:11:35 -05: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
Daniil Polyakov
9909f02803
refactor: split token program into crates
2026-02-06 00:08:43 +03:00
Sergio Chouhy
e0caa7838d
destroy wallet in tests and add variant numbers to the error enum
2026-02-05 12:25:21 -03:00
Sergio Chouhy
2fc1ec0fdc
Merge branch 'main' into schouhy/add-wallet-ffi-tests
2026-02-04 20:48:36 -03:00
Sergio Chouhy
b1840ca68a
add test wallet ffi auth-transfer init call
2026-02-04 20:24:57 -03:00
Sergio Chouhy
4b50676ebc
add wallet ffi base58 conversion tests
2026-02-04 16:08:04 -03:00
Sergio Chouhy
7c3182d903
add wallet ffi get private keys test
2026-02-04 15:29:36 -03:00
Sergio Chouhy
70d3b3a3e6
add FfiU128 struct
2026-02-04 14:58:43 -03:00
Sergio Chouhy
fdeb1f971c
add get account keys test
2026-02-04 12:11:57 -03:00
Sergio Chouhy
5ac9953488
add ffi get account test
2026-02-04 11:36:10 -03:00
Sergio Chouhy
50b253fa00
move ffi tests to integration tests
2026-02-03 19:07:13 -03:00
David Rusu
38f1f68030
feat(license): MIT/Apache2 license and add cargo deny config
2026-01-31 23:13:36 +04:00
Sergio Chouhy
2e071b538f
drop retry pending block handle on Drop
2026-01-29 15:56:06 -03:00
Sergio Chouhy
476dc50482
handle comments
2026-01-29 13:47:39 -03:00
Sergio Chouhy
22258435ff
Merge branch 'main' into schouhy/sequencer-retries-pending-blocks
2026-01-29 10:13:22 -03:00
jonesmarvin8
819bb1b7f3
Merge branch 'main' into marvin/private_keys
2026-01-27 16:30:11 -05:00
jonesmarvin8
752ad89ac7
fixed with unified approach
2026-01-27 16:00:42 -05:00
Sergio Chouhy
e78d6a59a0
add tokio task to retry pending blocks in bedrock
2026-01-27 13:27:52 -03:00
Pravdyvy
c0e879edae
fix: suggestions fix 1
2026-01-27 09:46:31 +02:00
jonesmarvin8
9a92aa1553
updates and fmt
2026-01-26 18:38:41 -05:00
jonesmarvin8
a2d3d5ae0d
Merge branch 'marvin/public_keys' into marvin/public_account_id
2026-01-26 16:08:33 -05:00
Sergio Chouhy
ded6e8123d
Merge branch 'main' into schouhy/adapt-sequencer-to-bedrock
2026-01-26 11:38:42 -03:00
jonesmarvin8
d22354a485
update wallet configs
2026-01-24 08:47:09 -05:00
jonesmarvin8
0939b7e1c6
update public account id domain separator
2026-01-23 20:45:47 -05:00
Pravdyvy
df58511bf0
Merge branch 'main' into Pravdyvy/block-parsing-validation
2026-01-23 10:49:16 +02:00
Pravdyvy
9896cd3767
fix: updates, added test
2026-01-23 10:39:34 +02:00
jonesmarvin8
8b6443aa89
update wallet accounts
2026-01-22 17:51:17 -05:00
Pravdyvy
2a2fe1347a
fix: new model rewrite
2026-01-22 14:44:48 +02:00
jonesmarvin8
cabb4ab257
fix integration test wallet
2026-01-21 19:31:27 -05:00
jonesmarvin8
c6aa0c41b6
update tests
2026-01-21 17:27:23 -05:00
Pravdyvy
eb77217318
fix: suggestions 1
2026-01-21 14:50:29 +02:00
Daniil Polyakov
2b2a52d0b8
feat: error on unclaimed modified accounts
2026-01-19 17:29:59 +03:00