Differences from L1 EVM
Lighter EVM mirrors Ethereum L1 EVM semantics as of the Fusaka BPO2 fork, with the following deviations.
Chain metadata
- The Chain ID is
chainId = 19_529 = 0x4C49 = "LI" - The block time is 1 second.
Transaction model differences
- Blob txs are not supported: EIP-4844 blob transaction type
0x03is unsupported. - New exogenous transaction type: Lighter EVM introduces one new EIP-2718 transaction type (
0x7E) for handling deposits from L1 (and other non-user-originated protocol flows such as Core -> EVM async writes and protocol upgrades). - EIP-1559 parameters differ from Ethereum mainnet defaults: EIP-1559 parameters are used.
TARGET_GAS_LIMIT = 4,250,000ELASTICITY_MULTIPLIER = 4(MAX_GAS_LIMIT = 17,000,000)BASE_FEE_MAX_CHANGE_DENOMINATOR = 334INITIAL_BASE_FEE = 1 gwei
- Priority transactions (L1-originated transactions) fee parameters:
MAX_PRIORITY_GAS_LIMIT = 10,000,000BASE_FEE_OVERHEAD = 120,000BASE_FEE_SCALAR = 9,700,000,000,000
Base fee burn
Unlike L1 Ethereum, Lighter EVM sends base fees to the BaseFeeVault instead of burning them.
L1 data fee
In addition to the ordinary execution fee, every fee-paying transaction pays for its metered L1 data contribution. The fee is exposed on receipts through l1Fee, l1GasUsed, and l1GasPrice; see L1 Data Fee.
Support for L1 predeploys
- EIP-2935 contract (
0x0000F90827F1C53a10cb7A02335B175320002935) serves the most recent8191Lighter EVM block hashes (not Ethereum L1 block hashes). - EIP-4788 contract (
0x000F3df6D732807Ef1319fB7B8bB8522d0Beac02) is not supported (no code). - EIP-7002 contract (
0x00000961Ef480Eb55e80D19ad83579A64c007002) is not supported (no code). - EIP-7251 contract (
0x0000BBdDc7CE488642fb579F8B00f3a590007251) is not supported (no code).
There are additional new predeploys specific to Lighter EVM; see Chain info.
Opcodes and precompiles
PREVRANDAO: always returns0.COINBASE: always returnsSEQUENCER_FEE_VAULT_ADDR.BLOBHASH/BLOBBASEFEE: are treated as invalid opcodes and result in exceptional halt.READ_CORE_ADDRprecompile (0x6600000000000000000000000000000000000000): precompile for reading Core state. Returns (bytes memory data), wheredatais arbitrary data from the Core read.
See Reading Core from EVM for more details on how READ_CORE_ADDR is used.
Updated about 7 hours ago
Did this page help you?
