diff --git a/migrate-base.js b/migrate-base.js index 7d196131..b1ad01ce 100644 --- a/migrate-base.js +++ b/migrate-base.js @@ -1,4 +1,4 @@ -async function migrateBase ({ arcVersion, web3, spinner, confirm, opts, logTx, previousMigration }) { +async function migrateBase ({ arcVersion, web3, spinner, confirm, opts, logTx, previousMigration, getArcVersionNumber }) { if (!(await confirm('About to migrate base contracts. Continue?'))) { return } @@ -98,7 +98,7 @@ async function migrateBase ({ arcVersion, web3, spinner, confirm, opts, logTx, p [], web3.eth.accounts.wallet[0].address ) - if (Number(arcVersion.slice(-2)) >= 29) { + if (getArcVersionNumber(arcVersion) >= 29) { DAOTracker = await deploy(require(`./contracts/${arcVersion}/DAOTracker.json`)) } } else { @@ -109,7 +109,7 @@ async function migrateBase ({ arcVersion, web3, spinner, confirm, opts, logTx, p [], '0x85e7fa550b534656d04d143b9a23a11e05077da3' // DAOstack's controlled account ) - if (Number(arcVersion.slice(-2)) >= 29) { + if (getArcVersionNumber(arcVersion) >= 29) { DAOTracker = await deploy(require(`./contracts/${arcVersion}/DAOTracker.json`)) const daoTracker = new web3.eth.Contract( require(`./contracts/${arcVersion}/DAOTracker.json`).abi, @@ -128,7 +128,7 @@ async function migrateBase ({ arcVersion, web3, spinner, confirm, opts, logTx, p [], '0x73Db6408abbea97C5DB8A2234C4027C315094936' ) - if (Number(arcVersion.slice(-2)) >= 29) { + if (getArcVersionNumber(arcVersion) >= 29) { DAOTracker = await deploy(require(`./contracts/${arcVersion}/DAOTracker.json`)) const daoTracker = new web3.eth.Contract( require(`./contracts/${arcVersion}/DAOTracker.json`).abi, @@ -146,7 +146,7 @@ async function migrateBase ({ arcVersion, web3, spinner, confirm, opts, logTx, p const ControllerCreator = await deploy(require(`./contracts/${arcVersion}/ControllerCreator.json`)) - if (Number(arcVersion.slice(-2)) >= 29) { + if (getArcVersionNumber(arcVersion) >= 29) { await deploy( require(`./contracts/${arcVersion}/DaoCreator.json`), ['ControllerCreator', 'DAOTracker'], @@ -177,10 +177,10 @@ async function migrateBase ({ arcVersion, web3, spinner, confirm, opts, logTx, p await deploy(require(`./contracts/${arcVersion}/TokenCapGC.json`)) await deploy(require(`./contracts/${arcVersion}/VoteInOrganizationScheme.json`)) await deploy(require(`./contracts/${arcVersion}/OrganizationRegister.json`)) - if (Number(arcVersion.slice(-2)) >= 22) { + if (getArcVersionNumber(arcVersion) >= 22) { await deploy(require(`./contracts/${arcVersion}/Redeemer.json`)) } - if (Number(arcVersion.slice(-2)) >= 24) { + if (getArcVersionNumber(arcVersion) >= 24) { await deploy(require(`./contracts/${arcVersion}/UGenericScheme.json`)) } else { await deploy(require(`./contracts/${arcVersion}/GenericScheme.json`)) diff --git a/migrate-dao.js b/migrate-dao.js index 95960184..73d32470 100644 --- a/migrate-dao.js +++ b/migrate-dao.js @@ -1,7 +1,7 @@ const utils = require('./utils.js') const sanitize = require('./sanitize') -async function migrateDAO ({ arcVersion, web3, spinner, confirm, opts, migrationParams, logTx, previousMigration, customAbisLocation, restart, getState, setState, cleanState, sendTx }) { +async function migrateDAO ({ arcVersion, web3, spinner, confirm, opts, migrationParams, logTx, previousMigration, customAbisLocation, restart, getState, setState, cleanState, sendTx, getArcVersionNumber }) { const network = await web3.eth.net.getNetworkType() if (restart) { cleanState(network) @@ -66,8 +66,8 @@ async function migrateDAO ({ arcVersion, web3, spinner, confirm, opts, migration ) const genericScheme = new web3.eth.Contract( - Number(arcVersion.slice(-2)) >= 24 ? require(`./contracts/${arcVersion}/UGenericScheme.json`).abi : require(`./contracts/${arcVersion}/GenericScheme.json`).abi, - Number(arcVersion.slice(-2)) >= 24 ? UGenericScheme : GenericScheme, + getArcVersionNumber(arcVersion) >= 24 ? require(`./contracts/${arcVersion}/UGenericScheme.json`).abi : require(`./contracts/${arcVersion}/GenericScheme.json`).abi, + getArcVersionNumber(arcVersion) >= 24 ? UGenericScheme : GenericScheme, opts ) @@ -313,15 +313,15 @@ async function migrateDAO ({ arcVersion, web3, spinner, confirm, opts, migration ) } - if (migrationParams.noTrack !== true && Number(arcVersion.slice(-2)) >= 29 && deploymentState.trackedDAO !== true) { + if (migrationParams.noTrack !== true && getArcVersionNumber(arcVersion) >= 29 && deploymentState.trackedDAO !== true) { const daoTracker = new web3.eth.Contract( require(`./contracts/${arcVersion}/DAOTracker.json`).abi, DAOTracker, opts ) - tx = (await sendTx((Number(arcVersion.slice(-2)) >= 32 + tx = (await sendTx(getArcVersionNumber(arcVersion) >= 32 ? await daoTracker.methods.track(avatar.options.address, deploymentState.Controller, arcVersion) - : await daoTracker.methods.track(avatar.options.address, deploymentState.Controller)), 'Registering DAO in DAOTracker')).receipt + : await daoTracker.methods.track(avatar.options.address, deploymentState.Controller), 'Registering DAO in DAOTracker')).receipt await logTx(tx, 'Finished Registering DAO in DAOTracker') deploymentState.trackedDAO = true setState(deploymentState, network) @@ -541,7 +541,7 @@ async function migrateDAO ({ arcVersion, web3, spinner, confirm, opts, migration } deploymentState.schemeNames.push('Generic Scheme') - deploymentState.schemes.push(Number(arcVersion.slice(-2)) >= 24 ? UGenericScheme : GenericScheme) + deploymentState.schemes.push(getArcVersionNumber(arcVersion) >= 24 ? UGenericScheme : GenericScheme) deploymentState.params.push(genericSchemeParams) deploymentState.permissions.push('0x00000010') setState(deploymentState, network) diff --git a/migrate.js b/migrate.js index 2f6097a7..c68e69ba 100755 --- a/migrate.js +++ b/migrate.js @@ -174,6 +174,9 @@ const wrapCommand = fn => async options => { } } }, + getArcVersionNumber: function getArcVersionNumber (arcVersion) { + return Number(arcVersion.slice(-2)) + }, sendTx: async function sendTx (tx, msg) { spinner.start(msg) let gas = 0