r4bbit
50ddbd597e
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-23 14:54:12 +01:00
Daniil Polyakov
05c2c3a56d
fix: encode transactions with borsh in sequencer rpc
2026-03-20 00:48:04 +03:00
Daniil Polyakov
b631ef02c6
fix: final fixes & polishing
2026-03-20 00:47:37 +03:00
Daniil Polyakov
b254ebb185
feat: refactor sequencer RPC client-side
2026-03-20 00:41:05 +03:00
Daniil Polyakov
be94e133fa
feat: refactor sequencer RPC server-side
2026-03-20 00:41:05 +03:00
Daniil Polyakov
bffc711470
refactor: move sequencer_ directories into sequencer
2026-03-20 00:36:07 +03:00
Daniil Polyakov
c40c62a484
fix: satisfy clippy
2026-03-19 18:03:23 +03:00
jonesmarvin8
a83725512d
Merge branch 'main' into marvin/nonce
2026-03-18 07:59:55 -04:00
Pravdyvy
94faaa6d64
Merge branch 'main' into Pravdyvy/indexer-final-state
2026-03-18 09:15:45 +02:00
Pravdyvy
d71805abb6
fix: merge updates
2026-03-18 08:24:39 +02:00
jonesmarvin8
8dd5037e28
Merge branch 'main' into marvin/nonce
2026-03-17 16:45:08 -04:00
jonesmarvin8
f5ba922b70
Merge branch 'main' into marvin/refactor-amm-state-tests
2026-03-17 15:59:12 -04:00
Daniil Polyakov
3b0e842a42
feat: update dependencies
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
8a8c7f722b
fix: suggestions fix
2026-03-17 15:10:12 +02:00
jonesmarvin8
dd64f0b1f8
Merge branch 'main' into marvin/nonce
2026-03-16 11:22:24 -04:00
jonesmarvin8
620dd3ad10
Merge branch 'main' into marvin/refactor-amm-state-tests
2026-03-16 09:37:24 -04:00
fryorcraken
e20860ea97
fix: use base58 encoding for program_owner instead of hex
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:04:17 +11:00
fryorcraken
546c3d0986
fix: remove unused bytemuck dep and apply nightly fmt
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 13:46:20 +11:00
Pravdyvy
44a11bd3f1
fix: state interactions fix
2026-03-04 14:12:39 +02:00
jonesmarvin8
84abe02573
add serialize/deserialize impls
2026-03-02 11:54:41 -05:00
jonesmarvin8
71d07ccdf7
fmt
2026-03-02 10:51:30 -05:00
Pravdyvy
9dc6025537
fix: http retries
2026-02-27 19:11:26 +02:00
Pravdyvy
3c8e81c11c
Merge branch 'main' into Pravdyvy/indexer-explorer-integration-fixes
2026-02-26 17:14:11 +02:00
Daniil Polyakov
437e5addb4
feat: use human-readable byte sizes and durations
2026-02-26 16:25:24 +03:00
Daniil Polyakov
8b5524901c
feat: configurable block size limit
2026-02-26 16:21:43 +03:00
Pravdyvy
6e61698ff8
fix: complete fixes
2026-02-26 13:46:38 +02:00
Pravdyvy
24271b398e
fix: possibly fixed tx accounts
2026-02-25 17:13:48 +02:00
Pravdyvy
d1265af406
fix: config updates
2026-02-20 17:15:50 +03:00
Pravdyvy
6f979786e7
feat: tip polling
2026-02-20 17:13:59 +03:00
Pravdyvy
0201a39bcf
fix: deny fix
2026-02-18 15:04:20 +02:00
Pravdyvy
f11d374ae7
Merge branch 'main' into Pravdyvy/indexer-state-management
2026-02-17 08:06:16 +02:00
Sergio Chouhy
177235a2c7
add prove feature
2026-02-16 12:28:31 -03:00
Sergio Chouhy
26d6286b8c
revert prove feature
2026-02-16 11:52:31 -03:00
Sergio Chouhy
2954faa5ec
add prove feature
2026-02-16 11:34:58 -03:00
Pravdyvy
a4fc1dd570
fix: ci fix 1
2026-02-16 10:34:41 +02:00
Pravdyvy
344430a8f2
Merge branch 'arjentix/fix-sequencer-msg-id' into Pravdyvy/indexer-state-management
2026-02-16 10:16:25 +02:00
Daniil Polyakov
85d2a13148
chore: update keccak
2026-02-14 00:48:39 +03:00
Daniil Polyakov
8b16318c38
fix: use base58 encoding for account in Explorer & some formatting chores
2026-02-14 00:23:34 +03:00
Pravdyvy
5d228c6d80
Merge branch 'arjentix/fix-sequencer-msg-id' into Pravdyvy/indexer-state-management
2026-02-13 13:37:10 +02:00
Daniil Polyakov
9bf3edbaad
chore: remove risc0-zkvm dep from wallet
2026-02-12 16:39:23 +03:00
Daniil Polyakov
60be2b6d00
chore: satisfy CI
2026-02-12 16:31:34 +03:00
Daniil Polyakov
975cfb9ec6
feat: fully integrate Sequencer, Indexer and Explorer with Bedrock
2026-02-12 16:31:13 +03:00
jonesmarvin8
d40232abcc
Merge branch 'main' into marvin/refactor-amm-program
2026-02-11 19:05:16 -05:00
Pravdyvy
e5f908d241
Merge branch 'main' into Pravdyvy/indexer-state-management
2026-02-11 15:53:01 +02:00
jonesmarvin8
68254a835d
fix license for amm and machete issue
2026-02-10 20:54:42 -05:00
jonesmarvin8
7c930415a6
Merge branch 'main' into marvin/public_keys
2026-02-10 20:31:02 -05:00
jonesmarvin8
0930e4dd86
Merge branch 'main' into marvin/refactor-amm-program
2026-02-10 20:28:13 -05:00
Daniil Polyakov
72c45be083
feat: implement Explorer
2026-02-11 02:06:40 +03:00
jonesmarvin8
f891f57cab
Merge branch 'main' into marvin/public_keys
2026-02-10 09:19:45 -05:00