Solidity: идентификатор не найден или не уникален

Я просматриваю это руководство по OpenZeppelin: https://docs.openzeppelin.com/learn/developing-smart-contracts?pref=truffle и точно выполнил все шаги. Однако, когда дело доходит до компиляции моих контрактов после импорта контракта Auth, компиляция не выполняется, и появляется сообщение «Идентификатор не найден или не уникален».

это ошибка, которую я получаю: контракты / Box.sol:10:5: DeclarationError: Идентификатор не найден или не уникален. Auth private auth; ^ - ^

Мои каталоги настроены точно так же, как в учебнике, где у меня есть Auth.sol в каталоге с именем access-control, но он не работает.

Вот код, который я пытаюсь запустить:

      // contracts/Box.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;

// Import Auth from the access-control subdirectory
import "./access-control/Auth.sol";

contract Box {
    uint256 private value;
    Auth private auth;

    event ValueChanged(uint256 newValue);

    constructor(Auth _auth) public {
        auth = _auth;
    }

    function store(uint256 newValue) public {
        // Require that the caller is registered as an administrator in Auth
        require(auth.isAdministrator(msg.sender), "Unauthorized");

        value = newValue;
        emit ValueChanged(newValue);
    }

    function retrieve() public view returns (uint256) {
        return value;
    }
}

0 ответов

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