调整状态数据写入时机, 已防止cross function reentrancy

This commit is contained in:
CounterFire2023 2024-06-18 14:18:52 +08:00
parent ad8a60a8d0
commit 45e36f8e0e

View File

@ -113,6 +113,7 @@ contract NFTClaimStage2WL is ReentrancyGuard, AccessControl {
require(_whitelist1[to] + _whitelist2[to] >= _mintedCount + nftCount, "NFTClaimer: not in whitelist or exceed limit");
}
uint256 _tokenAmount = mintConfig.mintPrice * nftCount;
totalCount += nftCount;
IERC20(mintConfig.currency).safeTransferFrom(to, mintConfig.feeToAddress, _tokenAmount);
uint256[] memory ids = new uint256[](nftCount);
for (uint256 i = 0; i < nftCount; ++i) {
@ -121,7 +122,6 @@ contract NFTClaimStage2WL is ReentrancyGuard, AccessControl {
IClaimAbleNFT(nftAddress).safeMint(to, _nftId);
_mintedRecords[to].add(_nftId);
}
totalCount += nftCount;
// add list
emit NFTClaimed(nftAddress, to, ids);
}