mirror of
https://github.com/luxfi/onchain-id.git
synced 2026-10-30 15:23:49 +00:00
52 lines
1.7 KiB
Solidity
52 lines
1.7 KiB
Solidity
// SPDX-License-Identifier: GPL-3.0
|
|
pragma solidity ^0.8.17;
|
|
|
|
import "./IIdentity.sol";
|
|
|
|
interface IClaimIssuer is IIdentity {
|
|
|
|
/**
|
|
* @dev Emitted when a claim is revoked.
|
|
*
|
|
* Specification: MUST be triggered when revoking a claim.
|
|
*/
|
|
event ClaimRevoked(bytes indexed signature);
|
|
|
|
/**
|
|
* @dev Revoke a claim previously issued, the claim is no longer considered as valid after revocation.
|
|
* @notice will fetch the claim from the identity contract (unsafe).
|
|
* @param _claimId the id of the claim
|
|
* @param _identity the address of the identity contract
|
|
* @return isRevoked true when the claim is revoked
|
|
*/
|
|
function revokeClaim(bytes32 _claimId, address _identity) external returns(bool);
|
|
|
|
/**
|
|
* @dev Revoke a claim previously issued, the claim is no longer considered as valid after revocation.
|
|
* @param signature the signature of the claim
|
|
*/
|
|
function revokeClaimBySignature(bytes calldata signature) external;
|
|
|
|
/**
|
|
* @dev Returns revocation status of a claim.
|
|
* @param _sig the signature of the claim
|
|
* @return isRevoked true if the claim is revoked and false otherwise
|
|
*/
|
|
function isClaimRevoked(bytes calldata _sig) external view returns (bool);
|
|
|
|
/**
|
|
* @dev Checks if a claim is valid.
|
|
* @param _identity the identity contract related to the claim
|
|
* @param claimTopic the claim topic of the claim
|
|
* @param sig the signature of the claim
|
|
* @param data the data field of the claim
|
|
* @return claimValid true if the claim is valid, false otherwise
|
|
*/
|
|
function isClaimValid(
|
|
IIdentity _identity,
|
|
uint256 claimTopic,
|
|
bytes calldata sig,
|
|
bytes calldata data)
|
|
external view returns (bool);
|
|
}
|