Skip to content

Etrog (fork.7)

Compare
Choose a tag to compare
@krlosMata krlosMata released this 05 Feb 08:36
· 32 commits to main since this release
db1c8a1

ChangeLog

Precompiled

  • add support for the following precompiled smart contracts
    • sha256
    • modexp
    • ecadd
    • ecmul
    • ecpairing

L1InfoTree

  • merkle tree that contains historical data
  • saved in the smart contracts
  • each leaf contains the following parameters:
    • ger: global exit root
    • blockHashL1: blockHash of the L1 network
    • minTimestamp: minimum timestamp

changeL2Block transaction

  • add parsing and processing for changeL2Block marker in the batch data
  • allows to change L2Block inside a batch
  • format:
fields: [type | deltaTimestamp | indexL1InfoTree ]
bytes:  [  1  |       4        |         4       ]
  • where
    • type: transaction type to allow differentiate between preEIP155 and legacy transactions
    • deltaTimestamp: time to add to previous block in order to compute the current block timestamp
    • indexL1InfoTree: leaf index in the l1InfoTree. The index will determine the parameters to insert into L2
  • leaf data is verified through smtVerify function against the L1InfoRoot (coming from the smart contracts)

BlockInfoTree

  • Add merkle-tree to include all the block data while the L2 Block is being processed
    • allow to verify data returned by the RPC

Virtual counters

  • modify tooling and test scripts to support virtual counters

What's Changed

Full Changelog: v3.0.0-fork.6...v4.0.0-fork.7