const Badge = artifacts.require("tokens/erc721/BEBadge"); const Coin = artifacts.require("tokens/erc20/BEUSDT"); const Wallet = artifacts.require("core/BEMultiSigWallet"); const Distributor = artifacts.require("logic/NftDistributor"); const config = require("../config/config"); const base = require("../scripts/base"); module.exports = async function (deployer, network, accounts) { // await deployer.deploy(Badge, "BE Badge", "Badge", "4000"); // const badgeInstance = await Badge.deployed(); // if (badgeInstance) { // console.log("BEBadge successfully deployed. "); // console.log("address: " + badgeInstance.address); // } // base.updateArray({ // name: "BEBadge", // type: "erc721", // json: "assets/contracts/BEBadge.json", // address: badgeInstance.address, // network, // }); // await badgeInstance.updateBaseURI(config.token.baseTokenURI); // await deployer.deploy(Coin, "BE test USDT", "USDT"); // const coinInstance = await Coin.deployed(); // if (coinInstance) { // console.log("BEUSDT successfully deployed. "); // console.log("address: " + coinInstance.address); // } // base.updateArray({ // name: "BEUSDT", // type: "erc20", // json: "assets/contracts/BEUSDT.json", // address: coinInstance.address, // network, // }); await deployer.deploy( Wallet, 60, 1, config.admins.proposers, config.admins.confirmers, config.admins.executors ); const walletInstance = await Wallet.deployed(); if (walletInstance) { console.log("BEMultiSigWallet successfully deployed."); console.log("address: " + walletInstance.address); } base.updateArray({ name: "BEMultiSigWallet", type: "logic", json: "assets/contracts/BEMultiSigWallet.json", address: walletInstance.address, network, }); // await badgeInstance.setMintRole(walletInstance.address); // console.log("success add wallet to badge's mint role"); // await coinInstance.setMintRole(walletInstance.address); // console.log("success add wallet to usdt's mint role"); // await deployer.deploy( // Distributor, // badgeInstance.address, // config.admins.executors // ); // const distributorInstance = await Distributor.deployed(); // if (distributorInstance) { // console.log("NftDistributor successfully deployed."); // console.log("address: " + distributorInstance.address); // } // base.updateArray({ // name: "NftDistributor", // type: "logic", // json: "assets/contracts/NftDistributor.json", // address: distributorInstance.address, // network, // }); // await badgeInstance.setMintRole(distributorInstance.address); // await distributorInstance.grantRole( // "0xa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb557091", // walletInstance.address // ); // console.log("success add distributor to badge's mint role"); // jetpack.write("./out.json", cfgs); };