Commit Graph
235 Commits
Author SHA1 Message Date
Petar Radovic e6ad1d3eea resubmit interval 2026-04-09 14:35:51 +02: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
Sergio Chouhy 99071a4ef9 Merge branch 'main' into schouhy/add-block-context 2026-03-26 21:23:36 -03:00
Pravdyvy 9c90930bd6 Merge branch 'main' into Pravdyvy/hardcoded-initial-state 2026-03-20 14:55:42 +02:00
Sergio Chouhy 607a34058d Merge branch 'main' into schouhy/add-block-context 2026-03-20 09:52:16 -03:00
Sergio Chouhy 0d46f0798a clippy 2026-03-19 18:55:02 -03:00
Daniil Polyakov 7b20a83379 fix: fixes after rebase & address comments 2026-03-20 00:48:04 +03: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
Daniil Polyakov 9d87e3b046 fix: fix lints 2026-03-20 00:41:05 +03:00
Daniil Polyakov b254ebb185 feat: refactor sequencer RPC client-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
Pravdyvy dc3650edd7 Merge branch 'main' into Pravdyvy/hardcoded-initial-state 2026-03-19 19:02:19 +02:00
Pravdyvy afa0a63c95 fix: suggestions fix 2 2026-03-19 18:01:15 +02:00
Pravdyvy 2c9361c6b5 fix: suggestions 1 2026-03-19 13:01:43 +02:00
jonesmarvin8 83ef789002 lint issues 2026-03-18 18:44:07 -04:00
jonesmarvin8 ce729f112d Merge branch 'main' into marvin/bip-32-comp 2026-03-18 16:47:39 -04:00
jonesmarvin8 5d9980cf63 lint fixes 2026-03-18 13:10:36 -04:00
Pravdyvy a0ab6ad92d fix: lint fix 2026-03-18 18:32:05 +02:00
Pravdyvy 5ab7d40727 Merge branch 'main' into Pravdyvy/hardcoded-initial-state 2026-03-18 18:18:52 +02:00
jonesmarvin8 8dd5037e28 Merge branch 'main' into marvin/nonce 2026-03-17 16:45:08 -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
Pravdyvy a9a0c386ad fix: integartion tests fix 2026-03-16 15:15:35 +02:00
jonesmarvin8 b1747548b2 fix nullifer typo 2026-03-09 12:23:57 -04:00
jonesmarvin8 84abe02573 add serialize/deserialize impls 2026-03-02 11:54:41 -05:00
jonesmarvin8 d863b763d1 Merge branch 'main' into marvin/nonce 2026-03-02 10:49:07 -05: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
Sergio Chouhy f8661b24e4 Merge pull request #331 from logos-blockchain/Pravdyvy/bedrock-parsing-from-start-of-a-channel
Indexer correct startup
2026-02-26 10:09:30 -03:00
Sergio Chouhy 487027d98f Merge pull request #308 from logos-blockchain/Pravdyvy/indexer-state-management
Indexer state management
2026-02-26 09:53:46 -03:00
Daniil Polyakov e71f2fe16a feat: add useful just commands 2026-02-23 17:57:56 +03:00
Pravdyvy feb66e6a18 fix: tests unignored 2026-02-20 17:14:57 +03:00
Pravdyvy 6f979786e7 feat: tip polling 2026-02-20 17:13:59 +03:00
jonesmarvin8 889326d2ad clean up and fixed tests 2026-02-16 19:53:32 -05:00
jonesmarvin8 d965b7c25d Merge branch 'main' into marvin/nonce 2026-02-16 09:27:34 -05:00
Pravdyvy 5d228c6d80 Merge branch 'arjentix/fix-sequencer-msg-id' into Pravdyvy/indexer-state-management 2026-02-13 13:37:10 +02:00
jonesmarvin8 77f2fb6994 update nonce mechanism 2026-02-12 19:22:03 -05:00
Daniil Polyakov d2ce0cd51b fix: run async runtime when dropping TestContext in BlockingTestContext 2026-02-12 19:35:07 +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 f891f57cab Merge branch 'main' into marvin/public_keys 2026-02-10 09:19:45 -05:00
Pravdyvy 56ff66ccc1 feat: first indexer integration test 2026-02-10 14:03:56 +02:00
Pravdyvy 36407c1d43 Merge branch 'arjentix/full-bedrock-integration' into Pravdyvy/indexer-state-management 2026-02-10 09:14:24 +02:00
Daniil Polyakov f248cf2ae0 feat: implement all-in-one docker compose 2026-02-10 00:27:47 +03:00
Daniil Polyakov 470c62b04a chore: apply recommended wallet config from #328 for integration tests 2026-02-09 15:15:53 +03:00
Pravdyvy 4afe687e4c Merge branch 'main' into Pravdyvy/indexer-state-management 2026-02-06 17:42:32 +02:00