Skip to content

Commit

Permalink
feat: add global spells deploy scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
amusingaxl committed Nov 24, 2024
1 parent 3d39ec9 commit f3c1ace
Show file tree
Hide file tree
Showing 4 changed files with 152 additions and 0 deletions.
38 changes: 38 additions & 0 deletions script/MultiClipBreakerDeploy.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// SPDX-FileCopyrightText: © 2023 Dai Foundation <www.daifoundation.org>
// SPDX-License-Identifier: AGPL-3.0-or-later
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
pragma solidity ^0.8.16;

import {Script} from "forge-std/Script.sol";
import {stdJson} from "forge-std/StdJson.sol";
import {MCD, DssInstance} from "dss-test/MCD.sol";
import {ScriptTools} from "dss-test/ScriptTools.sol";
import {MultiClipBreakerSpell} from "src/clip-breaker/MultiClipBreakerSpell.sol";

contract MultiClipBreakerDeployScript is Script {
using stdJson for string;
using ScriptTools for string;

string constant NAME = "multi-clip-breaker-deploy";

function run() external {
vm.startBroadcast();

address spell = address(new MultiClipBreakerSpell());
ScriptTools.exportContract(NAME, "spell", spell);

vm.stopBroadcast();
}
}
38 changes: 38 additions & 0 deletions script/MultiLineWipeDeploy.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// SPDX-FileCopyrightText: © 2023 Dai Foundation <www.daifoundation.org>
// SPDX-License-Identifier: AGPL-3.0-or-later
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
pragma solidity ^0.8.16;

import {Script} from "forge-std/Script.sol";
import {stdJson} from "forge-std/StdJson.sol";
import {MCD, DssInstance} from "dss-test/MCD.sol";
import {ScriptTools} from "dss-test/ScriptTools.sol";
import {MultiLineWipeSpell} from "src/line-wipe/MultiLineWipeSpell.sol";

contract MultiLineWipeDeployScript is Script {
using stdJson for string;
using ScriptTools for string;

string constant NAME = "multi-line-wipe-deploy";

function run() external {
vm.startBroadcast();

address spell = address(new MultiLineWipeSpell());
ScriptTools.exportContract(NAME, "spell", spell);

vm.stopBroadcast();
}
}
38 changes: 38 additions & 0 deletions script/MultiOsmStopDeploy.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// SPDX-FileCopyrightText: © 2023 Dai Foundation <www.daifoundation.org>
// SPDX-License-Identifier: AGPL-3.0-or-later
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
pragma solidity ^0.8.16;

import {Script} from "forge-std/Script.sol";
import {stdJson} from "forge-std/StdJson.sol";
import {MCD, DssInstance} from "dss-test/MCD.sol";
import {ScriptTools} from "dss-test/ScriptTools.sol";
import {MultiOsmStopSpell} from "src/osm-stop/MultiOsmStopSpell.sol";

contract MultiOsmStopDeployScript is Script {
using stdJson for string;
using ScriptTools for string;

string constant NAME = "multi-osm-stop-deploy";

function run() external {
vm.startBroadcast();

address spell = address(new MultiOsmStopSpell());
ScriptTools.exportContract(NAME, "spell", spell);

vm.stopBroadcast();
}
}
38 changes: 38 additions & 0 deletions script/SplitterStopDeploy.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// SPDX-FileCopyrightText: © 2023 Dai Foundation <www.daifoundation.org>
// SPDX-License-Identifier: AGPL-3.0-or-later
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
pragma solidity ^0.8.16;

import {Script} from "forge-std/Script.sol";
import {stdJson} from "forge-std/StdJson.sol";
import {MCD, DssInstance} from "dss-test/MCD.sol";
import {ScriptTools} from "dss-test/ScriptTools.sol";
import {SplitterStopSpell} from "src/splitter-stop/SplitterStopSpell.sol";

contract SplitterStopDeployScript is Script {
using stdJson for string;
using ScriptTools for string;

string constant NAME = "splitter-stop-deploy";

function run() external {
vm.startBroadcast();

address spell = address(new SplitterStopSpell());
ScriptTools.exportContract(NAME, "spell", spell);

vm.stopBroadcast();
}
}

0 comments on commit f3c1ace

Please sign in to comment.