Skip to content

Commit 98a7f57

Browse files
ananas-blockSwenSchaeferjohann
authored andcommitted
feat: ctoken pinocchio
feat: add addresses to cpi context, enable spending of created accounts in same ix refactor: cpi context, enable addresses, enable assigned addresses, placeholders for readonly addresses, and accounts,breaking account layout change feat: add cpi context to ctoken ixs feat: update compressed mint, untested refactor: rename TokenContext -> HashCache feat: sha hashing for cmints, start update_metadata feat: add update to mint action feat: mint to decompressed feat: ctoken pinocchio post rebase feat: add addresses to cpi context, enable spending of created accounts in same ix system program update small instruction sdk token 4 cpis works chained token test create mint in cpi context works chaind token mint to works stash multiple ctoken action test implemented not working for address creation fails refactor: cpi context, enable addresses, enable assigned addresses, placeholders for readonly addresses, and accounts,breaking account layout change feat: add cpi context to ctoken ixs fix: chained ctoken actions test fix: cpi context address owner feat: update compressed mint, untested fix tests client test works fixed event parsing in system program, chained test works refactor: rename TokenContext -> HashCache cleanup ix data, rename UpdateCompressedMintInstructionData -> CompressedMintWithContext, UpdateCompressedMintInstructionDataV2 -> UpdateCompressedMintInstructionData feat: sha hashing for cmints, start update_metadata minor CU improvements feat: add zero copy enum support stash mint action feat: add update to mint action stash implemeneted mint actions for existing ixs test: mint actions with token client works without create mint stash cleanup cleanup chained action test passes stash chained test cleanup cleanup errors started refactor create spl mint feat: mint to decompressed update metadata compiles stash stash stash fix: mint hashing feat: format tx logs in light program test fix: logging fix: create spl test_create_compressed_mint_with_token_metadata_sha works fix: mint action program side bugs fix: test test_create_compressed_mint_with_token_metadata_poseidon fix create compressed mint test fix: update mint authority refactor: chained test to pda_ctoken, ctoken_pda comment create_spl_mint dir remove: dead code compressed token program test: decompressed transfer and update latest slot fix: token22 import fix: tests add program id check, cleanups refactor: unify create pda refactor associated token update claude md reactor: close account refactor: create token account refactor: mint_to_action fix: close account fix: mint action test refactor and cleanup create mint action mint action cleanup refactor: update authorities refactor: mint to decompressed refactor: update metadata refactor: update metadata authority cleanup refactor: always check that authority is signer cleanup fix: token sdk tests cherrypicked hasher update: support sha in hasher and lighthasher macro lint remove unused _output_account_info update lightdiscriminator macro wip add compress_pda helper compress_pda compiling decompress_idempotent.rs wip wip decompress batch idempotent wip add compress_pda_new and compress_multiple_pdas_new native program with decompress done compress_dynamic, decompress_dynamic wip adding anchor testprogram uses sdk fix compilation wip experiment with procmacro skip SLOT check at compress_pda_new wip add_compressible_instructions() works for compress, idl gen works add proc macro decompress_multiple_pdas is working as it should fix decompress_idempotent impl rm expanded add remove_data force apps to pass the whole signer_seeds directly add compressible_config draft add create_config_unchecked and checked use config, add unified header struct (just last_written_slot) for now use hascompressioninfo and compressioninfo add config support to compressible macro add expanded.rs cleanup anchor-derived example add support for multiple address_trees per address space add support for multiple address_trees per address space update macro to multiple address_trees add test-sdk-derived program wip cleanup native macro-derive example wip fix compilation config tests working clean up test_config.rs testing add a separate anchor compress_pda_new version so we dont have redundant serde wip wip wip fix decompress_idempotent anchor add test with 2nd account decompress works with multiple different PDAs cleanup, remove anchor helper decompress_multiple_pdas, fix discriminator writes rm examples simplify add compress_multiple_new + test add test add test: compressing multiple accounts_new fix compress_pda and add test added test case: invalid compression cleanup cleanup fmt and lint for anchor-compressible-user program config ix helpers added tests working, added generic create_compress_account_instruction rm warnings added standardized decompress_multiple_accounts_idempotent client rm idl add cu logger util wip add test: decompress with accounts stored in 2 different v2 state trees, added 2nd tree impl. to program-test and cli, added util to xtask clean clean up librs add opt anchor program error conv for errors, fix compression_info usage with single account struct wip clean fmt comments wip sdk-tests working extend and fix sdk-test tests, cleanup csdk, anchor program, update macro clean clean clean data_hasher.rs clean derive program tests, renaming, better simulate_cu err handling renames, remove deadcode remove unused discriminator field from config account move variable length field to end of config account struct simplify anchor/borsh serde imports add DEFAULT_DATA_HASH to constants rename CompressionInfo::new() to CompressionInfo::new_decompressed() xtask, remove helper wip remove redundant owner_program param add compile time size() rename pda_account to solana_account fix doctest output.data correctly clean initconfig, updatteconfig accounts struct rename signer_seeds to solana_accounts__signer_seeds move programs to sdk-test dir move to light-compressible-client lint ci wip wip add check load config add sdk-tests to workspace rename sdk-tests program names fix ci fix asserts in tests fmt update pkg json for sdk-tests debug prints for ci in test_indexer fmt make macro robust, lint anchor-discriminator-compat feature for LightDiscriminator lint add test_discriminator test replace actionlint revert actionlint macro: allow flex imports wip fmt update macro add sha hash function support to LightAccount and LightHasher + tests DataHasher macro: explicit validation for sha fix rebase gmt add compressible macro rebased - fixed macro compressAs trait for compression with custom data add test, fix lint compress_as, flexible Compressible macro auto-derives HasCompressionInfo macro clean remove debug trait bound wip wip add compress_empty_account for native + tests refactor compression config actions to accept rpc trait better upgrade_authority check better error logging add cpda derivation check in prepare_empty_compressed_accounts_on_init js: dedupe in lut creation add PackedAccounts, deriveAddressV2, initializeCompressionConfig helpers add borsh_compat module for validityProof add compressible ts sdk packedaccounts, fix v2 tree getters wip wip wip switch to cpiaccountsSmall wip wip wip wip workaround assign correct hash in client add leafIndex bug reproducer in sdk-token-test pda_ctoken test_indexer, rm debug fix: test_indexer treetype assignment (hotfix) patch compressed accounts with correct leaf_indices in test_indexer clean apply jorrits rc fix add ts packedAccountsSmall, add cpi_inputs helpers for using cpi_context wip wip make csdk use heap alot wip fix new_address_owner assignment array len wip 0x3a99 add fetch_accounts, wip wip bump photon version add clear upd fetch-accounts fmt photon_api and u64 as string conv. add relevant helpers wip wip: add create_spl_to_ctoken_transfer transfer-decompressed helpers work wip feat: ctoken to spl token transfer tag csdk-0.3.0 add create_token_pool helpers to light-token-client bump to 0.3.2 bump v rm prover windows bin from npm pkg pub js sdks alpha wip bumped js alpha add non-inclusion keys 3,4 to bin bump to cli 0.27.1-alpha.1 update anchor_compressible to latest sdk rm print clean up compressible chore: refactor token-client compressed_token submodule chore: update compressible macro rm .md anchor-compressible invoke_ctoken_decompression clean fetch-accounts script wip - debug readonly invocation decompress_accounts_idempotent works light-client test-indexer fix: return cpi_context for v2 trees efficient ctoken to decompress_accounts_idempotent wip add compress ctoken account to anchor-compressible example wip wip - add test for decompress + compress fix account meta order and signer rm logs compress token account working unified compress_accounts in decompress_accounts_idempotent make compress_token_account generic, move helpers to compressed-token-sdk wip add pack and unpack decompress ix builder uses pack trait decompress_accounts_idempotent works with unified compressed_accounts param. wip - stackoverflow process_pda_decompression works. resolved stackframe error add full compress_accounts_idempotent implementation clean add generic compress_accounts_idempotent CompressibleInstruction helper compress_accounts_idempotent test 1 wip - testing compress_accounts with pdas + tokens debug indexer bug, reproducer in decompress_multiple_pdas_with_ctoken fix: system program cpi context event with empty data all tests in anchor-compressible working. using compress_accounts_idempotent and decompress_accounts_idempotent clean up , remove compress_account from compressibleInstruction
1 parent b5b5282 commit 98a7f57

File tree

254 files changed

+23872
-716
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

254 files changed

+23872
-716
lines changed

.github/workflows/ci-lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ jobs:
1212
shell: bash
1313
- name: Check workflow files
1414
run: ${{ steps.get_actionlint.outputs.executable }} -color
15-
shell: bash
15+
shell: bash

.github/workflows/light-examples-tests.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,16 @@ on:
44
- main
55
paths:
66
- "examples/**"
7+
- "program-tests/sdk-anchor-test/**"
8+
- "program-tests/sdk-pinocchio-test/**"
79
- "sdk-libs/**"
810
pull_request:
911
branches:
1012
- "*"
1113
paths:
1214
- "examples/**"
15+
- "program-tests/sdk-anchor-test/**"
16+
- "program-tests/sdk-pinocchio-test/**"
1317
- "sdk-libs/**"
1418
types:
1519
- opened
@@ -24,8 +28,8 @@ concurrency:
2428
cancel-in-progress: true
2529

2630
jobs:
27-
system-programs:
28-
name: system-programs
31+
examples-tests:
32+
name: examples-tests
2933
if: github.event.pull_request.draft == false
3034
runs-on: ubuntu-latest
3135
timeout-minutes: 60

.github/workflows/sdk-tests.yml

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
paths:
6+
- "sdk-tests/**"
7+
- "sdk-libs/**"
8+
- "program-libs/**"
9+
- ".github/workflows/sdk-tests.yml"
10+
pull_request:
11+
branches:
12+
- "*"
13+
paths:
14+
- "sdk-tests/**"
15+
- "sdk-libs/**"
16+
- "program-libs/**"
17+
- ".github/workflows/sdk-tests.yml"
18+
types:
19+
- opened
20+
- synchronize
21+
- reopened
22+
- ready_for_review
23+
24+
name: sdk-tests
25+
26+
concurrency:
27+
group: ${{ github.workflow }}-${{ github.ref }}
28+
cancel-in-progress: true
29+
30+
jobs:
31+
sdk-tests:
32+
name: sdk-tests
33+
if: github.event.pull_request.draft == false
34+
runs-on: warp-ubuntu-latest-x64-4x
35+
timeout-minutes: 60
36+
37+
services:
38+
redis:
39+
image: redis:8.0.1
40+
ports:
41+
- 6379:6379
42+
options: >-
43+
--health-cmd "redis-cli ping"
44+
--health-interval 10s
45+
--health-timeout 5s
46+
--health-retries 5
47+
48+
env:
49+
REDIS_URL: redis://localhost:6379
50+
RUST_MIN_STACK: 8388608
51+
52+
steps:
53+
- name: Checkout sources
54+
uses: actions/checkout@v4
55+
56+
- name: Setup and build
57+
uses: ./.github/actions/setup-and-build
58+
with:
59+
skip-components: "redis"
60+
61+
- name: Build CLI
62+
run: |
63+
source ./scripts/devenv.sh
64+
npx nx build @lightprotocol/zk-compression-cli
65+
66+
- name: Build core programs
67+
run: |
68+
source ./scripts/devenv.sh
69+
npx nx build @lightprotocol/programs
70+
71+
- name: Build and test all sdk-tests programs
72+
run: |
73+
source ./scripts/devenv.sh
74+
# Increase stack size for SBF compilation to avoid regex_automata stack overflow
75+
export RUST_MIN_STACK=16777216
76+
# Remove -D warnings flag for SBF compilation to avoid compilation issues
77+
export RUSTFLAGS=""
78+
79+
echo "Building and testing all sdk-tests programs sequentially..."
80+
# Build and test each program one by one to ensure .so files exist
81+
82+
echo "Building and testing native-compressible"
83+
cargo-test-sbf -p native-compressible
84+
85+
echo "Building and testing anchor-compressible"
86+
cargo-test-sbf -p anchor-compressible
87+
88+
echo "Building and testing anchor-compressible-derived"
89+
cargo-test-sbf -p anchor-compressible-derived

0 commit comments

Comments
 (0)