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