ONCHAINID Interface

The ONCHAINID interface defines the set of functions and events used to manage identities and claims on the blockchain. It extends the functionality of two key interfaces: IERC734 and IERC735.

isClaimValid

Source: IIdentity

This function checks if a claim is valid based on the identity contract, claim topic, signature, and data provided.

function isClaimValid(
    IIdentity _identity,
    uint256 claimTopic,
    bytes calldata sig,
    bytes calldata data
) external view returns (bool);

Description: Validates a claim by verifying the signature and data against the specified claim topic and identity contract.


addKey

Source: IERC734

This function adds a key to the identity for a specified purpose and key type.

function addKey(bytes32 _key, uint256 _purpose, uint256 _keyType) external returns (bool success);

Description: Adds a new key to the identity, where _purpose defines the purpose of the key (e.g., management or execution), and _keyType specifies the type of key (e.g., an Ethereum address or a hash of a public key).


approve

Source: IERC734

This function approves an execution request.

function approve(uint256 _id, bool _approve) external returns (bool success);

Description: Approves or rejects an execution request identified by _id. If approved, the execution proceeds; if not, it is cancelled.


removeKey

Source: IERC734

This function removes a key for a specified purpose.

function removeKey(bytes32 _key, uint256 _purpose) external returns (bool success);

Description: Removes a key associated with a particular purpose from the identity, effectively revoking its rights.


execute

Source: IERC734

This function executes an operation on behalf of the identity.

function execute(address _to, uint256 _value, bytes calldata _data) external payable returns (uint256 executionId);

Description: Executes a transaction on behalf of the identity. The _to parameter specifies the recipient address, _value is the amount of Ether to send, and _data contains the call data. Returns an executionId for tracking the operation.


getKey

Source: IERC734

This function retrieves the full data for a specified key.

function getKey(bytes32 _key) external view returns (uint256[] memory purposes, uint256 keyType, bytes32 key);

Description: Returns the purposes, key type, and key value for a specified key. Useful for understanding the roles and permissions associated with a key.


getKeyPurposes

Source: IERC734

This function returns the list of purposes associated with a key.

function getKeyPurposes(bytes32 _key) external view returns (uint256[] memory _purposes);

Description: Retrieves all purposes assigned to a specified key, providing insight into what the key can be used for.


getKeysByPurpose

Source: IERC734

This function returns an array of keys associated with a specific purpose.

function getKeysByPurpose(uint256 _purpose) external view returns (bytes32[] memory keys);

Description: Lists all keys that serve a particular purpose, aiding in the management and audit of keys within the identity.


keyHasPurpose

Source: IERC734

This function checks if a key has a given purpose.

function keyHasPurpose(bytes32 _key, uint256 _purpose) external view returns (bool exists);

Description: Verifies whether a specific key is assigned a particular purpose, returning true if it exists and false otherwise.


addClaim

Source: IERC735

This function adds or updates a claim.

function addClaim(
    uint256 _topic,
    uint256 _scheme,
    address issuer,
    bytes calldata _signature,
    bytes calldata _data,
    string calldata _uri
) external returns (bytes32 claimRequestId);

Description: Adds a new claim or updates an existing claim. The claim is associated with a _topic, uses a _scheme for the signature, and includes the claim's data and URI.


removeClaim

Source: IERC735

This function removes a claim from the identity.

function removeClaim(bytes32 _claimId) external returns (bool success);

Description: Deletes a claim identified by _claimId, revoking the associated attestation.


getClaim

Source: IERC735

This function retrieves a claim by its ID.

function getClaim(bytes32 _claimId)
external view returns(
    uint256 topic,
    uint256 scheme,
    address issuer,
    bytes memory signature,
    bytes memory data,
    string memory uri);

Description: Returns the full details of a claim, including its topic, scheme, issuer, signature, data, and URI.


getClaimIdsByTopic

Source: IERC735

This function returns an array of claim IDs for a given topic.

function getClaimIdsByTopic(uint256 _topic) external view returns (bytes32[] memory claimIds);

Description: Lists all claim IDs associated with a specific topic, facilitating the management and audit of claims.

Last updated

Logo

ERC3643 ASBL - 2024 - contact@erc3643.org