Skip to content

chore: csdk + ctoken [cherry-picked] - #1893

Closed
SwenSchaeferjohann wants to merge 2 commits into
mainfrom
swen/rebase-ctoken2
Closed

chore: csdk + ctoken [cherry-picked]#1893
SwenSchaeferjohann wants to merge 2 commits into
mainfrom
swen/rebase-ctoken2

Conversation

@SwenSchaeferjohann

Copy link
Copy Markdown
Contributor

No description provided.

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
@coderabbitai

coderabbitai Bot commented Jul 29, 2025

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are limited to specific labels.

🏷️ Labels to auto review (1)
  • ai-review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch swen/rebase-ctoken2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Comment on lines +32 to +89
name: sdk-tests
if: github.event.pull_request.draft == false
runs-on: warp-ubuntu-latest-x64-4x
timeout-minutes: 60

services:
redis:
image: redis:8.0.1
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5

env:
REDIS_URL: redis://localhost:6379
RUST_MIN_STACK: 8388608

steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Setup and build
uses: ./.github/actions/setup-and-build
with:
skip-components: "redis"

- name: Build CLI
run: |
source ./scripts/devenv.sh
npx nx build @lightprotocol/zk-compression-cli

- name: Build core programs
run: |
source ./scripts/devenv.sh
npx nx build @lightprotocol/programs

- name: Build and test all sdk-tests programs
run: |
source ./scripts/devenv.sh
# Increase stack size for SBF compilation to avoid regex_automata stack overflow
export RUST_MIN_STACK=16777216
# Remove -D warnings flag for SBF compilation to avoid compilation issues
export RUSTFLAGS=""

echo "Building and testing all sdk-tests programs sequentially..."
# Build and test each program one by one to ensure .so files exist

echo "Building and testing native-compressible"
cargo-test-sbf -p native-compressible

echo "Building and testing anchor-compressible"
cargo-test-sbf -p anchor-compressible

echo "Building and testing anchor-compressible-derived"
cargo-test-sbf -p anchor-compressible-derived

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI about 1 year ago

To fix the issue, we will add a permissions block to the root of the workflow. This block will define the minimal permissions required for the workflow to function. Based on the provided workflow, it primarily involves checking out the repository and running tests, so the contents: read permission should suffice. If any steps require additional permissions (e.g., pull-requests: write), they can be added as needed.


Suggested changeset 1
.github/workflows/sdk-tests.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/sdk-tests.yml b/.github/workflows/sdk-tests.yml
--- a/.github/workflows/sdk-tests.yml
+++ b/.github/workflows/sdk-tests.yml
@@ -25,2 +25,5 @@
 
+permissions:
+  contents: read
+
 concurrency:
EOF
@@ -25,2 +25,5 @@

permissions:
contents: read

concurrency:
Copilot is powered by AI and may make mistakes. Always verify output.
feat: ctoken pinocchio
@SwenSchaeferjohann SwenSchaeferjohann changed the title chore: rebase to ctoken pinocchio chore: csdk + ctoken [cherry-picked] Jul 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants