Update EVM Version to Shanghai #925
Closed
smol-ninja
started this conversation in
General
Replies: 2 comments 5 replies
-
Thanks for the detailed investigation! Happy to switch to Shanghai. The reason we went with Paris is that when we first deployed V2 in 2023, it wasn't supported by most rollups.
Sorry to be a pain, but could you do that, please? LightLink is a paid customer, and we've promised to host their protocol for at least a year. |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I recommend that we should update the
evm_version
toshanghai
to take advantage of thePUSH0
opcode. This evm version is supported by all chains we deploy to.Context
Currently, we rely on
paris
version of evm for deployment. Foundry uses the value ofevm_version
to generate bytecode during on-chain deployments.Since paris, there have been two mainnet hardforks - shanghai and dencun. While dencun did not introduce anything relevant to us, shanghai introduced
PUSH0
- an opcode to place "0" on the stack.Benefits of
PUSH0
:PUSH0
consumes 1 less gas compared toPUSH1 0
making deployed bytecode smaller and reducing deployment costs.Support for
PUSH0
Opcode Across ChainsI have deployed the following bytecode on every chain supported by Sablier (except Lightlink, I didn't deploy on it). All the deployments were successful which means all of them support
PUSH0
.Important
Since zksync has its own variation of
foundry
, the deployed bytecode on zksync is also different. Therefore, updating the evm version to shanghai will have no impact on zksync deployment.RFC @sablier-labs/solidity.
Beta Was this translation helpful? Give feedback.
All reactions