Client class for the DVR module, accessing the DVR module functions
new DvrModuleClient(config
): DvrModuleClient
Constructs a new instance of the DvrModuleClient.
Parameters
Returns
private
credentials: PrivacyAppCredentialsStruct
The credentials structure containing authentication details for the Privacy App Client, including base URL, API key, and secret API key.
private
library: ReturnType
<typeof loadLibrary
>
The loaded library instance containing the foreign function interface (FFI) definitions for DVR module functions.
private
PACKAGE_NAME: "@zkpass/dvr-client-ts"
: string
The NPM package name for the DVR client TypeScript library.
private
LIBRARY_NAME: "libdvr_client.so"
: string
The name of the shared library file that contains the DVR client implementation.
▸ private
loadLibrary(): Object
Loads the specified library and defines the foreign function interface (FFI) for the DVR module.
Returns
Object
- An object representing the loaded library with the defined FFI functions
The following functions are defined in the FFI:
dvr_generate_user_data_token
dvr_generate_query_token
dvr_generate_zkpass_proof
dvr_verify_zkpass_proof
▸ callDvrGenerateUserDataToken(signingKey
, stringifiedUserData
, verifyingKeyOptionParam
): string
Generates a user data JWS token using the provided signing key, user data, and public key option.
Parameters
Returns
string
- The generated user data token, or throws an error if generation fails
▸ callDvrGenerateQueryToken(signingKey
, dvrData
): string
Generates a DVR query JWS token using the provided signing key and DVR data.
Parameters
Returns
string
- The generated DVR query token, or throws an error if generation fails
▸ callDvrGenerateZkPassProof(stringifiedUserDataTokens
, dvrtoken
): string
Parameters
Returns
string
- The generated zkPass proof, or throws an error if generation fails
▸ callDvrVerifyZkPassProof(zkvm
, zkPassProofToken
, expectedMetaData
): VerifyZkPassProofResult
Parameters
Returns
VerifyZkPassProofResult
- The output committed into the zkPass proof, and the zkPass proof data
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
config
PrivacyAppClientConfig
Configuration object
config.baseUrl
string
The base URL for the API
config.apiKey
string
The API key for authentication
config.secretApiKey
string
The secret API key for authentication
signingKey
string
The key used to sign the user data token
stringifiedUserData
string
The user data in stringified format
verifyingKeyOptionParam
PublicKeyOrKeysetEndpoint
The associated key to verify the user data token
signingKey
string
The key used to sign the DVR query
dvrData
DvrData
The data required for generating the DVR query token
stringifiedUserDataTokens
string
Stringified representation of multiple user data tokens using tag as the key
dvrtoken
string
The DVR token to be used in the proof generation
zkvm
string
The zkVM identifier
zkPassProofToken
string
The zkPass proof token to be verified
expectedMetaData
ExpectedDvrMetadata
The expected metadata for the DVR verification