diff --git a/script/dependencies/VestInit.sol b/script/dependencies/VestInit.sol index 0a5b0ae..4e8a216 100644 --- a/script/dependencies/VestInit.sol +++ b/script/dependencies/VestInit.sol @@ -15,10 +15,6 @@ pragma solidity ^0.8.16; -struct VestInitParams { - uint256 cap; -} - struct VestCreateParams { address usr; uint256 tot; @@ -27,11 +23,8 @@ struct VestCreateParams { uint256 eta; } +/// @dev Handles vesting stream creation. Assumes `DssVest` parameters are initialized somewhere else. library VestInit { - function init(address vest, VestInitParams memory p) internal { - DssVestLike(vest).file("cap", p.cap); - } - function create(address vest, VestCreateParams memory p) internal returns (uint256 vestId) { vestId = DssVestLike(vest).create( p.usr, @@ -47,8 +40,6 @@ library VestInit { } interface DssVestLike { - function file(bytes32 _what, uint256 _data) external; - function create( address _usr, uint256 _tot, diff --git a/script/phase-1b/02-UsdsSkyFarmingInit.s.sol b/script/phase-1b/02-UsdsSkyFarmingInit.s.sol index 437e258..a13ebc5 100644 --- a/script/phase-1b/02-UsdsSkyFarmingInit.s.sol +++ b/script/phase-1b/02-UsdsSkyFarmingInit.s.sol @@ -19,7 +19,6 @@ import {Script} from "forge-std/Script.sol"; import {ScriptTools} from "dss-test/ScriptTools.sol"; import {Reader} from "../helpers/Reader.sol"; -import {VestInit, VestInitParams} from "../dependencies/VestInit.sol"; import { UsdsSkyFarmingInit, UsdsSkyFarmingInitParams, @@ -60,17 +59,12 @@ contract Phase1b_UsdsSkyFarmingInitScript is Script { vestTau: vestTau }); - VestInitParams memory vestInitCfg = VestInitParams({cap: type(uint256).max}); - address pauseProxy = chainlog.getAddress("MCD_PAUSE_PROXY"); vm.startBroadcast(); UsdsSkyFarmingInitSpell spell = new UsdsSkyFarmingInitSpell(); - bytes memory out = ProxyLike(pauseProxy).exec( - address(spell), - abi.encodeCall(spell.cast, (farmingCfg, vestInitCfg)) - ); + bytes memory out = ProxyLike(pauseProxy).exec(address(spell), abi.encodeCall(spell.cast, (farmingCfg))); vm.stopBroadcast(); @@ -85,11 +79,10 @@ contract Phase1b_UsdsSkyFarmingInitScript is Script { } contract UsdsSkyFarmingInitSpell { - function cast( - UsdsSkyFarmingInitParams memory farmingCfg, - VestInitParams calldata vestInitCfg - ) public returns (UsdsSkyFarmingInitResult memory) { - VestInit.init(farmingCfg.vest, vestInitCfg); + uint256 internal constant CAP = type(uint256).max; + + function cast(UsdsSkyFarmingInitParams memory farmingCfg) public returns (UsdsSkyFarmingInitResult memory) { + DssVestLike(farmingCfg.vest).file("cap", CAP); return UsdsSkyFarmingInit.init(farmingCfg); } } @@ -101,3 +94,7 @@ interface ProxyLike { interface ChainlogLike { function getAddress(bytes32 _key) external view returns (address addr); } + +interface DssVestLike { + function file(bytes32 _what, uint256 _data) external; +}