openvm_continuations/circuit/deferral/hook/
bus.rs1use openvm_recursion_circuit::define_typed_permutation_bus;
2use openvm_recursion_circuit_derive::AlignedBorrow;
3use openvm_stark_sdk::config::baby_bear_poseidon2::DIGEST_SIZE;
4
5#[repr(C)]
6#[derive(AlignedBorrow, Debug, Clone)]
7pub struct IoCommitMessage<T> {
8 pub idx: T,
9 pub input_commit: [T; DIGEST_SIZE],
10 pub output_commit: [T; DIGEST_SIZE],
11}
12
13define_typed_permutation_bus!(IoCommitBus, IoCommitMessage);
14
15#[repr(C)]
16#[derive(AlignedBorrow, Debug, Clone)]
17pub struct OnionResultMessage<T> {
18 pub input_onion: [T; DIGEST_SIZE],
19 pub output_onion: [T; DIGEST_SIZE],
20 pub num_elements: T,
21}
22
23define_typed_permutation_bus!(OnionResultBus, OnionResultMessage);
24
25#[repr(C)]
26#[derive(AlignedBorrow, Debug, Clone)]
27pub struct DefCircuitCommitMessage<T> {
28 pub def_circuit_commit: [T; DIGEST_SIZE],
29}
30
31define_typed_permutation_bus!(DefCircuitCommitBus, DefCircuitCommitMessage);