Оценка ремикс-газа не удалась для очень простого кода NFT, но компиляция прошла успешно

Я написал очень простой код NFT и скомпилировал его на Remix, используя 0.7.0. Код состоит всего из 3-х функций - mint, acceptAddress перед передачей и Transfer. Компиляция прошла успешно, я могу чеканить токены. Но когда я вызываю функцию ApproveAddress, я получаю ошибку «Ошибка оценки газа». В результате вышла из строя передаточная функция. Кто-нибудь может мне помочь? Я думал, что это может быть проблема с версией компилятора, но в таком случае почему первая функция монетного двора работала идеально? Я очень запутался. Большое спасибо за вашу помощь заранее. Код и ошибка прилагаются ниже.

      // SPDX-License-Identifier: GPL-3.0 

pragma solidity >=0.7.0 <0.9.0;

contract SimpleNFT {
   string public tokenName;
   string public tokenSymbol;
  
   mapping(uint256 => address) public ownerOf;
   mapping(uint256 => bool) private exists;
   mapping(uint256 => address) private approvals;
   
 
    constructor(string memory _name, string memory _symbol){
        tokenName = _name;
        tokenSymbol = _symbol;
    }

    function mint(address _to, uint256 _tokenId) public returns (uint256) {
        require(exists[_tokenId] != true);
        ownerOf[_tokenId] = _to;
        return _tokenId;
    }
   
    //Gives permission to to to transfer tokenId token to another account.
    function approveAddress(address _to, uint256 _tokenId) public returns (address){
        require(ownerOf[_tokenId] == msg.sender);
        require(_to != address(0));
        approvals[_tokenId] = _to;
        return _to;
    }
   
   
    function transfer(address _to, uint256 _tokenId) public returns (uint256){
        
        require(msg.sender == ownerOf[_tokenId] || msg.sender == approvals[_tokenId]);
        require(_to != address(0));
        ownerOf[_tokenId] = _to;
        return _tokenId;
    }

}

Оценка газа не удалась

Ошибка при оценке газа со следующим сообщением (см. Ниже). Выполнение транзакции, скорее всего, не удастся. Хотите принудительную отправку? исполнение отменено

0 ответов

Другие вопросы по тегам