Skip to content
This repository has been archived by the owner on Jul 5, 2024. It is now read-only.

[CREATE Part B] Error cases that will be handled within opcode gadgets #1357

Conversation

roynalnaruto
Copy link
Collaborator

@roynalnaruto roynalnaruto commented Apr 14, 2023

Description

Part B

This PR is actually based on top of #1356 . The only commit to be reviewed is: 65f72e4

Issue Link

#1130

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Contents

Error types for insufficient balance and nonce overflow. These are supporting changes required for the CREATE/CREATE2 opcodes' gadget.

Rationale

The above errors will be handled within the CREATE/CREATE2 opcodes' gadget. In case of insufficient balance, it is also handled in the CallOp gadget for call related opcodes.

@github-actions github-actions bot added crate-bus-mapping Issues related to the bus-mapping workspace member crate-mock Issues related to the mock workspace member crate-zkevm-circuits Issues related to the zkevm-circuits workspace member labels Apr 14, 2023
@roynalnaruto roynalnaruto changed the title Feat/create part b [CREATE Part B] Error cases that will be handled within opcode gadgets Apr 14, 2023
@aguzmant103 aguzmant103 linked an issue Apr 20, 2023 that may be closed by this pull request
@KimiWu123
Copy link
Contributor

moved to #1425

@KimiWu123 KimiWu123 closed this May 23, 2023
KimiWu123 added a commit that referenced this pull request May 25, 2023
### Description

NOTE: This is an updated version of
#1356

This is Part A of a 3 part pull request to add support for
`CREATE`/`CREATE2` opcodes.

Part A:
#1356
Part B:
#1357
Part C:
#1358

### Issue Link

#1130 

### Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

### Contents
 
As part of the bigger additions needed for the `CREATE`/`CREATE2`
opcodes' gadget, this PR adds support for the copy circuit to "always"
have a value accumulator field `value_acc`.

### Rationale

We need a value accumulator (of the random linear combination) in order
to get the `RLC(bytes)` for the bytes copied from `Memory` to `Bytecode`
(specifically the init code). This RLC is later used to do a lookup to
the Keccak table to check the value of `keccak256(init_code)`.

### How Has This Been Tested?

The existing tests for copy circuit pass for the updated constraints on
the copy circuit.

---------

Co-authored-by: Rohit Narurkar <[email protected]>
Co-authored-by: KimiWu <[email protected]>
lispc pushed a commit that referenced this pull request May 26, 2023
…adgets (#1425)

### Description

**NOTE: This is an updated version of
#1357

This PR is actually based on top of #1419

### Issue Link

#1130 

### Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

### Contents
Error types for insufficient balance and nonce overflow. These are
supporting changes required for the CREATE/CREATE2 opcodes' gadget.

### Rationale
The above errors will be handled within the CREATE/CREATE2 opcodes'
gadget. In case of insufficient balance, it is also handled in the
CallOp gadget for call related opcodes.

---------

Co-authored-by: Rohit Narurkar <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
crate-bus-mapping Issues related to the bus-mapping workspace member crate-mock Issues related to the mock workspace member crate-zkevm-circuits Issues related to the zkevm-circuits workspace member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement CREATE & CREATE2
2 participants