308 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
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
32c36af126 fmt, clippy 2026-02-16 15:56:28 -03:00
jonesmarvin8
6a89ca0a7f Merge branch 'main' into marvin/private_keys 2026-02-16 08:02:37 -05:00
Daniil Polyakov
8b16318c38 fix: use base58 encoding for account in Explorer & some formatting chores 2026-02-14 00:23:34 +03:00
jonesmarvin8
943efd1433 Merge branch 'main' into marvin/private_keys 2026-02-12 10:33:00 -05:00
Daniil Polyakov
9bf3edbaad chore: remove risc0-zkvm dep from wallet 2026-02-12 16:39:23 +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
jonesmarvin8
9e52d41090 minor fixes from merging main
ipk -> vpk
IncomingViewingPublicKey -> ViewingPublicKey
2026-02-11 12:11:35 -05:00
jonesmarvin8
6a399ac36c Merge branch 'main' into marvin/private_keys 2026-02-11 11:49:57 -05:00
jonesmarvin8
a0ebd73f48
Merge pull request #249 from logos-blockchain/marvin/public_keys
public key protocol to match specs
2026-02-11 11:07:32 -05:00
Danish Arora
879dd61189
Increase wallet polling timeout for bedrock pipeline latency (#328) 2026-02-11 09:33:58 +05:30
jonesmarvin8
68254a835d fix license for amm and machete issue 2026-02-10 20:54:42 -05:00
jonesmarvin8
0930e4dd86 Merge branch 'main' into marvin/refactor-amm-program 2026-02-10 20:28:13 -05:00
jonesmarvin8
f891f57cab Merge branch 'main' into marvin/public_keys 2026-02-10 09:19:45 -05:00
Daniil Polyakov
9909f02803 refactor: split token program into crates 2026-02-06 00:08:43 +03:00
Sergio Chouhy
2fc1ec0fdc Merge branch 'main' into schouhy/add-wallet-ffi-tests 2026-02-04 20:48:36 -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
fryorcraken
a5240925fc
Merge pull request #292 from logos-blockchain/fryorcraken/labels
add `wallet account label` feature
2026-02-02 14:30:33 +11:00
David Rusu
38f1f68030 feat(license): MIT/Apache2 license and add cargo deny config 2026-01-31 23:13:36 +04:00
fryorcraken
636a3daedc
add wallet account label feature
- can add a label to own account via `wallet` CLI
- labels are displayed with `wallet account get` command
- labels are displayed with `wallet account list` command
- labels are persisted.
2026-01-28 15:19:09 +11:00
jonesmarvin8
19a53ed44e Merge branch 'main' into marvin/refactor-amm-program 2026-01-27 18:28:36 -05:00
jonesmarvin8
819bb1b7f3 Merge branch 'main' into marvin/private_keys 2026-01-27 16:30:11 -05:00
jonesmarvin8
752ad89ac7 fixed with unified approach 2026-01-27 16:00:42 -05:00
Pravdyvy
c0e879edae fix: suggestions fix 1 2026-01-27 09:46:31 +02:00
jonesmarvin8
9a92aa1553 updates and fmt 2026-01-26 18:38:41 -05:00
jonesmarvin8
a2d3d5ae0d Merge branch 'marvin/public_keys' into marvin/public_account_id 2026-01-26 16:08:33 -05:00
jonesmarvin8
d22354a485 update wallet configs 2026-01-24 08:47:09 -05:00
jonesmarvin8
0939b7e1c6 update public account id domain separator 2026-01-23 20:45:47 -05:00
jonesmarvin8
2367bf343b refactor AMM 2026-01-23 16:30:54 -05:00
Daniil Polyakov
652be426ae refactor: split token program into crates 2026-01-23 00:53:21 +03:00
Václav Pavlín
a8f41838ac
bug(wallet): conflicting flag -h for transaction info 2026-01-22 09:29:54 +01:00
jonesmarvin8
2c9219bb0f relabel ipk to vpk 2026-01-21 17:58:45 -05:00
jonesmarvin8
c6aa0c41b6 update tests 2026-01-21 17:27:23 -05:00
Daniil Polyakov
fb62143398
Merge pull request #259 from logos-blockchain/arjentix/multi-chain-calls-in-private-tx
Implement private multi chain calls
2026-01-21 16:55:49 +03:00
Daniil Polyakov
173945a170
Merge pull request #289 from logos-blockchain/fryorcraken/wallet-acc-ls-rm-commas
Remove trailing commas on `wallet account ls` output
2026-01-20 03:35:31 +03:00
Daniil Polyakov
4e46dbbdf4 feat: implement private multi chain calls in wallet (nssa) 2026-01-17 02:28:31 +03:00
fryorcraken
b8821693a8
Return keys for uninitialized accounts too 2026-01-16 11:31:11 +11:00
fryorcraken
9267cb59af
Return keys for public accounts 2026-01-16 11:31:11 +11:00
fryorcraken
562ab63735
Move the feature to get --keys 2026-01-16 11:31:10 +11:00
fryorcraken
6484e0121c
Remove trailing commas on wallet account ls output
The trailing commas is inconvenient:

1. For users trying to select an account id by double-clicking it in a terminal: the comma gets included in the selection
2. For dev parsing the `wallet account list` output: the commas needs to be handled
2026-01-16 11:30:11 +11:00
fryorcraken
f4978c1bde
add wallet account keys command to display ipk/npk
ipk and npk are needed to receive funds from an external account on a private account.

They are currently only displayed at account creation (`wallet account new private`). With this command, it is now possible to print them at any time.
2026-01-16 11:29:49 +11:00
Sergio Chouhy
54cc214c33
Merge pull request #284 from logos-blockchain/schouhy/fix-wallet
Fix wallet build
2026-01-14 10:44:09 -03:00
Daniil Polyakov
78e593285d
Merge pull request #281 from logos-blockchain/chore/use-flag-instead-of-key
chore(wallet): use --all instead of fake option name all
2026-01-14 00:59:39 +03:00
Sergio Chouhy
8e131713de add tokio macros feature to wallet deps 2026-01-12 20:12:37 -03:00
Daniil Polyakov
2fcde81301
Merge pull request #262 from logos-blockchain/arjentix/refactor-integration-tests
Big integration tests refactor
2026-01-13 00:32:04 +03:00