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
277 changes: 35 additions & 242 deletions Cargo.lock

Large diffs are not rendered by default.

7 changes: 0 additions & 7 deletions cli/src/commands/test-validator/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,6 @@ class SetupCommand extends Command {
default: 8784,
exclusive: ["skip-indexer"],
}),
"grpc-port": Flags.integer({
description: "Enable Photon indexer gRPC on this port.",
required: false,
default: 50051,
exclusive: ["skip-indexer"],
}),
"prover-port": Flags.integer({
description: "Enable Light Prover server on this port.",
required: false,
Expand Down Expand Up @@ -200,7 +194,6 @@ class SetupCommand extends Command {
rpcPort: flags["rpc-port"],
gossipHost: flags["gossip-host"],
indexerPort: flags["indexer-port"],
grpcPort: flags["grpc-port"],
proverPort: flags["prover-port"],
prover: !flags["skip-prover"],
skipSystemAccounts: flags["skip-system-accounts"],
Expand Down
3 changes: 0 additions & 3 deletions cli/src/utils/initTestEnv.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@ export async function initTestEnv({
prover = true,
rpcPort = 8899,
indexerPort = 8784,
grpcPort = 50051,
proverPort = 3001,
gossipHost = "127.0.0.1",
checkPhotonVersion = true,
Expand All @@ -101,7 +100,6 @@ export async function initTestEnv({
prover: boolean;
rpcPort?: number;
indexerPort?: number;
grpcPort?: number;
proverPort?: number;
gossipHost?: string;
checkPhotonVersion?: boolean;
Expand Down Expand Up @@ -130,7 +128,6 @@ export async function initTestEnv({
await startIndexer(
`http://127.0.0.1:${rpcPort}`,
indexerPort,
grpcPort,
checkPhotonVersion,
photonDatabaseUrl,
);
Expand Down
3 changes: 0 additions & 3 deletions cli/src/utils/processPhotonIndexer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ function getPhotonInstallMessage(): string {
export async function startIndexer(
rpcUrl: string,
indexerPort: number,
grpcPort: number = 50051,
checkPhotonVersion: boolean = true,
photonDatabaseUrl?: string,
) {
Expand All @@ -58,8 +57,6 @@ export async function startIndexer(
indexerPort.toString(),
"--rpc-url",
rpcUrl,
"--grpc-port",
grpcPort.toString(),
];
if (photonDatabaseUrl) {
args.push("--db-url", photonDatabaseUrl);
Expand Down
10 changes: 1 addition & 9 deletions forester/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -59,17 +59,9 @@ dashmap = "6.1.0"
scopeguard = "1.2.0"
itertools = "0.14.0"
num-bigint = { workspace = true }

tonic = "0.14.2"
prost = "0.14.1"
prost-types = "0.14.1"
tonic-prost = "0.14.2"
tokio-stream = { version = "0.1", features = ["sync"] }
kameo = "0.19"
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 | 🟡 Minor

🧩 Analysis chain

Validate kameo = "0.19" against your Tokio version and MSRV

kameo 0.19.x pulls in tokio with a ^1.47 requirement and serde 1.0, so this dependency line is reasonable, but you should confirm that:

  • your workspace’s Tokio version is compatible with ^1.47, and
  • your minimum supported Rust version meets kameo’s requirements. (docs.rs)

Once you’re happy with it in CI, consider pinning to a specific patch (e.g. 0.19.2) for reproducibility.


I need to verify the assumptions in the review comment. Let me examine the workspace configuration and check kameo's actual requirements.


🏁 Script executed:

#!/bin/bash
# Check Tokio version in workspace and MSRV settings
echo "=== Checking Tokio dependency in Cargo.toml ==="
rg -n "tokio\s*=" forester/Cargo.toml
echo ""
echo "=== Checking workspace root Cargo.toml ==="
rg -n "tokio\s*=" Cargo.toml
echo ""
echo "=== Looking for MSRV in Cargo.toml files ==="
rg -n "rust-version|MSRV" forester/Cargo.toml
echo ""
echo "=== Looking for rust-toolchain.toml ==="
fd rust-toolchain.toml
echo ""
echo "=== Displaying full forester/Cargo.toml for context ==="
head -70 forester/Cargo.toml

Length of output: 2835


🏁 Script executed:

#!/bin/bash
# Check for workspace root configuration
echo "=== Checking workspace root Cargo.toml for MSRV ==="
head -30 Cargo.toml

Length of output: 121


🏁 Script executed:

#!/bin/bash
# Search for any existing tokio usage to infer version compatibility
echo "=== Searching for tokio usage patterns ==="
rg -n "tokio::" --type rust | head -20

Length of output: 1695


🌐 Web query:

kameo 0.19 Rust minimum supported version MSRV requirements tokio

💡 Result:

I couldn't find an explicit, published MSRV for kameo v0.19. The project does declare a rust-version (MSRV) in its Cargo.toml files (per the changelog) and is built on Tokio (kameo is an async actor library using Tokio). If you want the exact MSRV and tokio-min-version for v0.19 I can fetch the Cargo.toml from the v0.19 tag (or the crate on crates.io) and report the exact rust-version and tokio dependency version — tell me which (GitHub tag or crates.io) you'd prefer. Sources: [kameo project listing/docs]. [1][2]

Sources
[1] Kameo crate listing/docs (lib.rs / docs.rs).
[2] Kameo changelog summary (notes that Cargo.toml contains rust-version / MSRV and that Kameo is built on Tokio).


I need to fetch kameo's actual Cargo.toml metadata to validate the review's claims about tokio requirements and MSRV.


🏁 Script executed:

#!/bin/bash
# Fetch kameo 0.19 metadata from crates.io API
echo "=== Fetching kameo 0.19 from crates.io API ==="
curl -s "https://crates.io/api/v1/crates/kameo/0.19.0" | jq '.crate | {name, version, repository, documentation}'

echo ""
echo "=== Checking for kameo in registry index ==="
# Try to get the Cargo.toml directly from GitHub if available
curl -s "https://raw.githubusercontent.com/tqwewe/kameo/refs/tags/v0.19.0/Cargo.toml" 2>/dev/null | head -40 || echo "Not found via GitHub"

Length of output: 992


Declare MSRV or verify Rust 1.88.0 compatibility for kameo 0.19

kameo 0.19.0 requires rust-version = "1.88.0", but forester doesn't declare a minimum supported Rust version. You should either:

  1. Add rust-version = "1.88.0" to forester/Cargo.toml to match kameo's MSRV, or
  2. Verify your codebase actually supports 1.88.0 and adjust if you target an earlier version.

Additionally, tighten the Tokio constraint from version = "1" to "1.47" at line 41 for clarity (kameo transitively requires it). Consider pinning kameo to a specific patch (e.g., "0.19.2") once you confirm CI stability.

🤖 Prompt for AI Agents
In forester/Cargo.toml around lines 41 and 62: declare the crate MSRV and
tighten Tokio/TOML versions to match kameo's requirements; add rust-version =
"1.88.0" to the Cargo.toml top-level package stanza (or confirm the codebase and
CI actually support an older Rust and document that decision), change the Tokio
dependency from version = "1" to version = "1.47" for clarity, and pin kameo to
a specific patch (e.g., "0.19.2") after verifying CI stability so transitive
MSRV/compatibility is explicit.

once_cell = "1.21.3"

[build-dependencies]
tonic-prost-build = "0.14.2"

[dev-dependencies]
serial_test = { workspace = true }
light-prover-client = { workspace = true, features = ["devenv"] }
Expand Down
6 changes: 0 additions & 6 deletions forester/build.rs

This file was deleted.

70 changes: 0 additions & 70 deletions forester/proto/photon.proto

This file was deleted.

Loading
Loading