becrypto/migrations/12_deploy_proxy.js
2023-11-28 11:14:31 +08:00

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