@nucypher/taco 0.7.0-alpha.2 → 0.7.0-alpha.4

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 (117) hide show
  1. package/dist/cjs/conditions/base/context-variable.d.ts +10 -0
  2. package/dist/cjs/conditions/base/context-variable.js +19 -0
  3. package/dist/cjs/conditions/base/context-variable.js.map +1 -0
  4. package/dist/cjs/conditions/base/index.d.ts +2 -1
  5. package/dist/cjs/conditions/base/index.js +3 -2
  6. package/dist/cjs/conditions/base/index.js.map +1 -1
  7. package/dist/cjs/conditions/base/json.d.ts +7 -0
  8. package/dist/cjs/conditions/base/json.js +18 -0
  9. package/dist/cjs/conditions/base/json.js.map +1 -0
  10. package/dist/cjs/conditions/condition-factory.js +6 -3
  11. package/dist/cjs/conditions/condition-factory.js.map +1 -1
  12. package/dist/cjs/conditions/condition.d.ts +1 -0
  13. package/dist/cjs/conditions/condition.js +4 -3
  14. package/dist/cjs/conditions/condition.js.map +1 -1
  15. package/dist/cjs/conditions/predefined/address-allowlist.d.ts +11 -0
  16. package/dist/cjs/conditions/predefined/address-allowlist.js +31 -0
  17. package/dist/cjs/conditions/predefined/address-allowlist.js.map +1 -0
  18. package/dist/cjs/conditions/predefined/index.d.ts +1 -0
  19. package/dist/cjs/conditions/predefined/index.js +2 -1
  20. package/dist/cjs/conditions/predefined/index.js.map +1 -1
  21. package/dist/cjs/conditions/schemas/address-allowlist.d.ts +1 -14
  22. package/dist/cjs/conditions/schemas/address-allowlist.js +6 -15
  23. package/dist/cjs/conditions/schemas/address-allowlist.js.map +1 -1
  24. package/dist/cjs/conditions/schemas/context-variable.d.ts +91 -0
  25. package/dist/cjs/conditions/schemas/context-variable.js +17 -0
  26. package/dist/cjs/conditions/schemas/context-variable.js.map +1 -0
  27. package/dist/cjs/conditions/schemas/contract.d.ts +66 -12
  28. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.d.ts +3 -0
  29. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js +3 -0
  30. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
  31. package/dist/cjs/conditions/schemas/json-api.d.ts +62 -8
  32. package/dist/cjs/conditions/schemas/json-rpc.d.ts +62 -8
  33. package/dist/cjs/conditions/schemas/json.d.ts +94 -0
  34. package/dist/cjs/conditions/schemas/json.js +17 -0
  35. package/dist/cjs/conditions/schemas/json.js.map +1 -0
  36. package/dist/cjs/conditions/schemas/return-value-test.d.ts +76 -0
  37. package/dist/cjs/conditions/schemas/return-value-test.js +4 -1
  38. package/dist/cjs/conditions/schemas/return-value-test.js.map +1 -1
  39. package/dist/cjs/conditions/schemas/rpc.d.ts +50 -4
  40. package/dist/cjs/conditions/schemas/sequential.js +6 -2
  41. package/dist/cjs/conditions/schemas/sequential.js.map +1 -1
  42. package/dist/cjs/conditions/schemas/time.d.ts +47 -1
  43. package/dist/cjs/conditions/schemas/utils.js +2 -2
  44. package/dist/cjs/conditions/schemas/utils.js.map +1 -1
  45. package/dist/cjs/conditions/schemas/variable-operation.d.ts +48 -0
  46. package/dist/cjs/conditions/schemas/variable-operation.js +81 -0
  47. package/dist/cjs/conditions/schemas/variable-operation.js.map +1 -0
  48. package/dist/cjs/sign.d.ts +2 -2
  49. package/dist/cjs/sign.js +73 -38
  50. package/dist/cjs/sign.js.map +1 -1
  51. package/dist/cjs/types.d.ts +1 -1
  52. package/dist/es/conditions/base/context-variable.d.ts +10 -0
  53. package/dist/es/conditions/base/context-variable.js +15 -0
  54. package/dist/es/conditions/base/context-variable.js.map +1 -0
  55. package/dist/es/conditions/base/index.d.ts +2 -1
  56. package/dist/es/conditions/base/index.js +2 -1
  57. package/dist/es/conditions/base/index.js.map +1 -1
  58. package/dist/es/conditions/base/json.d.ts +7 -0
  59. package/dist/es/conditions/base/json.js +12 -0
  60. package/dist/es/conditions/base/json.js.map +1 -0
  61. package/dist/es/conditions/condition-factory.js +6 -3
  62. package/dist/es/conditions/condition-factory.js.map +1 -1
  63. package/dist/es/conditions/condition.d.ts +1 -0
  64. package/dist/es/conditions/condition.js +1 -1
  65. package/dist/es/conditions/condition.js.map +1 -1
  66. package/dist/es/conditions/predefined/address-allowlist.d.ts +11 -0
  67. package/dist/es/conditions/predefined/address-allowlist.js +27 -0
  68. package/dist/es/conditions/predefined/address-allowlist.js.map +1 -0
  69. package/dist/es/conditions/predefined/index.d.ts +1 -0
  70. package/dist/es/conditions/predefined/index.js +1 -0
  71. package/dist/es/conditions/predefined/index.js.map +1 -1
  72. package/dist/es/conditions/schemas/address-allowlist.d.ts +1 -14
  73. package/dist/es/conditions/schemas/address-allowlist.js +5 -14
  74. package/dist/es/conditions/schemas/address-allowlist.js.map +1 -1
  75. package/dist/es/conditions/schemas/context-variable.d.ts +91 -0
  76. package/dist/es/conditions/schemas/context-variable.js +14 -0
  77. package/dist/es/conditions/schemas/context-variable.js.map +1 -0
  78. package/dist/es/conditions/schemas/contract.d.ts +66 -12
  79. package/dist/es/conditions/schemas/export-for-zod-doc-gen.d.ts +3 -0
  80. package/dist/es/conditions/schemas/export-for-zod-doc-gen.js +3 -0
  81. package/dist/es/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
  82. package/dist/es/conditions/schemas/json-api.d.ts +62 -8
  83. package/dist/es/conditions/schemas/json-rpc.d.ts +62 -8
  84. package/dist/es/conditions/schemas/json.d.ts +94 -0
  85. package/dist/es/conditions/schemas/json.js +14 -0
  86. package/dist/es/conditions/schemas/json.js.map +1 -0
  87. package/dist/es/conditions/schemas/return-value-test.d.ts +76 -0
  88. package/dist/es/conditions/schemas/return-value-test.js +4 -1
  89. package/dist/es/conditions/schemas/return-value-test.js.map +1 -1
  90. package/dist/es/conditions/schemas/rpc.d.ts +50 -4
  91. package/dist/es/conditions/schemas/sequential.js +6 -2
  92. package/dist/es/conditions/schemas/sequential.js.map +1 -1
  93. package/dist/es/conditions/schemas/time.d.ts +47 -1
  94. package/dist/es/conditions/schemas/utils.js +2 -2
  95. package/dist/es/conditions/schemas/utils.js.map +1 -1
  96. package/dist/es/conditions/schemas/variable-operation.d.ts +48 -0
  97. package/dist/es/conditions/schemas/variable-operation.js +78 -0
  98. package/dist/es/conditions/schemas/variable-operation.js.map +1 -0
  99. package/dist/es/sign.d.ts +2 -2
  100. package/dist/es/sign.js +74 -39
  101. package/dist/es/sign.js.map +1 -1
  102. package/dist/es/types.d.ts +1 -1
  103. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  104. package/dist/tsconfig.es.tsbuildinfo +1 -1
  105. package/package.json +4 -4
  106. package/dist/cjs/conditions/base/address-allowlist.d.ts +0 -10
  107. package/dist/cjs/conditions/base/address-allowlist.js +0 -19
  108. package/dist/cjs/conditions/base/address-allowlist.js.map +0 -1
  109. package/dist/cjs/conditions/zod.d.ts +0 -3
  110. package/dist/cjs/conditions/zod.js +0 -19
  111. package/dist/cjs/conditions/zod.js.map +0 -1
  112. package/dist/es/conditions/base/address-allowlist.d.ts +0 -10
  113. package/dist/es/conditions/base/address-allowlist.js +0 -15
  114. package/dist/es/conditions/base/address-allowlist.js.map +0 -1
  115. package/dist/es/conditions/zod.d.ts +0 -3
  116. package/dist/es/conditions/zod.js +0 -17
  117. package/dist/es/conditions/zod.js.map +0 -1
@@ -8,44 +8,90 @@ export declare const rpcConditionSchema: z.ZodObject<{} & {
8
8
  returnValueTest: z.ZodEffects<z.ZodObject<{
9
9
  index: z.ZodOptional<z.ZodNumber>;
10
10
  comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!=", "in", "!in"]>;
11
+ operations: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
12
+ operation: z.ZodEnum<["+=", "-=", "*=", "/=", "%=", "index", "round", "abs", "avg", "ceil", "ethToWei", "floor", "len", "max", "min", "sum", "weiToEth", "bool", "float", "int", "str"]>;
13
+ value: z.ZodOptional<z.ZodType<any, z.ZodTypeDef, any>>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
16
+ value?: any;
17
+ }, {
18
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
19
+ value?: any;
20
+ }>, {
21
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
22
+ value?: any;
23
+ }, {
24
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
25
+ value?: any;
26
+ }>, {
27
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
28
+ value?: any;
29
+ }, {
30
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
31
+ value?: any;
32
+ }>, "many">>;
11
33
  } & {
12
34
  value: z.ZodType<any, z.ZodTypeDef, any>;
13
35
  }, "strip", z.ZodTypeAny, {
14
36
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
15
37
  value?: any;
16
38
  index?: number | undefined;
39
+ operations?: {
40
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
41
+ value?: any;
42
+ }[] | undefined;
17
43
  }, {
18
44
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
19
45
  value?: any;
20
46
  index?: number | undefined;
47
+ operations?: {
48
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
49
+ value?: any;
50
+ }[] | undefined;
21
51
  }>, {
22
52
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
23
53
  value?: any;
24
54
  index?: number | undefined;
55
+ operations?: {
56
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
57
+ value?: any;
58
+ }[] | undefined;
25
59
  }, {
26
60
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
27
61
  value?: any;
28
62
  index?: number | undefined;
63
+ operations?: {
64
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
65
+ value?: any;
66
+ }[] | undefined;
29
67
  }>;
30
68
  }, "strip", z.ZodTypeAny, {
31
69
  conditionType: "rpc";
32
- method: "eth_getBalance";
33
70
  returnValueTest: {
34
71
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
35
72
  value?: any;
36
73
  index?: number | undefined;
74
+ operations?: {
75
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
76
+ value?: any;
77
+ }[] | undefined;
37
78
  };
38
- parameters: [string] | [string, string | number];
39
79
  chain: number;
40
- }, {
41
80
  method: "eth_getBalance";
81
+ parameters: [string, string | number] | [string];
82
+ }, {
42
83
  returnValueTest: {
43
84
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
44
85
  value?: any;
45
86
  index?: number | undefined;
87
+ operations?: {
88
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
89
+ value?: any;
90
+ }[] | undefined;
46
91
  };
47
- parameters: [string] | [string, string | number];
48
92
  chain: number;
93
+ method: "eth_getBalance";
94
+ parameters: [string, string | number] | [string];
49
95
  conditionType?: "rpc" | undefined;
50
96
  }>;
51
97
  export type RpcConditionProps = z.infer<typeof rpcConditionSchema>;
@@ -4,6 +4,7 @@ import { baseConditionSchema, plainStringSchema } from './common';
4
4
  import { CompoundConditionType } from './compound';
5
5
  import { IfThenElseConditionType } from './if-then-else';
6
6
  import { anyConditionSchema } from './utils';
7
+ import { variableOperationsArraySchema } from './variable-operation';
7
8
  const getAllNestedConditionVariableNames = (condition) => {
8
9
  const conditionVariables = [];
9
10
  if (condition.conditionType === SequentialConditionType) {
@@ -32,10 +33,13 @@ const noDuplicateVarNames = (condition) => {
32
33
  return duplicates.length === 0;
33
34
  };
34
35
  export const SequentialConditionType = 'sequential';
35
- export const conditionVariableSchema = z.lazy(() => z.object({
36
+ export const conditionVariableSchema = z.lazy(() => z
37
+ .object({
36
38
  varName: plainStringSchema,
37
39
  condition: anyConditionSchema,
38
- }));
40
+ operations: variableOperationsArraySchema.describe('Optional operations to perform on the obtained condition result before storing it'),
41
+ })
42
+ .describe('Executes a condition and stores the result as a variable within a sequential condition.'));
39
43
  export const sequentialConditionSchema = baseConditionSchema
40
44
  .extend({
41
45
  conditionType: z
@@ -1 +1 @@
1
- {"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/sequential.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/sequential.ts"],"names":[],"mappings":"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"}
@@ -8,39 +8,85 @@ export declare const timeConditionSchema: z.ZodObject<{
8
8
  returnValueTest: z.ZodEffects<z.ZodObject<{
9
9
  index: z.ZodOptional<z.ZodNumber>;
10
10
  comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!=", "in", "!in"]>;
11
+ operations: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
12
+ operation: z.ZodEnum<["+=", "-=", "*=", "/=", "%=", "index", "round", "abs", "avg", "ceil", "ethToWei", "floor", "len", "max", "min", "sum", "weiToEth", "bool", "float", "int", "str"]>;
13
+ value: z.ZodOptional<z.ZodType<any, z.ZodTypeDef, any>>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
16
+ value?: any;
17
+ }, {
18
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
19
+ value?: any;
20
+ }>, {
21
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
22
+ value?: any;
23
+ }, {
24
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
25
+ value?: any;
26
+ }>, {
27
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
28
+ value?: any;
29
+ }, {
30
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
31
+ value?: any;
32
+ }>, "many">>;
11
33
  } & {
12
34
  value: z.ZodType<any, z.ZodTypeDef, any>;
13
35
  }, "strip", z.ZodTypeAny, {
14
36
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
15
37
  value?: any;
16
38
  index?: number | undefined;
39
+ operations?: {
40
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
41
+ value?: any;
42
+ }[] | undefined;
17
43
  }, {
18
44
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
19
45
  value?: any;
20
46
  index?: number | undefined;
47
+ operations?: {
48
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
49
+ value?: any;
50
+ }[] | undefined;
21
51
  }>, {
22
52
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
23
53
  value?: any;
24
54
  index?: number | undefined;
55
+ operations?: {
56
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
57
+ value?: any;
58
+ }[] | undefined;
25
59
  }, {
26
60
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
27
61
  value?: any;
28
62
  index?: number | undefined;
63
+ operations?: {
64
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
65
+ value?: any;
66
+ }[] | undefined;
29
67
  }>;
30
68
  }, "strip", z.ZodTypeAny, {
31
69
  conditionType: "time";
32
- method: "blocktime";
33
70
  returnValueTest: {
34
71
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
35
72
  value?: any;
36
73
  index?: number | undefined;
74
+ operations?: {
75
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
76
+ value?: any;
77
+ }[] | undefined;
37
78
  };
38
79
  chain: number;
80
+ method: "blocktime";
39
81
  }, {
40
82
  returnValueTest: {
41
83
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
42
84
  value?: any;
43
85
  index?: number | undefined;
86
+ operations?: {
87
+ operation: "float" | "index" | "+=" | "-=" | "*=" | "/=" | "%=" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
88
+ value?: any;
89
+ }[] | undefined;
44
90
  };
45
91
  chain: number;
46
92
  conditionType?: "time" | undefined;
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { compoundConditionSchema } from '../compound-condition';
3
- import { addressAllowlistConditionSchema } from './address-allowlist';
3
+ import { contextVariableConditionSchema } from './context-variable';
4
4
  import { contractConditionSchema } from './contract';
5
5
  import { ecdsaConditionSchema } from './ecdsa';
6
6
  import { ifThenElseConditionSchema } from './if-then-else';
@@ -14,7 +14,7 @@ import { timeConditionSchema } from './time';
14
14
  export const anyConditionSchema = z.lazy(() => z.union([
15
15
  rpcConditionSchema,
16
16
  timeConditionSchema,
17
- addressAllowlistConditionSchema,
17
+ contextVariableConditionSchema,
18
18
  contractConditionSchema,
19
19
  ecdsaConditionSchema,
20
20
  jsonApiConditionSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,wCAAwC,EACxC,qCAAqC,GACtC,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACzD,CAAC,CAAC,KAAK,CAAC;IACN,kBAAkB;IAClB,mBAAmB;IACnB,+BAA+B;IAC/B,uBAAuB;IACvB,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;IACtB,kBAAkB;IAClB,qCAAqC;IACrC,wCAAwC;IACxC,uBAAuB;IACvB,yBAAyB;IACzB,yBAAyB;CAC1B,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,wCAAwC,EACxC,qCAAqC,GACtC,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACzD,CAAC,CAAC,KAAK,CAAC;IACN,kBAAkB;IAClB,mBAAmB;IACnB,8BAA8B;IAC9B,uBAAuB;IACvB,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;IACtB,kBAAkB;IAClB,qCAAqC;IACrC,wCAAwC;IACxC,uBAAuB;IACvB,yBAAyB;IACzB,yBAAyB;CAC1B,CAAC,CACH,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { z } from 'zod';
2
+ export declare const OPERATOR_FUNCTIONS: readonly ["+=", "-=", "*=", "/=", "%=", "index", "round", "abs", "avg", "ceil", "ethToWei", "floor", "len", "max", "min", "sum", "weiToEth", "bool", "float", "int", "str"];
3
+ export declare const UNARY_OPERATOR_FUNCTIONS: string[];
4
+ export declare const variableOperationSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
5
+ operation: z.ZodEnum<["+=", "-=", "*=", "/=", "%=", "index", "round", "abs", "avg", "ceil", "ethToWei", "floor", "len", "max", "min", "sum", "weiToEth", "bool", "float", "int", "str"]>;
6
+ value: z.ZodOptional<z.ZodType<any, z.ZodTypeDef, any>>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
9
+ value?: any;
10
+ }, {
11
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
12
+ value?: any;
13
+ }>, {
14
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
15
+ value?: any;
16
+ }, {
17
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
18
+ value?: any;
19
+ }>, {
20
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
21
+ value?: any;
22
+ }, {
23
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
24
+ value?: any;
25
+ }>;
26
+ export declare const MAX_VARIABLE_OPERATIONS = 5;
27
+ export declare const variableOperationsArraySchema: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
28
+ operation: z.ZodEnum<["+=", "-=", "*=", "/=", "%=", "index", "round", "abs", "avg", "ceil", "ethToWei", "floor", "len", "max", "min", "sum", "weiToEth", "bool", "float", "int", "str"]>;
29
+ value: z.ZodOptional<z.ZodType<any, z.ZodTypeDef, any>>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
32
+ value?: any;
33
+ }, {
34
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
35
+ value?: any;
36
+ }>, {
37
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
38
+ value?: any;
39
+ }, {
40
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
41
+ value?: any;
42
+ }>, {
43
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
44
+ value?: any;
45
+ }, {
46
+ operation: "float" | "+=" | "-=" | "*=" | "/=" | "%=" | "index" | "round" | "abs" | "avg" | "ceil" | "ethToWei" | "floor" | "len" | "max" | "min" | "sum" | "weiToEth" | "bool" | "int" | "str";
47
+ value?: any;
48
+ }>, "many">>;
@@ -0,0 +1,78 @@
1
+ import { z } from 'zod';
2
+ import { paramOrContextParamSchema } from './context';
3
+ export const OPERATOR_FUNCTIONS = [
4
+ '+=',
5
+ '-=',
6
+ '*=',
7
+ '/=',
8
+ '%=',
9
+ 'index',
10
+ 'round',
11
+ // operations that don't require 2nd value
12
+ 'abs',
13
+ 'avg',
14
+ 'ceil',
15
+ 'ethToWei',
16
+ 'floor',
17
+ 'len',
18
+ 'max',
19
+ 'min',
20
+ 'sum',
21
+ 'weiToEth',
22
+ // casting
23
+ 'bool',
24
+ 'float',
25
+ 'int',
26
+ 'str',
27
+ ];
28
+ export const UNARY_OPERATOR_FUNCTIONS = [
29
+ 'abs',
30
+ 'avg',
31
+ 'ceil',
32
+ 'ethToWei',
33
+ 'floor',
34
+ 'len',
35
+ 'max',
36
+ 'min',
37
+ 'sum',
38
+ 'weiToEth',
39
+ // casting
40
+ 'bool',
41
+ 'float',
42
+ 'int',
43
+ 'str',
44
+ ];
45
+ export const variableOperationSchema = z
46
+ .object({
47
+ operation: z.enum(OPERATOR_FUNCTIONS),
48
+ value: paramOrContextParamSchema.optional(),
49
+ })
50
+ .refine((data) => {
51
+ if (UNARY_OPERATOR_FUNCTIONS.includes(data.operation) &&
52
+ data.value !== undefined) {
53
+ return false;
54
+ }
55
+ return true;
56
+ }, {
57
+ message: 'Value not allowed for this operation',
58
+ path: ['value'],
59
+ })
60
+ .refine((data) => {
61
+ if (!UNARY_OPERATOR_FUNCTIONS.includes(data.operation) &&
62
+ data.value === undefined) {
63
+ return false;
64
+ }
65
+ return true;
66
+ }, {
67
+ message: 'Value must be defined for operation',
68
+ path: ['value'],
69
+ })
70
+ .describe('An operation that can be performed on an obtained result.');
71
+ export const MAX_VARIABLE_OPERATIONS = 5;
72
+ export const variableOperationsArraySchema = z
73
+ .array(variableOperationSchema)
74
+ .min(1)
75
+ .max(MAX_VARIABLE_OPERATIONS)
76
+ .optional()
77
+ .describe('Optional operations to perform on the obtained result');
78
+ //# sourceMappingURL=variable-operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-operation.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/variable-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,OAAO;IACP,0CAA0C;IAC1C,KAAK;IACL,KAAK;IACL,MAAM;IACN,UAAU;IACV,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,UAAU;IACV,UAAU;IACV,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;CACG,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,KAAK;IACL,KAAK;IACL,MAAM;IACN,UAAU;IACV,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,UAAU;IACV,UAAU;IACV,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;CACN,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;IACrC,KAAK,EAAE,yBAAyB,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;IACP,IACE,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,KAAK,KAAK,SAAS,EACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,EACD;IACE,OAAO,EAAE,sCAAsC;IAC/C,IAAI,EAAE,CAAC,OAAO,CAAC;CAChB,CACF;KACA,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;IACP,IACE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QAClD,IAAI,CAAC,KAAK,KAAK,SAAS,EACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,EACD;IACE,OAAO,EAAE,qCAAqC;IAC9C,IAAI,EAAE,CAAC,OAAO,CAAC;CAChB,CACF;KACA,QAAQ,CAAC,2DAA2D,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,KAAK,CAAC,uBAAuB,CAAC;KAC9B,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,uBAAuB,CAAC;KAC5B,QAAQ,EAAE;KACV,QAAQ,CAAC,uDAAuD,CAAC,CAAC"}
package/dist/es/sign.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Domain, TacoSignature, UserOperation } from '@nucypher/shared';
1
+ import { Domain, PackedUserOperationToSign, TacoSignature, UserOperationToSign } from '@nucypher/shared';
2
2
  import { ethers } from 'ethers';
3
3
  import { Condition } from './conditions/condition';
4
4
  import { ConditionContext } from './conditions/context';
@@ -22,5 +22,5 @@ export type SignResult = {
22
22
  * @returns A promise that resolves to a SignResult containing the message hash, aggregated signature, and signing results from the Porter service.
23
23
  * @throws An error if the signing process fails due to insufficient signatures or mismatched hashes.
24
24
  */
25
- export declare function signUserOp(provider: ethers.providers.Provider, domain: Domain, cohortId: number, chainId: number, userOp: UserOperation, aaVersion: 'mdt' | '0.8.0' | string, context?: ConditionContext, porterUris?: string[]): Promise<SignResult>;
25
+ export declare function signUserOp(provider: ethers.providers.Provider, domain: Domain, cohortId: number, chainId: number, userOp: UserOperationToSign | PackedUserOperationToSign, aaVersion: 'mdt' | '0.8.0' | string, context?: ConditionContext, porterUris?: string[]): Promise<SignResult>;
26
26
  export declare function setSigningCohortConditions(provider: ethers.providers.JsonRpcProvider, domain: Domain, conditions: Condition, cohortId: number, chainId: number, signer: ethers.Signer): Promise<ethers.ContractTransaction>;
package/dist/es/sign.js CHANGED
@@ -1,4 +1,5 @@
1
- import { convertUserOperationToPython, fromHexString, getPorterUris, PorterClient, SigningCoordinatorAgent, toBase64, toHexString, UserOperationSignatureRequest, } from '@nucypher/shared';
1
+ import { PackedUserOperationSignatureRequest, SessionStaticSecret, UserOperationSignatureRequest, } from '@nucypher/nucypher-core';
2
+ import { fromHexString, getPorterUris, isPackedUserOperation, PorterClient, SigningCoordinatorAgent, toCorePackedUserOperation, toCoreUserOperation, toHexString, } from '@nucypher/shared';
2
3
  import { ethers } from 'ethers';
3
4
  import { ConditionExpression } from './conditions/condition-expr';
4
5
  const ERR_INSUFFICIENT_SIGNATURES = (errors) => `Threshold of signatures not met; TACo signing failed with errors: ${JSON.stringify(errors)}`;
@@ -15,6 +16,30 @@ function aggregateSignatures(signaturesByAddress, threshold) {
15
16
  const allBytes = signatures.flatMap((hex) => Array.from(fromHexString(hex)));
16
17
  return `0x${toHexString(new Uint8Array(allBytes))}`;
17
18
  }
19
+ async function makeSigningRequests(cohortId, chainId, signers, userOp, aaVersion, conditionContext) {
20
+ const coreContext = conditionContext
21
+ ? await conditionContext.toCoreContext()
22
+ : null;
23
+ let signingRequest;
24
+ if (isPackedUserOperation(userOp)) {
25
+ const corePackedUserOp = toCorePackedUserOperation(userOp);
26
+ signingRequest = new PackedUserOperationSignatureRequest(corePackedUserOp, cohortId, BigInt(chainId), aaVersion, coreContext);
27
+ }
28
+ else {
29
+ const coreUserOp = toCoreUserOperation(userOp);
30
+ signingRequest = new UserOperationSignatureRequest(coreUserOp, cohortId, BigInt(chainId), aaVersion, coreContext);
31
+ }
32
+ const ephemeralSessionKey = SessionStaticSecret.random();
33
+ const sharedSecrets = Object.fromEntries(signers.map(({ provider, signingRequestStaticKey }) => {
34
+ const sharedSecret = ephemeralSessionKey.deriveSharedSecret(signingRequestStaticKey);
35
+ return [provider, sharedSecret];
36
+ }));
37
+ const encryptedRequests = Object.fromEntries(Object.entries(sharedSecrets).map(([provider, sessionSharedSecret]) => {
38
+ const encryptedRequest = signingRequest.encrypt(sessionSharedSecret, ephemeralSessionKey.publicKey());
39
+ return [provider, encryptedRequest];
40
+ }));
41
+ return { sharedSecrets, encryptedRequests };
42
+ }
18
43
  /**
19
44
  * Signs a UserOperation.
20
45
  * @param provider - The Ethereum provider to use for signing.
@@ -35,17 +60,49 @@ export async function signUserOp(provider, domain, cohortId, chainId, userOp, aa
35
60
  const porter = new PorterClient(porterUrisFull);
36
61
  const signers = await SigningCoordinatorAgent.getParticipants(provider, domain, cohortId);
37
62
  const threshold = await SigningCoordinatorAgent.getThreshold(provider, domain, cohortId);
38
- const pythonUserOp = convertUserOperationToPython(userOp);
39
- const signingRequest = new UserOperationSignatureRequest(pythonUserOp, aaVersion, cohortId, chainId, context || {}, 'userop');
40
- const signingRequests = Object.fromEntries(signers.map((signer) => [
41
- signer.provider,
42
- toBase64(signingRequest.toBytes()),
43
- ]));
63
+ const { sharedSecrets, encryptedRequests } = await makeSigningRequests(cohortId, chainId, signers, userOp, aaVersion, context);
44
64
  // Build signing request for the user operation
45
- const porterSignResult = await porter.signUserOp(signingRequests, threshold);
65
+ const { encryptedResponses, errors } = await porter.signUserOp(encryptedRequests, threshold);
66
+ if (Object.keys(encryptedResponses).length < threshold) {
67
+ // not enough signatures returned
68
+ throw new Error(ERR_INSUFFICIENT_SIGNATURES(errors));
69
+ }
70
+ const signaturesToAggregate = collectSignatures(encryptedResponses, sharedSecrets, threshold);
71
+ const aggregatedSignature = aggregateSignatures(signaturesToAggregate, threshold);
72
+ return {
73
+ messageHash: Object.values(signaturesToAggregate)[0].messageHash,
74
+ aggregatedSignature,
75
+ signingResults: signaturesToAggregate,
76
+ };
77
+ }
78
+ export async function setSigningCohortConditions(provider, domain, conditions, cohortId, chainId, signer) {
79
+ // Convert Condition to ConditionExpression, then to JSON, then to bytes
80
+ const conditionExpression = new ConditionExpression(conditions);
81
+ const conditionsJson = conditionExpression.toJson();
82
+ const conditionsBytes = ethers.utils.toUtf8Bytes(conditionsJson);
83
+ // Set conditions on the SigningCoordinator contract
84
+ return await SigningCoordinatorAgent.setSigningCohortConditions(provider, domain, cohortId, chainId, conditionsBytes, signer);
85
+ }
86
+ function decryptSignatureResponses(encryptedResponses, sharedSecrets) {
87
+ const decryptedResponses = Object.fromEntries(Object.entries(encryptedResponses).map(([ursulaAddress, encryptedResponse]) => [
88
+ ursulaAddress,
89
+ encryptedResponse.decrypt(sharedSecrets[ursulaAddress]),
90
+ ]));
91
+ const tacoSignatures = Object.fromEntries(Object.entries(decryptedResponses).map(([ursulaAddress, signatureResponse]) => [
92
+ ursulaAddress,
93
+ {
94
+ messageHash: `0x${toHexString(signatureResponse.hash)}`,
95
+ signature: `0x${toHexString(signatureResponse.signature)}`,
96
+ signerAddress: signatureResponse.signer,
97
+ },
98
+ ]));
99
+ return tacoSignatures;
100
+ }
101
+ function collectSignatures(encryptedResponses, sharedSecrets, threshold) {
102
+ const decryptedSignatures = decryptSignatureResponses(encryptedResponses, sharedSecrets);
46
103
  const hashToSignatures = new Map();
47
104
  // Single pass: decode signatures and populate signingResults
48
- for (const [ursulaAddress, signature] of Object.entries(porterSignResult.signingResults)) {
105
+ for (const [ursulaAddress, signature] of Object.entries(decryptedSignatures)) {
49
106
  // For non-optimistic: track hashes and group signatures for aggregation
50
107
  const hash = signature.messageHash;
51
108
  if (!hashToSignatures.has(hash)) {
@@ -53,43 +110,21 @@ export async function signUserOp(provider, domain, cohortId, chainId, userOp, aa
53
110
  }
54
111
  hashToSignatures.get(hash)[ursulaAddress] = signature;
55
112
  }
56
- let messageHash = undefined;
113
+ // Find a hash that meets the threshold
57
114
  let signaturesToAggregate = undefined;
58
- for (const [hash, signatures] of hashToSignatures.entries()) {
115
+ for (const signatures of hashToSignatures.values()) {
59
116
  if (Object.keys(signatures).length >= threshold) {
60
117
  signaturesToAggregate = signatures;
61
- messageHash = hash;
62
118
  break;
63
119
  }
64
120
  }
65
121
  // Insufficient signatures for a message hash to meet the threshold
66
- if (!messageHash || !signaturesToAggregate) {
67
- if (hashToSignatures.size > 1 &&
68
- Object.keys(porterSignResult.errors).length < signers.length - threshold) {
69
- // Two things are true:
70
- // 1. we have multiple hashes, which means we have mismatched hashes from different nodes
71
- // we don't really expect this to happen (other than some malicious nodes)
72
- // 2. number of errors still could have allowed for a threshold of signatures
73
- console.error('Porter returned mismatched message hashes:', hashToSignatures);
74
- throw new Error(ERR_MISMATCHED_HASHES(hashToSignatures));
75
- }
76
- else {
77
- throw new Error(ERR_INSUFFICIENT_SIGNATURES(porterSignResult.errors));
78
- }
122
+ if (!signaturesToAggregate) {
123
+ //we have multiple hashes, which means we have mismatched hashes from different nodes
124
+ // we don't really expect this to happen (other than some malicious nodes)
125
+ console.error('Porter returned mismatched message hashes:', hashToSignatures);
126
+ throw new Error(ERR_MISMATCHED_HASHES(hashToSignatures));
79
127
  }
80
- const aggregatedSignature = aggregateSignatures(signaturesToAggregate, threshold);
81
- return {
82
- messageHash,
83
- aggregatedSignature,
84
- signingResults: porterSignResult.signingResults,
85
- };
86
- }
87
- export async function setSigningCohortConditions(provider, domain, conditions, cohortId, chainId, signer) {
88
- // Convert Condition to ConditionExpression, then to JSON, then to bytes
89
- const conditionExpression = new ConditionExpression(conditions);
90
- const conditionsJson = conditionExpression.toJson();
91
- const conditionsBytes = ethers.utils.toUtf8Bytes(conditionsJson);
92
- // Set conditions on the SigningCoordinator contract
93
- return await SigningCoordinatorAgent.setSigningCohortConditions(provider, domain, cohortId, chainId, conditionsBytes, signer);
128
+ return signaturesToAggregate;
94
129
  }
95
130
  //# sourceMappingURL=sign.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/sign.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/sign.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export { Conditions as CoreConditions, Context as CoreContext, } from '@nucypher/nucypher-core';
2
- export type { UserOperation } from '@nucypher/shared';
2
+ export { UserOperationToSign } from '@nucypher/shared';