UNPKG

@lit-protocol/access-control-conditions

Version:

This submodule provides functionalities for formatting and canonicalizing data, validating and creating digital signatures, and hashing various types of conditions and identifiers in a deterministic way to ensure data integrity and security within the LIT

71 lines (70 loc) 2.97 kB
import { AccessControlConditions, EvmContractConditions, FormattedMultipleAccs, JsonSigningResourceId, MultipleAccessControlConditions, SolRpcConditions, SupportedJsonRequests, UnifiedAccessControlConditions } from '@lit-protocol/types'; /** * * Hash the unified access control conditions using SHA-256 in a deterministic way. * * @param { UnifiedAccessControlConditions } unifiedAccessControlConditions - The unified access control conditions to hash. * @returns { Promise<ArrayBuffer> } A promise that resolves to an ArrayBuffer that contains the hash */ export declare const hashUnifiedAccessControlConditions: (unifiedAccessControlConditions: UnifiedAccessControlConditions) => Promise<ArrayBuffer>; /** * * Hash resource id * * @param { JsonSigningResourceId } resourceId * * @returns { Promise<ArrayBuffer> } * */ export declare const hashResourceId: (resourceId: JsonSigningResourceId) => Promise<ArrayBuffer>; /** * * Hash resourceId for signing * * @param { JSONSigningResourceId } resourceId * * @returns { string } example: "5b36d72f2145af3617e5da2a8a626f9f42e64ed14340622bdfe1a6f0702b9e8d" */ export declare const hashResourceIdForSigning: (resourceId: JsonSigningResourceId) => Promise<string>; /** * * Hash access control conditions * * @param { AccessControlConditions } accessControlConditions * * @returns { Promise<ArrayBuffer> } example: {"data": [83, 176, 31, 130, 12, 130, 232, 109, 126, 76, 216, 4, 184, 166, 246, 134, 130, 34, 30, 235, 125, 247, 111, 212, 62, 231, 119, 200, 202, 171, 86, 40], "type": "Buffer"} * */ export declare const hashAccessControlConditions: (accessControlConditions: AccessControlConditions) => Promise<ArrayBuffer>; /** * * Hash EVM access control conditions * * @param { EvmContractConditions } evmContractConditions * * @returns { Promise<ArrayBuffer> } {"data": [216, 92, 128, 31, 171, 114, 74, 115, 133, 44, 234, 171, 214, 205, 228, 137, 117, 238, 14, 229, 254, 239, 97, 126, 1, 20, 166, 144, 176, 147, 217, 32], "type": "Buffer"} * */ export declare const hashEVMContractConditions: (evmContractConditions: EvmContractConditions) => Promise<ArrayBuffer>; /** * * Hash SOL access control conditions * * @param { SolRpcConditions } solRpcConditions * * @returns { Promise<ArrayBuffer> } * */ export declare const hashSolRpcConditions: (solRpcConditions: SolRpcConditions) => Promise<ArrayBuffer>; /** * Get hash of access control conditions * @param { MultipleAccessControlConditions } params * @returns { Promise<ArrayBuffer | undefined> } */ export declare const getHashedAccessControlConditions: (params: MultipleAccessControlConditions) => Promise<ArrayBuffer | undefined>; /** * Get different formats of access control conditions, eg. evm, sol, unified etc. * @param { SupportedJsonRequests } params * @returns { FormattedMultipleAccs } */ export declare const getFormattedAccessControlConditions: (params: SupportedJsonRequests) => FormattedMultipleAccs;