contracts-imtbl/deploy/1_deploy_nft.ts
2024-07-16 14:29:01 +08:00

64 lines
2.5 KiB
TypeScript

import { HardhatRuntimeEnvironment } from "hardhat/types";
import { DeployFunction } from "hardhat-deploy/types";
import { updateArray } from "../scripts/utils"
const deployNFTForGame: DeployFunction =
async function (hre: HardhatRuntimeEnvironment) {
const provider = hre.ethers.provider;
const from = await (await provider.getSigner()).getAddress();
const config = require(`../config/config_${hre.network.name}`);
console.log(config);
let { operatorAllowlist } = config.imtbl;
if (hre.network.name == 'imtbl_test') {
// const allowListRet = await hre.deployments.deploy('OperatorAllowlist', {
// from,
// args: [from],
// log: true,
// });
// console.log("==OperatorAllowlist addr=", allowListRet.address);
// operatorAllowlist = allowListRet.address;
operatorAllowlist = '0x6b969FD89dE634d8DE3271EbE97734FEFfcd58eE'
}
const owner = from;
const name = "CFHero";
const symbol = "CFH";
// testnet: 0x6b969FD89dE634d8DE3271EbE97734FEFfcd58eE
// mainnet: 0x5F5EBa8133f68ea22D712b0926e2803E78D89221
// testnet_CF: 0x3c5991E9A0e6c713163cD0a91f246dc61f18d918
const { royaltyReceiver, royaltyFee, baseTokenURIHero, baseTokenURIGold, contractURIHero, contractURIGold } = config.token;
console.log(owner, name, symbol, baseTokenURIHero, contractURIHero, operatorAllowlist, royaltyReceiver, royaltyFee)
const ret1 = await hre.deployments.deploy("CFNFTGame", {
from,
args: [owner, name, symbol, baseTokenURIHero, contractURIHero, operatorAllowlist, royaltyReceiver, royaltyFee],
log: true,
});
console.log("==CFNFTGame addr=", ret1.address);
updateArray({
name: "CFHero_normal",
type: "erc721",
json: "assets/contracts/CFNFTGame.json",
address: ret1.address,
network: hre.network.name,
});
// const nameGold = "CFGold brick";
// const symbolGold = "CFG";
// const ret = await hre.deployments.deploy("CFNFTGame", {
// from,
// args: [owner, nameGold, symbolGold, baseTokenURIGold, contractURIGold, operatorAllowlist, royaltyReceiver, royaltyFee],
// log: true,
// });
// console.log("==CFNFTGame addr=", ret.address);
// updateArray({
// name: "GoldBrick",
// type: "erc721",
// json: "assets/contracts/CFNFTGame.json",
// address: ret.address,
// network: hre.network.name,
// });
};
deployNFTForGame.tags = ["CFNFTGame"];
export default deployNFTForGame;