214 Commits

Author SHA1 Message Date
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