Skip to content

Releases: 0xPolygonHermez/zkevm-rom

v7.0.0-fork.11

05 Nov 11:27
8c89e0f
Compare
Choose a tag to compare

ChangeLog

New features

  • TOTAL_STEPS_LIMIT = 2**25
  • SAFE_RANGE = 80

Fixes

  • Fix push at last opcode
  • Don't revert touched address on deploy collision

What's Changed

Full Changelog: v6.0.1-fork.9...v7.0.0-fork.11

The only change between fork.10 and fork.11 is TOTAL_STEPS_LIMIT and SAFE_RANGE. The comparison is being made with fork.9.

v7.0.0-fork.10

05 Nov 11:27
d88ddcb
Compare
Choose a tag to compare

ChangeLog

New features

  • TOTAL_STEPS_LIMIT = 2**24
  • SAFE_RANGE = 40

Fixes

  • Fix push at last opcode
  • Don't revert touched address on deploy collision

What's Changed

Full Changelog: v6.0.1-fork.9...v7.0.0-fork.10

Elderberry v2 (fork.9)

03 Apr 21:12
9fe665e
Compare
Choose a tag to compare

ChangeLog

fixes

  • allow to prove zero value in l1InfoTreeRoot

What's Changed

Full Changelog: v5.0.0-fork.8...v6.0.1-fork.9

Elderberry (fork.8)

04 Mar 16:16
3d54f35
Compare
Choose a tag to compare

ChangeLog

new features

  • deactivate modExp support
  • set BlockGasLimit to 2^50

fixes

  • return value in modExp in large modExp (> 32 bytes)
  • ecPairings substraction value
  • ecPairings zk-counters checks
  • log opcode to increase next hashP address ti use just after set it
  • detect empty list at RLP level and jump directly to invalidTxRLP error
  • set txStatus to 0 when a precompile smart contract is not supported
  • check poseidon padding counters against %MAX_CNT_PADDING_PG

optimization

  • reduce push opcode zk-counters consumption

What's Changed

Full Changelog: v4.0.0-fork.7...v5.0.0-fork.8

Etrog (fork.7)

05 Feb 08:36
db1c8a1
Compare
Choose a tag to compare

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

incaberry (fork.6)

21 Nov 11:45
877328e
Compare
Choose a tag to compare

Changelog

  • ecrecover
    • update sqrtFpEc function to return root aligned with parity specified, reducing number of binaries used in ROM
    • added a new specific error code for invalid point
      • do not allow signatures from private key 0x0000000000000000000000000000000000000000000000000000000000000000
  • arithmetic instruction
    • new feature on arithmetic state machine that checks outputs to be alias-free and checks that x1 & x2 are different, reducing number of binaries used in ROM

What's Changed

New Contributors

Full Changelog: v2.0.0-fork.5...v3.0.0-fork.6

dragonfruit (fork.5)

20 Sep 21:04
c17c166
Compare
Choose a tag to compare

Changelog

new features

  • add support for push0 opcode
  • implement effectiveGasPrice mechanism
    • add an additional byte for each transaction to be able to apply a % of the transaction gasPrice
  • add eventLog event when invalidRLP is triggered

Fixes

  • fix calldataload & calldatacopy call on constructor
    • bytecode was fetched instead of zero
  • fix large size calldata in internal transactions
    • override memory region in zkEVM when calldata was larger than 2MB
    • calldata is handled now via a pointer to the previous context
  • fix gasRefund
    • Update gasRefund after check bytecode starts with 0xEF
  • fix revert precompiled behaviour
    • clears return buffer when calling a non-supported precompiled
  • fix memAlign counter at calldatacopy opcode
  • fix adding zk-counters check at endDeploy label

Github automatic generation changelog based on PR

Full Changelog: v1.1.0-fork.4...fork.5

cherry (v1.0.0-fork.3)

21 Mar 12:05
496d39d
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.8.0.0-fork.2...v1.0.0-fork.3

blueberry

02 Mar 18:55
2ddeffb
Compare
Choose a tag to compare
blueberry Pre-release
Pre-release

What's Changed

Full Changelog: v0.6.0.0...v0.8.0.0-fork.2

mango

22 Dec 17:03
b27579b
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.0.0...v0.6.0.0