@nucypher/taco 0.6.0-alpha.0 → 0.6.0-alpha.2

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 (70) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/conditions/base/index.d.ts +1 -0
  3. package/dist/cjs/conditions/base/index.js +2 -1
  4. package/dist/cjs/conditions/base/index.js.map +1 -1
  5. package/dist/cjs/conditions/base/json-api.d.ts +1 -1
  6. package/dist/cjs/conditions/base/json-api.js +1 -2
  7. package/dist/cjs/conditions/base/json-api.js.map +1 -1
  8. package/dist/cjs/conditions/base/json-rpc.d.ts +7 -0
  9. package/dist/cjs/conditions/base/json-rpc.js +18 -0
  10. package/dist/cjs/conditions/base/json-rpc.js.map +1 -0
  11. package/dist/cjs/conditions/condition-factory.js +3 -0
  12. package/dist/cjs/conditions/condition-factory.js.map +1 -1
  13. package/dist/cjs/conditions/const.d.ts +0 -2
  14. package/dist/cjs/conditions/const.js +1 -8
  15. package/dist/cjs/conditions/const.js.map +1 -1
  16. package/dist/cjs/conditions/context/context.d.ts +1 -0
  17. package/dist/cjs/conditions/context/context.js +46 -30
  18. package/dist/cjs/conditions/context/context.js.map +1 -1
  19. package/dist/cjs/conditions/schemas/common.d.ts +2 -0
  20. package/dist/cjs/conditions/schemas/common.js +31 -1
  21. package/dist/cjs/conditions/schemas/common.js.map +1 -1
  22. package/dist/cjs/conditions/schemas/contract.d.ts +13 -13
  23. package/dist/cjs/conditions/schemas/json-api.d.ts +1 -2
  24. package/dist/cjs/conditions/schemas/json-api.js +5 -25
  25. package/dist/cjs/conditions/schemas/json-api.js.map +1 -1
  26. package/dist/cjs/conditions/schemas/json-rpc.d.ts +48 -0
  27. package/dist/cjs/conditions/schemas/json-rpc.js +21 -0
  28. package/dist/cjs/conditions/schemas/json-rpc.js.map +1 -0
  29. package/dist/cjs/conditions/schemas/rpc.d.ts +7 -7
  30. package/dist/cjs/conditions/schemas/rpc.js +2 -26
  31. package/dist/cjs/conditions/schemas/rpc.js.map +1 -1
  32. package/dist/cjs/conditions/schemas/time.d.ts +4 -4
  33. package/dist/cjs/conditions/schemas/utils.js +2 -0
  34. package/dist/cjs/conditions/schemas/utils.js.map +1 -1
  35. package/dist/es/conditions/base/index.d.ts +1 -0
  36. package/dist/es/conditions/base/index.js +1 -0
  37. package/dist/es/conditions/base/index.js.map +1 -1
  38. package/dist/es/conditions/base/json-api.d.ts +1 -1
  39. package/dist/es/conditions/base/json-api.js +1 -1
  40. package/dist/es/conditions/base/json-api.js.map +1 -1
  41. package/dist/es/conditions/base/json-rpc.d.ts +7 -0
  42. package/dist/es/conditions/base/json-rpc.js +12 -0
  43. package/dist/es/conditions/base/json-rpc.js.map +1 -0
  44. package/dist/es/conditions/condition-factory.js +3 -0
  45. package/dist/es/conditions/condition-factory.js.map +1 -1
  46. package/dist/es/conditions/const.d.ts +0 -2
  47. package/dist/es/conditions/const.js +0 -7
  48. package/dist/es/conditions/const.js.map +1 -1
  49. package/dist/es/conditions/context/context.d.ts +1 -0
  50. package/dist/es/conditions/context/context.js +47 -31
  51. package/dist/es/conditions/context/context.js.map +1 -1
  52. package/dist/es/conditions/schemas/common.d.ts +2 -0
  53. package/dist/es/conditions/schemas/common.js +31 -1
  54. package/dist/es/conditions/schemas/common.js.map +1 -1
  55. package/dist/es/conditions/schemas/contract.d.ts +13 -13
  56. package/dist/es/conditions/schemas/json-api.d.ts +1 -2
  57. package/dist/es/conditions/schemas/json-api.js +3 -23
  58. package/dist/es/conditions/schemas/json-api.js.map +1 -1
  59. package/dist/es/conditions/schemas/json-rpc.d.ts +48 -0
  60. package/dist/es/conditions/schemas/json-rpc.js +18 -0
  61. package/dist/es/conditions/schemas/json-rpc.js.map +1 -0
  62. package/dist/es/conditions/schemas/rpc.d.ts +7 -7
  63. package/dist/es/conditions/schemas/rpc.js +2 -3
  64. package/dist/es/conditions/schemas/rpc.js.map +1 -1
  65. package/dist/es/conditions/schemas/time.d.ts +4 -4
  66. package/dist/es/conditions/schemas/utils.js +2 -0
  67. package/dist/es/conditions/schemas/utils.js.map +1 -1
  68. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  69. package/dist/tsconfig.es.tsbuildinfo +1 -1
  70. package/package.json +3 -3
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  export declare const RpcConditionType = "rpc";
3
3
  export declare const rpcConditionSchema: z.ZodObject<{
4
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>[]]>;
5
+ chain: z.ZodNumber;
6
6
  method: z.ZodEnum<["eth_getBalance"]>;
7
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
8
  returnValueTest: z.ZodObject<{
@@ -20,23 +20,23 @@ export declare const rpcConditionSchema: z.ZodObject<{
20
20
  }>;
21
21
  }, "strip", z.ZodTypeAny, {
22
22
  conditionType: "rpc";
23
- parameters: [string] | [string, string | number];
23
+ method: "eth_getBalance";
24
24
  returnValueTest: {
25
25
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
26
26
  index?: number | undefined;
27
27
  value?: any;
28
28
  };
29
- method: "eth_getBalance";
30
- chain?: z.Primitive;
31
- }, {
32
29
  parameters: [string] | [string, string | number];
30
+ chain: number;
31
+ }, {
32
+ method: "eth_getBalance";
33
33
  returnValueTest: {
34
34
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
35
35
  index?: number | undefined;
36
36
  value?: any;
37
37
  };
38
- method: "eth_getBalance";
38
+ parameters: [string] | [string, string | number];
39
+ chain: number;
39
40
  conditionType?: "rpc" | undefined;
40
- chain?: z.Primitive;
41
41
  }>;
42
42
  export type RpcConditionProps = z.infer<typeof rpcConditionSchema>;
@@ -1,33 +1,9 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.rpcConditionSchema = exports.RpcConditionType = void 0;
27
4
  const shared_1 = require("@nucypher/shared");
28
5
  const zod_1 = require("zod");
29
- const const_1 = require("../const");
30
- const common_1 = __importStar(require("./common"));
6
+ const common_1 = require("./common");
31
7
  const context_1 = require("./context");
32
8
  const return_value_test_1 = require("./return-value-test");
33
9
  exports.RpcConditionType = 'rpc';
@@ -45,7 +21,7 @@ const BlockOrContextParamSchema = zod_1.z.union([
45
21
  // - web3py: https://web3py.readthedocs.io/en/stable/web3.eth.html#web3.eth.Eth.get_balance
46
22
  exports.rpcConditionSchema = common_1.baseConditionSchema.extend({
47
23
  conditionType: zod_1.z.literal(exports.RpcConditionType).default(exports.RpcConditionType),
48
- chain: (0, common_1.default)(const_1.SUPPORTED_CHAIN_IDS),
24
+ chain: zod_1.z.number().int().nonnegative(),
49
25
  method: zod_1.z.enum(['eth_getBalance']),
50
26
  parameters: zod_1.z.union([
51
27
  // Spec requires 2 parameters: an address and a block identifier
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/rpc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA2E;AAC3E,6BAAwB;AAExB,oCAA+C;AAE/C,mDAGkB;AAClB,uCAA+C;AAC/C,2DAA4D;AAE/C,QAAA,gBAAgB,GAAG,KAAK,CAAC;AAEtC,MAAM,iCAAiC,GAAG,OAAC,CAAC,KAAK,CAAC;IAChD,yBAAgB;IAChB,0BAAiB;IACjB,4BAAkB;CACnB,CAAC,CAAC;AACH,MAAM,yBAAyB,GAAG,OAAC,CAAC,KAAK,CAAC;IACxC,8BAAqB;IACrB,4BAAkB;CACnB,CAAC,CAAC;AAEH,sCAAsC;AACtC,gFAAgF;AAChF,2FAA2F;AAC9E,QAAA,kBAAkB,GAAG,4BAAmB,CAAC,MAAM,CAAC;IAC3D,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,wBAAgB,CAAC,CAAC,OAAO,CAAC,wBAAgB,CAAC;IACpE,KAAK,EAAE,IAAA,gBAAiB,EAAC,2BAAmB,CAAC;IAC7C,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAClC,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC;QAClB,gEAAgE;QAChE,OAAC,CAAC,KAAK,CAAC,CAAC,iCAAiC,EAAE,yBAAyB,CAAC,CAAC;QACvE,sGAAsG;QACtG,OAAC,CAAC,KAAK,CAAC,CAAC,iCAAiC,CAAC,CAAC;KAC7C,CAAC;IACF,eAAe,EAAE,yCAAqB,EAAE,2EAA2E;CACpH,CAAC,CAAC"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/rpc.ts"],"names":[],"mappings":";;;AAAA,6CAA2E;AAC3E,6BAAwB;AAExB,qCAAkE;AAClE,uCAA+C;AAC/C,2DAA4D;AAE/C,QAAA,gBAAgB,GAAG,KAAK,CAAC;AAEtC,MAAM,iCAAiC,GAAG,OAAC,CAAC,KAAK,CAAC;IAChD,yBAAgB;IAChB,0BAAiB;IACjB,4BAAkB;CACnB,CAAC,CAAC;AACH,MAAM,yBAAyB,GAAG,OAAC,CAAC,KAAK,CAAC;IACxC,8BAAqB;IACrB,4BAAkB;CACnB,CAAC,CAAC;AAEH,sCAAsC;AACtC,gFAAgF;AAChF,2FAA2F;AAC9E,QAAA,kBAAkB,GAAG,4BAAmB,CAAC,MAAM,CAAC;IAC3D,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,wBAAgB,CAAC,CAAC,OAAO,CAAC,wBAAgB,CAAC;IACpE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAClC,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC;QAClB,gEAAgE;QAChE,OAAC,CAAC,KAAK,CAAC,CAAC,iCAAiC,EAAE,yBAAyB,CAAC,CAAC;QACvE,sGAAsG;QACtG,OAAC,CAAC,KAAK,CAAC,CAAC,iCAAiC,CAAC,CAAC;KAC7C,CAAC;IACF,eAAe,EAAE,yCAAqB,EAAE,2EAA2E;CACpH,CAAC,CAAC"}
@@ -4,7 +4,7 @@ export declare const TimeConditionMethod = "blocktime";
4
4
  export declare const timeConditionSchema: z.ZodObject<{
5
5
  conditionType: z.ZodDefault<z.ZodLiteral<"time">>;
6
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>[]]>;
7
+ chain: z.ZodNumber;
8
8
  returnValueTest: z.ZodObject<{
9
9
  index: z.ZodOptional<z.ZodNumber>;
10
10
  comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
@@ -20,21 +20,21 @@ export declare const timeConditionSchema: z.ZodObject<{
20
20
  }>;
21
21
  }, "strip", z.ZodTypeAny, {
22
22
  conditionType: "time";
23
+ method: "blocktime";
23
24
  returnValueTest: {
24
25
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
25
26
  index?: number | undefined;
26
27
  value?: any;
27
28
  };
28
- method: "blocktime";
29
- chain?: z.Primitive;
29
+ chain: number;
30
30
  }, {
31
31
  returnValueTest: {
32
32
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
33
33
  index?: number | undefined;
34
34
  value?: any;
35
35
  };
36
+ chain: number;
36
37
  conditionType?: "time" | undefined;
37
38
  method?: "blocktime" | undefined;
38
- chain?: z.Primitive;
39
39
  }>;
40
40
  export type TimeConditionProps = z.infer<typeof timeConditionSchema>;
@@ -6,6 +6,7 @@ const compound_condition_1 = require("../compound-condition");
6
6
  const contract_1 = require("./contract");
7
7
  const if_then_else_1 = require("./if-then-else");
8
8
  const json_api_1 = require("./json-api");
9
+ const json_rpc_1 = require("./json-rpc");
9
10
  const rpc_1 = require("./rpc");
10
11
  const sequential_1 = require("./sequential");
11
12
  const time_1 = require("./time");
@@ -15,6 +16,7 @@ exports.anyConditionSchema = zod_1.z.lazy(() => zod_1.z.union([
15
16
  contract_1.contractConditionSchema,
16
17
  compound_condition_1.compoundConditionSchema,
17
18
  json_api_1.jsonApiConditionSchema,
19
+ json_rpc_1.jsonRpcConditionSchema,
18
20
  sequential_1.sequentialConditionSchema,
19
21
  if_then_else_1.ifThenElseConditionSchema,
20
22
  ]));
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/utils.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,8DAAgE;AAEhE,yCAAqD;AACrD,iDAA2D;AAC3D,yCAAoD;AACpD,+BAA2C;AAC3C,6CAAyD;AACzD,iCAA6C;AAEhC,QAAA,kBAAkB,GAAgB,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACzD,OAAC,CAAC,KAAK,CAAC;IACN,wBAAkB;IAClB,0BAAmB;IACnB,kCAAuB;IACvB,4CAAuB;IACvB,iCAAsB;IACtB,sCAAyB;IACzB,wCAAyB;CAC1B,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/utils.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,8DAAgE;AAEhE,yCAAqD;AACrD,iDAA2D;AAC3D,yCAAoD;AACpD,yCAAoD;AACpD,+BAA2C;AAC3C,6CAAyD;AACzD,iCAA6C;AAEhC,QAAA,kBAAkB,GAAgB,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACzD,OAAC,CAAC,KAAK,CAAC;IACN,wBAAkB;IAClB,0BAAmB;IACnB,kCAAuB;IACvB,4CAAuB;IACvB,iCAAsB;IACtB,iCAAsB;IACtB,sCAAyB;IACzB,wCAAyB;CAC1B,CAAC,CACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * as contract from './contract';
2
2
  export * as jsonApi from './json-api';
3
+ export * as jsonRpc from './json-rpc';
3
4
  export * as rpc from './rpc';
4
5
  export * as time from './time';
@@ -2,6 +2,7 @@
2
2
  // avoid circular dependency on Condition class.
3
3
  export * as contract from './contract';
4
4
  export * as jsonApi from './json-api';
5
+ export * as jsonRpc from './json-rpc';
5
6
  export * as rpc from './rpc';
6
7
  export * as time from './time';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/conditions/base/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,gDAAgD;AAEhD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/conditions/base/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,gDAAgD;AAEhD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Condition } from '../condition';
2
2
  import { JsonApiConditionProps } from '../schemas/json-api';
3
3
  import { OmitConditionType } from '../shared';
4
- export { JsonApiConditionProps, jsonApiConditionSchema, JsonApiConditionType, jsonPathSchema, } from '../schemas/json-api';
4
+ export { JsonApiConditionProps, jsonApiConditionSchema, JsonApiConditionType, } from '../schemas/json-api';
5
5
  export declare class JsonApiCondition extends Condition {
6
6
  constructor(value: OmitConditionType<JsonApiConditionProps>);
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import { Condition } from '../condition';
2
2
  import { jsonApiConditionSchema, JsonApiConditionType, } from '../schemas/json-api';
3
- export { jsonApiConditionSchema, JsonApiConditionType, jsonPathSchema, } from '../schemas/json-api';
3
+ export { jsonApiConditionSchema, JsonApiConditionType, } from '../schemas/json-api';
4
4
  export class JsonApiCondition extends Condition {
5
5
  constructor(value) {
6
6
  super(jsonApiConditionSchema, {
@@ -1 +1 @@
1
- {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,KAA+C;QACzD,KAAK,CAAC,sBAAsB,EAAE;YAC5B,aAAa,EAAE,oBAAoB;YACnC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,KAA+C;QACzD,KAAK,CAAC,sBAAsB,EAAE;YAC5B,aAAa,EAAE,oBAAoB;YACnC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ import { Condition } from '../condition';
2
+ import { JsonRpcConditionProps } from '../schemas/json-rpc';
3
+ import { OmitConditionType } from '../shared';
4
+ export { JsonRpcConditionProps, jsonRpcConditionSchema, JsonRpcConditionType, } from '../schemas/json-rpc';
5
+ export declare class JsonRpcCondition extends Condition {
6
+ constructor(value: OmitConditionType<JsonRpcConditionProps>);
7
+ }
@@ -0,0 +1,12 @@
1
+ import { Condition } from '../condition';
2
+ import { jsonRpcConditionSchema, JsonRpcConditionType, } from '../schemas/json-rpc';
3
+ export { jsonRpcConditionSchema, JsonRpcConditionType, } from '../schemas/json-rpc';
4
+ export class JsonRpcCondition extends Condition {
5
+ constructor(value) {
6
+ super(jsonRpcConditionSchema, {
7
+ conditionType: JsonRpcConditionType,
8
+ ...value,
9
+ });
10
+ }
11
+ }
12
+ //# sourceMappingURL=json-rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-rpc.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,KAA+C;QACzD,KAAK,CAAC,sBAAsB,EAAE;YAC5B,aAAa,EAAE,oBAAoB;YACnC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import { ContractCondition, ContractConditionType, } from './base/contract';
2
2
  import { JsonApiCondition, JsonApiConditionType, } from './base/json-api';
3
+ import { JsonRpcCondition, JsonRpcConditionType, } from './base/json-rpc';
3
4
  import { RpcCondition, RpcConditionType } from './base/rpc';
4
5
  import { TimeCondition, TimeConditionType, } from './base/time';
5
6
  import { CompoundCondition, CompoundConditionType, } from './compound-condition';
@@ -18,6 +19,8 @@ export class ConditionFactory {
18
19
  return new ContractCondition(props);
19
20
  case JsonApiConditionType:
20
21
  return new JsonApiCondition(props);
22
+ case JsonRpcConditionType:
23
+ return new JsonRpcCondition(props);
21
24
  // Logical Conditions
22
25
  case CompoundConditionType:
23
26
  return new CompoundCondition(props);
@@ -1 +1 @@
1
- {"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAEhB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EACL,aAAa,EAEb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAM,OAAO,gBAAgB;IACpB,MAAM,CAAC,kBAAkB,CAAC,KAAqB;QACpD,QAAQ,KAAK,CAAC,aAAa,EAAE,CAAC;YAC5B,kBAAkB;YAClB,KAAK,gBAAgB;gBACnB,OAAO,IAAI,YAAY,CAAC,KAA0B,CAAC,CAAC;YACtD,KAAK,iBAAiB;gBACpB,OAAO,IAAI,aAAa,CAAC,KAA2B,CAAC,CAAC;YACxD,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,oBAAoB;gBACvB,OAAO,IAAI,gBAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,qBAAqB;YACrB,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAEhB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAEhB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EACL,aAAa,EAEb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAM,OAAO,gBAAgB;IACpB,MAAM,CAAC,kBAAkB,CAAC,KAAqB;QACpD,QAAQ,KAAK,CAAC,aAAa,EAAE,CAAC;YAC5B,kBAAkB;YAClB,KAAK,gBAAgB;gBACnB,OAAO,IAAI,YAAY,CAAC,KAA0B,CAAC,CAAC;YACtD,KAAK,iBAAiB;gBACpB,OAAO,IAAI,aAAa,CAAC,KAA2B,CAAC,CAAC;YACxD,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,oBAAoB;gBACvB,OAAO,IAAI,gBAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,KAAK,oBAAoB;gBACvB,OAAO,IAAI,gBAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,qBAAqB;YACrB,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,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,4 +1,3 @@
1
- import { ChainId } from '@nucypher/shared';
2
1
  import { USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
3
2
  // Only allow alphanumeric characters and underscores
4
3
  const contextParamRegexString = ':[a-zA-Z_][a-zA-Z0-9_]*';
@@ -6,12 +5,6 @@ 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
9
  USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
17
10
  // Ordering matters, this should always be last
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAE7B,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,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mCAAmC;IACnC,+CAA+C;IAC/C,0BAA0B;CAC3B,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAE7B,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,mCAAmC;IACnC,+CAA+C;IAC/C,0BAA0B;CAC3B,CAAC"}
@@ -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,9 +1,8 @@
1
1
  import { toJSON } from '@nucypher/shared';
2
2
  import { EIP4361AuthProvider, SingleSignOnEIP4361AuthProvider, USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
3
3
  import { CoreConditions, CoreContext } from '../../types';
4
- import { CompoundConditionType } from '../compound-condition';
5
4
  import { ConditionExpression } from '../condition-expr';
6
- import { CONTEXT_PARAM_FULL_MATCH_REGEXP, CONTEXT_PARAM_PREFIX, USER_ADDRESS_PARAMS, } from '../const';
5
+ import { CONTEXT_PARAM_FULL_MATCH_REGEXP, CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP, USER_ADDRESS_PARAMS, } from '../const';
7
6
  const ERR_RESERVED_PARAM = (key) => `Cannot use reserved parameter name ${key} as custom parameter`;
8
7
  const ERR_INVALID_CUSTOM_PARAM = (key) => `Custom parameter ${key} must start with ${CONTEXT_PARAM_PREFIX}`;
9
8
  const ERR_AUTH_PROVIDER_REQUIRED = (key) => `No matching authentication provider to satisfy ${key} context variable in condition`;
@@ -86,42 +85,59 @@ export class ConditionContext {
86
85
  static isContextParameter(param) {
87
86
  return !!String(param).match(CONTEXT_PARAM_FULL_MATCH_REGEXP);
88
87
  }
89
- static findContextParameters(condition) {
90
- // First, we want to find all the parameters we need to add
91
- const requestedParameters = new Set();
92
- // Check return value test
93
- if (condition.returnValueTest) {
94
- const rvt = condition.returnValueTest.value;
95
- // Return value test can be a single parameter or an array of parameters
96
- if (Array.isArray(rvt)) {
97
- rvt.forEach((value) => {
98
- if (ConditionContext.isContextParameter(value)) {
99
- requestedParameters.add(value);
100
- }
101
- });
102
- }
103
- else if (ConditionContext.isContextParameter(rvt)) {
104
- requestedParameters.add(rvt);
88
+ static findContextParameter(value) {
89
+ const includedContextVars = new Set();
90
+ // value not set
91
+ if (!value) {
92
+ return includedContextVars;
93
+ }
94
+ if (typeof value === 'string') {
95
+ if (this.isContextParameter(value)) {
96
+ // entire string is context parameter
97
+ includedContextVars.add(String(value));
105
98
  }
106
99
  else {
107
- // Not a context parameter, we can skip
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);
107
+ }
108
+ }
108
109
  }
109
110
  }
110
- // Check condition parameters
111
- for (const param of condition.parameters ?? []) {
112
- if (this.isContextParameter(param)) {
113
- requestedParameters.add(param);
114
- }
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
+ });
115
119
  }
116
- // If it's a compound condition, check operands
117
- if (condition.conditionType === CompoundConditionType) {
118
- for (const key in condition.operands) {
119
- const innerParams = this.findContextParameters(condition.operands[key]);
120
- for (const param of innerParams) {
121
- requestedParameters.add(param);
122
- }
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
+ });
123
127
  }
124
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
+ });
125
141
  return requestedParameters;
126
142
  }
127
143
  addCustomContextParameterValues(customContextParameters) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"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"}
@@ -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,6 +1,7 @@
1
+ import { JSONPath } from '@astronautlabs/jsonpath';
1
2
  import { USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } 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
7
  export const plainStringSchema = z.string().refine((str) => {
@@ -30,4 +31,33 @@ function createUnionSchema(values) {
30
31
  return createUnion(values);
31
32
  }
32
33
  export default createUnionSchema;
34
+ const validateJSONPath = (jsonPath) => {
35
+ // account for embedded context variables
36
+ if (CONTEXT_PARAM_REGEXP.test(jsonPath)) {
37
+ // skip validation
38
+ return true;
39
+ }
40
+ try {
41
+ JSONPath.parse(jsonPath);
42
+ return true;
43
+ }
44
+ catch (error) {
45
+ return false;
46
+ }
47
+ };
48
+ export const jsonPathSchema = z
49
+ .string()
50
+ .refine((val) => validateJSONPath(val), {
51
+ message: 'Invalid JSONPath expression',
52
+ });
53
+ const validateHttpsURL = (url) => {
54
+ return URL.canParse(url) && url.startsWith('https://');
55
+ };
56
+ // Use our own URL refinement check due to https://github.com/colinhacks/zod/issues/2236
57
+ export const httpsURLSchema = z
58
+ .string()
59
+ .url()
60
+ .refine((url) => validateHttpsURL(url), {
61
+ message: 'Invalid URL',
62
+ });
33
63
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAa,CAAC,EAAc,MAAM,KAAK,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,kEAAkE;AAClE,mDAAmD;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,EAAE;IACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC/C,CAAC,EACD;IACE,OAAO,EAAE,+DAA+D,oBAAoB,GAAG;CAChG,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,0BAA0B;IAC1B,mCAAmC;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,WAAW,GAAG,CAGlB,MAAS,EACT,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAIzD,CAAC;IACF,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,SAAS,iBAAiB,CAAiC,MAAS;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,WAAW,CAChB,MAAqE,CACtE,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAa,CAAC,EAAc,MAAM,KAAK,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEtE,kEAAkE;AAClE,mDAAmD;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,EAAE;IACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC/C,CAAC,EACD;IACE,OAAO,EAAE,+DAA+D,oBAAoB,GAAG;CAChG,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,0BAA0B;IAC1B,mCAAmC;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,WAAW,GAAG,CAGlB,MAAS,EACT,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAIzD,CAAC;IACF,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,SAAS,iBAAiB,CAAiC,MAAS;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,WAAW,CAChB,MAAqE,CACtE,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC;AAEjC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAW,EAAE;IACrD,yCAAyC;IACzC,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,kBAAkB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;IACtC,OAAO,EAAE,6BAA6B;CACvC,CAAC,CAAC;AAEL,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAW,EAAE;IAChD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,wFAAwF;AACxF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,EAAE;KACL,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;IACtC,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC"}
@@ -154,7 +154,7 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
154
154
  index?: number | undefined;
155
155
  value?: any;
156
156
  }>;
157
- chain: z.ZodNever | z.ZodLiteral<z.Primitive> | z.ZodUnion<[z.ZodLiteral<z.Primitive>, z.ZodLiteral<z.Primitive>, ...z.ZodLiteral<z.Primitive>[]]>;
157
+ chain: z.ZodNumber;
158
158
  conditionType: z.ZodDefault<z.ZodLiteral<"contract">>;
159
159
  contractAddress: z.ZodEffects<z.ZodString, string, string>;
160
160
  standardContractType: z.ZodOptional<z.ZodEnum<["ERC20", "ERC721"]>>;
@@ -301,15 +301,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
301
301
  parameters: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
302
302
  }, "strip", z.ZodTypeAny, {
303
303
  conditionType: "contract";
304
- parameters: any[];
304
+ method: string;
305
305
  returnValueTest: {
306
306
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
307
307
  index?: number | undefined;
308
308
  value?: any;
309
309
  };
310
- method: string;
310
+ parameters: any[];
311
+ chain: number;
311
312
  contractAddress: string;
312
- chain?: z.Primitive;
313
313
  standardContractType?: "ERC20" | "ERC721" | undefined;
314
314
  functionAbi?: {
315
315
  type: "function";
@@ -331,15 +331,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
331
331
  stateMutability: "view" | "pure";
332
332
  } | undefined;
333
333
  }, {
334
- parameters: any[];
334
+ method: string;
335
335
  returnValueTest: {
336
336
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
337
337
  index?: number | undefined;
338
338
  value?: any;
339
339
  };
340
- method: string;
340
+ parameters: any[];
341
+ chain: number;
341
342
  contractAddress: string;
342
- chain?: z.Primitive;
343
343
  conditionType?: "contract" | undefined;
344
344
  standardContractType?: "ERC20" | "ERC721" | undefined;
345
345
  functionAbi?: {
@@ -363,15 +363,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
363
363
  } | undefined;
364
364
  }>, {
365
365
  conditionType: "contract";
366
- parameters: any[];
366
+ method: string;
367
367
  returnValueTest: {
368
368
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
369
369
  index?: number | undefined;
370
370
  value?: any;
371
371
  };
372
- method: string;
372
+ parameters: any[];
373
+ chain: number;
373
374
  contractAddress: string;
374
- chain?: z.Primitive;
375
375
  standardContractType?: "ERC20" | "ERC721" | undefined;
376
376
  functionAbi?: {
377
377
  type: "function";
@@ -393,15 +393,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
393
393
  stateMutability: "view" | "pure";
394
394
  } | undefined;
395
395
  }, {
396
- parameters: any[];
396
+ method: string;
397
397
  returnValueTest: {
398
398
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
399
399
  index?: number | undefined;
400
400
  value?: any;
401
401
  };
402
- method: string;
402
+ parameters: any[];
403
+ chain: number;
403
404
  contractAddress: string;
404
- chain?: z.Primitive;
405
405
  conditionType?: "contract" | undefined;
406
406
  standardContractType?: "ERC20" | "ERC721" | undefined;
407
407
  functionAbi?: {
@@ -1,9 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  export declare const JsonApiConditionType = "json-api";
3
- export declare const jsonPathSchema: z.ZodEffects<z.ZodString, string, string>;
4
3
  export declare const jsonApiConditionSchema: z.ZodObject<{
5
4
  conditionType: z.ZodDefault<z.ZodLiteral<"json-api">>;
6
- endpoint: z.ZodString;
5
+ endpoint: z.ZodEffects<z.ZodString, string, string>;
7
6
  parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
8
7
  query: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
9
8
  authorizationToken: z.ZodOptional<z.ZodString>;
@@ -1,31 +1,11 @@
1
- import { JSONPath } from '@astronautlabs/jsonpath';
2
1
  import { z } from 'zod';
3
- import { CONTEXT_PARAM_REGEXP } from '../const';
2
+ import { baseConditionSchema, httpsURLSchema, jsonPathSchema } from './common';
4
3
  import { contextParamSchema } from './context';
5
4
  import { returnValueTestSchema } from './return-value-test';
6
5
  export const JsonApiConditionType = 'json-api';
7
- const validateJSONPath = (jsonPath) => {
8
- // account for embedded context variables
9
- if (CONTEXT_PARAM_REGEXP.test(jsonPath)) {
10
- // skip validation
11
- return true;
12
- }
13
- try {
14
- JSONPath.parse(jsonPath);
15
- return true;
16
- }
17
- catch (error) {
18
- return false;
19
- }
20
- };
21
- export const jsonPathSchema = z
22
- .string()
23
- .refine((val) => validateJSONPath(val), {
24
- message: 'Invalid JSONPath expression',
25
- });
26
- export const jsonApiConditionSchema = z.object({
6
+ export const jsonApiConditionSchema = baseConditionSchema.extend({
27
7
  conditionType: z.literal(JsonApiConditionType).default(JsonApiConditionType),
28
- endpoint: z.string().url(),
8
+ endpoint: httpsURLSchema,
29
9
  parameters: z.record(z.string(), z.unknown()).optional(),
30
10
  query: jsonPathSchema.optional(),
31
11
  authorizationToken: contextParamSchema.optional(),