253 Commits

Author SHA1 Message Date
Sergio Chouhy
9d2c37ff08 fix function parameters 2026-04-10 17:15:23 -03:00
Sergio Chouhy
a0cba55035
Merge pull request #435 from logos-blockchain/schouhy/fix-genesis-nullifiers
fix: Add init nullifiers for preconfigured accounts on genesis
2026-04-10 16:37:25 -03:00
Sergio Chouhy
4b0a68889c Merge remote-tracking branch 'origin/main' into schouhy/fix-genesis-nullifiers 2026-04-07 16:05:42 -03:00
Moudy
27fbd10d92 fix: post-merge test fixes for caller_program_id and genesis_timestamp 2026-04-07 20:15:17 +02:00
Moudy
b22a989fbc merge main into feat-caller-program-id-and-flash-swap 2026-04-07 19:27:27 +02:00
Moudy
7d465dded7 fix: verify caller_program_id in program output 2026-04-07 19:03:06 +02:00
Sergio Chouhy
2d1896013b handle comments 2026-04-07 13:35:13 -03:00
Sergio Chouhy
50d402880c add nullifiers for preconfigured accounts on genesis 2026-04-06 21:44:31 -03:00
Sergio Chouhy
015999b3a5 add clock usage example programs 2026-04-04 00:23:43 -03:00
Moudy
032f6b8906 fix: use AccountId::new instead of From<ProgramId>, apply formatting 2026-04-03 23:24:13 +02:00
Sergio Chouhy
deae71b09f handle comments 2026-04-03 18:13:24 -03:00
moudyellaz
1d0c93e9cf test: verify malicious self_program_id is rejected in public execution 2026-04-03 22:13:58 +02:00
Moudy
3cfc74695b fix: compute intermediate states inside flash swap programs 2026-04-03 22:05:49 +02:00
Moudy
5b42d8ed9c fix: move flash swap types before all functions in test module 2026-04-03 18:14:49 +02:00
Moudy
324593c4c7 fix: format expect attribute 2026-04-03 16:08:08 +02:00
Moudy
eefaf64b6d fix: move flash swap types before tests, use expect instead of allow 2026-04-03 16:04:49 +02:00
Moudy
9fb55a75d6 fix: ordering of items and allow large_enum_variant in test module 2026-04-03 15:40:55 +02:00
Moudy
bc0583368d fix: set is_authorized on PDA accounts in flash swap chained calls 2026-04-03 15:18:23 +02:00
Sergio Chouhy
55c75c55ae fix clippy 2026-04-02 21:44:33 -03:00
Moudy
74e16db68f fix: apply formatting and rebuild artifacts 2026-04-03 01:17:42 +02:00
moudyellaz
af81719414 feat: add flash swap integration tests 2026-04-03 00:58:11 +02:00
moudyellaz
599724b72f feat: register flash_swap programs as test programs 2026-04-03 00:58:11 +02:00
Sergio Chouhy
6a467da3b1 fmt and clippy 2026-04-02 17:48:02 -03:00
Sergio Chouhy
29d66d2c2d small refactor 2026-04-02 17:40:58 -03:00
Sergio Chouhy
9915f09d6d refactor to enforce validation of state diff through constructors 2026-04-02 02:39:37 -03:00
Sergio Chouhy
40c7b308a9 add validated state diff 2026-04-02 01:09:58 -03:00
Sergio Chouhy
fa2fd857a9 minor refactor 2026-04-01 00:01:11 -03:00
Sergio Chouhy
3c5a1c9d0a Merge branch 'main' into schouhy/add-block-context-system-accounts 2026-03-31 20:53:10 -03:00
Moudy
a560562874 fix: use force_insert_account in pinata PDA test
The pda_mechanism_with_pinata_token_program test was broken after
PR #414 introduced Claim::Authorized for token account claiming.
Set up token accounts directly to focus the test on the PDA mechanism
in the pinata program's chained call.
2026-03-31 18:51:37 +02:00
Moudy
d4fb326f66 fix: remove stale validity_window ref and add missing timestamp args 2026-03-31 14:38:05 +02:00
Sergio Chouhy
f627910468 fmt 2026-03-31 13:51:12 +02:00
Sergio Chouhy
8bfaf9ef4a remove blockid from common 2026-03-31 13:50:47 +02:00
Sergio Chouhy
9d830411a1 rename timestamp_ms to timestamp 2026-03-31 13:50:30 +02:00
Sergio Chouhy
77c5032527 remove common TimeStamp 2026-03-31 13:50:30 +02:00
Sergio Chouhy
99f0ed03dc add type aliases 2026-03-31 13:50:06 +02:00
Sergio Chouhy
27b0ba7592 add tests for timestamp validity windows 2026-03-31 13:49:37 +02:00
Sergio Chouhy
9aa7caf3bf refactor validity window with generic 2026-03-31 13:49:12 +02:00
moudyellaz
c4567d163d style: apply cargo fmt 2026-03-31 13:46:25 +02:00
moudyellaz
5c592312f9 feat: extend ValidityWindow with Unix timestamp bounds 2026-03-31 13:46:08 +02:00
Sergio Chouhy
67baefeaee fmt and clippy 2026-03-31 01:45:07 -03:00
Sergio Chouhy
d8ffa22b81 add more clock accounts 2026-03-31 01:39:02 -03:00
Sergio Chouhy
d6a92f443e add tests 2026-03-31 00:24:49 -03:00
Sergio Chouhy
7078e403ed add timestamp to clock 2026-03-30 23:50:54 -03:00
Daniil Polyakov
6780f1c9a4 feat: protect from public pda griefing attacks 2026-03-28 01:23:57 +03:00
Sergio Chouhy
e618e08bdc use validity window as intstruction type in test programs 2026-03-26 18:10:31 -03:00
Sergio Chouhy
acf609ecc8 Merge branch 'main' into schouhy/add-block-context 2026-03-26 13:24:46 -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
3324bcf391 add sequencer checks 2026-03-25 20:02:13 -03:00
Sergio Chouhy
90f20a7040 wip 2026-03-20 18:05:48 -03:00
Sergio Chouhy
66e9881f38 Merge branch 'main' into schouhy/add-block-context 2026-03-20 14:14:11 -03:00