Skip to content

Commit 9ada382

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
1 parent 3f14b16 commit 9ada382

File tree

245 files changed

+22145
-614
lines changed

Some content is hidden

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

245 files changed

+22145
-614
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)