Files
self/sdk
2024-08-20 02:36:59 -07:00
..
2024-07-26 08:35:08 +02:00
2024-08-10 23:40:42 -07:00
2024-07-26 08:35:08 +02:00
2024-07-26 08:35:08 +02:00
2024-07-26 08:35:08 +02:00
2024-07-26 08:35:08 +02:00
2024-08-10 23:40:42 -07:00
2024-07-26 08:35:08 +02:00
2024-07-31 13:37:02 +02:00
2024-07-31 13:37:02 +02:00
2024-08-20 02:36:59 -07:00
2024-07-26 08:35:08 +02:00
2024-07-26 08:35:08 +02:00
2024-07-28 10:18:39 +02:00

SDK

Installation

yarn add @openpassport/sdk

Development

yarn install-sdk

Tests

yarn test

How to use

Web2 applications

To use the OpenPassportWeb2Verifier in Web2 applications, import and initialize it as follows:

import { OpenPassportWeb2Verifier } from '@openpassport/sdk';
const verifier = new OpenPassportWeb2Verifier({
  scope: "yourScope",
  requirements: [["older_than", "18"], ["nationality", "France"]]
});

parameters for OpenPassportWeb2Verifier

Parameter Optional Description
scope No The scope of your application, is unique for each application.
attestationId Yes The ID of the attestation, defaults to PASSPORT_ATTESTATION_ID.
requirements Yes An array of requirements, each an array with an attribute and its expected value.
rpcUrl Yes The RPC URL to connect to the blockchain, defaults to DEFAULT_RPC_URL.

Finally, verify the proof: The function fired from the OpenPassport app will send a OpenPassportWeb2Inputs object.


const result = await verifier.verify(openPassportWeb2Inputs); // OpenPassportWeb2Inputs : OpenPassportWeb2Inputs

Web3 application

For Web3 applications, use the OpenPassportWeb3Verifier as follows:

import { OpenPassportWeb3Verifier } from '@openpassport/sdk';
const verifier = new OpenPassportWeb3Verifier({
  scope: "yourScope",
  rpcUrl: "https://custom.rpc.url"
});

Parameters for OpenPassportWeb3Verifier

Parameter Optional Description
scope No The scope of the verification.
attestationId Yes The ID of the attestation, defaults to PASSPORT_ATTESTATION_ID.
requirements Yes An array of requirements, each an array with an attribute and its expected value.
rpcUrl Yes The RPC URL to connect to the blockchain, defaults to DEFAULT_RPC_URL.

Verify the user owns a sbt which satisfies the requirements:

const result = await verifier.verify(address, tokenId);

Handle the report

Each verification will returns a OpenPassportVerifierReport object which contains all the informations about the verification of each requirement.

If a requirement is not satisfied, the corresponding field will be set to true. The valid field will be false if there is at least one requirement that is not satisfied.

nullifier and user_identifier are also accessible as report fields.

const report = await verifier.verify(publicSignals, proof);
const nullifier = report.nullifier;
const userIdentifier = report.user_identifier;