Etrog (fork.7)
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 rootblockHashL1
: blockHash of the L1 networkminTimestamp
: 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 transactionsdeltaTimestamp
: time to add to previous block in order to compute the current block timestampindexL1InfoTree
: leaf index in the l1InfoTree. The index will determine the parameters to insert into L2
- leaf data is verified through
smtVerify
function against theL1InfoRoot
(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
- Develop etrog by @krlosMata in #319
- Feature/vcounters 2 by @ignasirv in #321
- fork 7 by @krlosMata in #325
Full Changelog: v3.0.0-fork.6...v4.0.0-fork.7