55 Commits

Author SHA1 Message Date
Daniil Polyakov
6780f1c9a4 feat: protect from public pda griefing attacks 2026-03-28 01:23:57 +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
Daniil Polyakov
7b20a83379 fix: fixes after rebase & address comments 2026-03-20 00:48:04 +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
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
e3b93b6e9a feat: add restriction clippy lints 2026-03-17 21:25:30 +03:00
jonesmarvin8
d863b763d1 Merge branch 'main' into marvin/nonce 2026-03-02 10:49:07 -05:00
danielSanchezQ
78233308cc Include pinata en ffi 2026-02-20 11:20:30 +00:00
jonesmarvin8
fa6a99192e Merge branch 'main' into marvin/nonce 2026-02-17 18:26:48 -05: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
Sergio Chouhy
32c36af126 fmt, clippy 2026-02-16 15:56:28 -03:00
jonesmarvin8
77f2fb6994 update nonce mechanism 2026-02-12 19:22:03 -05: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
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
Daniil Polyakov
9909f02803 refactor: split token program into crates 2026-02-06 00:08:43 +03: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
jonesmarvin8
c6aa0c41b6 update tests 2026-01-21 17:27:23 -05:00
Daniil Polyakov
4e46dbbdf4 feat: implement private multi chain calls in wallet (nssa) 2026-01-17 02:28:31 +03: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
48d1d0e858 fix: adjust to a new token vec instruction 2025-12-26 20:56:34 +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
639c282c61 fix: suggestions fix 2 2025-12-22 19:34:47 +02:00
Pravdyvy
22f6d92ca6 Merge branch 'main' into Pravdyvy/amm-wallet-integration 2025-12-22 05:00:50 +02:00
Pravdyvy
4f15237446 fix: suggestions fix 2025-12-22 04:42:32 +02:00
Pravdyvy
e351279278 fix: merge ci fix 2025-12-22 04:14:54 +02:00
Pravdyvy
c95c4b2f16 Merge branch 'main' into Pravdyvy/token-burn-mint-wallet-update 2025-12-22 04:04:09 +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
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
Sergio Chouhy
77fd189010 refactor to use privacy tail calls from send_privacy_preserving_tx and add the example runner 2025-12-12 14:21:07 -03:00
Pravdyvy
5212d456ab fix: integration tests 2025-12-12 13:40:56 +02:00
Pravdyvy
0be88d4343 fix: fmt 2025-12-11 14:47:11 +02:00
Pravdyvy
f77481f3b5 feat: mint and burn 2025-12-11 14:46:16 +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
Daniil Polyakov
1412ad4da4 refactor: remove redundant request and response types 2025-12-04 14:55:58 +03:00