@nucypher/taco 0.1.0-rc.6 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) 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 -2
  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 +7 -10
  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/taco.d.ts +70 -1
  47. package/dist/cjs/taco.js +72 -4
  48. package/dist/cjs/taco.js.map +1 -1
  49. package/dist/cjs/tdec.d.ts +2 -1
  50. package/dist/cjs/tdec.js +6 -4
  51. package/dist/cjs/tdec.js.map +1 -1
  52. package/dist/es/conditions/base/contract.d.ts +17 -12
  53. package/dist/es/conditions/base/contract.js +15 -2
  54. package/dist/es/conditions/base/contract.js.map +1 -1
  55. package/dist/es/conditions/base/index.d.ts +3 -21
  56. package/dist/es/conditions/base/index.js +3 -28
  57. package/dist/es/conditions/base/index.js.map +1 -1
  58. package/dist/es/conditions/base/rpc.d.ts +16 -11
  59. package/dist/es/conditions/base/rpc.js +14 -5
  60. package/dist/es/conditions/base/rpc.js.map +1 -1
  61. package/dist/es/conditions/base/time.d.ts +10 -5
  62. package/dist/es/conditions/base/time.js +9 -0
  63. package/dist/es/conditions/base/time.js.map +1 -1
  64. package/dist/es/conditions/compound-condition.d.ts +10 -0
  65. package/dist/es/conditions/compound-condition.js +50 -4
  66. package/dist/es/conditions/compound-condition.js.map +1 -1
  67. package/dist/es/conditions/condition-expr.js +2 -2
  68. package/dist/es/conditions/condition-expr.js.map +1 -1
  69. package/dist/es/conditions/condition-factory.d.ts +4 -0
  70. package/dist/es/conditions/condition-factory.js +22 -0
  71. package/dist/es/conditions/condition-factory.js.map +1 -0
  72. package/dist/es/conditions/condition.d.ts +0 -1
  73. package/dist/es/conditions/condition.js +0 -22
  74. package/dist/es/conditions/condition.js.map +1 -1
  75. package/dist/es/conditions/const.d.ts +3 -0
  76. package/dist/es/conditions/const.js +5 -1
  77. package/dist/es/conditions/const.js.map +1 -1
  78. package/dist/es/conditions/context/context.d.ts +0 -2
  79. package/dist/es/conditions/context/context.js +3 -6
  80. package/dist/es/conditions/context/context.js.map +1 -1
  81. package/dist/es/conditions/index.d.ts +5 -6
  82. package/dist/es/conditions/index.js +5 -6
  83. package/dist/es/conditions/index.js.map +1 -1
  84. package/dist/es/conditions/predefined/erc721.d.ts +2 -2
  85. package/dist/es/conditions/predefined/erc721.js +1 -7
  86. package/dist/es/conditions/predefined/erc721.js.map +1 -1
  87. package/dist/es/conditions/predefined/index.d.ts +1 -1
  88. package/dist/es/conditions/predefined/index.js +1 -1
  89. package/dist/es/conditions/predefined/index.js.map +1 -1
  90. package/dist/es/conditions/{base/shared.d.ts → shared.d.ts} +7 -3
  91. package/dist/es/conditions/shared.js +28 -0
  92. package/dist/es/conditions/shared.js.map +1 -0
  93. package/dist/es/dkg.d.ts +1 -1
  94. package/dist/es/dkg.js +6 -4
  95. package/dist/es/dkg.js.map +1 -1
  96. package/dist/es/taco.d.ts +70 -1
  97. package/dist/es/taco.js +71 -3
  98. package/dist/es/taco.js.map +1 -1
  99. package/dist/es/tdec.d.ts +2 -1
  100. package/dist/es/tdec.js +5 -3
  101. package/dist/es/tdec.js.map +1 -1
  102. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  103. package/dist/tsconfig.es.tsbuildinfo +1 -1
  104. package/package.json +8 -7
  105. package/dist/cjs/conditions/base/shared.js +0 -17
  106. package/dist/cjs/conditions/base/shared.js.map +0 -1
  107. package/dist/es/conditions/base/shared.js +0 -14
  108. package/dist/es/conditions/base/shared.js.map +0 -1
@@ -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,14 @@
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
- ChainId.GOERLI,
10
+ ChainId.SEPOLIA,
8
11
  ChainId.ETHEREUM_MAINNET,
9
12
  ];
13
+ export const RESERVED_CONTEXT_PARAMS = [USER_ADDRESS_PARAM];
10
14
  //# 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,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`;
@@ -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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"}
package/dist/es/taco.d.ts CHANGED
@@ -1,9 +1,78 @@
1
1
  import { DkgPublicKey, ThresholdMessageKit } from '@nucypher/nucypher-core';
2
2
  import { ChecksumAddress, Domain } from '@nucypher/shared';
3
3
  import { ethers } from 'ethers';
4
- import { Condition, CustomContextParam } from './conditions';
4
+ import { Condition } from './conditions/condition';
5
+ import { CustomContextParam } from './conditions/context';
6
+ /**
7
+ * Encrypts a message under given conditions using a public key from an active DKG ritual.
8
+ *
9
+ * @export
10
+ * @param {ethers.providers.Provider} provider - Instance of ethers provider which is used to interact with
11
+ * your selected network.
12
+ * @param {Domain} domain - Represents the logical network in which the encryption will be performed.
13
+ * Must match the `ritualId`.
14
+ * @param {Uint8Array | string} message - The message to be encrypted.
15
+ * @param {Condition} condition - Condition under which the message will be encrypted. Those conditions must be
16
+ * satisfied in order to decrypt the message.
17
+ * @param {number} ritualId - The ID of the DKG Ritual to be used for encryption. The message will be encrypted
18
+ * under the public key of this ritual.
19
+ * @param {ethers.Signer} authSigner - The signer that will be used to sign the encrypter authorization.
20
+ *
21
+ * @returns {Promise<ThresholdMessageKit>} Returns Promise that resolves with an instance of ThresholdMessageKit.
22
+ * It represents the encrypted message.
23
+ *
24
+ * @throws {Error} If the active DKG Ritual cannot be retrieved an error is thrown.
25
+ */
5
26
  export declare const encrypt: (provider: ethers.providers.Provider, domain: Domain, message: Uint8Array | string, condition: Condition, ritualId: number, authSigner: ethers.Signer) => Promise<ThresholdMessageKit>;
27
+ /**
28
+ * Encrypts a message with the given DKG public key under a specified condition.
29
+ *
30
+ * @export
31
+ * @param {Uint8Array | string} message - The message to be encrypted.
32
+ * @param {Condition} condition - Condition under which the message will be encrypted. Those conditions must be
33
+ * satisfied in order to decrypt the message.
34
+ * @param {DkgPublicKey} dkgPublicKey - The public key of an active DKG Ritual to be used for encryption
35
+ * @param {ethers.Signer} authSigner - The signer that will be used to sign the encrypter authorization.
36
+ *
37
+ * @returns {Promise<ThresholdMessageKit>} Returns Promise that resolves with an instance of ThresholdMessageKit.
38
+ * It represents the encrypted message.
39
+ *
40
+ * @throws {Error} If the encryption process throws an error, an error is thrown.
41
+ */
6
42
  export declare const encryptWithPublicKey: (message: Uint8Array | string, condition: Condition, dkgPublicKey: DkgPublicKey, authSigner: ethers.Signer) => Promise<ThresholdMessageKit>;
43
+ /**
44
+ * Decrypts an encrypted message.
45
+ *
46
+ * @export
47
+ * @param {ethers.providers.Provider} provider - Instance of ethers provider which is used to interact with
48
+ * your selected network.
49
+ * @param {Domain} domain - Represents the logical network in which the decryption will be performed.
50
+ * Must match the `ritualId`.
51
+ * @param {ThresholdMessageKit} messageKit - The kit containing the message to be decrypted
52
+ * @param {string} [porterUri] - The URI for the Porter service. If not provided, a value will be obtained
53
+ * from the Domain
54
+ * @param {ethers.Signer} [signer] - An optional signer for the decryption
55
+ * @param {Record<string, CustomContextParam>} [customParameters] - Optional custom parameters that may be required
56
+ * depending on the condition used
57
+ *
58
+ * @returns {Promise<Uint8Array>} Returns Promise that resolves with a decrypted message
59
+ *
60
+ * @throws {Error} If the active DKG Ritual cannot be retrieved or decryption process throws an error,
61
+ * an error is thrown.
62
+ */
7
63
  export declare const decrypt: (provider: ethers.providers.Provider, domain: Domain, messageKit: ThresholdMessageKit, porterUri?: string, signer?: ethers.Signer, customParameters?: Record<string, CustomContextParam>) => Promise<Uint8Array>;
64
+ /**
65
+ * Checks if the encryption from the provided messageKit is authorized for the specified ritual.
66
+ *
67
+ * @export
68
+ * @param {ethers.providers.Provider} provider - Instance of ethers provider which is used to interact with
69
+ * your selected network.
70
+ * @param {Domain} domain - The domain which was used to encrypt the network. Must match the `ritualId`.
71
+ * @param {ThresholdMessageKit} messageKit - The encrypted message kit to be checked.
72
+ * @param {number} ritualId - The ID of the DKG Ritual under which the messageKit was supposedly encrypted.
73
+ *
74
+ * @returns {Promise<boolean>} Returns a Promise that resolves with the authorization status.
75
+ * True if authorized, false otherwise
76
+ */
8
77
  export declare const isAuthorized: (provider: ethers.providers.Provider, domain: Domain, messageKit: ThresholdMessageKit, ritualId: number) => Promise<boolean>;
9
78
  export declare const registerEncrypters: (provider: ethers.providers.Provider, signer: ethers.Signer, domain: Domain, ritualId: number, encrypters: ChecksumAddress[]) => Promise<void>;