103 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
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
975cfb9ec6 feat: fully integrate Sequencer, Indexer and Explorer with Bedrock 2026-02-12 16:31:13 +03:00
jonesmarvin8
6a399ac36c Merge branch 'main' into marvin/private_keys 2026-02-11 11:49:57 -05:00
Daniil Polyakov
9909f02803 refactor: split token program into crates 2026-02-06 00:08:43 +03: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
819bb1b7f3 Merge branch 'main' into marvin/private_keys 2026-01-27 16:30:11 -05: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
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
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
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
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
Václav Pavlín
040dc9eff7
chore(wallet): use --all instead of fake option name all 2026-01-08 10:03:11 +01:00
fryorcraken
76839dd59a
add wallet account list --long option
Display account details in the `account list` output when using the `-l|--long` option.
2026-01-07 16:10:38 +11:00
Daniil Polyakov
7296088005 feat: introduce parallel integration tests, wallet without global vars and etc 2025-12-31 04:30:22 +03:00
Daniil Polyakov
2d1ee4b279 Merge branch 'main' into Pravdyvy/amm-wallet-integration 2025-12-26 23:07:48 +03:00
Daniil Polyakov
bece9a9108 Merge branch 'main' into Pravdyvy/token-burn-mint-wallet-update 2025-12-26 13:38:34 +03:00
Daniil Polyakov
9d37a88069 fix: proper type for token program instruction 2025-12-26 00:24:55 +03:00
Pravdyvy
4f15237446 fix: suggestions fix 2025-12-22 04:42:32 +02:00
Pravdyvy
f6c787e15f fix: suggestions fix 2025-12-22 04:02:12 +02:00
Pravdyvy
d427d49c65 fix: suggestions added 2025-12-19 19:12:58 +02:00
Pravdyvy
1b0dea11f6
Update wallet/src/cli/programs/amm.rs
Co-authored-by: Sergio Chouhy <41742639+schouhy@users.noreply.github.com>
2025-12-19 19:02:39 +02:00
Pravdyvy
c1283d4a0c fix: public execution finalized 2025-12-18 11:44:38 +02:00
Pravdyvy
92b5dffec2 fix: public swaps 2025-12-17 14:21:36 +02:00
Pravdyvy
b3dca76b67 fix: intercommit 2025-12-17 11:44:52 +02:00
Pravdyvy
d4a471e948 feat: swaps, add/rem liq 2025-12-16 14:05:34 +02:00
Pravdyvy
5212d456ab fix: integration tests 2025-12-12 13:40:56 +02:00
Pravdyvy
f77481f3b5 feat: mint and burn 2025-12-11 14:46:16 +02:00
Sergio Chouhy
9637b8b666 Merge branch 'main' into schouhy/add-wallet-deploy-command 2025-12-10 09:58:45 -03:00
Pravdyvy
81316f6766 Merge branch 'main' into Pravdyvy/tree-ux-updates 2025-12-10 10:18:07 +02:00
Pravdyvy
81393925d0
Merge pull request #211 from logos-blockchain/Pravdyvy/private-definition-token
Private TokenDefinition support
2025-12-10 10:03:42 +02:00
Pravdyvy
8e2b1c5993 Merge branch 'Pravdyvy/keys-restoration-from-mnemonic' into Pravdyvy/tree-ux-updates 2025-12-10 08:46:39 +02:00
Pravdyvy
1309185ecc Merge branch 'main' into Pravdyvy/keys-restoration-from-mnemonic 2025-12-10 08:34:01 +02:00
Sergio Chouhy
79b4dc0333 Merge branch 'schouhy/add-wallet-deploy-command' of github.com:logos-blockchain/lssa into schouhy/add-wallet-deploy-command 2025-12-09 15:22:30 -03:00
Sergio Chouhy
ab6ea1f4c0 use pathbuf and context 2025-12-09 15:18:48 -03:00
Sergio Chouhy
8cfb586bee
Update wallet/src/cli/mod.rs
Co-authored-by: Daniil Polyakov <arjentix@gmail.com>
2025-12-09 14:55:12 -03:00
Daniil Polyakov
4574acfc49 feat: introduce account data size limit 2025-12-09 20:26:02 +03:00
Daniil Polyakov
46ac451284 feat: add basic auth to wallet 2025-12-09 18:20:50 +03:00
Pravdyvy
26fb822da1 Merge branch 'Pravdyvy/keys-restoration-from-mnemonic' into Pravdyvy/tree-ux-updates 2025-12-09 10:46:28 +02:00
Pravdyvy
d0064a4b0b Merge branch 'main' into Pravdyvy/tree-ux-updates 2025-12-09 10:40:35 +02:00
Pravdyvy
40991cf6d1 fix: layered cleanup 2025-12-08 12:11:11 +02:00
Sergio Chouhy
cc08e0a614 add deploy program command 2025-12-05 17:54:51 -03:00