@nucypher/taco 0.6.0-alpha.3 → 0.7.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.
Files changed (99) hide show
  1. package/dist/cjs/conditions/base/address-allowlist.d.ts +10 -0
  2. package/dist/cjs/conditions/base/address-allowlist.js +19 -0
  3. package/dist/cjs/conditions/base/address-allowlist.js.map +1 -0
  4. package/dist/cjs/conditions/base/index.d.ts +2 -0
  5. package/dist/cjs/conditions/base/index.js +3 -1
  6. package/dist/cjs/conditions/base/index.js.map +1 -1
  7. package/dist/cjs/conditions/base/signing.d.ts +10 -0
  8. package/dist/cjs/conditions/base/signing.js +32 -0
  9. package/dist/cjs/conditions/base/signing.js.map +1 -0
  10. package/dist/cjs/conditions/condition-factory.js +8 -0
  11. package/dist/cjs/conditions/condition-factory.js.map +1 -1
  12. package/dist/cjs/conditions/context/context.d.ts +4 -0
  13. package/dist/cjs/conditions/context/context.js +28 -3
  14. package/dist/cjs/conditions/context/context.js.map +1 -1
  15. package/dist/cjs/conditions/schemas/address-allowlist.d.ts +16 -0
  16. package/dist/cjs/conditions/schemas/address-allowlist.js +20 -0
  17. package/dist/cjs/conditions/schemas/address-allowlist.js.map +1 -0
  18. package/dist/cjs/conditions/schemas/common.d.ts +1 -0
  19. package/dist/cjs/conditions/schemas/common.js +16 -3
  20. package/dist/cjs/conditions/schemas/common.js.map +1 -1
  21. package/dist/cjs/conditions/schemas/contract.d.ts +21 -18
  22. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.d.ts +2 -0
  23. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js +3 -0
  24. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
  25. package/dist/cjs/conditions/schemas/json-api.d.ts +47 -14
  26. package/dist/cjs/conditions/schemas/json-api.js +16 -2
  27. package/dist/cjs/conditions/schemas/json-api.js.map +1 -1
  28. package/dist/cjs/conditions/schemas/json-rpc.d.ts +48 -13
  29. package/dist/cjs/conditions/schemas/json-rpc.js +16 -2
  30. package/dist/cjs/conditions/schemas/json-rpc.js.map +1 -1
  31. package/dist/cjs/conditions/schemas/jwt.d.ts +2 -4
  32. package/dist/cjs/conditions/schemas/return-value-test.d.ts +28 -12
  33. package/dist/cjs/conditions/schemas/return-value-test.js +19 -5
  34. package/dist/cjs/conditions/schemas/return-value-test.js.map +1 -1
  35. package/dist/cjs/conditions/schemas/rpc.d.ts +18 -12
  36. package/dist/cjs/conditions/schemas/signing.d.ts +12 -0
  37. package/dist/cjs/conditions/schemas/signing.js +204 -0
  38. package/dist/cjs/conditions/schemas/signing.js.map +1 -0
  39. package/dist/cjs/conditions/schemas/time.d.ts +16 -8
  40. package/dist/cjs/conditions/schemas/utils.js +6 -1
  41. package/dist/cjs/conditions/schemas/utils.js.map +1 -1
  42. package/dist/cjs/index.d.ts +1 -0
  43. package/dist/cjs/index.js +3 -1
  44. package/dist/cjs/index.js.map +1 -1
  45. package/dist/cjs/sign.d.ts +24 -0
  46. package/dist/cjs/sign.js +88 -0
  47. package/dist/cjs/sign.js.map +1 -0
  48. package/dist/cjs/types.d.ts +1 -0
  49. package/dist/es/conditions/base/address-allowlist.d.ts +10 -0
  50. package/dist/es/conditions/base/address-allowlist.js +15 -0
  51. package/dist/es/conditions/base/address-allowlist.js.map +1 -0
  52. package/dist/es/conditions/base/index.d.ts +2 -0
  53. package/dist/es/conditions/base/index.js +2 -0
  54. package/dist/es/conditions/base/index.js.map +1 -1
  55. package/dist/es/conditions/base/signing.d.ts +10 -0
  56. package/dist/es/conditions/base/signing.js +20 -0
  57. package/dist/es/conditions/base/signing.js.map +1 -0
  58. package/dist/es/conditions/condition-factory.js +8 -0
  59. package/dist/es/conditions/condition-factory.js.map +1 -1
  60. package/dist/es/conditions/context/context.d.ts +4 -0
  61. package/dist/es/conditions/context/context.js +27 -2
  62. package/dist/es/conditions/context/context.js.map +1 -1
  63. package/dist/es/conditions/schemas/address-allowlist.d.ts +16 -0
  64. package/dist/es/conditions/schemas/address-allowlist.js +17 -0
  65. package/dist/es/conditions/schemas/address-allowlist.js.map +1 -0
  66. package/dist/es/conditions/schemas/common.d.ts +1 -0
  67. package/dist/es/conditions/schemas/common.js +15 -2
  68. package/dist/es/conditions/schemas/common.js.map +1 -1
  69. package/dist/es/conditions/schemas/contract.d.ts +21 -18
  70. package/dist/es/conditions/schemas/export-for-zod-doc-gen.d.ts +2 -0
  71. package/dist/es/conditions/schemas/export-for-zod-doc-gen.js +3 -0
  72. package/dist/es/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
  73. package/dist/es/conditions/schemas/json-api.d.ts +47 -14
  74. package/dist/es/conditions/schemas/json-api.js +17 -3
  75. package/dist/es/conditions/schemas/json-api.js.map +1 -1
  76. package/dist/es/conditions/schemas/json-rpc.d.ts +48 -13
  77. package/dist/es/conditions/schemas/json-rpc.js +17 -3
  78. package/dist/es/conditions/schemas/json-rpc.js.map +1 -1
  79. package/dist/es/conditions/schemas/jwt.d.ts +2 -4
  80. package/dist/es/conditions/schemas/return-value-test.d.ts +28 -12
  81. package/dist/es/conditions/schemas/return-value-test.js +19 -5
  82. package/dist/es/conditions/schemas/return-value-test.js.map +1 -1
  83. package/dist/es/conditions/schemas/rpc.d.ts +18 -12
  84. package/dist/es/conditions/schemas/signing.d.ts +12 -0
  85. package/dist/es/conditions/schemas/signing.js +201 -0
  86. package/dist/es/conditions/schemas/signing.js.map +1 -0
  87. package/dist/es/conditions/schemas/time.d.ts +16 -8
  88. package/dist/es/conditions/schemas/utils.js +6 -1
  89. package/dist/es/conditions/schemas/utils.js.map +1 -1
  90. package/dist/es/index.d.ts +1 -0
  91. package/dist/es/index.js +1 -0
  92. package/dist/es/index.js.map +1 -1
  93. package/dist/es/sign.d.ts +24 -0
  94. package/dist/es/sign.js +85 -0
  95. package/dist/es/sign.js.map +1 -0
  96. package/dist/es/types.d.ts +1 -0
  97. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  98. package/dist/tsconfig.es.tsbuildinfo +1 -1
  99. package/package.json +5 -4
@@ -6,12 +6,26 @@ const common_1 = require("./common");
6
6
  const context_1 = require("./context");
7
7
  const return_value_test_1 = require("./return-value-test");
8
8
  exports.JsonApiConditionType = 'json-api';
9
- exports.jsonApiConditionSchema = common_1.baseConditionSchema.extend({
10
- conditionType: zod_1.z.literal(exports.JsonApiConditionType).default(exports.JsonApiConditionType),
9
+ exports.jsonApiConditionSchema = common_1.baseConditionSchema
10
+ .extend({
11
+ conditionType: zod_1.z
12
+ .literal(exports.JsonApiConditionType)
13
+ .default(exports.JsonApiConditionType),
11
14
  endpoint: common_1.httpsURLSchema,
12
15
  parameters: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
13
16
  query: common_1.jsonPathSchema.optional(),
14
17
  authorizationToken: context_1.contextParamSchema.optional(),
18
+ authorizationType: common_1.jsonAuthorizationTypeSchema.optional(),
15
19
  returnValueTest: return_value_test_1.returnValueTestSchema, // Update to allow multiple return values after expanding supported methods
20
+ })
21
+ .refine((data) => {
22
+ // Ensure that if authorizationType is provided, then authorizationToken is set
23
+ if (data.authorizationType && !data.authorizationToken) {
24
+ return false;
25
+ }
26
+ return true;
27
+ }, {
28
+ message: 'authorizationToken must be provided if authorizationType is set',
29
+ path: ['authorizationType'],
16
30
  });
17
31
  //# sourceMappingURL=json-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/json-api.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qCAA+E;AAC/E,uCAA+C;AAC/C,2DAA4D;AAE/C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAElC,QAAA,sBAAsB,GAAG,4BAAmB,CAAC,MAAM,CAAC;IAC/D,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC;IAC5E,QAAQ,EAAE,uBAAc;IACxB,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,KAAK,EAAE,uBAAc,CAAC,QAAQ,EAAE;IAChC,kBAAkB,EAAE,4BAAkB,CAAC,QAAQ,EAAE;IACjD,eAAe,EAAE,yCAAqB,EAAE,2EAA2E;CACpH,CAAC,CAAC"}
1
+ {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/json-api.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qCAKkB;AAClB,uCAA+C;AAC/C,2DAA4D;AAE/C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAElC,QAAA,sBAAsB,GAAG,4BAAmB;KACtD,MAAM,CAAC;IACN,aAAa,EAAE,OAAC;SACb,OAAO,CAAC,4BAAoB,CAAC;SAC7B,OAAO,CAAC,4BAAoB,CAAC;IAChC,QAAQ,EAAE,uBAAc;IACxB,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,KAAK,EAAE,uBAAc,CAAC,QAAQ,EAAE;IAChC,kBAAkB,EAAE,4BAAkB,CAAC,QAAQ,EAAE;IACjD,iBAAiB,EAAE,oCAA2B,CAAC,QAAQ,EAAE;IACzD,eAAe,EAAE,yCAAqB,EAAE,2EAA2E;CACpH,CAAC;KACD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;IACP,+EAA+E;IAC/E,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,EACD;IACE,OAAO,EACL,iEAAiE;IACnE,IAAI,EAAE,CAAC,mBAAmB,CAAC;CAC5B,CACF,CAAC"}
@@ -1,51 +1,86 @@
1
1
  import { z } from 'zod';
2
2
  export declare const JsonRpcConditionType = "json-rpc";
3
- export declare const jsonRpcConditionSchema: z.ZodObject<z.objectUtil.extendShape<{
4
- conditionType: z.ZodString;
5
- }, {
3
+ export declare const jsonRpcConditionSchema: z.ZodEffects<z.ZodObject<{} & {
6
4
  conditionType: z.ZodDefault<z.ZodLiteral<"json-rpc">>;
7
5
  endpoint: z.ZodEffects<z.ZodString, string, string>;
8
6
  method: z.ZodString;
9
7
  params: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnknown, "many">, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
10
8
  query: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
11
9
  authorizationToken: z.ZodOptional<z.ZodString>;
12
- returnValueTest: z.ZodObject<z.objectUtil.extendShape<{
10
+ authorizationType: z.ZodOptional<z.ZodEnum<["Bearer", "Basic", "X-API-Key"]>>;
11
+ returnValueTest: z.ZodEffects<z.ZodObject<{
13
12
  index: z.ZodOptional<z.ZodNumber>;
14
- comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
15
- }, {
13
+ comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!=", "in", "!in"]>;
14
+ } & {
16
15
  value: z.ZodType<any, z.ZodTypeDef, any>;
17
- }>, "strip", z.ZodTypeAny, {
18
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
16
+ }, "strip", z.ZodTypeAny, {
17
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
18
+ value?: any;
19
+ index?: number | undefined;
20
+ }, {
21
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
22
+ value?: any;
23
+ index?: number | undefined;
24
+ }>, {
25
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
19
26
  value?: any;
20
27
  index?: number | undefined;
21
28
  }, {
22
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
29
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
23
30
  value?: any;
24
31
  index?: number | undefined;
25
32
  }>;
26
- }>, "strip", z.ZodTypeAny, {
33
+ }, "strip", z.ZodTypeAny, {
27
34
  conditionType: "json-rpc";
35
+ endpoint: string;
28
36
  method: string;
29
37
  returnValueTest: {
30
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
38
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
31
39
  value?: any;
32
40
  index?: number | undefined;
33
41
  };
34
- endpoint: string;
35
42
  params?: unknown[] | Record<string, unknown> | undefined;
36
43
  query?: string | undefined;
37
44
  authorizationToken?: string | undefined;
45
+ authorizationType?: "Bearer" | "Basic" | "X-API-Key" | undefined;
38
46
  }, {
47
+ endpoint: string;
48
+ method: string;
49
+ returnValueTest: {
50
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
51
+ value?: any;
52
+ index?: number | undefined;
53
+ };
54
+ params?: unknown[] | Record<string, unknown> | undefined;
55
+ conditionType?: "json-rpc" | undefined;
56
+ query?: string | undefined;
57
+ authorizationToken?: string | undefined;
58
+ authorizationType?: "Bearer" | "Basic" | "X-API-Key" | undefined;
59
+ }>, {
60
+ conditionType: "json-rpc";
61
+ endpoint: string;
39
62
  method: string;
40
63
  returnValueTest: {
41
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
64
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
42
65
  value?: any;
43
66
  index?: number | undefined;
44
67
  };
68
+ params?: unknown[] | Record<string, unknown> | undefined;
69
+ query?: string | undefined;
70
+ authorizationToken?: string | undefined;
71
+ authorizationType?: "Bearer" | "Basic" | "X-API-Key" | undefined;
72
+ }, {
45
73
  endpoint: string;
74
+ method: string;
75
+ returnValueTest: {
76
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
77
+ value?: any;
78
+ index?: number | undefined;
79
+ };
46
80
  params?: unknown[] | Record<string, unknown> | undefined;
47
81
  conditionType?: "json-rpc" | undefined;
48
82
  query?: string | undefined;
49
83
  authorizationToken?: string | undefined;
84
+ authorizationType?: "Bearer" | "Basic" | "X-API-Key" | undefined;
50
85
  }>;
51
86
  export type JsonRpcConditionProps = z.infer<typeof jsonRpcConditionSchema>;
@@ -6,8 +6,11 @@ const common_1 = require("./common");
6
6
  const context_1 = require("./context");
7
7
  const return_value_test_1 = require("./return-value-test");
8
8
  exports.JsonRpcConditionType = 'json-rpc';
9
- exports.jsonRpcConditionSchema = common_1.baseConditionSchema.extend({
10
- conditionType: zod_1.z.literal(exports.JsonRpcConditionType).default(exports.JsonRpcConditionType),
9
+ exports.jsonRpcConditionSchema = common_1.baseConditionSchema
10
+ .extend({
11
+ conditionType: zod_1.z
12
+ .literal(exports.JsonRpcConditionType)
13
+ .default(exports.JsonRpcConditionType),
11
14
  endpoint: common_1.httpsURLSchema,
12
15
  method: zod_1.z.string(),
13
16
  // list or dictionary
@@ -16,6 +19,17 @@ exports.jsonRpcConditionSchema = common_1.baseConditionSchema.extend({
16
19
  .optional(),
17
20
  query: common_1.jsonPathSchema.optional(),
18
21
  authorizationToken: context_1.contextParamSchema.optional(),
22
+ authorizationType: common_1.jsonAuthorizationTypeSchema.optional(),
19
23
  returnValueTest: return_value_test_1.returnValueTestSchema,
24
+ })
25
+ .refine((data) => {
26
+ // Ensure that if authorizationType is provided, then authorizationToken is set
27
+ if (data.authorizationType && !data.authorizationToken) {
28
+ return false;
29
+ }
30
+ return true;
31
+ }, {
32
+ message: 'authorizationToken must be provided if authorizationType is set',
33
+ path: ['authorizationType'],
20
34
  });
21
35
  //# sourceMappingURL=json-rpc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-rpc.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/json-rpc.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qCAA+E;AAC/E,uCAA+C;AAC/C,2DAA4D;AAE/C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAElC,QAAA,sBAAsB,GAAG,4BAAmB,CAAC,MAAM,CAAC;IAC/D,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC;IAC5E,QAAQ,EAAE,uBAAc;IACxB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,qBAAqB;IACrB,MAAM,EAAE,OAAC;SACN,KAAK,CAAC,CAAC,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAChE,QAAQ,EAAE;IACb,KAAK,EAAE,uBAAc,CAAC,QAAQ,EAAE;IAChC,kBAAkB,EAAE,4BAAkB,CAAC,QAAQ,EAAE;IACjD,eAAe,EAAE,yCAAqB;CACvC,CAAC,CAAC"}
1
+ {"version":3,"file":"json-rpc.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/json-rpc.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qCAKkB;AAClB,uCAA+C;AAC/C,2DAA4D;AAE/C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAElC,QAAA,sBAAsB,GAAG,4BAAmB;KACtD,MAAM,CAAC;IACN,aAAa,EAAE,OAAC;SACb,OAAO,CAAC,4BAAoB,CAAC;SAC7B,OAAO,CAAC,4BAAoB,CAAC;IAChC,QAAQ,EAAE,uBAAc;IACxB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,qBAAqB;IACrB,MAAM,EAAE,OAAC;SACN,KAAK,CAAC,CAAC,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAChE,QAAQ,EAAE;IACb,KAAK,EAAE,uBAAc,CAAC,QAAQ,EAAE;IAChC,kBAAkB,EAAE,4BAAkB,CAAC,QAAQ,EAAE;IACjD,iBAAiB,EAAE,oCAA2B,CAAC,QAAQ,EAAE;IACzD,eAAe,EAAE,yCAAqB;CACvC,CAAC;KACD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;IACP,+EAA+E;IAC/E,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,EACD;IACE,OAAO,EACL,iEAAiE;IACnE,IAAI,EAAE,CAAC,mBAAmB,CAAC;CAC5B,CACF,CAAC"}
@@ -1,14 +1,12 @@
1
1
  import { z } from 'zod';
2
2
  export declare const JWT_PARAM_DEFAULT = ":jwtToken";
3
3
  export declare const JWTConditionType = "jwt";
4
- export declare const jwtConditionSchema: z.ZodObject<z.objectUtil.extendShape<{
5
- conditionType: z.ZodString;
6
- }, {
4
+ export declare const jwtConditionSchema: z.ZodObject<{} & {
7
5
  conditionType: z.ZodDefault<z.ZodLiteral<"jwt">>;
8
6
  publicKey: z.ZodString;
9
7
  expectedIssuer: z.ZodOptional<z.ZodString>;
10
8
  jwtToken: z.ZodDefault<z.ZodString>;
11
- }>, "strip", z.ZodTypeAny, {
9
+ }, "strip", z.ZodTypeAny, {
12
10
  conditionType: "jwt";
13
11
  publicKey: string;
14
12
  jwtToken: string;
@@ -1,29 +1,45 @@
1
1
  import { z } from 'zod';
2
- export declare const returnValueTestSchema: z.ZodObject<z.objectUtil.extendShape<{
2
+ export declare const returnValueTestSchema: z.ZodEffects<z.ZodObject<{
3
3
  index: z.ZodOptional<z.ZodNumber>;
4
- comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
5
- }, {
4
+ comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!=", "in", "!in"]>;
5
+ } & {
6
6
  value: z.ZodType<any, z.ZodTypeDef, any>;
7
- }>, "strip", z.ZodTypeAny, {
8
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
7
+ }, "strip", z.ZodTypeAny, {
8
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
9
+ value?: any;
10
+ index?: number | undefined;
11
+ }, {
12
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
13
+ value?: any;
14
+ index?: number | undefined;
15
+ }>, {
16
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
9
17
  value?: any;
10
18
  index?: number | undefined;
11
19
  }, {
12
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
20
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
13
21
  value?: any;
14
22
  index?: number | undefined;
15
23
  }>;
16
- export declare const blockchainReturnValueTestSchema: z.ZodObject<z.objectUtil.extendShape<{
24
+ export declare const blockchainReturnValueTestSchema: z.ZodEffects<z.ZodObject<{
17
25
  index: z.ZodOptional<z.ZodNumber>;
18
- comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
19
- }, {
26
+ comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!=", "in", "!in"]>;
27
+ } & {
20
28
  value: z.ZodType<any, z.ZodTypeDef, any>;
21
- }>, "strip", z.ZodTypeAny, {
22
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
29
+ }, "strip", z.ZodTypeAny, {
30
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
31
+ value?: any;
32
+ index?: number | undefined;
33
+ }, {
34
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
35
+ value?: any;
36
+ index?: number | undefined;
37
+ }>, {
38
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
23
39
  value?: any;
24
40
  index?: number | undefined;
25
41
  }, {
26
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
42
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
27
43
  value?: any;
28
44
  index?: number | undefined;
29
45
  }>;
@@ -5,12 +5,26 @@ const zod_1 = require("zod");
5
5
  const context_1 = require("./context");
6
6
  const returnValueTestBaseSchema = zod_1.z.object({
7
7
  index: zod_1.z.number().int().nonnegative().optional(),
8
- comparator: zod_1.z.enum(['==', '>', '<', '>=', '<=', '!=']),
8
+ comparator: zod_1.z.enum(['==', '>', '<', '>=', '<=', '!=', 'in', '!in']),
9
9
  });
10
- exports.returnValueTestSchema = returnValueTestBaseSchema.extend({
10
+ const requireNonEmptyArrayIfComparatorIsIn = (data) => {
11
+ if (data.comparator === 'in' || data.comparator === '!in') {
12
+ return Array.isArray(data.value) && data.value.length > 0;
13
+ }
14
+ return true;
15
+ };
16
+ const inComparatorErrorConfig = {
17
+ message: `"value" must be a non-empty array when comparator is "in"/"!in"`,
18
+ path: ['value'],
19
+ };
20
+ exports.returnValueTestSchema = returnValueTestBaseSchema
21
+ .extend({
11
22
  value: context_1.paramOrContextParamSchema,
12
- });
13
- exports.blockchainReturnValueTestSchema = returnValueTestBaseSchema.extend({
23
+ })
24
+ .refine(requireNonEmptyArrayIfComparatorIsIn, inComparatorErrorConfig);
25
+ exports.blockchainReturnValueTestSchema = returnValueTestBaseSchema
26
+ .extend({
14
27
  value: context_1.blockchainParamOrContextParamSchema,
15
- });
28
+ })
29
+ .refine(requireNonEmptyArrayIfComparatorIsIn, inComparatorErrorConfig);
16
30
  //# sourceMappingURL=return-value-test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"return-value-test.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/return-value-test.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,uCAGmB;AAEnB,MAAM,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAChD,UAAU,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;CACvD,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,yBAAyB,CAAC,MAAM,CAAC;IACpE,KAAK,EAAE,mCAAyB;CACjC,CAAC,CAAC;AAEU,QAAA,+BAA+B,GAAG,yBAAyB,CAAC,MAAM,CAC7E;IACE,KAAK,EAAE,6CAAmC;CAC3C,CACF,CAAC"}
1
+ {"version":3,"file":"return-value-test.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/return-value-test.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,uCAGmB;AAEnB,MAAM,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAChD,UAAU,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;CACpE,CAAC,CAAC;AAEH,MAAM,oCAAoC,GAAG,CAAC,IAI7C,EAAW,EAAE;IACZ,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,OAAO,EAAE,iEAAiE;IAC1E,IAAI,EAAE,CAAC,OAAO,CAAC;CAChB,CAAC;AAEW,QAAA,qBAAqB,GAAG,yBAAyB;KAC3D,MAAM,CAAC;IACN,KAAK,EAAE,mCAAyB;CACjC,CAAC;KACD,MAAM,CAAC,oCAAoC,EAAE,uBAAuB,CAAC,CAAC;AAE5D,QAAA,+BAA+B,GAAG,yBAAyB;KACrE,MAAM,CAAC;IACN,KAAK,EAAE,6CAAmC;CAC3C,CAAC;KACD,MAAM,CAAC,oCAAoC,EAAE,uBAAuB,CAAC,CAAC"}
@@ -1,33 +1,39 @@
1
1
  import { z } from 'zod';
2
2
  export declare const RpcConditionType = "rpc";
3
- export declare const rpcConditionSchema: z.ZodObject<z.objectUtil.extendShape<{
4
- conditionType: z.ZodString;
5
- }, {
3
+ export declare const rpcConditionSchema: z.ZodObject<{} & {
6
4
  conditionType: z.ZodDefault<z.ZodLiteral<"rpc">>;
7
5
  chain: z.ZodNumber;
8
6
  method: z.ZodEnum<["eth_getBalance"]>;
9
7
  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>]>;
10
- returnValueTest: z.ZodObject<z.objectUtil.extendShape<{
8
+ returnValueTest: z.ZodEffects<z.ZodObject<{
11
9
  index: z.ZodOptional<z.ZodNumber>;
12
- comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
13
- }, {
10
+ comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!=", "in", "!in"]>;
11
+ } & {
14
12
  value: z.ZodType<any, z.ZodTypeDef, any>;
15
- }>, "strip", z.ZodTypeAny, {
16
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
13
+ }, "strip", z.ZodTypeAny, {
14
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
15
+ value?: any;
16
+ index?: number | undefined;
17
+ }, {
18
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
19
+ value?: any;
20
+ index?: number | undefined;
21
+ }>, {
22
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
17
23
  value?: any;
18
24
  index?: number | undefined;
19
25
  }, {
20
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
26
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
21
27
  value?: any;
22
28
  index?: number | undefined;
23
29
  }>;
24
- }>, "strip", z.ZodTypeAny, {
30
+ }, "strip", z.ZodTypeAny, {
25
31
  conditionType: "rpc";
26
32
  chain: number;
27
33
  method: "eth_getBalance";
28
34
  parameters: [string, string | number] | [string];
29
35
  returnValueTest: {
30
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
36
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
31
37
  value?: any;
32
38
  index?: number | undefined;
33
39
  };
@@ -36,7 +42,7 @@ export declare const rpcConditionSchema: z.ZodObject<z.objectUtil.extendShape<{
36
42
  method: "eth_getBalance";
37
43
  parameters: [string, string | number] | [string];
38
44
  returnValueTest: {
39
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
45
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
40
46
  value?: any;
41
47
  index?: number | undefined;
42
48
  };
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ export declare const SIGNING_CONDITION_OBJECT_CONTEXT_VAR = ":signingConditionObject";
3
+ export declare const SigningObjectAttributeConditionType = "signing-attribute";
4
+ export declare const signingObjectAttributeConditionSchema: z.ZodSchema;
5
+ export type SigningObjectAttributeConditionProps = z.infer<typeof signingObjectAttributeConditionSchema>;
6
+ export declare const abiParameterValidationSchema: z.ZodSchema;
7
+ export type AbiParameterValidationProps = z.infer<typeof abiParameterValidationSchema>;
8
+ export declare const abiCallValidationSchema: z.ZodSchema;
9
+ export type AbiCallValidationProps = z.infer<typeof abiCallValidationSchema>;
10
+ export declare const SigningObjectAbiAttributeConditionType = "signing-abi-attribute";
11
+ export declare const signingObjectAbiAttributeConditionSchema: z.ZodSchema;
12
+ export type SigningObjectAbiAttributeConditionProps = z.infer<typeof signingObjectAbiAttributeConditionSchema>;
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signingObjectAbiAttributeConditionSchema = exports.SigningObjectAbiAttributeConditionType = exports.abiCallValidationSchema = exports.abiParameterValidationSchema = exports.signingObjectAttributeConditionSchema = exports.SigningObjectAttributeConditionType = exports.SIGNING_CONDITION_OBJECT_CONTEXT_VAR = void 0;
4
+ const utils_1 = require("ethers/lib/utils");
5
+ const zod_1 = require("zod");
6
+ const common_1 = require("./common");
7
+ const return_value_test_1 = require("./return-value-test");
8
+ exports.SIGNING_CONDITION_OBJECT_CONTEXT_VAR = ':signingConditionObject';
9
+ const signingConditionSchema = common_1.baseConditionSchema.extend({
10
+ signingObjectContextVar: zod_1.z
11
+ .literal(exports.SIGNING_CONDITION_OBJECT_CONTEXT_VAR)
12
+ .default(exports.SIGNING_CONDITION_OBJECT_CONTEXT_VAR)
13
+ .describe('The context variable that will be replaced with the signing object at signing'),
14
+ });
15
+ const baseSigningObjectAttributeConditionSchema = signingConditionSchema.extend({
16
+ attributeName: zod_1.z
17
+ .string()
18
+ .min(1)
19
+ .describe('The name of the attribute to check'),
20
+ });
21
+ exports.SigningObjectAttributeConditionType = 'signing-attribute';
22
+ exports.signingObjectAttributeConditionSchema = baseSigningObjectAttributeConditionSchema.extend({
23
+ conditionType: zod_1.z
24
+ .literal(exports.SigningObjectAttributeConditionType)
25
+ .default(exports.SigningObjectAttributeConditionType),
26
+ returnValueTest: return_value_test_1.blockchainReturnValueTestSchema,
27
+ });
28
+ exports.abiParameterValidationSchema = zod_1.z
29
+ .object({
30
+ parameterIndex: zod_1.z
31
+ .number()
32
+ .int()
33
+ .nonnegative()
34
+ .describe('Index of parameter to check within abi calldata.'),
35
+ indexWithinTuple: zod_1.z
36
+ .number()
37
+ .int()
38
+ .nonnegative()
39
+ .optional()
40
+ .describe('Index of value within tuple value at parameter index to check'),
41
+ returnValueTest: return_value_test_1.blockchainReturnValueTestSchema
42
+ .optional()
43
+ .describe('Comparison check for value within calldata'),
44
+ nestedAbiValidation: zod_1.z
45
+ .lazy(() => exports.abiCallValidationSchema)
46
+ .optional()
47
+ .describe('Additional checks for nested abi calldata'),
48
+ })
49
+ .refine(
50
+ // An XOR check to see if either 'returnValueTest' or 'nestedAbiValidation' is set
51
+ (parameterValidation) => Boolean(parameterValidation.returnValueTest) !==
52
+ Boolean(parameterValidation.nestedAbiValidation), {
53
+ message: "At most one of the fields 'returnValueTest' and 'nestedAbiValidation' must be defined",
54
+ path: ['returnValueTest'],
55
+ });
56
+ // TODO: is there something already built out there to validate Solidity types?
57
+ function generateSolidityBaseTypeRegExp() {
58
+ // Generate a regex pattern for Solidity base types
59
+ // Generate int/uint sizes (8, 16, ..., 256)
60
+ const intSizes = Array.from({ length: 32 }, (_, i) => (i + 1) * 8); // [8, 16, ..., 256]
61
+ const intSizePattern = intSizes.join('|');
62
+ // Generate bytes sizes (1, 2, ..., 32)
63
+ const bytesSizes = Array.from({ length: 32 }, (_, i) => i + 1); // [1, 2, ..., 32]
64
+ const bytesSizePattern = bytesSizes.join('|');
65
+ // Build the regex string
66
+ const baseTypes = [
67
+ `u?int(${intSizePattern})?`, // uint8, uint16, ..., uint256, int8, int16, ..., int256
68
+ `bytes(${bytesSizePattern})?`, // bytes1, bytes2, ..., bytes32
69
+ 'string',
70
+ 'address',
71
+ 'bool',
72
+ ].join('|');
73
+ return new RegExp(`^(${baseTypes})$`);
74
+ }
75
+ // YIKES!
76
+ const solidityBaseTypePattern = generateSolidityBaseTypeRegExp();
77
+ const isValidSolidityType = (param) => {
78
+ // Recursive check for valid Solidity types
79
+ if (!param.baseType || !param.baseType.trim()) {
80
+ return false; // empty type is not valid
81
+ }
82
+ // Check for arrays and tuples
83
+ if (param.baseType === 'tuple') {
84
+ if (!param.components || param.components.length === 0) {
85
+ return false; // tuples must have components defined
86
+ }
87
+ return param.components.every(isValidSolidityType);
88
+ }
89
+ else if (param.baseType === 'array') {
90
+ if (!param.arrayChildren) {
91
+ return false; // arrays must have children type defined
92
+ }
93
+ return isValidSolidityType(param.arrayChildren);
94
+ }
95
+ else {
96
+ return solidityBaseTypePattern.test(param.baseType);
97
+ }
98
+ };
99
+ // TODO; find a better way to validate the param type - incomplete best effort for now
100
+ const isValidHumanAbiCallSignature = (signature) => {
101
+ try {
102
+ // TODO: verify this works properly
103
+ const fragment = utils_1.FunctionFragment.from(signature);
104
+ for (const parameter of fragment.inputs) {
105
+ if (!isValidSolidityType(parameter)) {
106
+ return false; // invalid Solidity type
107
+ }
108
+ }
109
+ // ensure the same sighash format was provided
110
+ return fragment.format() === signature;
111
+ }
112
+ catch {
113
+ return false;
114
+ }
115
+ };
116
+ const humanAbiCallSignatureSchema = zod_1.z
117
+ .string()
118
+ .refine(isValidHumanAbiCallSignature, {
119
+ message: 'Invalid human readable ABI signature provided',
120
+ })
121
+ .describe('A human readable ABI signature, e.g. "transfer(address,uint256)"');
122
+ /**
123
+ * Validates the allowed ABI calls against the provided signature and validations.
124
+ * This function is used in the superRefine method of the abiCallValidationSchema.
125
+ *
126
+ * @param ctx - The Zod refinement context.
127
+ * @param signature - The ABI signature to validate against.
128
+ * @param validations - The array of validations for the ABI parameters.
129
+ */
130
+ function validateAllowedAbiCall(ctx, signature, validations) {
131
+ try {
132
+ const fragment = utils_1.FunctionFragment.from(signature);
133
+ for (const [index, validation] of validations.entries()) {
134
+ if (validation.parameterIndex >= fragment.inputs.length) {
135
+ // invalid parameter index
136
+ ctx.addIssue({
137
+ code: zod_1.z.ZodIssueCode.custom,
138
+ message: `Parameter index, "${validation.parameterIndex}", is out of range`,
139
+ path: ['allowedAbiCalls', signature, index, 'parameterIndex'],
140
+ });
141
+ }
142
+ if (validation.indexWithinTuple !== undefined) {
143
+ const paramType = fragment.inputs[validation.parameterIndex];
144
+ if (paramType.baseType !== 'tuple') {
145
+ // type at parameter index is not a tuple
146
+ ctx.addIssue({
147
+ code: zod_1.z.ZodIssueCode.custom,
148
+ message: `Type at parameter index, "${validation.parameterIndex}", is not a tuple`,
149
+ path: ['allowedAbiCalls', signature, index, 'parameterIndex'],
150
+ });
151
+ }
152
+ else if (validation.indexWithinTuple >= paramType.components.length) {
153
+ // invalid index within tuple
154
+ ctx.addIssue({
155
+ code: zod_1.z.ZodIssueCode.custom,
156
+ message: `Index within tuple, "${validation.indexWithinTuple}", is out of range`,
157
+ path: ['allowedAbiCalls', signature, index, 'indexWithinTuple'],
158
+ });
159
+ }
160
+ }
161
+ if (validation.nestedAbiValidation) {
162
+ // if there is nested ABI validation, the type must be bytes
163
+ let paramType = fragment.inputs[validation.parameterIndex];
164
+ if (validation.indexWithinTuple !== undefined) {
165
+ // if there is an index within tuple, get the type of the component at that index
166
+ paramType = paramType.components[validation.indexWithinTuple];
167
+ }
168
+ if (paramType.baseType !== 'bytes') {
169
+ ctx.addIssue({
170
+ code: zod_1.z.ZodIssueCode.custom,
171
+ message: `Invalid type for nested ABI validation, "${paramType.baseType}"; expected bytes`,
172
+ path: ['allowedAbiCalls', signature, index],
173
+ });
174
+ }
175
+ }
176
+ }
177
+ }
178
+ catch {
179
+ // even though abi signatures are already validated by nested schema - zod uses “greedy” (continuable) validation so all validations are run
180
+ // ignore invalid ABI signature
181
+ }
182
+ }
183
+ exports.abiCallValidationSchema = zod_1.z
184
+ .object({
185
+ allowedAbiCalls: zod_1.z.record(humanAbiCallSignatureSchema, zod_1.z.array(exports.abiParameterValidationSchema)),
186
+ })
187
+ .refine((abiCallValidation) => Object.keys(abiCallValidation.allowedAbiCalls).length > 0, {
188
+ message: 'At least one allowed ABI call must be defined',
189
+ path: ['allowedAbiCalls'],
190
+ })
191
+ .superRefine((data, ctx) => {
192
+ for (const [signature, validations] of Object.entries(data.allowedAbiCalls)) {
193
+ validateAllowedAbiCall(ctx, signature, validations);
194
+ }
195
+ })
196
+ .describe('A map of allowed ABI calls with their respective parameter validations.');
197
+ exports.SigningObjectAbiAttributeConditionType = 'signing-abi-attribute';
198
+ exports.signingObjectAbiAttributeConditionSchema = baseSigningObjectAttributeConditionSchema.extend({
199
+ conditionType: zod_1.z
200
+ .literal(exports.SigningObjectAbiAttributeConditionType)
201
+ .default(exports.SigningObjectAbiAttributeConditionType),
202
+ abiValidation: exports.abiCallValidationSchema,
203
+ });
204
+ //# sourceMappingURL=signing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signing.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/signing.ts"],"names":[],"mappings":"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"}
@@ -5,17 +5,25 @@ export declare const timeConditionSchema: z.ZodObject<{
5
5
  conditionType: z.ZodDefault<z.ZodLiteral<"time">>;
6
6
  method: z.ZodDefault<z.ZodLiteral<"blocktime">>;
7
7
  chain: z.ZodNumber;
8
- returnValueTest: z.ZodObject<z.objectUtil.extendShape<{
8
+ returnValueTest: z.ZodEffects<z.ZodObject<{
9
9
  index: z.ZodOptional<z.ZodNumber>;
10
- comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
11
- }, {
10
+ comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!=", "in", "!in"]>;
11
+ } & {
12
12
  value: z.ZodType<any, z.ZodTypeDef, any>;
13
- }>, "strip", z.ZodTypeAny, {
14
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
13
+ }, "strip", z.ZodTypeAny, {
14
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
15
+ value?: any;
16
+ index?: number | undefined;
17
+ }, {
18
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
19
+ value?: any;
20
+ index?: number | undefined;
21
+ }>, {
22
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
15
23
  value?: any;
16
24
  index?: number | undefined;
17
25
  }, {
18
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
26
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
19
27
  value?: any;
20
28
  index?: number | undefined;
21
29
  }>;
@@ -24,14 +32,14 @@ export declare const timeConditionSchema: z.ZodObject<{
24
32
  chain: number;
25
33
  method: "blocktime";
26
34
  returnValueTest: {
27
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
35
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
28
36
  value?: any;
29
37
  index?: number | undefined;
30
38
  };
31
39
  }, {
32
40
  chain: number;
33
41
  returnValueTest: {
34
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
42
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
35
43
  value?: any;
36
44
  index?: number | undefined;
37
45
  };