2154 Commits

Author SHA1 Message Date
r4bbit
d7886ff5f3
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-31 10:06:32 +02:00
jonesmarvin8
ffcbc15972
Issue 258 - remove secp256k1 for k256 (#399)
* initialize branch

* fix signatures to use k256

* fixed error

* lint fix

* lint fix

* clippy fixes

* clippy
2026-03-30 17:15:25 -04:00
Sergio Chouhy
085ca69e42
Merge pull request #400 from logos-blockchain/schouhy/add-block-context
Add validity windows to program output
2026-03-27 10:07:38 -03:00
Sergio Chouhy
99071a4ef9 Merge branch 'main' into schouhy/add-block-context 2026-03-26 21:23:36 -03:00
Sergio Chouhy
73fdc1d70c artifacts 2026-03-26 18:30:03 -03:00
Sergio Chouhy
287b196569 remove redundant docstring 2026-03-26 18:16:18 -03:00
Sergio Chouhy
e618e08bdc use validity window as intstruction type in test programs 2026-03-26 18:10:31 -03:00
Sergio Chouhy
25a86d4bac move standard derives to beginning 2026-03-26 15:27:37 -03:00
Sergio Chouhy
57b83f4e1a move to impl display 2026-03-26 15:21:29 -03:00
Pravdyvy
9c23c5fd8a
Merge pull request #393 from logos-blockchain/Pravdyvy/hardcoded-initial-state
feat: general initial state
2026-03-26 19:17:20 +02:00
Pravdyvy
9d5eb3e3bd
Merge pull request #390 from logos-blockchain/Pravdyvy/indexer-db-batching
Indexer db batching
2026-03-26 18:27:02 +02:00
Sergio Chouhy
acf609ecc8 Merge branch 'main' into schouhy/add-block-context 2026-03-26 13:24:46 -03:00
Pravdyvy
8a806899e4 Merge branch 'main' into Pravdyvy/hardcoded-initial-state 2026-03-26 17:53:05 +02:00
Pravdyvy
b8a754449a Merge branch 'main' into Pravdyvy/indexer-db-batching 2026-03-26 17:51:03 +02:00
Sergio Chouhy
9e6820f2a4
Merge pull request #412 from logos-blockchain/schouhy/remove-indexer-ci-tests
Temporarily remove integration tests indexer
2026-03-26 12:41:23 -03:00
Sergio Chouhy
1ad3070662 fix deny 2026-03-26 11:54:24 -03:00
Sergio Chouhy
867b2ceb0b remove integration tests indexer 2026-03-26 11:01:36 -03:00
r4bbit
0ed91e869e feat(programs): add Associated Token Account program with wallet CLI and tutorial
Introduce the ATA program, which derives deterministic per-token holding
accounts from (owner, token_definition) via SHA256, eliminating the need
to manually create and track holding account IDs.

Program (programs/associated_token_account/):
- Create, Transfer, and Burn instructions with PDA-based authorization
- Deterministic address derivation: SHA256(owner || definition) → seed → AccountId
- Idempotent Create (no-op if ATA already exists)

Wallet CLI (`wallet ata`):
- `address` — derive ATA address locally (no network call)
- `create`  — initialize an ATA on-chain
- `send`    — transfer tokens from owner's ATA to a recipient
- `burn`    — burn tokens from owner's ATA
- `list`    — query ATAs across multiple token definitions

Usage:
  wallet deploy-program artifacts/program_methods/associated_token_account.bin
  wallet ata address --owner <ID> --token-definition <DEF_ID>
  wallet ata create --owner Public/<ID> --token-definition <DEF_ID>
  wallet ata send --from Public/<ID> --token-definition <DEF_ID> --to <RECIPIENT> --amount 100
  wallet ata burn --holder Public/<ID> --token-definition <DEF_ID> --amount 50
  wallet ata list --owner <ID> --token-definition <DEF1> <DEF2>

Includes tutorial: docs/LEZ testnet v0.1 tutorials/associated-token-accounts.md
2026-03-26 13:19:29 +01:00
Sergio Chouhy
fc34ecd3ca fix deny 2026-03-26 09:19:00 -03:00
Sergio Chouhy
c5cbfa375b artifacts 2026-03-25 20:58:55 -03:00
Sergio Chouhy
d7b0c42255 clippy 2026-03-25 20:26:04 -03:00
Sergio Chouhy
1b555d6623 update astral tokio tar 2026-03-25 18:03:07 -03:00
Sergio Chouhy
356a84132a build artifacts 2026-03-25 18:02:38 -03:00
Sergio Chouhy
52f254d4ed fix RUSTSEC-2026-0066 and RUSTSEC-2026-0049 2026-03-25 17:50:49 -03:00
Sergio Chouhy
70ccb1befa add constructors from ranges 2026-03-25 17:42:17 -03:00
Sergio Chouhy
953a1dacd3 clippy 2026-03-25 17:35:10 -03:00
Sergio Chouhy
79d70b3a66 add test for empty intersection in circuit 2026-03-25 17:33:27 -03:00
Sergio Chouhy
abc30c0ce0 remove old program output constructors 2026-03-25 16:56:04 -03:00
Sergio Chouhy
3356aef291 handle comments 2026-03-25 16:03:39 -03:00
Sergio Chouhy
1193d31f76 implement convert constructor 2026-03-25 15:47:50 -03:00
Sergio Chouhy
4d5d767249 add tests. minor refactor 2026-03-25 14:55:23 -03:00
Pravdyvy
ce136348e7 fix: deny fix 2026-03-23 19:22:56 +02:00
Pravdyvy
c3723776c6 fix: deny fix 2026-03-23 19:21:42 +02:00
Pravdyvy
df831bbf6f Merge branch 'main' into Pravdyvy/hardcoded-initial-state 2026-03-23 18:20:03 +02:00
Pravdyvy
1eae20ba3f fix: merge fixes 2026-03-23 18:16:53 +02:00
Pravdyvy
f59874dc1e Merge branch 'main' into Pravdyvy/indexer-db-batching 2026-03-23 18:16:45 +02:00
Daniil Polyakov
fb083ce91e
Merge pull request #402 from logos-blockchain/arjentix/fix-docker-permissions
Use docker volumes and cache docker Rust builds
2026-03-23 16:59:58 +03:00
Sergio Chouhy
414abe32ba artifacts 2026-03-20 15:53:05 -03:00
Sergio Chouhy
66e9881f38 Merge branch 'main' into schouhy/add-block-context 2026-03-20 14:14:11 -03:00
Sergio Chouhy
a7779f7816 artifacts 2026-03-20 14:11:09 -03:00
Sergio Chouhy
3257440448 enforce valid window construction 2026-03-20 13:49:17 -03:00
Daniil Polyakov
f9071d492c feat: cache rust builds in docker to speed up subsequent builds 2026-03-20 18:39:58 +03:00
Daniil Polyakov
c5950bd08a feat: use docker volumes instend of mounts for runtime data directories 2026-03-20 17:40:59 +03:00
jonesmarvin8
6f77c75b9c
Issue 257 - update ds and add ds to commitment (#397)
* initialize branch

* minor errors

* update artifacts and lint

* lint fix
2026-03-20 10:39:04 -04:00
Pravdyvy
9c90930bd6 Merge branch 'main' into Pravdyvy/hardcoded-initial-state 2026-03-20 14:55:42 +02:00
Sergio Chouhy
607a34058d Merge branch 'main' into schouhy/add-block-context 2026-03-20 09:52:16 -03:00
Pravdyvy
425a10516b Merge branch 'main' into Pravdyvy/indexer-db-batching 2026-03-20 14:39:30 +02:00
Sergio Chouhy
646fcc5390 push artifacts 2026-03-19 20:14:07 -03:00
Daniil Polyakov
fe368f2b48
Merge pull request #394 from logos-blockchain/arjentix/sequencer-rpc-server-refactor
Replace manual Sequencer RPC implementation with jsonrpsee
2026-03-20 01:53:28 +03:00
Sergio Chouhy
d9a1e56983 add docs 2026-03-19 19:41:02 -03:00