104 lines
5.7 KiB
JavaScript
104 lines
5.7 KiB
JavaScript
const { concurrent, series } = require('nps-utils')
|
|
|
|
const combineSolidityScript = 'submodules/solidity-flattener/index.js'
|
|
const tokenMarketNetPath = 'submodules/poa-token-market-net-ico/contracts/'
|
|
const contractFolder = './public/contracts'
|
|
const extensionPath = './scripts/POAExtendedCrowdSale.sol'
|
|
|
|
const safeMathLibContractName = 'SafeMathLibExt'
|
|
const crowdsaleContractName = 'MintedTokenCappedCrowdsaleExt'
|
|
const crowdsaleTokenContractName = 'CrowdsaleTokenExt'
|
|
const crowdsalePricingStrategyContractName = 'FlatPricingExt'
|
|
const nullFinalizeAgentContractName = 'NullFinalizeAgentExt'
|
|
const finalizeAgentContractName = 'ReservedTokensFinalizeAgent'
|
|
const registryContractName = 'Registry'
|
|
|
|
module.exports = {
|
|
scripts: {
|
|
build: {
|
|
default: series(
|
|
'git submodule update --init --recursive --remote', 'cd submodules/solidity-flattener', 'npm install', 'cd ../../',
|
|
'npm install',
|
|
'cd submodules/poa-web3-1.0', 'npm install', 'cd ../../',
|
|
'npm install --no-save submodules/poa-web3-1.0/packages/web3',
|
|
'nps contracts',
|
|
'node scripts/build.js',
|
|
'cp ./build/index.html ./build/invest.html',
|
|
'cp ./build/index.html ./build/crowdsale.html',
|
|
'cp ./build/index.html ./build/manage.html'
|
|
)
|
|
},
|
|
contracts: {
|
|
default: series.nps('contracts.generate', 'contracts.compile'),
|
|
generate: {
|
|
default: concurrent.nps(
|
|
'contracts.generate.safeMathLib',
|
|
'contracts.generate.crowdsale',
|
|
'contracts.generate.crowdsaleToken',
|
|
'contracts.generate.crowdsalePricingStrategy',
|
|
'contracts.generate.crowdsaleNullFinalizeAgent',
|
|
'contracts.generate.crowdsaleFinalizeAgent',
|
|
'contracts.generate.registry'
|
|
),
|
|
safeMathLib: `node ${combineSolidityScript} ${tokenMarketNetPath}/${safeMathLibContractName}.sol ${contractFolder} SafeMathLibExt`,
|
|
crowdsale: `node ${combineSolidityScript} ${tokenMarketNetPath}/${crowdsaleContractName}.sol ${contractFolder} CrowdsaleWhiteListWithCap`,
|
|
crowdsaleToken: `node ${combineSolidityScript} ${tokenMarketNetPath}/${crowdsaleTokenContractName}.sol ${contractFolder} CrowdsaleWhiteListWithCapToken`,
|
|
crowdsalePricingStrategy: `node ${combineSolidityScript} ${tokenMarketNetPath}/${crowdsalePricingStrategyContractName}.sol ${contractFolder} CrowdsaleWhiteListWithCapPricingStrategy`,
|
|
crowdsaleNullFinalizeAgent: `node ${combineSolidityScript} ${tokenMarketNetPath}/${nullFinalizeAgentContractName}.sol ${contractFolder} NullFinalizeAgent`,
|
|
crowdsaleFinalizeAgent: `node ${combineSolidityScript} ${tokenMarketNetPath}/${finalizeAgentContractName}.sol ${contractFolder} FinalizeAgent`,
|
|
registry: `node ${combineSolidityScript} ${tokenMarketNetPath}/${registryContractName}.sol ${contractFolder} Registry`,
|
|
},
|
|
compile: {
|
|
default: concurrent.nps(
|
|
'contracts.compile.safeMathLibExt',
|
|
'contracts.compile.crowdsale',
|
|
'contracts.compile.crowdsaleToken',
|
|
'contracts.compile.crowdsalePricingStrategy',
|
|
'contracts.compile.crowdsaleNullFinalizeAgent',
|
|
'contracts.compile.crowdsaleFinalizeAgent',
|
|
'contracts.compile.registry'
|
|
),
|
|
safeMathLibExt: `node ./scripts/compileContract.js ${contractFolder}/SafeMathLibExt_flat.sol ${contractFolder} ${extensionPath} false ${safeMathLibContractName} SafeMathLibExt`,
|
|
crowdsale: `node ./scripts/compileContract.js ${contractFolder}/CrowdsaleWhiteListWithCap_flat.sol ${contractFolder} ${extensionPath} false ${crowdsaleContractName} CrowdsaleWhiteListWithCap`,
|
|
crowdsaleToken: `node ./scripts/compileContract.js ${contractFolder}/CrowdsaleWhiteListWithCapToken_flat.sol ${contractFolder} ${extensionPath} false ${crowdsaleTokenContractName} CrowdsaleWhiteListWithCapToken`,
|
|
crowdsalePricingStrategy: `node ./scripts/compileContract.js ${contractFolder}/CrowdsaleWhiteListWithCapPricingStrategy_flat.sol ${contractFolder} ${extensionPath} false ${crowdsalePricingStrategyContractName} CrowdsaleWhiteListWithCapPricingStrategy`,
|
|
crowdsaleNullFinalizeAgent: `node ./scripts/compileContract.js ${contractFolder}/NullFinalizeAgent_flat.sol ${contractFolder} ${extensionPath} false ${nullFinalizeAgentContractName} NullFinalizeAgent`,
|
|
crowdsaleFinalizeAgent: `node ./scripts/compileContract.js ${contractFolder}/FinalizeAgent_flat.sol ${contractFolder} ${extensionPath} false ${finalizeAgentContractName} FinalizeAgent`,
|
|
registry: `node ./scripts/compileContract.js ${contractFolder}/Registry_flat.sol ${contractFolder} ${extensionPath} false ${registryContractName} Registry`
|
|
}
|
|
},
|
|
dev: {
|
|
default: 'npm run installWeb3 && nps contracts.generate.registry && nps contracts.compile.registry && npm run deployRegistry && npm start',
|
|
fast: 'npm run installWeb3 && nps contracts.generate.registry && nps contracts.compile.registry && npm run deployRegistry && node scripts/start.js'
|
|
},
|
|
test: {
|
|
default: series(
|
|
'bash ./start_testrpc.sh',
|
|
'cd ./submodules/poa-token-market-net-ico/',
|
|
'npm install',
|
|
'node_modules/.bin/truffle migrate --network testrpc',
|
|
'node_modules/.bin/truffle test --network testrpc',
|
|
'cd ../../',
|
|
'nps test.e2e'
|
|
),
|
|
e2e: {
|
|
default: series(
|
|
'nps test.e2e.prepare',
|
|
'nps test.e2e.start',
|
|
'npm run delay',
|
|
'cd submodules/token-wizard-test-automation',
|
|
'npm run test1'
|
|
),
|
|
prepare: series(
|
|
'nps contracts',
|
|
'cd submodules/token-wizard-test-automation',
|
|
'npm i',
|
|
'npm run e2e-deployRegistry',
|
|
'cp .env ../../.env'
|
|
),
|
|
start: 'PORT=3000 BROWSER=none node scripts/start.js &'
|
|
}
|
|
}
|
|
}
|
|
}
|