Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor: rebranding #23

Merged
merged 3 commits into from
Aug 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,31 +15,31 @@

pragma solidity ^0.8.16;

struct Nst01PreFarmingInitParams {
address nst;
struct Usds01PreFarmingInitParams {
address usds;
address rewards;
bytes32 rewardsKey; // Chainlog key
}

library Nst01PreFarmingInit {
library Usds01PreFarmingInit {
ChainlogLike internal constant chainlog = ChainlogLike(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F);

function init(Nst01PreFarmingInitParams memory p) internal {
function init(Usds01PreFarmingInitParams memory p) internal {
require(
StakingRewardsLike(p.rewards).stakingToken() == p.nst,
"Nst01PreFarmingInit/rewards-staking-token-mismatch"
StakingRewardsLike(p.rewards).stakingToken() == p.usds,
"Usds01PreFarmingInit/rewards-staking-token-mismatch"
);
require(
StakingRewardsLike(p.rewards).rewardsToken() == address(0),
"Nst01PreFarmingInit/invalid-rewards-token"
"Usds01PreFarmingInit/invalid-rewards-token"
);
require(
StakingRewardsLike(p.rewards).lastUpdateTime() == 0,
"Nst01PreFarmingInit/rewards-last-update-time-invalid"
"Usds01PreFarmingInit/rewards-last-update-time-invalid"
);
require(
StakingRewardsLike(p.rewards).owner() == chainlog.getAddress("MCD_PAUSE_PROXY"),
"Nst01PreFarmingInit/invalid-owner"
"Usds01PreFarmingInit/invalid-owner"
);

chainlog.setAddress(p.rewardsKey, p.rewards);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ import {StakingRewardsInit, StakingRewardsInitParams} from "../StakingRewardsIni
import {VestedRewardsDistributionInit, VestedRewardsDistributionInitParams} from "../VestedRewardsDistributionInit.sol";
import {VestInit, VestCreateParams} from "../VestInit.sol";

struct NstNgtFarmingInitParams {
address nst;
address ngt;
struct UsdsSkyFarmingInitParams {
address usds;
address sky;
address rewards;
bytes32 rewardsKey; // Chainlog key
address dist;
Expand All @@ -32,38 +32,38 @@ struct NstNgtFarmingInitParams {
uint256 vestTau;
}

struct NstNgtFarmingInitResult {
struct UsdsSkyFarmingInitResult {
uint256 vestId;
}

library NstNgtFarmingInit {
library UsdsSkyFarmingInit {
ChainlogLike internal constant chainlog = ChainlogLike(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F);

function init(NstNgtFarmingInitParams memory p) internal returns (NstNgtFarmingInitResult memory r) {
function init(UsdsSkyFarmingInitParams memory p) internal returns (UsdsSkyFarmingInitResult memory r) {
address stakingToken = StakingRewardsLike(p.rewards).stakingToken();
address rewardsToken = StakingRewardsLike(p.rewards).rewardsToken();

require(stakingToken != rewardsToken, "NstNgtFarmingInit/rewards-token-same-as-staking-token");
require(stakingToken != rewardsToken, "UsdsSkyFarmingInit/rewards-token-same-as-staking-token");

require(DssVestWithGemLike(p.vest).gem() == p.ngt, "NstNgtFarmingInit/vest-gem-mismatch");
require(DssVestWithGemLike(p.vest).gem() == p.sky, "UsdsSkyFarmingInit/vest-gem-mismatch");

require(stakingToken == p.nst, "NstNgtFarmingInit/rewards-staking-token-mismatch");
require(rewardsToken == p.ngt, "NstNgtFarmingInit/rewards-rewards-token-mismatch");
require(stakingToken == p.usds, "UsdsSkyFarmingInit/rewards-staking-token-mismatch");
require(rewardsToken == p.sky, "UsdsSkyFarmingInit/rewards-rewards-token-mismatch");
require(
StakingRewardsLike(p.rewards).lastUpdateTime() == 0,
"NstNgtFarmingInit/rewards-last-update-time-invalid"
"UsdsSkyFarmingInit/rewards-last-update-time-invalid"
);

require(VestedRewardsDistributionLike(p.dist).gem() == p.ngt, "NstNgtFarmingInit/dist-gem-mismatch");
require(VestedRewardsDistributionLike(p.dist).dssVest() == p.vest, "NstNgtFarmingInit/dist-dss-vest-mismatch");
require(VestedRewardsDistributionLike(p.dist).gem() == p.sky, "UsdsSkyFarmingInit/dist-gem-mismatch");
require(VestedRewardsDistributionLike(p.dist).dssVest() == p.vest, "UsdsSkyFarmingInit/dist-dss-vest-mismatch");
require(
VestedRewardsDistributionLike(p.dist).stakingRewards() == p.rewards,
"NstNgtFarmingInit/dist-staking-rewards-mismatch"
"UsdsSkyFarmingInit/dist-staking-rewards-mismatch"
);

// `vest` is expected to be an instance of `DssVestMintable`.
// Check if minting rights on `ngt` were granted to `vest`.
require(WardsLike(p.ngt).wards(p.vest) == 1, "NstNgtFarmingInit/missing-ngt-rely-vest");
// Check if minting rights on `sky` were granted to `vest`.
require(WardsLike(p.sky).wards(p.vest) == 1, "UsdsSkyFarmingInit/missing-sky-rely-vest");

// Set `dist` with `rewardsDistribution` role in `rewards`.
StakingRewardsInit.init(p.rewards, StakingRewardsInitParams({dist: p.dist}));
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"usds": "address: the address of USDS"
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"ngt": "address: the address of NGT",
"nst": "address: the address of NST",
"vest": "address: the address of a DssVestMintable contract for NGT",
"sky": "address: the address of SKY",
"usds": "address: the address of USDS",
"vest": "address: the address of a DssVestMintable contract for SKY",
"rewards": "[OPTIONAL] address: the address of the StakingRewards contract",
"dist": "[OPTIONAL ]address: the address of the VestedRewardsDistrubution contract"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"usds": "address: the address of USDS"
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"ngt": "address: the address of NGT",
"nst": "address: the address of NST",
"vest": "address: the address of a DssVestMintable contract for NGT",
"sky": "address: the address of SKY",
"usds": "address: the address of USDS",
"vest": "address: the address of a DssVestMintable contract for SKY",
"rewards": "[OPTIONAL] address: the address of the StakingRewards contract",
"dist": "[OPTIONAL ]address: the address of the VestedRewardsDistrubution contract"
}
1 change: 0 additions & 1 deletion script/output/1/phase-0/README.md

This file was deleted.

1 change: 0 additions & 1 deletion script/output/314311/phase-0/README.md

This file was deleted.

1 change: 0 additions & 1 deletion script/output/5/README.md

This file was deleted.

1 change: 0 additions & 1 deletion script/output/5/phase-0-alpha/README.md

This file was deleted.

1 change: 0 additions & 1 deletion script/output/5/phase-0/README.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,18 @@ import {
VestedRewardsDistributionDeployParams
} from "../dependencies/VestedRewardsDistributionDeploy.sol";

contract Phase1b_NstNgtFarmingDeployScript is Script {
contract Phase1b_UsdsSkyFarmingDeployScript is Script {
ChainlogLike internal constant chainlog = ChainlogLike(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F);

string internal constant NAME = "phase-1b/nst-ngt-farming-deploy";
string internal constant NAME = "phase-1b/usds-sky-farming-deploy";

function run() external {
Reader reader = new Reader(ScriptTools.loadConfig());

address admin = chainlog.getAddress("MCD_PAUSE_PROXY");

address ngt = reader.envOrReadAddress("FOUNDRY_NGT", ".ngt");
address nst = reader.envOrReadAddress("FOUNDRY_NST", ".nst");
address sky = reader.envOrReadAddress("FOUNDRY_SKY", ".sky");
address usds = reader.envOrReadAddress("FOUNDRY_USDS", ".usds");
address vest = reader.envOrReadAddress("FOUNDRY_VEST", ".vest");
address dist = reader.readAddressOptional(".dist");
address rewards = reader.readAddressOptional(".rewards");
Expand All @@ -45,7 +45,7 @@ contract Phase1b_NstNgtFarmingDeployScript is Script {

if (rewards == address(0)) {
rewards = StakingRewardsDeploy.deploy(
StakingRewardsDeployParams({owner: admin, stakingToken: nst, rewardsToken: ngt})
StakingRewardsDeployParams({owner: admin, stakingToken: usds, rewardsToken: sky})
);
}

Expand All @@ -63,8 +63,8 @@ contract Phase1b_NstNgtFarmingDeployScript is Script {
vm.stopBroadcast();

ScriptTools.exportContract(NAME, "admin", admin);
ScriptTools.exportContract(NAME, "ngt", ngt);
ScriptTools.exportContract(NAME, "nst", nst);
ScriptTools.exportContract(NAME, "sky", sky);
ScriptTools.exportContract(NAME, "usds", usds);
ScriptTools.exportContract(NAME, "dist", dist);
ScriptTools.exportContract(NAME, "rewards", rewards);
ScriptTools.exportContract(NAME, "vest", vest);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,17 @@ import {ScriptTools} from "dss-test/ScriptTools.sol";
import {Reader} from "../helpers/Reader.sol";
import {VestInit, VestInitParams} from "../dependencies/VestInit.sol";
import {
NstNgtFarmingInit,
NstNgtFarmingInitParams,
NstNgtFarmingInitResult
} from "../dependencies/phase-1b/NstNgtFarmingInit.sol";
UsdsSkyFarmingInit,
UsdsSkyFarmingInitParams,
UsdsSkyFarmingInitResult
} from "../dependencies/phase-1b/UsdsSkyFarmingInit.sol";

contract Phase1b_NstNgtFarmingInitScript is Script {
contract Phase1b_UsdsSkyFarmingInitScript is Script {
using ScriptTools for string;

ChainlogLike internal constant chainlog = ChainlogLike(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F);

string internal constant NAME = "phase-1b/nst-ngt-farming-init";
string internal constant NAME = "phase-1b/usds-sky-farming-init";

function run() external {
Reader config = new Reader(ScriptTools.loadConfig());
Expand All @@ -41,19 +41,19 @@ contract Phase1b_NstNgtFarmingInitScript is Script {
uint256 vestBgn = config.envOrReadUint("FOUNDRY_VEST_BGN", ".vestBgn");
uint256 vestTau = config.envOrReadUint("FOUNDRY_VEST_TAU", ".vestTau");

address ngt = deps.envOrReadAddress("FOUNDRY_NGT", ".ngt");
address nst = deps.envOrReadAddress("FOUNDRY_NST", ".nst");
address sky = deps.envOrReadAddress("FOUNDRY_SKY", ".sky");
address usds = deps.envOrReadAddress("FOUNDRY_USDS", ".usds");
address dist = deps.envOrReadAddress("FOUNDRY_DIST", ".dist");
address rewards = deps.envOrReadAddress("FOUNDRY_FARM", ".rewards");
address vest = deps.envOrReadAddress("FOUNDRY_VEST", ".vest");

NstNgtFarmingInitParams memory farmingCfg = NstNgtFarmingInitParams({
ngt: ngt,
nst: nst,
UsdsSkyFarmingInitParams memory farmingCfg = UsdsSkyFarmingInitParams({
sky: sky,
usds: usds,
dist: dist,
distKey: "REWARDS_DISTRIBUTION_NST_NGT",
distKey: "REWARDS_DISTRIBUTION_USDS_SKY",
rewards: rewards,
rewardsKey: "FARM_NST_NGT",
rewardsKey: "FARM_USDS_SKY",
vest: vest,
vestTot: vestTot,
vestBgn: vestBgn,
Expand All @@ -66,31 +66,31 @@ contract Phase1b_NstNgtFarmingInitScript is Script {

vm.startBroadcast();

NstNgtFarmingInitSpell spell = new NstNgtFarmingInitSpell();
UsdsSkyFarmingInitSpell spell = new UsdsSkyFarmingInitSpell();
bytes memory out = ProxyLike(pauseProxy).exec(
address(spell),
abi.encodeCall(spell.cast, (farmingCfg, vestInitCfg))
);

vm.stopBroadcast();

NstNgtFarmingInitResult memory res = abi.decode(out, (NstNgtFarmingInitResult));
UsdsSkyFarmingInitResult memory res = abi.decode(out, (UsdsSkyFarmingInitResult));

ScriptTools.exportContract(NAME, "ngt", ngt);
ScriptTools.exportContract(NAME, "sky", sky);
ScriptTools.exportContract(NAME, "dist", dist);
ScriptTools.exportContract(NAME, "rewards", rewards);
ScriptTools.exportContract(NAME, "vest", vest);
ScriptTools.exportValue(NAME, "vestId", res.vestId);
}
}

contract NstNgtFarmingInitSpell {
contract UsdsSkyFarmingInitSpell {
function cast(
NstNgtFarmingInitParams memory farmingCfg,
UsdsSkyFarmingInitParams memory farmingCfg,
VestInitParams calldata vestInitCfg
) public returns (NstNgtFarmingInitResult memory) {
) public returns (UsdsSkyFarmingInitResult memory) {
VestInit.init(farmingCfg.vest, vestInitCfg);
return NstNgtFarmingInit.init(farmingCfg);
return UsdsSkyFarmingInit.init(farmingCfg);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,38 +18,38 @@ pragma solidity ^0.8.16;
import {Script} from "forge-std/Script.sol";
import {Reader} from "../helpers/Reader.sol";

contract Phase1b_NstNgtFarmingCheckScript is Script {
contract Phase1b_UsdsSkyFarmingCheckScript is Script {
function run() external returns (bool) {
Reader deps = new Reader("");
deps.loadDependenciesOrConfig();

address admin = deps.envOrReadAddress("FOUNDRY_ADMIN", ".admin");
address ngt = deps.envOrReadAddress("FOUNDRY_NGT", ".ngt");
address nst = deps.envOrReadAddress("FOUNDRY_NST", ".nst");
address sky = deps.envOrReadAddress("FOUNDRY_SKY", ".sky");
address usds = deps.envOrReadAddress("FOUNDRY_USDS", ".usds");
address dist = deps.readAddress(".dist");
address rewards = deps.readAddress(".rewards");
address vest = deps.readAddress(".vest");
uint256 vestId = deps.readUint(".vestId");

require(VestedRewardsDistributionLike(dist).dssVest() == vest, "VestedRewardsDistribution/invalid-vest");
require(VestedRewardsDistributionLike(dist).vestId() == vestId, "VestedRewardsDistribution/invalid-vest-id");
require(VestedRewardsDistributionLike(dist).gem() == ngt, "VestedRewardsDistribution/invalid-gem");
require(VestedRewardsDistributionLike(dist).gem() == sky, "VestedRewardsDistribution/invalid-gem");
require(
VestedRewardsDistributionLike(dist).stakingRewards() == rewards,
"VestedRewardsDistribution/invalid-staking-rewards"
);

require(StakingRewardsLike(rewards).owner() == admin, "StakingRewards/admin-not-owner");
require(StakingRewardsLike(rewards).rewardsToken() == ngt, "StakingRewards/invalid-rewards-token");
require(StakingRewardsLike(rewards).stakingToken() == nst, "StakingRewards/invalid-rewards-token");
require(StakingRewardsLike(rewards).rewardsToken() == sky, "StakingRewards/invalid-rewards-token");
require(StakingRewardsLike(rewards).stakingToken() == usds, "StakingRewards/invalid-rewards-token");
require(
StakingRewardsLike(rewards).rewardsDistribution() == dist,
"StakingRewards/invalid-rewards-distribution"
);

require(WardsLike(ngt).wards(vest) == 1, "Ngt/dss-vest-not-ward");
require(WardsLike(sky).wards(vest) == 1, "Sky/dss-vest-not-ward");

require(DssVestWithGemLike(vest).gem() == ngt, "DssVest/invalid-gem");
require(DssVestWithGemLike(vest).gem() == sky, "DssVest/invalid-gem");
require(DssVestWithGemLike(vest).valid(vestId), "DssVest/invalid-vest-id");
require(DssVestWithGemLike(vest).res(vestId) == 1, "DssVest/invalid-vest-res");
require(DssVestWithGemLike(vest).usr(vestId) == dist, "DssVest/wrong-dist");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,27 +21,27 @@ import {ScriptTools} from "dss-test/ScriptTools.sol";
import {Reader} from "../helpers/Reader.sol";
import {StakingRewardsDeploy, StakingRewardsDeployParams} from "../dependencies/StakingRewardsDeploy.sol";

contract Phase1b_Nst01PreFarmingDeployScript is Script {
string internal constant NAME = "phase-1b/nst-01-pre-farming-deploy";
contract Phase1b_Usds01PreFarmingDeployScript is Script {
string internal constant NAME = "phase-1b/usds-01-pre-farming-deploy";

ChainlogLike internal constant chainlog = ChainlogLike(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F);

function run() external {
Reader reader = new Reader(ScriptTools.loadConfig());

address admin = chainlog.getAddress("MCD_PAUSE_PROXY");
address nst = reader.envOrReadAddress("FOUNDRY_NST", ".nst");
address usds = reader.envOrReadAddress("FOUNDRY_USDS", ".usds");

vm.startBroadcast();

address rewards = StakingRewardsDeploy.deploy(
StakingRewardsDeployParams({owner: admin, stakingToken: nst, rewardsToken: address(0)})
StakingRewardsDeployParams({owner: admin, stakingToken: usds, rewardsToken: address(0)})
);

vm.stopBroadcast();

ScriptTools.exportContract(NAME, "admin", admin);
ScriptTools.exportContract(NAME, "nst", nst);
ScriptTools.exportContract(NAME, "usds", usds);
ScriptTools.exportContract(NAME, "rewards", rewards);
}
}
Expand Down
Loading
Loading