You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Features from the Dencun upgrade are not yet available on Scroll. Please use `shanghai` as your EVM target and avoid using a Solidity version higher than `0.8.23`.
88
+
</Aside>
89
+
86
90
### Hardhat
87
91
88
92
Modify your Hardhat config file `hardhat.config.ts` to point at the Scroll Sepolia Testnet public RPC.
|`BLOCKHASH`|`block.blockhash`| Returns `keccak(chain_id \|\| block_number)` for the last 256 blocks. |
@@ -28,19 +29,38 @@ For open-source contributors and infrastructure builders, please contact our tea
28
29
|`BASEFEE`|`block.basefee`| Disabled.[^eip1559] If the opcode is encountered, the transaction will be reverted. |
29
30
|`SELFDESTRUCT`|`selfdestruct`| Disabled. If the opcode is encountered, the transaction will be reverted.[^willadpot]|
30
31
32
+
<Asidetype="caution"title="">
33
+
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`.
34
+
</Aside>
35
+
31
36
[^eip1559]: We have currently disabled EIP-1559 on Scroll.
32
37
[^willadpot]: Will change to adopt Ethereum’s solution in the future.
33
38
34
39
## EVM Precompiles
35
40
36
-
The `RIPEMD-160` (address `0x3`) and `blake2f` (address `0x9`) precompiles are currently not supported. The `SHA2-256` (address `0x2`) is currently supported on Scroll Sepolia, but will soon be supported on Scroll Mainnet. Calls to unsupported precompiled contracts will revert. We plan to enable these precompiles in future hard forks.
41
+
The `RIPEMD-160` (address `0x3`) `blake2f` (address `0x9`), and `point evaluation` (address `0x0a`) precompiles are currently not supported. The `SHA2-256` (address `0x2`) is currently supported on Scroll Sepolia, but will soon be supported on Scroll Mainnet. Calls to unsupported precompiled contracts will revert. We plan to enable these precompiles in future hard forks.
37
42
38
43
The `modexp` precompile is supported but only supports inputs of size less than or equal to 32 bytes (i.e. `u256`).
39
44
40
45
The `ecPairing` precompile is supported, but the number of points(sets, pairs) is limited to 4, instead of 6.
41
46
42
47
The other EVM precompiles are all supported: `ecRecover`, `identity`, `ecAdd`, `ecMul`.
43
48
49
+
### Precompile Limits
50
+
51
+
Because of a bounded size of the zkEVM circuits, there is an upper limit on the number of calls that can be made for some precompiles. These transactions will not revert, but simply be skipped by the sequencer if they cannot fit into the space of the circuit. Read more about the [Circuit Capacity Checker](/en/technology/sequencer/execution-node#circuit-capacity-checker).
|`0x05`|`modexp`| Restrict the input values `B, E, M` to unsigned integers less than $2^{256}$. |
27
29
|`0x08`|`ecPairing`| The inputs are still multiple of 6 32-byte values, but limit the number of tuples to at most 4. |
28
30
|`0x09`|`blake2f`| Currently not supported. |
31
+
|`0x0a`|`point evaluation`| Currently not supported. |
29
32
30
33
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.
31
34
@@ -44,3 +47,8 @@ EIPs imported from the Shanghai fork:
-[EIP-3860](https://eips.ethereum.org/EIPS/eip-3860): Limit and meter initcode
50
+
51
+
52
+
<Asidetype="tip"title="">
53
+
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.
0 commit comments