chore: bump to solana 3#34
Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (38)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughAdds ChangesPorting Execution Plan
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@PORT-PLAN.md`:
- Around line 35-42: The PORT-PLAN.md file has markdown formatting violations
that need to be fixed. Add one blank line before each heading (### A, ### B, ###
C, ### D, ### Reference diff, ### Anchor, ### Native, ### Phase 0, ### Phase 1,
### Phase 2, ### Acceptance criteria, and ## Dependencies / risks). Add one
blank line before each fenced code block (the triple-backtick markers). In the
Native section, renumber the ordered list items 11-17 to be 1-7 to properly
reset numbering within that subsection. These changes will resolve all 19
markdownlint-cli2 warnings.
- Around line 4-8: The PORT-PLAN.md document makes assumptions about the prover
port being fixed at :3001 and the behavior of the `--stop` flag without proper
verification. Clarify and document the actual operational assumptions by
verifying whether the prover port is hardcoded or environment-dependent,
confirming the exact scope of the `--stop` flag (whether it only stops local
instances or can affect remote provers), and updating the relevant sections
around line 8 and line 75 to explicitly document these configuration details.
Add a warning or fallback section documenting what happens if a user has a
prover running on a non-standard port or remotely, so maintainers understand the
constraints and potential conflicts when executing the autonomous test-validator
recipe.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 060646fc-a5cc-47e7-9d6b-40cce8e121c8
⛔ Files ignored due to path filters (111)
account-comparison/Cargo.lockis excluded by!**/*.lockand included by noneaccount-comparison/Cargo.tomlis excluded by none and included by noneaccount-comparison/programs/account-comparison/.surfpool/logs/simnet_2026-06-23--03-34-47.logis excluded by!**/*.logand included by noneaccount-comparison/programs/account-comparison/Cargo.tomlis excluded by none and included by noneaccount-comparison/programs/account-comparison/src/lib.rsis excluded by none and included by noneaccount-comparison/programs/account-comparison/tests/test_compressed_account.rsis excluded by none and included by noneaccount-comparison/programs/account-comparison/tests/test_solana_account.rsis excluded by none and included by noneairdrop-implementations/simple-claim/program/Cargo.tomlis excluded by none and included by nonebasic-operations/anchor/burn/Cargo.lockis excluded by!**/*.lockand included by nonebasic-operations/anchor/burn/Cargo.tomlis excluded by none and included by nonebasic-operations/anchor/burn/programs/burn/.surfpool/logs/simnet_2026-06-23--03-31-30.logis excluded by!**/*.logand included by nonebasic-operations/anchor/burn/programs/burn/Cargo.tomlis excluded by none and included by nonebasic-operations/anchor/burn/programs/burn/src/lib.rsis excluded by none and included by nonebasic-operations/anchor/burn/programs/burn/tests/test.rsis excluded by none and included by nonebasic-operations/anchor/close/Cargo.lockis excluded by!**/*.lockand included by nonebasic-operations/anchor/close/Cargo.tomlis excluded by none and included by nonebasic-operations/anchor/close/programs/close/.surfpool/logs/simnet_2026-06-23--03-32-15.logis excluded by!**/*.logand included by nonebasic-operations/anchor/close/programs/close/Cargo.tomlis excluded by none and included by nonebasic-operations/anchor/close/programs/close/src/lib.rsis excluded by none and included by nonebasic-operations/anchor/close/programs/close/tests/test.rsis excluded by none and included by nonebasic-operations/anchor/create/Cargo.lockis excluded by!**/*.lockand included by nonebasic-operations/anchor/create/Cargo.tomlis excluded by none and included by nonebasic-operations/anchor/create/programs/create/.surfpool/logs/simnet_2026-06-23--03-29-51.logis excluded by!**/*.logand included by nonebasic-operations/anchor/create/programs/create/Cargo.tomlis excluded by none and included by nonebasic-operations/anchor/create/programs/create/src/lib.rsis excluded by none and included by nonebasic-operations/anchor/create/programs/create/tests/test.rsis excluded by none and included by nonebasic-operations/anchor/reinit/Cargo.lockis excluded by!**/*.lockand included by nonebasic-operations/anchor/reinit/Cargo.tomlis excluded by none and included by nonebasic-operations/anchor/reinit/programs/reinit/.surfpool/logs/simnet_2026-06-23--03-33-08.logis excluded by!**/*.logand included by nonebasic-operations/anchor/reinit/programs/reinit/Cargo.tomlis excluded by none and included by nonebasic-operations/anchor/reinit/programs/reinit/src/lib.rsis excluded by none and included by nonebasic-operations/anchor/reinit/programs/reinit/tests/test.rsis excluded by none and included by nonebasic-operations/anchor/update/Cargo.lockis excluded by!**/*.lockand included by nonebasic-operations/anchor/update/Cargo.tomlis excluded by none and included by nonebasic-operations/anchor/update/programs/update/.surfpool/logs/simnet_2026-06-23--03-30-38.logis excluded by!**/*.logand included by nonebasic-operations/anchor/update/programs/update/Cargo.tomlis excluded by none and included by nonebasic-operations/anchor/update/programs/update/src/lib.rsis excluded by none and included by nonebasic-operations/anchor/update/programs/update/tests/test.rsis excluded by none and included by nonebasic-operations/native/Cargo.lockis excluded by!**/*.lockand included by nonebasic-operations/native/Cargo.tomlis excluded by none and included by nonebasic-operations/native/programs/burn/.surfpool/logs/simnet_2026-06-23--03-52-42.logis excluded by!**/*.logand included by nonebasic-operations/native/programs/burn/Cargo.tomlis excluded by none and included by nonebasic-operations/native/programs/burn/src/lib.rsis excluded by none and included by nonebasic-operations/native/programs/burn/src/test_helpers.rsis excluded by none and included by nonebasic-operations/native/programs/burn/tests/test.rsis excluded by none and included by nonebasic-operations/native/programs/close/.surfpool/logs/simnet_2026-06-23--03-52-03.logis excluded by!**/*.logand included by nonebasic-operations/native/programs/close/Cargo.tomlis excluded by none and included by nonebasic-operations/native/programs/close/src/lib.rsis excluded by none and included by nonebasic-operations/native/programs/close/src/test_helpers.rsis excluded by none and included by nonebasic-operations/native/programs/close/tests/test.rsis excluded by none and included by nonebasic-operations/native/programs/create/.surfpool/logs/simnet_2026-06-23--03-39-34.logis excluded by!**/*.logand included by nonebasic-operations/native/programs/create/Cargo.tomlis excluded by none and included by nonebasic-operations/native/programs/create/src/lib.rsis excluded by none and included by nonebasic-operations/native/programs/create/src/test_helpers.rsis excluded by none and included by nonebasic-operations/native/programs/create/tests/test.rsis excluded by none and included by nonebasic-operations/native/programs/reinit/.surfpool/logs/simnet_2026-06-23--03-52-22.logis excluded by!**/*.logand included by nonebasic-operations/native/programs/reinit/Cargo.tomlis excluded by none and included by nonebasic-operations/native/programs/reinit/src/lib.rsis excluded by none and included by nonebasic-operations/native/programs/reinit/src/test_helpers.rsis excluded by none and included by nonebasic-operations/native/programs/reinit/tests/test.rsis excluded by none and included by nonebasic-operations/native/programs/update/.surfpool/logs/simnet_2026-06-23--03-51-43.logis excluded by!**/*.logand included by nonebasic-operations/native/programs/update/Cargo.tomlis excluded by none and included by nonebasic-operations/native/programs/update/src/lib.rsis excluded by none and included by nonebasic-operations/native/programs/update/src/test_helpers.rsis excluded by none and included by nonebasic-operations/native/programs/update/tests/test.rsis excluded by none and included by nonecounter/anchor/Cargo.lockis excluded by!**/*.lockand included by nonecounter/anchor/Cargo.tomlis excluded by none and included by nonecounter/anchor/programs/counter/.surfpool/logs/simnet_2026-06-23--02-16-09.logis excluded by!**/*.logand included by nonecounter/anchor/programs/counter/.surfpool/logs/simnet_2026-06-23--02-26-01.logis excluded by!**/*.logand included by nonecounter/anchor/programs/counter/.surfpool/logs/simnet_2026-06-23--02-29-09.logis excluded by!**/*.logand included by nonecounter/anchor/programs/counter/.surfpool/logs/simnet_2026-06-23--02-39-22.logis excluded by!**/*.logand included by nonecounter/anchor/programs/counter/.surfpool/logs/simnet_2026-06-23--02-46-50.logis excluded by!**/*.logand included by nonecounter/anchor/programs/counter/Cargo.tomlis excluded by none and included by nonecounter/anchor/programs/counter/src/lib.rsis excluded by none and included by nonecounter/anchor/programs/counter/tests/test.rsis excluded by none and included by nonecounter/native/.surfpool/logs/simnet_2026-06-23--03-38-46.logis excluded by!**/*.logand included by nonecounter/native/Cargo.lockis excluded by!**/*.lockand included by nonecounter/native/Cargo.tomlis excluded by none and included by nonecounter/native/src/lib.rsis excluded by none and included by nonecounter/native/tests/test.rsis excluded by none and included by nonecounter/pinocchio/Cargo.tomlis excluded by none and included by nonecreate-and-update/Cargo.lockis excluded by!**/*.lockand included by nonecreate-and-update/Cargo.tomlis excluded by none and included by nonecreate-and-update/programs/create-and-update/.surfpool/logs/simnet_2026-06-23--03-35-40.logis excluded by!**/*.logand included by nonecreate-and-update/programs/create-and-update/.surfpool/logs/simnet_2026-06-23--03-35-55.logis excluded by!**/*.logand included by nonecreate-and-update/programs/create-and-update/.surfpool/logs/simnet_2026-06-23--03-36-10.logis excluded by!**/*.logand included by nonecreate-and-update/programs/create-and-update/Cargo.tomlis excluded by none and included by nonecreate-and-update/programs/create-and-update/src/lib.rsis excluded by none and included by nonecreate-and-update/programs/create-and-update/tests/test.rsis excluded by none and included by nonecreate-and-update/programs/create-and-update/tests/test_create_two_accounts.rsis excluded by none and included by noneread-only/.surfpool/logs/simnet_2026-06-23--03-34-01.logis excluded by!**/*.logand included by noneread-only/Cargo.lockis excluded by!**/*.lockand included by noneread-only/Cargo.tomlis excluded by none and included by noneread-only/src/lib.rsis excluded by none and included by noneread-only/tests/test.rsis excluded by none and included by nonezk/nullifier/Cargo.lockis excluded by!**/*.lockand included by nonezk/nullifier/Cargo.tomlis excluded by none and included by nonezk/nullifier/programs/nullifier/.surfpool/logs/simnet_2026-06-23--03-36-57.logis excluded by!**/*.logand included by nonezk/nullifier/programs/nullifier/.surfpool/logs/simnet_2026-06-23--03-37-12.logis excluded by!**/*.logand included by nonezk/nullifier/programs/nullifier/.surfpool/logs/simnet_2026-06-23--03-50-23.logis excluded by!**/*.logand included by nonezk/nullifier/programs/nullifier/.surfpool/logs/simnet_2026-06-23--03-50-37.logis excluded by!**/*.logand included by nonezk/nullifier/programs/nullifier/Cargo.tomlis excluded by none and included by nonezk/nullifier/programs/nullifier/src/lib.rsis excluded by none and included by nonezk/nullifier/programs/nullifier/tests/test.rsis excluded by none and included by nonezk/zk-id/Cargo.lockis excluded by!**/*.lockand included by nonezk/zk-id/Cargo.tomlis excluded by none and included by nonezk/zk-id/programs/zk-id/Cargo.tomlis excluded by none and included by nonezk/zk-id/programs/zk-id/src/lib.rsis excluded by none and included by nonezk/zk-id/programs/zk-id/src/merkle_tree.rsis excluded by none and included by nonezk/zk-id/tests/circuit.rsis excluded by none and included by nonezk/zk-id/tests/test.rsis excluded by none and included by none
📒 Files selected for processing (1)
PORT-PLAN.md
|
|
||
| ## IMPORTANT - Autonomous Execution Mode | ||
|
|
||
| - This plan executes without user intervention (mode-auto active). | ||
| - All questions resolved: proceed even though the test's start-time `light test-validator --stop` will kill any user-run prover on :3001 (the test starts its own stack). |
There was a problem hiding this comment.
🩺 Stability & Availability | 🔵 Trivial | 💤 Low value
Clarify operational assumptions about the test-validator prover interaction.
Line 8 asserts: "proceed even though the test's start-time light test-validator --stop will kill any user-run prover on :3001 (the test starts its own stack)." This is a critical assumption for autonomous execution. Verify:
- Is
:3001guaranteed to be the prover port across all configurations, or is it environment-dependent? - If a user has a prover running elsewhere (e.g., different port, remote), will the
--stopat line 75 (the validator recipe step) still affect it, or only the local validator on 8899/8784/3001? - If this assumption is fragile, consider documenting a fallback or warning for maintainers running external provers.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@PORT-PLAN.md` around lines 4 - 8, The PORT-PLAN.md document makes assumptions
about the prover port being fixed at :3001 and the behavior of the `--stop` flag
without proper verification. Clarify and document the actual operational
assumptions by verifying whether the prover port is hardcoded or
environment-dependent, confirming the exact scope of the `--stop` flag (whether
it only stops local instances or can affect remote provers), and updating the
relevant sections around line 8 and line 75 to explicitly document these
configuration details. Add a warning or fallback section documenting what
happens if a user has a prover running on a non-standard port or remotely, so
maintainers understand the constraints and potential conflicts when executing
the autonomous test-validator recipe.
| ### A. Workspace-root `Cargo.toml` (the one with `[workspace]`) | ||
| Add: | ||
| ```toml | ||
| [patch.crates-io] | ||
| light-sdk = { path = "/Users/jorrit/dev/light/light-sdks/sdk" } | ||
| light-hasher = { path = "/Users/jorrit/dev/light/light-sdks/hasher" } | ||
| light-client = { path = "/Users/jorrit/dev/light/light-sdks/client" } | ||
| ``` |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win
Fix markdown formatting violations.
The document has 19 linting warnings from markdownlint-cli2:
- Missing blank lines around headings (11 instances): add one blank line before each heading (### A, ### B, ### C, ### D, ### Reference diff, ### Anchor, ### Native, ### Phase 0, ### Phase 1, ### Phase 2, ### Acceptance criteria, ## Dependencies / risks).
- Missing blank lines around fenced code blocks (4 instances): add one blank line before each triple-backtick block (lines 37, 42, 51, 61).
- Ordered list numbering in native examples (lines 104-110): renumber items 11-17 as 1-7 within the "Native (7)" section; the sequential numbering should reset per subsection.
📝 Proposed markdown fixes
### A. Workspace-root `Cargo.toml` (the one with `[workspace]`)
Add:
+
```toml
[patch.crates-io]
light-sdk = { path = "/Users/jorrit/dev/light/light-sdks/sdk" }
@@ -39,6 +40,7 @@ light-hasher = { path = "/Users/jorrit/dev/light/light-sdks/hasher" }
light-client = { path = "/Users/jorrit/dev/light/light-sdks/client" }(Patching these three pulls the whole transitive light-* graph from the local workspace.)
+
B. Program Cargo.toml
And:
```diff
### Native (7)
-11. `counter/native`
-12. `airdrop-implementations/simple-claim`
-13. `basic-operations/native/create`
-14. `basic-operations/native/update`
-15. `basic-operations/native/burn`
-16. `basic-operations/native/close`
-17. `basic-operations/native/reinit`
+1. `counter/native`
+2. `airdrop-implementations/simple-claim`
+3. `basic-operations/native/create`
+4. `basic-operations/native/update`
+5. `basic-operations/native/burn`
+6. `basic-operations/native/close`
+7. `basic-operations/native/reinit`
Also applies to: 45-61, 64-69, 82-91, 103-116, 121-132, 135-140, 169-173
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 35-35: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
[warning] 37-37: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
[warning] 42-42: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@PORT-PLAN.md` around lines 35 - 42, The PORT-PLAN.md file has markdown
formatting violations that need to be fixed. Add one blank line before each
heading (### A, ### B, ### C, ### D, ### Reference diff, ### Anchor, ### Native,
### Phase 0, ### Phase 1, ### Phase 2, ### Acceptance criteria, and ##
Dependencies / risks). Add one blank line before each fenced code block (the
triple-backtick markers). In the Native section, renumber the ordered list items
11-17 to be 1-7 to properly reset numbering within that subsection. These
changes will resolve all 19 markdownlint-cli2 warnings.
Source: Linters/SAST tools
…ashes; pin litesvm examples to 0.27.x Light CLI
…in update/reinit/zk-id)
…(stabilize read-backs)
…or credential creation
…, zk-id credential proof)
… of V2 batched trees
…address tree; register localnet V1 state tree
… use the V1 proof endpoint
…ess combo); other 19 examples green
… (Photon V1-state+V2-address proof unsupported)
…migration CI matrix; fix reinit create read-back catchup
Bumps the program examples to the Solana 3 / Anchor 1.0 stack and points the Light Protocol crate dependencies at the trimmed
light-sdksrepo via git, pinned to commit12ab48bde9260b80c7d8b6d38b066be357c1acc2.Changes
light-sdk,light-sdk-types,light-hasher,light-macros,light-client,light-concurrent-merkle-tree,light-merkle-tree-referenceto git deps ofLightprotocol/light-sdks(rev12ab48b).light-compressed-account,light-program-test,light-token,light-sdk-pinocchio,light-compressed-token-sdkon crates.io (not provided bylight-sdks).Build status (host
cargo check --libof program crates)light-sdks(light-sdk-pinocchio,light-compressed-account,light-token,light-compressed-token-sdk,light-program-test), which pull the crates.iolight-sdkand conflict with the git one.Summary by CodeRabbit
Documentation