-
Notifications
You must be signed in to change notification settings - Fork 856
Conversation
40d00a5
to
2fa4cb5
Compare
// and code_hash. Each sequence of bytes occurs in a fixed position, so to | ||
// compute the RLC of the input, we only need to compute some fixed powers of | ||
// the randomness. | ||
let randomness_raised_to_16 = cb.power_of_randomness()[15].clone(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it seems the rlc here assumes randomness of evm_word be equal to randomness of keccak_input? it will be incorrect after the evm circuit challenge api refactor
another issue is after #1046, some codes in this PR may also need to be updated. |
@@ -95,6 +95,12 @@ impl<F: Field> MemoryAddressGadget<F> { | |||
} | |||
} | |||
|
|||
pub(crate) fn construct_2(cb: &mut ConstraintBuilder<F>) -> Self { | |||
let offset = cb.query_cell(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
phase2
}) | ||
}); | ||
|
||
let keccak_input = cb.query_cell(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
phase2 cell
Very excited to see this merged 🥇 ! |
@roynalnaruto will work on this issue now |
|
||
let mut exec_step = state.new_step(geth_step)?; | ||
|
||
let callee = state.parse_call(geth_step)?; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the above line "let mut exec_step = state.new_step(geth_step)?;" should be put before memory expansion. Or mem_size inside exec_step will be incorrect
CallContext Value should also be written with state.call_context_write. Missing? |
@roynalnaruto this PR is relatively outdated with upstream changes. I made some updates in scroll-stable fork, at least it can. pass tests. You can have a look |
} else { | ||
0 | ||
}) | ||
.into(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
read the gas_left from rw, then debug_assert_eq
state.block.sha3_inputs.push(keccak_input); | ||
|
||
if length == 0 { | ||
state.handle_return(geth_step)?; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
handle_restore_context? or write CallContextField::LastCalleeId/CallContextField::LastCalleeReturnDataOffset/CallContextField::LastCalleeReturnDataLength?
CallContext Value fixed in scroll-stable branch |
Yes |
* construct Address direct * aggressive inline hotspot * cache key * don't sort for from_rws_with_mock_state_roots * mark possible optimization * wrap error string with arc * Revert "wrap error string with arc" This reverts commit ad05aff. * exclude original_rws for release build * [wip] reduce clone in ccc path (privacy-scaling-explorations#973) * estimate_circuit_capacity take BlockTrace ownership * Convert ExecutionResult with explicit clone * add block_trace_to_witness_block * construct from ref * sync default mod * fix order * clippy * assertion * dirty fix * extract common * clippy && fmt * fix clippy * async drop (privacy-scaling-explorations#981) * skip small drop * add comments * fix typo --------- Co-authored-by: Zhang Zhuo <[email protected]>
No description provided.