@nucypher/taco 0.6.0-alpha.1 → 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 (82) 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 -51
  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 -52
  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
  71. package/dist/cjs/conditions/context/providers.d.ts +0 -16
  72. package/dist/cjs/conditions/context/providers.js +0 -111
  73. package/dist/cjs/conditions/context/providers.js.map +0 -1
  74. package/dist/cjs/web3.d.ts +0 -33
  75. package/dist/cjs/web3.js +0 -3
  76. package/dist/cjs/web3.js.map +0 -1
  77. package/dist/es/conditions/context/providers.d.ts +0 -16
  78. package/dist/es/conditions/context/providers.js +0 -107
  79. package/dist/es/conditions/context/providers.js.map +0 -1
  80. package/dist/es/web3.d.ts +0 -33
  81. package/dist/es/web3.js +0 -2
  82. package/dist/es/web3.js.map +0 -1
@@ -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,10 +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';
7
- import { JsonApiConditionType } from '../schemas/json-api';
5
+ import { CONTEXT_PARAM_FULL_MATCH_REGEXP, CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP, USER_ADDRESS_PARAMS, } from '../const';
8
6
  const ERR_RESERVED_PARAM = (key) => `Cannot use reserved parameter name ${key} as custom parameter`;
9
7
  const ERR_INVALID_CUSTOM_PARAM = (key) => `Custom parameter ${key} must start with ${CONTEXT_PARAM_PREFIX}`;
10
8
  const ERR_AUTH_PROVIDER_REQUIRED = (key) => `No matching authentication provider to satisfy ${key} context variable in condition`;
@@ -87,62 +85,59 @@ export class ConditionContext {
87
85
  static isContextParameter(param) {
88
86
  return !!String(param).match(CONTEXT_PARAM_FULL_MATCH_REGEXP);
89
87
  }
90
- static findContextParameters(condition) {
91
- // First, we want to find all the parameters we need to add
92
- const requestedParameters = new Set();
93
- // Check return value test
94
- if (condition.returnValueTest) {
95
- const rvt = condition.returnValueTest.value;
96
- // Return value test can be a single parameter or an array of parameters
97
- if (Array.isArray(rvt)) {
98
- rvt.forEach((value) => {
99
- if (ConditionContext.isContextParameter(value)) {
100
- requestedParameters.add(value);
101
- }
102
- });
103
- }
104
- else if (ConditionContext.isContextParameter(rvt)) {
105
- requestedParameters.add(rvt);
106
- }
107
- else {
108
- // Not a context parameter, we can skip
109
- }
110
- }
111
- // Check condition parameters
112
- for (const param of condition.parameters ?? []) {
113
- if (this.isContextParameter(param)) {
114
- requestedParameters.add(param);
115
- }
88
+ static findContextParameter(value) {
89
+ const includedContextVars = new Set();
90
+ // value not set
91
+ if (!value) {
92
+ return includedContextVars;
116
93
  }
117
- // If it's a compound condition, check operands
118
- if (condition.conditionType === CompoundConditionType) {
119
- for (const key in condition.operands) {
120
- const innerParams = this.findContextParameters(condition.operands[key]);
121
- for (const param of innerParams) {
122
- requestedParameters.add(param);
123
- }
94
+ if (typeof value === 'string') {
95
+ if (this.isContextParameter(value)) {
96
+ // entire string is context parameter
97
+ includedContextVars.add(String(value));
124
98
  }
125
- }
126
- // If it's a JSON API condition, check url and query
127
- if (condition.conditionType === JsonApiConditionType) {
128
- const urlComponents = condition.endpoint.replace("https://", "").split("/");
129
- for (const param of urlComponents ?? []) {
130
- if (this.isContextParameter(param)) {
131
- requestedParameters.add(param);
132
- }
133
- }
134
- if (condition.query) {
135
- const queryParams = condition.query.match(":[a-zA-Z_]*");
136
- if (queryParams) {
137
- for (const param of queryParams) {
138
- requestedParameters.add(param);
99
+ else {
100
+ // context var could be substring; find all matches
101
+ const contextVarMatches = value.match(
102
+ // RegExp with 'g' is stateful, so new instance needed every time
103
+ new RegExp(CONTEXT_PARAM_REGEXP.source, 'g'));
104
+ if (contextVarMatches) {
105
+ for (const match of contextVarMatches) {
106
+ includedContextVars.add(match);
139
107
  }
140
108
  }
141
109
  }
142
- if (this.isContextParameter(condition.authorizationToken)) {
143
- requestedParameters.add(condition.authorizationToken);
110
+ }
111
+ else if (Array.isArray(value)) {
112
+ // array
113
+ value.forEach((subValue) => {
114
+ const contextVarsForValue = this.findContextParameter(subValue);
115
+ contextVarsForValue.forEach((contextVar) => {
116
+ includedContextVars.add(contextVar);
117
+ });
118
+ });
119
+ }
120
+ else if (typeof value === 'object') {
121
+ // dictionary (Record<string, T> - complex object eg. Condition, ConditionVariable, ReturnValueTest etc.)
122
+ for (const [, entry] of Object.entries(value)) {
123
+ const contextVarsForValue = this.findContextParameter(entry);
124
+ contextVarsForValue.forEach((contextVar) => {
125
+ includedContextVars.add(contextVar);
126
+ });
144
127
  }
145
128
  }
129
+ return includedContextVars;
130
+ }
131
+ static findContextParameters(condition) {
132
+ // find all the context variables we need
133
+ const requestedParameters = new Set();
134
+ // iterate through all properties in ConditionProps
135
+ const properties = Object.keys(condition);
136
+ properties.forEach((prop) => {
137
+ this.findContextParameter(condition[prop]).forEach((contextVar) => {
138
+ requestedParameters.add(contextVar);
139
+ });
140
+ });
146
141
  return requestedParameters;
147
142
  }
148
143
  addCustomContextParameterValues(customContextParameters) {
@@ -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>;