94 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
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
5d9980cf63 lint fixes 2026-03-18 13:10:36 -04:00
jonesmarvin8
0bcb626adc lint fixes 2026-03-18 10:28:52 -04:00
jonesmarvin8
a83725512d Merge branch 'main' into marvin/nonce 2026-03-18 07:59:55 -04:00
Pravdyvy
94faaa6d64 Merge branch 'main' into Pravdyvy/indexer-final-state 2026-03-18 09:15:45 +02: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
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
dd64f0b1f8 Merge branch 'main' into marvin/nonce 2026-03-16 11:22:24 -04: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
Daniil Polyakov
39d8c89c17
Merge pull request #384 from logos-blockchain/Pravdyvy/shared-secret-receiver-usage-fix
Shared secret receiver usage fix
2026-03-05 21:59:16 +03:00
Pravdyvy
4950c1277c fix: suggestions fix 2026-03-05 17:25:53 +02:00
Pravdyvy
cb57baaa36 fix: integartion test on claiming path for token updated 2026-03-05 14:13:13 +02:00
Daniil Polyakov
ec1018deac feat: sort blocks from latest to oldest in explorer 2026-03-04 21:54:36 +03:00
Pravdyvy
44a11bd3f1 fix: state interactions fix 2026-03-04 14:12:39 +02:00
Sasha
ddecae8c40
feat: ensure pinata recipient initialized 2026-03-03 23:21:18 +01:00
jonesmarvin8
84abe02573 add serialize/deserialize impls 2026-03-02 11:54:41 -05:00
jonesmarvin8
d863b763d1 Merge branch 'main' into marvin/nonce 2026-03-02 10:49:07 -05: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
Pravdyvy
feb66e6a18 fix: tests unignored 2026-02-20 17:14:57 +03:00
Pravdyvy
6f979786e7 feat: tip polling 2026-02-20 17:13:59 +03:00
Daniil Polyakov
9f0f3713c7 Merge branch 'schouhy/fine-tuning' into Pravdyvy/indexer-state-management 2026-02-20 14:52:47 +03: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
946a45b8a3 added test for new nonce mechanism 2026-02-17 19:10:35 -05:00
jonesmarvin8
fa6a99192e Merge branch 'main' into marvin/nonce 2026-02-17 18:26:48 -05:00
Pravdyvy
f7f69f9f7b fix: commented all indexer tests 2026-02-17 08:32:15 +02:00
Pravdyvy
f11d374ae7 Merge branch 'main' into Pravdyvy/indexer-state-management 2026-02-17 08:06:16 +02: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
jonesmarvin8
889326d2ad clean up and fixed tests 2026-02-16 19:53:32 -05:00
jonesmarvin8
d965b7c25d Merge branch 'main' into marvin/nonce 2026-02-16 09:27:34 -05: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
6a89ca0a7f Merge branch 'main' into marvin/private_keys 2026-02-16 08:02:37 -05:00
Pravdyvy
5d228c6d80 Merge branch 'arjentix/fix-sequencer-msg-id' into Pravdyvy/indexer-state-management 2026-02-13 13:37:10 +02:00
jonesmarvin8
77f2fb6994 update nonce mechanism 2026-02-12 19:22:03 -05:00
Daniil Polyakov
d4494c1f21 fix: use private account for private account test in wallet_ffi 2026-02-12 19:38:04 +03:00
Daniil Polyakov
d2ce0cd51b fix: run async runtime when dropping TestContext in BlockingTestContext 2026-02-12 19:35:07 +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
3facbbcc1f fixed artifacts 2026-02-11 18:53:31 -05:00