24.8.0 (2024-06-24)
⚠ BREAKING CHANGES
- updated boojum and nightly rust compiler (#2126)
Features
- Add metrics for transaction execution result in state keeper (#2021) (dde0fc4)
- api: Add new
l1_committed
block tag (#2282) (d5e8e9b) - api: Rework zks_getProtocolVersion (#2146) (800b8f4)
- change
zkSync
occurences toZKsync
(#2227) (0b4104d) - contract-verifier: Adjust contract verifier for zksolc 1.5.0 (#2255) (63efb2e)
- docs: Add documentation for subset of wiring layer implementations, used by Main node (#2292) (06c287b)
- docs: Pruning and Snapshots recovery basic docs (#2265) (619a525)
- en: Allow recovery from specific snapshot (#2137) (ac61fed)
- eth-sender: fix for missing eth_txs_history entries (#2236) (f05b0ae)
- Expose fair_pubdata_price for blocks and batches (#2244) (0d51cd6)
- merkle-tree: Rework tree rollback (#2207) (c3b9c38)
- node-framework: Add Main Node Client layer (#2132) (927d842)
- node: Move some stuff around (#2151) (bad5a6c)
- node: Port (most of) Node to the Node Framework (#2196) (7842bc4)
- object-store: Allow caching object store objects locally (#2153) (6c6e65c)
- proof_data_handler: add new endpoints to the TEE prover interface API (#1993) (eca98cc)
- prover: Add file based config for fri prover gateway (#2150) (81ffc6a)
- Remove initialize_components function (#2284) (0a38891)
- state-keeper: Add metric for l2 block seal reason (#2229) (f967e6d)
- state-keeper: More state keeper metrics (#2224) (1e48cd9)
- sync-layer: adapt MiniMerkleTree to manage priority queue (#2068) (3e72364)
- tee_verifier_input_producer: use `FactoryDepsDal::get_factory_deps() (#2271) (2c0a00a)
- toolbox: add zk_toolbox ci (#1985) (4ab4922)
- updated boojum and nightly rust compiler (#2126) (9e39f13)
- upgraded encoding of transactions in consensus Payload. (#2245) (cb6a6c8)
- Use info log level for crates named zksync_* by default (#2296) (9303142)
- verification of L1Batch witness (BFT-471) - attempt 2 (#2232) (dbcf3c6)
- verification of L1Batch witness (BFT-471) (#2019) (6cc5455)
- vm-runner: add basic metrics (#2203) (dd154f3)
- vm-runner: add protective reads persistence flag for state keeper (#2307) (36d2eb6)
- vm-runner: shadow protective reads using VM runner (#2017) (1402dd0)
Bug Fixes
- api: Fix getting pending block (#2186) (93315ba)
- api: Fix transaction methods for pruned transactions (#2168) (00c4cca)
- config: Fix object store (#2183) (551cdc2)
- config: Split object stores (#2187) (9bcdabc)
- db: Fix
insert_proof_generation_details()
(#2291) (c2412cf) - db: Optimize
get_l2_blocks_to_execute_for_l1_batch
(#2199) (06ec5f3) - en: Fix reorg detection in presence of tree data fetcher (#2197) (20da566)
- en: Fix transient error detection in consistency checker (#2140) (38fdfe0)
- en: Remove L1 client health check (#2136) (49198f6)
- eth-sender: Don't resend already sent transactions in the same block (#2208) (3538e9c)
- eth-sender: etter error handling in eth-sender (#2163) (0cad504)
- node_framework: Run gas adjuster task only if necessary (#2266) (2dac846)
- object-store: Consider more GCS errors transient (#2246) (2f6cd41)
- prover_cli: Remove outdated fix for circuit id in node wg (#2248) (db8e71b)
- prover: Disallow state changes from successful (#2233) (2488a76)
- pruning: Check pruning in metadata calculator (#2286) (7bd8f27)
- Treat 502s and 503s as transient for GCS OS (#2202) (0a12c52)
- vm-runner: add config value for the first processed batch (#2158) (f666717)
- vm-runner: make
last_ready_batch
account forfirst_processed_batch
(#2238) (3889794) - vm: fix insertion to
decommitted_code_hashes
(#2275) (15bb71e) - vm: Update
decommitted_code_hashes
inprepare_to_decommit
(#2253) (6c49a50)
Performance Improvements
- db: Improve storage switching for state keeper cache (#2234) (7c8e24c)
- db: Try yet another storage log pruning approach (#2268) (3ee34be)
- en: Parallelize persistence and chunk processing during tree recovery (#2050) (b08a667)
- pruning: Use more efficient query to delete past storage logs (#2179) (4c18755)