Skip to main content

expected_proof_size

Function expected_proof_size 

Source
pub(crate) fn expected_proof_size(num_actions: usize) -> usize
Expand description

Returns the canonical size in bytes of an Orchard proof for num_actions actions.

An Orchard proof is a Halo2 proof whose length is exactly linear in the number of actions (circuit instances): 4992 bytes for 1 action and 7264 bytes for 2 actions, i.e. a fixed base plus 2272 bytes per action. The exact constants are owned by the orchard crate, which derives them from the action circuit’s halo2_proofs CircuitCost and cross-checks them in its circuit tests, so we delegate to [orchard::Proof::expected_proof_size] rather than re-deriving them here. The expected_proof_size_known_values guard test cross-checks the returned values.