pod2/src
Eduard S. bcaef6c47a
Add table multiplexer (and use it for container, custom pred & PublicKeyOf ops) (#376)
- Extend the `Flattenable` trait to include a `size` method that returns the number of `Target`s the type requires.  This is used in the table to figure out the max length of an array that must fit all entry types.
- Move the circuit methods to precalculate hash states and do hashes started from a precomputed state to a new module
- Introduce `MuxTableTarget` which allows easy multiplexing of tables where each sub-table may have entries of different lengths.  The table access is done via hashing + unhashing automatically (via use of a generator)
- Use the `MuxTableTarget` to access merkle tree claims and custom predicate verification, which where previously in different tables and accessed with independent random accesses each
- Move the public key derivation for the PublicKeyOf operation check to the same multiplexed table.  Now we can choose how many of those operations a circuit supports.

Resolve https://github.com/0xPARC/pod2/issues/357
Resolve https://github.com/0xPARC/pod2/issues/361
2025-08-05 19:09:41 -07:00
..
backends Add table multiplexer (and use it for container, custom pred & PublicKeyOf ops) (#376) 2025-08-05 19:09:41 -07:00
cache remove some unsafe code (#366) 2025-07-29 13:23:08 -07:00
examples remove op! macro (#378) 2025-08-01 09:52:06 -07:00
frontend add missing constructors to frontend::Operation (#379) 2025-08-04 14:42:13 -07:00
lang Check a single POD against a POD Request (#359) 2025-07-30 02:46:14 +01:00
middleware Add table multiplexer (and use it for container, custom pred & PublicKeyOf ops) (#376) 2025-08-05 19:09:41 -07:00
lib.rs Feat/disk cache (#354) 2025-07-24 12:15:31 +02:00