1번을통해서 화리 ture false 할수 있게하고 회수할 화이트 리스트 nft contract를 작성할수 있게하였습니다.
const mintNFT = async () => {
if (mintInProgress) {
console.log("Request for minting with: " + account);
console.log("keyring: " + keyring.address);
if (process.env.REACT_APP_WHITELIST === "true") {
for (var i = 0; i < quantityVal; i++) {
await contract_WL.methods.transferFrom(account, treasury_account, await contract_WL.methods.tokenOfOwnerByIndex(account, 0).call()).send({
from: treasury_account,
gas: 300000,
});
}
}
3번사진의 코드 전체부분이며 가지고있는 화이트리스트 nft갯수에 민팅갯수를 일치시켜 회수하는수량을 일치시키려고 했습니다.
4번 사진의 잘린부분 전체입니다.
const payNFT = async () => {
if (allowMint) {
if (!mintInProgress) {
let totalSupply = await contract.methods.totalSupply().call();
if (parseInt(totalSupply) + quantityVal <= process.env.REACT_APP_NUMBER_OF_NFT) {
if (process.env.REACT_APP_WHITELIST === "true") {
console.log(process.env.REACT_APP_WHITELIST_ADDR,);
if ((await contract_WL.methods.balanceOf(account).call()) <= 0) {
return true;
}
if ((await contract_WL.methods.isApprovedForAll(account, process.env.REACT_APP_TREASURY_ACCOUNT).call()) !== true) {
await contract_WL.methods.setApprovalForAll(process.env.REACT_APP_TREASURY_ACCOUNT, true).send({
from: account,
gas: 300000,
});
return true;
}
}
여기서 추가로 화이트리스트 nft또한 등급을 나누려고 생각중인데 예를들어 처음에 골드 실버 브론즈 이런식으로 지갑에있는지 확인하고 회수를 진행함과 동시에 nft를 발행하려 합니다. 그러려면 else if를 사용하면 될까요? 어떻게 해도 한가지 화이트리스트 nft에대한 회수작업 이외에는 할수가 없어서 질문 드립니다.



