Skip to content

New and Modified passport-input-gen library#287

Open
x-senpai-x wants to merge 14 commits intomainfrom
us/passport-input-gen
Open

New and Modified passport-input-gen library#287
x-senpai-x wants to merge 14 commits intomainfrom
us/passport-input-gen

Conversation

@x-senpai-x
Copy link
Collaborator

@x-senpai-x x-senpai-x commented Feb 12, 2026

The passport-input-gen crate was migrated from complete_age_check to merkle_age_check, introducing support for direct proof generation (bypassing TOML), improved input/output structuring, and an integrated CLI with profiling. Supporting libraries and documentation were updated for these new workflows.

Changes

  • Refactored passport-input-gen to target the more modular merkle_age_check pipeline, supporting both TBS-720 and TBS-1300 circuit chains.

  • Extended the Prove trait and CLI to allow proof generation from in-memory inputs, without requiring TOML files.

  • Added a new passport_cli binary with runtime prompts, direct proof generation, and detailed span/memory profiling (profiling_alloc.rs, span_stats.rs) similar to provekit-cli memory stats .

  • Redesigned input struct layout, introduced new configuration and serialization helpers, and split circuit inputs for both TBS-720 and TBS-1300 flows.

@x-senpai-x x-senpai-x marked this pull request as ready for review February 12, 2026 19:00
Copilot AI review requested due to automatic review settings February 12, 2026 19:00
@x-senpai-x x-senpai-x marked this pull request as draft February 12, 2026 19:01
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the Provekit proving API to support in-memory inputs (via InputMap) while preserving TOML-based proving, and adds a new passport-input-gen workspace crate that can generate Noir-compatible passport circuit inputs (TBS-720 and TBS-1300) including Poseidon2/partial-SHA256 commitment chains and a unified CLI.

Changes:

  • Refactor provekit_prover::Prove so prove accepts InputMap, and add prove_with_toml for file-driven proving.
  • Update CLI/FFI/bench callers to use prove_with_toml where TOML inputs are provided.
  • Add playground/passport-input-gen crate with Poseidon2 + partial SHA256 utilities, commitment computation, input struct generation, TOML writers, and a new interactive CLI.

Reviewed changes

Copilot reviewed 13 out of 16 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tooling/provekit-ffi/src/ffi.rs Switch FFI proving to prove_with_toml for TOML input paths.
tooling/provekit-bench/tests/compiler.rs Update bench test to prove from TOML via prove_with_toml.
tooling/provekit-bench/benches/bench.rs Update benchmarks to use TOML proving helper.
tooling/cli/src/cmd/prove.rs CLI prove now uses prove_with_toml for TOML inputs.
provekit/prover/src/lib.rs Change prove to accept InputMap; add prove_with_toml.
playground/passport-input-gen/src/poseidon2.rs Add Noir-compatible Poseidon2 implementation + tests.
playground/passport-input-gen/src/partial_sha256.rs Add partial SHA256 state computation matching Noir.
playground/passport-input-gen/src/parser/types.rs Split TBS sizing constants for 720 vs 1300 and add Merkle constants.
playground/passport-input-gen/src/mock_generator.rs Add padded-TBS mock SOD generator and update tests to new APIs.
playground/passport-input-gen/src/lib.rs Major refactor: new configs, circuit input structs, commitment chaining, TOML output, and tests.
playground/passport-input-gen/src/commitment.rs Add Noir-compatible commitment/packing utilities + tests.
playground/passport-input-gen/src/bin/passport_cli/span_stats.rs Add tracing span-based perf/memory stats layer.
playground/passport-input-gen/src/bin/passport_cli/profiling_alloc.rs Add global allocator tracking for CLI profiling.
playground/passport-input-gen/src/bin/passport_cli/main.rs Add unified interactive CLI for generating inputs and proofs.
playground/passport-input-gen/Cargo.toml Wire new dependencies and use workspace edition.
Cargo.toml Include playground/passport-input-gen in workspace members.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@x-senpai-x x-senpai-x marked this pull request as ready for review February 13, 2026 19:54
@x-senpai-x x-senpai-x requested a review from Copilot February 13, 2026 19:55
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 14 out of 17 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 16 out of 19 changed files in this pull request and generated 7 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@x-senpai-x x-senpai-x force-pushed the us/passport-input-gen branch from 9fce7c0 to f8369a0 Compare February 15, 2026 12:52
@x-senpai-x x-senpai-x force-pushed the us/passport-input-gen branch from f8369a0 to 50cf370 Compare February 16, 2026 17:27
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