@nucypher/taco 0.5.0 → 0.6.0-alpha.0
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/dist/cjs/conditions/base/contract.d.ts +2 -428
- package/dist/cjs/conditions/base/contract.js +7 -80
- package/dist/cjs/conditions/base/contract.js.map +1 -1
- package/dist/cjs/conditions/base/index.d.ts +1 -0
- package/dist/cjs/conditions/base/index.js +2 -1
- package/dist/cjs/conditions/base/index.js.map +1 -1
- package/dist/cjs/conditions/base/json-api.d.ts +7 -0
- package/dist/cjs/conditions/base/json-api.js +19 -0
- package/dist/cjs/conditions/base/json-api.js.map +1 -0
- package/dist/cjs/conditions/base/rpc.d.ts +2 -42
- package/dist/cjs/conditions/base/rpc.js +7 -22
- package/dist/cjs/conditions/base/rpc.js.map +1 -1
- package/dist/cjs/conditions/base/time.d.ts +2 -40
- package/dist/cjs/conditions/base/time.js +8 -15
- package/dist/cjs/conditions/base/time.js.map +1 -1
- package/dist/cjs/conditions/compound-condition.d.ts +2 -4
- package/dist/cjs/conditions/compound-condition.js +7 -38
- package/dist/cjs/conditions/compound-condition.js.map +1 -1
- package/dist/cjs/conditions/condition-factory.js +11 -0
- 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 +3 -1
- package/dist/cjs/conditions/condition.js.map +1 -1
- package/dist/cjs/conditions/const.d.ts +1 -0
- package/dist/cjs/conditions/const.js +5 -2
- package/dist/cjs/conditions/const.js.map +1 -1
- package/dist/cjs/conditions/context/context.js +1 -1
- package/dist/cjs/conditions/context/context.js.map +1 -1
- package/dist/cjs/conditions/if-then-else-condition.d.ts +7 -0
- package/dist/cjs/conditions/if-then-else-condition.js +18 -0
- package/dist/cjs/conditions/if-then-else-condition.js.map +1 -0
- package/dist/cjs/conditions/index.d.ts +2 -0
- package/dist/cjs/conditions/index.js +3 -1
- package/dist/cjs/conditions/index.js.map +1 -1
- package/dist/cjs/conditions/multi-condition.d.ts +2 -0
- package/dist/cjs/conditions/multi-condition.js +35 -0
- package/dist/cjs/conditions/multi-condition.js.map +1 -0
- package/dist/cjs/conditions/schemas/common.d.ts +12 -0
- package/dist/cjs/conditions/schemas/common.js +36 -0
- package/dist/cjs/conditions/schemas/common.js.map +1 -0
- package/dist/cjs/conditions/schemas/compound.d.ts +4 -0
- package/dist/cjs/conditions/schemas/compound.js +36 -0
- package/dist/cjs/conditions/schemas/compound.js.map +1 -0
- package/dist/cjs/conditions/schemas/context.d.ts +3 -0
- package/dist/cjs/conditions/schemas/context.js +16 -0
- package/dist/cjs/conditions/schemas/context.js.map +1 -0
- package/dist/cjs/conditions/schemas/contract.d.ts +428 -0
- package/dist/cjs/conditions/schemas/contract.js +81 -0
- package/dist/cjs/conditions/schemas/contract.js.map +1 -0
- package/dist/cjs/conditions/schemas/if-then-else.d.ts +4 -0
- package/dist/cjs/conditions/schemas/if-then-else.js +40 -0
- package/dist/cjs/conditions/schemas/if-then-else.js.map +1 -0
- package/dist/cjs/conditions/schemas/json-api.d.ts +46 -0
- package/dist/cjs/conditions/schemas/json-api.js +37 -0
- package/dist/cjs/conditions/schemas/json-api.js.map +1 -0
- package/dist/cjs/conditions/schemas/return-value-test.d.ts +15 -0
- package/dist/cjs/conditions/schemas/return-value-test.js +11 -0
- package/dist/cjs/conditions/schemas/return-value-test.js.map +1 -0
- package/dist/cjs/conditions/schemas/rpc.d.ts +42 -0
- package/dist/cjs/conditions/schemas/rpc.js +58 -0
- package/dist/cjs/conditions/schemas/rpc.js.map +1 -0
- package/dist/cjs/conditions/schemas/sequential.d.ts +6 -0
- package/dist/cjs/conditions/schemas/sequential.js +39 -0
- package/dist/cjs/conditions/schemas/sequential.js.map +1 -0
- package/dist/cjs/conditions/schemas/time.d.ts +40 -0
- package/dist/cjs/conditions/schemas/time.js +16 -0
- package/dist/cjs/conditions/schemas/time.js.map +1 -0
- package/dist/cjs/conditions/schemas/utils.d.ts +2 -0
- package/dist/cjs/conditions/schemas/utils.js +21 -0
- package/dist/cjs/conditions/schemas/utils.js.map +1 -0
- package/dist/cjs/conditions/sequential.d.ts +7 -0
- package/dist/cjs/conditions/sequential.js +18 -0
- package/dist/cjs/conditions/sequential.js.map +1 -0
- package/dist/cjs/conditions/shared.d.ts +2 -19
- package/dist/cjs/conditions/shared.js +6 -32
- package/dist/cjs/conditions/shared.js.map +1 -1
- package/dist/es/conditions/base/contract.d.ts +2 -428
- package/dist/es/conditions/base/contract.js +2 -77
- package/dist/es/conditions/base/contract.js.map +1 -1
- package/dist/es/conditions/base/index.d.ts +1 -0
- package/dist/es/conditions/base/index.js +1 -0
- package/dist/es/conditions/base/index.js.map +1 -1
- package/dist/es/conditions/base/json-api.d.ts +7 -0
- package/dist/es/conditions/base/json-api.js +12 -0
- package/dist/es/conditions/base/json-api.js.map +1 -0
- package/dist/es/conditions/base/rpc.d.ts +2 -42
- package/dist/es/conditions/base/rpc.js +2 -16
- package/dist/es/conditions/base/rpc.js.map +1 -1
- package/dist/es/conditions/base/time.d.ts +2 -40
- package/dist/es/conditions/base/time.js +2 -12
- package/dist/es/conditions/base/time.js.map +1 -1
- package/dist/es/conditions/compound-condition.d.ts +2 -4
- package/dist/es/conditions/compound-condition.js +2 -35
- package/dist/es/conditions/compound-condition.js.map +1 -1
- package/dist/es/conditions/condition-factory.js +11 -0
- 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 +1 -0
- package/dist/es/conditions/condition.js.map +1 -1
- package/dist/es/conditions/const.d.ts +1 -0
- package/dist/es/conditions/const.js +4 -1
- package/dist/es/conditions/const.js.map +1 -1
- package/dist/es/conditions/context/context.js +2 -2
- package/dist/es/conditions/context/context.js.map +1 -1
- package/dist/es/conditions/if-then-else-condition.d.ts +7 -0
- package/dist/es/conditions/if-then-else-condition.js +12 -0
- package/dist/es/conditions/if-then-else-condition.js.map +1 -0
- package/dist/es/conditions/index.d.ts +2 -0
- package/dist/es/conditions/index.js +2 -0
- package/dist/es/conditions/index.js.map +1 -1
- package/dist/es/conditions/multi-condition.d.ts +2 -0
- package/dist/es/conditions/multi-condition.js +31 -0
- package/dist/es/conditions/multi-condition.js.map +1 -0
- package/dist/es/conditions/schemas/common.d.ts +12 -0
- package/dist/es/conditions/schemas/common.js +33 -0
- package/dist/es/conditions/schemas/common.js.map +1 -0
- package/dist/es/conditions/schemas/compound.d.ts +4 -0
- package/dist/es/conditions/schemas/compound.js +33 -0
- package/dist/es/conditions/schemas/compound.js.map +1 -0
- package/dist/es/conditions/schemas/context.d.ts +3 -0
- package/dist/es/conditions/schemas/context.js +13 -0
- package/dist/es/conditions/schemas/context.js.map +1 -0
- package/dist/es/conditions/schemas/contract.d.ts +428 -0
- package/dist/es/conditions/schemas/contract.js +78 -0
- package/dist/es/conditions/schemas/contract.js.map +1 -0
- package/dist/es/conditions/schemas/if-then-else.d.ts +4 -0
- package/dist/es/conditions/schemas/if-then-else.js +37 -0
- package/dist/es/conditions/schemas/if-then-else.js.map +1 -0
- package/dist/es/conditions/schemas/json-api.d.ts +46 -0
- package/dist/es/conditions/schemas/json-api.js +34 -0
- package/dist/es/conditions/schemas/json-api.js.map +1 -0
- package/dist/es/conditions/schemas/return-value-test.d.ts +15 -0
- package/dist/es/conditions/schemas/return-value-test.js +8 -0
- package/dist/es/conditions/schemas/return-value-test.js.map +1 -0
- package/dist/es/conditions/schemas/rpc.d.ts +42 -0
- package/dist/es/conditions/schemas/rpc.js +32 -0
- package/dist/es/conditions/schemas/rpc.js.map +1 -0
- package/dist/es/conditions/schemas/sequential.d.ts +6 -0
- package/dist/es/conditions/schemas/sequential.js +36 -0
- package/dist/es/conditions/schemas/sequential.js.map +1 -0
- package/dist/es/conditions/schemas/time.d.ts +40 -0
- package/dist/es/conditions/schemas/time.js +13 -0
- package/dist/es/conditions/schemas/time.js.map +1 -0
- package/dist/es/conditions/schemas/utils.d.ts +2 -0
- package/dist/es/conditions/schemas/utils.js +18 -0
- package/dist/es/conditions/schemas/utils.js.map +1 -0
- package/dist/es/conditions/sequential.d.ts +7 -0
- package/dist/es/conditions/sequential.js +12 -0
- package/dist/es/conditions/sequential.js.map +1 -0
- package/dist/es/conditions/shared.d.ts +2 -19
- package/dist/es/conditions/shared.js +2 -31
- package/dist/es/conditions/shared.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.es.tsbuildinfo +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const RpcConditionType = "rpc";
|
|
3
|
+
export declare const rpcConditionSchema: z.ZodObject<{
|
|
4
|
+
conditionType: z.ZodDefault<z.ZodLiteral<"rpc">>;
|
|
5
|
+
chain: z.ZodNever | z.ZodLiteral<z.Primitive> | z.ZodUnion<[z.ZodLiteral<z.Primitive>, z.ZodLiteral<z.Primitive>, ...z.ZodLiteral<z.Primitive>[]]>;
|
|
6
|
+
method: z.ZodEnum<["eth_getBalance"]>;
|
|
7
|
+
parameters: z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEnum<[":userAddress", ":userAddressExternalEIP4361"]>, 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.ZodEnum<[":userAddress", ":userAddressExternalEIP4361"]>, z.ZodString]>], null>]>;
|
|
8
|
+
returnValueTest: z.ZodObject<{
|
|
9
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
10
|
+
comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
|
|
11
|
+
value: z.ZodType<any, z.ZodTypeDef, any>;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
14
|
+
index?: number | undefined;
|
|
15
|
+
value?: any;
|
|
16
|
+
}, {
|
|
17
|
+
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
18
|
+
index?: number | undefined;
|
|
19
|
+
value?: any;
|
|
20
|
+
}>;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
conditionType: "rpc";
|
|
23
|
+
parameters: [string] | [string, string | number];
|
|
24
|
+
returnValueTest: {
|
|
25
|
+
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
26
|
+
index?: number | undefined;
|
|
27
|
+
value?: any;
|
|
28
|
+
};
|
|
29
|
+
method: "eth_getBalance";
|
|
30
|
+
chain?: z.Primitive;
|
|
31
|
+
}, {
|
|
32
|
+
parameters: [string] | [string, string | number];
|
|
33
|
+
returnValueTest: {
|
|
34
|
+
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
35
|
+
index?: number | undefined;
|
|
36
|
+
value?: any;
|
|
37
|
+
};
|
|
38
|
+
method: "eth_getBalance";
|
|
39
|
+
conditionType?: "rpc" | undefined;
|
|
40
|
+
chain?: z.Primitive;
|
|
41
|
+
}>;
|
|
42
|
+
export type RpcConditionProps = z.infer<typeof rpcConditionSchema>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { BlockIdentifierSchema, EthAddressSchema } from '@nucypher/shared';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { SUPPORTED_CHAIN_IDS } from '../const';
|
|
4
|
+
import createUnionSchema, { baseConditionSchema, UserAddressSchema, } from './common';
|
|
5
|
+
import { contextParamSchema } from './context';
|
|
6
|
+
import { returnValueTestSchema } from './return-value-test';
|
|
7
|
+
export const RpcConditionType = 'rpc';
|
|
8
|
+
const EthAddressOrContextVariableSchema = z.union([
|
|
9
|
+
EthAddressSchema,
|
|
10
|
+
UserAddressSchema,
|
|
11
|
+
contextParamSchema,
|
|
12
|
+
]);
|
|
13
|
+
const BlockOrContextParamSchema = z.union([
|
|
14
|
+
BlockIdentifierSchema,
|
|
15
|
+
contextParamSchema,
|
|
16
|
+
]);
|
|
17
|
+
// eth_getBalance schema specification
|
|
18
|
+
// - Ethereum spec: https://ethereum.github.io/execution-apis/api-documentation/
|
|
19
|
+
// - web3py: https://web3py.readthedocs.io/en/stable/web3.eth.html#web3.eth.Eth.get_balance
|
|
20
|
+
export const rpcConditionSchema = baseConditionSchema.extend({
|
|
21
|
+
conditionType: z.literal(RpcConditionType).default(RpcConditionType),
|
|
22
|
+
chain: createUnionSchema(SUPPORTED_CHAIN_IDS),
|
|
23
|
+
method: z.enum(['eth_getBalance']),
|
|
24
|
+
parameters: z.union([
|
|
25
|
+
// Spec requires 2 parameters: an address and a block identifier
|
|
26
|
+
z.tuple([EthAddressOrContextVariableSchema, BlockOrContextParamSchema]),
|
|
27
|
+
// Block identifier can be omitted, since web3py (which runs on TACo exec layer) defaults to 'latest',
|
|
28
|
+
z.tuple([EthAddressOrContextVariableSchema]),
|
|
29
|
+
]),
|
|
30
|
+
returnValueTest: returnValueTestSchema, // Update to allow multiple return values after expanding supported methods
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=rpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,iBAAiB,EAAE,EACxB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC;IAChD,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;CACnB,CAAC,CAAC;AACH,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC;IACxC,qBAAqB;IACrB,kBAAkB;CACnB,CAAC,CAAC;AAEH,sCAAsC;AACtC,gFAAgF;AAChF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAC3D,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACpE,KAAK,EAAE,iBAAiB,CAAC,mBAAmB,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC;QAClB,gEAAgE;QAChE,CAAC,CAAC,KAAK,CAAC,CAAC,iCAAiC,EAAE,yBAAyB,CAAC,CAAC;QACvE,sGAAsG;QACtG,CAAC,CAAC,KAAK,CAAC,CAAC,iCAAiC,CAAC,CAAC;KAC7C,CAAC;IACF,eAAe,EAAE,qBAAqB,EAAE,2EAA2E;CACpH,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const SequentialConditionType = "sequential";
|
|
3
|
+
export declare const conditionVariableSchema: z.ZodSchema;
|
|
4
|
+
export type ConditionVariableProps = z.infer<typeof conditionVariableSchema>;
|
|
5
|
+
export declare const sequentialConditionSchema: z.ZodSchema;
|
|
6
|
+
export type SequentialConditionProps = z.infer<typeof sequentialConditionSchema>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { maxNestedDepth } from '../multi-condition';
|
|
3
|
+
import { baseConditionSchema, plainStringSchema } from './common';
|
|
4
|
+
import { anyConditionSchema } from './utils';
|
|
5
|
+
export const SequentialConditionType = 'sequential';
|
|
6
|
+
export const conditionVariableSchema = z.lazy(() => z.object({
|
|
7
|
+
varName: plainStringSchema,
|
|
8
|
+
condition: anyConditionSchema,
|
|
9
|
+
}));
|
|
10
|
+
export const sequentialConditionSchema = baseConditionSchema
|
|
11
|
+
.extend({
|
|
12
|
+
conditionType: z
|
|
13
|
+
.literal(SequentialConditionType)
|
|
14
|
+
.default(SequentialConditionType),
|
|
15
|
+
conditionVariables: z.array(conditionVariableSchema).min(2).max(5),
|
|
16
|
+
})
|
|
17
|
+
.refine((condition) => maxNestedDepth(2)(condition), {
|
|
18
|
+
message: 'Exceeded max nested depth of 2 for multi-condition type',
|
|
19
|
+
path: ['conditionVariables'],
|
|
20
|
+
})
|
|
21
|
+
.refine(
|
|
22
|
+
// check for duplicate var names
|
|
23
|
+
(condition) => {
|
|
24
|
+
const seen = new Set();
|
|
25
|
+
return condition.conditionVariables.every((child) => {
|
|
26
|
+
if (seen.has(child.varName)) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
seen.add(child.varName);
|
|
30
|
+
return true;
|
|
31
|
+
});
|
|
32
|
+
}, {
|
|
33
|
+
message: 'Duplicate variable names are not allowed',
|
|
34
|
+
path: ['conditionVariables'],
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=sequential.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/sequential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC9D,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,kBAAkB;CAC9B,CAAC,CACH,CAAC;AAGF,MAAM,CAAC,MAAM,yBAAyB,GAAgB,mBAAmB;KACtE,MAAM,CAAC;IACN,aAAa,EAAE,CAAC;SACb,OAAO,CAAC,uBAAuB,CAAC;SAChC,OAAO,CAAC,uBAAuB,CAAC;IACnC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACnE,CAAC;KACD,MAAM,CACL,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAC3C;IACE,OAAO,EAAE,yDAAyD;IAClE,IAAI,EAAE,CAAC,oBAAoB,CAAC;CAC7B,CACF;KACA,MAAM;AACL,gCAAgC;AAChC,CAAC,SAAS,EAAE,EAAE;IACZ,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,OAAO,SAAS,CAAC,kBAAkB,CAAC,KAAK,CACvC,CAAC,KAA6B,EAAE,EAAE;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC,CACF,CAAC;AACJ,CAAC,EACD;IACE,OAAO,EAAE,0CAA0C;IACnD,IAAI,EAAE,CAAC,oBAAoB,CAAC;CAC7B,CACF,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const TimeConditionType = "time";
|
|
3
|
+
export declare const TimeConditionMethod = "blocktime";
|
|
4
|
+
export declare const timeConditionSchema: z.ZodObject<{
|
|
5
|
+
conditionType: z.ZodDefault<z.ZodLiteral<"time">>;
|
|
6
|
+
method: z.ZodDefault<z.ZodLiteral<"blocktime">>;
|
|
7
|
+
chain: z.ZodNever | z.ZodLiteral<z.Primitive> | z.ZodUnion<[z.ZodLiteral<z.Primitive>, z.ZodLiteral<z.Primitive>, ...z.ZodLiteral<z.Primitive>[]]>;
|
|
8
|
+
returnValueTest: z.ZodObject<{
|
|
9
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
10
|
+
comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
|
|
11
|
+
value: z.ZodType<any, z.ZodTypeDef, any>;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
14
|
+
index?: number | undefined;
|
|
15
|
+
value?: any;
|
|
16
|
+
}, {
|
|
17
|
+
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
18
|
+
index?: number | undefined;
|
|
19
|
+
value?: any;
|
|
20
|
+
}>;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
conditionType: "time";
|
|
23
|
+
returnValueTest: {
|
|
24
|
+
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
25
|
+
index?: number | undefined;
|
|
26
|
+
value?: any;
|
|
27
|
+
};
|
|
28
|
+
method: "blocktime";
|
|
29
|
+
chain?: z.Primitive;
|
|
30
|
+
}, {
|
|
31
|
+
returnValueTest: {
|
|
32
|
+
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
33
|
+
index?: number | undefined;
|
|
34
|
+
value?: any;
|
|
35
|
+
};
|
|
36
|
+
conditionType?: "time" | undefined;
|
|
37
|
+
method?: "blocktime" | undefined;
|
|
38
|
+
chain?: z.Primitive;
|
|
39
|
+
}>;
|
|
40
|
+
export type TimeConditionProps = z.infer<typeof timeConditionSchema>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { rpcConditionSchema } from './rpc';
|
|
3
|
+
// TimeCondition is an RpcCondition with the method set to 'blocktime' and no parameters
|
|
4
|
+
export const TimeConditionType = 'time';
|
|
5
|
+
export const TimeConditionMethod = 'blocktime';
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7
|
+
const { parameters: _, ...restShape } = rpcConditionSchema.shape;
|
|
8
|
+
export const timeConditionSchema = z.object({
|
|
9
|
+
...restShape,
|
|
10
|
+
conditionType: z.literal(TimeConditionType).default(TimeConditionType),
|
|
11
|
+
method: z.literal(TimeConditionMethod).default(TimeConditionMethod),
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,wFAAwF;AAExF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAE/C,6DAA6D;AAC7D,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,SAAS;IACZ,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACtE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;CACpE,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { compoundConditionSchema } from '../compound-condition';
|
|
3
|
+
import { contractConditionSchema } from './contract';
|
|
4
|
+
import { ifThenElseConditionSchema } from './if-then-else';
|
|
5
|
+
import { jsonApiConditionSchema } from './json-api';
|
|
6
|
+
import { rpcConditionSchema } from './rpc';
|
|
7
|
+
import { sequentialConditionSchema } from './sequential';
|
|
8
|
+
import { timeConditionSchema } from './time';
|
|
9
|
+
export const anyConditionSchema = z.lazy(() => z.union([
|
|
10
|
+
rpcConditionSchema,
|
|
11
|
+
timeConditionSchema,
|
|
12
|
+
contractConditionSchema,
|
|
13
|
+
compoundConditionSchema,
|
|
14
|
+
jsonApiConditionSchema,
|
|
15
|
+
sequentialConditionSchema,
|
|
16
|
+
ifThenElseConditionSchema,
|
|
17
|
+
]));
|
|
18
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACzD,CAAC,CAAC,KAAK,CAAC;IACN,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;IACtB,yBAAyB;IACzB,yBAAyB;CAC1B,CAAC,CACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Condition } from './condition';
|
|
2
|
+
import { SequentialConditionProps } from './schemas/sequential';
|
|
3
|
+
import { OmitConditionType } from './shared';
|
|
4
|
+
export { ConditionVariableProps, SequentialConditionProps, sequentialConditionSchema, SequentialConditionType, } from './schemas/sequential';
|
|
5
|
+
export declare class SequentialCondition extends Condition {
|
|
6
|
+
constructor(value: OmitConditionType<SequentialConditionProps>);
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Condition } from './condition';
|
|
2
|
+
import { sequentialConditionSchema, SequentialConditionType, } from './schemas/sequential';
|
|
3
|
+
export { sequentialConditionSchema, SequentialConditionType, } from './schemas/sequential';
|
|
4
|
+
export class SequentialCondition extends Condition {
|
|
5
|
+
constructor(value) {
|
|
6
|
+
super(sequentialConditionSchema, {
|
|
7
|
+
conditionType: SequentialConditionType,
|
|
8
|
+
...value,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=sequential.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../../src/conditions/sequential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAGL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,YAAY,KAAkD;QAC5D,KAAK,CAAC,yBAAyB,EAAE;YAC/B,aAAa,EAAE,uBAAuB;YACtC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const contextParamSchema: z.ZodString;
|
|
3
|
-
export declare const plainStringSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
4
|
-
export declare const paramOrContextParamSchema: z.ZodSchema;
|
|
5
|
-
export declare const returnValueTestSchema: z.ZodObject<{
|
|
6
|
-
index: z.ZodOptional<z.ZodNumber>;
|
|
7
|
-
comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
|
|
8
|
-
value: z.ZodType<any, z.ZodTypeDef, any>;
|
|
9
|
-
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
11
|
-
index?: number | undefined;
|
|
12
|
-
value?: any;
|
|
13
|
-
}, {
|
|
14
|
-
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
15
|
-
index?: number | undefined;
|
|
16
|
-
value?: any;
|
|
17
|
-
}>;
|
|
18
|
-
export type ReturnValueTestProps = z.infer<typeof returnValueTestSchema>;
|
|
19
|
-
export declare const EthAddressOrUserAddressSchema: z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEnum<[":userAddress", ":userAddressExternalEIP4361"]>]>;
|
|
20
1
|
export type OmitConditionType<T> = Omit<T, 'conditionType'>;
|
|
2
|
+
export { contextParamSchema, paramOrContextParamSchema, } from './schemas/context';
|
|
3
|
+
export { ReturnValueTestProps, returnValueTestSchema, } from './schemas/return-value-test';
|
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { z } from 'zod';
|
|
4
|
-
import { CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP } from './const';
|
|
5
|
-
export const contextParamSchema = z.string().regex(CONTEXT_PARAM_REGEXP);
|
|
6
|
-
// We want to discriminate between ContextParams and plain strings
|
|
7
|
-
// If a string starts with `:`, it's a ContextParam
|
|
8
|
-
export const plainStringSchema = z.string().refine((str) => {
|
|
9
|
-
return !str.startsWith(CONTEXT_PARAM_PREFIX);
|
|
10
|
-
}, {
|
|
11
|
-
message: `String must not be a context parameter i.e. not start with "${CONTEXT_PARAM_PREFIX}"`,
|
|
12
|
-
});
|
|
13
|
-
const paramSchema = z.union([plainStringSchema, z.boolean(), z.number()]);
|
|
14
|
-
export const paramOrContextParamSchema = z.union([
|
|
15
|
-
paramSchema,
|
|
16
|
-
contextParamSchema,
|
|
17
|
-
z.lazy(() => z.array(paramOrContextParamSchema)),
|
|
18
|
-
]);
|
|
19
|
-
export const returnValueTestSchema = z.object({
|
|
20
|
-
index: z.number().int().nonnegative().optional(),
|
|
21
|
-
comparator: z.enum(['==', '>', '<', '>=', '<=', '!=']),
|
|
22
|
-
value: paramOrContextParamSchema,
|
|
23
|
-
});
|
|
24
|
-
const UserAddressSchema = z.enum([
|
|
25
|
-
USER_ADDRESS_PARAM_DEFAULT,
|
|
26
|
-
USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
|
|
27
|
-
]);
|
|
28
|
-
export const EthAddressOrUserAddressSchema = z.union([
|
|
29
|
-
EthAddressSchema,
|
|
30
|
-
UserAddressSchema,
|
|
31
|
-
]);
|
|
1
|
+
export { contextParamSchema, paramOrContextParamSchema, } from './schemas/context';
|
|
2
|
+
export { returnValueTestSchema, } from './schemas/return-value-test';
|
|
32
3
|
//# sourceMappingURL=shared.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/conditions/shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/conditions/shared.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,qBAAqB,GACtB,MAAM,6BAA6B,CAAC"}
|