Query a single attribute

Use the getAttributes() function from the QuadReader smart contract to query a single attribute about a passport holder.

Requirements

Installation

Install @quadrata/contracts package

npm i @quadrata/contracts --save-dev

Permissions

Calling smart contract have to be granted permissions to call getAttributes in Mainnet. Contact us via email at [email protected] or Discord

Testnets like Goerli,Mumbai,etc.. do not require any permissions

Function

QuadReader.sol
import "@quadrata/contracts/interfaces/IQuadPassportStore.sol";

// For Solidity version >= 0.8.0.
reader.getAttributes(
    address user, 
    bytes32 attribute
) external payable returns(
    IQuadPassportStore.Attribute[] memory attributes
);


// For Solidity version < 0.8.0.
reader.getAttributesLegacy(
    address user, 
    bytes32 attribute
) external payable returns(
    bytes32[] attributeValues, 
    uint256[] epochs, 
    address[] issuers
);

Parameters

Parameter
Description
Type

user

address of the passport holder

address (required)

attribute

The attribute you want to query. See: Supported attributes.

bytes32 (required)

Return values

A list of attributes that have been issued.

For Solidity version < 0.8.0

UsegetAttributesLegacy()which returns three arrays. The index of each array maps to the others to create a tuple (e.g. attributeValues[0], epochs[0], issuers[0] are part of the same result).

  • attributeValues: Raw or hashed attribute values. See Supported attributes for the return values of each attribute.

  • epochs: Timestamp that indicates when the attribute was verified by the passport issuer.

  • issuers: Passport issuer who verified the attributes.

Example

Last updated