Skip to content

Commit

Permalink
create deploy script for strategies
Browse files Browse the repository at this point in the history
  • Loading branch information
0xAustrian committed Sep 4, 2024
1 parent 99b62a4 commit 3a63ee2
Show file tree
Hide file tree
Showing 8 changed files with 125 additions and 1 deletion.
2 changes: 1 addition & 1 deletion script/DeployBase.sol
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ abstract contract DeployBase is Script {
vm.startBroadcast();
address _contract = _deploy(block.chainid, _params);
vm.stopBroadcast();

console.log("Deployed contract at address: %s", _contract);
}

Expand Down
20 changes: 20 additions & 0 deletions script/DeployDonationVotingMerkleDistribution.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

import {DeployBase} from "script/DeployBase.sol";
import {DonationVotingMerkleDistribution} from
"contracts/strategies/examples/donation-voting/DonationVotingMerkleDistribution.sol";

contract DeployDonationVotingMerkleDistribution is DeployBase {
function setUp() public {
// Mainnet
address _allo = 0x0000000000000000000000000000000000000000;
bool _directTransfer = false;
_deploymentParams[1] = abi.encode(_allo, _directTransfer);
}

function _deploy(uint256, bytes memory _data) internal override returns (address _contract) {
(address _allo, bool _directTransfer) = abi.decode(_data, (address, bool));
return address(new DonationVotingMerkleDistribution(_allo, _directTransfer));
}
}
19 changes: 19 additions & 0 deletions script/DeployDonationVotingOffchain.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

import {DeployBase} from "script/DeployBase.sol";
import {DonationVotingOffchain} from "contracts/strategies/examples/donation-voting/DonationVotingOffchain.sol";

contract DeployDonationVotingOffchain is DeployBase {
function setUp() public {
// Mainnet
address _allo = 0x0000000000000000000000000000000000000000;
bool _directTransfer = false;
_deploymentParams[1] = abi.encode(_allo, _directTransfer);
}

function _deploy(uint256, bytes memory _data) internal override returns (address _contract) {
(address _allo, bool _directTransfer) = abi.decode(_data, (address, bool));
return address(new DonationVotingOffchain(_allo, _directTransfer));
}
}
17 changes: 17 additions & 0 deletions script/DeployDonationVotingOnchain.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

import {DeployBase} from "script/DeployBase.sol";
import {DonationVotingOnchain} from "contracts/strategies/examples/donation-voting/DonationVotingOnchain.sol";

contract DeployDonationVotingOnchain is DeployBase {
function setUp() public {
// Mainnet
address _allo = 0x0000000000000000000000000000000000000000;
_deploymentParams[1] = abi.encode(_allo);
}

function _deploy(uint256, bytes memory _data) internal override returns (address _contract) {
return address(new DonationVotingOnchain(abi.decode(_data, (address))));
}
}
17 changes: 17 additions & 0 deletions script/DeployEasyRPGF.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

import {DeployBase} from "script/DeployBase.sol";
import {EasyRPGF} from "contracts/strategies/examples/easy-rpgf/EasyRPGF.sol";

contract DeployEasyRPGF is DeployBase {
function setUp() public {
// Mainnet
address _allo = 0x0000000000000000000000000000000000000000;
_deploymentParams[1] = abi.encode(_allo);
}

function _deploy(uint256, bytes memory _data) internal override returns (address _contract) {
return address(new EasyRPGF(abi.decode(_data, (address))));
}
}
17 changes: 17 additions & 0 deletions script/DeployQVImpactStream.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

import {DeployBase} from "script/DeployBase.sol";
import {QVImpactStream} from "contracts/strategies/examples/impact-stream/QVImpactStream.sol";

contract DeployQVImpactStream is DeployBase {
function setUp() public {
// Mainnet
address _allo = 0x0000000000000000000000000000000000000000;
_deploymentParams[1] = abi.encode(_allo);
}

function _deploy(uint256, bytes memory _data) internal override returns (address _contract) {
return address(new QVImpactStream(abi.decode(_data, (address))));
}
}
17 changes: 17 additions & 0 deletions script/DeployQVSimple.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

import {DeployBase} from "script/DeployBase.sol";
import {QVSimple} from "contracts/strategies/examples/quadratic-voting/QVSimple.sol";

contract DeployQVSimple is DeployBase {
function setUp() public {
// Mainnet
address _allo = 0x0000000000000000000000000000000000000000;
_deploymentParams[1] = abi.encode(_allo);
}

function _deploy(uint256, bytes memory _data) internal override returns (address _contract) {
return address(new QVSimple(abi.decode(_data, (address))));
}
}
17 changes: 17 additions & 0 deletions script/DeployRFPSimple.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

import {DeployBase} from "script/DeployBase.sol";
import {RFPSimple} from "contracts/strategies/examples/rfp/RFPSimple.sol";

contract DeployRFPSimple is DeployBase {
function setUp() public {
// Mainnet
address _allo = 0x0000000000000000000000000000000000000000;
_deploymentParams[1] = abi.encode(_allo);
}

function _deploy(uint256, bytes memory _data) internal override returns (address _contract) {
return address(new RFPSimple(abi.decode(_data, (address))));
}
}

0 comments on commit 3a63ee2

Please sign in to comment.