Skip to content

Latest commit

 

History

History

arianee-privacy-gateway-client

@arianee/arianee-privacy-gateway-client

This is a TypeScript library that provides a client to interact with the Arianee Privacy Gateway. The Arianee Privacy Gateway is used to retrieve content of private non-fungible tokens (NFTs).

Usage

To use the library, you need to import the ArianeePrivacyGatewayClient class and create a new instance of it with the following parameters:

  • auth: An instance of the Core class from the @arianee/core package, an Arianee access token as a string, or an object containing a message and a signature.
  • fetchLike: A function that behaves like the fetch function, used to make HTTP requests.

The ArianeePrivacyGatewayClient class provides the following methods:

certificateRead

This method retrieves the (original) content of a NFT. If the NFT was updated, you need to use updateRead instead.

async certificateRead(
  rpcUrl: RpcUrl,
  {
    certificateId,
    passphrase,
  }: {
    certificateId: string;
    passphrase?: string;
  }
): Promise<ArianeeProductCertificateI18N>;
  • rpcUrl: The URL of the arianee privacy gateway rpc.
  • certificateId: The ID of the certificate to retrieve the content of.
  • passphrase (optional): The passphrase of the certificate

updateRead

This method retrieves the updated content of a NFT.

async updateRead(
  rpcUrl: RpcUrl,
  {
    certificateId,
    passphrase,
  }: {
    certificateId: string;
    passphrase?: string;
  }
): Promise<ArianeeProductCertificateI18N>;
  • rpcUrl: The URL of the arianee privacy gateway rpc.
  • certificateId: The ID of the certificate to retrieve the updated content of.
  • passphrase (optional): The passphrase of the certificate

messageRead

This method retrieves the content of a private NFT message.

async messageRead(
  rpcUrl: RpcUrl,
  {
    messageId,
  }: {
    messageId: string;
  }
): Promise<ArianeeMessageI18N>;
  • rpcUrl: The URL of the arianee privacy gateway rpc.
  • messageId: The ID of the message to retrieve content of.

eventRead

This method retrieves the content of a private NFT event.

async eventRead(
  rpcUrl: RpcUrl,
  {
    certificateId,
    eventId,
    passphrase,
  }: {
    certificateId: string;
    eventId: string;
    passphrase?: string;
  }
): Promise<ArianeeEventI18N>;
  • rpcUrl: The URL of the arianee privacy gateway rpc.
  • certificateId: The ID of the certificate that the event belongs to.
  • eventId: The ID of the event to retrieve the content of.
  • passphrase (optional): The passphrase of the certificate

Authentication

The library supports two types of authentication: Arianee access tokens and message/signature authentication. If you pass an instance of the Core class as the auth parameter, the library will use an Arianee access token generated using the Core instance to authenticate requests. If you pass an object with a message and a signature property, the library will use message/signature authentication.

Errors

Errors are automatically handled by the library, whenever an error is returned by the privacy gateway, the client will throw a PrivacyGatewayError with the following properties:

  • message: The error message.
  • privacyGatewayErrorEnum: The value of the PrivacyGatewayErrorEnum (from @arianee/common-types) associated to the error.