Releases: 0xPolygonHermez/zkevm-node
v0.7.3
v0.7.2
v0.7.1
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
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
Compatible versions:
Changelog
Version v0.6.8 is a patch-release fixing some issues found in v0.6.7
Sequencer
v0.6.7
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
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
v0.6.5
Compatible versions:
Changelog
Version v0.6.5 is a patch-release fixing some issues found in v0.6.4
RPC
- Fix
deltaTimeStamp
andTimestampLimit
foreth_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
v0.6.4
Compatible versions:
Changelog
Version v0.6.4 supports forkid 9 (Elderberry 2) and fixes some issues found in v0.6.3
RPC
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
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)