1.0.0 (2024-03-01)
⚠ BREAKING CHANGES
- 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)
- protocol: sync state root rather than signal service's storage root (#15671) (ea33e65)
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
toOptimisticTierProvider
(#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
thePROPOSER
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: 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 removeBlobHashReader.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: imporve 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 allEssentialContract
s 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)
- protocol: fix typos (#16189)