gadget for CREATE(2)#981
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.
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. |
| } | ||
|
|
||
| pub(crate) fn construct_2(cb: &mut ConstraintBuilder<F>) -> Self { | ||
| let offset = cb.query_cell(); |
| }) | ||
| }); | ||
|
|
||
| let keccak_input = cb.query_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.
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.
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.
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-ethereum#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-ethereum#981) * skip small drop * add comments * fix typo --------- Co-authored-by: Zhang Zhuo <mycinbrin@gmail.com>
No description provided.