@nucypher/taco 0.6.0-alpha.1 → 0.6.0-alpha.3
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 +2 -2
- package/dist/cjs/conditions/base/index.d.ts +2 -0
- package/dist/cjs/conditions/base/index.js +20 -8
- package/dist/cjs/conditions/base/index.js.map +1 -1
- package/dist/cjs/conditions/base/json-api.d.ts +1 -1
- package/dist/cjs/conditions/base/json-api.js +1 -2
- package/dist/cjs/conditions/base/json-api.js.map +1 -1
- package/dist/cjs/conditions/base/json-rpc.d.ts +7 -0
- package/dist/cjs/conditions/base/json-rpc.js +18 -0
- package/dist/cjs/conditions/base/json-rpc.js.map +1 -0
- package/dist/cjs/conditions/base/jwt.d.ts +7 -0
- package/dist/cjs/conditions/base/jwt.js +19 -0
- package/dist/cjs/conditions/base/jwt.js.map +1 -0
- package/dist/cjs/conditions/condition-expr.js +5 -5
- package/dist/cjs/conditions/condition-expr.js.map +1 -1
- package/dist/cjs/conditions/condition-factory.js +6 -0
- package/dist/cjs/conditions/condition-factory.js.map +1 -1
- package/dist/cjs/conditions/condition.js +2 -1
- package/dist/cjs/conditions/condition.js.map +1 -1
- package/dist/cjs/conditions/const.d.ts +0 -2
- package/dist/cjs/conditions/const.js +1 -9
- package/dist/cjs/conditions/const.js.map +1 -1
- package/dist/cjs/conditions/context/context.d.ts +2 -1
- package/dist/cjs/conditions/context/context.js +57 -61
- package/dist/cjs/conditions/context/context.js.map +1 -1
- package/dist/cjs/conditions/index.js +17 -7
- package/dist/cjs/conditions/index.js.map +1 -1
- package/dist/cjs/conditions/predefined/index.js +17 -7
- package/dist/cjs/conditions/predefined/index.js.map +1 -1
- package/dist/cjs/conditions/schemas/common.d.ts +3 -1
- package/dist/cjs/conditions/schemas/common.js +40 -7
- package/dist/cjs/conditions/schemas/common.js.map +1 -1
- package/dist/cjs/conditions/schemas/context.d.ts +1 -0
- package/dist/cjs/conditions/schemas/context.js +24 -3
- package/dist/cjs/conditions/schemas/context.js.map +1 -1
- package/dist/cjs/conditions/schemas/contract.d.ts +44 -25
- package/dist/cjs/conditions/schemas/contract.js +7 -7
- package/dist/cjs/conditions/schemas/contract.js.map +1 -1
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.d.ts +18 -0
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js +37 -0
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js.map +1 -0
- package/dist/cjs/conditions/schemas/json-api.d.ts +14 -12
- package/dist/cjs/conditions/schemas/json-api.js +5 -25
- package/dist/cjs/conditions/schemas/json-api.js.map +1 -1
- package/dist/cjs/conditions/schemas/json-rpc.d.ts +51 -0
- package/dist/cjs/conditions/schemas/json-rpc.js +21 -0
- package/dist/cjs/conditions/schemas/json-rpc.js.map +1 -0
- package/dist/cjs/conditions/schemas/jwt.d.ts +22 -0
- package/dist/cjs/conditions/schemas/jwt.js +19 -0
- package/dist/cjs/conditions/schemas/jwt.js.map +1 -0
- package/dist/cjs/conditions/schemas/return-value-test.d.ts +18 -2
- package/dist/cjs/conditions/schemas/return-value-test.js +7 -2
- package/dist/cjs/conditions/schemas/return-value-test.js.map +1 -1
- package/dist/cjs/conditions/schemas/rpc.d.ts +19 -16
- package/dist/cjs/conditions/schemas/rpc.js +19 -37
- package/dist/cjs/conditions/schemas/rpc.js.map +1 -1
- package/dist/cjs/conditions/schemas/time.d.ts +11 -10
- package/dist/cjs/conditions/schemas/utils.js +4 -0
- package/dist/cjs/conditions/schemas/utils.js.map +1 -1
- package/dist/cjs/conditions/shared.d.ts +1 -1
- package/dist/cjs/conditions/shared.js +2 -1
- package/dist/cjs/conditions/shared.js.map +1 -1
- package/dist/cjs/index.js +17 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils.d.ts +2 -0
- package/dist/cjs/utils.js +48 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/es/conditions/base/index.d.ts +2 -0
- package/dist/es/conditions/base/index.js +2 -0
- package/dist/es/conditions/base/index.js.map +1 -1
- package/dist/es/conditions/base/json-api.d.ts +1 -1
- package/dist/es/conditions/base/json-api.js +1 -1
- package/dist/es/conditions/base/json-api.js.map +1 -1
- package/dist/es/conditions/base/json-rpc.d.ts +7 -0
- package/dist/es/conditions/base/json-rpc.js +12 -0
- package/dist/es/conditions/base/json-rpc.js.map +1 -0
- package/dist/es/conditions/base/jwt.d.ts +7 -0
- package/dist/es/conditions/base/jwt.js +12 -0
- package/dist/es/conditions/base/jwt.js.map +1 -0
- package/dist/es/conditions/condition-expr.js +3 -3
- package/dist/es/conditions/condition-expr.js.map +1 -1
- package/dist/es/conditions/condition-factory.js +6 -0
- package/dist/es/conditions/condition-factory.js.map +1 -1
- package/dist/es/conditions/condition.js +2 -1
- package/dist/es/conditions/condition.js.map +1 -1
- package/dist/es/conditions/const.d.ts +0 -2
- package/dist/es/conditions/const.js +1 -9
- package/dist/es/conditions/const.js.map +1 -1
- package/dist/es/conditions/context/context.d.ts +2 -1
- package/dist/es/conditions/context/context.js +57 -61
- package/dist/es/conditions/context/context.js.map +1 -1
- package/dist/es/conditions/schemas/common.d.ts +3 -1
- package/dist/es/conditions/schemas/common.js +41 -8
- package/dist/es/conditions/schemas/common.js.map +1 -1
- package/dist/es/conditions/schemas/context.d.ts +1 -0
- package/dist/es/conditions/schemas/context.js +23 -2
- package/dist/es/conditions/schemas/context.js.map +1 -1
- package/dist/es/conditions/schemas/contract.d.ts +44 -25
- package/dist/es/conditions/schemas/contract.js +4 -4
- package/dist/es/conditions/schemas/contract.js.map +1 -1
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.d.ts +18 -0
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.js +21 -0
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.js.map +1 -0
- package/dist/es/conditions/schemas/json-api.d.ts +14 -12
- package/dist/es/conditions/schemas/json-api.js +3 -23
- package/dist/es/conditions/schemas/json-api.js.map +1 -1
- package/dist/es/conditions/schemas/json-rpc.d.ts +51 -0
- package/dist/es/conditions/schemas/json-rpc.js +18 -0
- package/dist/es/conditions/schemas/json-rpc.js.map +1 -0
- package/dist/es/conditions/schemas/jwt.d.ts +22 -0
- package/dist/es/conditions/schemas/jwt.js +16 -0
- package/dist/es/conditions/schemas/jwt.js.map +1 -0
- package/dist/es/conditions/schemas/return-value-test.d.ts +18 -2
- package/dist/es/conditions/schemas/return-value-test.js +7 -2
- package/dist/es/conditions/schemas/return-value-test.js.map +1 -1
- package/dist/es/conditions/schemas/rpc.d.ts +19 -16
- package/dist/es/conditions/schemas/rpc.js +20 -15
- package/dist/es/conditions/schemas/rpc.js.map +1 -1
- package/dist/es/conditions/schemas/time.d.ts +11 -10
- package/dist/es/conditions/schemas/utils.js +4 -0
- package/dist/es/conditions/schemas/utils.js.map +1 -1
- package/dist/es/conditions/shared.d.ts +1 -1
- package/dist/es/conditions/shared.js +1 -1
- package/dist/es/conditions/shared.js.map +1 -1
- package/dist/es/utils.d.ts +2 -0
- package/dist/es/utils.js +43 -0
- package/dist/es/utils.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.es.tsbuildinfo +1 -1
- package/package.json +13 -8
- package/dist/cjs/conditions/context/providers.d.ts +0 -16
- package/dist/cjs/conditions/context/providers.js +0 -111
- package/dist/cjs/conditions/context/providers.js.map +0 -1
- package/dist/cjs/web3.d.ts +0 -33
- package/dist/cjs/web3.js +0 -3
- package/dist/cjs/web3.js.map +0 -1
- package/dist/es/conditions/context/providers.d.ts +0 -16
- package/dist/es/conditions/context/providers.js +0 -107
- package/dist/es/conditions/context/providers.js.map +0 -1
- package/dist/es/web3.d.ts +0 -33
- package/dist/es/web3.js +0 -2
- package/dist/es/web3.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD,MAAM,qBAAqB,GAAG,CAAC,KAAiB,EAAE,EAAE,CAClD,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAEvD,MAAM,OAAO,SAAS;IAEF;IACA;IAFlB,YACkB,MAAuB,EACvB,KAAqB;QADrB,WAAM,GAAN,MAAM,CAAiB;QACvB,UAAK,GAAL,KAAK,CAAgB;QAErC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,MAAuB,EACvB,KAAqB;QAKrB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,8CAA8C;IACvC,2BAA2B;QAChC,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD,MAAM,qBAAqB,GAAG,CAAC,KAAiB,EAAE,EAAE,CAClD,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAEvD,MAAM,OAAO,SAAS;IAEF;IACA;IAFlB,YACkB,MAAuB,EACvB,KAAqB;QADrB,WAAM,GAAN,MAAM,CAAiB;QACvB,UAAK,GAAL,KAAK,CAAgB;QAErC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,MAAuB,EACvB,KAAqB;QAKrB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,8CAA8C;IACvC,2BAA2B;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,sBAAsB;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK;QACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,KAAgB;QAC5B,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { ChainId } from '@nucypher/shared';
|
|
2
1
|
export declare const CONTEXT_PARAM_REGEXP: RegExp;
|
|
3
2
|
export declare const CONTEXT_PARAM_FULL_MATCH_REGEXP: RegExp;
|
|
4
3
|
export declare const CONTEXT_PARAM_PREFIX = ":";
|
|
5
|
-
export declare const SUPPORTED_CHAIN_IDS: ChainId[];
|
|
6
4
|
export declare const USER_ADDRESS_PARAMS: string[];
|
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
|
|
1
|
+
import { USER_ADDRESS_PARAM_DEFAULT } from '@nucypher/taco-auth';
|
|
3
2
|
// Only allow alphanumeric characters and underscores
|
|
4
3
|
const contextParamRegexString = ':[a-zA-Z_][a-zA-Z0-9_]*';
|
|
5
4
|
export const CONTEXT_PARAM_REGEXP = new RegExp(contextParamRegexString);
|
|
6
5
|
// Entire string is context param
|
|
7
6
|
export const CONTEXT_PARAM_FULL_MATCH_REGEXP = new RegExp(`^${contextParamRegexString}$`);
|
|
8
7
|
export const CONTEXT_PARAM_PREFIX = ':';
|
|
9
|
-
export const SUPPORTED_CHAIN_IDS = [
|
|
10
|
-
ChainId.POLYGON,
|
|
11
|
-
ChainId.AMOY,
|
|
12
|
-
ChainId.SEPOLIA,
|
|
13
|
-
ChainId.ETHEREUM_MAINNET,
|
|
14
|
-
];
|
|
15
8
|
export const USER_ADDRESS_PARAMS = [
|
|
16
|
-
USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
|
|
17
9
|
// Ordering matters, this should always be last
|
|
18
10
|
USER_ADDRESS_PARAM_DEFAULT,
|
|
19
11
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,qDAAqD;AACrD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExE,iCAAiC;AACjC,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,MAAM,CACvD,IAAI,uBAAuB,GAAG,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,+CAA+C;IAC/C,0BAA0B;CAC3B,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { ThresholdMessageKit } from '@nucypher/nucypher-core';
|
|
|
2
2
|
import { AuthProvider, AuthSignature } from '@nucypher/taco-auth';
|
|
3
3
|
import { CoreContext } from '../../types';
|
|
4
4
|
import { Condition } from '../condition';
|
|
5
|
-
export type CustomContextParam = string | number | boolean;
|
|
5
|
+
export type CustomContextParam = string | number | boolean | bigint | Uint8Array;
|
|
6
6
|
export type ContextParam = CustomContextParam | AuthSignature;
|
|
7
7
|
export declare const RESERVED_CONTEXT_PARAMS: string[];
|
|
8
8
|
export declare class ConditionContext {
|
|
@@ -17,6 +17,7 @@ export declare class ConditionContext {
|
|
|
17
17
|
private fillAuthContextParameters;
|
|
18
18
|
private validateCustomContextParameter;
|
|
19
19
|
private static isContextParameter;
|
|
20
|
+
private static findContextParameter;
|
|
20
21
|
private static findContextParameters;
|
|
21
22
|
addCustomContextParameterValues(customContextParameters: Record<string, CustomContextParam>): void;
|
|
22
23
|
addAuthProvider(contextParam: string, authProvider: AuthProvider): void;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { EIP4361AuthProvider, SingleSignOnEIP4361AuthProvider, USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
|
|
1
|
+
import { EIP1271AuthProvider, EIP4361AuthProvider, SingleSignOnEIP4361AuthProvider, USER_ADDRESS_PARAM_DEFAULT, } from '@nucypher/taco-auth';
|
|
3
2
|
import { CoreConditions, CoreContext } from '../../types';
|
|
4
|
-
import {
|
|
3
|
+
import { toJSON } from '../../utils';
|
|
5
4
|
import { ConditionExpression } from '../condition-expr';
|
|
6
|
-
import { CONTEXT_PARAM_FULL_MATCH_REGEXP, CONTEXT_PARAM_PREFIX, USER_ADDRESS_PARAMS, } from '../const';
|
|
7
|
-
import { JsonApiConditionType } from '../schemas/json-api';
|
|
5
|
+
import { CONTEXT_PARAM_FULL_MATCH_REGEXP, CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP, USER_ADDRESS_PARAMS, } from '../const';
|
|
8
6
|
const ERR_RESERVED_PARAM = (key) => `Cannot use reserved parameter name ${key} as custom parameter`;
|
|
9
7
|
const ERR_INVALID_CUSTOM_PARAM = (key) => `Custom parameter ${key} must start with ${CONTEXT_PARAM_PREFIX}`;
|
|
10
8
|
const ERR_AUTH_PROVIDER_REQUIRED = (key) => `No matching authentication provider to satisfy ${key} context variable in condition`;
|
|
@@ -13,13 +11,13 @@ const ERR_UNKNOWN_CUSTOM_CONTEXT_PARAM = (param) => `Unknown custom context para
|
|
|
13
11
|
const ERR_INVALID_AUTH_PROVIDER_TYPE = (param, expected) => `Invalid AuthProvider type for ${param}; expected ${expected}`;
|
|
14
12
|
const ERR_AUTH_PROVIDER_NOT_NEEDED_FOR_CONTEXT_PARAM = (param) => `AuthProvider not necessary for context parameter: ${param}`;
|
|
15
13
|
const EXPECTED_AUTH_PROVIDER_TYPES = {
|
|
16
|
-
[USER_ADDRESS_PARAM_DEFAULT]:
|
|
17
|
-
|
|
14
|
+
[USER_ADDRESS_PARAM_DEFAULT]: [
|
|
15
|
+
EIP4361AuthProvider,
|
|
16
|
+
EIP1271AuthProvider,
|
|
17
|
+
SingleSignOnEIP4361AuthProvider,
|
|
18
|
+
],
|
|
18
19
|
};
|
|
19
|
-
export const RESERVED_CONTEXT_PARAMS = [
|
|
20
|
-
USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
|
|
21
|
-
USER_ADDRESS_PARAM_DEFAULT,
|
|
22
|
-
];
|
|
20
|
+
export const RESERVED_CONTEXT_PARAMS = [USER_ADDRESS_PARAM_DEFAULT];
|
|
23
21
|
export class ConditionContext {
|
|
24
22
|
requestedContextParameters;
|
|
25
23
|
customContextParameters = {};
|
|
@@ -87,62 +85,59 @@ export class ConditionContext {
|
|
|
87
85
|
static isContextParameter(param) {
|
|
88
86
|
return !!String(param).match(CONTEXT_PARAM_FULL_MATCH_REGEXP);
|
|
89
87
|
}
|
|
90
|
-
static
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const rvt = condition.returnValueTest.value;
|
|
96
|
-
// Return value test can be a single parameter or an array of parameters
|
|
97
|
-
if (Array.isArray(rvt)) {
|
|
98
|
-
rvt.forEach((value) => {
|
|
99
|
-
if (ConditionContext.isContextParameter(value)) {
|
|
100
|
-
requestedParameters.add(value);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
else if (ConditionContext.isContextParameter(rvt)) {
|
|
105
|
-
requestedParameters.add(rvt);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
// Not a context parameter, we can skip
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
// Check condition parameters
|
|
112
|
-
for (const param of condition.parameters ?? []) {
|
|
113
|
-
if (this.isContextParameter(param)) {
|
|
114
|
-
requestedParameters.add(param);
|
|
115
|
-
}
|
|
88
|
+
static findContextParameter(value) {
|
|
89
|
+
const includedContextVars = new Set();
|
|
90
|
+
// value not set
|
|
91
|
+
if (!value) {
|
|
92
|
+
return includedContextVars;
|
|
116
93
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
for (const param of innerParams) {
|
|
122
|
-
requestedParameters.add(param);
|
|
123
|
-
}
|
|
94
|
+
if (typeof value === 'string') {
|
|
95
|
+
if (this.isContextParameter(value)) {
|
|
96
|
+
// entire string is context parameter
|
|
97
|
+
includedContextVars.add(String(value));
|
|
124
98
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
if (
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
if (condition.query) {
|
|
135
|
-
const queryParams = condition.query.match(":[a-zA-Z_]*");
|
|
136
|
-
if (queryParams) {
|
|
137
|
-
for (const param of queryParams) {
|
|
138
|
-
requestedParameters.add(param);
|
|
99
|
+
else {
|
|
100
|
+
// context var could be substring; find all matches
|
|
101
|
+
const contextVarMatches = value.match(
|
|
102
|
+
// RegExp with 'g' is stateful, so new instance needed every time
|
|
103
|
+
new RegExp(CONTEXT_PARAM_REGEXP.source, 'g'));
|
|
104
|
+
if (contextVarMatches) {
|
|
105
|
+
for (const match of contextVarMatches) {
|
|
106
|
+
includedContextVars.add(match);
|
|
139
107
|
}
|
|
140
108
|
}
|
|
141
109
|
}
|
|
142
|
-
|
|
143
|
-
|
|
110
|
+
}
|
|
111
|
+
else if (Array.isArray(value)) {
|
|
112
|
+
// array
|
|
113
|
+
value.forEach((subValue) => {
|
|
114
|
+
const contextVarsForValue = this.findContextParameter(subValue);
|
|
115
|
+
contextVarsForValue.forEach((contextVar) => {
|
|
116
|
+
includedContextVars.add(contextVar);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
else if (typeof value === 'object') {
|
|
121
|
+
// dictionary (Record<string, T> - complex object eg. Condition, ConditionVariable, ReturnValueTest etc.)
|
|
122
|
+
for (const [, entry] of Object.entries(value)) {
|
|
123
|
+
const contextVarsForValue = this.findContextParameter(entry);
|
|
124
|
+
contextVarsForValue.forEach((contextVar) => {
|
|
125
|
+
includedContextVars.add(contextVar);
|
|
126
|
+
});
|
|
144
127
|
}
|
|
145
128
|
}
|
|
129
|
+
return includedContextVars;
|
|
130
|
+
}
|
|
131
|
+
static findContextParameters(condition) {
|
|
132
|
+
// find all the context variables we need
|
|
133
|
+
const requestedParameters = new Set();
|
|
134
|
+
// iterate through all properties in ConditionProps
|
|
135
|
+
const properties = Object.keys(condition);
|
|
136
|
+
properties.forEach((prop) => {
|
|
137
|
+
this.findContextParameter(condition[prop]).forEach((contextVar) => {
|
|
138
|
+
requestedParameters.add(contextVar);
|
|
139
|
+
});
|
|
140
|
+
});
|
|
146
141
|
return requestedParameters;
|
|
147
142
|
}
|
|
148
143
|
addCustomContextParameterValues(customContextParameters) {
|
|
@@ -155,7 +150,8 @@ export class ConditionContext {
|
|
|
155
150
|
if (!(contextParam in EXPECTED_AUTH_PROVIDER_TYPES)) {
|
|
156
151
|
throw new Error(ERR_AUTH_PROVIDER_NOT_NEEDED_FOR_CONTEXT_PARAM(contextParam));
|
|
157
152
|
}
|
|
158
|
-
|
|
153
|
+
const expectedTypes = EXPECTED_AUTH_PROVIDER_TYPES[contextParam];
|
|
154
|
+
if (!expectedTypes.some((type) => authProvider instanceof type)) {
|
|
159
155
|
throw new Error(ERR_INVALID_AUTH_PROVIDER_TYPE(contextParam, typeof authProvider));
|
|
160
156
|
}
|
|
161
157
|
this.authProviders[contextParam] = authProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Primitive, z } from 'zod';
|
|
2
2
|
export declare const plainStringSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
3
|
-
export declare const UserAddressSchema: z.
|
|
3
|
+
export declare const UserAddressSchema: z.ZodLiteral<":userAddress">;
|
|
4
4
|
export declare const baseConditionSchema: z.ZodObject<{
|
|
5
5
|
conditionType: z.ZodString;
|
|
6
6
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -10,3 +10,5 @@ export declare const baseConditionSchema: z.ZodObject<{
|
|
|
10
10
|
}>;
|
|
11
11
|
declare function createUnionSchema<T extends readonly Primitive[]>(values: T): z.ZodNever | z.ZodLiteral<Primitive> | z.ZodUnion<[z.ZodLiteral<Primitive>, z.ZodLiteral<Primitive>, ...z.ZodLiteral<Primitive>[]]>;
|
|
12
12
|
export default createUnionSchema;
|
|
13
|
+
export declare const jsonPathSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
14
|
+
export declare const httpsURLSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { JSONPath } from '@astronautlabs/jsonpath';
|
|
2
|
+
import { USER_ADDRESS_PARAM_DEFAULT } from '@nucypher/taco-auth';
|
|
2
3
|
import { z } from 'zod';
|
|
3
|
-
import { CONTEXT_PARAM_PREFIX } from '../const';
|
|
4
|
+
import { CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP } from '../const';
|
|
4
5
|
// We want to discriminate between ContextParams and plain strings
|
|
5
6
|
// If a string starts with `:`, it's a ContextParam
|
|
6
|
-
export const plainStringSchema = z
|
|
7
|
+
export const plainStringSchema = z
|
|
8
|
+
.string()
|
|
9
|
+
.refine((str) => {
|
|
7
10
|
return !str.startsWith(CONTEXT_PARAM_PREFIX);
|
|
8
11
|
}, {
|
|
9
12
|
message: `String must not be a context parameter i.e. not start with "${CONTEXT_PARAM_PREFIX}"`,
|
|
10
|
-
})
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
})
|
|
14
|
+
.describe(`Any string that is not a Context Parameter i.e. does not start with \`${CONTEXT_PARAM_PREFIX}\`.`);
|
|
15
|
+
export const UserAddressSchema = z
|
|
16
|
+
.literal(USER_ADDRESS_PARAM_DEFAULT)
|
|
17
|
+
.describe('This is a context variable that will be replaced at decryption time. It represents the Ethereum address of the requester attempting decryption.');
|
|
15
18
|
export const baseConditionSchema = z.object({
|
|
16
19
|
conditionType: z.string(),
|
|
17
20
|
});
|
|
@@ -30,4 +33,34 @@ function createUnionSchema(values) {
|
|
|
30
33
|
return createUnion(values);
|
|
31
34
|
}
|
|
32
35
|
export default createUnionSchema;
|
|
36
|
+
const validateJSONPath = (jsonPath) => {
|
|
37
|
+
// account for embedded context variables
|
|
38
|
+
if (CONTEXT_PARAM_REGEXP.test(jsonPath)) {
|
|
39
|
+
// skip validation
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
JSONPath.parse(jsonPath);
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
export const jsonPathSchema = z
|
|
51
|
+
.string()
|
|
52
|
+
.refine((val) => validateJSONPath(val), {
|
|
53
|
+
message: 'Invalid JSONPath expression',
|
|
54
|
+
})
|
|
55
|
+
.describe('A string containing either a valid JSON Path Expression, or a Context Parameter.');
|
|
56
|
+
const validateHttpsURL = (url) => {
|
|
57
|
+
return URL.canParse(url) && url.startsWith('https://');
|
|
58
|
+
};
|
|
59
|
+
// Use our own URL refinement check due to https://github.com/colinhacks/zod/issues/2236
|
|
60
|
+
export const httpsURLSchema = z
|
|
61
|
+
.string()
|
|
62
|
+
.url()
|
|
63
|
+
.refine((url) => validateHttpsURL(url), {
|
|
64
|
+
message: 'Invalid URL',
|
|
65
|
+
});
|
|
33
66
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,34 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { CONTEXT_PARAM_FULL_MATCH_REGEXP } from '../const';
|
|
3
3
|
import { plainStringSchema } from './common';
|
|
4
|
+
const UINT256_MAX = BigInt('115792089237316195423570985008687907853269984665640564039457584007913129639935');
|
|
5
|
+
const INT256_MIN = BigInt('-57896044618658097711785492504343953926634992332820282019728792003956564819968');
|
|
4
6
|
export const contextParamSchema = z
|
|
5
7
|
.string()
|
|
6
|
-
.regex(CONTEXT_PARAM_FULL_MATCH_REGEXP)
|
|
7
|
-
|
|
8
|
+
.regex(CONTEXT_PARAM_FULL_MATCH_REGEXP)
|
|
9
|
+
.describe(`A Context Parameter i.e. a placeholder used within conditions and specified at the encryption time, whose value is provided at decryption time.`);
|
|
10
|
+
const paramSchema = z.union([
|
|
11
|
+
plainStringSchema,
|
|
12
|
+
z.boolean(),
|
|
13
|
+
z.number(),
|
|
14
|
+
z.bigint(),
|
|
15
|
+
]);
|
|
16
|
+
const blockchainParamSchema = z
|
|
17
|
+
.union([
|
|
18
|
+
plainStringSchema,
|
|
19
|
+
z.boolean(),
|
|
20
|
+
z.number().int().safe(),
|
|
21
|
+
z.bigint().lte(UINT256_MAX).gte(INT256_MIN),
|
|
22
|
+
])
|
|
23
|
+
.describe('Blockchain-compatible parameter values for blockchain RPC API calls and Smart Contracts functions; numbers must be in safe range and bigints must be in the range [-2^255, 2^256-1]).');
|
|
8
24
|
export const paramOrContextParamSchema = z.union([
|
|
9
25
|
paramSchema,
|
|
10
26
|
contextParamSchema,
|
|
11
27
|
z.lazy(() => z.array(paramOrContextParamSchema)),
|
|
12
28
|
]);
|
|
29
|
+
export const blockchainParamOrContextParamSchema = z.union([
|
|
30
|
+
blockchainParamSchema,
|
|
31
|
+
contextParamSchema,
|
|
32
|
+
z.lazy(() => z.array(blockchainParamOrContextParamSchema)),
|
|
33
|
+
]);
|
|
13
34
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,+BAA+B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,GAAG,MAAM,CACxB,gFAAgF,CACjF,CAAC;AACF,MAAM,UAAU,GAAG,MAAM,CACvB,gFAAgF,CACjF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,+BAA+B,CAAC;KACtC,QAAQ,CACP,iJAAiJ,CAClJ,CAAC;AAEJ,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1B,iBAAiB;IACjB,CAAC,CAAC,OAAO,EAAE;IACX,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,MAAM,EAAE;CACX,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC;KAC5B,KAAK,CAAC;IACL,iBAAiB;IACjB,CAAC,CAAC,OAAO,EAAE;IACX,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE;IACvB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;CAC5C,CAAC;KACD,QAAQ,CACP,uLAAuL,CACxL,CAAC;AAEJ,MAAM,CAAC,MAAM,yBAAyB,GAAgB,CAAC,CAAC,KAAK,CAAC;IAC5D,WAAW;IACX,kBAAkB;IAClB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAAgB,CAAC,CAAC,KAAK,CAAC;IACtE,qBAAqB;IACrB,kBAAkB;IAClB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;CAC3D,CAAC,CAAC"}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
declare const
|
|
2
|
+
export declare const functionAbiVariableSchema: z.ZodObject<{
|
|
3
|
+
name: z.ZodString;
|
|
4
|
+
type: z.ZodEnum<[string, ...string[]]>;
|
|
5
|
+
internalType: z.ZodEnum<[string, ...string[]]>;
|
|
6
|
+
}, "strict", z.ZodTypeAny, {
|
|
7
|
+
type: string;
|
|
8
|
+
name: string;
|
|
9
|
+
internalType: string;
|
|
10
|
+
}, {
|
|
11
|
+
type: string;
|
|
12
|
+
name: string;
|
|
13
|
+
internalType: string;
|
|
14
|
+
}>;
|
|
15
|
+
export declare const functionAbiSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
3
16
|
name: z.ZodString;
|
|
4
17
|
type: z.ZodLiteral<"function">;
|
|
5
18
|
inputs: z.ZodArray<z.ZodObject<{
|
|
@@ -140,21 +153,28 @@ declare const functionAbiSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
|
140
153
|
}>;
|
|
141
154
|
export type FunctionAbiProps = z.infer<typeof functionAbiSchema>;
|
|
142
155
|
export declare const ContractConditionType = "contract";
|
|
143
|
-
export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
144
|
-
|
|
156
|
+
export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
|
|
157
|
+
conditionType: z.ZodString;
|
|
158
|
+
}, {
|
|
159
|
+
conditionType: z.ZodDefault<z.ZodLiteral<"rpc">>;
|
|
160
|
+
chain: z.ZodNumber;
|
|
161
|
+
method: z.ZodEnum<["eth_getBalance"]>;
|
|
162
|
+
parameters: z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<":userAddress">, z.ZodString]>, z.ZodUnion<[z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodEnum<["earliest", "finalized", "safe", "latest", "pending"]>]>, z.ZodString]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<":userAddress">, z.ZodString]>], null>]>;
|
|
163
|
+
returnValueTest: z.ZodObject<z.objectUtil.extendShape<{
|
|
145
164
|
index: z.ZodOptional<z.ZodNumber>;
|
|
146
165
|
comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
|
|
166
|
+
}, {
|
|
147
167
|
value: z.ZodType<any, z.ZodTypeDef, any>;
|
|
148
|
-
}
|
|
168
|
+
}>, "strip", z.ZodTypeAny, {
|
|
149
169
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
150
|
-
index?: number | undefined;
|
|
151
170
|
value?: any;
|
|
171
|
+
index?: number | undefined;
|
|
152
172
|
}, {
|
|
153
173
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
154
|
-
index?: number | undefined;
|
|
155
174
|
value?: any;
|
|
175
|
+
index?: number | undefined;
|
|
156
176
|
}>;
|
|
157
|
-
|
|
177
|
+
}>, {
|
|
158
178
|
conditionType: z.ZodDefault<z.ZodLiteral<"contract">>;
|
|
159
179
|
contractAddress: z.ZodEffects<z.ZodString, string, string>;
|
|
160
180
|
standardContractType: z.ZodOptional<z.ZodEnum<["ERC20", "ERC721"]>>;
|
|
@@ -299,18 +319,17 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
299
319
|
stateMutability: "view" | "pure";
|
|
300
320
|
}>>;
|
|
301
321
|
parameters: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
|
|
302
|
-
}
|
|
322
|
+
}>, "strip", z.ZodTypeAny, {
|
|
303
323
|
conditionType: "contract";
|
|
324
|
+
chain: number;
|
|
325
|
+
method: string;
|
|
304
326
|
parameters: any[];
|
|
305
327
|
returnValueTest: {
|
|
306
328
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
307
|
-
index?: number | undefined;
|
|
308
329
|
value?: any;
|
|
330
|
+
index?: number | undefined;
|
|
309
331
|
};
|
|
310
|
-
method: string;
|
|
311
332
|
contractAddress: string;
|
|
312
|
-
chain?: z.Primitive;
|
|
313
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
314
333
|
functionAbi?: {
|
|
315
334
|
type: "function";
|
|
316
335
|
name: string;
|
|
@@ -330,18 +349,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
330
349
|
}[]];
|
|
331
350
|
stateMutability: "view" | "pure";
|
|
332
351
|
} | undefined;
|
|
352
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
333
353
|
}, {
|
|
354
|
+
chain: number;
|
|
355
|
+
method: string;
|
|
334
356
|
parameters: any[];
|
|
335
357
|
returnValueTest: {
|
|
336
358
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
337
|
-
index?: number | undefined;
|
|
338
359
|
value?: any;
|
|
360
|
+
index?: number | undefined;
|
|
339
361
|
};
|
|
340
|
-
method: string;
|
|
341
362
|
contractAddress: string;
|
|
342
|
-
chain?: z.Primitive;
|
|
343
363
|
conditionType?: "contract" | undefined;
|
|
344
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
345
364
|
functionAbi?: {
|
|
346
365
|
type: "function";
|
|
347
366
|
name: string;
|
|
@@ -361,18 +380,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
361
380
|
}[]];
|
|
362
381
|
stateMutability: "view" | "pure";
|
|
363
382
|
} | undefined;
|
|
383
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
364
384
|
}>, {
|
|
365
385
|
conditionType: "contract";
|
|
386
|
+
chain: number;
|
|
387
|
+
method: string;
|
|
366
388
|
parameters: any[];
|
|
367
389
|
returnValueTest: {
|
|
368
390
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
369
|
-
index?: number | undefined;
|
|
370
391
|
value?: any;
|
|
392
|
+
index?: number | undefined;
|
|
371
393
|
};
|
|
372
|
-
method: string;
|
|
373
394
|
contractAddress: string;
|
|
374
|
-
chain?: z.Primitive;
|
|
375
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
376
395
|
functionAbi?: {
|
|
377
396
|
type: "function";
|
|
378
397
|
name: string;
|
|
@@ -392,18 +411,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
392
411
|
}[]];
|
|
393
412
|
stateMutability: "view" | "pure";
|
|
394
413
|
} | undefined;
|
|
414
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
395
415
|
}, {
|
|
416
|
+
chain: number;
|
|
417
|
+
method: string;
|
|
396
418
|
parameters: any[];
|
|
397
419
|
returnValueTest: {
|
|
398
420
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
399
|
-
index?: number | undefined;
|
|
400
421
|
value?: any;
|
|
422
|
+
index?: number | undefined;
|
|
401
423
|
};
|
|
402
|
-
method: string;
|
|
403
424
|
contractAddress: string;
|
|
404
|
-
chain?: z.Primitive;
|
|
405
425
|
conditionType?: "contract" | undefined;
|
|
406
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
407
426
|
functionAbi?: {
|
|
408
427
|
type: "function";
|
|
409
428
|
name: string;
|
|
@@ -423,6 +442,6 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
423
442
|
}[]];
|
|
424
443
|
stateMutability: "view" | "pure";
|
|
425
444
|
} | undefined;
|
|
445
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
426
446
|
}>;
|
|
427
447
|
export type ContractConditionProps = z.infer<typeof contractConditionSchema>;
|
|
428
|
-
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EthAddressSchema } from '@nucypher/shared';
|
|
2
2
|
import { ethers } from 'ethers';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import {
|
|
4
|
+
import { blockchainParamOrContextParamSchema } from './context';
|
|
5
5
|
import { rpcConditionSchema } from './rpc';
|
|
6
6
|
// TODO: Consider replacing with `z.unknown`:
|
|
7
7
|
// Since Solidity types are tied to Solidity version, we may not be able to accurately represent them in Zod.
|
|
@@ -16,14 +16,14 @@ const EthBaseTypes = [
|
|
|
16
16
|
...Array.from({ length: 32 }, (_v, i) => `uint${8 * (i + 1)}`), // uint8 through uint256
|
|
17
17
|
...Array.from({ length: 32 }, (_v, i) => `int${8 * (i + 1)}`), // int8 through int256
|
|
18
18
|
];
|
|
19
|
-
const functionAbiVariableSchema = z
|
|
19
|
+
export const functionAbiVariableSchema = z
|
|
20
20
|
.object({
|
|
21
21
|
name: z.string(),
|
|
22
22
|
type: z.enum(EthBaseTypes),
|
|
23
23
|
internalType: z.enum(EthBaseTypes), // TODO: Do we need to validate this?
|
|
24
24
|
})
|
|
25
25
|
.strict();
|
|
26
|
-
const functionAbiSchema = z
|
|
26
|
+
export const functionAbiSchema = z
|
|
27
27
|
.object({
|
|
28
28
|
name: z.string(),
|
|
29
29
|
type: z.literal('function'),
|
|
@@ -65,7 +65,7 @@ export const contractConditionSchema = rpcConditionSchema
|
|
|
65
65
|
standardContractType: z.enum(['ERC20', 'ERC721']).optional(),
|
|
66
66
|
method: z.string(),
|
|
67
67
|
functionAbi: functionAbiSchema.optional(),
|
|
68
|
-
parameters: z.array(
|
|
68
|
+
parameters: z.array(blockchainParamOrContextParamSchema),
|
|
69
69
|
})
|
|
70
70
|
// Adding this custom logic causes the return type to be ZodEffects instead of ZodObject
|
|
71
71
|
// https://github.com/colinhacks/zod/issues/2474
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is used by zod2md to generate markdown documentation for the Zod schemas.
|
|
3
|
+
*
|
|
4
|
+
* NOTE: The order of the exported Zod objects in this file dictates the order of the generated markdown.
|
|
5
|
+
*/
|
|
6
|
+
export * from './utils';
|
|
7
|
+
export * from './common';
|
|
8
|
+
export * from './context';
|
|
9
|
+
export * from './compound';
|
|
10
|
+
export * from './contract';
|
|
11
|
+
export * from './if-then-else';
|
|
12
|
+
export * from './json-api';
|
|
13
|
+
export * from './json-rpc';
|
|
14
|
+
export * from './jwt';
|
|
15
|
+
export * from './return-value-test';
|
|
16
|
+
export * from './rpc';
|
|
17
|
+
export * from './sequential';
|
|
18
|
+
export * from './time';
|