const MarketPlace = artifacts.require('MarketPlace'); const Factory = artifacts.require('MinterFactory'); const EvolveProxy = artifacts.require('EvolveProxy'); const Box = artifacts.require('BEBoxMall'); const Hero = artifacts.require('BEHero'); const Equip = artifacts.require('BEEquipment'); const Chip = artifacts.require('BEChip'); const Coin = artifacts.require('BECoin'); const Gold = artifacts.require('BEGold'); // const TimelockController = artifacts.require('BETimelockController'); const config = require("../config/config"); module.exports = async function (deployer, network, accounts) { const heroInstance = await Hero.deployed(); const equipInstance = await Equip.deployed(); const chipInstance = await Chip.deployed(); // await heroInstance.updateBaseURI(config.token.baseTokenURI) // console.log("BEHero baseURI update success.") // await equipInstance.updateBaseURI(config.token.baseTokenURI) // console.log("Equip baseURI update success.") // await chipInstance.updateBaseURI(config.token.baseTokenURI) // console.log("Chip baseURI update success.") const marketInstance = await MarketPlace.deployed(); const coinInstance = await Coin.deployed(); // if(marketInstance) { // await marketInstance.setFeeToAddress(config.market.feeToAddress); // await marketInstance.setTransactionFee(400); // config.market.paymentTokens.push(coinInstance.address); // await marketInstance.setPaymentTokens(config.market.paymentTokens); // console.log( // `finish update market config` // ); // await heroInstance.addApprovalWhitelist(marketInstance.address); // await heroInstance.setApprovalForAll(marketInstance.address, true); // console.log('finish heroInstance.addApprovalWhitelist') // await equipInstance.addApprovalWhitelist(marketInstance.address); // await equipInstance.setApprovalForAll(marketInstance.address, true); // console.log('finish equipInstance.addApprovalWhitelist') // await chipInstance.addApprovalWhitelist(marketInstance.address); // await chipInstance.setApprovalForAll(marketInstance.address, true); // console.log('finish chipInstance.addApprovalWhitelist') // await heroInstance.addApprovalWhitelist(config.admins.admin); // await equipInstance.addApprovalWhitelist(config.admins.admin); // await chipInstance.addApprovalWhitelist(config.admins.admin); // console.log( // `Allow operation ${marketInstance.address} to reduce gas fee` // ); // } const factoryInstance = await Factory.deployed(); if(!factoryInstance) { console.error('no factoryInstance') return } // await factoryInstance.init([ // heroInstance.address, // equipInstance.address, // chipInstance.address // ]) // await heroInstance.setMintFactory(factoryInstance.address); // await equipInstance.setMintFactory(factoryInstance.address); // await chipInstance.setMintFactory(factoryInstance.address); // console.log( // `Allow factory ${factoryInstance.address} to mint contract \n hero: ${heroInstance.address}, \n equip: ${equipInstance.address}, \n chip: ${chipInstance.address}` // ); const proxyInstance = await EvolveProxy.deployed(); if(!proxyInstance) { console.error('no proxyInstance') return } // await proxyInstance.init([ // heroInstance.address, // equipInstance.address, // chipInstance.address // ]) // await heroInstance.setBurnProxy(proxyInstance.address); // await equipInstance.setBurnProxy(proxyInstance.address); // await chipInstance.setBurnProxy(proxyInstance.address); // console.log( // `Allow proxy ${proxyInstance.address} to burn contract \n hero: ${heroInstance.address}, \n equip: ${equipInstance.address}, \n chip: ${chipInstance.address}` // ); const boxInstance = await Box.deployed(); if(!boxInstance) { console.error('no boxInstance') return } // await boxInstance.setPaymentReceivedAddress(config.market.mallFeeAddress); // console.log( // `update payment received address: ${config.market.mallFeeAddress}` // ); const goldInstance = await Gold.deployed(); let jsons = [] jsons.push({name: 'coin', json: 'assets/contracts/BECoin.json', address: coinInstance.address}) jsons.push({name: 'gold', json: 'assets/contracts/BEGold.json', address: goldInstance.address}) jsons.push({name: 'hero', json: 'assets/contracts/BEHero.json', address: heroInstance.address}) jsons.push({name: 'equip', json: 'assets/contracts/BEEquipment.json', address: equipInstance.address}) jsons.push({name: 'chip', json: 'assets/contracts/BEChip.json', address: chipInstance.address}) jsons.push({name: 'factory', json: 'assets/contracts/MinterFactory.json', address: factoryInstance.address}) jsons.push({name: 'market', json: 'assets/contracts/MarketPlace.json', address: marketInstance.address}) jsons.push({name: 'mall', json: 'assets/contracts/BEBoxMall.json', address: boxInstance.address}) jsons.push({name: 'proxy', json: 'assets/contracts/EvolveProxy.json', address: proxyInstance.address}) // jsons.push({name: 'luckbox', json: 'assets/contracts/BELuckyBox.json', address: luckyBoxInstance.address}) // jsons.push({name: 'boxproxy', json: 'assets/contracts/LuckyBoxProxy.json', address: boxProxyInstance.address}) console.log(JSON.stringify(jsons)); }