const BricksFactory = artifacts.require('logic/GoldBricksFactory'); 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 brickAddress = cfgs.find((c) => c.name === "GoldBrick").address await deployer.deploy(BricksFactory); const factoryInstance = await BricksFactory.deployed(); if(!factoryInstance) { return console.log("BricksFactory deploy failed.") } console.log("BricksFactory successfully deployed.") base.updateArray({ name: "GoldBricksFactory", type: "logic", json: "assets/contracts/GoldBricksFactory.json", address: factoryInstance.address, network, }); try { const brickInstance = await NFT.at(brickAddress); await brickInstance.setMintRole(factoryInstance.address); console.log(`success set mint role for: ${brickInstance.address}`) await factoryInstance.updateExecutor(config.admins.admin); console.log(`success update executor for: ${factoryInstance.address}`) await factoryInstance.addTokenSupport(brickAddress); console.log(`success add token support for: ${factoryInstance.address}`) } catch (err) { console.log(err); } }