2019-07-16 16:49:45 -04:00
|
|
|
/* global artifacts */
|
2019-07-16 13:27:20 -04:00
|
|
|
const path = require('path')
|
2019-07-10 12:58:21 -04:00
|
|
|
|
2019-07-16 13:27:20 -04:00
|
|
|
const mimcGenContract = require('circomlib/src/mimcsponge_gencontract.js')
|
|
|
|
const Artifactor = require('truffle-artifactor')
|
2019-07-10 12:58:21 -04:00
|
|
|
|
2019-07-16 13:27:20 -04:00
|
|
|
const SEED = 'mimcsponge'
|
2019-07-10 12:58:21 -04:00
|
|
|
|
|
|
|
|
|
|
|
module.exports = function(deployer) {
|
|
|
|
return deployer.then( async () => {
|
2019-07-16 13:27:20 -04:00
|
|
|
const contractsDir = path.join(__dirname, '..', 'build/contracts')
|
|
|
|
let artifactor = new Artifactor(contractsDir)
|
|
|
|
let mimcContractName = 'MiMC'
|
2019-07-10 12:58:21 -04:00
|
|
|
await artifactor.save({
|
|
|
|
contractName: mimcContractName,
|
|
|
|
abi: mimcGenContract.abi,
|
|
|
|
unlinked_binary: mimcGenContract.createCode(SEED, 220),
|
2019-07-16 13:27:20 -04:00
|
|
|
}).then(async () => {
|
|
|
|
const MiMC = artifacts.require(mimcContractName)
|
|
|
|
await deployer.deploy(MiMC)
|
2019-07-10 12:58:21 -04:00
|
|
|
})
|
2019-07-16 13:27:20 -04:00
|
|
|
})
|
|
|
|
}
|