Skip to content

chore: bump to solana 3#34

Merged
SwenSchaeferjohann merged 24 commits into
mainfrom
chore/bump-to-solana-3
Jun 23, 2026
Merged

chore: bump to solana 3#34
SwenSchaeferjohann merged 24 commits into
mainfrom
chore/bump-to-solana-3

Conversation

@ananas-block

@ananas-block ananas-block commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Bumps the program examples to the Solana 3 / Anchor 1.0 stack and points the Light Protocol crate dependencies at the trimmed light-sdks repo via git, pinned to commit 12ab48bde9260b80c7d8b6d38b066be357c1acc2.

Changes

  • Switched light-sdk, light-sdk-types, light-hasher, light-macros, light-client, light-concurrent-merkle-tree, light-merkle-tree-reference to git deps of Lightprotocol/light-sdks (rev 12ab48b).
  • Left light-compressed-account, light-program-test, light-token, light-sdk-pinocchio, light-compressed-token-sdk on crates.io (not provided by light-sdks).
  • Solana 3 / Anchor 1.0 port updates across program sources and tests.

Build status (host cargo check --lib of program crates)

  • PASS: create-and-update, account-comparison, read-only, counter/anchor, counter/native, basic-operations/anchor (×5), basic-operations/native (×5), zk/nullifier, zk/zk-id
  • FAIL (expected): counter/pinocchio, airdrop-implementations/simple-claim — these depend on crates not in light-sdks (light-sdk-pinocchio, light-compressed-account, light-token, light-compressed-token-sdk, light-program-test), which pull the crates.io light-sdk and conflict with the git one.

Summary by CodeRabbit

Documentation

  • Added comprehensive execution plan for porting example programs to local SDKs, including phased approach, dependency specifications, validator and test strategies, known blockers, and risk assessment.

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (38)
  • .github/actions/setup/action.yml is excluded by none and included by none
  • .github/workflows/rust-tests.yml is excluded by none and included by none
  • .github/workflows/typescript-tests.yml is excluded by none and included by none
  • .gitignore is excluded by none and included by none
  • account-comparison/Cargo.toml is excluded by none and included by none
  • account-comparison/programs/account-comparison/tests/test_compressed_account.rs is excluded by none and included by none
  • basic-operations/anchor/burn/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/burn/programs/burn/tests/test.rs is excluded by none and included by none
  • basic-operations/anchor/close/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/close/programs/close/tests/test.rs is excluded by none and included by none
  • basic-operations/anchor/create/Anchor.toml is excluded by none and included by none
  • basic-operations/anchor/create/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/create/programs/create/tests/test.rs is excluded by none and included by none
  • basic-operations/anchor/reinit/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/reinit/programs/reinit/tests/test.rs is excluded by none and included by none
  • basic-operations/anchor/update/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/update/programs/update/tests/test.rs is excluded by none and included by none
  • basic-operations/native/Cargo.toml is excluded by none and included by none
  • basic-operations/native/programs/burn/tests/test.rs is excluded by none and included by none
  • basic-operations/native/programs/close/tests/test.rs is excluded by none and included by none
  • basic-operations/native/programs/create/tests/test.rs is excluded by none and included by none
  • basic-operations/native/programs/reinit/tests/test.rs is excluded by none and included by none
  • basic-operations/native/programs/update/tests/test.rs is excluded by none and included by none
  • counter/anchor/Cargo.toml is excluded by none and included by none
  • counter/anchor/programs/counter/tests/test.rs is excluded by none and included by none
  • counter/native/Cargo.lock is excluded by !**/*.lock and included by none
  • counter/native/Cargo.toml is excluded by none and included by none
  • counter/native/tests/test.rs is excluded by none and included by none
  • create-and-update/Anchor.toml is excluded by none and included by none
  • create-and-update/Cargo.lock is excluded by !**/*.lock and included by none
  • create-and-update/Cargo.toml is excluded by none and included by none
  • create-and-update/programs/create-and-update/tests/test.rs is excluded by none and included by none
  • create-and-update/programs/create-and-update/tests/test_create_two_accounts.rs is excluded by none and included by none
  • read-only/Cargo.toml is excluded by none and included by none
  • read-only/tests/test.rs is excluded by none and included by none
  • zk/nullifier/Anchor.toml is excluded by none and included by none
  • zk/nullifier/Cargo.toml is excluded by none and included by none
  • zk/nullifier/programs/nullifier/tests/test.rs is excluded by none and included by none

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 952534ca-84eb-44dd-b3c5-ae8c95ae36d0

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

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds PORT-PLAN.md, a date-stamped autonomous execution plan for porting example programs to local light-sdks via [patch.crates-io]. The document defines parallelism rules, a canonical porting/testing recipe, an example inventory, phased execution with acceptance criteria, current status, and known risks.

Changes

Porting Execution Plan

Layer / File(s) Summary
Autonomous mode constraints and goal
PORT-PLAN.md
Defines non-interactive subagent behavior, parallelism limits (≤5 subagents), the overall porting goal, target dependency stack, and explicit exclusion of Pinocchio examples until light-sdk-pinocchio is available locally.
Canonical porting recipe and example inventory
PORT-PLAN.md
Specifies workspace [patch.crates-io] wiring, per-program Cargo.toml rules (anchor-lang = 1.0.2, SDK keccak feature, removal of light-program-test/solana-sdk), anchor Context signature updates, validator+LightClient startup/funding/serialization workflow, and enumerates all anchor and native examples to port.
Execution phases, status, and risks
PORT-PLAN.md
Defines Phase 0/1/2 rules, acceptance criteria, completed and blocked item lists, Phase 2 fixes already applied (SBF build dependency gating, zk/nullifier assertion adaptation), and remaining risk notes including zk/zk-id circuit toolchain dependency.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

A plan unfurled in markdown's grace,
Five subagents set to race,
Patch the crates, spin validators tight,
Serialize the tests, keep the phases right.
PORT-PLAN.md — the map is drawn! 🗺️

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The PR title 'chore: bump to solana 3' is vague and does not accurately reflect the primary objective. The actual work involves comprehensive migration to Solana 3 and Anchor 1.0 with switching Light Protocol crates to git dependencies—far more complex than the title suggests. Consider a more descriptive title like 'chore: migrate to Solana 3, Anchor 1.0 and light-sdks git dependencies' to better convey the scope and intent of this significant update.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/bump-to-solana-3

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 44c9c9c and 95bda86.

⛔ Files ignored due to path filters (111)
  • account-comparison/Cargo.lock is excluded by !**/*.lock and included by none
  • account-comparison/Cargo.toml is excluded by none and included by none
  • account-comparison/programs/account-comparison/.surfpool/logs/simnet_2026-06-23--03-34-47.log is excluded by !**/*.log and included by none
  • account-comparison/programs/account-comparison/Cargo.toml is excluded by none and included by none
  • account-comparison/programs/account-comparison/src/lib.rs is excluded by none and included by none
  • account-comparison/programs/account-comparison/tests/test_compressed_account.rs is excluded by none and included by none
  • account-comparison/programs/account-comparison/tests/test_solana_account.rs is excluded by none and included by none
  • airdrop-implementations/simple-claim/program/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/burn/Cargo.lock is excluded by !**/*.lock and included by none
  • basic-operations/anchor/burn/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/burn/programs/burn/.surfpool/logs/simnet_2026-06-23--03-31-30.log is excluded by !**/*.log and included by none
  • basic-operations/anchor/burn/programs/burn/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/burn/programs/burn/src/lib.rs is excluded by none and included by none
  • basic-operations/anchor/burn/programs/burn/tests/test.rs is excluded by none and included by none
  • basic-operations/anchor/close/Cargo.lock is excluded by !**/*.lock and included by none
  • basic-operations/anchor/close/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/close/programs/close/.surfpool/logs/simnet_2026-06-23--03-32-15.log is excluded by !**/*.log and included by none
  • basic-operations/anchor/close/programs/close/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/close/programs/close/src/lib.rs is excluded by none and included by none
  • basic-operations/anchor/close/programs/close/tests/test.rs is excluded by none and included by none
  • basic-operations/anchor/create/Cargo.lock is excluded by !**/*.lock and included by none
  • basic-operations/anchor/create/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/create/programs/create/.surfpool/logs/simnet_2026-06-23--03-29-51.log is excluded by !**/*.log and included by none
  • basic-operations/anchor/create/programs/create/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/create/programs/create/src/lib.rs is excluded by none and included by none
  • basic-operations/anchor/create/programs/create/tests/test.rs is excluded by none and included by none
  • basic-operations/anchor/reinit/Cargo.lock is excluded by !**/*.lock and included by none
  • basic-operations/anchor/reinit/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/reinit/programs/reinit/.surfpool/logs/simnet_2026-06-23--03-33-08.log is excluded by !**/*.log and included by none
  • basic-operations/anchor/reinit/programs/reinit/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/reinit/programs/reinit/src/lib.rs is excluded by none and included by none
  • basic-operations/anchor/reinit/programs/reinit/tests/test.rs is excluded by none and included by none
  • basic-operations/anchor/update/Cargo.lock is excluded by !**/*.lock and included by none
  • basic-operations/anchor/update/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/update/programs/update/.surfpool/logs/simnet_2026-06-23--03-30-38.log is excluded by !**/*.log and included by none
  • basic-operations/anchor/update/programs/update/Cargo.toml is excluded by none and included by none
  • basic-operations/anchor/update/programs/update/src/lib.rs is excluded by none and included by none
  • basic-operations/anchor/update/programs/update/tests/test.rs is excluded by none and included by none
  • basic-operations/native/Cargo.lock is excluded by !**/*.lock and included by none
  • basic-operations/native/Cargo.toml is excluded by none and included by none
  • basic-operations/native/programs/burn/.surfpool/logs/simnet_2026-06-23--03-52-42.log is excluded by !**/*.log and included by none
  • basic-operations/native/programs/burn/Cargo.toml is excluded by none and included by none
  • basic-operations/native/programs/burn/src/lib.rs is excluded by none and included by none
  • basic-operations/native/programs/burn/src/test_helpers.rs is excluded by none and included by none
  • basic-operations/native/programs/burn/tests/test.rs is excluded by none and included by none
  • basic-operations/native/programs/close/.surfpool/logs/simnet_2026-06-23--03-52-03.log is excluded by !**/*.log and included by none
  • basic-operations/native/programs/close/Cargo.toml is excluded by none and included by none
  • basic-operations/native/programs/close/src/lib.rs is excluded by none and included by none
  • basic-operations/native/programs/close/src/test_helpers.rs is excluded by none and included by none
  • basic-operations/native/programs/close/tests/test.rs is excluded by none and included by none
  • basic-operations/native/programs/create/.surfpool/logs/simnet_2026-06-23--03-39-34.log is excluded by !**/*.log and included by none
  • basic-operations/native/programs/create/Cargo.toml is excluded by none and included by none
  • basic-operations/native/programs/create/src/lib.rs is excluded by none and included by none
  • basic-operations/native/programs/create/src/test_helpers.rs is excluded by none and included by none
  • basic-operations/native/programs/create/tests/test.rs is excluded by none and included by none
  • basic-operations/native/programs/reinit/.surfpool/logs/simnet_2026-06-23--03-52-22.log is excluded by !**/*.log and included by none
  • basic-operations/native/programs/reinit/Cargo.toml is excluded by none and included by none
  • basic-operations/native/programs/reinit/src/lib.rs is excluded by none and included by none
  • basic-operations/native/programs/reinit/src/test_helpers.rs is excluded by none and included by none
  • basic-operations/native/programs/reinit/tests/test.rs is excluded by none and included by none
  • basic-operations/native/programs/update/.surfpool/logs/simnet_2026-06-23--03-51-43.log is excluded by !**/*.log and included by none
  • basic-operations/native/programs/update/Cargo.toml is excluded by none and included by none
  • basic-operations/native/programs/update/src/lib.rs is excluded by none and included by none
  • basic-operations/native/programs/update/src/test_helpers.rs is excluded by none and included by none
  • basic-operations/native/programs/update/tests/test.rs is excluded by none and included by none
  • counter/anchor/Cargo.lock is excluded by !**/*.lock and included by none
  • counter/anchor/Cargo.toml is excluded by none and included by none
  • counter/anchor/programs/counter/.surfpool/logs/simnet_2026-06-23--02-16-09.log is excluded by !**/*.log and included by none
  • counter/anchor/programs/counter/.surfpool/logs/simnet_2026-06-23--02-26-01.log is excluded by !**/*.log and included by none
  • counter/anchor/programs/counter/.surfpool/logs/simnet_2026-06-23--02-29-09.log is excluded by !**/*.log and included by none
  • counter/anchor/programs/counter/.surfpool/logs/simnet_2026-06-23--02-39-22.log is excluded by !**/*.log and included by none
  • counter/anchor/programs/counter/.surfpool/logs/simnet_2026-06-23--02-46-50.log is excluded by !**/*.log and included by none
  • counter/anchor/programs/counter/Cargo.toml is excluded by none and included by none
  • counter/anchor/programs/counter/src/lib.rs is excluded by none and included by none
  • counter/anchor/programs/counter/tests/test.rs is excluded by none and included by none
  • counter/native/.surfpool/logs/simnet_2026-06-23--03-38-46.log is excluded by !**/*.log and included by none
  • counter/native/Cargo.lock is excluded by !**/*.lock and included by none
  • counter/native/Cargo.toml is excluded by none and included by none
  • counter/native/src/lib.rs is excluded by none and included by none
  • counter/native/tests/test.rs is excluded by none and included by none
  • counter/pinocchio/Cargo.toml is excluded by none and included by none
  • create-and-update/Cargo.lock is excluded by !**/*.lock and included by none
  • create-and-update/Cargo.toml is excluded by none and included by none
  • create-and-update/programs/create-and-update/.surfpool/logs/simnet_2026-06-23--03-35-40.log is excluded by !**/*.log and included by none
  • create-and-update/programs/create-and-update/.surfpool/logs/simnet_2026-06-23--03-35-55.log is excluded by !**/*.log and included by none
  • create-and-update/programs/create-and-update/.surfpool/logs/simnet_2026-06-23--03-36-10.log is excluded by !**/*.log and included by none
  • create-and-update/programs/create-and-update/Cargo.toml is excluded by none and included by none
  • create-and-update/programs/create-and-update/src/lib.rs is excluded by none and included by none
  • create-and-update/programs/create-and-update/tests/test.rs is excluded by none and included by none
  • create-and-update/programs/create-and-update/tests/test_create_two_accounts.rs is excluded by none and included by none
  • read-only/.surfpool/logs/simnet_2026-06-23--03-34-01.log is excluded by !**/*.log and included by none
  • read-only/Cargo.lock is excluded by !**/*.lock and included by none
  • read-only/Cargo.toml is excluded by none and included by none
  • read-only/src/lib.rs is excluded by none and included by none
  • read-only/tests/test.rs is excluded by none and included by none
  • zk/nullifier/Cargo.lock is excluded by !**/*.lock and included by none
  • zk/nullifier/Cargo.toml is excluded by none and included by none
  • zk/nullifier/programs/nullifier/.surfpool/logs/simnet_2026-06-23--03-36-57.log is excluded by !**/*.log and included by none
  • zk/nullifier/programs/nullifier/.surfpool/logs/simnet_2026-06-23--03-37-12.log is excluded by !**/*.log and included by none
  • zk/nullifier/programs/nullifier/.surfpool/logs/simnet_2026-06-23--03-50-23.log is excluded by !**/*.log and included by none
  • zk/nullifier/programs/nullifier/.surfpool/logs/simnet_2026-06-23--03-50-37.log is excluded by !**/*.log and included by none
  • zk/nullifier/programs/nullifier/Cargo.toml is excluded by none and included by none
  • zk/nullifier/programs/nullifier/src/lib.rs is excluded by none and included by none
  • zk/nullifier/programs/nullifier/tests/test.rs is excluded by none and included by none
  • zk/zk-id/Cargo.lock is excluded by !**/*.lock and included by none
  • zk/zk-id/Cargo.toml is excluded by none and included by none
  • zk/zk-id/programs/zk-id/Cargo.toml is excluded by none and included by none
  • zk/zk-id/programs/zk-id/src/lib.rs is excluded by none and included by none
  • zk/zk-id/programs/zk-id/src/merkle_tree.rs is excluded by none and included by none
  • zk/zk-id/tests/circuit.rs is excluded by none and included by none
  • zk/zk-id/tests/test.rs is excluded by none and included by none
📒 Files selected for processing (1)
  • PORT-PLAN.md

Comment thread PORT-PLAN.md
Comment on lines +4 to +8

## 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).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 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 :3001 guaranteed 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 --stop at 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.

Comment thread PORT-PLAN.md
Comment on lines +35 to +42
### 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" }
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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
…address tree; register localnet V1 state tree
… (Photon V1-state+V2-address proof unsupported)
…migration CI matrix; fix reinit create read-back catchup
@SwenSchaeferjohann SwenSchaeferjohann merged commit 2f36dc4 into main Jun 23, 2026
19 checks passed
@SwenSchaeferjohann SwenSchaeferjohann deleted the chore/bump-to-solana-3 branch June 23, 2026 22:51
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