Releases: 0xPolygonHermez/zkevm-rom
Releases · 0xPolygonHermez/zkevm-rom
v8.0.0-fork.12
ChangeLog
There are no changes in the zkevm-rom
from fork.11
. It is updated to fork.12
, and the package.json
is updated.
In fork.12, there are important changes in zkevm-contracts. Among these changes, there are:
v7.0.0-fork.11
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
- add audit report by @krlosMata in #381
- Dont revert touched address on deploy collision by @ignasirv in #390
- Fix issue push at last opcode by @ignasirv in #398
- Feature/25 update by @laisolizq in #396
Full Changelog: v6.0.1-fork.9...v7.0.0-fork.11
The only change between
fork.10
andfork.11
isTOTAL_STEPS_LIMIT
andSAFE_RANGE
. The comparison is being made withfork.9
.
v7.0.0-fork.10
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
- add audit report by @krlosMata in #381
- Dont revert touched address on deploy collision by @ignasirv in #390
- Fix issue push at last opcode by @ignasirv in #398
- Feature/24 update by @laisolizq in #397
Full Changelog: v6.0.1-fork.9...v7.0.0-fork.10
Elderberry v2 (fork.9)
ChangeLog
fixes
- allow to prove zero value in
l1InfoTreeRoot
What's Changed
- Feature/fix prove zeroes by @krlosMata in #363
- update packages to fork.9 by @krlosMata in #366
- Develop by @krlosMata in #367
- breaks dependency by @krlosMata in #369
Full Changelog: v5.0.0-fork.8...v6.0.1-fork.9
Elderberry (fork.8)
ChangeLog
new features
- deactivate
modExp
support - set
BlockGasLimit
to2^50
fixes
- return value in
modExp
in large modExp (> 32 bytes) ecPairings
substraction valueecPairings
zk-counters checkslog
opcode to increase nexthashP
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
- Feature/reduce push steps by @krlosMata in #345
- fix call precompiled revert by @laisolizq in #349
- Develop no opt by @laisolizq in #344
- update packages to fork.8 by @krlosMata in #352
- Develop by @krlosMata in #353
Full Changelog: v4.0.0-fork.7...v5.0.0-fork.8
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
incaberry (fork.6)
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
- do not allow signatures from private key
- update
- 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
- new feature on arithmetic state machine that checks outputs to be alias-free and checks that
What's Changed
- Do not skip tests in
run-tests-zkasm.js
by @MCJOHN974 in #306 - Feature/incaberry by @krlosMata in #310
- Develop by @krlosMata in #311
New Contributors
- @MCJOHN974 made their first contribution in #306
Full Changelog: v2.0.0-fork.5...v3.0.0-fork.6
dragonfruit (fork.5)
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 an additional byte for each transaction to be able to apply a % of the transaction
- add
eventLog
event wheninvalidRLP
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 with0xEF
- Update
- fix revert precompiled behaviour
- clears return buffer when calling a non-supported precompiled
- fix
memAlign
counter atcalldatacopy
opcode - fix adding zk-counters check at
endDeploy
label
Github automatic generation changelog based on PR
- update LICENSE by @zkronos73 in #277
- update README.md by @zkronos73 in #278
- add Spearbit audit reports by @zkronos73 in #279
- add audit report by @zkronos73 in #280
- add issues templates & CODEOWNERS by @krlosMata in #283
- Feature/run tests zkasm by @krlosMata in #282
- add full test read-push by @krlosMata in #285
- Feature/fix rlp push0 by @laisolizq in #286
- Set on update storage at the beginning of sstore by @ignasirv in #288
- review changes by @krlosMata in #291
- Effective gas implementation by @ignasirv in #290
- update packages versions by @krlosMata in #293
- add audits by @krlosMata in #299
- Feature/pre develop by @krlosMata in #304
- Develop by @krlosMata in #305
Full Changelog: v1.1.0-fork.4...fork.5
cherry (v1.0.0-fork.3)
What's Changed
- fix readPush by @laisolizq in #269
- Feature/forkid 3 audit fixes by @krlosMata in #268
- add hexens audit report by @zkronos73 in #270
- update packages by @krlosMata in #271
- Develop by @krlosMata in #272
Full Changelog: v0.8.0.0-fork.2...v1.0.0-fork.3
blueberry
What's Changed
- update tmpvars & expAD counters by @laisolizq in #212
- Fix jmpn by @ignasirv in #214
- read entire bytecode program at once by @krlosMata in #219
- remove obsolete TODO comment by @zkronos73 in #222
- Fix computeGasSendCall by @ignasirv in #221
- fix FNEC_DIV_TWO constant and update test by @zkronos73 in #225
- Feature/counter tests by @ignasirv in #223
- RLP checks & clean code by @krlosMata in #224
- Audit jan fixes by @ignasirv in #226
- Feature/counters and comments by @krlosMata in #227
- Boundaries check fixes by @ignasirv in #228
- update dependencies by @krlosMata in #229
- reduce steps max limit by @krlosMata in #231
- Feature/check 256bits by @ignasirv in #233
- add metadata file by @krlosMata in #234
- fix zk-counters checks with :LT by @krlosMata in #235
- Feature/fix sendall by @krlosMata in #236
- Feature/remove debug handles by @krlosMata in #237
- remove duplicate stack overflow by @krlosMata in #240
- Remove opbasefee by @ignasirv in #241
- Optimize opPush and SHL by @ignasirv in #242
- update tests vectors & add run scripts ooc/30m by @laisolizq in #243
- Feature/fork by @krlosMata in #246
- Feature/revert precompiled by @krlosMata in #247
- fixes identity and not set CTX to 0 by @krlosMata in #248
- ger manager address L2 by @krlosMata in #251
- add onUpdateStorage in SLOAD/SSTORE oopcodes by @krlosMata in #257
- Feature/fix rlp by @krlosMata in #252
- Feature/mstorex fix by @laisolizq in #263
- update to forkid 2 & fix comments by @krlosMata in #264
- fork.2 update packages by @krlosMata in #265
- Develop by @krlosMata in #266
Full Changelog: v0.6.0.0...v0.8.0.0-fork.2