Skip to content

Releases: 0xPolygonHermez/zkevm-node

v0.7.3

07 Aug 11:37
a774dc9
Compare
Choose a tag to compare

Compatible versions:

Changelog

Version v0.7.3 is a patch-release fixing some issues found in v0.7.2

RPC

  • Fix timestamp when querying zkevm_getBatchByNumber and the batch is only in trusted state (#3750)
  • Fix transaction order in zkevm_getBatchByNumber endpoint (#3749)

Sequencer

  • Add L2blockend entry to datastream (version 4) (#3751)
  • Fix invalid "updateGER" entry when updating datastream file on startup (#3748)

v0.7.2

02 Aug 12:22
adf526c
Compare
Choose a tag to compare

Compatible versions:

Changelog

Version v0.7.2 is a patch-release fixing some issues found in v0.7.1

Sequencer

  • Fix transaction out of counters (at node level) if the transaction doesn't fits in the first empty L2 block of a batch (#3744)

v0.7.1

01 Aug 11:14
eb2ce7b
Compare
Choose a tag to compare

Compatible versions:

Changelog

Version v0.7.1 is a patch-release fixing some issues found in v0.7.0

RPC

  • Fix issue with the trace memory for the previous step when using call tracer (#3740)
  • Add returnData field for the default tracer (#3740)

Aggregator

  • Wait the state to be synced when starting aggregator (#3735)

Sequencer

  • Close inactive datastream client connections (#3727). The following config parameters has been added:

[Sequencer.StreamServer]
InactivityTimeout = "120s"
InactivityCheckInterval = "5s"

  • Fix wrong "batch end" entry when updating datastream file during startup (#3741)
  • Fix execute batch sanity check in sequential mode (#3722)

Sequence sender

  • Add mined L1 blocknumber in monitored tx result and use it to perform the wait for L1Block confirmations (#3734)

v0.7.0

14 Jun 17:25
bdeddb3
Compare
Choose a tag to compare

Compatible versions:

Changelog

RPC

  • Remove synchronizer dependency from eth-tx-manager when confirming a monitored transaction (#3677)
  • Remove creation of DB transaction for endpoints that only executes readonly DB queries (#3628)
  • Add optimistic gas computation while estimating gas (#3653)
  • Add new TxFeeCap configuration parameter which represents the global transaction fee (price * gaslimit) cap for send-transaction variants. The unit is ether and the default value is 1 (0 means no cap). This configuration parameter only affects to the trusted node (#3611)

[Pool]
TxFeeCap = 1.0

Synchronizer

  • Add new configuration parameter to specify if the synchronization from L2 is enabled (#3641)

[Synchronizer.L2Synchronization]
Enabled = true

Sequencer

  • New datastream format (#3597, #3608, #3612, #3615, #3617, #3620)
  • Add write timemout for datastream client connections (#3690). This timeout can be configured in the following configuration parameter:

[Sequencer.StreamServer]
WriteTimeout = "5s"

  • Fix use of L2Coinbase address configured in SequenceSender.L2Coinbase parameter instead of use the sequencer address, since these 2 addresses can be different (#3642)
  • Use geth block hash calculation for L2 blocks in datastream (#3661)
  • Add delay when getting storedFlushId from the executor/hashdb (#3625). This delay can be defined in the following configuration parameter:

[Sequencer.Finalizer]
FlushIdCheckInterval = "50ms"

Sequence sender

  • Remove synchronization with virtual state (#3666)
  • Wait L1 block confirmations to consider a sequence as confirmed (#3666). The number of L1 block confirmations can be defined in the following configuration parameter:

[SequenceSender]
SequenceL1BlockConfirmations = 32

v0.6.8

29 May 12:56
eb155ae
Compare
Choose a tag to compare

Compatible versions:

Changelog

Version v0.6.8 is a patch-release fixing some issues found in v0.6.7

Sequencer

  • Do fatal when datastream channel is full (workaround to fix datastream blocking issue) (#3650)
  • Add delay when getting storedFlushId from the executor/hashdb (#3651)

v0.6.7

07 May 09:59
f34d60a
Compare
Choose a tag to compare

Compatible versions:

Changelog

Version v0.6.7 is a patch-release fixing some issues found in v0.6.6

Synchronizer

  • Fix timestamp error when syncing a batch from L1 and the previous one was synced from L2 (#3614)
  • Fix updating GER when syncing a batch from L2 when GER changes again before closing the batch (#3599)
  • Fix log (#3595)

Sequencer

  • New reprocess mechanism when processing L2 blocks in parallel in case an unexpected executor error happens when processing the L2 block (e.g. OOC) (#3604)
  • Removes waiting to close wip batch to open a new one, that allows to increase sequencer performance (#3604)
  • Added new config parameter that allows specifiy an interval time to synchronize stateroot of the "tx-by-tx" and "L2 block" processes (#3604)

[Sequencer.Finalizer]
StateRootSyncInterval = "3600s"

  • Fix batch number field when sending L2 block entry in datastreamer (#3616)

v0.6.6

24 Apr 12:48
05a4826
Compare
Choose a tag to compare

Compatible versions:

Changelog

Version v0.6.6 is a patch-release fixing some issues found in v0.6.5

RPC

  • Add statedb database migration to fix wrong tx index values (#3556)

Synchronizer

  • Improve detection of L1 reorgs and possible inconsistent responses from L1 nodes (#3553)
  • Check L1 blocks perodiocally in background to detect, as soon as possible, L1 reorgs (#3546). The following configuration parameters has been added to configure this feature:

[Synchronizer.L1BlockCheck]
Enable = true
L1SafeBlockPoint = "finalized"
L1SafeBlockOffset = 0
ForceCheckBeforeStart = true
PreCheckEnable = true
L1PreSafeBlockPoint = "safe"
L1PreSafeBlockOffset = 0

  • Stop syncing from L2 after first batch not closed (#3584)
  • Fix panic error when synchronizing from L2 (#3582)

Sequencer

  • Fix adding tx to the worker pool when it matches with tx that is being processed (#3559)
  • Check that GER and index of synced L1InfoRoot matches with values reported from the smartcontract (#3551)

v0.6.5

08 Apr 15:56
64dcff0
Compare
Choose a tag to compare

Compatible versions:

Changelog

Version v0.6.5 is a patch-release fixing some issues found in v0.6.4

RPC

  • Fix deltaTimeStamp and TimestampLimit for eth_call (#3529)
  • Fix sort logs by transaction hash and then by log index (#3476)
  • Fix debug trace to compute effective gas price percentage based on tx execution values (#3503)

Synchronizer

  • Use generic ethereum client for L2 (#3519)
  • Fix reset the L1InfoRoot memory variables when a L1 reorg is detected (#3515)
  • Fix transaction index calculation on receipt (#3500)
  • Syncing block protection to allow syncing only safe, finalized or latest L1 blocks (#3545)
[Synchronizer]
SyncBlockProtection = "safe" # latest, finalized, safe

Sequencer

  • Stop syncing L1inforoot when invalid L1inforoot is detected (L1 block hash mismatch) (#3542)
  • Fix transaction index calculation on receipt (#3500)

v0.6.4

25 Mar 00:39
df539db
Compare
Choose a tag to compare

Compatible versions:

Changelog

Version v0.6.4 supports forkid 9 (Elderberry 2) and fixes some issues found in v0.6.3

RPC

  • Fix debug trace for injected transaction (#3469)
  • Fix debug trace receipt index (#3490)

Synchronizer

  • Permisionless node now checks blockhash of the L2 blocks synced from L1 against trusted node. If the blockhash doesn't match it logs an error and halts the synchornization process (#3442)
  • Fix detecting when a batch is already closed when syncing from L1 ( #3441)
  • Allow to reprocess L1 forkid events when the forkid information already exists in the database (#3451)

Sequencer

  • Add sanity check on checkL1InfoTreeUpdate function to check state L1 blockhash matches ethereum blockhash (#3480)
  • Fix out-of-conters error check (#3484)

Aggregator

  • Fix aggregator l1InfoTree merkle proof calculation (#3491)

v0.6.3

19 Mar 15:53
b65af69
Compare
Choose a tag to compare

Compatible versions:

Changelog

Version v0.6.3 is a patch-release fixing some issues found in v0.6.2

RPC

  • Remove unnecessary error log (EXECUTOR_ERROR_NO_ERROR) when estimating gas for a transaction (#3456)

Synchronizer

  • Permisionless node now checks blockhash of the L2 blocks synced from L1 against trusted node. If the blockhash doesn't match it logs an error and halts the synchornization process (#3442)
  • Fix detecting when a batch is already closed when syncing from L1 ( #3441)
  • Allow to reprocess L1 forkid events when the forkid information already exists in the database (#3451)