Skip to content

Commit

Permalink
add point evaluation and additional opcode
Browse files Browse the repository at this point in the history
  • Loading branch information
dghelm committed Apr 15, 2024
1 parent 72ec8dc commit da47ce7
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ For open-source contributors and infrastructure builders, please contact our tea
| `SELFDESTRUCT` | `selfdestruct` | Disabled. If the opcode is encountered, the transaction will be reverted.[^willadpot] |

<Aside type="caution" title="">
Opcodes from the Cancun upgrade are not yet available on Scroll, including `MCOPY`, `TSTORE`, `TLOAD`, and `BLOBBASEFEE`. Additionally, [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) for accessing the Beacon Chain block root is not supported. We recommend using `shanghai` as your EVM target and avoiding using a Solidity version higher than `0.8.23`.
Opcodes from the Cancun upgrade are not yet available on Scroll, including `MCOPY`, `TSTORE`, `TLOAD`, `BLOBHASH` and `BLOBBASEFEE`. Additionally, [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) for accessing the Beacon Chain block root is not supported. We recommend using `shanghai` as your EVM target and avoiding using a Solidity version higher than `0.8.23`.
</Aside>

[^eip1559]: We have currently disabled EIP-1559 on Scroll.
[^willadpot]: Will change to adopt Ethereum’s solution in the future.

## EVM Precompiles

The `SHA2-256` (address `0x2`), `RIPEMD-160` (address `0x3`), and `blake2f` (address `0x9`) precompiles are currently not supported. Calls to these precompiled contracts will revert. We plan to enable these three precompiles in a future hard fork.
The `SHA2-256` (address `0x2`), `RIPEMD-160` (address `0x3`), `blake2f` (address `0x9`), and `point evaluation` (address `0x0a`) precompiles are currently not supported. Calls to these precompiled contracts will revert. We plan to enable these three precompiles in a future hard fork.

The `modexp` precompile is supported but only supports inputs of size less than or equal to 32 bytes (i.e. `u256`).

Expand All @@ -58,6 +58,7 @@ Because of a bounded size of the zkEVM circuits, there is an upper limit on the
| `ecAdd` | 50 |
| `ecMul` | 50 |
| `ecPairing` | 2 |
{/* TODO: Add SHA256 after upgrade */}


## State Account
Expand Down
3 changes: 2 additions & 1 deletion src/content/docs/en/technology/chain/differences.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import Aside from "../../../../components/Aside.astro"
| `0x05` | `modexp` | Restrict the input values `B, E, M` to unsigned integers less than $2^{256}$. |
| `0x08` | `ecPairing` | The inputs are still multiple of 6 32-byte values, but limit the number of tuples to at most 4. |
| `0x09` | `blake2f` | Currently not supported. |
| `0x0a` | `point evaluation` | Currently not supported. |

The remaining precompiled contracts have the same behavior as Ethereum. However, their maximum usage within a block is constrained by a limit tied to the zkEVM circuit capacity.

Expand All @@ -49,5 +50,5 @@ EIPs imported from the Shanghai fork:


<Aside type="tip" title="">
Opcodes from the Cancun upgrade are not yet available on Scroll, including `MCOPY`, `TSTORE`, `TLOAD`, and `BLOBBASEFEE`. Additionally, [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) for accessing the Beacon Chain block root is not supported.
Opcodes from the Cancun upgrade are not yet available on Scroll, including `MCOPY`, `TSTORE`, `TLOAD`, `BLOBHASH` and `BLOBBASEFEE`. Additionally, [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) for accessing the Beacon Chain block root is not supported.
</Aside>

0 comments on commit da47ce7

Please sign in to comment.