12 Commits

Author SHA1 Message Date
Marvin Jones
be4b910a28 addressed comments 2026-05-28 16:58:03 -04:00
Pravdyvy
8ada8ee2da
feat!(wallet): Merged SigningGroup with AccountManager (#500)
* feat: account manager extension

* feat(wallet): added unified way of sending public transactions to all facades

* fix(wallet): no sign option added

* fix(deny): deny fix

* fix(wallet): suggestion 1

* fix(wallet): suggestion fix 1

* feat!: Add new path for externally provided seed to the circuit.

BREAKING CHANGE: add identity variants to the circuit and change semantics for `Claim::Authorized` for private PDAs

* feat(ci): use separate job per each integration tests module

* feat(ci): cache rust artifacts

* feat(ci): build integration tests binary once and reuse it

* fix(wallet): fmt

* ci: add bench-regression workflow with criterion-compare for crypto_primitives_bench

* fix(wallet): merge postfix

* feat!(wallet): SigningGroup merged with AccountManager

* fix(ci): deny and artifacts fix

* fix(deny): deny fix

* fix keycard and lint

---------

Co-authored-by: Sergio Chouhy <sergio.chouhy@gmail.com>
Co-authored-by: Daniil Polyakov <arjentix@gmail.com>
Co-authored-by: Moudy <m.ellaz@hotmail.com>
Co-authored-by: Sergio Chouhy <41742639+schouhy@users.noreply.github.com>
Co-authored-by: jonesmarvin8 <83104039+jonesmarvin8@users.noreply.github.com>
2026-05-27 17:34:08 -04:00
Marvin Jones
b0593b34fb addressed deferred comments 2026-05-22 14:23:44 -04:00
jonesmarvin8
643eb2e741 addressing comments 2026-05-18 15:33:26 -04:00
jonesmarvin8
a216234a95 refactored 2026-05-17 12:32:43 -04:00
jonesmarvin8
54f6d4922b updating logic 2026-05-15 18:15:54 -04:00
jonesmarvin8
eb05957182 ci fixes 2026-05-04 10:03:44 -04:00
jonesmarvin8
a8156b579c adding support to other programs 2026-05-01 02:44:36 -04:00
jonesmarvin8
b12222641b initialize branch 2026-04-27 20:16:39 -04:00
jonesmarvin8
2926c808d3 Removed privacy txs for keycard 2026-04-27 16:37:21 -04:00
jonesmarvin8
24f6f1f8ca fixes 2026-04-26 21:29:54 -04: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