From d7846b317c59eca9e1abefee51395448c0bcdfa9 Mon Sep 17 00:00:00 2001 From: chefburger Date: Wed, 25 Jun 2025 15:46:39 +0800 Subject: [PATCH] deploy: the new protocol fee controller with non-zero value for dynamic fee pool --- script/04_DeployCLProtocolFeeController.s.sol | 26 +++++++++++++++-- .../05_DeployBinProtocolFeeController.s.sol | 28 +++++++++++++++++-- script/config/base-mainnet.json | 6 ++-- script/config/bsc-mainnet.json | 8 +++--- 4 files changed, 56 insertions(+), 12 deletions(-) diff --git a/script/04_DeployCLProtocolFeeController.s.sol b/script/04_DeployCLProtocolFeeController.s.sol index daf7c54..661f0ae 100644 --- a/script/04_DeployCLProtocolFeeController.s.sol +++ b/script/04_DeployCLProtocolFeeController.s.sol @@ -16,11 +16,20 @@ import {IProtocolFees} from "../src/interfaces/IProtocolFees.sol"; * --slow \ * --verify * - * Step 2: Proceed to poolOwner contract and call protocolFeeController.acceptOwnership + * Step 2: Update config file + * + * Step 3: Proceed to poolOwner contract and call protocolFeeController.acceptOwnership + * + * Step 4: Call setProtocolFeeController() for the clPoolManager (if first time deploy) + * forge script script/04_DeployCLProtocolFeeController.s.sol:DeployCLProtocolFeeControllerScript -vvv \ + * --sig "setProtocolFeeController()" \ + * --rpc-url $RPC_URL \ + * --broadcast \ + * --slow */ contract DeployCLProtocolFeeControllerScript is BaseScript { function getDeploymentSalt() public pure override returns (bytes32) { - return keccak256("INFINITY-CORE/CLProtocolFeeController/1.0.0"); + return keccak256("INFINITY-CORE/CLProtocolFeeController/1.1.0"); } function run() public { @@ -47,6 +56,19 @@ contract DeployCLProtocolFeeControllerScript is BaseScript { console.log("CLProtocolFeeController contract deployed at ", clProtocolFeeController); + vm.stopBroadcast(); + } + + function setProtocolFeeController() public { + uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + + address clPoolManager = getAddressFromConfig("clPoolManager"); + console.log("clPoolManager address: ", address(clPoolManager)); + + address clProtocolFeeController = getAddressFromConfig("clProtocolFeeController"); + console.log("clProtocolFeeController address: ", address(clProtocolFeeController)); + /// @notice set the protocol fee controller for the clPoolManager IProtocolFees(clPoolManager).setProtocolFeeController(ProtocolFeeController(clProtocolFeeController)); diff --git a/script/05_DeployBinProtocolFeeController.s.sol b/script/05_DeployBinProtocolFeeController.s.sol index 2fcc313..9e34f3a 100644 --- a/script/05_DeployBinProtocolFeeController.s.sol +++ b/script/05_DeployBinProtocolFeeController.s.sol @@ -16,11 +16,20 @@ import {IProtocolFees} from "../src/interfaces/IProtocolFees.sol"; * --slow \ * --verify * - * Step 2: Proceed to poolOwner contract and call protocolFeeController.acceptOwnership + * Step 2: Update config file + * + * Step 3: Proceed to poolOwner contract and call protocolFeeController.acceptOwnership + * + * Step 4: Call setProtocolFeeController() for the binPoolManager (if first time deploy) + * forge script script/05_DeployBinProtocolFeeController.s.sol:DeployBinProtocolFeeControllerScript -vvv \ + * --sig "setProtocolFeeController()" \ + * --rpc-url $RPC_URL \ + * --broadcast \ + * --slow */ contract DeployBinProtocolFeeControllerScript is BaseScript { function getDeploymentSalt() public pure override returns (bytes32) { - return keccak256("INFINITY-CORE-CORE/BinProtocolFeeController/1.0.0"); + return keccak256("INFINITY-CORE-CORE/BinProtocolFeeController/1.1.0"); } function run() public { @@ -47,7 +56,20 @@ contract DeployBinProtocolFeeControllerScript is BaseScript { console.log("BinProtocolFeeController contract deployed at ", binProtocolFeeController); - /// @notice set the protocol fee controller for the clPoolManager + vm.stopBroadcast(); + } + + function setProtocolFeeController() public { + uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + + address binPoolManager = getAddressFromConfig("binPoolManager"); + console.log("binPoolManager address: ", address(binPoolManager)); + + address binProtocolFeeController = getAddressFromConfig("binProtocolFeeController"); + console.log("binProtocolFeeController address: ", address(binProtocolFeeController)); + + /// @notice set the protocol fee controller for the binPoolManager IProtocolFees(binPoolManager).setProtocolFeeController(ProtocolFeeController(binProtocolFeeController)); vm.stopBroadcast(); diff --git a/script/config/base-mainnet.json b/script/config/base-mainnet.json index 89fe454..d27db88 100644 --- a/script/config/base-mainnet.json +++ b/script/config/base-mainnet.json @@ -5,8 +5,8 @@ "clPoolManager": "0xa0FfB9c1CE1Fe56963B0321B32E7A0302114058b", "binPoolManager": "0xC697d2898e0D09264376196696c51D7aBbbAA4a9", "protocolFeeControllerOwner": "0x42571B8414c68B63A2729146CE93F23639d25399", - "clProtocolFeeController": "0x12F2a2965A665F8aBCf955C4dA26CC4Ec437b2c8", - "binProtocolFeeController": "0xC7C41cc1F0f4BC4CA96ac860E5c724B9A265B9A8", + "clProtocolFeeController": "0x15F6180033aEa66377d2A1778e418591C00dEb4c", + "binProtocolFeeController": "0xDBA4cFFF63d94F95A6e5DE9Cc49F0A13Af25214d", "clPoolManagerOwnerContract": "0x13f818BDC906C16764d8325809B4b67A9981f792", "binPoolManagerOwnerContract": "0x10944942c7EC351A4Aa36D59A40Cb741cc5c37cB" -} +} \ No newline at end of file diff --git a/script/config/bsc-mainnet.json b/script/config/bsc-mainnet.json index 89fe454..e24a46f 100644 --- a/script/config/bsc-mainnet.json +++ b/script/config/bsc-mainnet.json @@ -4,9 +4,9 @@ "vault": "0x238a358808379702088667322f80aC48bAd5e6c4", "clPoolManager": "0xa0FfB9c1CE1Fe56963B0321B32E7A0302114058b", "binPoolManager": "0xC697d2898e0D09264376196696c51D7aBbbAA4a9", - "protocolFeeControllerOwner": "0x42571B8414c68B63A2729146CE93F23639d25399", - "clProtocolFeeController": "0x12F2a2965A665F8aBCf955C4dA26CC4Ec437b2c8", - "binProtocolFeeController": "0xC7C41cc1F0f4BC4CA96ac860E5c724B9A265B9A8", + "protocolFeeControllerOwner": "0x75a915273Ff14b1f114d3BD8E5bf06EdE2f46f8e", + "clProtocolFeeController": "0x15F6180033aEa66377d2A1778e418591C00dEb4c", + "binProtocolFeeController": "0xDBA4cFFF63d94F95A6e5DE9Cc49F0A13Af25214d", "clPoolManagerOwnerContract": "0x13f818BDC906C16764d8325809B4b67A9981f792", "binPoolManagerOwnerContract": "0x10944942c7EC351A4Aa36D59A40Cb741cc5c37cB" -} +} \ No newline at end of file