1.9.0 (2024-09-12)
- protocol: add
DevnetTaikoL1
(#17900) (d864cea) - protocol: add
proveBlocks
method toProverSet
(#18025) (36a2ae5) - protocol: add
proveBlocks
to TaikoL1.sol (fe687b3) - protocol: add
TIER_ZKVM_RISC0
tier andHeklaTierProvider
(#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 taikoxyz#17654 (with some renaming) (taikoxyz#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)
- protocol: fix
chainId
inHeklaTaikoL1
(#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)
- main: release protocol 1.9.0 (#17783) (7bfd28a)
- main: release protocol 1.9.0 (#18051) (2547ba9)
- 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 inDeployOnL1
(#17927) (cf1a15f) - protocol: revert releasing protocol 1.9.0 (#17783) (#18049) (c033810)
- docs-site: address docs and scripts friction points (#17815) (c74968b)
- protocol: add L2
DelegateOwner
address in Hekla deployment docs (#17925) (fdec8db) - protocol: update
tier_router
with compatibility modifications (#18028) (c43cb0c) - protocol: update hekla change log about
tier_router
(#18023) (11e27d6) - protocol: update hekla change log about sp1 (#18020) (434bf3c)
- protocol: update Hekla deployment (#17845) (d95cc36)
- protocol: update Hekla deployment (#17924) (46a3e00)
- protocol: update Hekla deployments (#17975) (c96627f)
- protocol: update L1 deployment (#17789) (a889f1a)
- protocol: update L1 deployment (#17804) (25ace9b)
- protocol: update L1 deployment (#17812) (5b43df1)
- protocol: update L1 deployment (#17817) (311c948)
- protocol: update mainnet deployment (#17846) (ba6bf94)
- protocol: update mainnet deployment (#17847) (92344df)
- protocol: upgrade sp1 verifier in hekla (#18027) (de27e6e)
- 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
, andproposedIn
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)
- protocol: add test case of risc0 groth16 (#17904) (90bc01d)
- taiko-client: use env names which defined in flag configs (#17921) (196b74e)
1.8.0 (2024-07-11)
- 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 inL1RollupAddressManager
(#17717) (57c8dc0)
- 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)
- protocol: check in data for the first token grant exercise (#17707) (d2b00ce)
- protocol: give more slots for verified blocks in ring buffer (#17762) (8d6d489)
- docs-site,protocol: deploy proverset guide and scripts (#17702) (a3e1cf7)
- docs-site,protocol: streamline ProverSet deployment (#17730) (919cb4c)
- protocol: add more token unlock contracts (#17749) (8c8c7d2)
- protocol: deploy more token unlock contract (#17763) (30631a9)
- protocol: transfer Hekla ownerships (#17766) (e524782)
- protocol: update Hekla deployment (#17646) (fc12586)
- protocol: update Hekla deployment (#17780) (b3331d3)
- protocol: update L1 deployment (#17736) (6fc318a)
- protocol: update L2 deployment (#17689) (71eea3f)
- 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)
- 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)
- 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)
- protocol: add assumption desc. for IBridgedERC20 (#17546) (7fa3b55)
- protocol: update TAIKO symbol in protocol deployment logs (#17555) (04bb81e)
- protocol: add open_zeppelin_taiko_protocol_audit_june_2024.pdf (#17621) (03cff67)
- protocol: update Hekla deployment (#17543) (98beab8)
- protocol: update Hekla deployment (#17592) (6bcda30)
- protocol: update L1 deployment (#17513) (006e522)
- protocol: avoid unnecessary Signal Service call (#17516) (9fac584)
- protocol: optimize storage reads/writes in proveBlock (#17532) (ba5c25b)
1.6.0 (2024-06-07)
- protocol,supplementary-contracts: relocate & allow TokenUnlock to deploy and own ProverSets (#17251) (f3d6ca1)
- protocol: add
ITierRouter
interface toDevnetTierProvider
(#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
inDeployOnL1
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)
- 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)
1.5.0 (2024-05-10)
- bridge-ui: release (#17071) (2fa3ae0)
- protocol: add
BridgedTaikoToken
that inheritsERC20VotesUpgradeable
(97a328e) - protocol: add
PAUSE_BRIDGE
env toDeployOnL1
script (#16927) (1045a55) - protocol: add
PAUSE_TAIKO_L1
config toDeployOnL1
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
to800_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
inDeployOnL1
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
toTierProviderV3
and add a newTierProviderV2
(#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)
- 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)
- 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)
- 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)
- 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
fromTransitionState
and events (it's buggy) (2c63cb0) - protocol: use 35000 as gas limit for sending Ether in Brdge (#16666) (4909782)
- 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)
- 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
to0
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)
- 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)
- 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)
- 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)
- 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)
- 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
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
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: 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 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: 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 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)
0.15.2 (2023-10-18)
0.15.1 (2023-10-03)
0.15.0 (2023-09-25)
- 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)
0.14.0 (2023-09-05)
- protocol: remove an unused flag in
DeployOnL1
script (#14589) (a42c17a) - protocol: validate
instance
the old way (#14639) (8e8601b)
- protocol: block reward must be minted (#14595) (e92b1da)
- protocol: change transition ID from uint16 to uint32 (#14620) (c8969b6)
- protocol: remove proof from calcInstance calculation (#14623) (2eedc33)
- protocol: revert impl deployment V2 (#14621) (7e59e0b)
0.13.0 (2023-08-15)
- 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)
0.12.0 (2023-07-24)
0.11.0 (2023-07-10)
0.10.0 (2023-06-26)
0.9.0 (2023-06-12)
- protocol: fix issue for fee-collecting eth-deposit (#13864) (c53b135)
- protocol: hash deposit IDs (#13853) (d3aea36)
0.8.0 (2023-05-26)
- 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)
- protocol: fix
TaikoL1.init()
call arguments inDeployOnL1
script (#13774) (7bffff4) - protocol: Fix name mismatch(build) issue (#13803) (e55e39a)
- protocol: rename treasure to treasury (#13780) (ccecd70)
- protocol: Replace LibEthDeposit assembly (#13781) (285c756)
- relayer: Out of gas (#13778) (a42a33b)
0.7.0 (2023-05-11)
- protocol: add parentGasUsed to blockproven (#13704) (2ce8787)
- protocol: add TaikoGovernor and improve TaikoToken (#13711) (ad75cd5)
- protocol: Change back token decimals (#13707) (82f1677)
- protocol: Introduce oracle prover concept (#13729) (e8ba716)
- protocol: L2/L3 contracts proxied (#13725) (7e6291f)
- protocol: major protocol upgrade for alpha-3 testnet (#13640) (02552f2)
- protocol: make sure system proof delay is proofTimeTarget (#13742) (c359dd9)
- protocol: allow Bridge to receive ETHs from TaikoL1 (#13737) (a75609c)
- protocol: fix deployonl1 script (#13740) (ec5349a)
0.6.1 (2023-04-08)
0.6.0 (2023-03-29)
- protocol: merge alpha 2 to main (#13369) (2b9cc64)
- relayer: merge alpha-2 to main (#13376) (3148f6b)
0.5.0 (2023-03-15)
- protocol: let
PlonkVerifier
returnkeccak256("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)
- 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)
- 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)
- protocol: fix
PlonkVerifier
's name inAddressManager
(#13229) (7170bd9) - protocol: fix occasional test failure (#13173) (3aaf5dd)
- protocol: use prevrandao for L2 mixHash (#13157) (93daca4)
0.3.0 (2023-02-15)
- 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)
0.2.0 (2023-01-31)
- protocol: add
proto_broker
/oracle_prover
addresses intoAddressManager
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)
- 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 inAddressManager
(#13063) (4144f4b)
0.1.0 (2023-01-19)
- 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)
- 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
returntrue
(#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)