Раньше я использовал для erc720 эту функцию isValidSignatureNow, но теперь я работаю с erc1155, мне нужна такая функция.
я пытаюсь чеканить, но прежде чем мне нужно знать, может ли этот кошелек чеканить для этого, я создал функцию isAvailable, но прямо сейчас я получаю
TypeError: Член «isValidSignatureNow» не найден или не отображается после поиска в адресе, зависящего от аргумента. --> Migrations.sol:112:16: |
как я могу решить эту ошибку?
если я исправлю эту ошибку, мой код будет хорошо выглядеть?
function isAvailable(
bytes memory signature, address _firmante
) internal view returns (bool whiteListed) {
bytes32 result = keccak256(
abi.encodePacked(msg.sender)
);
//doing hash by result
hash= ... // dont care yet
return isValidSignatureNow(_firmante, hash, signature);
}
я хочу использовать эту функцию «isValidSignatureNow» из: https://docs.openzeppelin.com/contracts/4.x/api/utils
SignatureChecker
— это библиотека, и для вызова метода внутри нее вы должны использовать этот оператор:
[libraryName].[methodName]([parameters]);
В вашем случае вы должны изменить эту строку кода:
return isValidSignatureNow(_firmante, hash, signature);
таким образом:
return SignatureChecker.isValidSignatureNow(_firmante, hash, signature);
ПРИМЕЧАНИЕ. Не забудьте импортировать библиотеку SignatureChecker
в свой смарт-контракт.