@nucypher/taco 0.7.0-alpha.2 → 0.7.0-dev.viem
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +149 -0
- package/dist/cjs/access-client/client.d.ts +237 -0
- package/dist/cjs/access-client/client.js +196 -0
- package/dist/cjs/access-client/client.js.map +1 -0
- package/dist/cjs/access-client/config-validator.d.ts +92 -0
- package/dist/cjs/access-client/config-validator.js +204 -0
- package/dist/cjs/access-client/config-validator.js.map +1 -0
- package/dist/cjs/access-client/config.d.ts +50 -0
- package/dist/cjs/access-client/config.js +27 -0
- package/dist/cjs/access-client/config.js.map +1 -0
- package/dist/cjs/access-client/index.d.ts +2 -0
- package/dist/cjs/access-client/index.js +19 -0
- package/dist/cjs/access-client/index.js.map +1 -0
- package/dist/cjs/conditions/base/contract.d.ts +4 -4
- package/dist/cjs/conditions/base/contract.js +8 -8
- package/dist/cjs/conditions/base/contract.js.map +1 -1
- package/dist/cjs/conditions/base/index.d.ts +6 -9
- package/dist/cjs/conditions/base/index.js +7 -10
- package/dist/cjs/conditions/base/index.js.map +1 -1
- package/dist/cjs/conditions/base/json-api.d.ts +4 -4
- package/dist/cjs/conditions/base/json-api.js +8 -8
- package/dist/cjs/conditions/base/json-api.js.map +1 -1
- package/dist/cjs/conditions/base/json-rpc.d.ts +4 -4
- package/dist/cjs/conditions/base/json-rpc.js +8 -8
- package/dist/cjs/conditions/base/json-rpc.js.map +1 -1
- package/dist/cjs/conditions/base/jwt.d.ts +4 -4
- package/dist/cjs/conditions/base/jwt.js +9 -9
- package/dist/cjs/conditions/base/jwt.js.map +1 -1
- package/dist/cjs/conditions/base/rpc.d.ts +4 -4
- package/dist/cjs/conditions/base/rpc.js +8 -8
- package/dist/cjs/conditions/base/rpc.js.map +1 -1
- package/dist/cjs/conditions/base/time.d.ts +4 -4
- package/dist/cjs/conditions/base/time.js +9 -9
- package/dist/cjs/conditions/base/time.js.map +1 -1
- package/dist/cjs/conditions/compound-condition.d.ts +4 -4
- package/dist/cjs/conditions/compound-condition.js +9 -9
- package/dist/cjs/conditions/compound-condition.js.map +1 -1
- package/dist/cjs/conditions/condition-expr.d.ts +1 -1
- package/dist/cjs/conditions/condition-expr.js +7 -7
- package/dist/cjs/conditions/condition-expr.js.map +1 -1
- package/dist/cjs/conditions/condition-factory.d.ts +1 -1
- package/dist/cjs/conditions/condition-factory.js +27 -38
- package/dist/cjs/conditions/condition-factory.js.map +1 -1
- package/dist/cjs/conditions/condition.d.ts +1 -1
- package/dist/cjs/conditions/condition.js +6 -6
- package/dist/cjs/conditions/condition.js.map +1 -1
- package/dist/cjs/conditions/context/context.d.ts +2 -6
- package/dist/cjs/conditions/context/context.js +16 -41
- package/dist/cjs/conditions/context/context.js.map +1 -1
- package/dist/cjs/conditions/context/index.d.ts +1 -1
- package/dist/cjs/conditions/context/index.js +2 -2
- package/dist/cjs/conditions/context/index.js.map +1 -1
- package/dist/cjs/conditions/if-then-else-condition.d.ts +4 -4
- package/dist/cjs/conditions/if-then-else-condition.js +8 -8
- package/dist/cjs/conditions/if-then-else-condition.js.map +1 -1
- package/dist/cjs/conditions/index.d.ts +9 -9
- package/dist/cjs/conditions/index.js +10 -10
- package/dist/cjs/conditions/index.js.map +1 -1
- package/dist/cjs/conditions/multi-condition.d.ts +1 -1
- package/dist/cjs/conditions/multi-condition.js +8 -8
- package/dist/cjs/conditions/multi-condition.js.map +1 -1
- package/dist/cjs/conditions/predefined/erc20.d.ts +1 -1
- package/dist/cjs/conditions/predefined/erc20.js +3 -3
- package/dist/cjs/conditions/predefined/erc20.js.map +1 -1
- package/dist/cjs/conditions/predefined/erc721.d.ts +1 -1
- package/dist/cjs/conditions/predefined/erc721.js +5 -5
- package/dist/cjs/conditions/predefined/erc721.js.map +1 -1
- package/dist/cjs/conditions/predefined/index.d.ts +2 -2
- package/dist/cjs/conditions/predefined/index.js +2 -2
- package/dist/cjs/conditions/predefined/index.js.map +1 -1
- package/dist/cjs/conditions/schemas/common.d.ts +0 -2
- package/dist/cjs/conditions/schemas/common.js +8 -25
- package/dist/cjs/conditions/schemas/common.js.map +1 -1
- package/dist/cjs/conditions/schemas/compound.js +6 -6
- package/dist/cjs/conditions/schemas/compound.js.map +1 -1
- package/dist/cjs/conditions/schemas/context.js +5 -5
- package/dist/cjs/conditions/schemas/context.js.map +1 -1
- package/dist/cjs/conditions/schemas/contract.d.ts +30 -33
- package/dist/cjs/conditions/schemas/contract.js +4 -4
- package/dist/cjs/conditions/schemas/contract.js.map +1 -1
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.d.ts +13 -16
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js +13 -17
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
- package/dist/cjs/conditions/schemas/if-then-else.js +10 -10
- package/dist/cjs/conditions/schemas/if-then-else.js.map +1 -1
- package/dist/cjs/conditions/schemas/json-api.d.ts +14 -47
- package/dist/cjs/conditions/schemas/json-api.js +9 -23
- package/dist/cjs/conditions/schemas/json-api.js.map +1 -1
- package/dist/cjs/conditions/schemas/json-rpc.d.ts +13 -48
- package/dist/cjs/conditions/schemas/json-rpc.js +9 -23
- package/dist/cjs/conditions/schemas/json-rpc.js.map +1 -1
- package/dist/cjs/conditions/schemas/jwt.d.ts +4 -2
- package/dist/cjs/conditions/schemas/jwt.js +4 -4
- package/dist/cjs/conditions/schemas/jwt.js.map +1 -1
- package/dist/cjs/conditions/schemas/return-value-test.d.ts +12 -28
- package/dist/cjs/conditions/schemas/return-value-test.js +8 -22
- package/dist/cjs/conditions/schemas/return-value-test.js.map +1 -1
- package/dist/cjs/conditions/schemas/rpc.d.ts +16 -22
- package/dist/cjs/conditions/schemas/rpc.js +8 -8
- package/dist/cjs/conditions/schemas/rpc.js.map +1 -1
- package/dist/cjs/conditions/schemas/sequential.js +18 -38
- package/dist/cjs/conditions/schemas/sequential.js.map +1 -1
- package/dist/cjs/conditions/schemas/time.d.ts +10 -18
- package/dist/cjs/conditions/schemas/time.js +2 -2
- package/dist/cjs/conditions/schemas/time.js.map +1 -1
- package/dist/cjs/conditions/schemas/utils.js +18 -25
- package/dist/cjs/conditions/schemas/utils.js.map +1 -1
- package/dist/cjs/conditions/sequential.d.ts +4 -4
- package/dist/cjs/conditions/sequential.js +8 -8
- package/dist/cjs/conditions/sequential.js.map +1 -1
- package/dist/cjs/conditions/shared.d.ts +2 -2
- package/dist/cjs/conditions/shared.js +6 -6
- package/dist/cjs/conditions/shared.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +8 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/taco.d.ts +82 -43
- package/dist/cjs/taco.js +28 -86
- package/dist/cjs/taco.js.map +1 -1
- package/dist/cjs/tdec.d.ts +2 -2
- package/dist/cjs/tdec.js +7 -7
- package/dist/cjs/tdec.js.map +1 -1
- package/dist/cjs/types.d.ts +0 -1
- package/dist/es/access-client/client.d.ts +237 -0
- package/dist/es/access-client/client.js +192 -0
- package/dist/es/access-client/client.js.map +1 -0
- package/dist/es/access-client/config-validator.d.ts +92 -0
- package/dist/es/access-client/config-validator.js +200 -0
- package/dist/es/access-client/config-validator.js.map +1 -0
- package/dist/es/access-client/config.d.ts +50 -0
- package/dist/es/access-client/config.js +23 -0
- package/dist/es/access-client/config.js.map +1 -0
- package/dist/es/access-client/index.d.ts +2 -0
- package/dist/es/access-client/index.js +3 -0
- package/dist/es/access-client/index.js.map +1 -0
- package/dist/es/conditions/base/contract.d.ts +4 -4
- package/dist/es/conditions/base/contract.js +3 -3
- package/dist/es/conditions/base/contract.js.map +1 -1
- package/dist/es/conditions/base/index.d.ts +6 -9
- package/dist/es/conditions/base/index.js +6 -9
- package/dist/es/conditions/base/index.js.map +1 -1
- package/dist/es/conditions/base/json-api.d.ts +4 -4
- package/dist/es/conditions/base/json-api.js +3 -3
- package/dist/es/conditions/base/json-api.js.map +1 -1
- package/dist/es/conditions/base/json-rpc.d.ts +4 -4
- package/dist/es/conditions/base/json-rpc.js +3 -3
- package/dist/es/conditions/base/json-rpc.js.map +1 -1
- package/dist/es/conditions/base/jwt.d.ts +4 -4
- package/dist/es/conditions/base/jwt.js +3 -3
- package/dist/es/conditions/base/jwt.js.map +1 -1
- package/dist/es/conditions/base/rpc.d.ts +4 -4
- package/dist/es/conditions/base/rpc.js +3 -3
- package/dist/es/conditions/base/rpc.js.map +1 -1
- package/dist/es/conditions/base/time.d.ts +4 -4
- package/dist/es/conditions/base/time.js +3 -3
- package/dist/es/conditions/base/time.js.map +1 -1
- package/dist/es/conditions/compound-condition.d.ts +4 -4
- package/dist/es/conditions/compound-condition.js +3 -3
- package/dist/es/conditions/compound-condition.js.map +1 -1
- package/dist/es/conditions/condition-expr.d.ts +1 -1
- package/dist/es/conditions/condition-expr.js +2 -2
- package/dist/es/conditions/condition-expr.js.map +1 -1
- package/dist/es/conditions/condition-factory.d.ts +1 -1
- package/dist/es/conditions/condition-factory.js +9 -20
- package/dist/es/conditions/condition-factory.js.map +1 -1
- package/dist/es/conditions/condition.d.ts +1 -1
- package/dist/es/conditions/condition.js +3 -3
- package/dist/es/conditions/condition.js.map +1 -1
- package/dist/es/conditions/context/context.d.ts +2 -6
- package/dist/es/conditions/context/context.js +6 -31
- package/dist/es/conditions/context/context.js.map +1 -1
- package/dist/es/conditions/context/index.d.ts +1 -1
- package/dist/es/conditions/context/index.js +1 -1
- package/dist/es/conditions/context/index.js.map +1 -1
- package/dist/es/conditions/if-then-else-condition.d.ts +4 -4
- package/dist/es/conditions/if-then-else-condition.js +3 -3
- package/dist/es/conditions/if-then-else-condition.js.map +1 -1
- package/dist/es/conditions/index.d.ts +9 -9
- package/dist/es/conditions/index.js +9 -9
- package/dist/es/conditions/index.js.map +1 -1
- package/dist/es/conditions/multi-condition.d.ts +1 -1
- package/dist/es/conditions/multi-condition.js +3 -3
- package/dist/es/conditions/multi-condition.js.map +1 -1
- package/dist/es/conditions/predefined/erc20.d.ts +1 -1
- package/dist/es/conditions/predefined/erc20.js +1 -1
- package/dist/es/conditions/predefined/erc20.js.map +1 -1
- package/dist/es/conditions/predefined/erc721.d.ts +1 -1
- package/dist/es/conditions/predefined/erc721.js +1 -1
- package/dist/es/conditions/predefined/erc721.js.map +1 -1
- package/dist/es/conditions/predefined/index.d.ts +2 -2
- package/dist/es/conditions/predefined/index.js +2 -2
- package/dist/es/conditions/predefined/index.js.map +1 -1
- package/dist/es/conditions/schemas/common.d.ts +0 -2
- package/dist/es/conditions/schemas/common.js +3 -20
- package/dist/es/conditions/schemas/common.js.map +1 -1
- package/dist/es/conditions/schemas/compound.js +3 -3
- package/dist/es/conditions/schemas/compound.js.map +1 -1
- package/dist/es/conditions/schemas/context.js +2 -2
- package/dist/es/conditions/schemas/context.js.map +1 -1
- package/dist/es/conditions/schemas/contract.d.ts +30 -33
- package/dist/es/conditions/schemas/contract.js +2 -2
- package/dist/es/conditions/schemas/contract.js.map +1 -1
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.d.ts +13 -16
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.js +13 -17
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
- package/dist/es/conditions/schemas/if-then-else.js +3 -3
- package/dist/es/conditions/schemas/if-then-else.js.map +1 -1
- package/dist/es/conditions/schemas/json-api.d.ts +14 -47
- package/dist/es/conditions/schemas/json-api.js +5 -19
- package/dist/es/conditions/schemas/json-api.js.map +1 -1
- package/dist/es/conditions/schemas/json-rpc.d.ts +13 -48
- package/dist/es/conditions/schemas/json-rpc.js +5 -19
- package/dist/es/conditions/schemas/json-rpc.js.map +1 -1
- package/dist/es/conditions/schemas/jwt.d.ts +4 -2
- package/dist/es/conditions/schemas/jwt.js +2 -2
- package/dist/es/conditions/schemas/jwt.js.map +1 -1
- package/dist/es/conditions/schemas/return-value-test.d.ts +12 -28
- package/dist/es/conditions/schemas/return-value-test.js +6 -20
- package/dist/es/conditions/schemas/return-value-test.js.map +1 -1
- package/dist/es/conditions/schemas/rpc.d.ts +16 -22
- package/dist/es/conditions/schemas/rpc.js +3 -3
- package/dist/es/conditions/schemas/rpc.js.map +1 -1
- package/dist/es/conditions/schemas/sequential.js +14 -34
- package/dist/es/conditions/schemas/sequential.js.map +1 -1
- package/dist/es/conditions/schemas/time.d.ts +10 -18
- package/dist/es/conditions/schemas/time.js +1 -1
- package/dist/es/conditions/schemas/time.js.map +1 -1
- package/dist/es/conditions/schemas/utils.js +10 -17
- package/dist/es/conditions/schemas/utils.js.map +1 -1
- package/dist/es/conditions/sequential.d.ts +4 -4
- package/dist/es/conditions/sequential.js +3 -3
- package/dist/es/conditions/sequential.js.map +1 -1
- package/dist/es/conditions/shared.d.ts +2 -2
- package/dist/es/conditions/shared.js +2 -2
- package/dist/es/conditions/shared.js.map +1 -1
- package/dist/es/index.d.ts +3 -3
- package/dist/es/index.js +3 -3
- package/dist/es/index.js.map +1 -1
- package/dist/es/package.json +3 -0
- package/dist/es/taco.d.ts +82 -43
- package/dist/es/taco.js +25 -82
- package/dist/es/taco.js.map +1 -1
- package/dist/es/tdec.d.ts +2 -2
- package/dist/es/tdec.js +5 -5
- package/dist/es/tdec.js.map +1 -1
- package/dist/es/types.d.ts +0 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.es.tsbuildinfo +1 -1
- package/package.json +12 -8
- package/dist/cjs/conditions/base/address-allowlist.d.ts +0 -10
- package/dist/cjs/conditions/base/address-allowlist.js +0 -19
- package/dist/cjs/conditions/base/address-allowlist.js.map +0 -1
- package/dist/cjs/conditions/base/ecdsa.d.ts +0 -7
- package/dist/cjs/conditions/base/ecdsa.js +0 -21
- package/dist/cjs/conditions/base/ecdsa.js.map +0 -1
- package/dist/cjs/conditions/base/signing.d.ts +0 -10
- package/dist/cjs/conditions/base/signing.js +0 -32
- package/dist/cjs/conditions/base/signing.js.map +0 -1
- package/dist/cjs/conditions/schemas/address-allowlist.d.ts +0 -16
- package/dist/cjs/conditions/schemas/address-allowlist.js +0 -20
- package/dist/cjs/conditions/schemas/address-allowlist.js.map +0 -1
- package/dist/cjs/conditions/schemas/ecdsa.d.ts +0 -38
- package/dist/cjs/conditions/schemas/ecdsa.js +0 -40
- package/dist/cjs/conditions/schemas/ecdsa.js.map +0 -1
- package/dist/cjs/conditions/schemas/signing.d.ts +0 -12
- package/dist/cjs/conditions/schemas/signing.js +0 -204
- package/dist/cjs/conditions/schemas/signing.js.map +0 -1
- package/dist/cjs/conditions/zod.d.ts +0 -3
- package/dist/cjs/conditions/zod.js +0 -19
- package/dist/cjs/conditions/zod.js.map +0 -1
- package/dist/cjs/sign.d.ts +0 -26
- package/dist/cjs/sign.js +0 -99
- package/dist/cjs/sign.js.map +0 -1
- package/dist/es/conditions/base/address-allowlist.d.ts +0 -10
- package/dist/es/conditions/base/address-allowlist.js +0 -15
- package/dist/es/conditions/base/address-allowlist.js.map +0 -1
- package/dist/es/conditions/base/ecdsa.d.ts +0 -7
- package/dist/es/conditions/base/ecdsa.js +0 -12
- package/dist/es/conditions/base/ecdsa.js.map +0 -1
- package/dist/es/conditions/base/signing.d.ts +0 -10
- package/dist/es/conditions/base/signing.js +0 -20
- package/dist/es/conditions/base/signing.js.map +0 -1
- package/dist/es/conditions/schemas/address-allowlist.d.ts +0 -16
- package/dist/es/conditions/schemas/address-allowlist.js +0 -17
- package/dist/es/conditions/schemas/address-allowlist.js.map +0 -1
- package/dist/es/conditions/schemas/ecdsa.d.ts +0 -38
- package/dist/es/conditions/schemas/ecdsa.js +0 -37
- package/dist/es/conditions/schemas/ecdsa.js.map +0 -1
- package/dist/es/conditions/schemas/signing.d.ts +0 -12
- package/dist/es/conditions/schemas/signing.js +0 -201
- package/dist/es/conditions/schemas/signing.js.map +0 -1
- package/dist/es/conditions/zod.d.ts +0 -3
- package/dist/es/conditions/zod.js +0 -17
- package/dist/es/conditions/zod.js.map +0 -1
- package/dist/es/sign.d.ts +0 -26
- package/dist/es/sign.js +0 -95
- package/dist/es/sign.js.map +0 -1
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TACo Domain Configuration and Validation
|
|
3
|
+
*
|
|
4
|
+
* This module provides domain configuration management, validation utilities,
|
|
5
|
+
* and configuration processing for TACo operations across different networks.
|
|
6
|
+
*/
|
|
7
|
+
import { DomainName, ProviderLike } from '@nucypher/shared';
|
|
8
|
+
import { type AccessClientConfig } from './index.js';
|
|
9
|
+
/**
|
|
10
|
+
* Generic validation result interface
|
|
11
|
+
*/
|
|
12
|
+
export interface ValidationResult {
|
|
13
|
+
isValid: boolean;
|
|
14
|
+
errors: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Access Configuration Validator
|
|
18
|
+
*
|
|
19
|
+
* Validates Access client configurations, domains, and provider compatibility.
|
|
20
|
+
* Provides both fast and full validation methods for TACo operations.
|
|
21
|
+
*/
|
|
22
|
+
export declare class AccessConfigValidator {
|
|
23
|
+
/**
|
|
24
|
+
* Get all supported TACo domain names
|
|
25
|
+
* @returns {DomainName[]} Array of supported TACo domain names ('lynx', 'tapir', 'mainnet')
|
|
26
|
+
*/
|
|
27
|
+
static getSupportedDomains(): DomainName[];
|
|
28
|
+
/**
|
|
29
|
+
* Check if domain is valid
|
|
30
|
+
* @param {DomainName} domain - TACo domain name to check ('lynx', 'tapir', 'mainnet')
|
|
31
|
+
* @returns {boolean} True if domain exists
|
|
32
|
+
*/
|
|
33
|
+
static isValidDomain(domain: DomainName): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Get expected chain ID for domain from DOMAINS configuration
|
|
36
|
+
* @param {DomainName} domain - Domain name to look up
|
|
37
|
+
* @returns {number | undefined} Chain ID for the domain, undefined if not found
|
|
38
|
+
* @private
|
|
39
|
+
*/
|
|
40
|
+
private static getExpectedChainId;
|
|
41
|
+
/**
|
|
42
|
+
* Validate ritual ID (basic validation - positive integer or 0)
|
|
43
|
+
* @param {number} ritualId - Ritual ID to validate
|
|
44
|
+
* @returns {boolean} True if valid (positive integer or 0)
|
|
45
|
+
*/
|
|
46
|
+
static isValidRitualId(ritualId: number): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Validate provider compatibility with domain
|
|
49
|
+
* @param {DomainName} domain - Domain name
|
|
50
|
+
* @param {ProviderLike} provider - Provider to validate (ethers Provider or viem PublicClient)
|
|
51
|
+
* @returns {Promise<boolean>} True if provider is valid for domain
|
|
52
|
+
*/
|
|
53
|
+
static isValidProvider(domain: DomainName, provider: ProviderLike): Promise<boolean>;
|
|
54
|
+
/**
|
|
55
|
+
* Fast validation (everything except provider network checks)
|
|
56
|
+
*
|
|
57
|
+
* Performs synchronous validation of configuration including:
|
|
58
|
+
* - Domain name validation
|
|
59
|
+
* - Ritual ID validation to ensure it is a positive integer
|
|
60
|
+
* - Provider/signer presence validation
|
|
61
|
+
* - Chain compatibility check (if chain info is available synchronously)
|
|
62
|
+
*
|
|
63
|
+
* @param {TacoClientConfig} config - Configuration to validate
|
|
64
|
+
* @returns {ValidationResult} Validation result with isValid boolean and errors array
|
|
65
|
+
*/
|
|
66
|
+
static validateFast(config: AccessClientConfig): ValidationResult;
|
|
67
|
+
/**
|
|
68
|
+
* Synchronous chain compatibility validation
|
|
69
|
+
*
|
|
70
|
+
* Validates provider chain compatibility with domain requirements using
|
|
71
|
+
* synchronously available chain information.
|
|
72
|
+
*
|
|
73
|
+
* @param {TacoClientConfig} config - Configuration to validate
|
|
74
|
+
* @returns {ValidationResult} Validation result
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
77
|
+
private static validateChainCompatibility;
|
|
78
|
+
/**
|
|
79
|
+
* Full validation including async provider network checks
|
|
80
|
+
*
|
|
81
|
+
* Performs comprehensive validation including:
|
|
82
|
+
* - All fast validation checks
|
|
83
|
+
* - Async network calls to verify provider chain ID matches domain requirements
|
|
84
|
+
*
|
|
85
|
+
* Use this method when you need complete validation including network connectivity checks.
|
|
86
|
+
* For faster validation without network calls, use validateFast().
|
|
87
|
+
*
|
|
88
|
+
* @param {TacoClientConfig} config - Configuration to validate
|
|
89
|
+
* @returns {Promise<ValidationResult>} Promise resolving to validation result with isValid boolean and errors array
|
|
90
|
+
*/
|
|
91
|
+
static validate(config: AccessClientConfig): Promise<ValidationResult>;
|
|
92
|
+
}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TACo Domain Configuration and Validation
|
|
3
|
+
*
|
|
4
|
+
* This module provides domain configuration management, validation utilities,
|
|
5
|
+
* and configuration processing for TACo operations across different networks.
|
|
6
|
+
*/
|
|
7
|
+
import { DOMAINS, isViemClient, } from '@nucypher/shared';
|
|
8
|
+
import { isEthersAccessClientConfig, isViemAccessClientConfig, } from './index.js';
|
|
9
|
+
/**
|
|
10
|
+
* Access Configuration Validator
|
|
11
|
+
*
|
|
12
|
+
* Validates Access client configurations, domains, and provider compatibility.
|
|
13
|
+
* Provides both fast and full validation methods for TACo operations.
|
|
14
|
+
*/
|
|
15
|
+
export class AccessConfigValidator {
|
|
16
|
+
/**
|
|
17
|
+
* Get all supported TACo domain names
|
|
18
|
+
* @returns {DomainName[]} Array of supported TACo domain names ('lynx', 'tapir', 'mainnet')
|
|
19
|
+
*/
|
|
20
|
+
static getSupportedDomains() {
|
|
21
|
+
return Object.values(DOMAINS).map((domain) => domain.domain);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Check if domain is valid
|
|
25
|
+
* @param {DomainName} domain - TACo domain name to check ('lynx', 'tapir', 'mainnet')
|
|
26
|
+
* @returns {boolean} True if domain exists
|
|
27
|
+
*/
|
|
28
|
+
static isValidDomain(domain) {
|
|
29
|
+
return !!domain && this.getSupportedDomains().includes(domain);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get expected chain ID for domain from DOMAINS configuration
|
|
33
|
+
* @param {DomainName} domain - Domain name to look up
|
|
34
|
+
* @returns {number | undefined} Chain ID for the domain, undefined if not found
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
static getExpectedChainId(domain) {
|
|
38
|
+
const domainEntry = Object.values(DOMAINS).find((domainConfig) => domainConfig.domain === domain);
|
|
39
|
+
return domainEntry?.chainId;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Validate ritual ID (basic validation - positive integer or 0)
|
|
43
|
+
* @param {number} ritualId - Ritual ID to validate
|
|
44
|
+
* @returns {boolean} True if valid (positive integer or 0)
|
|
45
|
+
*/
|
|
46
|
+
static isValidRitualId(ritualId) {
|
|
47
|
+
return (typeof ritualId === 'number' &&
|
|
48
|
+
Number.isInteger(ritualId) &&
|
|
49
|
+
ritualId >= 0);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Validate provider compatibility with domain
|
|
53
|
+
* @param {DomainName} domain - Domain name
|
|
54
|
+
* @param {ProviderLike} provider - Provider to validate (ethers Provider or viem PublicClient)
|
|
55
|
+
* @returns {Promise<boolean>} True if provider is valid for domain
|
|
56
|
+
*/
|
|
57
|
+
static async isValidProvider(domain, provider) {
|
|
58
|
+
let chainId;
|
|
59
|
+
if (!provider || typeof provider !== 'object') {
|
|
60
|
+
// Invalid provider
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
// Try to detect provider type and get chain ID safely
|
|
64
|
+
try {
|
|
65
|
+
if (isViemClient(provider)) {
|
|
66
|
+
chainId = await provider.getChainId();
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
const network = await provider.getNetwork();
|
|
70
|
+
chainId = network.chainId;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
// Error getting chain ID
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
// Check if the provider's chain ID matches the domain's expected chain ID
|
|
78
|
+
return (Object.values(DOMAINS).find((domainInfo) => domainInfo.domain === domain && domainInfo.chainId === chainId) !== undefined);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Fast validation (everything except provider network checks)
|
|
82
|
+
*
|
|
83
|
+
* Performs synchronous validation of configuration including:
|
|
84
|
+
* - Domain name validation
|
|
85
|
+
* - Ritual ID validation to ensure it is a positive integer
|
|
86
|
+
* - Provider/signer presence validation
|
|
87
|
+
* - Chain compatibility check (if chain info is available synchronously)
|
|
88
|
+
*
|
|
89
|
+
* @param {TacoClientConfig} config - Configuration to validate
|
|
90
|
+
* @returns {ValidationResult} Validation result with isValid boolean and errors array
|
|
91
|
+
*/
|
|
92
|
+
static validateFast(config) {
|
|
93
|
+
const errors = [];
|
|
94
|
+
// Validate domain
|
|
95
|
+
if (!config.domain) {
|
|
96
|
+
errors.push('The property `domain` is required');
|
|
97
|
+
}
|
|
98
|
+
else if (!this.isValidDomain(config.domain)) {
|
|
99
|
+
errors.push(`Invalid domain name: ${config.domain}. Supported domains: ${this.getSupportedDomains().join(', ')}`);
|
|
100
|
+
}
|
|
101
|
+
// Validate ritual ID
|
|
102
|
+
if (!config.ritualId) {
|
|
103
|
+
errors.push('The property `ritualId` is required');
|
|
104
|
+
}
|
|
105
|
+
else if (!this.isValidRitualId(config.ritualId)) {
|
|
106
|
+
errors.push(`Invalid ritual ID: ${config.ritualId} for domain ${config.domain}`);
|
|
107
|
+
}
|
|
108
|
+
// Validate blockchain client configuration
|
|
109
|
+
if (isViemAccessClientConfig(config)) {
|
|
110
|
+
// Viem configuration
|
|
111
|
+
if (!config.viemClient) {
|
|
112
|
+
errors.push('viemClient is required for viem configuration');
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else if (isEthersAccessClientConfig(config)) {
|
|
116
|
+
// Ethers configuration
|
|
117
|
+
if (!config.ethersProvider) {
|
|
118
|
+
errors.push('ethersProvider is required for ethers configuration');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
errors.push('Configuration must include either viemClient or ethersProvider');
|
|
123
|
+
}
|
|
124
|
+
// Validate chain compatibility (synchronous check)
|
|
125
|
+
const chainValidation = this.validateChainCompatibility(config);
|
|
126
|
+
if (!chainValidation.isValid) {
|
|
127
|
+
errors.push(...chainValidation.errors);
|
|
128
|
+
}
|
|
129
|
+
return { isValid: errors.length === 0, errors };
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Synchronous chain compatibility validation
|
|
133
|
+
*
|
|
134
|
+
* Validates provider chain compatibility with domain requirements using
|
|
135
|
+
* synchronously available chain information.
|
|
136
|
+
*
|
|
137
|
+
* @param {TacoClientConfig} config - Configuration to validate
|
|
138
|
+
* @returns {ValidationResult} Validation result
|
|
139
|
+
* @private
|
|
140
|
+
*/
|
|
141
|
+
static validateChainCompatibility(config) {
|
|
142
|
+
const errors = [];
|
|
143
|
+
// Get expected chain ID for domain
|
|
144
|
+
const expectedChainId = this.getExpectedChainId(config.domain);
|
|
145
|
+
if (!expectedChainId) {
|
|
146
|
+
errors.push(`Unsupported domain: ${config.domain}`);
|
|
147
|
+
return { isValid: false, errors };
|
|
148
|
+
}
|
|
149
|
+
if (isViemAccessClientConfig(config) && config.viemClient) {
|
|
150
|
+
// Note: If viemClient.chain is undefined, we skip synchronous validation
|
|
151
|
+
// Full validation with validateFull() will perform the network check
|
|
152
|
+
const viemClient = config.viemClient;
|
|
153
|
+
if (viemClient.chain && viemClient.chain.id !== expectedChainId) {
|
|
154
|
+
errors.push(`Provider chain mismatch: viem client chain ID ${viemClient.chain.id} does not match domain '${config.domain}' (expected ${expectedChainId})`);
|
|
155
|
+
}
|
|
156
|
+
} // No need to count for the other cases. The caller methods already handle them.
|
|
157
|
+
return { isValid: errors.length === 0, errors };
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Full validation including async provider network checks
|
|
161
|
+
*
|
|
162
|
+
* Performs comprehensive validation including:
|
|
163
|
+
* - All fast validation checks
|
|
164
|
+
* - Async network calls to verify provider chain ID matches domain requirements
|
|
165
|
+
*
|
|
166
|
+
* Use this method when you need complete validation including network connectivity checks.
|
|
167
|
+
* For faster validation without network calls, use validateFast().
|
|
168
|
+
*
|
|
169
|
+
* @param {TacoClientConfig} config - Configuration to validate
|
|
170
|
+
* @returns {Promise<ValidationResult>} Promise resolving to validation result with isValid boolean and errors array
|
|
171
|
+
*/
|
|
172
|
+
static async validate(config) {
|
|
173
|
+
// First run fast validation
|
|
174
|
+
const fastResult = this.validateFast(config);
|
|
175
|
+
if (!fastResult.isValid) {
|
|
176
|
+
return fastResult;
|
|
177
|
+
}
|
|
178
|
+
const errors = [];
|
|
179
|
+
// Additional async provider validation
|
|
180
|
+
let provider;
|
|
181
|
+
if (isViemAccessClientConfig(config)) {
|
|
182
|
+
provider = config.viemClient;
|
|
183
|
+
}
|
|
184
|
+
else if (isEthersAccessClientConfig(config)) {
|
|
185
|
+
provider = config.ethersProvider;
|
|
186
|
+
}
|
|
187
|
+
// Validate provider compatibility with domain (if both exist)
|
|
188
|
+
if (provider && config.domain) {
|
|
189
|
+
const isValidProvider = await this.isValidProvider(config.domain, provider);
|
|
190
|
+
if (!isValidProvider) {
|
|
191
|
+
errors.push(`Invalid provider for domain: ${config.domain}. Provider chain ID does not match domain requirements.`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
isValid: errors.length === 0,
|
|
196
|
+
errors,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=config-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../../src/access-client/config-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AccessClient configuration types and utilities
|
|
3
|
+
*
|
|
4
|
+
* This module contains all configuration interfaces, type definitions, and utility functions
|
|
5
|
+
* for configuring AccessClient instances with different blockchain client libraries (viem, ethers.js).
|
|
6
|
+
*/
|
|
7
|
+
import { DomainName, type PublicClient } from '@nucypher/shared';
|
|
8
|
+
import type { ethers } from 'ethers';
|
|
9
|
+
/**
|
|
10
|
+
* Base configuration for AccessClient
|
|
11
|
+
*/
|
|
12
|
+
interface AccessClientBaseConfig {
|
|
13
|
+
/** TACo domain name (e.g., 'lynx', 'tapir', 'mainnet') */
|
|
14
|
+
domain: DomainName;
|
|
15
|
+
/** Ritual ID for the TACo operations */
|
|
16
|
+
ritualId: number;
|
|
17
|
+
/** Optional Porter URIs */
|
|
18
|
+
porterUris?: string[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Viem configuration for AccessClient
|
|
22
|
+
*/
|
|
23
|
+
export interface AccessClientViemConfig extends AccessClientBaseConfig {
|
|
24
|
+
/** Viem PublicClient for blockchain operations */
|
|
25
|
+
viemClient: PublicClient;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Ethers configuration for AccessClient
|
|
29
|
+
*/
|
|
30
|
+
export interface AccessClientEthersConfig extends AccessClientBaseConfig {
|
|
31
|
+
/** Ethers Provider for blockchain operations */
|
|
32
|
+
ethersProvider: ethers.providers.Provider;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Union type for AccessClient configuration - supports both viem and ethers.js
|
|
36
|
+
*/
|
|
37
|
+
export type AccessClientConfig = AccessClientViemConfig | AccessClientEthersConfig;
|
|
38
|
+
/**
|
|
39
|
+
* Type guard to check if config is viem-based
|
|
40
|
+
* @param config - AccessClient configuration to check
|
|
41
|
+
* @returns true if the configuration is for viem client
|
|
42
|
+
*/
|
|
43
|
+
export declare function isViemAccessClientConfig(config: AccessClientConfig): config is AccessClientViemConfig;
|
|
44
|
+
/**
|
|
45
|
+
* Type guard to check if config is ethers-based
|
|
46
|
+
* @param config - AccessClient configuration to check
|
|
47
|
+
* @returns true if the configuration is for ethers client
|
|
48
|
+
*/
|
|
49
|
+
export declare function isEthersAccessClientConfig(config: AccessClientConfig): config is AccessClientEthersConfig;
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AccessClient configuration types and utilities
|
|
3
|
+
*
|
|
4
|
+
* This module contains all configuration interfaces, type definitions, and utility functions
|
|
5
|
+
* for configuring AccessClient instances with different blockchain client libraries (viem, ethers.js).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Type guard to check if config is viem-based
|
|
9
|
+
* @param config - AccessClient configuration to check
|
|
10
|
+
* @returns true if the configuration is for viem client
|
|
11
|
+
*/
|
|
12
|
+
export function isViemAccessClientConfig(config) {
|
|
13
|
+
return 'viemClient' in config;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Type guard to check if config is ethers-based
|
|
17
|
+
* @param config - AccessClient configuration to check
|
|
18
|
+
* @returns true if the configuration is for ethers client
|
|
19
|
+
*/
|
|
20
|
+
export function isEthersAccessClientConfig(config) {
|
|
21
|
+
return 'ethersProvider' in config;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/access-client/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwCH;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAA0B;IAE1B,OAAO,YAAY,IAAI,MAAM,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAA0B;IAE1B,OAAO,gBAAgB,IAAI,MAAM,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/access-client/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { ContractConditionProps } from '../schemas/contract';
|
|
3
|
-
import { OmitConditionType } from '../shared';
|
|
4
|
-
export { ContractConditionProps, contractConditionSchema, ContractConditionType, FunctionAbiProps, } from '../schemas/contract';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { ContractConditionProps } from '../schemas/contract.js';
|
|
3
|
+
import { OmitConditionType } from '../shared.js';
|
|
4
|
+
export { ContractConditionProps, contractConditionSchema, ContractConditionType, FunctionAbiProps, } from '../schemas/contract.js';
|
|
5
5
|
export declare class ContractCondition extends Condition {
|
|
6
6
|
constructor(value: OmitConditionType<ContractConditionProps>);
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { contractConditionSchema, ContractConditionType, } from '../schemas/contract';
|
|
3
|
-
export { contractConditionSchema, ContractConditionType, } from '../schemas/contract';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { contractConditionSchema, ContractConditionType, } from '../schemas/contract.js';
|
|
3
|
+
export { contractConditionSchema, ContractConditionType, } from '../schemas/contract.js';
|
|
4
4
|
export class ContractCondition extends Condition {
|
|
5
5
|
constructor(value) {
|
|
6
6
|
super(contractConditionSchema, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/conditions/base/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/conditions/base/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,GAEtB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC9C,YAAY,KAAgD;QAC1D,KAAK,CAAC,uBAAuB,EAAE;YAC7B,aAAa,EAAE,qBAAqB;YACpC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
export * as
|
|
2
|
-
export * as
|
|
3
|
-
export * as
|
|
4
|
-
export * as
|
|
5
|
-
export * as
|
|
6
|
-
export * as
|
|
7
|
-
export * as rpc from './rpc';
|
|
8
|
-
export * as signing from './signing';
|
|
9
|
-
export * as time from './time';
|
|
1
|
+
export * as contract from './contract.js';
|
|
2
|
+
export * as jsonApi from './json-api.js';
|
|
3
|
+
export * as jsonRpc from './json-rpc.js';
|
|
4
|
+
export * as jwt from './jwt.js';
|
|
5
|
+
export * as rpc from './rpc.js';
|
|
6
|
+
export * as time from './time.js';
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
// Exporting classes here instead of their respective schema files to
|
|
2
2
|
// avoid circular dependency on Condition class.
|
|
3
|
-
export * as
|
|
4
|
-
export * as
|
|
5
|
-
export * as
|
|
6
|
-
export * as
|
|
7
|
-
export * as
|
|
8
|
-
export * as
|
|
9
|
-
export * as rpc from './rpc';
|
|
10
|
-
export * as signing from './signing';
|
|
11
|
-
export * as time from './time';
|
|
3
|
+
export * as contract from './contract.js';
|
|
4
|
+
export * as jsonApi from './json-api.js';
|
|
5
|
+
export * as jsonRpc from './json-rpc.js';
|
|
6
|
+
export * as jwt from './jwt.js';
|
|
7
|
+
export * as rpc from './rpc.js';
|
|
8
|
+
export * as time from './time.js';
|
|
12
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/conditions/base/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,gDAAgD;AAEhD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/conditions/base/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,gDAAgD;AAEhD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { JsonApiConditionProps } from '../schemas/json-api';
|
|
3
|
-
import { OmitConditionType } from '../shared';
|
|
4
|
-
export { JsonApiConditionProps, jsonApiConditionSchema, JsonApiConditionType, } from '../schemas/json-api';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { JsonApiConditionProps } from '../schemas/json-api.js';
|
|
3
|
+
import { OmitConditionType } from '../shared.js';
|
|
4
|
+
export { JsonApiConditionProps, jsonApiConditionSchema, JsonApiConditionType, } from '../schemas/json-api.js';
|
|
5
5
|
export declare class JsonApiCondition extends Condition {
|
|
6
6
|
constructor(value: OmitConditionType<JsonApiConditionProps>);
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { jsonApiConditionSchema, JsonApiConditionType, } from '../schemas/json-api';
|
|
3
|
-
export { jsonApiConditionSchema, JsonApiConditionType, } from '../schemas/json-api';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { jsonApiConditionSchema, JsonApiConditionType, } from '../schemas/json-api.js';
|
|
3
|
+
export { jsonApiConditionSchema, JsonApiConditionType, } from '../schemas/json-api.js';
|
|
4
4
|
export class JsonApiCondition extends Condition {
|
|
5
5
|
constructor(value) {
|
|
6
6
|
super(jsonApiConditionSchema, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,KAA+C;QACzD,KAAK,CAAC,sBAAsB,EAAE;YAC5B,aAAa,EAAE,oBAAoB;YACnC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { JsonRpcConditionProps } from '../schemas/json-rpc';
|
|
3
|
-
import { OmitConditionType } from '../shared';
|
|
4
|
-
export { JsonRpcConditionProps, jsonRpcConditionSchema, JsonRpcConditionType, } from '../schemas/json-rpc';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { JsonRpcConditionProps } from '../schemas/json-rpc.js';
|
|
3
|
+
import { OmitConditionType } from '../shared.js';
|
|
4
|
+
export { JsonRpcConditionProps, jsonRpcConditionSchema, JsonRpcConditionType, } from '../schemas/json-rpc.js';
|
|
5
5
|
export declare class JsonRpcCondition extends Condition {
|
|
6
6
|
constructor(value: OmitConditionType<JsonRpcConditionProps>);
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { jsonRpcConditionSchema, JsonRpcConditionType, } from '../schemas/json-rpc';
|
|
3
|
-
export { jsonRpcConditionSchema, JsonRpcConditionType, } from '../schemas/json-rpc';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { jsonRpcConditionSchema, JsonRpcConditionType, } from '../schemas/json-rpc.js';
|
|
3
|
+
export { jsonRpcConditionSchema, JsonRpcConditionType, } from '../schemas/json-rpc.js';
|
|
4
4
|
export class JsonRpcCondition extends Condition {
|
|
5
5
|
constructor(value) {
|
|
6
6
|
super(jsonRpcConditionSchema, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-rpc.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"json-rpc.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,KAA+C;QACzD,KAAK,CAAC,sBAAsB,EAAE;YAC5B,aAAa,EAAE,oBAAoB;YACnC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { JWTConditionProps } from '../schemas/jwt';
|
|
3
|
-
import { OmitConditionType } from '../shared';
|
|
4
|
-
export { JWT_PARAM_DEFAULT, JWTConditionProps, jwtConditionSchema, JWTConditionType, } from '../schemas/jwt';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { JWTConditionProps } from '../schemas/jwt.js';
|
|
3
|
+
import { OmitConditionType } from '../shared.js';
|
|
4
|
+
export { JWT_PARAM_DEFAULT, JWTConditionProps, jwtConditionSchema, JWTConditionType, } from '../schemas/jwt.js';
|
|
5
5
|
export declare class JWTCondition extends Condition {
|
|
6
6
|
constructor(value: OmitConditionType<JWTConditionProps>);
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { jwtConditionSchema, JWTConditionType, } from '../schemas/jwt';
|
|
3
|
-
export { JWT_PARAM_DEFAULT, jwtConditionSchema, JWTConditionType, } from '../schemas/jwt';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { jwtConditionSchema, JWTConditionType, } from '../schemas/jwt.js';
|
|
3
|
+
export { JWT_PARAM_DEFAULT, jwtConditionSchema, JWTConditionType, } from '../schemas/jwt.js';
|
|
4
4
|
export class JWTCondition extends Condition {
|
|
5
5
|
constructor(value) {
|
|
6
6
|
super(jwtConditionSchema, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../../../src/conditions/base/jwt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../../../src/conditions/base/jwt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,KAA2C;QACrD,KAAK,CAAC,kBAAkB,EAAE;YACxB,aAAa,EAAE,gBAAgB;YAC/B,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { RpcConditionProps } from '../schemas/rpc';
|
|
3
|
-
import { OmitConditionType } from '../shared';
|
|
4
|
-
export { RpcConditionProps, rpcConditionSchema, RpcConditionType, } from '../schemas/rpc';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { RpcConditionProps } from '../schemas/rpc.js';
|
|
3
|
+
import { OmitConditionType } from '../shared.js';
|
|
4
|
+
export { RpcConditionProps, rpcConditionSchema, RpcConditionType, } from '../schemas/rpc.js';
|
|
5
5
|
export declare class RpcCondition extends Condition {
|
|
6
6
|
constructor(value: OmitConditionType<RpcConditionProps>);
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { rpcConditionSchema, RpcConditionType, } from '../schemas/rpc';
|
|
3
|
-
export { rpcConditionSchema, RpcConditionType, } from '../schemas/rpc';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { rpcConditionSchema, RpcConditionType, } from '../schemas/rpc.js';
|
|
3
|
+
export { rpcConditionSchema, RpcConditionType, } from '../schemas/rpc.js';
|
|
4
4
|
export class RpcCondition extends Condition {
|
|
5
5
|
constructor(value) {
|
|
6
6
|
super(rpcConditionSchema, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../src/conditions/base/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../src/conditions/base/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,KAA2C;QACrD,KAAK,CAAC,kBAAkB,EAAE;YACxB,aAAa,EAAE,gBAAgB;YAC/B,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { TimeConditionProps } from '../schemas/time';
|
|
3
|
-
import { OmitConditionType } from '../shared';
|
|
4
|
-
export { TimeConditionMethod, TimeConditionProps, timeConditionSchema, TimeConditionType, } from '../schemas/time';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { TimeConditionProps } from '../schemas/time.js';
|
|
3
|
+
import { OmitConditionType } from '../shared.js';
|
|
4
|
+
export { TimeConditionMethod, TimeConditionProps, timeConditionSchema, TimeConditionType, } from '../schemas/time.js';
|
|
5
5
|
export declare class TimeCondition extends Condition {
|
|
6
6
|
constructor(value: OmitConditionType<TimeConditionProps>);
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Condition } from '../condition';
|
|
2
|
-
import { timeConditionSchema, TimeConditionType, } from '../schemas/time';
|
|
3
|
-
export { TimeConditionMethod, timeConditionSchema, TimeConditionType, } from '../schemas/time';
|
|
1
|
+
import { Condition } from '../condition.js';
|
|
2
|
+
import { timeConditionSchema, TimeConditionType, } from '../schemas/time.js';
|
|
3
|
+
export { TimeConditionMethod, timeConditionSchema, TimeConditionType, } from '../schemas/time.js';
|
|
4
4
|
export class TimeCondition extends Condition {
|
|
5
5
|
constructor(value) {
|
|
6
6
|
super(timeConditionSchema, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/conditions/base/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/conditions/base/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEL,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,mBAAmB,EAEnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,KAA4C;QACtD,KAAK,CAAC,mBAAmB,EAAE;YACzB,aAAa,EAAE,iBAAiB;YAChC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Condition, ConditionProps } from './condition';
|
|
2
|
-
import { CompoundConditionProps } from './schemas/compound';
|
|
3
|
-
import { OmitConditionType } from './shared';
|
|
4
|
-
export { CompoundConditionProps, compoundConditionSchema, CompoundConditionType, } from './schemas/compound';
|
|
1
|
+
import { Condition, ConditionProps } from './condition.js';
|
|
2
|
+
import { CompoundConditionProps } from './schemas/compound.js';
|
|
3
|
+
import { OmitConditionType } from './shared.js';
|
|
4
|
+
export { CompoundConditionProps, compoundConditionSchema, CompoundConditionType, } from './schemas/compound.js';
|
|
5
5
|
export type ConditionOrProps = Condition | ConditionProps;
|
|
6
6
|
export declare class CompoundCondition extends Condition {
|
|
7
7
|
constructor(value: OmitConditionType<CompoundConditionProps>);
|