Функция, которая награждает несколько копий NFT, возвращает ошибку
function awardCard(address to, string memory hash, string memory _tokenURI, int _numberOfTokens) public returns (uint256){
require(hashes[hash] != 1);
require(_numberOfTokens < 30);
hashes[hash] = 1;
uint256 tokenId = _tokenIds.current();
for(int i = 0; i < _numberOfTokens; i++) {
_tokenIds.increment();
uint256 tokenId = _tokenIds.current();
_mint(to, tokenId);
_setTokenURI(tokenId, _tokenURI);
}
return tokenId;
}
Здравствуйте, я пытаюсь запустить свою функцию AwardCard для одновременной отправки нескольких копий NFT на адрес, увеличивая его tokenId. Я взял большую часть кода из openZeppelin, все компилируется, но я получаю классическую ошибку отката транзакции. Мне было интересно, правильно ли я структурировал функцию, может ли кто-нибудь дать мне какое-нибудь руководство, которое было бы потрясающе.