CodeDecommitter
CodeDecommitter PI
Input
pub struct CodeDecommitterInputData<F: SmallField> {
pub memory_queue_initial_state: QueueState<F, FULL_SPONGE_QUEUE_STATE_WIDTH>,
pub sorted_requests_queue_initial_state: QueueState<F, FULL_SPONGE_QUEUE_STATE_WIDTH>,
}Output
pub struct CodeDecommitterOutputData<F: SmallField> {
pub memory_queue_final_state: QueueState<F, FULL_SPONGE_QUEUE_STATE_WIDTH>,
}FSM Input and FSM Output
pub struct CodeDecommitterFSMInputOutput<F: SmallField> {
pub internal_fsm: CodeDecommittmentFSM<F>,
pub decommittment_requests_queue_state: QueueState<F, FULL_SPONGE_QUEUE_STATE_WIDTH>,
pub memory_queue_state: QueueState<F, FULL_SPONGE_QUEUE_STATE_WIDTH>,
}
pub struct CodeDecommittmentFSM<F: SmallField> {
pub sha256_inner_state: [UInt32<F>; 8], // 8 uint32 words of internal sha256 state
pub hash_to_compare_against: UInt256<F>,
pub current_index: UInt32<F>,
pub current_page: UInt32<F>,
pub timestamp: UInt32<F>,
pub num_rounds_left: UInt16<F>,
pub length_in_bits: UInt32<F>,
pub state_get_from_queue: Boolean<F>,
pub state_decommit: Boolean<F>,
pub finished: Boolean<F>,
}Main circuit logic
First part
Main part
Final part
Last updated