becrypto/init_scripts/update_nft_setting.js

112 lines
4.4 KiB
JavaScript

const Hero = artifacts.require('tokens/erc721/BEHero')
const Equip = artifacts.require('tokens/erc721/BEEquipment')
const Coin = artifacts.require('tokens/erc20/BECoin')
const Gold = artifacts.require('tokens/erc20/BEGold')
const Chip = artifacts.require('tokens/erc1155/BEChip')
const Shard = artifacts.require('tokens/erc1155/BEShard')
const MarketPlace = artifacts.require('market/MarketPlace')
const Box = artifacts.require('market/BEBoxMall')
const Factory = artifacts.require('logic/MinterFactory')
const EvolveProxy = artifacts.require('logic/EvolveProxy')
const config = require('../config/config')
module.exports = async function main(callback) {
try {
// Our code will go here
const accounts = await web3.eth.getAccounts()
console.log(accounts)
const heroInstance = await Hero.deployed()
const equipInstance = await Equip.deployed()
const chipInstance = await Chip.deployed()
const shardInstance = await Shard.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.grantLockRole(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.grantLockRole(config.admins.admin)
await shardInstance.grantLockRole(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,
shardInstance.address
])
await heroInstance.setMintFactory(factoryInstance.address)
await equipInstance.setMintFactory(factoryInstance.address)
await chipInstance.setMintFactory(factoryInstance.address)
await shardInstance.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}`,
)
callback(0)
} catch (error) {
console.error(error)
callback(1)
}
}