57 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
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
jonesmarvin8
ce729f112d Merge branch 'main' into marvin/bip-32-comp 2026-03-18 16:47:39 -04: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
Daniil Polyakov
756f2f4135 feat: add workspace lints to every crate 2026-03-17 15:13:44 +03:00
jonesmarvin8
b1747548b2 fix nullifer typo 2026-03-09 12:23:57 -04:00
jonesmarvin8
d863b763d1 Merge branch 'main' into marvin/nonce 2026-03-02 10:49:07 -05:00
danielSanchezQ
ccfc14cac1 Default prove 2026-02-24 08:16:59 +00:00
danielSanchezQ
e99c92543e Cargo fmt 2026-02-20 11:21:21 +00:00
danielSanchezQ
78233308cc Include pinata en ffi 2026-02-20 11:20:30 +00:00
jonesmarvin8
fa6a99192e Merge branch 'main' into marvin/nonce 2026-02-17 18:26:48 -05:00
danielSanchezQ
b2ef5e915c Update wallet ffi with transfer calls 2026-02-17 11:54:55 +00:00
jonesmarvin8
33084300ad fix ipk -> vpk 2026-02-16 20:39:00 -05:00
jonesmarvin8
a821f04fb8 Merge branch 'main' into marvin/nonce 2026-02-16 19:56:44 -05:00
jonesmarvin8
f8dfcac17a Merge branch 'main' into marvin/private_keys 2026-02-16 19:55:09 -05: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
77f2fb6994 update nonce mechanism 2026-02-12 19:22:03 -05:00
jonesmarvin8
943efd1433 Merge branch 'main' into marvin/private_keys 2026-02-12 10:33:00 -05: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
danielSanchezQ
042854653c Merge branch 'main' into feat/nixify
# Conflicts:
#	wallet-ffi/wallet_ffi.h
2026-02-10 12:38:04 +00: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
709f189aa1 remove print line 2026-02-05 12:14:32 -03:00
Sergio Chouhy
2fc1ec0fdc Merge branch 'main' into schouhy/add-wallet-ffi-tests 2026-02-04 20:48:36 -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
davidrusu
dac773fa03
Merge pull request #317 from logos-blockchain/drusu/license
Add Licensing + cargo deny check to ensure all dependencies are compliant
2026-02-04 08:55:03 +04:00
Sergio Chouhy
50b253fa00 move ffi tests to integration tests 2026-02-03 19:07:13 -03:00
Sergio Chouhy
35b469d738 add tests 2026-02-03 19:07:13 -03:00
Sergio Chouhy
629a3d1ef6 scaffolding 2026-02-03 19:07:13 -03:00
Alejandro Cabeza Romero
0126791537
Remove artifact library. 2026-02-03 15:40:36 +01:00
danielSanchezQ
9bb94c5df5 Initialize runtime automatically when needed 2026-02-03 09:23:20 +00:00
David Rusu
38f1f68030 feat(license): MIT/Apache2 license and add cargo deny config 2026-01-31 23:13:36 +04:00
Daniel
82d5ce403c Remove oncecell dep from workspace Cargo.toml 2026-01-26 10:53:17 +01:00
Daniel
addc65933f Fmt happy in nightly 2026-01-26 10:45:51 +01:00