openvm_continuations/circuit/root/
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 MemoryMerkleCommitMessage<T> {
8 pub merkle_root: [T; DIGEST_SIZE],
9}
10
11define_typed_permutation_bus!(MemoryMerkleCommitBus, MemoryMerkleCommitMessage);
12
13#[repr(C)]
14#[derive(AlignedBorrow, Debug, Clone)]
15pub struct DeferralAccPathMessage<T> {
16 pub initial_acc_hash: [T; DIGEST_SIZE],
17 pub final_acc_hash: [T; DIGEST_SIZE],
18 pub depth: T,
19 pub is_unset: T,
20}
21
22define_typed_permutation_bus!(DeferralAccPathBus, DeferralAccPathMessage);
23
24#[repr(C)]
25#[derive(AlignedBorrow, Debug, Clone)]
26pub struct DeferralMerkleRootsMessage<T> {
27 pub initial_root: [T; DIGEST_SIZE],
28 pub final_root: [T; DIGEST_SIZE],
29}
30
31define_typed_permutation_bus!(DeferralMerkleRootsBus, DeferralMerkleRootsMessage);