From 9af9bdd4e1e726699ea3c4f5aabd25a1f9b61d84 Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Tue, 7 May 2024 18:43:36 +0800 Subject: [PATCH 01/11] Update DeployL1QuotaManager.s.sol --- packages/protocol/script/DeployL1QuotaManager.s.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/protocol/script/DeployL1QuotaManager.s.sol b/packages/protocol/script/DeployL1QuotaManager.s.sol index 3fb752002a9..a221e79eadd 100644 --- a/packages/protocol/script/DeployL1QuotaManager.s.sol +++ b/packages/protocol/script/DeployL1QuotaManager.s.sol @@ -27,8 +27,8 @@ contract DeployL1QuotaManager is DeployCapability { }) ); - // L2-to-L1 Ether per 15 minutes: 500 Ether - qm.updateQuota(address(0), 250 ether); + // L2-to-L1 Ether per 15 minutes: 100 Ether + qm.updateQuota(address(0), 100 ether); // L2-to-L1 TKO per 15 minutes: 100_000 (0.01% total supply) qm.updateQuota(0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800, 100_000 ether); From bce63d3d1a40c8bcf764849e588f7d952aa8f4c2 Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Tue, 7 May 2024 18:43:56 +0800 Subject: [PATCH 02/11] change ETH quota to a smaller value --- packages/protocol/contracts/L1/TaikoData.sol | 2 +- packages/protocol/script/DeployERC20Airdrop.s.sol | 2 +- packages/protocol/script/DeployOnL1.s.sol | 6 +++--- packages/protocol/test/L2/TaikoL2.t.sol | 2 +- packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol | 2 +- .../test/automata-attestation/common/AttestationBase.t.sol | 2 +- packages/protocol/test/bridge/Bridge.t.sol | 2 +- packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol | 4 ++-- packages/protocol/test/tokenvault/BridgedERC20.t.sol | 2 +- packages/protocol/test/verifiers/RiscZeroVerifier.t.sol | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/protocol/contracts/L1/TaikoData.sol b/packages/protocol/contracts/L1/TaikoData.sol index 2c816af1773..a9b0adc6ed4 100644 --- a/packages/protocol/contracts/L1/TaikoData.sol +++ b/packages/protocol/contracts/L1/TaikoData.sol @@ -163,7 +163,7 @@ library TaikoData { mapping( uint64 blockId_mod_blockRingBufferSize => mapping(uint32 transitionId => TransitionState ts) - ) transitions; + ) transitions; // Ring buffer for Ether deposits bytes32 __reserve1; SlotA slotA; // slot 5 diff --git a/packages/protocol/script/DeployERC20Airdrop.s.sol b/packages/protocol/script/DeployERC20Airdrop.s.sol index 70d0f7f3d42..cd640a02396 100644 --- a/packages/protocol/script/DeployERC20Airdrop.s.sol +++ b/packages/protocol/script/DeployERC20Airdrop.s.sol @@ -37,7 +37,7 @@ contract DeployERC20Airdrop is DeployCapability { impl: address(new ERC20Airdrop()), data: abi.encodeCall( ERC20Airdrop.init, (address(0), 0, 0, bytes32(0), bridgedTko, vaultAddress) - ) + ) }) ); diff --git a/packages/protocol/script/DeployOnL1.s.sol b/packages/protocol/script/DeployOnL1.s.sol index 751379e4632..fe0577c4d5e 100644 --- a/packages/protocol/script/DeployOnL1.s.sol +++ b/packages/protocol/script/DeployOnL1.s.sol @@ -152,7 +152,7 @@ contract DeployOnL1 is DeployCapability { impl: address(new TaikoToken()), data: abi.encodeCall( TaikoToken.init, (owner, vm.envAddress("TAIKO_TOKEN_PREMINT_RECIPIENT")) - ), + ), registerTo: sharedAddressManager }); } @@ -263,7 +263,7 @@ contract DeployOnL1 is DeployCapability { vm.envBytes32("L2_GENESIS_HASH"), vm.envBool("PAUSE_TAIKO_L1") ) - ), + ), registerTo: rollupAddressManager }); @@ -330,7 +330,7 @@ contract DeployOnL1 is DeployCapability { impl: automateDcapV3AttestationImpl, data: abi.encodeCall( AutomataDcapV3Attestation.init, (owner, address(sigVerifyLib), address(pemCertChainLib)) - ), + ), registerTo: rollupAddressManager }); diff --git a/packages/protocol/test/L2/TaikoL2.t.sol b/packages/protocol/test/L2/TaikoL2.t.sol index 3665c3cf43a..eadb14a6f38 100644 --- a/packages/protocol/test/L2/TaikoL2.t.sol +++ b/packages/protocol/test/L2/TaikoL2.t.sol @@ -49,7 +49,7 @@ contract TestTaikoL2 is TaikoTest { impl: address(new TaikoL2EIP1559Configurable()), data: abi.encodeCall( TaikoL2.init, (address(0), addressManager, l1ChainId, gasExcess) - ), + ), registerTo: addressManager }) ) diff --git a/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol b/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol index 6a10e25d6cf..8b21fbaf56f 100644 --- a/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol +++ b/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol @@ -49,7 +49,7 @@ contract TestTaikoL2NoFeeCheck is TaikoTest { impl: address(new SkipBasefeeCheckL2()), data: abi.encodeCall( TaikoL2.init, (address(0), addressManager, l1ChainId, gasExcess) - ), + ), registerTo: addressManager }) ) diff --git a/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol b/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol index 453d7d66470..4133197796c 100644 --- a/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol +++ b/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol @@ -61,7 +61,7 @@ contract AttestationBase is Test, DcapTestUtils, V3QuoteParseUtils { data: abi.encodeCall( AutomataDcapV3Attestation.init, (admin, address(sigVerifyLib), address(pemCertChainLib)) - ) + ) }) ); diff --git a/packages/protocol/test/bridge/Bridge.t.sol b/packages/protocol/test/bridge/Bridge.t.sol index 0cf597e4579..33caf89b67a 100644 --- a/packages/protocol/test/bridge/Bridge.t.sol +++ b/packages/protocol/test/bridge/Bridge.t.sol @@ -93,7 +93,7 @@ contract BridgeTest is TaikoTest { impl: address(new DelegateOwner()), data: abi.encodeCall( DelegateOwner.init, (mockDAO, address(addressManager), l1ChainId) - ) + ) }) ) ); diff --git a/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol b/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol index ac33e319356..1222a7cf9e9 100644 --- a/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol +++ b/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol @@ -102,7 +102,7 @@ contract TestERC20Airdrop is TaikoTest { data: abi.encodeCall( BridgedERC20.init, (address(0), address(addressManager), randAddress(), 100, 18, "TKO", "Taiko Token") - ) + ) }) ); @@ -129,7 +129,7 @@ contract TestERC20Airdrop is TaikoTest { data: abi.encodeCall( ERC20Airdrop.init, (address(0), claimStart, claimEnd, merkleRoot, address(token), address(vault)) - ) + ) }) ); diff --git a/packages/protocol/test/tokenvault/BridgedERC20.t.sol b/packages/protocol/test/tokenvault/BridgedERC20.t.sol index 80470c70644..6c92727d8c3 100644 --- a/packages/protocol/test/tokenvault/BridgedERC20.t.sol +++ b/packages/protocol/test/tokenvault/BridgedERC20.t.sol @@ -131,7 +131,7 @@ contract TestBridgedERC20 is TaikoTest { data: abi.encodeCall( BridgedERC20.init, (owner, address(manager), srcToken, srcChainId, srcDecimals, name, name) - ), + ), registerTo: manager }) ); diff --git a/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol b/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol index 75eb16dd2d0..77c719d8a2e 100644 --- a/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol +++ b/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol @@ -48,7 +48,7 @@ contract TestRiscZeroVerifier is TaikoL1TestBase { data: abi.encodeCall( RiscZeroVerifier.init, (address(0), address(addressManager), address(riscZeroRemoteVerifier)) - ) + ) }) ); From bbc1da2c92966a0bb9dcf6c44b88b545f6af51cb Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Tue, 7 May 2024 18:47:25 +0800 Subject: [PATCH 03/11] Update DeployL1QuotaManager.s.sol --- packages/protocol/script/DeployL1QuotaManager.s.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/protocol/script/DeployL1QuotaManager.s.sol b/packages/protocol/script/DeployL1QuotaManager.s.sol index a221e79eadd..f99f8aa7658 100644 --- a/packages/protocol/script/DeployL1QuotaManager.s.sol +++ b/packages/protocol/script/DeployL1QuotaManager.s.sol @@ -27,8 +27,8 @@ contract DeployL1QuotaManager is DeployCapability { }) ); - // L2-to-L1 Ether per 15 minutes: 100 Ether - qm.updateQuota(address(0), 100 ether); + // L2-to-L1 Ether per 15 minutes + qm.updateQuota(address(0), 50 ether); // L2-to-L1 TKO per 15 minutes: 100_000 (0.01% total supply) qm.updateQuota(0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800, 100_000 ether); From 9db67e44283bc8d58c6146fe2e01d3ca8dd73e35 Mon Sep 17 00:00:00 2001 From: dantaik Date: Tue, 7 May 2024 10:49:42 +0000 Subject: [PATCH 04/11] forge fmt & update contract layout table --- packages/protocol/contracts/L1/TaikoData.sol | 2 +- packages/protocol/script/DeployERC20Airdrop.s.sol | 2 +- packages/protocol/script/DeployOnL1.s.sol | 6 +++--- packages/protocol/test/L2/TaikoL2.t.sol | 2 +- packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol | 2 +- .../test/automata-attestation/common/AttestationBase.t.sol | 2 +- packages/protocol/test/bridge/Bridge.t.sol | 2 +- packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol | 4 ++-- packages/protocol/test/tokenvault/BridgedERC20.t.sol | 2 +- packages/protocol/test/verifiers/RiscZeroVerifier.t.sol | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/protocol/contracts/L1/TaikoData.sol b/packages/protocol/contracts/L1/TaikoData.sol index a9b0adc6ed4..2c816af1773 100644 --- a/packages/protocol/contracts/L1/TaikoData.sol +++ b/packages/protocol/contracts/L1/TaikoData.sol @@ -163,7 +163,7 @@ library TaikoData { mapping( uint64 blockId_mod_blockRingBufferSize => mapping(uint32 transitionId => TransitionState ts) - ) transitions; + ) transitions; // Ring buffer for Ether deposits bytes32 __reserve1; SlotA slotA; // slot 5 diff --git a/packages/protocol/script/DeployERC20Airdrop.s.sol b/packages/protocol/script/DeployERC20Airdrop.s.sol index cd640a02396..70d0f7f3d42 100644 --- a/packages/protocol/script/DeployERC20Airdrop.s.sol +++ b/packages/protocol/script/DeployERC20Airdrop.s.sol @@ -37,7 +37,7 @@ contract DeployERC20Airdrop is DeployCapability { impl: address(new ERC20Airdrop()), data: abi.encodeCall( ERC20Airdrop.init, (address(0), 0, 0, bytes32(0), bridgedTko, vaultAddress) - ) + ) }) ); diff --git a/packages/protocol/script/DeployOnL1.s.sol b/packages/protocol/script/DeployOnL1.s.sol index fe0577c4d5e..751379e4632 100644 --- a/packages/protocol/script/DeployOnL1.s.sol +++ b/packages/protocol/script/DeployOnL1.s.sol @@ -152,7 +152,7 @@ contract DeployOnL1 is DeployCapability { impl: address(new TaikoToken()), data: abi.encodeCall( TaikoToken.init, (owner, vm.envAddress("TAIKO_TOKEN_PREMINT_RECIPIENT")) - ), + ), registerTo: sharedAddressManager }); } @@ -263,7 +263,7 @@ contract DeployOnL1 is DeployCapability { vm.envBytes32("L2_GENESIS_HASH"), vm.envBool("PAUSE_TAIKO_L1") ) - ), + ), registerTo: rollupAddressManager }); @@ -330,7 +330,7 @@ contract DeployOnL1 is DeployCapability { impl: automateDcapV3AttestationImpl, data: abi.encodeCall( AutomataDcapV3Attestation.init, (owner, address(sigVerifyLib), address(pemCertChainLib)) - ), + ), registerTo: rollupAddressManager }); diff --git a/packages/protocol/test/L2/TaikoL2.t.sol b/packages/protocol/test/L2/TaikoL2.t.sol index eadb14a6f38..3665c3cf43a 100644 --- a/packages/protocol/test/L2/TaikoL2.t.sol +++ b/packages/protocol/test/L2/TaikoL2.t.sol @@ -49,7 +49,7 @@ contract TestTaikoL2 is TaikoTest { impl: address(new TaikoL2EIP1559Configurable()), data: abi.encodeCall( TaikoL2.init, (address(0), addressManager, l1ChainId, gasExcess) - ), + ), registerTo: addressManager }) ) diff --git a/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol b/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol index 8b21fbaf56f..6a10e25d6cf 100644 --- a/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol +++ b/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol @@ -49,7 +49,7 @@ contract TestTaikoL2NoFeeCheck is TaikoTest { impl: address(new SkipBasefeeCheckL2()), data: abi.encodeCall( TaikoL2.init, (address(0), addressManager, l1ChainId, gasExcess) - ), + ), registerTo: addressManager }) ) diff --git a/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol b/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol index 4133197796c..453d7d66470 100644 --- a/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol +++ b/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol @@ -61,7 +61,7 @@ contract AttestationBase is Test, DcapTestUtils, V3QuoteParseUtils { data: abi.encodeCall( AutomataDcapV3Attestation.init, (admin, address(sigVerifyLib), address(pemCertChainLib)) - ) + ) }) ); diff --git a/packages/protocol/test/bridge/Bridge.t.sol b/packages/protocol/test/bridge/Bridge.t.sol index 33caf89b67a..0cf597e4579 100644 --- a/packages/protocol/test/bridge/Bridge.t.sol +++ b/packages/protocol/test/bridge/Bridge.t.sol @@ -93,7 +93,7 @@ contract BridgeTest is TaikoTest { impl: address(new DelegateOwner()), data: abi.encodeCall( DelegateOwner.init, (mockDAO, address(addressManager), l1ChainId) - ) + ) }) ) ); diff --git a/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol b/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol index 1222a7cf9e9..ac33e319356 100644 --- a/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol +++ b/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol @@ -102,7 +102,7 @@ contract TestERC20Airdrop is TaikoTest { data: abi.encodeCall( BridgedERC20.init, (address(0), address(addressManager), randAddress(), 100, 18, "TKO", "Taiko Token") - ) + ) }) ); @@ -129,7 +129,7 @@ contract TestERC20Airdrop is TaikoTest { data: abi.encodeCall( ERC20Airdrop.init, (address(0), claimStart, claimEnd, merkleRoot, address(token), address(vault)) - ) + ) }) ); diff --git a/packages/protocol/test/tokenvault/BridgedERC20.t.sol b/packages/protocol/test/tokenvault/BridgedERC20.t.sol index 6c92727d8c3..80470c70644 100644 --- a/packages/protocol/test/tokenvault/BridgedERC20.t.sol +++ b/packages/protocol/test/tokenvault/BridgedERC20.t.sol @@ -131,7 +131,7 @@ contract TestBridgedERC20 is TaikoTest { data: abi.encodeCall( BridgedERC20.init, (owner, address(manager), srcToken, srcChainId, srcDecimals, name, name) - ), + ), registerTo: manager }) ); diff --git a/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol b/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol index 77c719d8a2e..75eb16dd2d0 100644 --- a/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol +++ b/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol @@ -48,7 +48,7 @@ contract TestRiscZeroVerifier is TaikoL1TestBase { data: abi.encodeCall( RiscZeroVerifier.init, (address(0), address(addressManager), address(riscZeroRemoteVerifier)) - ) + ) }) ); From 57bba7c7085ff00d324d1f9959dfaa215340b43f Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Tue, 7 May 2024 19:00:48 +0800 Subject: [PATCH 05/11] Update DeployL1QuotaManager.s.sol --- .../script/DeployL1QuotaManager.s.sol | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/packages/protocol/script/DeployL1QuotaManager.s.sol b/packages/protocol/script/DeployL1QuotaManager.s.sol index f99f8aa7658..9b1b5e0eefa 100644 --- a/packages/protocol/script/DeployL1QuotaManager.s.sol +++ b/packages/protocol/script/DeployL1QuotaManager.s.sol @@ -18,7 +18,7 @@ contract DeployL1QuotaManager is DeployCapability { } function run() external broadcast { - // Deploy the QuotaManager contract with a 15 minute quota period + // Deploy the QuotaManager contract on Ethereum QuotaManager qm = QuotaManager( deployProxy({ name: "quota_manager", @@ -27,10 +27,20 @@ contract DeployL1QuotaManager is DeployCapability { }) ); - // L2-to-L1 Ether per 15 minutes - qm.updateQuota(address(0), 50 ether); + // Config L2-to-L1 quota + uint104 multipler = 1; // we just change this one later - // L2-to-L1 TKO per 15 minutes: 100_000 (0.01% total supply) - qm.updateQuota(0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800, 100_000 ether); + uint104 valuePerToken = 200_000 * multipler; // USD + uint104 priceETH = 3100; // USD + uint104 priceTKO = 5; // USD + + // ETH + qm.updateQuota(address(0), valuePerToken * 1 ether / priceETH); + // TKO + qm.updateQuota(0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800, valuePerToken * 1e18 / priceTKO); + // USDT + qm.updateQuota(0xdAC17F958D2ee523a2206206994597C13D831ec7, valuePerToken * 1e6); + // USDC + qm.updateQuota(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, valuePerToken * 1e6); } } From cae796ed3dae0c21d0c867e5d242249e59fc20e2 Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Tue, 7 May 2024 19:03:34 +0800 Subject: [PATCH 06/11] Update DeployL1QuotaManager.s.sol --- packages/protocol/script/DeployL1QuotaManager.s.sol | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/protocol/script/DeployL1QuotaManager.s.sol b/packages/protocol/script/DeployL1QuotaManager.s.sol index 9b1b5e0eefa..7a8cb969519 100644 --- a/packages/protocol/script/DeployL1QuotaManager.s.sol +++ b/packages/protocol/script/DeployL1QuotaManager.s.sol @@ -36,6 +36,10 @@ contract DeployL1QuotaManager is DeployCapability { // ETH qm.updateQuota(address(0), valuePerToken * 1 ether / priceETH); + // WETH + qm.updateQuota( + 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, valuePerToken * 1 ether / priceETH + ); // TKO qm.updateQuota(0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800, valuePerToken * 1e18 / priceTKO); // USDT From 050096dd61fa356b1479d09bb430e2af5706f2cc Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Tue, 7 May 2024 19:03:41 +0800 Subject: [PATCH 07/11] more --- packages/protocol/contracts/L1/TaikoData.sol | 2 +- packages/protocol/script/DeployERC20Airdrop.s.sol | 2 +- packages/protocol/script/DeployOnL1.s.sol | 6 +++--- packages/protocol/test/L2/TaikoL2.t.sol | 2 +- packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol | 2 +- .../test/automata-attestation/common/AttestationBase.t.sol | 2 +- packages/protocol/test/bridge/Bridge.t.sol | 2 +- packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol | 4 ++-- packages/protocol/test/tokenvault/BridgedERC20.t.sol | 2 +- packages/protocol/test/verifiers/RiscZeroVerifier.t.sol | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/protocol/contracts/L1/TaikoData.sol b/packages/protocol/contracts/L1/TaikoData.sol index 2c816af1773..a9b0adc6ed4 100644 --- a/packages/protocol/contracts/L1/TaikoData.sol +++ b/packages/protocol/contracts/L1/TaikoData.sol @@ -163,7 +163,7 @@ library TaikoData { mapping( uint64 blockId_mod_blockRingBufferSize => mapping(uint32 transitionId => TransitionState ts) - ) transitions; + ) transitions; // Ring buffer for Ether deposits bytes32 __reserve1; SlotA slotA; // slot 5 diff --git a/packages/protocol/script/DeployERC20Airdrop.s.sol b/packages/protocol/script/DeployERC20Airdrop.s.sol index 70d0f7f3d42..cd640a02396 100644 --- a/packages/protocol/script/DeployERC20Airdrop.s.sol +++ b/packages/protocol/script/DeployERC20Airdrop.s.sol @@ -37,7 +37,7 @@ contract DeployERC20Airdrop is DeployCapability { impl: address(new ERC20Airdrop()), data: abi.encodeCall( ERC20Airdrop.init, (address(0), 0, 0, bytes32(0), bridgedTko, vaultAddress) - ) + ) }) ); diff --git a/packages/protocol/script/DeployOnL1.s.sol b/packages/protocol/script/DeployOnL1.s.sol index 751379e4632..fe0577c4d5e 100644 --- a/packages/protocol/script/DeployOnL1.s.sol +++ b/packages/protocol/script/DeployOnL1.s.sol @@ -152,7 +152,7 @@ contract DeployOnL1 is DeployCapability { impl: address(new TaikoToken()), data: abi.encodeCall( TaikoToken.init, (owner, vm.envAddress("TAIKO_TOKEN_PREMINT_RECIPIENT")) - ), + ), registerTo: sharedAddressManager }); } @@ -263,7 +263,7 @@ contract DeployOnL1 is DeployCapability { vm.envBytes32("L2_GENESIS_HASH"), vm.envBool("PAUSE_TAIKO_L1") ) - ), + ), registerTo: rollupAddressManager }); @@ -330,7 +330,7 @@ contract DeployOnL1 is DeployCapability { impl: automateDcapV3AttestationImpl, data: abi.encodeCall( AutomataDcapV3Attestation.init, (owner, address(sigVerifyLib), address(pemCertChainLib)) - ), + ), registerTo: rollupAddressManager }); diff --git a/packages/protocol/test/L2/TaikoL2.t.sol b/packages/protocol/test/L2/TaikoL2.t.sol index 3665c3cf43a..eadb14a6f38 100644 --- a/packages/protocol/test/L2/TaikoL2.t.sol +++ b/packages/protocol/test/L2/TaikoL2.t.sol @@ -49,7 +49,7 @@ contract TestTaikoL2 is TaikoTest { impl: address(new TaikoL2EIP1559Configurable()), data: abi.encodeCall( TaikoL2.init, (address(0), addressManager, l1ChainId, gasExcess) - ), + ), registerTo: addressManager }) ) diff --git a/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol b/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol index 6a10e25d6cf..8b21fbaf56f 100644 --- a/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol +++ b/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol @@ -49,7 +49,7 @@ contract TestTaikoL2NoFeeCheck is TaikoTest { impl: address(new SkipBasefeeCheckL2()), data: abi.encodeCall( TaikoL2.init, (address(0), addressManager, l1ChainId, gasExcess) - ), + ), registerTo: addressManager }) ) diff --git a/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol b/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol index 453d7d66470..4133197796c 100644 --- a/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol +++ b/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol @@ -61,7 +61,7 @@ contract AttestationBase is Test, DcapTestUtils, V3QuoteParseUtils { data: abi.encodeCall( AutomataDcapV3Attestation.init, (admin, address(sigVerifyLib), address(pemCertChainLib)) - ) + ) }) ); diff --git a/packages/protocol/test/bridge/Bridge.t.sol b/packages/protocol/test/bridge/Bridge.t.sol index 0cf597e4579..33caf89b67a 100644 --- a/packages/protocol/test/bridge/Bridge.t.sol +++ b/packages/protocol/test/bridge/Bridge.t.sol @@ -93,7 +93,7 @@ contract BridgeTest is TaikoTest { impl: address(new DelegateOwner()), data: abi.encodeCall( DelegateOwner.init, (mockDAO, address(addressManager), l1ChainId) - ) + ) }) ) ); diff --git a/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol b/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol index ac33e319356..1222a7cf9e9 100644 --- a/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol +++ b/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol @@ -102,7 +102,7 @@ contract TestERC20Airdrop is TaikoTest { data: abi.encodeCall( BridgedERC20.init, (address(0), address(addressManager), randAddress(), 100, 18, "TKO", "Taiko Token") - ) + ) }) ); @@ -129,7 +129,7 @@ contract TestERC20Airdrop is TaikoTest { data: abi.encodeCall( ERC20Airdrop.init, (address(0), claimStart, claimEnd, merkleRoot, address(token), address(vault)) - ) + ) }) ); diff --git a/packages/protocol/test/tokenvault/BridgedERC20.t.sol b/packages/protocol/test/tokenvault/BridgedERC20.t.sol index 80470c70644..6c92727d8c3 100644 --- a/packages/protocol/test/tokenvault/BridgedERC20.t.sol +++ b/packages/protocol/test/tokenvault/BridgedERC20.t.sol @@ -131,7 +131,7 @@ contract TestBridgedERC20 is TaikoTest { data: abi.encodeCall( BridgedERC20.init, (owner, address(manager), srcToken, srcChainId, srcDecimals, name, name) - ), + ), registerTo: manager }) ); diff --git a/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol b/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol index 75eb16dd2d0..77c719d8a2e 100644 --- a/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol +++ b/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol @@ -48,7 +48,7 @@ contract TestRiscZeroVerifier is TaikoL1TestBase { data: abi.encodeCall( RiscZeroVerifier.init, (address(0), address(addressManager), address(riscZeroRemoteVerifier)) - ) + ) }) ); From e94d69fa71b4e6cee59b6be01c287ec59a5b401b Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Tue, 7 May 2024 19:04:07 +0800 Subject: [PATCH 08/11] Update DeployL1QuotaManager.s.sol --- .../protocol/script/DeployL1QuotaManager.s.sol | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/protocol/script/DeployL1QuotaManager.s.sol b/packages/protocol/script/DeployL1QuotaManager.s.sol index 7a8cb969519..5bd3aa88673 100644 --- a/packages/protocol/script/DeployL1QuotaManager.s.sol +++ b/packages/protocol/script/DeployL1QuotaManager.s.sol @@ -30,21 +30,19 @@ contract DeployL1QuotaManager is DeployCapability { // Config L2-to-L1 quota uint104 multipler = 1; // we just change this one later - uint104 valuePerToken = 200_000 * multipler; // USD + uint104 value = 200_000 * multipler; // USD uint104 priceETH = 3100; // USD uint104 priceTKO = 5; // USD // ETH - qm.updateQuota(address(0), valuePerToken * 1 ether / priceETH); + qm.updateQuota(address(0), value * 1 ether / priceETH); // WETH - qm.updateQuota( - 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, valuePerToken * 1 ether / priceETH - ); + qm.updateQuota(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, value * 1 ether / priceETH); // TKO - qm.updateQuota(0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800, valuePerToken * 1e18 / priceTKO); + qm.updateQuota(0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800, value * 1e18 / priceTKO); // USDT - qm.updateQuota(0xdAC17F958D2ee523a2206206994597C13D831ec7, valuePerToken * 1e6); + qm.updateQuota(0xdAC17F958D2ee523a2206206994597C13D831ec7, value * 1e6); // USDC - qm.updateQuota(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, valuePerToken * 1e6); + qm.updateQuota(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, value * 1e6); } } From 60b1f36fb97982c43e8cf310133e28c379e81028 Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Tue, 7 May 2024 19:07:50 +0800 Subject: [PATCH 09/11] Update DeployL1QuotaManager.s.sol --- packages/protocol/script/DeployL1QuotaManager.s.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/protocol/script/DeployL1QuotaManager.s.sol b/packages/protocol/script/DeployL1QuotaManager.s.sol index 5bd3aa88673..545a60295bd 100644 --- a/packages/protocol/script/DeployL1QuotaManager.s.sol +++ b/packages/protocol/script/DeployL1QuotaManager.s.sol @@ -28,9 +28,9 @@ contract DeployL1QuotaManager is DeployCapability { ); // Config L2-to-L1 quota - uint104 multipler = 1; // we just change this one later + uint104 multiplier = 1; // we just change this one later - uint104 value = 200_000 * multipler; // USD + uint104 value = 200_000 * multiplier; // USD uint104 priceETH = 3100; // USD uint104 priceTKO = 5; // USD From 3fc8d3082d816cc86d954b8ce416de8d55b8f4ac Mon Sep 17 00:00:00 2001 From: dantaik Date: Tue, 7 May 2024 11:08:18 +0000 Subject: [PATCH 10/11] forge fmt & update contract layout table --- packages/protocol/contracts/L1/TaikoData.sol | 2 +- packages/protocol/script/DeployERC20Airdrop.s.sol | 2 +- packages/protocol/script/DeployOnL1.s.sol | 6 +++--- packages/protocol/test/L2/TaikoL2.t.sol | 2 +- packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol | 2 +- .../test/automata-attestation/common/AttestationBase.t.sol | 2 +- packages/protocol/test/bridge/Bridge.t.sol | 2 +- packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol | 4 ++-- packages/protocol/test/tokenvault/BridgedERC20.t.sol | 2 +- packages/protocol/test/verifiers/RiscZeroVerifier.t.sol | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/protocol/contracts/L1/TaikoData.sol b/packages/protocol/contracts/L1/TaikoData.sol index a9b0adc6ed4..2c816af1773 100644 --- a/packages/protocol/contracts/L1/TaikoData.sol +++ b/packages/protocol/contracts/L1/TaikoData.sol @@ -163,7 +163,7 @@ library TaikoData { mapping( uint64 blockId_mod_blockRingBufferSize => mapping(uint32 transitionId => TransitionState ts) - ) transitions; + ) transitions; // Ring buffer for Ether deposits bytes32 __reserve1; SlotA slotA; // slot 5 diff --git a/packages/protocol/script/DeployERC20Airdrop.s.sol b/packages/protocol/script/DeployERC20Airdrop.s.sol index cd640a02396..70d0f7f3d42 100644 --- a/packages/protocol/script/DeployERC20Airdrop.s.sol +++ b/packages/protocol/script/DeployERC20Airdrop.s.sol @@ -37,7 +37,7 @@ contract DeployERC20Airdrop is DeployCapability { impl: address(new ERC20Airdrop()), data: abi.encodeCall( ERC20Airdrop.init, (address(0), 0, 0, bytes32(0), bridgedTko, vaultAddress) - ) + ) }) ); diff --git a/packages/protocol/script/DeployOnL1.s.sol b/packages/protocol/script/DeployOnL1.s.sol index fe0577c4d5e..751379e4632 100644 --- a/packages/protocol/script/DeployOnL1.s.sol +++ b/packages/protocol/script/DeployOnL1.s.sol @@ -152,7 +152,7 @@ contract DeployOnL1 is DeployCapability { impl: address(new TaikoToken()), data: abi.encodeCall( TaikoToken.init, (owner, vm.envAddress("TAIKO_TOKEN_PREMINT_RECIPIENT")) - ), + ), registerTo: sharedAddressManager }); } @@ -263,7 +263,7 @@ contract DeployOnL1 is DeployCapability { vm.envBytes32("L2_GENESIS_HASH"), vm.envBool("PAUSE_TAIKO_L1") ) - ), + ), registerTo: rollupAddressManager }); @@ -330,7 +330,7 @@ contract DeployOnL1 is DeployCapability { impl: automateDcapV3AttestationImpl, data: abi.encodeCall( AutomataDcapV3Attestation.init, (owner, address(sigVerifyLib), address(pemCertChainLib)) - ), + ), registerTo: rollupAddressManager }); diff --git a/packages/protocol/test/L2/TaikoL2.t.sol b/packages/protocol/test/L2/TaikoL2.t.sol index eadb14a6f38..3665c3cf43a 100644 --- a/packages/protocol/test/L2/TaikoL2.t.sol +++ b/packages/protocol/test/L2/TaikoL2.t.sol @@ -49,7 +49,7 @@ contract TestTaikoL2 is TaikoTest { impl: address(new TaikoL2EIP1559Configurable()), data: abi.encodeCall( TaikoL2.init, (address(0), addressManager, l1ChainId, gasExcess) - ), + ), registerTo: addressManager }) ) diff --git a/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol b/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol index 8b21fbaf56f..6a10e25d6cf 100644 --- a/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol +++ b/packages/protocol/test/L2/TaikoL2NoFeeCheck.t.sol @@ -49,7 +49,7 @@ contract TestTaikoL2NoFeeCheck is TaikoTest { impl: address(new SkipBasefeeCheckL2()), data: abi.encodeCall( TaikoL2.init, (address(0), addressManager, l1ChainId, gasExcess) - ), + ), registerTo: addressManager }) ) diff --git a/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol b/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol index 4133197796c..453d7d66470 100644 --- a/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol +++ b/packages/protocol/test/automata-attestation/common/AttestationBase.t.sol @@ -61,7 +61,7 @@ contract AttestationBase is Test, DcapTestUtils, V3QuoteParseUtils { data: abi.encodeCall( AutomataDcapV3Attestation.init, (admin, address(sigVerifyLib), address(pemCertChainLib)) - ) + ) }) ); diff --git a/packages/protocol/test/bridge/Bridge.t.sol b/packages/protocol/test/bridge/Bridge.t.sol index 33caf89b67a..0cf597e4579 100644 --- a/packages/protocol/test/bridge/Bridge.t.sol +++ b/packages/protocol/test/bridge/Bridge.t.sol @@ -93,7 +93,7 @@ contract BridgeTest is TaikoTest { impl: address(new DelegateOwner()), data: abi.encodeCall( DelegateOwner.init, (mockDAO, address(addressManager), l1ChainId) - ) + ) }) ) ); diff --git a/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol b/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol index 1222a7cf9e9..ac33e319356 100644 --- a/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol +++ b/packages/protocol/test/team/airdrop/ERC20Airdrop.t.sol @@ -102,7 +102,7 @@ contract TestERC20Airdrop is TaikoTest { data: abi.encodeCall( BridgedERC20.init, (address(0), address(addressManager), randAddress(), 100, 18, "TKO", "Taiko Token") - ) + ) }) ); @@ -129,7 +129,7 @@ contract TestERC20Airdrop is TaikoTest { data: abi.encodeCall( ERC20Airdrop.init, (address(0), claimStart, claimEnd, merkleRoot, address(token), address(vault)) - ) + ) }) ); diff --git a/packages/protocol/test/tokenvault/BridgedERC20.t.sol b/packages/protocol/test/tokenvault/BridgedERC20.t.sol index 6c92727d8c3..80470c70644 100644 --- a/packages/protocol/test/tokenvault/BridgedERC20.t.sol +++ b/packages/protocol/test/tokenvault/BridgedERC20.t.sol @@ -131,7 +131,7 @@ contract TestBridgedERC20 is TaikoTest { data: abi.encodeCall( BridgedERC20.init, (owner, address(manager), srcToken, srcChainId, srcDecimals, name, name) - ), + ), registerTo: manager }) ); diff --git a/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol b/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol index 77c719d8a2e..75eb16dd2d0 100644 --- a/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol +++ b/packages/protocol/test/verifiers/RiscZeroVerifier.t.sol @@ -48,7 +48,7 @@ contract TestRiscZeroVerifier is TaikoL1TestBase { data: abi.encodeCall( RiscZeroVerifier.init, (address(0), address(addressManager), address(riscZeroRemoteVerifier)) - ) + ) }) ); From 9afb73e572f0884521af042ea939cf0ece5f0782 Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Tue, 7 May 2024 22:40:07 +0800 Subject: [PATCH 11/11] Update DeployL1QuotaManager.s.sol --- packages/protocol/script/DeployL1QuotaManager.s.sol | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/protocol/script/DeployL1QuotaManager.s.sol b/packages/protocol/script/DeployL1QuotaManager.s.sol index 545a60295bd..f566d2e12a3 100644 --- a/packages/protocol/script/DeployL1QuotaManager.s.sol +++ b/packages/protocol/script/DeployL1QuotaManager.s.sol @@ -28,9 +28,7 @@ contract DeployL1QuotaManager is DeployCapability { ); // Config L2-to-L1 quota - uint104 multiplier = 1; // we just change this one later - - uint104 value = 200_000 * multiplier; // USD + uint104 value = 200_000; // USD uint104 priceETH = 3100; // USD uint104 priceTKO = 5; // USD