Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 10 additions & 11 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 9 additions & 9 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,8 @@ ark-std = "0.5"

# Light Protocol
light-hash-set = { version = "4.0.0", path = "program-libs/hash-set" }
light-indexed-merkle-tree = { version = "4.0.1", path = "program-libs/indexed-merkle-tree" }
light-concurrent-merkle-tree = { version = "4.0.1", path = "program-libs/concurrent-merkle-tree" }
light-indexed-merkle-tree = { version = "5.0.0", path = "program-libs/indexed-merkle-tree" }
light-concurrent-merkle-tree = { version = "5.0.0", path = "program-libs/concurrent-merkle-tree" }
light-sparse-merkle-tree = { version = "0.3.0", path = "sparse-merkle-tree" }
light-client = { path = "sdk-libs/client", version = "0.16.0" }
light-event = { path = "sdk-libs/event", version = "0.1.1" }
Expand All @@ -185,12 +185,12 @@ light-sdk = { path = "sdk-libs/sdk", version = "0.16.0" }
light-sdk-pinocchio = { path = "sdk-libs/sdk-pinocchio", version = "0.16.0" }
light-sdk-macros = { path = "sdk-libs/macros", version = "0.16.0" }
light-sdk-types = { path = "sdk-libs/sdk-types", version = "0.16.0", default-features = false }
light-compressed-account = { path = "program-libs/compressed-account", version = "0.6.2", default-features = false }
light-compressible = { path = "program-libs/compressible", version = "0.1.0" }
light-compressed-account = { path = "program-libs/compressed-account", version = "0.7.0", default-features = false }
light-compressible = { path = "program-libs/compressible", version = "0.2.0" }
light-compressible-client = { path = "sdk-libs/compressible-client", version = "0.13.1" }
light-ctoken-interface = { path = "program-libs/ctoken-interface", version = "0.1.0" }
light-account-checks = { path = "program-libs/account-checks", version = "0.5.1", default-features = false }
light-verifier = { path = "program-libs/verifier", version = "5.0.0" }
light-account-checks = { path = "program-libs/account-checks", version = "0.6.0", default-features = false }
light-verifier = { path = "program-libs/verifier", version = "6.0.0" }
light-zero-copy = { path = "program-libs/zero-copy", version = "0.5.0", default-features = false }
light-zero-copy-derive = { path = "program-libs/zero-copy-derive", version = "0.5.0" }
photon-api = { path = "sdk-libs/photon-api", version = "0.52.0" }
Expand All @@ -214,15 +214,15 @@ create-address-test-program = { path = "program-tests/create-address-test-progra
"cpi",
] }
light-program-test = { path = "sdk-libs/program-test", version = "0.16.0" }
light-batched-merkle-tree = { path = "program-libs/batched-merkle-tree", version = "0.6.1" }
light-merkle-tree-metadata = { path = "program-libs/merkle-tree-metadata", version = "0.6.0" }
light-batched-merkle-tree = { path = "program-libs/batched-merkle-tree", version = "0.7.0" }
light-merkle-tree-metadata = { path = "program-libs/merkle-tree-metadata", version = "0.7.0" }
aligned-sized = { path = "program-libs/aligned-sized", version = "1.1.0" }
light-bloom-filter = { path = "program-libs/bloom-filter", version = "0.5.0" }
light-bounded-vec = { version = "2.0.1" }
light-poseidon = { version = "0.3.0" }
light-test-utils = { path = "program-tests/utils", version = "1.2.1" }
light-indexed-array = { path = "program-libs/indexed-array", version = "0.3.0" }
light-array-map = { path = "program-libs/array-map", version = "0.1.0" }
light-array-map = { path = "program-libs/array-map", version = "0.1.1" }
light-program-profiler = { version = "0.1.0" }
create-address-program-test = { path = "program-tests/create-address-test-program", version = "1.0.0" }
groth16-solana = { version = "0.2.0" }
Expand Down
2 changes: 1 addition & 1 deletion program-libs/account-checks/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "light-account-checks"
version = "0.5.1"
version = "0.6.0"
description = "Checks for solana accounts."
repository = "https://github.com/Lightprotocol/light-protocol"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion program-libs/array-map/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "light-array-map"
version = "0.1.0"
version = "0.1.1"
description = "Generic array-backed map with O(n) lookup for small collections"
repository = "https://github.com/Lightprotocol/light-protocol"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion program-libs/batched-merkle-tree/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "light-batched-merkle-tree"
version = "0.6.1"
version = "0.7.0"
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -e

echo "=== Examining batched-merkle-tree source code for light-verifier usage ==="
# Check what files import or use light_verifier
find program-libs/batched-merkle-tree/src -name "*.rs" -type f -exec grep -l "light_verifier\|verifier" {} \;

echo -e "\n=== Checking for re-exports in batched-merkle-tree public API ==="
# Look for pub use or pub statements involving verifier
fd -e rs$ program-libs/batched-merkle-tree/src | xargs grep -n "pub.*use.*verifier\|pub.*verifier" || echo "No public re-exports found"

echo -e "\n=== Checking light-verifier changelog for breaking changes ==="
find program-libs/verifier -maxdepth 2 \( -name "CHANGELOG*" -o -name "*.md" \) -type f 2>/dev/null | head -5

echo -e "\n=== Checking batched-merkle-tree Cargo.toml dependencies ==="
head -30 program-libs/batched-merkle-tree/Cargo.toml

Repository: Lightprotocol/light-protocol

Length of output: 1690


🏁 Script executed:

#!/bin/bash
set -e

echo "=== Checking light_verifier usage in errors.rs ==="
grep -n -C 3 "light_verifier\|verifier" program-libs/batched-merkle-tree/src/errors.rs | head -30

echo -e "\n=== Checking light_verifier usage in merkle_tree.rs ==="
grep -n -C 2 "light_verifier\|verifier" program-libs/batched-merkle-tree/src/merkle_tree.rs | head -40

echo -e "\n=== Looking for light-verifier location and changelog ==="
find program-libs -name "light-verifier" -o -name "light_verifier" | head -5

echo -e "\n=== Checking program-libs directory structure ==="
ls -la program-libs/ | grep verifier

echo -e "\n=== Searching for verifier changelog in root or parent dirs ==="
find . -maxdepth 3 -name "*CHANGELOG*" -o -name "*BREAKING*" | grep -i verifier || echo "No changelog found"

Repository: Lightprotocol/light-protocol

Length of output: 864


🏁 Script executed:

#!/bin/bash
set -e

echo "=== Checking if errors are publicly re-exported in lib.rs ==="
head -50 program-libs/batched-merkle-tree/src/lib.rs | grep -E "pub.*error|mod error|pub mod"

echo -e "\n=== Full batched-merkle-tree lib.rs to check public exports ==="
cat program-libs/batched-merkle-tree/src/lib.rs

echo -e "\n=== Checking verifier Cargo.toml for version and changes ==="
cat program-libs/verifier/Cargo.toml | head -20

echo -e "\n=== Looking for verifier breaking changes or release notes ==="
find program-libs/verifier -type f \( -name "*.md" -o -name "*.txt" \) | head -10

Repository: Lightprotocol/light-protocol

Length of output: 1539


🏁 Script executed:

#!/bin/bash
set -e

echo "=== Looking for VerifierError definition in light-verifier ==="
find program-libs/verifier/src -name "*.rs" -exec grep -l "VerifierError" {} \;

echo -e "\n=== Checking VerifierError enum definition ==="
grep -n -A 20 "pub enum VerifierError\|struct VerifierError" program-libs/verifier/src/errors.rs 2>/dev/null || \
grep -rn "pub enum VerifierError\|struct VerifierError" program-libs/verifier/src/ | head -20

echo -e "\n=== Checking if verifier functions signature changed (verify_batch functions) ==="
grep -rn "verify_batch_append_with_proofs\|verify_batch_update\|verify_batch_address_update" program-libs/verifier/src/*.rs | head -20

echo -e "\n=== Looking for git history or version tags ==="
git log --oneline --all | grep -i "verifier\|6.0" | head -10

Repository: Lightprotocol/light-protocol

Length of output: 1083


🏁 Script executed:

#!/bin/bash
set -e

echo "=== VerifierError definition in light-verifier ==="
grep -n -A 30 "pub enum VerifierError" program-libs/verifier/src/lib.rs

echo -e "\n=== Checking what changed in recent commits affecting errors ==="
git log --oneline --all -20 -- program-libs/verifier/src/

echo -e "\n=== Checking batched-merkle-tree's actual public API (re-exports from errors) ==="
cat program-libs/batched-merkle-tree/src/errors.rs

Repository: Lightprotocol/light-protocol

Length of output: 6494


Version bump requires verification of API stability with major verifier dependency change. The minor version update to 0.7.0 includes a major version bump in light-verifier (5.0.0 → 6.0.0). Since VerifierError is publicly re-exported in BatchedMerkleTreeError, any breaking changes to verifier's error type directly affect batched-merkle-tree's public API. Confirm that verifier 6.0.0's breaking changes do not alter VerifierError, and document the version coordination rationale.

🤖 Prompt for AI Agents
In program-libs/batched-merkle-tree/Cargo.toml around line 3, the version bump
to 0.7.0 coincides with light-verifier moving from 5.x to 6.0.0 and you must
verify and document that this major verifier change does not break the publicly
re-exported VerifierError in BatchedMerkleTreeError; check the light-verifier
6.0.0 changelog and source to confirm the VerifierError type, variants and
public API are unchanged, run cargo update -p light-verifier and cargo test to
catch type/compatibility failures, add a compatibility unit test that constructs
and matches BatchedMerkleTreeError containing a VerifierError instance, and if
any breaking change exists either pin light-verifier to 5.x in Cargo.toml or add
an adapter/re-export type in this crate to preserve the public API, then
document the verification and chosen decision in the crate CHANGELOG and add a
comment next to the version bump in Cargo.toml explaining the coordination with
light-verifier.

description = "Batch Merkle tree implementation."
repository = "https://github.com/Lightprotocol/light-protocol"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion program-libs/compressed-account/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "light-compressed-account"
version = "0.6.2"
version = "0.7.0"
description = "Compressed account struct and common utility functions used in Light Protocol."
repository = "https://github.com/Lightprotocol/light-protocol"
license = "Apache-2.0"
Expand Down
4 changes: 3 additions & 1 deletion program-libs/compressible/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
[package]
name = "light-compressible"
version = "0.1.0"
version = "0.2.1"
edition = "2021"
description = "Light Protocol compressible data structures"
license = "MIT"

[features]
default = ["pinocchio", "solana"]
Expand Down
2 changes: 1 addition & 1 deletion program-libs/concurrent-merkle-tree/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "light-concurrent-merkle-tree"
version = "4.0.1"
version = "5.0.0"
edition = "2021"
description = "Concurrent Merkle tree implementation"
repository = "https://github.com/Lightprotocol/light-protocol"
Expand Down
7 changes: 4 additions & 3 deletions program-libs/ctoken-interface/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
[package]
name = "light-ctoken-interface"
version = "0.1.0"
version = "0.1.1"
edition = { workspace = true }
description = "Light Protocol ctoken instruction data types."
license = "MIT"

[features]
anchor = ["light-compressed-account/anchor", "dep:anchor-lang", "light-compressible/anchor"]
Expand Down Expand Up @@ -49,8 +51,7 @@ light-account-checks = { workspace = true, features = [
"solana",
] }
spl-token-metadata-interface = "0.6.0"
light-ctoken-interface = { workspace = true, features = ["poseidon"] }
light-hasher = { workspace = true, features = ["keccak", "sha256"] }
light-hasher = { workspace = true, features = ["keccak", "sha256", "poseidon"] }

[lints.rust.unexpected_cfgs]
level = "allow"
Expand Down
2 changes: 1 addition & 1 deletion program-libs/indexed-merkle-tree/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "light-indexed-merkle-tree"
version = "4.0.1"
version = "5.0.0"
description = "Implementation of indexed (and concurrent) Merkle tree in Rust"
repository = "https://github.com/Lightprotocol/light-protocol"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion program-libs/merkle-tree-metadata/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "light-merkle-tree-metadata"
version = "0.6.0"
version = "0.7.0"
description = "Merkle tree metadata for light-concurrent-merkle-tree, light-indexed-merkle-tree, light-batched-merkle-tree."
repository = "https://github.com/Lightprotocol/light-protocol"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion program-libs/verifier/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "light-verifier"
version = "5.0.0"
version = "6.0.0"
description = "ZKP proof verifier used in Light Protocol"
repository = "https://github.com/Lightprotocol/light-protocol"
license = "Apache-2.0"
Expand Down
Loading