UNPKG

@lit-protocol/auth-helpers

Version:

Advanced authentication utilities for managing blockchain resource permissions and capabilities within the Lit Protocol ecosystem. Built on top of SIWE (Sign-In with Ethereum) and SIWE-RECAP for robust authentication flows.

62 lines (57 loc) 2.17 kB
import { LIT_ABILITY_VALUES } from '@lit-protocol/constants'; import { ILitResource } from '@lit-protocol/types'; /** * Lit resrouce ability request builder for creating resource ability requests. * * @example * import { ResourceAbilityRequestBuilder } from '@lit-protocol/auth-helpers'; const builder = new ResourceAbilityRequestBuilder(); builder .addPKPSigningRequest('*') // PKP Signing .addLitActionExecutionRequest('*') // Lit Action Execution .addAccessControlConditionSigningRequest('*') // ACC Signing .addAccessControlConditionDecryptionRequest('*') // ACC Decryption .addRateLimitIncreaseAuthRequest('*'); // RLI Authentication const requests = builder.build(); */ export declare class ResourceAbilityRequestBuilder { private requests; /** * Adds a PKP signing request to the builder. * @param resourceId - The ID of the resource. * @returns The builder instance. */ addPKPSigningRequest(resourceId: string): this; /** * Adds a Lit action execution request to the builder. * @param resourceId - The ID of the resource. * @returns The builder instance. */ addLitActionExecutionRequest(resourceId: string): this; /** * Adds an access control condition signing request to the builder. * @param resourceId - The ID of the resource. * @returns The builder instance. */ addAccessControlConditionSigningRequest(resourceId: string): this; /** * Adds an access control condition decryption request to the builder. * @param resourceId - The ID of the resource. * @returns The builder instance. */ addAccessControlConditionDecryptionRequest(resourceId: string): this; /** * Adds a rate limit increase authentication request to the builder. * @param resourceId - The ID of the resource. * @returns The builder instance. */ addRateLimitIncreaseAuthRequest(resourceId: string): this; /** * Builds the array of resource ability requests. * @returns The array of resource ability requests. */ build(): Array<{ resource: ILitResource; ability: LIT_ABILITY_VALUES; }>; }