github.com/ethereum-optimism/optimism@v1.7.2/packages/contracts-bedrock/src/EAS/resolver/ISchemaResolver.sol (about) 1 // SPDX-License-Identifier: MIT 2 pragma solidity ^0.8.0; 3 4 import { Attestation } from "../Common.sol"; 5 6 /// @title ISchemaResolver 7 /// @notice The interface of an optional schema resolver. 8 interface ISchemaResolver { 9 /// @notice Checks if the resolver can be sent ETH. 10 /// @return Whether the resolver supports ETH transfers. 11 function isPayable() external pure returns (bool); 12 13 /// @notice Processes an attestation and verifies whether it's valid. 14 /// @param attestation The new attestation. 15 /// @return Whether the attestation is valid. 16 function attest(Attestation calldata attestation) external payable returns (bool); 17 18 /// @notice Processes multiple attestations and verifies whether they are valid. 19 /// @param attestations The new attestations. 20 /// @param values Explicit ETH amounts which were sent with each attestation. 21 /// @return Whether all the attestations are valid. 22 function multiAttest( 23 Attestation[] calldata attestations, 24 uint256[] calldata values 25 ) 26 external 27 payable 28 returns (bool); 29 30 /// @notice Processes an attestation revocation and verifies if it can be revoked. 31 /// @param attestation The existing attestation to be revoked. 32 /// @return Whether the attestation can be revoked. 33 function revoke(Attestation calldata attestation) external payable returns (bool); 34 35 /// @notice Processes revocation of multiple attestation and verifies they can be revoked. 36 /// @param attestations The existing attestations to be revoked. 37 /// @param values Explicit ETH amounts which were sent with each revocation. 38 /// @return Whether the attestations can be revoked. 39 function multiRevoke( 40 Attestation[] calldata attestations, 41 uint256[] calldata values 42 ) 43 external 44 payable 45 returns (bool); 46 }