Sha256RoundFunction
Sha256RoundFunction PI
Input
pub struct PrecompileFunctionInputData<F: SmallField> {
pub initial_log_queue_state: QueueState<F, QUEUE_STATE_WIDTH>,
pub initial_memory_queue_state: QueueState<F, FULL_SPONGE_QUEUE_STATE_WIDTH>,
}Output
pub struct PrecompileFunctionOutputData<F: SmallField> {
pub final_memory_state: QueueState<F, FULL_SPONGE_QUEUE_STATE_WIDTH>,
}FSM Input and FSM Output
pub struct Sha256RoundFunctionFSMInputOutput<F: SmallField> {
pub internal_fsm: Sha256RoundFunctionFSM<F>,
pub log_queue_state: QueueState<F, QUEUE_STATE_WIDTH>,
pub memory_queue_state: QueueState<F, FULL_SPONGE_QUEUE_STATE_WIDTH>,
}
pub struct Sha256RoundFunctionFSM<F: SmallField> {
pub read_precompile_call: Boolean<F>,
pub read_words_for_round: Boolean<F>,
pub completed: Boolean<F>,
pub sha256_inner_state: [UInt32<F>; 8],
pub timestamp_to_use_for_read: UInt32<F>,
pub timestamp_to_use_for_write: UInt32<F>,
pub precompile_call_params: Sha256PrecompileCallParams<F>,
}Main circuit logic
Inner part
Last updated