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); } }