@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
TypeScript
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;
}>;
}