mirror of
https://github.com/vacp2p/staking-reward-streamer.git
synced 2026-01-08 23:08:19 -05:00
refactor: cleanup, move code around, and adjust deployscript
This commit is contained in:
@@ -9,7 +9,7 @@ import { Karma } from "../src/Karma.sol";
|
||||
contract DeployKarmaScript is BaseScript {
|
||||
function run() public returns (Karma) {
|
||||
DeploymentConfig deploymentConfig = new DeploymentConfig(broadcaster);
|
||||
(address deployer,) = deploymentConfig.activeNetworkConfig();
|
||||
(address deployer,,) = deploymentConfig.activeNetworkConfig();
|
||||
|
||||
vm.startBroadcast(deployer);
|
||||
address karma = address(new Karma());
|
||||
|
||||
@@ -15,7 +15,7 @@ import { VaultFactory } from "../src/VaultFactory.sol";
|
||||
contract DeployRewardsStreamerMPScript is BaseScript {
|
||||
function run() public returns (RewardsStreamerMP, VaultFactory, DeploymentConfig) {
|
||||
DeploymentConfig deploymentConfig = new DeploymentConfig(broadcaster);
|
||||
(address deployer, address stakingToken) = deploymentConfig.activeNetworkConfig();
|
||||
(address deployer, address stakingToken,) = deploymentConfig.activeNetworkConfig();
|
||||
|
||||
bytes memory initializeData = abi.encodeCall(RewardsStreamerMP.initialize, (deployer, stakingToken));
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ contract DeploymentConfig is Script {
|
||||
struct NetworkConfig {
|
||||
address deployer;
|
||||
address stakingToken;
|
||||
address currentImplProxy;
|
||||
}
|
||||
|
||||
NetworkConfig public activeNetworkConfig;
|
||||
@@ -22,6 +23,9 @@ contract DeploymentConfig is Script {
|
||||
// solhint-disable-next-line var-name-mixedcase
|
||||
address internal SNT_ADDRESS_SEPOLIA = 0xE452027cdEF746c7Cd3DB31CB700428b16cD8E51;
|
||||
|
||||
// solhint-disable-next-line var-name-mixedcase
|
||||
address internal STAKING_MANAGER_PROXY_ADDRESS_SEPOLIA = 0xD302Bd9F60c5192e46258028a2F3b4B2B846F61F;
|
||||
|
||||
constructor(address _broadcaster) {
|
||||
if (_broadcaster == address(0)) revert DeploymentConfig_InvalidDeployerAddress();
|
||||
deployer = _broadcaster;
|
||||
@@ -36,11 +40,15 @@ contract DeploymentConfig is Script {
|
||||
|
||||
function getOrCreateAnvilEthConfig() public returns (NetworkConfig memory) {
|
||||
MockToken stakingToken = new MockToken("Staking Token", "ST");
|
||||
return NetworkConfig({ deployer: deployer, stakingToken: address(stakingToken) });
|
||||
return NetworkConfig({ deployer: deployer, stakingToken: address(stakingToken), currentImplProxy: address(0) });
|
||||
}
|
||||
|
||||
function getSepoliaConfig() public view returns (NetworkConfig memory) {
|
||||
return NetworkConfig({ deployer: deployer, stakingToken: SNT_ADDRESS_SEPOLIA });
|
||||
return NetworkConfig({
|
||||
deployer: deployer,
|
||||
stakingToken: SNT_ADDRESS_SEPOLIA,
|
||||
currentImplProxy: STAKING_MANAGER_PROXY_ADDRESS_SEPOLIA
|
||||
});
|
||||
}
|
||||
|
||||
// This function is a hack to have it excluded by `forge coverage` until
|
||||
|
||||
@@ -5,9 +5,16 @@ import { UUPSUpgradeable } from "@openzeppelin/contracts-upgradeable/proxy/utils
|
||||
import { BaseScript } from "./Base.s.sol";
|
||||
import { RewardsStreamerMP } from "../src/RewardsStreamerMP.sol";
|
||||
import { IStakeManagerProxy } from "../src/interfaces/IStakeManagerProxy.sol";
|
||||
import { DeploymentConfig } from "./DeploymentConfig.s.sol";
|
||||
|
||||
contract UpgradeRewardsStreamerMPScript is BaseScript {
|
||||
function run(address admin, IStakeManagerProxy currentImplProxy) public {
|
||||
function run() public returns (address) {
|
||||
DeploymentConfig deploymentConfig = new DeploymentConfig(broadcaster);
|
||||
(address deployer,, address currentImplProxy) = deploymentConfig.activeNetworkConfig();
|
||||
return runWithAdminAndProxy(deployer, IStakeManagerProxy(currentImplProxy));
|
||||
}
|
||||
|
||||
function runWithAdminAndProxy(address admin, IStakeManagerProxy currentImplProxy) public returns (address) {
|
||||
address deployer = broadcaster;
|
||||
if (admin != address(0)) {
|
||||
deployer = admin;
|
||||
@@ -18,5 +25,6 @@ contract UpgradeRewardsStreamerMPScript is BaseScript {
|
||||
bytes memory initializeData;
|
||||
UUPSUpgradeable(address(currentImplProxy)).upgradeToAndCall(nextImpl, initializeData);
|
||||
vm.stopBroadcast();
|
||||
return nextImpl;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user