@nucypher/taco 0.1.0-rc.5 → 0.1.0-rc.7

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 (114) hide show
  1. package/README.md +63 -1
  2. package/dist/cjs/conditions/base/contract.d.ts +17 -12
  3. package/dist/cjs/conditions/base/contract.js +17 -3
  4. package/dist/cjs/conditions/base/contract.js.map +1 -1
  5. package/dist/cjs/conditions/base/index.d.ts +3 -21
  6. package/dist/cjs/conditions/base/index.js +27 -37
  7. package/dist/cjs/conditions/base/index.js.map +1 -1
  8. package/dist/cjs/conditions/base/rpc.d.ts +16 -11
  9. package/dist/cjs/conditions/base/rpc.js +16 -6
  10. package/dist/cjs/conditions/base/rpc.js.map +1 -1
  11. package/dist/cjs/conditions/base/time.d.ts +10 -5
  12. package/dist/cjs/conditions/base/time.js +11 -1
  13. package/dist/cjs/conditions/base/time.js.map +1 -1
  14. package/dist/cjs/conditions/compound-condition.d.ts +10 -0
  15. package/dist/cjs/conditions/compound-condition.js +52 -5
  16. package/dist/cjs/conditions/compound-condition.js.map +1 -1
  17. package/dist/cjs/conditions/condition-expr.js +2 -2
  18. package/dist/cjs/conditions/condition-expr.js.map +1 -1
  19. package/dist/cjs/conditions/condition-factory.d.ts +4 -0
  20. package/dist/cjs/conditions/condition-factory.js +26 -0
  21. package/dist/cjs/conditions/condition-factory.js.map +1 -0
  22. package/dist/cjs/conditions/condition.d.ts +0 -1
  23. package/dist/cjs/conditions/condition.js +0 -22
  24. package/dist/cjs/conditions/condition.js.map +1 -1
  25. package/dist/cjs/conditions/const.d.ts +3 -0
  26. package/dist/cjs/conditions/const.js +6 -1
  27. package/dist/cjs/conditions/const.js.map +1 -1
  28. package/dist/cjs/conditions/context/context.d.ts +0 -2
  29. package/dist/cjs/conditions/context/context.js +8 -11
  30. package/dist/cjs/conditions/context/context.js.map +1 -1
  31. package/dist/cjs/conditions/index.d.ts +5 -6
  32. package/dist/cjs/conditions/index.js +7 -14
  33. package/dist/cjs/conditions/index.js.map +1 -1
  34. package/dist/cjs/conditions/predefined/erc721.d.ts +2 -2
  35. package/dist/cjs/conditions/predefined/erc721.js +5 -11
  36. package/dist/cjs/conditions/predefined/erc721.js.map +1 -1
  37. package/dist/cjs/conditions/predefined/index.d.ts +1 -1
  38. package/dist/cjs/conditions/predefined/index.js +25 -4
  39. package/dist/cjs/conditions/predefined/index.js.map +1 -1
  40. package/dist/cjs/conditions/{base/shared.d.ts → shared.d.ts} +7 -3
  41. package/dist/cjs/conditions/shared.js +31 -0
  42. package/dist/cjs/conditions/shared.js.map +1 -0
  43. package/dist/cjs/dkg.d.ts +1 -1
  44. package/dist/cjs/dkg.js +6 -4
  45. package/dist/cjs/dkg.js.map +1 -1
  46. package/dist/cjs/index.d.ts +1 -1
  47. package/dist/cjs/index.js +3 -3
  48. package/dist/cjs/index.js.map +1 -1
  49. package/dist/cjs/taco.d.ts +70 -1
  50. package/dist/cjs/taco.js +72 -4
  51. package/dist/cjs/taco.js.map +1 -1
  52. package/dist/cjs/tdec.d.ts +2 -1
  53. package/dist/cjs/tdec.js +6 -4
  54. package/dist/cjs/tdec.js.map +1 -1
  55. package/dist/es/conditions/base/contract.d.ts +17 -12
  56. package/dist/es/conditions/base/contract.js +15 -2
  57. package/dist/es/conditions/base/contract.js.map +1 -1
  58. package/dist/es/conditions/base/index.d.ts +3 -21
  59. package/dist/es/conditions/base/index.js +3 -28
  60. package/dist/es/conditions/base/index.js.map +1 -1
  61. package/dist/es/conditions/base/rpc.d.ts +16 -11
  62. package/dist/es/conditions/base/rpc.js +14 -5
  63. package/dist/es/conditions/base/rpc.js.map +1 -1
  64. package/dist/es/conditions/base/time.d.ts +10 -5
  65. package/dist/es/conditions/base/time.js +9 -0
  66. package/dist/es/conditions/base/time.js.map +1 -1
  67. package/dist/es/conditions/compound-condition.d.ts +10 -0
  68. package/dist/es/conditions/compound-condition.js +50 -4
  69. package/dist/es/conditions/compound-condition.js.map +1 -1
  70. package/dist/es/conditions/condition-expr.js +2 -2
  71. package/dist/es/conditions/condition-expr.js.map +1 -1
  72. package/dist/es/conditions/condition-factory.d.ts +4 -0
  73. package/dist/es/conditions/condition-factory.js +22 -0
  74. package/dist/es/conditions/condition-factory.js.map +1 -0
  75. package/dist/es/conditions/condition.d.ts +0 -1
  76. package/dist/es/conditions/condition.js +0 -22
  77. package/dist/es/conditions/condition.js.map +1 -1
  78. package/dist/es/conditions/const.d.ts +3 -0
  79. package/dist/es/conditions/const.js +5 -0
  80. package/dist/es/conditions/const.js.map +1 -1
  81. package/dist/es/conditions/context/context.d.ts +0 -2
  82. package/dist/es/conditions/context/context.js +4 -7
  83. package/dist/es/conditions/context/context.js.map +1 -1
  84. package/dist/es/conditions/index.d.ts +5 -6
  85. package/dist/es/conditions/index.js +5 -6
  86. package/dist/es/conditions/index.js.map +1 -1
  87. package/dist/es/conditions/predefined/erc721.d.ts +2 -2
  88. package/dist/es/conditions/predefined/erc721.js +1 -7
  89. package/dist/es/conditions/predefined/erc721.js.map +1 -1
  90. package/dist/es/conditions/predefined/index.d.ts +1 -1
  91. package/dist/es/conditions/predefined/index.js +1 -1
  92. package/dist/es/conditions/predefined/index.js.map +1 -1
  93. package/dist/es/conditions/{base/shared.d.ts → shared.d.ts} +7 -3
  94. package/dist/es/conditions/shared.js +28 -0
  95. package/dist/es/conditions/shared.js.map +1 -0
  96. package/dist/es/dkg.d.ts +1 -1
  97. package/dist/es/dkg.js +6 -4
  98. package/dist/es/dkg.js.map +1 -1
  99. package/dist/es/index.d.ts +1 -1
  100. package/dist/es/index.js +1 -1
  101. package/dist/es/index.js.map +1 -1
  102. package/dist/es/taco.d.ts +70 -1
  103. package/dist/es/taco.js +71 -3
  104. package/dist/es/taco.js.map +1 -1
  105. package/dist/es/tdec.d.ts +2 -1
  106. package/dist/es/tdec.js +5 -3
  107. package/dist/es/tdec.js.map +1 -1
  108. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  109. package/dist/tsconfig.es.tsbuildinfo +1 -1
  110. package/package.json +7 -6
  111. package/dist/cjs/conditions/base/shared.js +0 -17
  112. package/dist/cjs/conditions/base/shared.js.map +0 -1
  113. package/dist/es/conditions/base/shared.js +0 -14
  114. package/dist/es/conditions/base/shared.js.map +0 -1
@@ -1,4 +1,6 @@
1
1
  import { z } from 'zod';
2
+ import { Condition } from '../condition';
3
+ import { OmitConditionType } from '../shared';
2
4
  export declare const TimeConditionType = "time";
3
5
  export declare const TimeConditionMethod = "blocktime";
4
6
  export declare const timeConditionSchema: z.ZodObject<{
@@ -8,15 +10,15 @@ export declare const timeConditionSchema: z.ZodObject<{
8
10
  returnValueTest: z.ZodObject<{
9
11
  index: z.ZodOptional<z.ZodNumber>;
10
12
  comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
11
- value: z.ZodUnknown;
13
+ value: z.ZodType<any, z.ZodTypeDef, any>;
12
14
  }, "strip", z.ZodTypeAny, {
13
15
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
14
16
  index?: number | undefined;
15
- value?: unknown;
17
+ value?: any;
16
18
  }, {
17
19
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
18
20
  index?: number | undefined;
19
- value?: unknown;
21
+ value?: any;
20
22
  }>;
21
23
  }, "strip", z.ZodTypeAny, {
22
24
  conditionType: "time";
@@ -24,17 +26,20 @@ export declare const timeConditionSchema: z.ZodObject<{
24
26
  returnValueTest: {
25
27
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
26
28
  index?: number | undefined;
27
- value?: unknown;
29
+ value?: any;
28
30
  };
29
31
  chain?: z.Primitive;
30
32
  }, {
31
33
  returnValueTest: {
32
34
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
33
35
  index?: number | undefined;
34
- value?: unknown;
36
+ value?: any;
35
37
  };
36
38
  conditionType?: "time" | undefined;
37
39
  method?: "blocktime" | undefined;
38
40
  chain?: z.Primitive;
39
41
  }>;
40
42
  export type TimeConditionProps = z.infer<typeof timeConditionSchema>;
43
+ export declare class TimeCondition extends Condition {
44
+ constructor(value: OmitConditionType<TimeConditionProps>);
45
+ }
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { Condition } from '../condition';
2
3
  import { rpcConditionSchema } from './rpc';
3
4
  // TimeCondition is an RpcCondition with the method set to 'blocktime' and no parameters
4
5
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -10,4 +11,12 @@ export const timeConditionSchema = z.object({
10
11
  conditionType: z.literal(TimeConditionType).default(TimeConditionType),
11
12
  method: z.literal(TimeConditionMethod).default(TimeConditionMethod),
12
13
  });
14
+ export class TimeCondition extends Condition {
15
+ constructor(value) {
16
+ super(timeConditionSchema, {
17
+ conditionType: TimeConditionType,
18
+ ...value,
19
+ });
20
+ }
21
+ }
13
22
  //# sourceMappingURL=time.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/conditions/base/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,wFAAwF;AACxF,6DAA6D;AAC7D,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,SAAS;IACZ,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACtE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;CACpE,CAAC,CAAC"}
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/conditions/base/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,wFAAwF;AACxF,6DAA6D;AAC7D,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,SAAS;IACZ,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACtE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;CACpE,CAAC,CAAC;AAIH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,KAA4C;QACtD,KAAK,CAAC,mBAAmB,EAAE;YACzB,aAAa,EAAE,iBAAiB;YAChC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,4 +1,14 @@
1
1
  import { z } from 'zod';
2
+ import { Condition, ConditionProps } from './condition';
3
+ import { OmitConditionType } from './shared';
2
4
  export declare const CompoundConditionType = "compound";
3
5
  export declare const compoundConditionSchema: z.ZodSchema;
4
6
  export type CompoundConditionProps = z.infer<typeof compoundConditionSchema>;
7
+ export type ConditionOrProps = Condition | ConditionProps;
8
+ export declare class CompoundCondition extends Condition {
9
+ constructor(value: OmitConditionType<CompoundConditionProps>);
10
+ private static withOperator;
11
+ static or(conditions: ConditionOrProps[]): CompoundCondition;
12
+ static and(conditions: ConditionOrProps[]): CompoundCondition;
13
+ static not(condition: ConditionOrProps): CompoundCondition;
14
+ }
@@ -2,12 +2,14 @@ import { z } from 'zod';
2
2
  import { contractConditionSchema } from './base/contract';
3
3
  import { rpcConditionSchema } from './base/rpc';
4
4
  import { timeConditionSchema } from './base/time';
5
+ import { Condition } from './condition';
5
6
  export const CompoundConditionType = 'compound';
6
- export const compoundConditionSchema = z.object({
7
+ export const compoundConditionSchema = z
8
+ .object({
7
9
  conditionType: z
8
10
  .literal(CompoundConditionType)
9
11
  .default(CompoundConditionType),
10
- operator: z.enum(['and', 'or']),
12
+ operator: z.enum(['and', 'or', 'not']),
11
13
  operands: z
12
14
  .array(z.lazy(() => z.union([
13
15
  rpcConditionSchema,
@@ -15,6 +17,50 @@ export const compoundConditionSchema = z.object({
15
17
  contractConditionSchema,
16
18
  compoundConditionSchema,
17
19
  ])))
18
- .min(2),
19
- });
20
+ .min(1),
21
+ })
22
+ .refine((condition) => {
23
+ // 'and' and 'or' operators must have at least 2 operands
24
+ if (['and', 'or'].includes(condition.operator)) {
25
+ return condition.operands.length >= 2;
26
+ }
27
+ // 'not' operator must have exactly 1 operand
28
+ if (condition.operator === 'not') {
29
+ return condition.operands.length === 1;
30
+ }
31
+ // We test positive cases exhaustively, so we return false here:
32
+ return false;
33
+ }, ({ operands, operator }) => ({
34
+ message: `Invalid number of operands ${operands.length} for operator "${operator}"`,
35
+ path: ['operands'],
36
+ }));
37
+ export class CompoundCondition extends Condition {
38
+ constructor(value) {
39
+ super(compoundConditionSchema, {
40
+ conditionType: CompoundConditionType,
41
+ ...value,
42
+ });
43
+ }
44
+ static withOperator(operands, operator) {
45
+ const asObjects = operands.map((operand) => {
46
+ if (operand instanceof Condition) {
47
+ return operand.toObj();
48
+ }
49
+ return operand;
50
+ });
51
+ return new CompoundCondition({
52
+ operator,
53
+ operands: asObjects,
54
+ });
55
+ }
56
+ static or(conditions) {
57
+ return CompoundCondition.withOperator(conditions, 'or');
58
+ }
59
+ static and(conditions) {
60
+ return CompoundCondition.withOperator(conditions, 'and');
61
+ }
62
+ static not(condition) {
63
+ return CompoundCondition.withOperator([condition], 'not');
64
+ }
65
+ }
20
66
  //# sourceMappingURL=compound-condition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compound-condition.js","sourceRoot":"","sources":["../../../src/conditions/compound-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAgB,CAAC,CAAC,MAAM,CAAC;IAC3D,aAAa,EAAE,CAAC;SACb,OAAO,CAAC,qBAAqB,CAAC;SAC9B,OAAO,CAAC,qBAAqB,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/B,QAAQ,EAAE,CAAC;SACR,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACV,CAAC,CAAC,KAAK,CAAC;QACN,kBAAkB;QAClB,mBAAmB;QACnB,uBAAuB;QACvB,uBAAuB;KACxB,CAAC,CACH,CACF;SACA,GAAG,CAAC,CAAC,CAAC;CACV,CAAC,CAAC"}
1
+ {"version":3,"file":"compound-condition.js","sourceRoot":"","sources":["../../../src/conditions/compound-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAGxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAgB,CAAC;KAClD,MAAM,CAAC;IACN,aAAa,EAAE,CAAC;SACb,OAAO,CAAC,qBAAqB,CAAC;SAC9B,OAAO,CAAC,qBAAqB,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,QAAQ,EAAE,CAAC;SACR,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACV,CAAC,CAAC,KAAK,CAAC;QACN,kBAAkB;QAClB,mBAAmB;QACnB,uBAAuB;QACvB,uBAAuB;KACxB,CAAC,CACH,CACF;SACA,GAAG,CAAC,CAAC,CAAC;CACV,CAAC;KACD,MAAM,CACL,CAAC,SAAS,EAAE,EAAE;IACZ,yDAAyD;IACzD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;QAC9C,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;KACvC;IAED,6CAA6C;IAC7C,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;QAChC,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;KACxC;IAED,gEAAgE;IAChE,OAAO,KAAK,CAAC;AACf,CAAC,EACD,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE,8BAA8B,QAAQ,CAAC,MAAM,kBAAkB,QAAQ,GAAG;IACnF,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC,CACH,CAAC;AAMJ,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC9C,YAAY,KAAgD;QAC1D,KAAK,CAAC,uBAAuB,EAAE;YAC7B,aAAa,EAAE,qBAAqB;YACpC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,YAAY,CACzB,QAA4B,EAC5B,QAA8B;QAE9B,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACzC,IAAI,OAAO,YAAY,SAAS,EAAE;gBAChC,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;aACxB;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,iBAAiB,CAAC;YAC3B,QAAQ;YACR,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,EAAE,CAAC,UAA8B;QAC7C,OAAO,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,UAA8B;QAC9C,OAAO,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,SAA2B;QAC3C,OAAO,iBAAiB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { Conditions as WASMConditions } from '@nucypher/nucypher-core';
2
2
  import { toJSON } from '@nucypher/shared';
3
3
  import { SemVer } from 'semver';
4
- import { Condition } from './condition';
4
+ import { ConditionFactory } from './condition-factory';
5
5
  import { ConditionContext } from './context';
6
6
  const ERR_VERSION = (provided, current) => `Version provided, ${provided}, is incompatible with current version, ${current}`;
7
7
  const ERR_CONDITION = (condition) => `Invalid condition: unrecognized condition data ${JSON.stringify(condition)}`;
@@ -29,7 +29,7 @@ export class ConditionExpression {
29
29
  if (!obj.condition) {
30
30
  throw new Error(ERR_CONDITION(obj.condition));
31
31
  }
32
- const condition = Condition.fromObj(obj.condition);
32
+ const condition = ConditionFactory.conditionFromProps(obj.condition);
33
33
  return new ConditionExpression(condition, obj.version);
34
34
  }
35
35
  toJson() {
@@ -1 +1 @@
1
- {"version":3,"file":"condition-expr.js","sourceRoot":"","sources":["../../../src/conditions/condition-expr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"condition-expr.js","sourceRoot":"","sources":["../../../src/conditions/condition-expr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Condition, ConditionProps } from './condition';
2
+ export declare class ConditionFactory {
3
+ static conditionFromProps(props: ConditionProps): Condition;
4
+ }
@@ -0,0 +1,22 @@
1
+ import { ContractCondition, ContractConditionType, } from './base/contract';
2
+ import { RpcCondition, RpcConditionType } from './base/rpc';
3
+ import { TimeCondition, TimeConditionType, } from './base/time';
4
+ import { CompoundCondition, CompoundConditionType, } from './compound-condition';
5
+ const ERR_INVALID_CONDITION_TYPE = (type) => `Invalid condition type: ${type}`;
6
+ export class ConditionFactory {
7
+ static conditionFromProps(props) {
8
+ switch (props.conditionType) {
9
+ case RpcConditionType:
10
+ return new RpcCondition(props);
11
+ case TimeConditionType:
12
+ return new TimeCondition(props);
13
+ case ContractConditionType:
14
+ return new ContractCondition(props);
15
+ case CompoundConditionType:
16
+ return new CompoundCondition(props);
17
+ default:
18
+ throw new Error(ERR_INVALID_CONDITION_TYPE(props.conditionType));
19
+ }
20
+ }
21
+ }
22
+ //# sourceMappingURL=condition-factory.js.map
@@ -0,0 +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,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;AAG9B,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;YAC3B,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,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;SACpE;IACH,CAAC;CACF"}
@@ -11,7 +11,6 @@ export declare class Condition {
11
11
  };
12
12
  requiresSigner(): boolean;
13
13
  toObj(): any;
14
- static fromObj(obj: ConditionProps): Condition;
15
14
  equals(other: Condition): boolean;
16
15
  }
17
16
  export {};
@@ -1,25 +1,6 @@
1
1
  import { objectEquals } from '@nucypher/shared';
2
- import { CompoundCondition, ContractCondition, ContractConditionType, RpcCondition, RpcConditionType, TimeCondition, TimeConditionType, } from './base';
3
- import { CompoundConditionType, } from './compound-condition';
4
2
  import { USER_ADDRESS_PARAM } from './const';
5
3
  const ERR_INVALID_CONDITION = (error) => `Invalid condition: ${JSON.stringify(error.issues)}`;
6
- const ERR_INVALID_CONDITION_TYPE = (type) => `Invalid condition type: ${type}`;
7
- class ConditionFactory {
8
- static conditionFromProps(obj) {
9
- switch (obj.conditionType) {
10
- case RpcConditionType:
11
- return new RpcCondition(obj);
12
- case TimeConditionType:
13
- return new TimeCondition(obj);
14
- case ContractConditionType:
15
- return new ContractCondition(obj);
16
- case CompoundConditionType:
17
- return new CompoundCondition(obj);
18
- default:
19
- throw new Error(ERR_INVALID_CONDITION_TYPE(obj.conditionType));
20
- }
21
- }
22
- }
23
4
  export class Condition {
24
5
  schema;
25
6
  value;
@@ -49,9 +30,6 @@ export class Condition {
49
30
  }
50
31
  return data;
51
32
  }
52
- static fromObj(obj) {
53
- return ConditionFactory.conditionFromProps(obj);
54
- }
55
33
  equals(other) {
56
34
  return objectEquals(this.toObj(), other.toObj());
57
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAEjB,qBAAqB,EACrB,YAAY,EAEZ,gBAAgB,EAChB,aAAa,EAEb,iBAAiB,GAClB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAEL,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAK7C,MAAM,qBAAqB,GAAG,CAAC,KAAiB,EAAE,EAAE,CAClD,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AACvD,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAM,gBAAgB;IACb,MAAM,CAAC,kBAAkB,CAAC,GAAmB;QAClD,QAAQ,GAAG,CAAC,aAAa,EAAE;YACzB,KAAK,gBAAgB;gBACnB,OAAO,IAAI,YAAY,CAAC,GAAwB,CAAC,CAAC;YACpD,KAAK,iBAAiB;gBACpB,OAAO,IAAI,aAAa,CAAC,GAAyB,CAAC,CAAC;YACtD,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,GAA6B,CAAC,CAAC;YAC9D,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,GAA6B,CAAC,CAAC;YAC9D;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;SAClE;IACH,CAAC;CACF;AAED,MAAM,OAAO,SAAS;IAEF;IACA;IAFlB,YACkB,MAAuB,EACvB,KAAqB;QADrB,WAAM,GAAN,MAAM,CAAiB;QACvB,UAAK,GAAL,KAAK,CAAgB;QAErC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,MAAuB,EACvB,KAAqB;QAKrB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;SAC9B;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK;QACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,GAAmB;QACvC,OAAO,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM,CAAC,KAAgB;QAC5B,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAK7C,MAAM,qBAAqB,GAAG,CAAC,KAAiB,EAAE,EAAE,CAClD,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAEvD,MAAM,OAAO,SAAS;IAEF;IACA;IAFlB,YACkB,MAAuB,EACvB,KAAqB;QADrB,WAAM,GAAN,MAAM,CAAiB;QACvB,UAAK,GAAL,KAAK,CAAgB;QAErC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,MAAuB,EACvB,KAAqB;QAKrB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;SAC9B;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK;QACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,KAAgB;QAC5B,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -1,4 +1,7 @@
1
1
  import { ChainId } from '@nucypher/shared';
2
2
  export declare const USER_ADDRESS_PARAM = ":userAddress";
3
3
  export declare const ETH_ADDRESS_REGEXP: RegExp;
4
+ export declare const CONTEXT_PARAM_REGEXP: RegExp;
5
+ export declare const CONTEXT_PARAM_PREFIX = ":";
4
6
  export declare const SUPPORTED_CHAIN_IDS: ChainId[];
7
+ export declare const RESERVED_CONTEXT_PARAMS: string[];
@@ -1,10 +1,15 @@
1
1
  import { ChainId } from '@nucypher/shared';
2
2
  export const USER_ADDRESS_PARAM = ':userAddress';
3
3
  export const ETH_ADDRESS_REGEXP = new RegExp('^0x[a-fA-F0-9]{40}$');
4
+ // Only allow alphanumeric characters and underscores
5
+ export const CONTEXT_PARAM_REGEXP = new RegExp('^:[a-zA-Z_][a-zA-Z0-9_]*$');
6
+ export const CONTEXT_PARAM_PREFIX = ':';
4
7
  export const SUPPORTED_CHAIN_IDS = [
5
8
  ChainId.POLYGON,
6
9
  ChainId.MUMBAI,
7
10
  ChainId.GOERLI,
11
+ ChainId.SEPOLIA,
8
12
  ChainId.ETHEREUM_MAINNET,
9
13
  ];
14
+ export const RESERVED_CONTEXT_PARAMS = [USER_ADDRESS_PARAM];
10
15
  //# sourceMappingURL=const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,gBAAgB;CACzB,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEpE,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,kBAAkB,CAAC,CAAC"}
@@ -4,8 +4,6 @@ import { Condition } from '../condition';
4
4
  import { TypedSignature } from './providers';
5
5
  export type CustomContextParam = string | number | boolean;
6
6
  export type ContextParam = CustomContextParam | TypedSignature;
7
- export declare const RESERVED_CONTEXT_PARAMS: string[];
8
- export declare const CONTEXT_PARAM_PREFIX = ":";
9
7
  export declare class ConditionContext {
10
8
  private readonly provider;
11
9
  private readonly condition;
@@ -2,10 +2,8 @@ import { Context, Conditions as WASMConditions } from '@nucypher/nucypher-core';
2
2
  import { fromJSON, toJSON } from '@nucypher/shared';
3
3
  import { CompoundConditionType } from '../compound-condition';
4
4
  import { ConditionExpression } from '../condition-expr';
5
- import { USER_ADDRESS_PARAM } from '../const';
5
+ import { CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP, RESERVED_CONTEXT_PARAMS, USER_ADDRESS_PARAM, } from '../const';
6
6
  import { WalletAuthenticationProvider } from './providers';
7
- export const RESERVED_CONTEXT_PARAMS = [USER_ADDRESS_PARAM];
8
- export const CONTEXT_PARAM_PREFIX = ':';
9
7
  const ERR_RESERVED_PARAM = (key) => `Cannot use reserved parameter name ${key} as custom parameter`;
10
8
  const ERR_INVALID_CUSTOM_PARAM = (key) => `Custom parameter ${key} must start with ${CONTEXT_PARAM_PREFIX}`;
11
9
  const ERR_SIGNER_REQUIRED = `Signer required to satisfy ${USER_ADDRESS_PARAM} context variable in condition`;
@@ -47,7 +45,7 @@ export class ConditionContext {
47
45
  const parameters = await this.fillContextParameters(requestedParameters);
48
46
  // Ok, so at this point we should have all the parameters we need
49
47
  // If we don't, we have a problem and we should throw
50
- const missingParameters = Array.from(requestedParameters).filter((key) => !parameters[key]);
48
+ const missingParameters = Array.from(requestedParameters).filter((key) => parameters[key] === undefined);
51
49
  if (missingParameters.length > 0) {
52
50
  throw new Error(ERR_MISSING_CONTEXT_PARAMS(missingParameters));
53
51
  }
@@ -78,7 +76,7 @@ export class ConditionContext {
78
76
  return parameters;
79
77
  }
80
78
  isContextParameter(param) {
81
- return typeof param === 'string' && param.startsWith(CONTEXT_PARAM_PREFIX);
79
+ return !!String(param).match(CONTEXT_PARAM_REGEXP);
82
80
  }
83
81
  findRequestedParameters(condition) {
84
82
  // First, we want to find all the parameters we need to add
@@ -120,8 +118,7 @@ export class ConditionContext {
120
118
  return new Context(asJson);
121
119
  }
122
120
  static fromConditions(provider, conditions, signer, customParameters) {
123
- const innerCondition = ConditionExpression.fromWASMConditions(conditions).condition;
124
- return new ConditionContext(provider, innerCondition, customParameters, signer);
121
+ return new ConditionContext(provider, ConditionExpression.fromWASMConditions(conditions).condition, customParameters, signer);
125
122
  }
126
123
  }
127
124
  //# sourceMappingURL=context.js.map
@@ -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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"}
@@ -1,9 +1,8 @@
1
1
  import * as base from './base';
2
2
  import * as predefined from './predefined';
3
- export * from './base';
4
- export * from './predefined';
5
- export { CompoundConditionProps, CompoundConditionType, } from './compound-condition';
6
- export { Condition, ConditionProps } from './condition';
7
- export { ConditionExpression, ConditionExpressionJSON } from './condition-expr';
8
- export { ConditionContext, CustomContextParam } from './context';
3
+ export * as compound from './compound-condition';
4
+ export * as condition from './condition';
5
+ export * as conditionExpr from './condition-expr';
6
+ export { ConditionFactory } from './condition-factory';
7
+ export * as context from './context';
9
8
  export { base, predefined };
@@ -1,10 +1,9 @@
1
1
  import * as base from './base';
2
2
  import * as predefined from './predefined';
3
- export * from './base';
4
- export * from './predefined';
5
- export { CompoundConditionType, } from './compound-condition';
6
- export { Condition } from './condition';
7
- export { ConditionExpression } from './condition-expr';
8
- export { ConditionContext } from './context';
3
+ export * as compound from './compound-condition';
4
+ export * as condition from './condition';
5
+ export * as conditionExpr from './condition-expr';
6
+ export { ConditionFactory } from './condition-factory';
7
+ export * as context from './context';
9
8
  export { base, predefined };
10
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/conditions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAE7B,OAAO,EAEL,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAA2B,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAsB,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/conditions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC"}
@@ -1,9 +1,9 @@
1
- import { ContractCondition, ContractConditionProps } from '../base';
1
+ import { ContractCondition, ContractConditionProps } from '../base/contract';
2
2
  type ERC721OwnershipFields = 'contractAddress' | 'chain' | 'parameters';
3
3
  export declare class ERC721Ownership extends ContractCondition {
4
4
  constructor(value: Pick<ContractConditionProps, ERC721OwnershipFields>);
5
5
  }
6
- type ERC721BalanceFields = 'contractAddress' | 'chain';
6
+ type ERC721BalanceFields = 'contractAddress' | 'chain' | 'returnValueTest';
7
7
  export declare class ERC721Balance extends ContractCondition {
8
8
  constructor(value: Pick<ContractConditionProps, ERC721BalanceFields>);
9
9
  }
@@ -1,11 +1,10 @@
1
- import { ContractCondition, ContractConditionType, } from '../base';
1
+ import { ContractCondition, ContractConditionType, } from '../base/contract';
2
2
  import { USER_ADDRESS_PARAM } from '../const';
3
3
  const ERC721OwnershipDefaults = {
4
4
  conditionType: ContractConditionType,
5
5
  method: 'ownerOf',
6
6
  standardContractType: 'ERC721',
7
7
  returnValueTest: {
8
- index: 0,
9
8
  comparator: '==',
10
9
  value: USER_ADDRESS_PARAM,
11
10
  },
@@ -20,11 +19,6 @@ const ERC721BalanceDefaults = {
20
19
  method: 'balanceOf',
21
20
  parameters: [USER_ADDRESS_PARAM],
22
21
  standardContractType: 'ERC721',
23
- returnValueTest: {
24
- index: 0,
25
- comparator: '>',
26
- value: '0',
27
- },
28
22
  };
29
23
  export class ERC721Balance extends ContractCondition {
30
24
  constructor(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"erc721.js","sourceRoot":"","sources":["../../../../src/conditions/predefined/erc721.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAI9C,MAAM,uBAAuB,GAGzB;IACF,aAAa,EAAE,qBAAqB;IACpC,MAAM,EAAE,SAAS;IACjB,oBAAoB,EAAE,QAAQ;IAC9B,eAAe,EAAE;QACf,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,kBAAkB;KAC1B;CACF,CAAC;AAEF,MAAM,OAAO,eAAgB,SAAQ,iBAAiB;IACpD,YAAY,KAA0D;QACpE,KAAK,CAAC,EAAE,GAAG,uBAAuB,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAID,MAAM,qBAAqB,GACzB;IACE,aAAa,EAAE,qBAAqB;IACpC,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,CAAC,kBAAkB,CAAC;IAChC,oBAAoB,EAAE,QAAQ;IAC9B,eAAe,EAAE;QACf,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,GAAG;KACX;CACF,CAAC;AAEJ,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAClD,YAAY,KAAwD;QAClE,KAAK,CAAC,EAAE,GAAG,qBAAqB,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;CACF"}
1
+ {"version":3,"file":"erc721.js","sourceRoot":"","sources":["../../../../src/conditions/predefined/erc721.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAI9C,MAAM,uBAAuB,GAGzB;IACF,aAAa,EAAE,qBAAqB;IACpC,MAAM,EAAE,SAAS;IACjB,oBAAoB,EAAE,QAAQ;IAC9B,eAAe,EAAE;QACf,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,kBAAkB;KAC1B;CACF,CAAC;AAEF,MAAM,OAAO,eAAgB,SAAQ,iBAAiB;IACpD,YAAY,KAA0D;QACpE,KAAK,CAAC,EAAE,GAAG,uBAAuB,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAID,MAAM,qBAAqB,GACzB;IACE,aAAa,EAAE,qBAAqB;IACpC,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,CAAC,kBAAkB,CAAC;IAChC,oBAAoB,EAAE,QAAQ;CAC/B,CAAC;AAEJ,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAClD,YAAY,KAAwD;QAClE,KAAK,CAAC,EAAE,GAAG,qBAAqB,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -1 +1 @@
1
- export { ERC721Balance, ERC721Ownership } from './erc721';
1
+ export * as erc721 from './erc721';
@@ -1,2 +1,2 @@
1
- export { ERC721Balance, ERC721Ownership } from './erc721';
1
+ export * as erc721 from './erc721';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/conditions/predefined/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/conditions/predefined/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC"}
@@ -1,16 +1,20 @@
1
1
  import { z } from 'zod';
2
+ export declare const contextParamSchema: z.ZodString;
3
+ export declare const plainStringSchema: z.ZodEffects<z.ZodString, string, string>;
4
+ export declare const paramOrContextParamSchema: z.ZodSchema;
2
5
  export declare const returnValueTestSchema: z.ZodObject<{
3
6
  index: z.ZodOptional<z.ZodNumber>;
4
7
  comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
5
- value: z.ZodUnknown;
8
+ value: z.ZodType<any, z.ZodTypeDef, any>;
6
9
  }, "strip", z.ZodTypeAny, {
7
10
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
8
11
  index?: number | undefined;
9
- value?: unknown;
12
+ value?: any;
10
13
  }, {
11
14
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
12
15
  index?: number | undefined;
13
- value?: unknown;
16
+ value?: any;
14
17
  }>;
15
18
  export type ReturnValueTestProps = z.infer<typeof returnValueTestSchema>;
16
19
  export declare const EthAddressOrUserAddressSchema: z.ZodUnion<[z.ZodString, z.ZodLiteral<":userAddress">]>;
20
+ export type OmitConditionType<T> = Omit<T, 'conditionType'>;
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ import { CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP, ETH_ADDRESS_REGEXP, USER_ADDRESS_PARAM, } from './const';
3
+ export const contextParamSchema = z.string().regex(CONTEXT_PARAM_REGEXP);
4
+ // We want to discriminate between ContextParams and plain strings
5
+ // If a string starts with `:`, it's a ContextParam
6
+ export const plainStringSchema = z.string().refine((str) => {
7
+ return !str.startsWith(CONTEXT_PARAM_PREFIX);
8
+ }, {
9
+ message: 'String must not be a context parameter i.e. not start with ":"',
10
+ });
11
+ const paramSchema = z.union([plainStringSchema, z.boolean(), z.number()]);
12
+ export const paramOrContextParamSchema = z.union([
13
+ paramSchema,
14
+ contextParamSchema,
15
+ z.lazy(() => z.array(paramOrContextParamSchema)),
16
+ ]);
17
+ export const returnValueTestSchema = z.object({
18
+ index: z.number().int().nonnegative().optional(),
19
+ comparator: z.enum(['==', '>', '<', '>=', '<=', '!=']),
20
+ value: paramOrContextParamSchema,
21
+ });
22
+ const EthAddressSchema = z.string().regex(ETH_ADDRESS_REGEXP);
23
+ const UserAddressSchema = z.literal(USER_ADDRESS_PARAM);
24
+ export const EthAddressOrUserAddressSchema = z.union([
25
+ EthAddressSchema,
26
+ UserAddressSchema,
27
+ ]);
28
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/conditions/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAEjB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;AACzE,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,gEAAgE;CAC1E,CACF,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,yBAAyB,GAAgB,CAAC,CAAC,KAAK,CAAC;IAC5D,WAAW;IACX,kBAAkB;IAClB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAChD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,KAAK,EAAE,yBAAyB;CACjC,CAAC,CAAC;AAIH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC9D,MAAM,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC;IACnD,gBAAgB;IAChB,iBAAiB;CAClB,CAAC,CAAC"}
package/dist/es/dkg.d.ts CHANGED
@@ -23,5 +23,5 @@ export declare class DkgClient {
23
23
  static initializeRitual(provider: ethers.providers.Provider, signer: ethers.Signer, domain: Domain, ursulas: ChecksumAddress[], authority: string, duration: BigNumberish, accessController: string, waitUntilEnd?: boolean): Promise<number | undefined>;
24
24
  private static waitUntilRitualEnd;
25
25
  static getRitual(provider: ethers.providers.Provider, domain: Domain, ritualId: number): Promise<DkgRitual>;
26
- static getFinalizedRitual(provider: ethers.providers.Provider, domain: Domain, ritualId: number): Promise<DkgRitual>;
26
+ static getActiveRitual(provider: ethers.providers.Provider, domain: Domain, ritualId: number): Promise<DkgRitual>;
27
27
  }
package/dist/es/dkg.js CHANGED
@@ -35,9 +35,11 @@ export class DkgRitual {
35
35
  ].every(Boolean);
36
36
  }
37
37
  }
38
+ const ERR_RITUAL_NOT_FINALIZED = (ritualId, ritual) => `Ritual ${ritualId} is not finalized. State: ${ritual.state}`;
38
39
  export class DkgClient {
39
40
  static async initializeRitual(provider, signer, domain, ursulas, authority, duration, accessController, waitUntilEnd = false) {
40
- const ritualId = await DkgCoordinatorAgent.initializeRitual(provider, signer, domain, ursulas.sort(), authority, duration, accessController);
41
+ const ritualId = await DkgCoordinatorAgent.initializeRitual(provider, signer, domain, ursulas.sort(), // Contract call requires sorted addresses
42
+ authority, duration, accessController);
41
43
  if (waitUntilEnd) {
42
44
  const isSuccessful = await DkgClient.waitUntilRitualEnd(provider, domain, ritualId);
43
45
  if (!isSuccessful) {
@@ -69,10 +71,10 @@ export class DkgClient {
69
71
  ]);
70
72
  return new DkgRitual(ritualId, DkgPublicKey.fromBytes(dkgPkBytes), ritual.dkgSize, ritual.threshold, ritualState);
71
73
  }
72
- static async getFinalizedRitual(provider, domain, ritualId) {
74
+ static async getActiveRitual(provider, domain, ritualId) {
73
75
  const ritual = await DkgClient.getRitual(provider, domain, ritualId);
74
- if (ritual.state !== DkgRitualState.FINALIZED) {
75
- throw new Error(`Ritual ${ritualId} is not finalized. State: ${ritual.state}`);
76
+ if (ritual.state !== DkgRitualState.ACTIVE) {
77
+ throw new Error(ERR_RITUAL_NOT_FINALIZED(ritualId, ritual));
76
78
  }
77
79
  return ritual;
78
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dkg.js","sourceRoot":"","sources":["../../src/dkg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dkg.js","sourceRoot":"","sources":["../../src/dkg.ts"],"names":[],"mappings":"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"}