Files
dodo-contractV2/migrations/2_deploy_erc20V3.js
2022-02-21 16:31:27 +08:00

62 lines
2.3 KiB
JavaScript

const fs = require("fs");
const { deploySwitch } = require('../truffle-config.js')
const file = fs.createWriteStream("../deploy-detail-erc20V3.txt", { 'flags': 'a' });
let logger = new console.Console(file, file);
const { GetConfig } = require("../configAdapter.js")
const ERC20V3Factory = artifacts.require("ERC20V3Factory");
const CustomERC20 = artifacts.require("CustomERC20");
const CustomMintableERC20 = artifacts.require("CustomMintableERC20");
module.exports = async (deployer, network, accounts) => {
let CONFIG = GetConfig(network, accounts)
let CloneFactoryAddress = CONFIG.CloneFactory;
let ERC20Address = CONFIG.ERC20;
if (CONFIG == null || ERC20Address == "") return;
let ERC20V3FactoryAddress = CONFIG.ERC20V3Factory;
let CustomERC20Address = CONFIG.CustomERC20;
let CustomMintableERC20Address = CONFIG.CustomMintableERC20;
let multiSigAddress = CONFIG.multiSigAddress;
if (deploySwitch.ERC20V3Factory) {
logger.log("====================================================");
logger.log("network type: " + network);
logger.log("Deploy time: " + new Date().toLocaleString());
logger.log("Deploy type: ERC20V3Factory");
if (CustomERC20Address == "") {
await deployer.deploy(CustomERC20);
CustomERC20Address = CustomERC20.address;
logger.log("CustomERC20Address: ", CustomERC20Address);
}
if (CustomMintableERC20Address == "") {
await deployer.deploy(CustomMintableERC20);
CustomMintableERC20Address = CustomMintableERC20.address;
logger.log("CustomMintableERC20Address: ", CustomMintableERC20Address);
}
if (ERC20V3FactoryAddress == "") {
await deployer.deploy(
ERC20V3Factory,
CloneFactoryAddress,
ERC20Address,
CustomERC20Address,
CustomMintableERC20Address,
"2000000000000000" //0.002
);
ERC20V3FactoryAddress = ERC20V3Factory.address;
logger.log("ERC20V3FactoryAddress: ", ERC20V3FactoryAddress);
const erc20V3FactoryInstance = await ERC20V3Factory.at(ERC20V3FactoryAddress);
var tx = await erc20V3FactoryInstance.initOwner(multiSigAddress);
logger.log("Init ERC20V3Factory Tx:", tx.tx);
}
}
};