@nucypher/taco 0.4.0 → 0.5.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 (58) hide show
  1. package/README.md +0 -1
  2. package/dist/cjs/conditions/base/contract.d.ts +14 -18
  3. package/dist/cjs/conditions/base/rpc.d.ts +6 -6
  4. package/dist/cjs/conditions/base/time.d.ts +5 -5
  5. package/dist/cjs/conditions/condition-expr.d.ts +0 -3
  6. package/dist/cjs/conditions/condition-expr.js +0 -4
  7. package/dist/cjs/conditions/condition-expr.js.map +1 -1
  8. package/dist/cjs/conditions/const.d.ts +0 -2
  9. package/dist/cjs/conditions/const.js +2 -7
  10. package/dist/cjs/conditions/const.js.map +1 -1
  11. package/dist/cjs/conditions/context/context.d.ts +15 -13
  12. package/dist/cjs/conditions/context/context.js +61 -55
  13. package/dist/cjs/conditions/context/context.js.map +1 -1
  14. package/dist/cjs/conditions/shared.d.ts +2 -2
  15. package/dist/cjs/conditions/shared.js +2 -2
  16. package/dist/cjs/conditions/shared.js.map +1 -1
  17. package/dist/cjs/dkg.d.ts +1 -1
  18. package/dist/cjs/dkg.js +2 -2
  19. package/dist/cjs/dkg.js.map +1 -1
  20. package/dist/cjs/index.d.ts +2 -3
  21. package/dist/cjs/index.js +2 -8
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/taco.d.ts +5 -23
  24. package/dist/cjs/taco.js +9 -36
  25. package/dist/cjs/taco.js.map +1 -1
  26. package/dist/cjs/tdec.d.ts +3 -4
  27. package/dist/cjs/tdec.js +11 -8
  28. package/dist/cjs/tdec.js.map +1 -1
  29. package/dist/es/conditions/base/contract.d.ts +14 -18
  30. package/dist/es/conditions/base/rpc.d.ts +6 -6
  31. package/dist/es/conditions/base/time.d.ts +5 -5
  32. package/dist/es/conditions/condition-expr.d.ts +0 -3
  33. package/dist/es/conditions/condition-expr.js +0 -4
  34. package/dist/es/conditions/condition-expr.js.map +1 -1
  35. package/dist/es/conditions/const.d.ts +0 -2
  36. package/dist/es/conditions/const.js +1 -6
  37. package/dist/es/conditions/const.js.map +1 -1
  38. package/dist/es/conditions/context/context.d.ts +15 -13
  39. package/dist/es/conditions/context/context.js +62 -56
  40. package/dist/es/conditions/context/context.js.map +1 -1
  41. package/dist/es/conditions/shared.d.ts +2 -2
  42. package/dist/es/conditions/shared.js +3 -5
  43. package/dist/es/conditions/shared.js.map +1 -1
  44. package/dist/es/dkg.d.ts +1 -1
  45. package/dist/es/dkg.js +2 -2
  46. package/dist/es/dkg.js.map +1 -1
  47. package/dist/es/index.d.ts +2 -3
  48. package/dist/es/index.js +2 -5
  49. package/dist/es/index.js.map +1 -1
  50. package/dist/es/taco.d.ts +5 -23
  51. package/dist/es/taco.js +9 -34
  52. package/dist/es/taco.js.map +1 -1
  53. package/dist/es/tdec.d.ts +3 -4
  54. package/dist/es/tdec.js +12 -9
  55. package/dist/es/tdec.js.map +1 -1
  56. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  57. package/dist/tsconfig.es.tsbuildinfo +1 -1
  58. package/package.json +6 -6
@@ -1,40 +1,35 @@
1
1
  import { toJSON } from '@nucypher/shared';
2
- import { AUTH_METHOD_FOR_PARAM, } from '@nucypher/taco-auth';
2
+ import { EIP4361AuthProvider, SingleSignOnEIP4361AuthProvider, USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
3
3
  import { CoreConditions, CoreContext } from '../../types';
4
4
  import { CompoundConditionType } from '../compound-condition';
5
5
  import { ConditionExpression } from '../condition-expr';
6
- import { CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP, RESERVED_CONTEXT_PARAMS, USER_ADDRESS_PARAMS, } from '../const';
6
+ import { CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP, USER_ADDRESS_PARAMS, } from '../const';
7
7
  const ERR_RESERVED_PARAM = (key) => `Cannot use reserved parameter name ${key} as custom parameter`;
8
8
  const ERR_INVALID_CUSTOM_PARAM = (key) => `Custom parameter ${key} must start with ${CONTEXT_PARAM_PREFIX}`;
9
9
  const ERR_AUTH_PROVIDER_REQUIRED = (key) => `No matching authentication provider to satisfy ${key} context variable in condition`;
10
10
  const ERR_MISSING_CONTEXT_PARAMS = (params) => `Missing custom context parameter(s): ${params.join(', ')}`;
11
- const ERR_UNKNOWN_CONTEXT_PARAMS = (params) => `Unknown custom context parameter(s): ${params.join(', ')}`;
12
- const ERR_NO_AUTH_PROVIDER_FOR_PARAM = (param) => `No custom parameter for requested context parameter: ${param}`;
11
+ const ERR_UNKNOWN_CUSTOM_CONTEXT_PARAM = (param) => `Unknown custom context parameter: ${param}`;
12
+ const ERR_INVALID_AUTH_PROVIDER_TYPE = (param, expected) => `Invalid AuthProvider type for ${param}; expected ${expected}`;
13
+ const ERR_AUTH_PROVIDER_NOT_NEEDED_FOR_CONTEXT_PARAM = (param) => `AuthProvider not necessary for context parameter: ${param}`;
14
+ const EXPECTED_AUTH_PROVIDER_TYPES = {
15
+ [USER_ADDRESS_PARAM_DEFAULT]: EIP4361AuthProvider,
16
+ [USER_ADDRESS_PARAM_EXTERNAL_EIP4361]: SingleSignOnEIP4361AuthProvider,
17
+ };
18
+ export const RESERVED_CONTEXT_PARAMS = [
19
+ USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
20
+ USER_ADDRESS_PARAM_DEFAULT,
21
+ ];
13
22
  export class ConditionContext {
14
- customParameters;
15
- authProviders;
16
- requestedParameters;
17
- constructor(condition, customParameters = {}, authProviders = {}) {
18
- this.customParameters = customParameters;
19
- this.authProviders = authProviders;
23
+ requestedContextParameters;
24
+ customContextParameters = {};
25
+ authProviders = {};
26
+ constructor(condition) {
20
27
  const condProps = condition.toObj();
21
- this.validateContextParameters();
22
- this.validateCoreConditions(condProps);
23
- this.requestedParameters =
28
+ ConditionContext.validateCoreConditions(condProps);
29
+ this.requestedContextParameters =
24
30
  ConditionContext.findContextParameters(condProps);
25
- this.validateAuthProviders(this.requestedParameters);
26
31
  }
27
- validateContextParameters() {
28
- Object.keys(this.customParameters).forEach((key) => {
29
- if (RESERVED_CONTEXT_PARAMS.includes(key)) {
30
- throw new Error(ERR_RESERVED_PARAM(key));
31
- }
32
- if (!key.startsWith(CONTEXT_PARAM_PREFIX)) {
33
- throw new Error(ERR_INVALID_CUSTOM_PARAM(key));
34
- }
35
- });
36
- }
37
- validateCoreConditions(condObject) {
32
+ static validateCoreConditions(condObject) {
38
33
  // Checking whether the condition is compatible with the current version of the library
39
34
  // Intentionally ignoring the return value of the function
40
35
  new CoreConditions(toJSON(condObject));
@@ -42,54 +37,52 @@ export class ConditionContext {
42
37
  validateNoMissingContextParameters(parameters) {
43
38
  // Ok, so at this point we should have all the parameters we need
44
39
  // If we don't, we have a problem and we should throw
45
- const missingParameters = Array.from(this.requestedParameters).filter((key) => parameters[key] === undefined);
40
+ const missingParameters = Array.from(this.requestedContextParameters).filter((key) => parameters[key] === undefined);
46
41
  if (missingParameters.length > 0) {
47
42
  throw new Error(ERR_MISSING_CONTEXT_PARAMS(missingParameters));
48
43
  }
49
- // We may also have some parameters that are not used
50
- const unknownParameters = Object.keys(parameters).filter((key) => !this.requestedParameters.has(key) &&
51
- !RESERVED_CONTEXT_PARAMS.includes(key));
52
- if (unknownParameters.length > 0) {
53
- throw new Error(ERR_UNKNOWN_CONTEXT_PARAMS(unknownParameters));
54
- }
55
44
  }
56
- async fillContextParameters(requestedParameters) {
57
- const parameters = await this.fillAuthContextParameters(requestedParameters);
58
- for (const key in this.customParameters) {
59
- parameters[key] = this.customParameters[key];
45
+ async fillContextParameters(requestedContextParameters) {
46
+ const parameters = await this.fillAuthContextParameters(requestedContextParameters);
47
+ for (const key in this.customContextParameters) {
48
+ parameters[key] = this.customContextParameters[key];
60
49
  }
61
50
  return parameters;
62
51
  }
63
- validateAuthProviders(requestedParameters) {
64
- for (const param of requestedParameters) {
52
+ validateAuthProviders() {
53
+ for (const param of this.requestedContextParameters) {
65
54
  // If it's not a user address parameter, we can skip
66
55
  if (!USER_ADDRESS_PARAMS.includes(param)) {
67
56
  continue;
68
57
  }
69
- // If it's a user address parameter, we need to check if we have an auth provider
70
- const authMethod = AUTH_METHOD_FOR_PARAM[param];
71
- if (!authMethod && !this.customParameters[param]) {
72
- // If we don't have an auth method, and we don't have a custom parameter, we have a problem
73
- throw new Error(ERR_NO_AUTH_PROVIDER_FOR_PARAM(param));
74
- }
75
- // If we have an auth method, but we don't have an auth provider, we have a problem
76
- if (authMethod && !this.authProviders[authMethod]) {
58
+ // we don't have a corresponding auth provider, we have a problem
59
+ if (!this.authProviders[param]) {
77
60
  throw new Error(ERR_AUTH_PROVIDER_REQUIRED(param));
78
61
  }
79
62
  }
80
63
  }
81
64
  async fillAuthContextParameters(requestedParameters) {
82
65
  const entries = await Promise.all([...requestedParameters]
83
- .map((param) => [param, AUTH_METHOD_FOR_PARAM[param]])
84
- .filter(([, authMethod]) => !!authMethod)
85
- .map(async ([param, authMethod]) => {
86
- const maybeAuthProvider = this.authProviders[authMethod];
66
+ .filter((param) => USER_ADDRESS_PARAMS.includes(param))
67
+ .map(async (param) => {
68
+ const maybeAuthProvider = this.authProviders[param];
87
69
  // TODO: Throw here instead of validating in the constructor?
88
70
  // TODO: Hide getOrCreateAuthSignature behind a more generic interface
89
71
  return [param, await maybeAuthProvider.getOrCreateAuthSignature()];
90
72
  }));
91
73
  return Object.fromEntries(entries);
92
74
  }
75
+ validateCustomContextParameter(customParam) {
76
+ if (!ConditionContext.isContextParameter(customParam)) {
77
+ throw new Error(ERR_INVALID_CUSTOM_PARAM(customParam));
78
+ }
79
+ if (RESERVED_CONTEXT_PARAMS.includes(customParam)) {
80
+ throw new Error(ERR_RESERVED_PARAM(customParam));
81
+ }
82
+ if (!this.requestedContextParameters.has(customParam)) {
83
+ throw new Error(ERR_UNKNOWN_CUSTOM_CONTEXT_PARAM(customParam));
84
+ }
85
+ }
93
86
  static isContextParameter(param) {
94
87
  return !!String(param).match(CONTEXT_PARAM_REGEXP);
95
88
  }
@@ -131,6 +124,21 @@ export class ConditionContext {
131
124
  }
132
125
  return requestedParameters;
133
126
  }
127
+ addCustomContextParameterValues(customContextParameters) {
128
+ Object.keys(customContextParameters).forEach((key) => {
129
+ this.validateCustomContextParameter(key);
130
+ this.customContextParameters[key] = customContextParameters[key];
131
+ });
132
+ }
133
+ addAuthProvider(contextParam, authProvider) {
134
+ if (!(contextParam in EXPECTED_AUTH_PROVIDER_TYPES)) {
135
+ throw new Error(ERR_AUTH_PROVIDER_NOT_NEEDED_FOR_CONTEXT_PARAM(contextParam));
136
+ }
137
+ if (!(authProvider instanceof EXPECTED_AUTH_PROVIDER_TYPES[contextParam])) {
138
+ throw new Error(ERR_INVALID_AUTH_PROVIDER_TYPE(contextParam, typeof authProvider));
139
+ }
140
+ this.authProviders[contextParam] = authProvider;
141
+ }
134
142
  async toJson() {
135
143
  const parameters = await this.toContextParameters();
136
144
  return toJSON(parameters);
@@ -140,16 +148,14 @@ export class ConditionContext {
140
148
  return new CoreContext(asJson);
141
149
  }
142
150
  toContextParameters = async () => {
143
- const parameters = await this.fillContextParameters(this.requestedParameters);
151
+ this.validateAuthProviders();
152
+ const parameters = await this.fillContextParameters(this.requestedContextParameters);
144
153
  this.validateNoMissingContextParameters(parameters);
145
154
  return parameters;
146
155
  };
147
- static fromConditions(conditions, authProviders, customParameters) {
148
- return new ConditionContext(ConditionExpression.fromCoreConditions(conditions).condition, customParameters, authProviders);
149
- }
150
- static requestedContextParameters(messageKit) {
156
+ static fromMessageKit(messageKit) {
151
157
  const conditionExpr = ConditionExpression.fromCoreConditions(messageKit.acp.conditions);
152
- return ConditionContext.findContextParameters(conditionExpr.condition.toObj());
158
+ return new ConditionContext(conditionExpr.condition);
153
159
  }
154
160
  }
155
161
  //# 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":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAGL,mBAAmB,EACnB,+BAA+B,EAC/B,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAKlB,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CACzC,sCAAsC,GAAG,sBAAsB,CAAC;AAClE,MAAM,wBAAwB,GAAG,CAAC,GAAW,EAAE,EAAE,CAC/C,oBAAoB,GAAG,oBAAoB,oBAAoB,EAAE,CAAC;AACpE,MAAM,0BAA0B,GAAG,CAAC,GAAW,EAAE,EAAE,CACjD,kDAAkD,GAAG,gCAAgC,CAAC;AACxF,MAAM,0BAA0B,GAAG,CAAC,MAAgB,EAAE,EAAE,CACtD,wCAAwC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9D,MAAM,gCAAgC,GAAG,CAAC,KAAa,EAAE,EAAE,CACzD,qCAAqC,KAAK,EAAE,CAAC;AAC/C,MAAM,8BAA8B,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE,CACzE,iCAAiC,KAAK,cAAc,QAAQ,EAAE,CAAC;AACjE,MAAM,8CAA8C,GAAG,CAAC,KAAa,EAAE,EAAE,CACvE,qDAAqD,KAAK,EAAE,CAAC;AAK/D,MAAM,4BAA4B,GAAqC;IACrE,CAAC,0BAA0B,CAAC,EAAE,mBAAmB;IACjD,CAAC,mCAAmC,CAAC,EAAE,+BAA+B;CACvE,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,mCAAmC;IACnC,0BAA0B;CAC3B,CAAC;AAEF,MAAM,OAAO,gBAAgB;IACpB,0BAA0B,CAAc;IACvC,uBAAuB,GAAuC,EAAE,CAAC;IACjE,aAAa,GAAiC,EAAE,CAAC;IAEzD,YAAY,SAAoB;QAC9B,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QACpC,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,0BAA0B;YAC7B,gBAAgB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,UAA0B;QAC9D,uFAAuF;QACvF,0DAA0D;QAC1D,IAAI,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACzC,CAAC;IAEO,kCAAkC,CACxC,UAAwC;QAExC,iEAAiE;QACjE,qDAAqD;QACrD,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAClC,IAAI,CAAC,0BAA0B,CAChC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;QACjD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,0BAAuC;QAEvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CACrD,0BAA0B,CAC3B,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/C,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,qBAAqB;QAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpD,oDAAoD;YACpD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,SAAS;YACX,CAAC;YAED,iEAAiE;YACjE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,mBAAgC;QAEhC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,CAAC,GAAG,mBAAmB,CAAC;aACrB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACtD,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpD,6DAA6D;YAC7D,sEAAsE;YACtE,OAAO,CAAC,KAAK,EAAE,MAAM,iBAAkB,CAAC,wBAAwB,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CACL,CAAC;QACF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEO,8BAA8B,CAAC,WAAmB;QACxD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,uBAAuB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,WAAW,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,KAAc;QAC9C,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACrD,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,SAAyB;QAC5D,2DAA2D;QAC3D,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE9C,0BAA0B;QAC1B,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC;YAC5C,wEAAwE;YACxE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACpB,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC/C,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,uCAAuC;YACzC,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,SAAS,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;YACtD,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;oBAChC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAEM,+BAA+B,CACpC,uBAA2D;QAE3D,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnD,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,YAAoB,EAAE,YAA0B;QACrE,IAAI,CAAC,CAAC,YAAY,IAAI,4BAA4B,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,8CAA8C,CAAC,YAAY,CAAC,CAC7D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,CAAC,YAAY,YAAY,4BAA4B,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CACb,8BAA8B,CAAC,YAAY,EAAE,OAAO,YAAY,CAAC,CAClE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEM,mBAAmB,GAAG,KAAK,IAEhC,EAAE;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACjD,IAAI,CAAC,0BAA0B,CAChC,CAAC;QACF,IAAI,CAAC,kCAAkC,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEK,MAAM,CAAC,cAAc,CAC1B,UAA+B;QAE/B,MAAM,aAAa,GAAG,mBAAmB,CAAC,kBAAkB,CAC1D,UAAU,CAAC,GAAG,CAAC,UAAU,CAC1B,CAAC;QACF,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -8,12 +8,12 @@ export declare const returnValueTestSchema: z.ZodObject<{
8
8
  value: z.ZodType<any, z.ZodTypeDef, any>;
9
9
  }, "strip", z.ZodTypeAny, {
10
10
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
11
- value?: any;
12
11
  index?: number | undefined;
12
+ value?: any;
13
13
  }, {
14
14
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
15
- value?: any;
16
15
  index?: number | undefined;
16
+ value?: any;
17
17
  }>;
18
18
  export type ReturnValueTestProps = z.infer<typeof returnValueTestSchema>;
19
19
  export declare const EthAddressOrUserAddressSchema: z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEnum<[":userAddress", ":userAddressExternalEIP4361"]>]>;
@@ -1,16 +1,14 @@
1
1
  import { EthAddressSchema } from '@nucypher/shared';
2
- import { USER_ADDRESS_PARAM_DEFAULT } from '@nucypher/taco-auth';
2
+ import { USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
3
3
  import { z } from 'zod';
4
- import { CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP,
5
- // TODO consider moving this
6
- USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from './const';
4
+ import { CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP } from './const';
7
5
  export const contextParamSchema = z.string().regex(CONTEXT_PARAM_REGEXP);
8
6
  // We want to discriminate between ContextParams and plain strings
9
7
  // If a string starts with `:`, it's a ContextParam
10
8
  export const plainStringSchema = z.string().refine((str) => {
11
9
  return !str.startsWith(CONTEXT_PARAM_PREFIX);
12
10
  }, {
13
- message: 'String must not be a context parameter i.e. not start with ":"',
11
+ message: `String must not be a context parameter i.e. not start with "${CONTEXT_PARAM_PREFIX}"`,
14
12
  });
15
13
  const paramSchema = z.union([plainStringSchema, z.boolean(), z.number()]);
16
14
  export const paramOrContextParamSchema = z.union([
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/conditions/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,oBAAoB,EACpB,oBAAoB;AACpB,4BAA4B;AAC5B,mCAAmC,GACpC,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,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/B,0BAA0B;IAC1B,mCAAmC;CACpC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC;IACnD,gBAAgB;IAChB,iBAAiB;CAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/conditions/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAErE,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,+DAA+D,oBAAoB,GAAG;CAChG,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,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/B,0BAA0B;IAC1B,mCAAmC;CACpC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC;IACnD,gBAAgB;IAChB,iBAAiB;CAClB,CAAC,CAAC"}
package/dist/es/dkg.d.ts CHANGED
@@ -20,7 +20,7 @@ export declare class DkgRitual {
20
20
  equals(other: DkgRitual): boolean;
21
21
  }
22
22
  export declare class DkgClient {
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>;
23
+ static initializeRitual(provider: ethers.providers.Provider, signer: ethers.Signer, domain: Domain, ursulas: ChecksumAddress[], authority: string, duration: BigNumberish, feeModel: string, 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
26
  static getActiveRitual(provider: ethers.providers.Provider, domain: Domain, ritualId: number): Promise<DkgRitual>;
package/dist/es/dkg.js CHANGED
@@ -37,9 +37,9 @@ export class DkgRitual {
37
37
  }
38
38
  const ERR_RITUAL_NOT_FINALIZED = (ritualId, ritual) => `Ritual ${ritualId} is not finalized. State: ${ritual.state}`;
39
39
  export class DkgClient {
40
- static async initializeRitual(provider, signer, domain, ursulas, authority, duration, accessController, waitUntilEnd = false) {
40
+ static async initializeRitual(provider, signer, domain, ursulas, authority, duration, feeModel, accessController, waitUntilEnd = false) {
41
41
  const ritualId = await DkgCoordinatorAgent.initializeRitual(provider, signer, domain, ursulas.sort(), // Contract call requires sorted addresses
42
- authority, duration, accessController);
42
+ authority, duration, feeModel, accessController);
43
43
  if (waitUntilEnd) {
44
44
  const isSuccessful = await DkgClient.waitUntilRitualEnd(provider, domain, ritualId);
45
45
  if (!isSuccessful) {
@@ -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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"}
@@ -1,5 +1,4 @@
1
1
  export { DkgPublicKey, ThresholdMessageKit } from '@nucypher/nucypher-core';
2
- export { Domain, domains, fromBytes, getPorterUri, initialize, toBytes, toHexString, } from '@nucypher/shared';
2
+ export { Domain, domains, fromBytes, getPorterUris, initialize, toBytes, toHexString, } from '@nucypher/shared';
3
3
  export * as conditions from './conditions';
4
- export { decrypt, encrypt, encryptWithPublicKey, isAuthorized } from './taco';
5
- export { EIP4361AuthProvider, SingleSignOnEIP4361AuthProvider, } from '@nucypher/taco-auth';
4
+ export { decrypt, encrypt, encryptWithPublicKey } from './taco';
package/dist/es/index.js CHANGED
@@ -1,8 +1,5 @@
1
1
  export { DkgPublicKey, ThresholdMessageKit } from '@nucypher/nucypher-core';
2
- export { domains, fromBytes, getPorterUri, initialize, toBytes, toHexString, } from '@nucypher/shared';
2
+ export { domains, fromBytes, getPorterUris, initialize, toBytes, toHexString, } from '@nucypher/shared';
3
3
  export * as conditions from './conditions';
4
- // TODO(#324): Expose registerEncrypters from taco API
5
- export { decrypt, encrypt, encryptWithPublicKey, isAuthorized } from './taco';
6
- // TODO: Remove this re-export once `@nucypher/taco-auth` is mature and published
7
- export { EIP4361AuthProvider, SingleSignOnEIP4361AuthProvider, } from '@nucypher/taco-auth';
4
+ export { decrypt, encrypt, encryptWithPublicKey } from './taco';
8
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAEL,OAAO,EACP,SAAS,EACT,YAAY,EACZ,UAAU,EACV,OAAO,EACP,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,sDAAsD;AACtD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE9E,iFAAiF;AACjF,OAAO,EACL,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAEL,OAAO,EACP,SAAS,EACT,aAAa,EACb,UAAU,EACV,OAAO,EACP,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC"}
package/dist/es/taco.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  import { DkgPublicKey, ThresholdMessageKit } from '@nucypher/nucypher-core';
2
- import { ChecksumAddress, Domain } from '@nucypher/shared';
3
- import { EIP4361AuthProvider } from '@nucypher/taco-auth';
2
+ import { Domain } from '@nucypher/shared';
4
3
  import { ethers } from 'ethers';
5
4
  import { Condition } from './conditions/condition';
6
- import { CustomContextParam } from './conditions/context';
5
+ import { ConditionContext } from './conditions/context';
7
6
  /**
8
7
  * Encrypts a message under given conditions using a public key from an active DKG ritual.
9
8
  *
@@ -50,30 +49,13 @@ export declare const encryptWithPublicKey: (message: Uint8Array | string, condit
50
49
  * @param {Domain} domain - Represents the logical network in which the decryption will be performed.
51
50
  * Must match the `ritualId`.
52
51
  * @param {ThresholdMessageKit} messageKit - The kit containing the message to be decrypted
53
- * @param authProvider - The authentication provider that will be used to provide the authorization
54
- * @param {string} [porterUri] - The URI for the Porter service. If not provided, a value will be obtained
52
+ * @param {ConditionContext} context - Optional context data used for decryption time values for the condition(s) within the `messageKit`.
53
+ * @param {string[]} [porterUris] - Optional URI(s) for the Porter service. If not provided, a value will be obtained
55
54
  * from the Domain
56
- * @param {Record<string, CustomContextParam>} [customParameters] - Optional custom parameters that may be required
57
- * depending on the condition used
58
55
  *
59
56
  * @returns {Promise<Uint8Array>} Returns Promise that resolves with a decrypted message
60
57
  *
61
58
  * @throws {Error} If the active DKG Ritual cannot be retrieved or decryption process throws an error,
62
59
  * an error is thrown.
63
60
  */
64
- export declare const decrypt: (provider: ethers.providers.Provider, domain: Domain, messageKit: ThresholdMessageKit, authProvider?: EIP4361AuthProvider, porterUri?: string, customParameters?: Record<string, CustomContextParam>) => Promise<Uint8Array>;
65
- /**
66
- * Checks if the encryption from the provided messageKit is authorized for the specified ritual.
67
- *
68
- * @export
69
- * @param {ethers.providers.Provider} provider - Instance of ethers provider which is used to interact with
70
- * your selected network.
71
- * @param {Domain} domain - The domain which was used to encrypt the network. Must match the `ritualId`.
72
- * @param {ThresholdMessageKit} messageKit - The encrypted message kit to be checked.
73
- * @param {number} ritualId - The ID of the DKG Ritual under which the messageKit was supposedly encrypted.
74
- *
75
- * @returns {Promise<boolean>} Returns a Promise that resolves with the authorization status.
76
- * True if authorized, false otherwise
77
- */
78
- export declare const isAuthorized: (provider: ethers.providers.Provider, domain: Domain, messageKit: ThresholdMessageKit, ritualId: number) => Promise<boolean>;
79
- export declare const registerEncrypters: (provider: ethers.providers.Provider, signer: ethers.Signer, domain: Domain, ritualId: number, encrypters: ChecksumAddress[]) => Promise<void>;
61
+ export declare const decrypt: (provider: ethers.providers.Provider, domain: Domain, messageKit: ThresholdMessageKit, context?: ConditionContext, porterUris?: string[]) => Promise<Uint8Array>;
package/dist/es/taco.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { AccessControlPolicy, encryptForDkg, ThresholdMessageKit, } from '@nucypher/nucypher-core';
2
- import { DkgCoordinatorAgent, fromHexString, getPorterUri, GlobalAllowListAgent, toBytes, } from '@nucypher/shared';
3
- import { EIP4361_AUTH_METHOD, } from '@nucypher/taco-auth';
2
+ import { DkgCoordinatorAgent, fromHexString, getPorterUris, PorterClient, toBytes, } from '@nucypher/shared';
4
3
  import { keccak256 } from 'ethers/lib/utils';
5
4
  import { ConditionExpression } from './conditions/condition-expr';
6
5
  import { DkgClient } from './dkg';
@@ -76,45 +75,21 @@ export const encryptWithPublicKey = async (message, condition, dkgPublicKey, aut
76
75
  * @param {Domain} domain - Represents the logical network in which the decryption will be performed.
77
76
  * Must match the `ritualId`.
78
77
  * @param {ThresholdMessageKit} messageKit - The kit containing the message to be decrypted
79
- * @param authProvider - The authentication provider that will be used to provide the authorization
80
- * @param {string} [porterUri] - The URI for the Porter service. If not provided, a value will be obtained
78
+ * @param {ConditionContext} context - Optional context data used for decryption time values for the condition(s) within the `messageKit`.
79
+ * @param {string[]} [porterUris] - Optional URI(s) for the Porter service. If not provided, a value will be obtained
81
80
  * from the Domain
82
- * @param {Record<string, CustomContextParam>} [customParameters] - Optional custom parameters that may be required
83
- * depending on the condition used
84
81
  *
85
82
  * @returns {Promise<Uint8Array>} Returns Promise that resolves with a decrypted message
86
83
  *
87
84
  * @throws {Error} If the active DKG Ritual cannot be retrieved or decryption process throws an error,
88
85
  * an error is thrown.
89
86
  */
90
- export const decrypt = async (provider, domain, messageKit, authProvider, porterUri, customParameters) => {
91
- if (!porterUri) {
92
- porterUri = getPorterUri(domain);
93
- }
87
+ export const decrypt = async (provider, domain, messageKit, context, porterUris) => {
88
+ const porterUrisFull = porterUris
89
+ ? porterUris
90
+ : await getPorterUris(domain);
91
+ const porter = new PorterClient(porterUrisFull);
94
92
  const ritualId = await DkgCoordinatorAgent.getRitualIdFromPublicKey(provider, domain, messageKit.acp.publicKey);
95
- const ritual = await DkgClient.getActiveRitual(provider, domain, ritualId);
96
- const authProviders = authProvider
97
- ? {
98
- [EIP4361_AUTH_METHOD]: authProvider,
99
- }
100
- : {};
101
- return retrieveAndDecrypt(provider, domain, porterUri, messageKit, ritualId, ritual.sharesNum, ritual.threshold, authProviders, customParameters);
102
- };
103
- /**
104
- * Checks if the encryption from the provided messageKit is authorized for the specified ritual.
105
- *
106
- * @export
107
- * @param {ethers.providers.Provider} provider - Instance of ethers provider which is used to interact with
108
- * your selected network.
109
- * @param {Domain} domain - The domain which was used to encrypt the network. Must match the `ritualId`.
110
- * @param {ThresholdMessageKit} messageKit - The encrypted message kit to be checked.
111
- * @param {number} ritualId - The ID of the DKG Ritual under which the messageKit was supposedly encrypted.
112
- *
113
- * @returns {Promise<boolean>} Returns a Promise that resolves with the authorization status.
114
- * True if authorized, false otherwise
115
- */
116
- export const isAuthorized = async (provider, domain, messageKit, ritualId) => DkgCoordinatorAgent.isEncryptionAuthorized(provider, domain, ritualId, messageKit);
117
- export const registerEncrypters = async (provider, signer, domain, ritualId, encrypters) => {
118
- await GlobalAllowListAgent.registerEncrypters(provider, signer, domain, ritualId, encrypters);
93
+ return retrieveAndDecrypt(provider, domain, porter, messageKit, ritualId, context);
119
94
  };
120
95
  //# sourceMappingURL=taco.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taco.js","sourceRoot":"","sources":["../../src/taco.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taco.js","sourceRoot":"","sources":["../../src/taco.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEnB,aAAa,EACb,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EAEnB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,OAAO,GACR,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,QAAmC,EACnC,MAAc,EACd,OAA4B,EAC5B,SAAoB,EACpB,QAAgB,EAChB,UAAyB,EACK,EAAE;IAChC,2CAA2C;IAC3C,gCAAgC;IAChC,iDAAiD;IACjD,gBAAgB;IAChB,mCAAmC;IACnC,WAAW;IACX,OAAO;IACP,IAAI;IACJ,gCAAgC;IAChC,2EAA2E;IAC3E,+CAA+C;IAC/C,IAAI;IACJ,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE9E,OAAO,MAAM,oBAAoB,CAC/B,OAAO,EACP,SAAS,EACT,SAAS,CAAC,YAAY,EACtB,UAAU,CACX,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,OAA4B,EAC5B,SAAoB,EACpB,YAA0B,EAC1B,UAAyB,EACK,EAAE;IAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEzD,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG,aAAa,CACnD,OAAO,EACP,YAAY,EACZ,aAAa,CAAC,eAAe,EAAE,CAChC,CAAC;IAEF,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,IAAI,mBAAmB,CACjC,iBAAiB,EACjB,aAAa,CAAC,aAAa,CAAC,CAC7B,CAAC;IAEF,OAAO,IAAI,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,QAAmC,EACnC,MAAc,EACd,UAA+B,EAC/B,OAA0B,EAC1B,UAAqB,EACA,EAAE;IACvB,MAAM,cAAc,GAAa,UAAU;QACzC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,wBAAwB,CACjE,QAAQ,EACR,MAAM,EACN,UAAU,CAAC,GAAG,CAAC,SAAS,CACzB,CAAC;IACF,OAAO,kBAAkB,CACvB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,UAAU,EACV,QAAQ,EACR,OAAO,CACR,CAAC;AACJ,CAAC,CAAC"}
package/dist/es/tdec.d.ts CHANGED
@@ -1,8 +1,7 @@
1
1
  import { DkgPublicKey, ThresholdMessageKit } from '@nucypher/nucypher-core';
2
- import { Domain } from '@nucypher/shared';
3
- import { AuthProviders } from '@nucypher/taco-auth';
2
+ import { Domain, PorterClient } from '@nucypher/shared';
4
3
  import { ethers } from 'ethers';
5
4
  import { ConditionExpression } from './conditions/condition-expr';
6
- import { CustomContextParam } from './conditions/context';
5
+ import { ConditionContext } from './conditions/context';
7
6
  export declare const encryptMessage: (plaintext: Uint8Array | string, encryptingKey: DkgPublicKey, conditions: ConditionExpression, authSigner: ethers.Signer) => Promise<ThresholdMessageKit>;
8
- export declare const retrieveAndDecrypt: (provider: ethers.providers.Provider, domain: Domain, porterUri: string, thresholdMessageKit: ThresholdMessageKit, ritualId: number, sharesNum: number, threshold: number, authProviders?: AuthProviders, customParameters?: Record<string, CustomContextParam>) => Promise<Uint8Array>;
7
+ export declare const retrieveAndDecrypt: (provider: ethers.providers.Provider, domain: Domain, porter: PorterClient, thresholdMessageKit: ThresholdMessageKit, ritualId: number, context?: ConditionContext) => Promise<Uint8Array>;
package/dist/es/tdec.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { AccessControlPolicy, combineDecryptionSharesSimple, DecryptionShareSimple, encryptForDkg, FerveoVariant, SessionStaticSecret, ThresholdDecryptionRequest, ThresholdMessageKit, } from '@nucypher/nucypher-core';
2
- import { DkgCoordinatorAgent, PorterClient, toBytes, } from '@nucypher/shared';
2
+ import { DkgCoordinatorAgent, toBytes, } from '@nucypher/shared';
3
3
  import { arrayify, keccak256 } from 'ethers/lib/utils';
4
4
  import { ConditionContext } from './conditions/context';
5
+ import { DkgClient } from './dkg';
5
6
  const ERR_DECRYPTION_FAILED = (errors) => `Threshold of responses not met; TACo decryption failed with errors: ${JSON.stringify(errors)}`;
6
7
  const ERR_RITUAL_ID_MISMATCH = (expectedRitualId, ritualIds) => `Ritual id mismatch. Expected ${expectedRitualId}, got ${ritualIds}`;
7
8
  export const encryptMessage = async (plaintext, encryptingKey, conditions, authSigner) => {
@@ -12,19 +13,21 @@ export const encryptMessage = async (plaintext, encryptingKey, conditions, authS
12
13
  return new ThresholdMessageKit(ciphertext, acp);
13
14
  };
14
15
  // Retrieve and decrypt ciphertext using provider and condition expression
15
- export const retrieveAndDecrypt = async (provider, domain, porterUri, thresholdMessageKit, ritualId, sharesNum, threshold, authProviders, customParameters) => {
16
- const decryptionShares = await retrieve(provider, domain, porterUri, thresholdMessageKit, ritualId, sharesNum, threshold, authProviders, customParameters);
16
+ export const retrieveAndDecrypt = async (provider, domain, porter, thresholdMessageKit, ritualId, context) => {
17
+ const decryptionShares = await retrieve(provider, domain, porter, thresholdMessageKit, ritualId, context);
17
18
  const sharedSecret = combineDecryptionSharesSimple(decryptionShares);
18
19
  return thresholdMessageKit.decryptWithSharedSecret(sharedSecret);
19
20
  };
20
21
  // Retrieve decryption shares
21
- const retrieve = async (provider, domain, porterUri, thresholdMessageKit, ritualId, sharesNum, threshold, authProviders, customParameters) => {
22
- const dkgParticipants = await DkgCoordinatorAgent.getParticipants(provider, domain, ritualId, sharesNum);
23
- const conditionContext = await ConditionContext.fromConditions(thresholdMessageKit.acp.conditions, authProviders, customParameters);
22
+ const retrieve = async (provider, domain, porter, thresholdMessageKit, ritualId, context) => {
23
+ const ritual = await DkgClient.getActiveRitual(provider, domain, ritualId);
24
+ const dkgParticipants = await DkgCoordinatorAgent.getParticipants(provider, domain, ritualId, ritual.sharesNum);
25
+ const conditionContext = context
26
+ ? context
27
+ : ConditionContext.fromMessageKit(thresholdMessageKit);
24
28
  const { sharedSecrets, encryptedRequests } = await makeDecryptionRequests(ritualId, conditionContext, dkgParticipants, thresholdMessageKit);
25
- const porter = new PorterClient(porterUri);
26
- const { encryptedResponses, errors } = await porter.tacoDecrypt(encryptedRequests, threshold);
27
- if (Object.keys(encryptedResponses).length < threshold) {
29
+ const { encryptedResponses, errors } = await porter.tacoDecrypt(encryptedRequests, ritual.threshold);
30
+ if (Object.keys(encryptedResponses).length < ritual.threshold) {
28
31
  throw new Error(ERR_DECRYPTION_FAILED(errors));
29
32
  }
30
33
  return makeDecryptionShares(encryptedResponses, sharedSecrets, ritualId);
@@ -1 +1 @@
1
- {"version":3,"file":"tdec.js","sourceRoot":"","sources":["../../src/tdec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tdec.js","sourceRoot":"","sources":["../../src/tdec.ts"],"names":[],"mappings":"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"}