359 Commits

Author SHA1 Message Date
r4bbit
3659f7c89a
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-24 14:12:36 +01:00
Daniil Polyakov
3913446cd2 fix: some wallet default config fixes after rebase 2026-03-20 01:21:50 +03:00
Daniil Polyakov
05c2c3a56d fix: encode transactions with borsh in sequencer rpc 2026-03-20 00:48:04 +03:00
Daniil Polyakov
7b20a83379 fix: fixes after rebase & address comments 2026-03-20 00:48:04 +03:00
Daniil Polyakov
325960d696 feat: remove override_rust_log from wallet config 2026-03-20 00:48:04 +03:00
Daniil Polyakov
b631ef02c6 fix: final fixes & polishing 2026-03-20 00:47:37 +03:00
Daniil Polyakov
9d87e3b046 fix: fix lints 2026-03-20 00:41:05 +03:00
Daniil Polyakov
b254ebb185 feat: refactor sequencer RPC client-side 2026-03-20 00:41:05 +03:00
Daniil Polyakov
be94e133fa feat: refactor sequencer RPC server-side 2026-03-20 00:41:05 +03:00
Daniil Polyakov
bffc711470 refactor: move sequencer_ directories into sequencer 2026-03-20 00:36:07 +03:00
jonesmarvin8
4fdefd3557 fix typo 2026-03-18 16:53:07 -04:00
jonesmarvin8
ce729f112d Merge branch 'main' into marvin/bip-32-comp 2026-03-18 16:47:39 -04:00
jonesmarvin8
5d9980cf63 lint fixes 2026-03-18 13:10:36 -04:00
jonesmarvin8
0bcb626adc lint fixes 2026-03-18 10:28:52 -04:00
jonesmarvin8
ba8fdf4f29 fix conflicts from merging main 2026-03-17 19:16:09 -04:00
jonesmarvin8
8dd5037e28 Merge branch 'main' into marvin/nonce 2026-03-17 16:45:08 -04:00
Daniil Polyakov
d79ac3f9a8 fix: formatting 2026-03-17 21:25:30 +03: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
jonesmarvin8
b44e066e84 fix constructor 2026-03-17 09:29:00 -04:00
Daniil Polyakov
756f2f4135 feat: add workspace lints to every crate 2026-03-17 15:13:44 +03:00
jonesmarvin8
dd64f0b1f8 Merge branch 'main' into marvin/nonce 2026-03-16 11:22:24 -04:00
fryorcraken
e20860ea97
fix: use base58 encoding for program_owner instead of hex
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:04:17 +11:00
fryorcraken
546c3d0986
fix: remove unused bytemuck dep and apply nightly fmt
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 13:46:20 +11:00
fryorcraken
339c0dc048
Prefer hex string to vector of number for stdout 2026-03-13 13:46:19 +11:00
Daniil Polyakov
3256e3d470
Merge pull request #381 from logos-blockchain/weboko/pinata-auth-transfer
feat: ensure pinata recipient initialized
2026-03-10 22:29:40 +03:00
jonesmarvin8
b1747548b2 fix nullifer typo 2026-03-09 12:23:57 -04:00
jonesmarvin8
a5119dc3f3 fix wallet configs 2026-03-09 11:50:37 -04:00
jonesmarvin8
1cfc710024 Merge branch 'main' into marvin/bip-32-comp 2026-03-09 05:23:24 -04:00
Pravdyvy
fa406e7a86 fix: removed redundant logging 2026-03-05 15:20:22 +02:00
Pravdyvy
cb57baaa36 fix: integartion test on claiming path for token updated 2026-03-05 14:13:13 +02:00
Pravdyvy
e3764e1911 fix: shared secret receiver fix 2026-03-05 12:35:18 +02:00
Sasha
ddecae8c40
feat: ensure pinata recipient initialized 2026-03-03 23:21:18 +01:00
jonesmarvin8
7daf32611a add necessary typo back in 2026-03-02 16:42:32 -05:00
jonesmarvin8
d863b763d1 Merge branch 'main' into marvin/nonce 2026-03-02 10:49:07 -05:00
jonesmarvin8
ab41bff5cc update config files 2026-02-27 18:30:54 -05:00
jonesmarvin8
b9324bf03b Merge branch 'main' into marvin/bip-32-comp 2026-02-26 12:41:50 -05:00
Daniil Polyakov
529dfce413 fix: ensure wallet data is fully synced with fs 2026-02-26 16:25:24 +03:00
Daniil Polyakov
437e5addb4 feat: use human-readable byte sizes and durations 2026-02-26 16:25:24 +03:00
Daniil Polyakov
8b5524901c feat: configurable block size limit 2026-02-26 16:21:43 +03:00
jonesmarvin8
3ed6ce3f1c fix wallet json 2026-02-25 19:00:01 -05:00
danielSanchezQ
78233308cc Include pinata en ffi 2026-02-20 11:20:30 +00:00
r4bbit
6c2bdb1b20
feat: add --label option to wallet account new sub command
Following the work done in
https://github.com/logos-blockchain/lssa/pull/292 and the comment on
extending the work
https://github.com/logos-blockchain/lssa/pull/292#pullrequestreview-3672282664,
this commit introduces a new `--label` option to the `wallet account
new` sub command.

**Usage**:

```
wallet account new public --label "Public test account"
wallet account new private --label "Private test account"
```

Labels have to be unique across all accounts in the wallet storage.

The commit also adds tests, which make use of the `WalletSubCommand`
trait functions (hence the change to make it a `pub trait`).
2026-02-18 12:30:17 +01:00
jonesmarvin8
b3e2162d71 fix machete and unit test 2026-02-17 19:56:35 -05:00
jonesmarvin8
fa6a99192e Merge branch 'main' into marvin/nonce 2026-02-17 18:26:48 -05:00
r4bbit
76af23f386
fix(sequencer_rpc): add AMM program id
This adds the AMM program ID to the `get_program_ids` RPC endpoints,
as it's currently missing while still being predeployed.
2026-02-17 14:55:46 +01: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