* 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
70 lines
2.1 KiB
TOML
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
|