Skip to content

Commit

Permalink
Merge fb6247d into 5ade954
Browse files Browse the repository at this point in the history
  • Loading branch information
sohkai committed Oct 15, 2018
2 parents 5ade954 + fb6247d commit 70c4c09
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 22 deletions.
34 changes: 18 additions & 16 deletions scripts/deploy-beta-apm.js
Expand Up @@ -2,18 +2,18 @@ const namehash = require('eth-ens-namehash').hash
const keccak256 = require('js-sha3').keccak_256

const deployENS = require('./deploy-beta-ens')
const deployDaoFactory = require('./deploy-daofactory')

const globalArtifacts = this.artifacts // Not injected unless called directly via truffle

const defaultOwner = process.env.OWNER || '0x4cb3fd420555a09ba98845f0b816e45cfb230983'
const defaultENSAddress = process.env.ENS
const ZERO_ADDR = '0x0000000000000000000000000000000000000000'

const baseInitArguments = {
Kernel: [ true ] // petrify
}
const defaultOwner = process.env.OWNER || '0x4cb3fd420555a09ba98845f0b816e45cfb230983'
const defaultDaoFactoryAddress = process.env.DAO_FACTORY
const defaultENSAddress = process.env.ENS

const deployBases = async baseContracts => {
const deployedContracts = await Promise.all(baseContracts.map(c => c.new(...(baseInitArguments[c.contractName] || []))))
const deployedContracts = await Promise.all(baseContracts.map(c => c.new()))
return deployedContracts.map(c => c.address)
}

Expand All @@ -23,21 +23,20 @@ module.exports = async (
artifacts = globalArtifacts,
ensAddress = defaultENSAddress,
owner = defaultOwner,
daoFactoryAddress = defaultDaoFactoryAddress,
verbose = true
} = {}
) => {
const log = (...args) => {
if (verbose) { console.log(...args) }
}

const ACL = artifacts.require('ACL')
const Kernel = artifacts.require('Kernel')
const APMRegistry = artifacts.require('APMRegistry')
const Repo = artifacts.require('Repo')
const ENSSubdomainRegistrar = artifacts.require('ENSSubdomainRegistrar')

const APMRegistryFactory = artifacts.require('APMRegistryFactory')
const DAOFactory = artifacts.require('DAOFactory')
const APMRegistryFactory = artifacts.require('APMRegistryFactory')
const ENS = artifacts.require('ENS')

const tldName = 'eth'
Expand Down Expand Up @@ -68,14 +67,17 @@ module.exports = async (
const apmBases = await deployBases([APMRegistry, Repo, ENSSubdomainRegistrar])
log('Deployed APM bases:', apmBases)

log('Deploying DAO bases...')
const daoBases = await deployBases([Kernel, ACL])
log('Deployed DAO bases', daoBases)
let daoFactory
if (daoFactoryAddress) {
daoFactory = DAOFactory.at(daoFactoryAddress)
const hasEVMScripts = await daoFactory.regFactory() !== ZERO_ADDR

log('Deploying DAOFactory without EVMScripts...')
const evmScriptRegistry = '0x00' // Basic APM needs no forwarding
const daoFactory = await DAOFactory.new(...daoBases, evmScriptRegistry)
log('Deployed DAOFactory:', daoFactory.address)
log(`Using provided DAOFactory (with${hasEVMScripts ? '' : 'out' } EVMScripts):`, daoFactoryAddress)
} else {
log('Deploying DAOFactory with EVMScripts...')
daoFactory = (await deployDaoFactory(null, { artifacts, withEvmScriptRegistryFactory: true, verbose: false })).daoFactory
log('Deployed DAOFactory:', daoFactory.address)
}

log('Deploying APMRegistryFactory...')
const apmFactory = await APMRegistryFactory.new(daoFactory.address, ...apmBases, ensAddress, '0x00')
Expand Down
16 changes: 10 additions & 6 deletions scripts/deploy-daofactory.js
Expand Up @@ -6,8 +6,8 @@ module.exports = async (
truffleExecCallback,
{
artifacts = globalArtifacts,
verbose = true,
withEvmScriptRegistryFactory = true
withEvmScriptRegistryFactory = true,
verbose = true
} = {}
) => {
const log = (...args) => {
Expand All @@ -18,18 +18,22 @@ module.exports = async (
const Kernel = artifacts.require('Kernel')

const DAOFactory = artifacts.require('DAOFactory')
const EVMScriptRegistryFactory = artifacts.require('EVMScriptRegistryFactory')

log('Deploying DAOFactory with bases...')
const kernelBase = await Kernel.new(true) // immediately petrify
const aclBase = await ACL.new()
let evmScriptRegistryFactoryAddress = ZERO_ADDR

let evmScriptRegistryFactory
if (withEvmScriptRegistryFactory) {
const EVMScriptRegistryFactory = artifacts.require('EVMScriptRegistryFactory')
evmScriptRegistryFactory = await EVMScriptRegistryFactory.new()
evmScriptRegistryFactoryAddress = evmScriptRegistryFactory.address
}
const daoFactory = await DAOFactory.new(kernelBase.address, aclBase.address, evmScriptRegistryFactoryAddress)
const daoFactory = await DAOFactory.new(
kernelBase.address,
aclBase.address,
evmScriptRegistryFactory ? evmScriptRegistryFactory.address : ZERO_ADDR
)

log('DAOFactory deployed:', daoFactory.address)

if (typeof truffleExecCallback === 'function') {
Expand Down

0 comments on commit 70c4c09

Please sign in to comment.