becrypto/migrations/13_deploy_goldbricks.js
2023-12-26 14:12:04 +08:00

35 lines
1.3 KiB
JavaScript

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