UNPKG

@lit-protocol/access-control-conditions

Version:

A comprehensive toolkit for managing access control conditions within the Lit Protocol ecosystem. This package provides functionalities for formatting, validating, and securing access control rules.

112 lines (110 loc) 3.74 kB
import { AccessControlConditions, AccsCOSMOSParams, AccsDefaultParams, AccsEVMParams, AccsOperatorParams, AccsParams, AccsSOLV2Params, ConditionItem, EvmContractConditions, JsonSigningResourceId, UnifiedAccessControlConditions } from '@lit-protocol/types'; /** * * Canonical Unified Access Control Condition Formatter * * @param { UnifiedAccessControlConditions | ConditionItem } cond * @returns { any[] | AccsOperatorParams | any } */ export declare const canonicalUnifiedAccessControlConditionFormatter: (cond: AccsParams | AccsOperatorParams | UnifiedAccessControlConditions) => AccsOperatorParams | any; /** * * (SOLANA) Canonical Solana RPC Condition Formatter * * need to return in the exact format below: * but make sure we don't include the optional fields: --- #[derive(Debug, Serialize, Deserialize, Clone)] #[serde(rename_all = "camelCase")] pub struct SolRpcCondition { pub method: String, pub params: Vec<serde_json::Value>, pub pda_params: Option<Vec<serde_json::Value>>, pub pda_interface: Option<SolPdaInterface>, pub chain: String, pub return_value_test: JsonReturnValueTestV2, } #[derive(Debug, Serialize, Deserialize, Clone)] #[serde(rename_all = "camelCase")] pub struct SolPdaInterface { pub offset: u64, pub fields: serde_json::Value, } --- * * @param { object } cond * @param { boolean } requireV2Conditions * * @returns { any[] | AccsOperatorParams | AccsSOLV2Params | any } */ export declare const canonicalSolRpcConditionFormatter: (cond: ConditionItem, requireV2Conditions?: boolean) => any[] | AccsOperatorParams | ConditionItem | AccsSOLV2Params | any; /** * * (DEFAULT) Canonical Access Control Condition Formatter * * need to return in the exact format below: --- pub struct JsonAccessControlCondition { pub contract_address: String, pub chain: String, pub standard_contract_type: String, pub method: String, pub parameters: Vec<String>, pub return_value_test: JsonReturnValueTest, } --- * * @param { AccsDefaultParams | AccsOperatorParams | AccessControlConditions } cond * * @returns { any[] | AccsOperatorParams | AccsDefaultParams | any } */ export declare const canonicalAccessControlConditionFormatter: (cond: AccsDefaultParams | AccsOperatorParams | AccessControlConditions) => any[] | AccsOperatorParams | AccsDefaultParams | any; /** * * (EVM) Canonical EVM Contract Condition Formatter * * need to return in the exact format below: --- pub struct JsonAccessControlCondition { pub contract_address: String, pub chain: String, pub standard_contract_type: String, pub method: String, pub parameters: Vec<String>, pub return_value_test: JsonReturnValueTest, } --- * * @param { AccsEVMParams | AccsOperatorParams | EvmContractConditions } cond * * @returns */ export declare const canonicalEVMContractConditionFormatter: (cond: AccsEVMParams | AccsOperatorParams | EvmContractConditions) => any[] | AccsOperatorParams | AccsEVMParams | any; /** * * (COSMOS) Canonical Condition Formmater for Cosmos * * need to return in the exact format below: --- pub struct CosmosCondition { pub path: String, pub chain: String, pub return_value_test: JsonReturnValueTestV2, } --- * * * @param { ConditionItem } cond * @returns */ export declare const canonicalCosmosConditionFormatter: (cond: ConditionItem) => any[] | AccsOperatorParams | AccsCOSMOSParams | any; /** * * Canonical ResourceId Formatter returning JSON signing resource id * * @param { JsonSigningResourceId } resId * * @returns { JsonSigningResourceId } * */ export declare const canonicalResourceIdFormatter: (resId: JsonSigningResourceId) => JsonSigningResourceId;