1. Opcodes
SELFDESTRUCT: removed by SENDALL
EXTCODEHASH: returns hash contract bytecode from zkEVM state tree (do not check if the account is empty)
DIFFICULTY: returns 0
BLOCKCHASH: returns all previous block hashes (not just the last 256 blocks)
BLOCKCHASH is the state root at the end of a processable transaction and it is stored on the system smart contract
NUMBER: number of processable transactions
2. Precompiled: zkEVM supported
- ecRecover
- identity
rest of the precompiled do a revert
Other Differences
Do not clean the storage when a contract is deployed in that address. (not possible due to Polygon zkEVM state tree specification)
JUMPDEST opcode allowed in push bytes (avoid runtime bytecode analysis)
implements eip-3541 which belongs to London hardfork
eip-2718 which defines Typed Transaction Envelope are not supported
eip-2930 tx type, Optional access lists is not supported
Additions
Zk-counters: batch resources available linked to state-machines components
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article