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

144 lines (143 loc) 4.74 kB
import { LitEVMChainKeys } from '@lit-protocol/constants'; import { AccessControlConditions, AccsCOSMOSParams, EvmContractConditions, HumanizedAccsProps, SolRpcConditions, UnifiedAccessControlConditions } from '@lit-protocol/types'; export declare const ERC20ABI: { constant: boolean; inputs: never[]; name: string; outputs: { name: string; type: string; }[]; payable: boolean; stateMutability: string; type: string; }[]; /** * * Get the number of decimal places in a token * * @property { string } contractAddress The token contract address * @property { LitEVMChainKeys } chain The chain on which the token is deployed * * @returns { number } The number of decimal places in the token */ export declare const decimalPlaces: ({ contractAddress, chain, }: { contractAddress: string; chain: LitEVMChainKeys; }) => Promise<number>; /** * * Format SOL number using Ether Units * * @param { number } amount * * @returns { string } formatted unit * */ export declare const formatSol: (amount: number) => string; /** * * Format Atom number using Ether Units * * @param { number } amount * * @returns { string } formatted unit * */ export declare const formatAtom: (amount: number) => string; /** * * Comparator translator * * @param { string } comparator * * @returns { string } humanized version of the comparator */ export declare const humanizeComparator: (comparator: string) => string | undefined; /** * * Humanize EVM basic access control conditions * * @property { Array<AccsDefaultParams | any> } accessControlConditions * @property { Array<any | string> } tokenList * @property { string } myWalletAddress * * @returns */ export declare const humanizeEvmBasicAccessControlConditions: ({ accessControlConditions, tokenList, myWalletAddress, }: { accessControlConditions: AccessControlConditions; tokenList?: (any | string)[]; myWalletAddress?: string; }) => Promise<string>; /** * * Humanize EVM contract conditions * * @property { Array<AccsEVMParams> } evmContractConditions * @property { Array<any | string> } tokenList * @property { string } myWalletAddress * * @returns { Promise<string> } A promise containing a human readable description of the access control conditions * */ export declare const humanizeEvmContractConditions: ({ evmContractConditions, tokenList, myWalletAddress, }: { evmContractConditions: EvmContractConditions; tokenList?: (any | string)[]; myWalletAddress?: string; }) => Promise<string>; /** * * Humanize SOL RPC Conditions * * @property { Array<AccsSOLV2Params> } solRpcConditions * @property { Array<any | string> } tokenList * @property { string } myWalletAddress * * @returns { Promise<string> } A promise containing a human readable description of the access control conditions * */ export declare const humanizeSolRpcConditions: ({ solRpcConditions, tokenList, myWalletAddress, }: { solRpcConditions: SolRpcConditions; tokenList?: (any | string)[]; myWalletAddress?: string; }) => Promise<string>; /** * * Humanize Cosmos Conditions * * @property { Array<AccsCOSMOSParams> } cosmosConditions * @property { Array<any | string> } tokenList * @property { string } myWalletAddress * * @returns { Promise<string> } A promise containing a human readable description of the access control conditions * */ export declare const humanizeCosmosConditions: ({ cosmosConditions, tokenList, myWalletAddress, }: { cosmosConditions: (AccsCOSMOSParams | any)[]; tokenList?: (any | string)[]; myWalletAddress?: string; }) => Promise<string>; /** * * Humanize unified access control conditions * * @property { Array<UnifiedAccessControlConditions> } unifiedAccessControlConditions * @property { Array<any | string> } tokenList * @property { string } myWalletAddress * * @returns { Promise<string> } A promise containing a human readable description of the access control conditions */ export declare const humanizeUnifiedAccessControlConditions: ({ unifiedAccessControlConditions, tokenList, myWalletAddress, }: { unifiedAccessControlConditions: UnifiedAccessControlConditions; tokenList?: (any | string)[]; myWalletAddress?: string; }) => Promise<string>; /** * * The human readable name for an access control condition * * @param { HumanizedAccsProps } params * * @returns { Promise<string> } A promise containing a human readable description of the access control conditions */ export declare const humanizeAccessControlConditions: ({ accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions, tokenList, myWalletAddress, }: HumanizedAccsProps) => Promise<string | undefined>;