-
Notifications
You must be signed in to change notification settings - Fork 1
/
setMintPhase.ts
53 lines (47 loc) · 1.35 KB
/
setMintPhase.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { ethers, network, rigsConfig, rigsDeployment } from "hardhat";
import { TablelandRigs } from "../typechain-types";
async function main() {
console.log(`\nSetting mint phase on '${network.name}'...`);
// Get owner account
const [account] = await ethers.getSigners();
if (account.provider === undefined) {
throw Error("missing provider");
}
// Get contract address
if (rigsDeployment.contractAddress === "") {
throw Error(`no contractAddress entry for '${network.name}'`);
}
console.log(`Using address '${rigsDeployment.contractAddress}'`);
let mintPhase: 0 | 1 | 2 | 3;
switch (rigsConfig.mintPhase) {
case "closed":
mintPhase = 0;
break;
case "allowlist":
mintPhase = 1;
break;
case "waitlist":
mintPhase = 2;
break;
case "public":
mintPhase = 3;
break;
default:
throw Error("invalid mint phase");
}
// Update mint phase
const rigs = (await ethers.getContractFactory("TablelandRigs")).attach(
rigsDeployment.contractAddress
) as TablelandRigs;
const tx = await rigs.setMintPhase(mintPhase);
const receipt = await tx.wait();
console.log(
`mint phase set to '${rigsConfig.mintPhase}' with txn '${receipt.transactionHash}'`
);
}
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});