1805 Commits

Author SHA1 Message Date
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
8cf73c00a9
Merge pull request #246 from logos-blockchain/marvin/private_keys
private key protocol fixes
2026-02-16 21:00:53 -05:00
jonesmarvin8
33084300ad fix ipk -> vpk 2026-02-16 20:39:00 -05:00
jonesmarvin8
70a2f9ce4e artifact fixes 2026-02-16 20:13:47 -05:00
jonesmarvin8
f8dfcac17a Merge branch 'main' into marvin/private_keys 2026-02-16 19:55:09 -05:00
jonesmarvin8
25084b5669 fix config file 2026-02-16 19:48:43 -05:00
Sergio Chouhy
2ac5d8d7de
Merge pull request #332 from logos-blockchain/schouhy/finish-auth-transfer-ffi-functionality
Add auth transfer FFI full functionality
2026-02-16 16:25:24 -03:00
Sergio Chouhy
32c36af126 fmt, clippy 2026-02-16 15:56:28 -03: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
Sergio Chouhy
5a96eb451c minor refactor 2026-02-16 11:24:07 -03: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
08e65d8332 update artifacts 2026-02-16 08:11:34 -05:00
jonesmarvin8
6a89ca0a7f Merge branch 'main' into marvin/private_keys 2026-02-16 08:02:37 -05:00
Sergio Chouhy
d8a8bdfc97
Merge pull request #333 from logos-blockchain/arjentix/fix-sequencer-msg-id
Fix sequencer data synchronization problems
2026-02-16 08:32:50 -03: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
Sergio Chouhy
439392cf26 fix: sequencer does not submit newly created blocks & fix to resubmit first pending block logic 2026-02-14 00:23:24 +03:00
Daniil Polyakov
91e57bbf1b fix: resubmit just one pending block 2026-02-13 15:44:16 +03:00
Daniil Polyakov
c63ecd6aba fix: initiate sequencer with chain height from db and not from config genesis id 2026-02-13 02:05:55 +03:00
Daniil Polyakov
f64b7ba0ef chore: ignore bedrock_signing_key 2026-02-13 01:56:10 +03:00
Daniil Polyakov
9d35cf4ea8 chore: adjuct docs and configs for manual run 2026-02-13 01:55:36 +03:00
Daniil Polyakov
c663ad1a56 chore: better error messages 2026-02-13 01:54:40 +03:00
Daniil Polyakov
2acc388ae9 chore: rename get_schema endpoint to more common getSchema 2026-02-13 01:49:20 +03: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
378d53f152 fix: don't delete finalized blocks but only mark them 2026-02-12 18:20:25 +03:00
Daniil Polyakov
9b51fd1fc2 fix: make InternalError more descriptive 2026-02-12 17:49:59 +03:00
Daniil Polyakov
51ab510e71 fix: retrieve last bedrock message id from db 2026-02-12 17:49:59 +03:00
Daniil Polyakov
d0f26744eb fix: sync last_bedrock_msg_id even if posting to Bedrock failed 2026-02-12 17:49:59 +03:00
Daniil Polyakov
0a8d6f1eb4 fix: always store latest block hash in db 2026-02-12 17:49:59 +03:00
Daniil Polyakov
cb6fb881ac
Merge pull request #316 from logos-blockchain/arjentix/full-bedrock-integration
Full bedrock integration
2026-02-12 17:47:47 +03:00
Daniil Polyakov
9bf3edbaad chore: remove risc0-zkvm dep from wallet 2026-02-12 16:39:23 +03:00
Daniil Polyakov
6d7ca887e3 chore: rebuild artifacts 2026-02-12 16:35:58 +03:00
Daniil Polyakov
0d0bb87bf3 feat: split tests job into unit-tests and integration-tests 2026-02-12 16:31:34 +03:00
Daniil Polyakov
70bae9158c fix: free disk space in CI before running tests 2026-02-12 16:31:34 +03:00
Daniil Polyakov
60be2b6d00 chore: satisfy CI 2026-02-12 16:31:34 +03:00
Daniil Polyakov
4b59782924 fix: construct Sequencer with zeroized last message id instead of genesis message id 2026-02-12 16:31:14 +03:00
Daniil Polyakov
fdcaabf761 chore: remove useless optional account in explorer 2026-02-12 16:31:13 +03:00
Daniil Polyakov
09debfa74f feat: implement all-in-one docker compose 2026-02-12 16:31:13 +03:00
Daniil Polyakov
dae1d92253 chore: remove outdated deploy ci workflow 2026-02-12 16:31:13 +03:00
Daniil Polyakov
843ca0b00d feat: Publish indexer_service and explorer_service docker images 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