From 88931d6f3a57ed471e6e15923b27c1eab5277062 Mon Sep 17 00:00:00 2001 From: Michael Heuer Date: Wed, 24 May 2023 16:57:55 +0200 Subject: [PATCH] feat: provide contract artifact in deploy method --- .../deploy/new/10_framework/02_ens_subdomain_registrars.ts | 6 ++++-- .../contracts/deploy/new/10_framework/10_dao-registry.ts | 4 +++- .../deploy/new/10_framework/20_plugin-repo-registry.ts | 3 +++ .../contracts/deploy/new/10_framework/30_repo-factory.ts | 4 +++- .../deploy/new/10_framework/40_plugin_setup_processor.ts | 4 +++- .../contracts/deploy/new/10_framework/50_dao-factory.ts | 4 +++- .../00_plugin-setups/00_addresslist_voting_setup.ts | 3 +++ .../30_plugins/00_plugin-setups/10_token_voting_setup.ts | 3 +++ .../new/30_plugins/00_plugin-setups/20_admin_setup.ts | 3 +++ .../new/30_plugins/00_plugin-setups/30_multisig_setup.ts | 3 +++ .../new/30_plugins/00_plugin-setups/40_placeholder_setup.ts | 2 ++ packages/contracts/utils/ens.ts | 5 +++++ 12 files changed, 38 insertions(+), 6 deletions(-) diff --git a/packages/contracts/deploy/new/10_framework/02_ens_subdomain_registrars.ts b/packages/contracts/deploy/new/10_framework/02_ens_subdomain_registrars.ts index 1cf85e7ff..466599b10 100644 --- a/packages/contracts/deploy/new/10_framework/02_ens_subdomain_registrars.ts +++ b/packages/contracts/deploy/new/10_framework/02_ens_subdomain_registrars.ts @@ -3,6 +3,8 @@ import {HardhatRuntimeEnvironment} from 'hardhat/types'; import {DAO__factory, ENSRegistry__factory} from '../../../typechain'; import {getContractAddress, getENSAddress} from '../../helpers'; +import ensSubdomainRegistrarArtifact from '../../../artifacts/src/framework/utils/ens/ENSSubdomainRegistrar.sol/ENSSubdomainRegistrar.json'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const {deployments, ethers, network} = hre; const {deploy} = deployments; @@ -27,7 +29,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { } await deploy('DAO_ENSSubdomainRegistrar', { - contract: 'ENSSubdomainRegistrar', + contract: ensSubdomainRegistrarArtifact, from: deployer.address, args: [], log: true, @@ -51,7 +53,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { ); await deploy('Plugin_ENSSubdomainRegistrar', { - contract: 'ENSSubdomainRegistrar', + contract: ensSubdomainRegistrarArtifact, from: deployer.address, args: [], log: true, diff --git a/packages/contracts/deploy/new/10_framework/10_dao-registry.ts b/packages/contracts/deploy/new/10_framework/10_dao-registry.ts index 92e29c862..009e1ed03 100644 --- a/packages/contracts/deploy/new/10_framework/10_dao-registry.ts +++ b/packages/contracts/deploy/new/10_framework/10_dao-registry.ts @@ -1,8 +1,9 @@ import {HardhatRuntimeEnvironment} from 'hardhat/types'; import {DeployFunction} from 'hardhat-deploy/types'; - import {getContractAddress} from '../../helpers'; +import daoRegistryArtifact from '../../../artifacts/src/framework/dao/DAORegistry.sol/DAORegistry.json'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const {deployments, ethers} = hre; const {deploy} = deployments; @@ -18,6 +19,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { ); await deploy('DAORegistry', { + contract: daoRegistryArtifact, from: deployer.address, args: [], log: true, diff --git a/packages/contracts/deploy/new/10_framework/20_plugin-repo-registry.ts b/packages/contracts/deploy/new/10_framework/20_plugin-repo-registry.ts index 7272a1800..d07b545a0 100644 --- a/packages/contracts/deploy/new/10_framework/20_plugin-repo-registry.ts +++ b/packages/contracts/deploy/new/10_framework/20_plugin-repo-registry.ts @@ -3,6 +3,8 @@ import {DeployFunction} from 'hardhat-deploy/types'; import {getContractAddress} from '../../helpers'; +import pluginRepoRegistryArtifact from '../../../artifacts/src/framework/plugin/repo/PluginRepoRegistry.sol/PluginRepoRegistry.json'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const {deployments, ethers} = hre; const {deploy} = deployments; @@ -18,6 +20,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { ); await deploy('PluginRepoRegistry', { + contract: pluginRepoRegistryArtifact, from: deployer.address, args: [], log: true, diff --git a/packages/contracts/deploy/new/10_framework/30_repo-factory.ts b/packages/contracts/deploy/new/10_framework/30_repo-factory.ts index c86e0ce3e..4cf1b4d79 100644 --- a/packages/contracts/deploy/new/10_framework/30_repo-factory.ts +++ b/packages/contracts/deploy/new/10_framework/30_repo-factory.ts @@ -1,8 +1,9 @@ import {HardhatRuntimeEnvironment} from 'hardhat/types'; import {DeployFunction} from 'hardhat-deploy/types'; - import {getContractAddress} from '../../helpers'; +import pluginRepoFactoryArtifact from '../../../artifacts/src/framework/plugin/repo/PluginRepoFactory.sol/PluginRepoFactory.json'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const {deployments, ethers} = hre; const {deploy} = deployments; @@ -15,6 +16,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { ); await deploy('PluginRepoFactory', { + contract: pluginRepoFactoryArtifact, from: deployer.address, args: [pluginRepoRegistryAddress], log: true, diff --git a/packages/contracts/deploy/new/10_framework/40_plugin_setup_processor.ts b/packages/contracts/deploy/new/10_framework/40_plugin_setup_processor.ts index b4eab6faa..8b2532391 100644 --- a/packages/contracts/deploy/new/10_framework/40_plugin_setup_processor.ts +++ b/packages/contracts/deploy/new/10_framework/40_plugin_setup_processor.ts @@ -1,8 +1,9 @@ import {HardhatRuntimeEnvironment} from 'hardhat/types'; import {DeployFunction} from 'hardhat-deploy/types'; - import {getContractAddress} from '../../helpers'; +import pluginSetupProcessorFactoryArtifact from '../../../artifacts/src/framework/plugin/setup/PluginSetupProcessor.sol/PluginSetupProcessor.json'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const {deployments, ethers} = hre; const {deploy} = deployments; @@ -15,6 +16,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { ); await deploy('PluginSetupProcessor', { + contract: pluginSetupProcessorFactoryArtifact, from: deployer.address, args: [pluginRepoRegistryAddress], log: true, diff --git a/packages/contracts/deploy/new/10_framework/50_dao-factory.ts b/packages/contracts/deploy/new/10_framework/50_dao-factory.ts index 66f718d76..68e991373 100644 --- a/packages/contracts/deploy/new/10_framework/50_dao-factory.ts +++ b/packages/contracts/deploy/new/10_framework/50_dao-factory.ts @@ -1,8 +1,9 @@ import {HardhatRuntimeEnvironment} from 'hardhat/types'; import {DeployFunction} from 'hardhat-deploy/types'; - import {getContractAddress} from '../../helpers'; +import daoFactoryArtifact from '../../../artifacts/src/framework/dao/DAOFactory.sol/DAOFactory.json'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const {deployments, ethers} = hre; const {deploy} = deployments; @@ -18,6 +19,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { ); await deploy('DAOFactory', { + contract: daoFactoryArtifact, from: deployer.address, args: [daoRegistryAddress, pluginSetupProcessorAddress], log: true, diff --git a/packages/contracts/deploy/new/30_plugins/00_plugin-setups/00_addresslist_voting_setup.ts b/packages/contracts/deploy/new/30_plugins/00_plugin-setups/00_addresslist_voting_setup.ts index 537e5acd2..a44c968ba 100644 --- a/packages/contracts/deploy/new/30_plugins/00_plugin-setups/00_addresslist_voting_setup.ts +++ b/packages/contracts/deploy/new/30_plugins/00_plugin-setups/00_addresslist_voting_setup.ts @@ -1,6 +1,8 @@ import {HardhatRuntimeEnvironment} from 'hardhat/types'; import {DeployFunction} from 'hardhat-deploy/types'; +import addresslistVotingSetupArtifact from '../../../../artifacts/src/plugins/governance/majority-voting/addresslist/AddresslistVotingSetup.sol/AddresslistVotingSetup.json'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { console.log(`\nDeploying plugins.`); @@ -9,6 +11,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const [deployer] = await ethers.getSigners(); await deploy('AddresslistVotingSetup', { + contract: addresslistVotingSetupArtifact, from: deployer.address, args: [], log: true, diff --git a/packages/contracts/deploy/new/30_plugins/00_plugin-setups/10_token_voting_setup.ts b/packages/contracts/deploy/new/30_plugins/00_plugin-setups/10_token_voting_setup.ts index d89345c51..87ce42fb2 100644 --- a/packages/contracts/deploy/new/30_plugins/00_plugin-setups/10_token_voting_setup.ts +++ b/packages/contracts/deploy/new/30_plugins/00_plugin-setups/10_token_voting_setup.ts @@ -1,12 +1,15 @@ import {HardhatRuntimeEnvironment} from 'hardhat/types'; import {DeployFunction} from 'hardhat-deploy/types'; +import tokenVotingSetupArtifact from '../../../../artifacts/src/plugins/governance/majority-voting/token/TokenVotingSetup.sol/TokenVotingSetup.json'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const {deployments, ethers} = hre; const {deploy} = deployments; const [deployer] = await ethers.getSigners(); await deploy('TokenVotingSetup', { + contract: tokenVotingSetupArtifact, from: deployer.address, args: [], log: true, diff --git a/packages/contracts/deploy/new/30_plugins/00_plugin-setups/20_admin_setup.ts b/packages/contracts/deploy/new/30_plugins/00_plugin-setups/20_admin_setup.ts index 004a13a9f..bc658bb3c 100644 --- a/packages/contracts/deploy/new/30_plugins/00_plugin-setups/20_admin_setup.ts +++ b/packages/contracts/deploy/new/30_plugins/00_plugin-setups/20_admin_setup.ts @@ -1,12 +1,15 @@ import {HardhatRuntimeEnvironment} from 'hardhat/types'; import {DeployFunction} from 'hardhat-deploy/types'; +import adminSetupArtifact from '../../../../artifacts/src/plugins/governance/admin/AdminSetup.sol/AdminSetup.json'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const {deployments, ethers} = hre; const {deploy} = deployments; const [deployer] = await ethers.getSigners(); await deploy('AdminSetup', { + contract: adminSetupArtifact, from: deployer.address, args: [], log: true, diff --git a/packages/contracts/deploy/new/30_plugins/00_plugin-setups/30_multisig_setup.ts b/packages/contracts/deploy/new/30_plugins/00_plugin-setups/30_multisig_setup.ts index 873c31ac4..4d1f7db59 100644 --- a/packages/contracts/deploy/new/30_plugins/00_plugin-setups/30_multisig_setup.ts +++ b/packages/contracts/deploy/new/30_plugins/00_plugin-setups/30_multisig_setup.ts @@ -1,12 +1,15 @@ import {HardhatRuntimeEnvironment} from 'hardhat/types'; import {DeployFunction} from 'hardhat-deploy/types'; +import multisigSetupArtifact from '../../../../artifacts/src/plugins/governance/multisig/MultisigSetup.sol/MultisigSetup.json'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const {deployments, ethers} = hre; const {deploy} = deployments; const [deployer] = await ethers.getSigners(); await deploy('MultisigSetup', { + contract: multisigSetupArtifact, from: deployer.address, args: [], log: true, diff --git a/packages/contracts/deploy/new/30_plugins/00_plugin-setups/40_placeholder_setup.ts b/packages/contracts/deploy/new/30_plugins/00_plugin-setups/40_placeholder_setup.ts index 9e1a2d255..7e72382b6 100644 --- a/packages/contracts/deploy/new/30_plugins/00_plugin-setups/40_placeholder_setup.ts +++ b/packages/contracts/deploy/new/30_plugins/00_plugin-setups/40_placeholder_setup.ts @@ -2,6 +2,7 @@ import {HardhatRuntimeEnvironment} from 'hardhat/types'; import {DeployFunction} from 'hardhat-deploy/types'; import {uploadToIPFS} from '../../../helpers'; +import placeholderSetupArtifact from '../../../../artifacts/src/plugins/placeholder-version/PlaceholderSetup.sol/PlaceholderSetup.json'; import placeholderBuildMetadata from '../../../../src/plugins/placeholder-version/build-metadata.json'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { @@ -10,6 +11,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const [deployer] = await ethers.getSigners(); await deploy('PlaceholderSetup', { + contract: placeholderSetupArtifact, from: deployer.address, args: [], log: true, diff --git a/packages/contracts/utils/ens.ts b/packages/contracts/utils/ens.ts index 3e20a7ec6..3f0d5d893 100644 --- a/packages/contracts/utils/ens.ts +++ b/packages/contracts/utils/ens.ts @@ -2,6 +2,9 @@ import {ethers} from 'hardhat'; import {ENSRegistry__factory} from '../typechain'; import {EHRE} from './types'; +import ensRegistryArtifact from '../artifacts/@ensdomains/ens-contracts/contracts/registry/ENSRegistry.sol/ENSRegistry.json'; +import publicResolverArtifact from '../artifacts/@ensdomains/ens-contracts/contracts/resolvers/PublicResolver.sol/PublicResolver.json'; + export function ensLabelHash(label: string): string { return ethers.utils.id(label); } @@ -17,6 +20,7 @@ export async function setupENS(domains: string[], hre: EHRE): Promise { // Deploy the ENSRegistry await deploy('ENSRegistry', { + contract: ensRegistryArtifact, from: deployer.address, args: [], log: true, @@ -27,6 +31,7 @@ export async function setupENS(domains: string[], hre: EHRE): Promise { // Deploy the Resolver await deploy('PublicResolver', { + contract: publicResolverArtifact, from: deployer.address, args: [ensDeployment.address, ethers.constants.AddressZero], });