Find a file
Eduard S. d3fef8392e
calculate MainPod id in a dynamic-friendly way (#241)
* calculate MainPod id in a dynamic-friendly way

The MainPod id is now calculated with front padding and a fixed size
independent of max_public_statements so that introduction gadgets can be
verified by a MainPod while paying only for the number of statements
they use.  This is because with front padding of none-statements we can
precompute the poseidon state corresponding to absorbing all the padding
statements and only pay constraints for the non-padding statements.

The id is calculated as follows:
`id = hash(serialize(reverse(statements || none-statements)))`

* fix test
2025-05-23 10:12:28 +02:00
.github/workflows allow SELF in st_tmpl (#240) 2025-05-22 15:13:02 +02:00
book Fix custom predicate circuits and add tests for them (#235) 2025-05-16 13:17:14 +02:00
src calculate MainPod id in a dynamic-friendly way (#241) 2025-05-23 10:12:28 +02:00
.gitignore Aard custom (#49) 2025-02-24 09:05:30 -08:00
Cargo.toml Add RecursiveCircuit (#204) 2025-05-21 13:15:22 +02:00
README.md Featurize middleware types that are actually defined by the backend (#94) 2025-02-27 14:15:31 +01:00
rust-analyzer.toml chore(qol): add rust-analyzer.toml (#187) 2025-04-08 08:33:49 +10:00
rust-toolchain.toml Add clippy (#191) 2025-04-08 11:52:02 -07:00
rustfmt.toml Organize imports (#188) 2025-04-07 16:19:13 -07:00

POD2

Usage

  • Run tests: cargo test --release
  • Rustfmt: cargo fmt
  • Check typos: typos -c .github/workflows/typos.toml

Book

The book contains the specification of POD2. A rendered version of the site can be found at: https://0xparc.github.io/pod2/

To run it locally:

  • Requirements
  • Go to the book directory: cd book
  • Run the mdbook: mdbook serve