github taikoxyz/taiko-mono protocol-v1.9.0
protocol: v1.9.0

latest releases: docs-site-v1.16.0, docs-site-v1.15.0, protocol-v1.10.0...
pre-releaseone month ago

Summary

v1.9.0 is a pre-release of Taiko's Rollup protocol for the Hekla testnet, with support for the upcoming Ontake fork. Please note that this code has not been audited yet.

Key Protocol Improvements:

  • Enhanced L2 EIP-1559 implementation.
  • Batched and deterministic block proposal to support transaction preconfirmation.
  • Batched block proving that enables aggregation of ZK proofs.
  • Calldata support for contract provers.

Features and Improvements Planned but Not Included in This Release:

  • Sponsored Transactions
  • Cancun EVM Support
  • Enhanced Min-Tier Selection

Mandatory Update ⚠️

Key Dates

  • Protocol Upgrade: Sep 20th, 2:00 AM UTC (10:00 AM Singapore) — Ensure your software is updated before this time.
  • Ontake Fork: Estimated for Sep 24th, 2024, at block height 840,512. The exact time may vary due to block time variability.

Required Software Versions

The versions listed below are the minimum required for the Ontake upgrade. Please note that newer versions may be released, and it's advised to stay updated.

Failure to upgrade may lead to network disconnection or operational issues. You can revert to previous versions before the fork if necessary, as no database schema changes are involved. This pre-release applies only to the Hekla testnet and is not for mainnet use.

Details

Features

  • protocol: add DevnetTaikoL1 (#17900) (d864cea)
  • protocol: add proveBlocks method to ProverSet (#18025) (36a2ae5)
  • protocol: add proveBlocks to TaikoL1.sol (fe687b3)
  • protocol: add TIER_ZKVM_RISC0 tier and HeklaTierProvider (#17913) (64ed666)
  • protocol: add a batch proposing block function (#17864) (3649785)
  • protocol: add ComposeVerifier, TeeAnyVerifier, and ZkAnyVerifier (ee464ca)
  • protocol: add EIP-2612 (permit extension) to bridged ERC20 tokens (#17818) (185ef91)
  • protocol: add preconfirmation support based on #17654 (with some renaming) (#14793) (17d67d7)
  • protocol: add proposeBlock2 in TaikoL1.sol and approve2 in GuardianProver.sol (17d67d7)
  • protocol: add proposer address to getMinTier func (#17919) (d6ea6f3)
  • protocol: add SP1 verification support (#17861) (2936312)
  • protocol: add withdraw eth function to proverset (#17800) (bb2abc5)
  • protocol: adjust gas excess once the gas target has changed (a1e217e)
  • protocol: allow a grace period (4h) to defer proof submission to reduce cost (fe687b3)
  • protocol: allow any address to withdraw token to the recipient address (#17843) (3d89d24)
  • protocol: allow contract proposers to use calldata for DA (17d67d7)
  • protocol: allow msg.sender to customize block proposer addresses (#18048) (22055cc)
  • protocol: enhance nextTxId logics in DelegateOwner (#17718) (85b2cad)
  • protocol: improve L2 basefee calculation (920bd68)
  • protocol: introduce risc0 proof (#17877) (bcb57cb)
  • protocol: protocol monitors (#18002) (45b2087)
  • protocol: relocate L2 base fee parameters to L1 configuration (17d67d7)
  • protocol: return verification timestamp in getLastVerifiedBlock (#17868) (1998288)
  • protocol: revert removing time as input for L2 base fee calculation (a1e217e)
  • protocol: script of UpgradeRisc0Verifier (#17949) (fc12e04)
  • protocol: support backward-compatible batch-proof verification (#17968) (c476aab)
  • protocol: update HeklaTierProvider to introduce sp1 proof (#18022) (76b6514)
  • protocol: update ontakeForkHeight to Sep 24, 2024 (#18046) (30c9316)
  • protocol: update Hekla ontakeForkHeight (#17983) (8819e3a)
  • protocol: update Hekla deployment (#17795) (cadaef8)
  • protocol: update risc0 verifier contract to release-1.0 (#17776) (2dd30ab)
  • protocol: update script of deploying sp1 (#18019) (9464967)
  • protocol: use SP1 1.2.0-rc with more proof verification tests (#18001) (f7bcf1d)

Bug Fixes

  • protocol: fix chainId in HeklaTaikoL1 (#17912) (8f31dd0)
  • protocol: fix BridgedERC20V2.sol initializer logic (#17823) (d538d99)
  • protocol: fix bug in adjustExcess (920bd68)
  • protocol: fix tier id conflicts (#18004) (0df1ad4)
  • protocol: make sure new instance is not zero address in SgxVerifier (#17918) (d559ce8)
  • protocol: reduce MainnetTaikoL1 code size (#17792) (45281b8)
  • protocol: use block header's extraData for basefeeSharingPctg (#17889) (5f3cbc9)

Chores

  • protocol: make two state variables in TaikoL2.sol public and add adjustExcess (#17891) (ba21f68)
  • protocol: move two files to simplify folder structure (#17929) (9dca4fa)
  • protocol: re-generate layout files with diff order for comparison with new PR (#18067) (078d336)
  • protocol: revert TAIKO_TOKEN name changes in DeployOnL1 (#17927) (cf1a15f)
  • protocol: revert releasing protocol 1.9.0 (#17783) (#18049) (c033810)

Documentation

Code Refactoring

  • protocol: add MainnetGuardianProver (#17805) (6f68316)
  • protocol: add MainnetSgxVerifier (#17803) (a4be247)
  • protocol: added cached version of the bridge and vaults (#17801) (b70cc57)
  • protocol: avoid writing livenessBond, proposedAt, and proposedIn to storage (17d67d7)
  • protocol: convert metadata from V2 to V1 only once (#17842) (55ced31)
  • protocol: delete packages/protocol/contracts/compiled (#17849) (1fd907c)
  • protocol: extract an IBlockHash interface from TaikoL2 (#18045) (bff481e)
  • protocol: improve mainnet gas efficiency with addresses cached (#17791) (b12227d)
  • protocol: improve MainnetSgxVerifier (#17811) (4e7a421)
  • protocol: introduce BlockV2 for client-side compability (#17935) (e46cf29)
  • protocol: name address manager param clearer (#17806) (1d5a6ff)
  • protocol: refactor TierProvider implementations (ee464ca)
  • protocol: remove ProposerAccess for easier composability (#17994) (80176a1)
  • protocol: remove the receive function from TaikoL1.sol (#17865) (3542420)
  • protocol: remove uncessary init2() from TaikoL2 (#17973) (4e08881)
  • protocol: restructure solidity code to match compilation targets (#18059) (adc47f4)
  • protocol: simplify mainnet address caching (ee464ca)
  • protocol: use npm to manage third-party solidity dependency (#17881) (d524e69)

Tests

Don't miss a new taiko-mono release

NewReleases is sending notifications on new releases.