Skip to content

Latest commit

 

History

History
410 lines (296 loc) · 53.5 KB

CHANGELOG.md

File metadata and controls

410 lines (296 loc) · 53.5 KB

Changelog

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 replaceUUPSImmutableVaules 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)