Skip to content

Commit 98b2127

Browse files
authored
feat: updated new Locker implementation deploy script (#38)
1 parent 1df3142 commit 98b2127

File tree

1 file changed

+53
-17
lines changed

1 file changed

+53
-17
lines changed

packages/contracts/script/upgrades/deploy-locker-impl.s.sol

Lines changed: 53 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,41 +7,57 @@ import { IStakingRewardController } from "src/interfaces/IStakingRewardControlle
77
import { IEPProgramManager } from "src/interfaces/IEPProgramManager.sol";
88
import { ISuperToken } from "@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperToken.sol";
99
import {
10-
ISuperfluid,
1110
ISuperfluidPool,
1211
ISuperToken
1312
} from "@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluid.sol";
1413

1514
import { FluidLocker } from "src/FluidLocker.sol";
1615

1716
/*
18-
SUP_ADDRESS=0x0000000000000000000000000000000000000000 \
19-
TAX_DISTRIBUTION_POOL_ADDRESS=0x0000000000000000000000000000000000000000 \
20-
PROGRAM_MANAGER_ADDRESS=0x0000000000000000000000000000000000000000 \
21-
STAKING_REWARD_CONTROLLER_ADDRESS=0x0000000000000000000000000000000000000000 \
22-
FONTAINE_BEACON_ADDRESS=0x0000000000000000000000000000000000000000 \
23-
forge script script/upgrades/deploy-locker-impl.s.sol:DeployFluidLockerImplementation --ffi --rpc-url $BASE_SEPOLIA_RPC_URL --broadcast --verify -vvv --etherscan-api-key $BASESCAN_API_KEY
17+
Base Sepolia Deployment Command :
18+
19+
SUP_ADDRESS=0xFd62b398DD8a233ad37156690631fb9515059d6A \
20+
TAX_DISTRIBUTION_POOL_ADDRESS=0xBed96F4cE618798C286eE8BF7586BD607d491Ce7 \
21+
PROGRAM_MANAGER_ADDRESS=0x71a1975A1009e48E0BF2f621B6835db5Ea1f7706 \
22+
STAKING_REWARD_CONTROLLER_ADDRESS=0x9FC0Bb109F3e733Bd84B30F8D89685b0304fC018 \
23+
FONTAINE_BEACON_ADDRESS=0xeBfA246A0BAd08A2A3ffB137ed75601AA41867dE \
24+
UNLOCK_STATUS=false \
25+
forge script script/upgrades/deploy-locker-impl.s.sol:DeployFluidLockerImplementation --ffi --rpc-url $BASE_SEPOLIA_RPC_URL --account TESTNET_DEPLOYER -vvv --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY
26+
27+
Base Mainnet Deployment Command :
28+
29+
SUP_ADDRESS=0xa69f80524381275A7fFdb3AE01c54150644c8792 \
30+
TAX_DISTRIBUTION_POOL_ADDRESS=0xF0f494f4BD2C3A6bF8b49E6f798875301d944C0A \
31+
PROGRAM_MANAGER_ADDRESS=0x1e32cf099992E9D3b17eDdDFFfeb2D07AED95C6a \
32+
STAKING_REWARD_CONTROLLER_ADDRESS=0xb19Ae25A98d352B36CED60F93db926247535048b \
33+
FONTAINE_BEACON_ADDRESS=0xA26FbA47Da24F7DF11b3E4CF60Dcf7D1691Ae47d \
34+
UNLOCK_STATUS=false \
35+
forge script script/upgrades/deploy-locker-impl.s.sol:DeployFluidLockerImplementation --ffi --rpc-url $BASE_MAINNET_RPC_URL --account SUP_DEPLOYER -vvv --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY
2436
*/
2537
contract DeployFluidLockerImplementation is Script {
38+
function _startBroadcast() internal returns (address deployer) {
39+
vm.startBroadcast();
40+
41+
// This is the way to get deployer address in foundry:
42+
(, deployer,) = vm.readCallers();
43+
}
44+
45+
function _stopBroadcast() internal {
46+
vm.stopBroadcast();
47+
}
48+
2649
function run() public {
2750
_showGitRevision();
2851

29-
// Deployer settings
30-
uint256 deployerPrivKey = vm.envOr("PRIVATE_KEY", uint256(0));
31-
32-
if (deployerPrivKey != 0) {
33-
vm.startBroadcast(deployerPrivKey);
34-
} else {
35-
vm.startBroadcast();
36-
}
52+
address deployer = _startBroadcast();
3753

3854
ISuperToken sup = ISuperToken(vm.envAddress("SUP_ADDRESS"));
3955
ISuperfluidPool taxDistributionPool = ISuperfluidPool(vm.envAddress("TAX_DISTRIBUTION_POOL_ADDRESS"));
4056
IEPProgramManager programManager = IEPProgramManager(vm.envAddress("PROGRAM_MANAGER_ADDRESS"));
4157
IStakingRewardController stakingRewardController =
4258
IStakingRewardController(vm.envAddress("STAKING_REWARD_CONTROLLER_ADDRESS"));
4359
address fontaineBeaconAddress = vm.envAddress("FONTAINE_BEACON_ADDRESS");
44-
bool isUnlockAvailable = false;
60+
bool isUnlockAvailable = vm.envBool("UNLOCK_STATUS");
4561

4662
address lockerLogicAddress = address(
4763
new FluidLocker(
@@ -54,7 +70,27 @@ contract DeployFluidLockerImplementation is Script {
5470
)
5571
);
5672

57-
console2.log("LOCKER_LOGIC_ADDRESS=%s", lockerLogicAddress);
73+
_stopBroadcast();
74+
75+
console2.log("DEPLOYING SPR CONTRACTS UPGRADE ..........");
76+
console2.log("");
77+
console2.log("");
78+
console2.log("*----------------------------------* DEPLOYMENT SETTINGS *---------------------------------*");
79+
console2.log("| ");
80+
console2.log("| DEPLOYER : %s", deployer);
81+
console2.log("| SUP_ADDRESS : %s", address(sup));
82+
console2.log("| TAX_DISTRIBUTION_POOL_ADDRESS : %s", address(taxDistributionPool));
83+
console2.log("| PROGRAM_MANAGER_ADDRESS : %s", address(programManager));
84+
console2.log("| STAKING_REWARD_CONTROLLER_ADDRESS : %s", address(stakingRewardController));
85+
console2.log("| FONTAINE_BEACON_ADDRESS : %s", fontaineBeaconAddress);
86+
console2.log("| IS_UNLOCK_AVAILABLE : %s", isUnlockAvailable);
87+
console2.log("*------------------------------------------------------------------------------------------*");
88+
89+
console2.log("");
90+
console2.log("*----------------------------------* DEPLOYMENT SUMMARY *----------------------------------*");
91+
console2.log("| |");
92+
console2.log("| FluidLocker (Logic) : deployed at %s |", lockerLogicAddress);
93+
console2.log("*------------------------------------------------------------------------------------------*");
5894
}
5995

6096
function _showGitRevision() internal {

0 commit comments

Comments
 (0)