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