33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
const EvolveProxy = artifacts.require('logic/EvolveProxy');
|
|
const NFT = artifacts.require("tokens/erc721/NFT");
|
|
const base = require("../scripts/base");
|
|
|
|
module.exports = async function (deployer, network, accounts) {
|
|
const config = require(`../config/config_${network}`);
|
|
let cfgs = base.loadData({ network });
|
|
const heroAddress = cfgs.find((c) => c.name === "HERO").address
|
|
await deployer.deploy(EvolveProxy, heroAddress);
|
|
const proxyInstance = await EvolveProxy.deployed();
|
|
if(!proxyInstance) {
|
|
return console.log("EvolveProxy deploy failed.")
|
|
}
|
|
console.log("EvolveProxy successfully deployed.")
|
|
base.updateArray({
|
|
name: "EvolveProxy",
|
|
type: "logic",
|
|
json: "assets/contracts/EvolveProxy.json",
|
|
address: proxyInstance.address,
|
|
network,
|
|
});
|
|
|
|
try {
|
|
const heroInstance = await NFT.at(heroAddress);
|
|
await heroInstance.setMintRole(proxyInstance.address);
|
|
console.log(`success set mint role for: ${heroInstance.address}`)
|
|
await proxyInstance.updateExecutor(config.admins.admin);
|
|
console.log(`success update executor for: ${proxyInstance.address}`)
|
|
} catch (err) {
|
|
console.log(err);
|
|
}
|
|
}
|