Skip to content

feat: support anchor v1 and backward compat for session keys#86

Open
jonasXchen wants to merge 3 commits into
mainfrom
feat/session-keys-anchor-v1
Open

feat: support anchor v1 and backward compat for session keys#86
jonasXchen wants to merge 3 commits into
mainfrom
feat/session-keys-anchor-v1

Conversation

@jonasXchen
Copy link
Copy Markdown
Collaborator

@jonasXchen jonasXchen commented May 25, 2026

Summary by CodeRabbit

  • New Features

    • Added session-keys example demonstrating session token management with counter delegation to ephemeral rollups, including a complete React UI, Anchor program, and integration tests.
  • Chores

    • Updated SDK dependencies to version 0.14.3 across all example projects.
    • Refactored commit workflows to use updated builder patterns for enhanced reliability.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 25, 2026

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9f5be8db-54ed-4023-8074-5a30b48cd886

📥 Commits

Reviewing files that changed from the base of the PR and between 40df6d9 and 8c78e48.

⛔ Files ignored due to path filters (48)
  • 00-LEGACY_EXAMPLES/anchor-counter/Cargo.lock is excluded by !**/*.lock
  • 00-LEGACY_EXAMPLES/anchor-counter/app/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • 00-LEGACY_EXAMPLES/anchor-counter/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • 00-LEGACY_EXAMPLES/anchor-rock-paper-scissor/Cargo.lock is excluded by !**/*.lock
  • 00-LEGACY_EXAMPLES/anchor-rock-paper-scissor/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • 00-LEGACY_EXAMPLES/crank-counter/Cargo.lock is excluded by !**/*.lock
  • 00-LEGACY_EXAMPLES/crank-counter/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • 00-LEGACY_EXAMPLES/ephemeral-account-chats/Cargo.lock is excluded by !**/*.lock
  • 00-LEGACY_EXAMPLES/ephemeral-account-chats/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • 00-LEGACY_EXAMPLES/magic-actions/Cargo.lock is excluded by !**/*.lock
  • 00-LEGACY_EXAMPLES/magic-actions/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • 00-LEGACY_EXAMPLES/roll-dice/Cargo.lock is excluded by !**/*.lock
  • 00-LEGACY_EXAMPLES/roll-dice/app/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • 00-LEGACY_EXAMPLES/session-keys/Cargo.lock is excluded by !**/*.lock
  • 00-LEGACY_EXAMPLES/session-keys/app/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • 00-LEGACY_EXAMPLES/session-keys/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • 00-LEGACY_EXAMPLES/spl-tokens/Cargo.lock is excluded by !**/*.lock
  • 00-LEGACY_EXAMPLES/spl-tokens/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • anchor-counter/Cargo.lock is excluded by !**/*.lock
  • anchor-counter/app/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • anchor-counter/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • anchor-ephemeral-permission-counter/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • anchor-rock-paper-scissor/Cargo.lock is excluded by !**/*.lock
  • anchor-rock-paper-scissor/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • crank-counter/Cargo.lock is excluded by !**/*.lock
  • crank-counter/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • dummy-token-transfer/Cargo.lock is excluded by !**/*.lock
  • dummy-token-transfer/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • ephemeral-account-chats/Cargo.lock is excluded by !**/*.lock
  • ephemeral-account-chats/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • magic-actions/Cargo.lock is excluded by !**/*.lock
  • magic-actions/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • pinocchio-counter/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • pinocchio-secret-counter/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • rewards-delegated-vrf/Cargo.lock is excluded by !**/*.lock
  • rewards-delegated-vrf/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • roll-dice/Cargo.lock is excluded by !**/*.lock
  • roll-dice/app/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • rust-counter/Cargo.lock is excluded by !**/*.lock
  • rust-counter/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • session-keys/Cargo.lock is excluded by !**/*.lock
  • session-keys/app/package-lock.json is excluded by !**/package-lock.json
  • session-keys/app/public/favicon.ico is excluded by !**/*.ico
  • session-keys/app/public/magicblock_white.png is excluded by !**/*.png
  • session-keys/app/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • session-keys/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • spl-tokens/Cargo.lock is excluded by !**/*.lock
  • spl-tokens/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (85)
  • .claude/settings.json
  • 00-LEGACY_EXAMPLES/anchor-counter/app/package.json
  • 00-LEGACY_EXAMPLES/anchor-counter/package.json
  • 00-LEGACY_EXAMPLES/anchor-counter/programs/private-counter/Cargo.toml
  • 00-LEGACY_EXAMPLES/anchor-counter/programs/public-counter/Cargo.toml
  • 00-LEGACY_EXAMPLES/anchor-rock-paper-scissor/package.json
  • 00-LEGACY_EXAMPLES/anchor-rock-paper-scissor/programs/anchor-rock-paper-scissor/Cargo.toml
  • 00-LEGACY_EXAMPLES/crank-counter/package.json
  • 00-LEGACY_EXAMPLES/crank-counter/programs/crank-counter/Cargo.toml
  • 00-LEGACY_EXAMPLES/ephemeral-account-chats/package.json
  • 00-LEGACY_EXAMPLES/ephemeral-account-chats/programs/ephemeral-account-chats/Cargo.toml
  • 00-LEGACY_EXAMPLES/magic-actions/package.json
  • 00-LEGACY_EXAMPLES/magic-actions/programs/magic-actions/Cargo.toml
  • 00-LEGACY_EXAMPLES/roll-dice/app/package.json
  • 00-LEGACY_EXAMPLES/roll-dice/programs/roll-dice-delegated/Cargo.toml
  • 00-LEGACY_EXAMPLES/roll-dice/programs/roll-dice/Cargo.toml
  • 00-LEGACY_EXAMPLES/session-keys/app/package.json
  • 00-LEGACY_EXAMPLES/session-keys/package.json
  • 00-LEGACY_EXAMPLES/session-keys/programs/anchor-counter-session/Cargo.toml
  • 00-LEGACY_EXAMPLES/spl-tokens/app/package.json
  • 00-LEGACY_EXAMPLES/spl-tokens/package.json
  • 00-LEGACY_EXAMPLES/spl-tokens/programs/spl-tokens/Cargo.toml
  • anchor-counter/app/package.json
  • anchor-counter/package.json
  • anchor-counter/programs/private-counter/Cargo.toml
  • anchor-counter/programs/public-counter/Cargo.toml
  • anchor-ephemeral-permission-counter/package.json
  • anchor-rock-paper-scissor/package.json
  • anchor-rock-paper-scissor/programs/anchor-rock-paper-scissor/Cargo.toml
  • crank-counter/package.json
  • crank-counter/programs/crank-counter/Cargo.toml
  • dummy-token-transfer/package.json
  • dummy-token-transfer/programs/dummy-transfer/Cargo.toml
  • ephemeral-account-chats/package.json
  • ephemeral-account-chats/programs/ephemeral-account-chats/Cargo.toml
  • magic-actions/package.json
  • magic-actions/programs/magic-actions/Cargo.toml
  • oncurve-delegation/package.json
  • pinocchio-counter/Cargo.toml
  • pinocchio-counter/package.json
  • pinocchio-counter/src/processor.rs
  • pinocchio-secret-counter/Cargo.toml
  • pinocchio-secret-counter/package.json
  • pinocchio-secret-counter/src/processor.rs
  • rewards-delegated-vrf/dashboard/package.json
  • rewards-delegated-vrf/package.json
  • rewards-delegated-vrf/programs/rewards-delegated-vrf/Cargo.toml
  • roll-dice/app/package.json
  • roll-dice/programs/roll-dice-delegated/Cargo.toml
  • roll-dice/programs/roll-dice/Cargo.toml
  • rust-counter/Cargo.toml
  • rust-counter/package.json
  • rust-counter/src/processor.rs
  • session-keys/.gitignore
  • session-keys/Anchor.toml
  • session-keys/Cargo.toml
  • session-keys/README.md
  • session-keys/app/LICENSE.md
  • session-keys/app/README.md
  • session-keys/app/craco.config.js
  • session-keys/app/package.json
  • session-keys/app/public/index.html
  • session-keys/app/public/manifest.json
  • session-keys/app/src/App.tsx
  • session-keys/app/src/components/Active.scss
  • session-keys/app/src/components/Active.tsx
  • session-keys/app/src/components/Alert.tsx
  • session-keys/app/src/components/Button.tsx
  • session-keys/app/src/components/Square.scss
  • session-keys/app/src/components/Square.tsx
  • session-keys/app/src/components/Wallet.tsx
  • session-keys/app/src/index.css
  • session-keys/app/src/index.tsx
  • session-keys/app/tsconfig.json
  • session-keys/package.json
  • session-keys/programs/anchor-counter-session/Cargo.toml
  • session-keys/programs/anchor-counter-session/src/lib.rs
  • session-keys/tests/advanced-magic.ts
  • session-keys/tests/anchor-counter-session.ts
  • session-keys/tsconfig.json
  • session-keys/utils/initializeKeypair.ts
  • spl-tokens/app/package.json
  • spl-tokens/package.json
  • spl-tokens/programs/spl-tokens/Cargo.toml
  • update-sdk-versions.sh
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/session-keys-anchor-v1

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

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

You can enable review details to help with troubleshooting, context usage and more.

Enable the reviews.review_details setting to include review details such as the model used, the time taken for each step and more in the review comments.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
er-rolldice Ready Ready Preview, Comment May 25, 2026 6:38am
magicblock-counter-example Ready Ready Preview, Comment May 25, 2026 6:38am
magicblock-engine-examples Ready Ready Preview, Comment May 25, 2026 6:38am
magicblock-rewards-dashboard Ready Ready Preview, Comment May 25, 2026 6:38am
spl-tokens Error Error May 25, 2026 6:38am

Request Review

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.

1 participant