Skip to content

Latest commit

 

History

History
717 lines (526 loc) · 96.7 KB

CHANGELOG.md

File metadata and controls

717 lines (526 loc) · 96.7 KB

Changelog

1.8.0 (2024-07-11)

Features

  • protocol: allow TAIKO token bonds deposits and withdrawal (#17725) (e505392)
  • protocol: emit CalldataTxList when calldata is used for DA (#17657) (f49aae8)
  • protocol: update tier_router address in L1RollupAddressManager (#17717) (57c8dc0)

Bug Fixes

  • protocol: fix an issue in DelegateOwner then refactor the code (#17633) (fbeb4e4)
  • protocol: revert Hekla ring buffer size changes (#17779) (e18cb87)
  • protocol: revert last change in TaikoToken.sol (#17781) (7805fd3)
  • protocol: use gasleft() in Bridge's retryMessage function (#17708) (d86893c)

Chores

  • protocol: check in data for the first token grant exercise (#17707) (d2b00ce)
  • protocol: give more slots for verified blocks in ring buffer (#17762) (8d6d489)

Documentation

Code Refactoring

  • protocol: delete duplicate event and error definition from TaikoL1 (#17722) (0607b14)
  • protocol: refactor TaikoL1 contract (#17678) (db6ccdf)
  • protocol: remove unused tier fee in TaikoData (#17741) (50abed1)

1.7.0 (2024-06-20)

Features

  • protocol: add getLastVerifiedBlock and getLastSyncedBlock (#17566) (cf0743f)
  • protocol: add new tcb & add test case (#17622) (2384b7c)
  • protocol: add new tcb & update related tests (#17545) (97aa874)
  • protocol: change guardian prover cooldown windows (#17590) (cc10b04)
  • protocol: improve DelegateOwner to have an optional L2 admin (#17445) (1c59e8c)
  • protocol: lower liveness, validity, and contestation bonds by 50% (#17616) (c9b8d40)
  • protocol: persist and compare stateRoot only once per 16 blocks (b7e12e3)
  • protocol: remove hook support completely (b7e12e3)
  • protocol: require assigned prover to be the block proposer itself (b7e12e3)
  • protocol: update Hekla deployment (#17560) (bfeadd8)
  • protocol: verify blocks less frequently but more efficiently (b7e12e3)

Bug Fixes

  • protocol: fix an issue for ProverSet.proposeBlock (#17521) (d3037ad)
  • protocol: fix Bridge forwarded gas check and getMessageMinGasLimit (#17529) (0082c6a)
  • protocol: fix getLastSyncedBlock by writing the block's verifiedTransitionId (6e07ab5)
  • protocol: fix in vesting scripts (#17581) (5d7b256)
  • protocol: fix ProverSet permission issue (#17527) (98b47d4)
  • protocol: fix seemingly quota issue (#17544) (d083eeb)
  • protocol: fix tip payment to L1 block builder (6e07ab5)

Chores

  • protocol: add assumption desc. for IBridgedERC20 (#17546) (7fa3b55)
  • protocol: update TAIKO symbol in protocol deployment logs (#17555) (04bb81e)

Documentation

Code Refactoring

  • protocol: avoid unnecessary Signal Service call (#17516) (9fac584)
  • protocol: optimize storage reads/writes in proveBlock (#17532) (ba5c25b)

1.6.0 (2024-06-07)

Features

  • protocol,supplementary-contracts: relocate & allow TokenUnlock to deploy and own ProverSets (#17251) (f3d6ca1)
  • protocol: add ITierRouter interface to DevnetTierProvider (#17474) (d9dd337)
  • protocol: add ProverSet to hold TKO tokens (#17230) (b7802b1)
  • protocol: allow getTransition to be called for all blocks (#17268) (bca493f)
  • protocol: allow guardian prover to pause block proving & verification (#17286) (b955e0e)
  • protocol: allow hooks to be empty if prover and proposer are the same addr (#17511) (18b1abb)
  • protocol: allow L1 bridge to self-delegate any token's voting power (#17204) (9bd5efa)
  • protocol: allow QuotaManager to set quota period (#17497) (1655aef)
  • protocol: allow tier configuration based on block numbers. (#17399) (3e50e1c)
  • protocol: change blockMaxProposals from 432_000 to 324000 (#17499) (c6d184a)
  • protocol: deploy ProverSet in DeployOnL1 script (#17272) (6e56475)
  • protocol: enable AddressManager not to load from storage (#17250) (c8207d3)
  • protocol: enable permissionless block-proposing (#17303) (62dd749)
  • protocol: improve Bridge gasleft() validation (#17422) (0febafe)
  • protocol: make AutomataDcapV3Attestation state variables public and emit events (#17193) (3740dc0)
  • protocol: optimize assignment hook and prover set for gas (#17481) (984e778)
  • protocol: reduce gas cost by skipping reading storage for delegates() (#17487) (f58d22f)
  • protocol: reduce ring-buffer size to reduce proposer cost (#17383) (b335b70)
  • protocol: refactor tier providers and added minority-guardian provers to all providers (#17169) (cd51442)
  • protocol: remove a few cached addresses (#17346) (e79a367)
  • protocol: update L2 deployment (#17360) (e56e290)

Bug Fixes

  • protocol: add receive function to ProverSet (#17334) (161fd8b)
  • protocol: be more strict with changeBridgedToken (#17333) (8d14e84)
  • protocol: check special addresses in recallMessage (#17411) (304aec2)
  • protocol: fix a proving window check bug (#17376) (06f97d6)
  • protocol: fix AssignmentHook Ether payment issue (#17495) (0b1ab18)
  • protocol: fix bridge bugs in getMessageMinGasLimit (#17284) (859f854)
  • protocol: fix Bridge message.fee double spending bug (#17446) (1bd3285)
  • protocol: fix getTierProvider and apply additional gas optimization (#17488) (daa7aa7)
  • protocol: fix proving window logic (#17378) (9ad6691)
  • protocol: fix tier ID check issue in GuardianProver.approve() (#17170) (f3dc402)
  • protocol: remove receive function from Bridge (#17330) (4ef2847)
  • protocol: resolve conflict (#17504) (a2daec6)
  • protocol: take calldata into account when calculating gas charge (#17503) (b41faac)
  • protocol: verify target address is a contract address in DelegateOwner (#17328) (0c3c0e1)

Reverts

  • protocol: revert AssignmentHook to production version with only an event removed (#17512) (a4a9b98)

1.5.0 (2024-05-10)

Features

  • bridge-ui: release (#17071) (2fa3ae0)
  • protocol: add BridgedTaikoToken that inherits ERC20VotesUpgradeable (97a328e)
  • protocol: add PAUSE_BRIDGE env to DeployOnL1 script (#16927) (1045a55)
  • protocol: add PAUSE_TAIKO_L1 config to DeployOnL1 script (#16904) (d8c189f)
  • protocol: add bridge rate limiter for ETH and ERC20s (#16970) (d048a28)
  • protocol: allow contract owner to mint/burn bridged ERC20 tokens (besides ERC20Vault) (97a328e)
  • protocol: allow DelegateOwner to delegatecall for batching (#17022) (7e1374e)
  • protocol: allow first block proposer to skip EOA check signature (#16899) (f1c6b41)
  • protocol: allow resetting genesis hash on L1 before 1st block is proposed (#17078) (2b4816e)
  • protocol: bump GAS_RESERVE to 800_000 (#16840) (63035fd)
  • protocol: change min base fee to 0.01 gwei (#16914) (8028614)
  • protocol: change to transfer-and-burn pattern with NFT vaults (#17049) (22ac9ae)
  • protocol: disallow bridged token contract owner to trigger migration directly (must go through ERC20Vault) (97a328e)
  • protocol: disallow migration within 90 days post the previous migration (97a328e)
  • protocol: execute enableTaikoTokenAllowance in DeployOnL1 script (#16907) (83cdbe8)
  • protocol: fix vault name and symbol validation bug with more unit tests (#17013) (8532b77)
  • protocol: implement timestamp based checkpoints for TKO & BridgedERC20 (#16932) (56dddf2)
  • protocol: improve TransitionProved event to include previous prover and contester (#16967) (4b4a502)
  • protocol: make bridge processMessage return message's status and reason (277dade)
  • protocol: put automata dcap v3 ra behind proxy (#16867) (1282113)
  • protocol: remove more timelock related code (#17018) (88a13b6)
  • protocol: rename TierProviderV2 to TierProviderV3 and add a new TierProviderV2 (#16908) (0d5b685)
  • protocol: revert #16967 (#16973) (a937943)
  • protocol: safeguard possible failing calls (#16931) (0f6b6b5)
  • protocol: update L1 / L2 deployment scripts (#16913) (6f1194f)
  • protoocl: make BridgedERC20 no longer inherit ERC20VotesUpgradeable (97a328e)

Bug Fixes

  • protocol: allow AddressManager to reference self (#17070) (9fbfb84)
  • protocol: allow TaikoL1 to be paused when initialized (#16893) (22d5d42)
  • protocol: fix a deployment issue in TaikoL1 (#16897) (c8384f2)
  • protocol: fix a workflow issue (#16921) (a27fdbf)
  • protocol: fix address manager init (#17075) (b7bd29c)
  • protocol: fix bridge quota processing in processMessage (277dade)
  • protocol: fix metadata retrieval in vaults (#17003) (658775a)
  • protocol: fix vault test failures due to change of Bridge GAS_RESERVE (#16844) (bc8708e)
  • protocol: remove L1/gov/ in favor of Aragon's (#16933) (1573735)
  • protocol: revert "add batch transfer and burn for BridgedERC721 (#17058) (#17066) (84e3000)
  • protocol: revert adding batchBurn to IBridgedERC1155 (#17077) (4903bec)

1.4.0 (2024-04-25)

Features

  • protocol: add DeployTaikoToken script (#16771) (00f8954)
  • protocol: add a new tier B_TIER_GUARDIAN_MINORITY (#16790) (cab4071)
  • protocol: add a script to use native USDC token as the bridged token (#16812) (63fe93d)
  • protocol: add back EventProcessed event and improve gas logging in Bridge (#16760) (530457b)
  • protocol: allow GuardianProver set TKO allowance for TaikoL1 (#16831) (ce7076c)
  • protocol: increase GAS_OVERHEAD value based on testnet data (#16769) (fb9334c)
  • protocol: pause ERC20Vault by default on L2 so owner can deploy native USDC (#16791) (cd682a0)
  • protocol: redesign Bridge fee & gasLimit and remove 2-step processing (#16739) (3049b0c)
  • protocol: remove ERC20SnapshotUpgradeable from TaikoToken and BrigedERC20 tokens (#16809) (f20a02f)
  • protocol: trigger simultaneous recurring TKO snapshots (#16715) (bffc8dc)

Bug Fixes

  • protocol: change to transfer and mint pattern with BridgedERC20 tokens (#16796) (75841ec)
  • protocol: fix an issue in DevnetTierProvider (#16798) (2714dd2)
  • protocol: renounce timelock_admin role from msg.sender (#16751) (abd18e8)
  • protocol: revert auto snapshot PR (#16801) (ef00cae)

1.3.0 (2024-04-10)

Features

  • protocol: add TaikoL1.getTransition(blockId, transitionID) function (2c63cb0)
  • protocol: allow assigned prover to prove blocks outside proving window (liveness bond not returned) (2c63cb0)
  • protocol: allow bridge to fail a message by the owner without retrying it (#16669) (dce651e)
  • protocol: remove contestations from TransitionState and events (it's buggy) (2c63cb0)
  • protocol: use 35000 as gas limit for sending Ether in Brdge (#16666) (4909782)

Bug Fixes

  • protocol: add GovernorSettingsUpgradeable (#16687) (eba82ba)
  • protocol: check invocation gas limit also in retryMessage (#16660) (8209a43)
  • protocol: check no loops in multi-hop in Bridge (#16659) (447cd52)
  • protocol: fix potential 1271 signature replay if proposers are smart contracts (#16665) (2b27477)
  • protocol: return liveness bond only to assigned prover (2c63cb0)

1.2.0 (2024-04-05)

Features

  • protocol: add lastSyncedBlockId for L2 DAO vote aggregation (#16654) (edbae8d)
  • protocol: add a view function isSignalReceived for Bridge relayer/UI (#16591) (39d4be6)
  • protocol: add readonly functions isMessageFailed & isMessageReceived to Bridge (#16608) (2fbd948)
  • protocol: allow ERC20Airdrop.delegateBySig to fail (#16622) (d375cc1)
  • protocol: avoid proving-fee payment if amount is 0 (#16595) (761a066)
  • protocol: change INSTANCE_VALIDITY_DELAY to 0 at first (#16656) (86a41ac)
  • protocol: remove and clear proposedIn from TaikoData.Block (#16630) (511c18d)
  • protocol: remove banning address (#16604) (c4b705b)
  • protocol: remove the ETHDeposit feature completely (#16638) (643b4b1)

Bug Fixes

  • protocol: add 1 to _REENTRY_SLOT in EssentialContract (#16593) (a381ddd)
  • protocol: call _disableInitializers in AddressResolver's constructor. (#16564) (f137077)
  • protocol: check 63/64 gasleft() not smaller than specified gaslimit (#16613) (12f73cd)
  • protocol: check blob capability in LibProposing using LibNetwork.isDencunSupported (#16657) (e787493)
  • protocol: fix a SGX bug in pemCertChainLib (#16639) (83db3da)
  • protocol: fix bridge unpause will delay execution (#16612) (381f8b8)
  • protocol: fix Bridge.sol gap size (#16594) (5f75dd8)
  • protocol: fix ERC20Airdrop2.sol with an extended withdrawal window (#16596) (bc542d8)
  • protocol: fix guardian prover (#16606) (643bd17)
  • protocol: fix msg.sender == first_proposer bug (#16605) (b019975)
  • protocol: fix parent metahash check for the first block (#16607) (ce9e67b)
  • protocol: fix signature reuse bug (#16611) (ff2dc11)
  • protocol: fix supportsInterface in BaseVault, fix typo and visibility (#16600) (f6efe97)
  • protocol: revert removing proposedIn (being used by node/client) (#16644) (2c311e1)
  • protocol: use signature check to verify if msg.sender is EOA (#16641) (b853c08)
  • repo: typos (#16589) (8836e50)

1.1.0 (2024-03-29)

Features

  • protocol: Adjust proving reward to increase valid contestation ROI (37fa853)
  • protocol: allow L2 contracts to read L2's parent block timestamp (#16425) (9b79359)
  • protocol: allow minGuardians be any value between 0 and numGuardians (#16384) (0b1385e)
  • protocol: Emit event for client / node (Requested by Huan) (37fa853)
  • protocol: enable EIP712 signature for TimelockTokenPool (#16335) (d93e4c5)
  • protocol: improve _authorizePause for Bridge (#16544) (f76c705)
  • protocol: Improve Bridge _proveSignalReceived code readability (37fa853)
  • protocol: Improve bridged nft tokens (37fa853)
  • protocol: Improve L2 1559 fee calculation code (37fa853)
  • protocol: Introduce DelegateOwner to become the owner of all L2 contracts (37fa853)
  • protocol: Make each transition contesting only dependent on it's own cooldown period (37fa853)
  • protocol: Make testnets and mainnet have the same bridge configuration (37fa853)
  • protocol: Rename tier providers (37fa853)
  • protocol: risc0 verifier contract (#16331) (17abc18)
  • protocol: Update chain id for the upcoming Hekla testnet (37fa853)
  • protocol: Upgrade solhint to 4.5.2 (37fa853)
  • protocol: upgrade to use OZ 4.9.6 (#16360) (2a0fe95)
  • relayer: two-step bridge + watchdog + full merkle proof (#15669) (1039a96)

Bug Fixes

  • protocol: add address manager to taiko token (#16394) (c64ec19)
  • protocol: fix a bug in changeBridgedToken (#16403) (42c279f)
  • protocol: Fix a proving bug when top-tier re-approves top-tier (reported by OpenZeppelin and Code4rena) (37fa853)
  • protocol: fix bridge bug caused by incorrect check of receivedAt (by OZ) (#16545) (c879124)
  • protocol: fix bridge prove message issue using staticcall (#16404) (dd57560)
  • protocol: fix custom coinbase transferFrom issue (alternative) (#16327) (7423ffa)
  • protocol: Fix genesis script by add missing state variables (reported by OpenZeppelin) (37fa853)
  • protocol: Fix or improve comments (reported by Code4rena) (37fa853)
  • protocol: Fix sender EOA check (reported by OpenZeppelin) (37fa853)
  • protocol: make snapshot return value (#16436) (dcae54a)
  • protocol: Make each transition contesting only dependent on it's own cooldown period (reported by OpenZeppelin) (37fa853)
  • protocol: remove the blob-reuse feature (284447b)

1.0.0 (2024-03-01)

⚠ BREAKING CHANGES

  • protocol: fix typos (#16189)
  • protocol: enforce naming convention (#16168)
  • protocol: improve signal service and remove ICrossChainSync (#15859)
  • protocol: re-implement multi-hop bridging with optional caching (#15761)
  • protocol: improve protocol based on Brecht's internal review (#15740)

Features

  • protocol, relayer: Improved Taiko Protocol and Relayer Documentations (#15440) (67ca2e1)
  • protocol: add acceptOwnership method in deployOnL1 (#16103) (745d7d3)
  • protocol: add AuthorizeTaikoForMultihop script (#15888) (45aff8e)
  • protocol: add LibTiers.TIER_GUARDIAN to OptimisticTierProvider (#15647) (ee5c855)
  • protocol: add OptimisticTierProvider for client testing (#15645) (6569264)
  • protocol: add UpgradeTierProvider script (#16017) (a01da46)
  • protocol: add ERC20Airdrop test and deployment script (#15752) (e60588c)
  • protocol: add GuardianApproval event to GuardianProver (#15817) (78f0481)
  • protocol: add message owner parameter to vault operations (#15770) (136bdb7)
  • protocol: add one missing replaceUUPSImmutableValues in genesis generation script (#15479) (24d73e7)
  • protocol: Add parent's metaHash to assignment (#15498) (267e9a0)
  • protocol: add QuillAudits report (#16186) (b0ce62e)
  • protocol: Add TaikoGovernor (#15228) (f4a007b)
  • protocol: add various small fixes based on quill report (#16031) (1f46b33)
  • protocol: Add votes and snapshot plugin (#15732) (45b549b)
  • protocol: added test case for ERC721Airdrop (#16025) (c8f6e9b)
  • protocol: adopt optimism new trie codebase (#15608) (f5e7ee1)
  • protocol: allow bridge to ban addresses (#15577) (17b074b)
  • protocol: allow disabling block reuse (#15916) (0f314c5)
  • protocol: allow one-tx claim and delegation for bridged ERC20 tokens (#15727) (603f24b)
  • protocol: allow setting L2 coinbase (#15743) (e3fde54)
  • protocol: Based Contestable Rollup with multi-proofs and multi-hop bridging (#14705) (28000b3)
  • protocol: change cooldown and proving window to minutes (#16063) (f064224)
  • protocol: check 4844 staticcall return values (TKO-22) (#15574) (00a9cd7)
  • protocol: check if addresses ever reregistered in SGXProver (#15665) (27c86c1)
  • protocol: enable remote attestation in SGX prover (#15559) (95159d6)
  • protocol: enable strike price to token grants (#15522) (baefaef)
  • protocol: enforce an invocation delay for bridged messages (#15555) (59c322d)
  • protocol: enforce initializer call with onlyInitializing modifier (#16061) (f3d7d82)
  • protocol: extend SignalService interface (#15969) (d90e90a)
  • protocol: fix an function selector issue in AddSGXVerifierInstances (#15392) (3bf2a01)
  • protocol: fix issues in AssignmentHook (#15486) (a394abd)
  • protocol: Fix new token migration change (#15470) (a7a93c1)
  • protocol: fix signal service multi-hop proof verification bugs (#15680) (b46269c)
  • protocol: force nonzero blockhash and signalroot (#15538) (bc0ca8d)
  • protocol: get rid of new compiler warnings (#15613) (ccee985)
  • protocol: getBlock also returns the transition used to verify the block (#15917) (e583d99)
  • protocol: grant securityCouncil the PROPOSER role (#15355) (d50b276)
  • protocol: improve protocol based on Brecht's internal review (#15740) (791b139)
  • protocol: improve signal service and remove ICrossChainSync (#15859) (58ffe10)
  • protocol: make getInvocationDelays return non-zero values for base chains (#15968) (bb8aaf4)
  • protocol: move prover assignment verification to hook (#15208) (d61af90)
  • protocol: multiple improvements & bug fixes (#15255) (337c57c)
  • protocol: One grant per address (#15558) (0e24d2d)
  • protocol: re-implement multi-hop bridging with optional caching (#15761) (a3a12de)
  • protocol: remove hardhat dependency (#15442) (b0ce57e)
  • protocol: reserve 2 slots for TaikoData.Transition (#15716) (8099bd1)
  • protocol: Sgx improvements (#15514) (47b07bb)
  • protocol: sync state root rather than signal service's storage root (#15671) (ea33e65)
  • protocol: update AuthorizeTaikoForMultihop script (#16147) (0b1aa8b)
  • protocol: update PlonkVerifier for A6 (#15388) (a510639)
  • protocol: update SetRemoteBridgeSuites to register remote signal services (#15982) (11af1cc)
  • protocol: update a protocol comment (#15493) (45e79e3)
  • protocol: update signal service ownership transfer check in DeployOnL1 (#16080) (06a774e)
  • protocol: upgrade scripts for new proxies (#15452) (37e6b62)
  • protocol: USDCAdaptor deployment script + documentation (#15478) (f4b0955)
  • protocol: use blobhash() and remove BlobHashReader.yulp (#15610) (d886ad7)
  • protocol: use Ownable2StepUpgradeable for better security (#16029) (9cbfd08)
  • protocol: Use taikoL2's address as the treasury address in circuits (#15350) (161f4c6)

Bug Fixes

  • bug: handle message.to == signal_service (#15385) (cc2b66c)
  • fix an issue in SetRemoteBridgeSuites (1783b5e)
  • fix SetRemoteBridgeSuites (#15312) (ed91300)
  • fix typos in tests and comments (#15028) (54bf597)
  • protocol: add access control to BridgedERC20Base.burn (TKO-08 ) (#15566) (9004b04)
  • protocol: add delete-instance function (TKO16) (#15629) (a62a137)
  • protocol: address miscellaneous feedbacks from Sigma Prime (TKO26) (#15600) (760d3dc)
  • protocol: allow proposing when proving is paused (#15796) (6b46943)
  • protocol: block reusability check error fixed (TKO-18) (#15572) (27ce911)
  • protocol: Correct decoding (TKO-03) (#15582) (dc46b27)
  • protocol: Deposit ether reentrancy (TKO-14) (#15569) (7327ff0)
  • protocol: disallow duplicate hooks (#15492) (5bf916d)
  • protocol: fix Bridge bug in retrying message (#15403) (8cb9a64)
  • protocol: fix bridge token transfer check (#15422) (a31b91a)
  • protocol: fix bug in LibBytesUtils.toBytes32 (TKO-07) (#15565) (6def8a3)
  • protocol: fix build error (#15973) (f53130c)
  • protocol: fix chainid check to allow the case where chainid = type(uint64).max to still be valid, per the implied intention of type downcasting (#15792) (a401622)
  • protocol: fix cooldown/proof window caused by pausing (TKO-12) (#15585) (b2176d3)
  • protocol: fix cooldown/proof window caused by pausing proving (again) (#15616) (e43b512)
  • protocol: fix encode eth deposit check (#15793) (005a37a)
  • protocol: fix governor bravo vulnerability (#15947) (a631be6)
  • protocol: fix guardian prover bug (#15528) (ff8690e)
  • protocol: fix isSignalSent bug (#15970) (c001cfb)
  • protocol: fix LibTrieProof.verifyMerkleProof by RLP-encoding the byte32 value first (#16018) (e1f21c1)
  • protocol: fix recall not working with bridged tokens (#15679) (dd2c33d)
  • protocol: fix revert reading blockhash (TKO-19) (#15570) (465f7f4)
  • protocol: fix singla service cannot be shared by multiple taiko L1/L2 contracts bug (#15807) (a652ae8)
  • protocol: fix some file names of the proxy upgrade scripts (#15463) (3430d89)
  • protocol: Fix taiko token domain separator (#15717) (6e2771c)
  • protocol: improve bridge _proveSignalReceived and fix genesis test (#15641) (15f6995)
  • protocol: mandate bridge message only calls onMessageInvocation (#15996) (f7a12b8)
  • protocol: need to fix a bug in LibTrieProof (or its test) (#15739) (ac1ca31)
  • protocol: new way to calculate meta.difficulty (TKO-11) (#15568) (8c4b48e)
  • protocol: Non-recursive abi.encode for Zk Verifier (#15344) (8fc51b4)
  • protocol: oz - use excessivelySafeCall instadd of to.call(...) (#16145) (8d79dde)
  • protocol: prove signal with full merkle proofs against block state roots (#15683) (e2f4bc2)
  • protocol: remove an unused event (#16054) (c7cca7d)
  • protocol: replace __self in bytecode for all EssentialContracts when generating genesis JSON (#15476) (552e983)
  • protocol: set initial owner in the init() function without acceptOwnership (#16071) (63cd7d3)
  • protocol: sync submodule commits (#15656) (986cb63)
  • protocol: tstore is not suppported on L2 now (#15802) (f44698e)
  • protocol: update amounts emitted to match length with tokenIds (#15898) (bfa0ca2)
  • protocol: use IERC721Upgradeable instead of ERC721Upgradeable under ERC721Airdrop (#16059) (b9ee868)
  • protocol: Use safeMint with ERC721 (#15636) (c12e2d7)
  • protocol: use safeTransferFrom (TKO-09) (#15567) (30d771c)
  • repo: fix some typos (#15021) (5d5b72d)

Reverts

  • protocol: revert update open-zeppelin contracts (#15896) (994e29e)

Documentation

Miscellaneous Chores

0.15.2 (2023-10-18)

Bug Fixes

0.15.1 (2023-10-03)

Bug Fixes

0.15.0 (2023-09-25)

Features

  • protocol: make L2 1559 config upgradable (#14715) (ee26881)
  • protocol: Modify LibProposing to accept oracle as assigned prover (#14695) (52a50b7)
  • protocol: update PlonkVerifier based on current public input (#14647) (9808185)

Bug Fixes

  • protocol: Remove duplicated events during mint and burn (#14686) (3ff0018)

0.14.0 (2023-09-05)

Features

  • protocol: remove an unused flag in DeployOnL1 script (#14589) (a42c17a)
  • protocol: validate instance the old way (#14639) (8e8601b)

Bug Fixes

0.13.0 (2023-08-15)

Features

  • protocol: alpha-4 with staking-based tokenomics (#14065) (1eeba9d)
  • protocol: Gas limit behavior changes (#14339) (06710eb)
  • protocol: LibFixedPointMath contract library license different MAX_EXP_INPUT values (#14344) (c6e391d)

Bug Fixes

  • protocol: Fix ProverPool bug, clear proverId when exit (#14411) (8dd7481)

0.12.0 (2023-07-24)

Features

  • website: Docs Taiko L2 EIP-1559 high level overview (#14187) (ac52f57)

Bug Fixes

0.11.0 (2023-07-10)

Features

  • protocol: update PlonkVerifier for new L3 circuits (#14023) (9d7bc39)

0.10.0 (2023-06-26)

Features

  • protocol: use ring buffer for ETH deposit and optimize storage (#13868) (acffb61)

0.9.0 (2023-06-12)

Features

Bug Fixes

0.8.0 (2023-05-26)

Features

  • protocol: Add a setter where all fee calc params can be set with one go (#13816) (a78a2f8)
  • protocol: add overridable getEIP1559Config() to TaikoL2 (#13815) (e15a9c1)
  • protocol: Add reward and fee fields to events (#13808) (10be2fb)
  • protocol: Add setter to IAddressManager of AddressResolver (#13799) (34de89c)
  • protocol: do not allow using owner() as named address in AddressManager (#13771) (12c810f)
  • protocol: Move proofTimeTarget to state var and adjust scripts/tests (#13769) (40086b1)
  • protocol: Scale up damping factor and flatten curve (#13809) (b1dcb59)
  • protocol: update PlonkVerifier (#13805) (6f9f022)
  • protocol: update PlonkVerifier based on the latest circuits changes (#13767) (a9305d5)
  • protocol: update PlonkVerifer (#13741) (523f95b)

Bug Fixes

0.7.0 (2023-05-11)

Features

Bug Fixes

0.6.1 (2023-04-08)

Bug Fixes

0.6.0 (2023-03-29)

Features

Bug Fixes

0.5.0 (2023-03-15)

Features

  • protocol: let PlonkVerifier return keccak256("taiko") (#13277) (8ca632c)
  • protocol: optimize gas for processMessage & retryMessage (#13181) (178e382)
  • protocol: tokens can only mint once (#13252) (72d152b)
  • protocol: update LibBlockHeader to hash post Shanghai fork blocks (#13278) (2e34634)

Bug Fixes

  • protocol: fix config.slotSmoothingFactor and getTimeAdjustedFee bug (#13293) (18f3d9f)
  • protocol: make download solc script can run outside the protocol dir (#13263) (7cd7787)
  • protocol: Wrong calculation when minting ERC20 tokens (#13250) (5920b7e)

0.4.0 (2023-03-01)

Features

  • protocol: add isEtherReleased to Bridge (#13204) (f39e65d)
  • protocol: Additional integration tests, solidity bump, reduce ERC20Vault contract size (#13155) (ffdf5db)
  • protocol: Change require to custom err in bridge contracts (#13220) (6e8cb82)
  • protocol: Deploy a FreeMintERC20 and a MayFailFreeMintERC20 on deploy of L1 (#13222) (0d3e769)
  • protocol: disable contracts as msg.sender (#13206) (66316e9)
  • protocol: make custom errors in L1 libs a part of the TaikoL1.sol's ABI (#13166) (2943e3e)
  • protocol: partially randomize prover reward (#13184) (16993cd)
  • protocol: update PlonkVerifier to accept new public inputs (#13208) (9804099)

Bug Fixes

0.3.0 (2023-02-15)

Features

  • protocol: add a script to calculate slotSmoothingFactor (#13109) (61dbc23)
  • protocol: add more protocol/tokenomics tests (#12988) (3a7523f)
  • protocol: change statevariables to return a struct (#13113) (0bffeb0)
  • protocol: check message.to on source chain as well (#13107) (b55a646)
  • protocol: deploy a test ERC-20 token to test bridge (#13132) (95596e4)
  • protocol: improve precision for slot-availability multipliers (#13108) (3ed5138)
  • protocol: no longer delete commit records (#13152) (edbdd3d)
  • protocol: re-implement bridge receive check (#13134) (3c10706)
  • protocol: restrict receive()'s msg.sender to vaults (#13110) (2d8fa12)
  • protocol: revert Bridge receive() checks (#13128) (675611d)
  • protocol: update Yul PlonkVerifier (#13133) (5d9b063)

Bug Fixes

  • protocol: allow resolver to return zero address for EtherVault (#13083) (cb34cf0)

0.2.0 (2023-01-31)

Features

  • protocol: add proto_broker / oracle_prover addresses into AddressManager in deploy_L1 script (#13079) (f3bea40)
  • protocol: add special logics for alpha-2 testnet (#12987) (3b71285)
  • protocol: deploy the generated Yul plonk verifier (#13016) (eb5d564)
  • protocol: enable two dimensional circuit/verifier lookup. (#13066) (51d1f67)
  • protocol: implement Bridge.proveMessageFailed (#13004) (45153d9)
  • protocol: implement releaseEther & releaseERC20 (#13008) (088933e)
  • protocol: improve sync header storage on L2 (#13041) (86c9fe4)
  • protocol: temporarily force an oracle prover to be the first prover (#13070) (d7401a2)

Bug Fixes

  • protocol: fix test:integration waiting node timeout (#13006) (07debb7)
  • protocol: fix a downloading solc binary script bug (#13074) (8167e9d)
  • protocol: fix two protocol bugs (#13034) (1bfa69b)
  • protocol: update ProofVerifier address name in AddressManager (#13063) (4144f4b)

0.1.0 (2023-01-19)

Features

  • bridge: add messageStatusSlot function (#12940) (9837fa3)
  • bridge: bridge transactions (#411) (19dd7ab)
  • bridge: implement the bridge relayer (#191) (9f49e4c)
  • deployment: fund L1 bridge (#400) (e7ef53e)
  • docs: autocommit changes to solidity docs and omit private state vars and functions (#490) (dbf8db9)
  • genesis: support deterministic L2 pre-deployed contract addresses (#358) (cd34f17)
  • migrate to nextra (#12947) (ac11959)
  • protocol: add TaikoL1.getBlockProvers (#340) (c54f810)
  • protocol: allow empty L2 blocks (#406) (6d1abf7)
  • protocol: allow whitelisting proposers (#375) (80b99a4)
  • protocol: enhance ZKP handling & change proofs order (#288) (5fdfdfa)
  • protocol: expose getUncleProofDelay function (#7058) (dd0f011)
  • protocol: implement & simulate tokenomics (#376) (191eb11)
  • protocol: invalidBlock must from golden touch address with 0 gasprice (#482) (ecb9cc5)
  • protocol: preprocess variables for test (#445) (31584b4)
  • protocol: whitelist provers & temporarily disable coverage check (#296) (06ceee2)
  • ui: Template / initial repo for UI (#304) (a396511)

Bug Fixes

  • bridge: Token Vault sendEther messages with processing fees are impossible to send (#277) (10d9bbc)
  • pnpm: conflict with eslint command and use pnpm instead of npm (#273) (134cd5a)
  • preprocess: fix hardhat preprocessor configs (#368) (8bdbb3e)
  • protocol: Add EtherTransferred event to EtherVault #12971 (5791f3a)
  • protocol: fix BlockVerified event (#381) (fe479c8)
  • protocol: fix ERC20Vault.sendERC20 (#420) (d42b953)
  • protocol: fix an occasional error in test:tokenomics (#12950) (005364c)
  • protocol: Fix bug in getBlock (#11679) (a6a596c)
  • protocol: let LibZKP.verify return true (#12676) (d0f17a6)
  • protocol: Remove enableDestChain functionality (#12341) (362d083)
  • protocol: update avg proof time and avg block time (#391) (3681483)
  • test: fix the occasional noNetwork error in integration tests (#7562) (a8e82d5)
  • test: fix two occasional errors when running bridge tests (#305) (fb91e0d)
  • test: Fixed integration test case (#483) (4b0893e)
  • test: making tests type-safe (#318) (66ec7cc)
  • tests: cleanup tests to prepare for tokenomics testing (#11316) (d63fae3)