@zkpassport/registry
v0.15.3
Published
Registry SDK for interacting with the ZKPassport Registry
Readme
ZKPassport Registry Client
JavaScript SDK for interacting with the ZKPassport certificate, circuit and sanctions registries.
Installation
bun i @zkpassport/registryUsage
Basic Usage
import { RegistryClient } from "@zkpassport/registry"
import { AsyncOrderedMT, poseidon2 } from "@zkpassport/utils"
// Initialize registry client
const client = new RegistryClient({ chainId: 11155111 })
// Get latest certificates root
const root = await client.getLatestCertificateRoot()
console.log(`Latest certificates root: ${root}`)
// Get latest certificates (for latest root)
const certs = await client.getCertificates()
console.log(`Got ${certs.length} certificates`)
// Get certificates for a specific root
const forRoot = "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
const certsForRoot = await client.getCertificates(forRoot)
console.log(`Got ${certs.length} certificates for root ${forRoot}`)
// Validate certificates against a root
const valid = await client.validateCertificates(certsForRoot, forRoot)
console.log(`Certificates are ${valid ? "valid" : "invalid"}`)
// Get latest sanctions root
const sanctionsRoot = await client.getLatestSanctionsRoot()
console.log(`Latest sanctions root: ${sanctionsRoot}`)
// Get the serialised sanctions tree for a root (defaults to the latest root)
const { serialised } = await client.getSanctionsTree(sanctionsRoot)
const sanctionsTree = await AsyncOrderedMT.fromSerialized(serialised, poseidon2)