pod2/Cargo.toml
Rob Knight 48aa004ae5
Create multiple PODs where resource limits for a single POD are exceeded (#444)
* Create multiple PODs where resource limits for a single POD are exceeded

* HashSet -> BTreeSet determinism fix

* Fixed incorrect assignment of input PODs and added test

* Ensure only a single output POD

* Return error when reveal() called with unknown statement

* Use unreachable! for presumed-impossible cases

* Use assert_eq! rather than debug_assert_eq

* Use FIFO for topological sort

* Simplify bounds calculation

* Some more simplifications/comments

* Enforce dep_idx < idx invariant

* Incrementally solve rather than estimating slack

* Fix tests to correctly test dependencies between private and public statements

* More tidying

* Note possible optimisation of MainPodBuilder cloning of input PODs

* Fix tracking of total input POD count

* Refactor tests

* Formatting

* Small optimisation: use Vec in place of BTreeSet

* Account for automatically-inserted Contains statements

* Formatting

* Fix possible issue with copied statements

* Simplify result type given only a single result MainPod

* Remove unnecessary POD count estimate functionality

* Simplify dependency ordering and tracking

* Remove notion of multiple output PODs from solver

* Minor simplifications

* Use add_constraint instead of with

* Remove unnecessary check following assertion

* Fix handling of anchored keys given that Contains statements are not auto-inserted if they already exist

* Fix confusing dependency graph test

* Remove prove_order

* Fix deduplication and possible double-counting of public but not copied statements

* Reorder so that the output POD is the final POD

* Add more detailed tests

* Remove redundant tests

* Simplify POD counting

* More docs

* Flag more branches as unreachable

* Formatting

* Fix for changed custom batch parsing
2026-01-28 07:44:04 +01:00

70 lines
2.1 KiB
TOML

[package]
name = "pod2"
version = "0.1.0"
edition = "2021"
build = "build.rs"
[lib]
name = "pod2"
path = "src/lib.rs"
[dependencies]
hex = "0.4.3"
itertools = "0.14.0"
strum = "0.26"
strum_macros = "0.26"
anyhow = "1.0.56"
dyn-clone = "1.0.18"
log = "0.4"
env_logger = "0.11"
lazy_static = "1.5.0"
thiserror = { version = "2.0.12" }
# enabled by features:
plonky2 = { git = "https://github.com/0xPARC/plonky2.git", rev = "109d517d09c210ae4c2cee381d3e3fbc04aa3812", optional = true }
plonky2_u32 = { git = "https://github.com/ax0/plonky2-u32", rev = "cb8e2d9681eb06d069157edbb5ec1d05038611c4" }
serde = "1.0.219"
serde_json = "1.0.140"
base64 = "0.22.1"
bs58 = "0.5.1"
schemars = "0.8.22"
num = { version = "0.4.3", features = ["num-bigint"] }
num-bigint = { version = "0.4.6", features = ["rand"] }
# num-bigint 0.4 requires rand 0.8
rand = "0.8.5"
hashbrown = { version = "0.14.3", default-features = false, features = ["serde"] }
pest = "2.8.0"
pest_derive = "2.8.0"
petgraph = "0.6"
directories = { version = "6.0.0", optional = true }
minicbor-serde = { version = "0.5.0", features = ["std"], optional = true }
serde_bytes = "0.11"
serde_arrays = "0.2.0"
sha2 = { version = "0.10.9" }
rand_chacha = "0.3.1"
good_lp = { version = "1.8", default-features = false, features = ["microlp"] }
# Uncomment for debugging with https://github.com/ed255/plonky2/ at branch `feat/debug`. The repo directory needs to be checked out next to the pod2 repo directory.
# [patch."https://github.com/0xPARC/plonky2"]
# plonky2 = { path = "../plonky2/plonky2" }
[dev-dependencies]
pretty_assertions = "1.4.1"
# Used only for testing JSON Schema generation and validation.
jsonschema = "0.30.0"
[build-dependencies]
vergen-gitcl = { version = "1.0.0", features = ["build"] }
[features]
default = ["backend_plonky2", "zk", "mem_cache"]
backend_plonky2 = ["plonky2"]
zk = []
metrics = []
time = []
examples = []
disk_cache = ["directories", "minicbor-serde"]
mem_cache = []
# Uncomment in order to enable debug information in the release builds. This allows getting panic backtraces with a performance similar to regular release.
# [profile.release]
# debug = true