Skip to content

Resolve merge conflict for zkevm-circuits/src/evm_circuit/witness.rs#2

Open
xiaodino wants to merge 43 commits intosmtmfft:opcodes/returndatacopyfrom
taikoxyz:taiko/merge-conflict-witness-rs
Open

Resolve merge conflict for zkevm-circuits/src/evm_circuit/witness.rs#2
xiaodino wants to merge 43 commits intosmtmfft:opcodes/returndatacopyfrom
taikoxyz:taiko/merge-conflict-witness-rs

Conversation

@xiaodino
Copy link

No description provided.

xiaodino and others added 30 commits August 22, 2022 15:57
Signed-off-by: smtmfft <smtm@taiko.xyz>

Signed-off-by: smtmfft <smtm@taiko.xyz>
Signed-off-by: smtmfft <smtm@taiko.xyz>

Signed-off-by: smtmfft <smtm@taiko.xyz>
)

i.e., only if it is not root call.

RETURN spec:

The `RETURN` opcode terminates the call successfully with return data for the
caller.

It behaves differently in different scenarios:

- `is_create` and `is_root`
    - A. Returns the specified memory chunk as deployment code.
    - B. End the execution
- `is_create` and `not is_root`
    - A. Returns the specified memory chunk as deployment code.
    - C. Restores caller's context and switch to it.
- `not is_create` and `is_root`
    - B. End the execution
- `not is_create` and `not is_root`
    - D. Returns the specified memory chunk to the caller.
    - C. Restores caller's context and switch to it.

Signed-off-by: smtmfft <smtmfft@taikocha.in>

Signed-off-by: smtmfft <smtmfft@taikocha.in>
Co-authored-by: smtmfft <smtmfft@taikocha.in>
xiaodino and others added 13 commits September 7, 2022 23:27
Add circuit for RETURNDATASIZE opcode
Signed-off-by: smtmfft <smtmfft@taikocha.in>
Signed-off-by: smtmfft <smtmfft@taikocha.in>
Signed-off-by: smtmfft <smtmfft@taikocha.in>
Signed-off-by: smtmfft <smtmfft@taikocha.in>
Signed-off-by: smtmfft <smtmfft@taikocha.in>
Signed-off-by: smtmfft <smtmfft@taikocha.in>
Signed-off-by: smtmfft <smtmfft@taikocha.in>
Signed-off-by: smtmfft <smtmfft@taikocha.in>
Signed-off-by: smtmfft <smtmfft@taikocha.in>
smtmfft added a commit that referenced this pull request Nov 2, 2022
* Add circuit for RETURNDATASIZE opcode

* Update tests

* update last call info in return (#2)

Signed-off-by: smtmfft <smtm@taiko.xyz>

Signed-off-by: smtmfft <smtm@taiko.xyz>

* Update tests

* Update tests

* Update format in zkevm-circuits/src/evm_circuit/execution.rs

* Change unwrap to expect in returndatasize.rs

* Add circuit for RETURNDATASIZE opcode

* Update tests

* update last call info in return (#2)

Signed-off-by: smtmfft <smtm@taiko.xyz>

Signed-off-by: smtmfft <smtm@taiko.xyz>

* Update tests

* Update tests

* Update format in zkevm-circuits/src/evm_circuit/execution.rs

* Change unwrap to expect in returndatasize.rs

* according to RETURN spec, callee info update happens only in case C, (#3)

i.e., only if it is not root call.

RETURN spec:

The `RETURN` opcode terminates the call successfully with return data for the
caller.

It behaves differently in different scenarios:

- `is_create` and `is_root`
    - A. Returns the specified memory chunk as deployment code.
    - B. End the execution
- `is_create` and `not is_root`
    - A. Returns the specified memory chunk as deployment code.
    - C. Restores caller's context and switch to it.
- `not is_create` and `is_root`
    - B. End the execution
- `not is_create` and `not is_root`
    - D. Returns the specified memory chunk to the caller.
    - C. Restores caller's context and switch to it.

Signed-off-by: smtmfft <smtmfft@taikocha.in>

Signed-off-by: smtmfft <smtmfft@taikocha.in>
Co-authored-by: smtmfft <smtmfft@taikocha.in>

* Fix the issues with rustfmt

* Fix merge conflicts

* Update

* Add tests

* Resolve merge conflicts

* Update bus-mapping return.rs, use N_BYTES_U64 for return_data_size and update tests

* Revert change in bus-mapping return

* Update bus-mapping returndatasize_tests

Signed-off-by: smtmfft <smtm@taiko.xyz>
Signed-off-by: smtmfft <smtmfft@taikocha.in>
Co-authored-by: smtmfft <99081233+smtmfft@users.noreply.github.com>
Co-authored-by: smtmfft <smtmfft@taikocha.in>
Co-authored-by: Rohit Narurkar <rohit.narurkar@protonmail.com>
Co-authored-by: Carlos Pérez <37264926+CPerezz@users.noreply.github.com>
Co-authored-by: z2trillion <z2trillion@users.noreply.github.com>
Co-authored-by: adria0.eth <5526331+adria0@users.noreply.github.com>
@smtmfft smtmfft force-pushed the opcodes/returndatacopy branch from 45673e7 to 7a31ce4 Compare November 2, 2022 15:47
smtmfft pushed a commit that referenced this pull request Sep 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants