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  }