2019-08-20 22:39:21 +02:00
|
|
|
/* global artifacts */
|
|
|
|
require('dotenv').config({ path: '../.env' })
|
2019-12-13 14:49:19 +01:00
|
|
|
const ERC20Tornado = artifacts.require('ERC20Tornado')
|
2019-08-20 22:39:21 +02:00
|
|
|
const Verifier = artifacts.require('Verifier')
|
2019-10-04 18:17:28 +02:00
|
|
|
const hasherContract = artifacts.require('Hasher')
|
2019-08-20 22:39:21 +02:00
|
|
|
const ERC20Mock = artifacts.require('ERC20Mock')
|
|
|
|
|
2021-02-11 07:23:18 +01:00
|
|
|
module.exports = function (deployer, network, accounts) {
|
2019-08-20 22:39:21 +02:00
|
|
|
return deployer.then(async () => {
|
2019-11-02 13:35:22 +01:00
|
|
|
const { MERKLE_TREE_HEIGHT, ERC20_TOKEN, TOKEN_AMOUNT } = process.env
|
2019-08-20 22:39:21 +02:00
|
|
|
const verifier = await Verifier.deployed()
|
2019-10-04 14:12:22 +02:00
|
|
|
const hasherInstance = await hasherContract.deployed()
|
2019-12-13 14:49:19 +01:00
|
|
|
await ERC20Tornado.link(hasherContract, hasherInstance.address)
|
2019-08-20 22:39:21 +02:00
|
|
|
let token = ERC20_TOKEN
|
2021-02-11 07:23:18 +01:00
|
|
|
if (token === '') {
|
2019-08-20 22:39:21 +02:00
|
|
|
const tokenInstance = await deployer.deploy(ERC20Mock)
|
|
|
|
token = tokenInstance.address
|
|
|
|
}
|
2019-12-13 14:49:19 +01:00
|
|
|
const tornado = await deployer.deploy(
|
|
|
|
ERC20Tornado,
|
2019-08-20 22:39:21 +02:00
|
|
|
verifier.address,
|
2019-10-06 07:36:01 +02:00
|
|
|
TOKEN_AMOUNT,
|
2019-08-20 22:39:21 +02:00
|
|
|
MERKLE_TREE_HEIGHT,
|
|
|
|
accounts[0],
|
2019-08-27 22:42:24 +02:00
|
|
|
token,
|
2019-08-20 22:39:21 +02:00
|
|
|
)
|
2021-02-11 07:23:18 +01:00
|
|
|
console.log('ERC20Tornado address ', tornado.address)
|
2019-08-20 22:39:21 +02:00
|
|
|
})
|
|
|
|
}
|