@nucypher/taco 0.6.0-alpha.1 → 0.6.0-alpha.3

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 (142) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/conditions/base/index.d.ts +2 -0
  3. package/dist/cjs/conditions/base/index.js +20 -8
  4. package/dist/cjs/conditions/base/index.js.map +1 -1
  5. package/dist/cjs/conditions/base/json-api.d.ts +1 -1
  6. package/dist/cjs/conditions/base/json-api.js +1 -2
  7. package/dist/cjs/conditions/base/json-api.js.map +1 -1
  8. package/dist/cjs/conditions/base/json-rpc.d.ts +7 -0
  9. package/dist/cjs/conditions/base/json-rpc.js +18 -0
  10. package/dist/cjs/conditions/base/json-rpc.js.map +1 -0
  11. package/dist/cjs/conditions/base/jwt.d.ts +7 -0
  12. package/dist/cjs/conditions/base/jwt.js +19 -0
  13. package/dist/cjs/conditions/base/jwt.js.map +1 -0
  14. package/dist/cjs/conditions/condition-expr.js +5 -5
  15. package/dist/cjs/conditions/condition-expr.js.map +1 -1
  16. package/dist/cjs/conditions/condition-factory.js +6 -0
  17. package/dist/cjs/conditions/condition-factory.js.map +1 -1
  18. package/dist/cjs/conditions/condition.js +2 -1
  19. package/dist/cjs/conditions/condition.js.map +1 -1
  20. package/dist/cjs/conditions/const.d.ts +0 -2
  21. package/dist/cjs/conditions/const.js +1 -9
  22. package/dist/cjs/conditions/const.js.map +1 -1
  23. package/dist/cjs/conditions/context/context.d.ts +2 -1
  24. package/dist/cjs/conditions/context/context.js +57 -61
  25. package/dist/cjs/conditions/context/context.js.map +1 -1
  26. package/dist/cjs/conditions/index.js +17 -7
  27. package/dist/cjs/conditions/index.js.map +1 -1
  28. package/dist/cjs/conditions/predefined/index.js +17 -7
  29. package/dist/cjs/conditions/predefined/index.js.map +1 -1
  30. package/dist/cjs/conditions/schemas/common.d.ts +3 -1
  31. package/dist/cjs/conditions/schemas/common.js +40 -7
  32. package/dist/cjs/conditions/schemas/common.js.map +1 -1
  33. package/dist/cjs/conditions/schemas/context.d.ts +1 -0
  34. package/dist/cjs/conditions/schemas/context.js +24 -3
  35. package/dist/cjs/conditions/schemas/context.js.map +1 -1
  36. package/dist/cjs/conditions/schemas/contract.d.ts +44 -25
  37. package/dist/cjs/conditions/schemas/contract.js +7 -7
  38. package/dist/cjs/conditions/schemas/contract.js.map +1 -1
  39. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.d.ts +18 -0
  40. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js +37 -0
  41. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js.map +1 -0
  42. package/dist/cjs/conditions/schemas/json-api.d.ts +14 -12
  43. package/dist/cjs/conditions/schemas/json-api.js +5 -25
  44. package/dist/cjs/conditions/schemas/json-api.js.map +1 -1
  45. package/dist/cjs/conditions/schemas/json-rpc.d.ts +51 -0
  46. package/dist/cjs/conditions/schemas/json-rpc.js +21 -0
  47. package/dist/cjs/conditions/schemas/json-rpc.js.map +1 -0
  48. package/dist/cjs/conditions/schemas/jwt.d.ts +22 -0
  49. package/dist/cjs/conditions/schemas/jwt.js +19 -0
  50. package/dist/cjs/conditions/schemas/jwt.js.map +1 -0
  51. package/dist/cjs/conditions/schemas/return-value-test.d.ts +18 -2
  52. package/dist/cjs/conditions/schemas/return-value-test.js +7 -2
  53. package/dist/cjs/conditions/schemas/return-value-test.js.map +1 -1
  54. package/dist/cjs/conditions/schemas/rpc.d.ts +19 -16
  55. package/dist/cjs/conditions/schemas/rpc.js +19 -37
  56. package/dist/cjs/conditions/schemas/rpc.js.map +1 -1
  57. package/dist/cjs/conditions/schemas/time.d.ts +11 -10
  58. package/dist/cjs/conditions/schemas/utils.js +4 -0
  59. package/dist/cjs/conditions/schemas/utils.js.map +1 -1
  60. package/dist/cjs/conditions/shared.d.ts +1 -1
  61. package/dist/cjs/conditions/shared.js +2 -1
  62. package/dist/cjs/conditions/shared.js.map +1 -1
  63. package/dist/cjs/index.js +17 -7
  64. package/dist/cjs/index.js.map +1 -1
  65. package/dist/cjs/utils.d.ts +2 -0
  66. package/dist/cjs/utils.js +48 -0
  67. package/dist/cjs/utils.js.map +1 -0
  68. package/dist/es/conditions/base/index.d.ts +2 -0
  69. package/dist/es/conditions/base/index.js +2 -0
  70. package/dist/es/conditions/base/index.js.map +1 -1
  71. package/dist/es/conditions/base/json-api.d.ts +1 -1
  72. package/dist/es/conditions/base/json-api.js +1 -1
  73. package/dist/es/conditions/base/json-api.js.map +1 -1
  74. package/dist/es/conditions/base/json-rpc.d.ts +7 -0
  75. package/dist/es/conditions/base/json-rpc.js +12 -0
  76. package/dist/es/conditions/base/json-rpc.js.map +1 -0
  77. package/dist/es/conditions/base/jwt.d.ts +7 -0
  78. package/dist/es/conditions/base/jwt.js +12 -0
  79. package/dist/es/conditions/base/jwt.js.map +1 -0
  80. package/dist/es/conditions/condition-expr.js +3 -3
  81. package/dist/es/conditions/condition-expr.js.map +1 -1
  82. package/dist/es/conditions/condition-factory.js +6 -0
  83. package/dist/es/conditions/condition-factory.js.map +1 -1
  84. package/dist/es/conditions/condition.js +2 -1
  85. package/dist/es/conditions/condition.js.map +1 -1
  86. package/dist/es/conditions/const.d.ts +0 -2
  87. package/dist/es/conditions/const.js +1 -9
  88. package/dist/es/conditions/const.js.map +1 -1
  89. package/dist/es/conditions/context/context.d.ts +2 -1
  90. package/dist/es/conditions/context/context.js +57 -61
  91. package/dist/es/conditions/context/context.js.map +1 -1
  92. package/dist/es/conditions/schemas/common.d.ts +3 -1
  93. package/dist/es/conditions/schemas/common.js +41 -8
  94. package/dist/es/conditions/schemas/common.js.map +1 -1
  95. package/dist/es/conditions/schemas/context.d.ts +1 -0
  96. package/dist/es/conditions/schemas/context.js +23 -2
  97. package/dist/es/conditions/schemas/context.js.map +1 -1
  98. package/dist/es/conditions/schemas/contract.d.ts +44 -25
  99. package/dist/es/conditions/schemas/contract.js +4 -4
  100. package/dist/es/conditions/schemas/contract.js.map +1 -1
  101. package/dist/es/conditions/schemas/export-for-zod-doc-gen.d.ts +18 -0
  102. package/dist/es/conditions/schemas/export-for-zod-doc-gen.js +21 -0
  103. package/dist/es/conditions/schemas/export-for-zod-doc-gen.js.map +1 -0
  104. package/dist/es/conditions/schemas/json-api.d.ts +14 -12
  105. package/dist/es/conditions/schemas/json-api.js +3 -23
  106. package/dist/es/conditions/schemas/json-api.js.map +1 -1
  107. package/dist/es/conditions/schemas/json-rpc.d.ts +51 -0
  108. package/dist/es/conditions/schemas/json-rpc.js +18 -0
  109. package/dist/es/conditions/schemas/json-rpc.js.map +1 -0
  110. package/dist/es/conditions/schemas/jwt.d.ts +22 -0
  111. package/dist/es/conditions/schemas/jwt.js +16 -0
  112. package/dist/es/conditions/schemas/jwt.js.map +1 -0
  113. package/dist/es/conditions/schemas/return-value-test.d.ts +18 -2
  114. package/dist/es/conditions/schemas/return-value-test.js +7 -2
  115. package/dist/es/conditions/schemas/return-value-test.js.map +1 -1
  116. package/dist/es/conditions/schemas/rpc.d.ts +19 -16
  117. package/dist/es/conditions/schemas/rpc.js +20 -15
  118. package/dist/es/conditions/schemas/rpc.js.map +1 -1
  119. package/dist/es/conditions/schemas/time.d.ts +11 -10
  120. package/dist/es/conditions/schemas/utils.js +4 -0
  121. package/dist/es/conditions/schemas/utils.js.map +1 -1
  122. package/dist/es/conditions/shared.d.ts +1 -1
  123. package/dist/es/conditions/shared.js +1 -1
  124. package/dist/es/conditions/shared.js.map +1 -1
  125. package/dist/es/utils.d.ts +2 -0
  126. package/dist/es/utils.js +43 -0
  127. package/dist/es/utils.js.map +1 -0
  128. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  129. package/dist/tsconfig.es.tsbuildinfo +1 -1
  130. package/package.json +13 -8
  131. package/dist/cjs/conditions/context/providers.d.ts +0 -16
  132. package/dist/cjs/conditions/context/providers.js +0 -111
  133. package/dist/cjs/conditions/context/providers.js.map +0 -1
  134. package/dist/cjs/web3.d.ts +0 -33
  135. package/dist/cjs/web3.js +0 -3
  136. package/dist/cjs/web3.js.map +0 -1
  137. package/dist/es/conditions/context/providers.d.ts +0 -16
  138. package/dist/es/conditions/context/providers.js +0 -107
  139. package/dist/es/conditions/context/providers.js.map +0 -1
  140. package/dist/es/web3.d.ts +0 -33
  141. package/dist/es/web3.js +0 -2
  142. package/dist/es/web3.js.map +0 -1
@@ -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,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD,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,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;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,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,8CAA8C;IACvC,2BAA2B;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,sBAAsB;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACrD,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,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;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
+ {"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD,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,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;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,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,8CAA8C;IACvC,2BAA2B;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,sBAAsB;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACrD,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,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;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,6 +1,4 @@
1
- import { ChainId } from '@nucypher/shared';
2
1
  export declare const CONTEXT_PARAM_REGEXP: RegExp;
3
2
  export declare const CONTEXT_PARAM_FULL_MATCH_REGEXP: RegExp;
4
3
  export declare const CONTEXT_PARAM_PREFIX = ":";
5
- export declare const SUPPORTED_CHAIN_IDS: ChainId[];
6
4
  export declare const USER_ADDRESS_PARAMS: string[];
@@ -1,19 +1,11 @@
1
- import { ChainId } from '@nucypher/shared';
2
- import { USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
1
+ import { USER_ADDRESS_PARAM_DEFAULT } from '@nucypher/taco-auth';
3
2
  // Only allow alphanumeric characters and underscores
4
3
  const contextParamRegexString = ':[a-zA-Z_][a-zA-Z0-9_]*';
5
4
  export const CONTEXT_PARAM_REGEXP = new RegExp(contextParamRegexString);
6
5
  // Entire string is context param
7
6
  export const CONTEXT_PARAM_FULL_MATCH_REGEXP = new RegExp(`^${contextParamRegexString}$`);
8
7
  export const CONTEXT_PARAM_PREFIX = ':';
9
- export const SUPPORTED_CHAIN_IDS = [
10
- ChainId.POLYGON,
11
- ChainId.AMOY,
12
- ChainId.SEPOLIA,
13
- ChainId.ETHEREUM_MAINNET,
14
- ];
15
8
  export const USER_ADDRESS_PARAMS = [
16
- USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
17
9
  // Ordering matters, this should always be last
18
10
  USER_ADDRESS_PARAM_DEFAULT,
19
11
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAE7B,qDAAqD;AACrD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExE,iCAAiC;AACjC,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,MAAM,CACvD,IAAI,uBAAuB,GAAG,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mCAAmC;IACnC,+CAA+C;IAC/C,0BAA0B;CAC3B,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,qDAAqD;AACrD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExE,iCAAiC;AACjC,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,MAAM,CACvD,IAAI,uBAAuB,GAAG,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,+CAA+C;IAC/C,0BAA0B;CAC3B,CAAC"}
@@ -2,7 +2,7 @@ import { ThresholdMessageKit } from '@nucypher/nucypher-core';
2
2
  import { AuthProvider, AuthSignature } from '@nucypher/taco-auth';
3
3
  import { CoreContext } from '../../types';
4
4
  import { Condition } from '../condition';
5
- export type CustomContextParam = string | number | boolean;
5
+ export type CustomContextParam = string | number | boolean | bigint | Uint8Array;
6
6
  export type ContextParam = CustomContextParam | AuthSignature;
7
7
  export declare const RESERVED_CONTEXT_PARAMS: string[];
8
8
  export declare class ConditionContext {
@@ -17,6 +17,7 @@ export declare class ConditionContext {
17
17
  private fillAuthContextParameters;
18
18
  private validateCustomContextParameter;
19
19
  private static isContextParameter;
20
+ private static findContextParameter;
20
21
  private static findContextParameters;
21
22
  addCustomContextParameterValues(customContextParameters: Record<string, CustomContextParam>): void;
22
23
  addAuthProvider(contextParam: string, authProvider: AuthProvider): void;
@@ -1,10 +1,8 @@
1
- import { toJSON } from '@nucypher/shared';
2
- import { EIP4361AuthProvider, SingleSignOnEIP4361AuthProvider, USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
1
+ import { EIP1271AuthProvider, EIP4361AuthProvider, SingleSignOnEIP4361AuthProvider, USER_ADDRESS_PARAM_DEFAULT, } from '@nucypher/taco-auth';
3
2
  import { CoreConditions, CoreContext } from '../../types';
4
- import { CompoundConditionType } from '../compound-condition';
3
+ import { toJSON } from '../../utils';
5
4
  import { ConditionExpression } from '../condition-expr';
6
- import { CONTEXT_PARAM_FULL_MATCH_REGEXP, CONTEXT_PARAM_PREFIX, USER_ADDRESS_PARAMS, } from '../const';
7
- import { JsonApiConditionType } from '../schemas/json-api';
5
+ import { CONTEXT_PARAM_FULL_MATCH_REGEXP, CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP, USER_ADDRESS_PARAMS, } from '../const';
8
6
  const ERR_RESERVED_PARAM = (key) => `Cannot use reserved parameter name ${key} as custom parameter`;
9
7
  const ERR_INVALID_CUSTOM_PARAM = (key) => `Custom parameter ${key} must start with ${CONTEXT_PARAM_PREFIX}`;
10
8
  const ERR_AUTH_PROVIDER_REQUIRED = (key) => `No matching authentication provider to satisfy ${key} context variable in condition`;
@@ -13,13 +11,13 @@ const ERR_UNKNOWN_CUSTOM_CONTEXT_PARAM = (param) => `Unknown custom context para
13
11
  const ERR_INVALID_AUTH_PROVIDER_TYPE = (param, expected) => `Invalid AuthProvider type for ${param}; expected ${expected}`;
14
12
  const ERR_AUTH_PROVIDER_NOT_NEEDED_FOR_CONTEXT_PARAM = (param) => `AuthProvider not necessary for context parameter: ${param}`;
15
13
  const EXPECTED_AUTH_PROVIDER_TYPES = {
16
- [USER_ADDRESS_PARAM_DEFAULT]: EIP4361AuthProvider,
17
- [USER_ADDRESS_PARAM_EXTERNAL_EIP4361]: SingleSignOnEIP4361AuthProvider,
14
+ [USER_ADDRESS_PARAM_DEFAULT]: [
15
+ EIP4361AuthProvider,
16
+ EIP1271AuthProvider,
17
+ SingleSignOnEIP4361AuthProvider,
18
+ ],
18
19
  };
19
- export const RESERVED_CONTEXT_PARAMS = [
20
- USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
21
- USER_ADDRESS_PARAM_DEFAULT,
22
- ];
20
+ export const RESERVED_CONTEXT_PARAMS = [USER_ADDRESS_PARAM_DEFAULT];
23
21
  export class ConditionContext {
24
22
  requestedContextParameters;
25
23
  customContextParameters = {};
@@ -87,62 +85,59 @@ export class ConditionContext {
87
85
  static isContextParameter(param) {
88
86
  return !!String(param).match(CONTEXT_PARAM_FULL_MATCH_REGEXP);
89
87
  }
90
- static findContextParameters(condition) {
91
- // First, we want to find all the parameters we need to add
92
- const requestedParameters = new Set();
93
- // Check return value test
94
- if (condition.returnValueTest) {
95
- const rvt = condition.returnValueTest.value;
96
- // Return value test can be a single parameter or an array of parameters
97
- if (Array.isArray(rvt)) {
98
- rvt.forEach((value) => {
99
- if (ConditionContext.isContextParameter(value)) {
100
- requestedParameters.add(value);
101
- }
102
- });
103
- }
104
- else if (ConditionContext.isContextParameter(rvt)) {
105
- requestedParameters.add(rvt);
106
- }
107
- else {
108
- // Not a context parameter, we can skip
109
- }
110
- }
111
- // Check condition parameters
112
- for (const param of condition.parameters ?? []) {
113
- if (this.isContextParameter(param)) {
114
- requestedParameters.add(param);
115
- }
88
+ static findContextParameter(value) {
89
+ const includedContextVars = new Set();
90
+ // value not set
91
+ if (!value) {
92
+ return includedContextVars;
116
93
  }
117
- // If it's a compound condition, check operands
118
- if (condition.conditionType === CompoundConditionType) {
119
- for (const key in condition.operands) {
120
- const innerParams = this.findContextParameters(condition.operands[key]);
121
- for (const param of innerParams) {
122
- requestedParameters.add(param);
123
- }
94
+ if (typeof value === 'string') {
95
+ if (this.isContextParameter(value)) {
96
+ // entire string is context parameter
97
+ includedContextVars.add(String(value));
124
98
  }
125
- }
126
- // If it's a JSON API condition, check url and query
127
- if (condition.conditionType === JsonApiConditionType) {
128
- const urlComponents = condition.endpoint.replace("https://", "").split("/");
129
- for (const param of urlComponents ?? []) {
130
- if (this.isContextParameter(param)) {
131
- requestedParameters.add(param);
132
- }
133
- }
134
- if (condition.query) {
135
- const queryParams = condition.query.match(":[a-zA-Z_]*");
136
- if (queryParams) {
137
- for (const param of queryParams) {
138
- requestedParameters.add(param);
99
+ else {
100
+ // context var could be substring; find all matches
101
+ const contextVarMatches = value.match(
102
+ // RegExp with 'g' is stateful, so new instance needed every time
103
+ new RegExp(CONTEXT_PARAM_REGEXP.source, 'g'));
104
+ if (contextVarMatches) {
105
+ for (const match of contextVarMatches) {
106
+ includedContextVars.add(match);
139
107
  }
140
108
  }
141
109
  }
142
- if (this.isContextParameter(condition.authorizationToken)) {
143
- requestedParameters.add(condition.authorizationToken);
110
+ }
111
+ else if (Array.isArray(value)) {
112
+ // array
113
+ value.forEach((subValue) => {
114
+ const contextVarsForValue = this.findContextParameter(subValue);
115
+ contextVarsForValue.forEach((contextVar) => {
116
+ includedContextVars.add(contextVar);
117
+ });
118
+ });
119
+ }
120
+ else if (typeof value === 'object') {
121
+ // dictionary (Record<string, T> - complex object eg. Condition, ConditionVariable, ReturnValueTest etc.)
122
+ for (const [, entry] of Object.entries(value)) {
123
+ const contextVarsForValue = this.findContextParameter(entry);
124
+ contextVarsForValue.forEach((contextVar) => {
125
+ includedContextVars.add(contextVar);
126
+ });
144
127
  }
145
128
  }
129
+ return includedContextVars;
130
+ }
131
+ static findContextParameters(condition) {
132
+ // find all the context variables we need
133
+ const requestedParameters = new Set();
134
+ // iterate through all properties in ConditionProps
135
+ const properties = Object.keys(condition);
136
+ properties.forEach((prop) => {
137
+ this.findContextParameter(condition[prop]).forEach((contextVar) => {
138
+ requestedParameters.add(contextVar);
139
+ });
140
+ });
146
141
  return requestedParameters;
147
142
  }
148
143
  addCustomContextParameterValues(customContextParameters) {
@@ -155,7 +150,8 @@ export class ConditionContext {
155
150
  if (!(contextParam in EXPECTED_AUTH_PROVIDER_TYPES)) {
156
151
  throw new Error(ERR_AUTH_PROVIDER_NOT_NEEDED_FOR_CONTEXT_PARAM(contextParam));
157
152
  }
158
- if (!(authProvider instanceof EXPECTED_AUTH_PROVIDER_TYPES[contextParam])) {
153
+ const expectedTypes = EXPECTED_AUTH_PROVIDER_TYPES[contextParam];
154
+ if (!expectedTypes.some((type) => authProvider instanceof type)) {
159
155
  throw new Error(ERR_INVALID_AUTH_PROVIDER_TYPE(contextParam, typeof authProvider));
160
156
  }
161
157
  this.authProviders[contextParam] = authProvider;
@@ -1 +1 @@
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,+BAA+B,EAC/B,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAK3D,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,+BAA+B,CAAC,CAAC;IAChE,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;QACD,oDAAoD;QACpD,IAAI,SAAS,CAAC,aAAa,KAAK,oBAAoB,EAAE,CAAC;YACrD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5E,KAAK,MAAM,KAAK,IAAI,aAAa,IAAI,EAAE,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YACD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACzD,IAAI,WAAW,EAAE,CAAC;oBAChB,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;wBAChC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC1D,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACxD,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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Primitive, z } from 'zod';
2
2
  export declare const plainStringSchema: z.ZodEffects<z.ZodString, string, string>;
3
- export declare const UserAddressSchema: z.ZodEnum<[":userAddress", ":userAddressExternalEIP4361"]>;
3
+ export declare const UserAddressSchema: z.ZodLiteral<":userAddress">;
4
4
  export declare const baseConditionSchema: z.ZodObject<{
5
5
  conditionType: z.ZodString;
6
6
  }, "strip", z.ZodTypeAny, {
@@ -10,3 +10,5 @@ export declare const baseConditionSchema: z.ZodObject<{
10
10
  }>;
11
11
  declare function createUnionSchema<T extends readonly Primitive[]>(values: T): z.ZodNever | z.ZodLiteral<Primitive> | z.ZodUnion<[z.ZodLiteral<Primitive>, z.ZodLiteral<Primitive>, ...z.ZodLiteral<Primitive>[]]>;
12
12
  export default createUnionSchema;
13
+ export declare const jsonPathSchema: z.ZodEffects<z.ZodString, string, string>;
14
+ export declare const httpsURLSchema: z.ZodEffects<z.ZodString, string, string>;
@@ -1,17 +1,20 @@
1
- import { USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
1
+ import { JSONPath } from '@astronautlabs/jsonpath';
2
+ import { USER_ADDRESS_PARAM_DEFAULT } from '@nucypher/taco-auth';
2
3
  import { z } from 'zod';
3
- import { CONTEXT_PARAM_PREFIX } from '../const';
4
+ import { CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP } from '../const';
4
5
  // We want to discriminate between ContextParams and plain strings
5
6
  // If a string starts with `:`, it's a ContextParam
6
- export const plainStringSchema = z.string().refine((str) => {
7
+ export const plainStringSchema = z
8
+ .string()
9
+ .refine((str) => {
7
10
  return !str.startsWith(CONTEXT_PARAM_PREFIX);
8
11
  }, {
9
12
  message: `String must not be a context parameter i.e. not start with "${CONTEXT_PARAM_PREFIX}"`,
10
- });
11
- export const UserAddressSchema = z.enum([
12
- USER_ADDRESS_PARAM_DEFAULT,
13
- USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
14
- ]);
13
+ })
14
+ .describe(`Any string that is not a Context Parameter i.e. does not start with \`${CONTEXT_PARAM_PREFIX}\`.`);
15
+ export const UserAddressSchema = z
16
+ .literal(USER_ADDRESS_PARAM_DEFAULT)
17
+ .describe('This is a context variable that will be replaced at decryption time. It represents the Ethereum address of the requester attempting decryption.');
15
18
  export const baseConditionSchema = z.object({
16
19
  conditionType: z.string(),
17
20
  });
@@ -30,4 +33,34 @@ function createUnionSchema(values) {
30
33
  return createUnion(values);
31
34
  }
32
35
  export default createUnionSchema;
36
+ const validateJSONPath = (jsonPath) => {
37
+ // account for embedded context variables
38
+ if (CONTEXT_PARAM_REGEXP.test(jsonPath)) {
39
+ // skip validation
40
+ return true;
41
+ }
42
+ try {
43
+ JSONPath.parse(jsonPath);
44
+ return true;
45
+ }
46
+ catch (error) {
47
+ return false;
48
+ }
49
+ };
50
+ export const jsonPathSchema = z
51
+ .string()
52
+ .refine((val) => validateJSONPath(val), {
53
+ message: 'Invalid JSONPath expression',
54
+ })
55
+ .describe('A string containing either a valid JSON Path Expression, or a Context Parameter.');
56
+ const validateHttpsURL = (url) => {
57
+ return URL.canParse(url) && url.startsWith('https://');
58
+ };
59
+ // Use our own URL refinement check due to https://github.com/colinhacks/zod/issues/2236
60
+ export const httpsURLSchema = z
61
+ .string()
62
+ .url()
63
+ .refine((url) => validateHttpsURL(url), {
64
+ message: 'Invalid URL',
65
+ });
33
66
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAa,CAAC,EAAc,MAAM,KAAK,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,kEAAkE;AAClE,mDAAmD;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,EAAE;IACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC/C,CAAC,EACD;IACE,OAAO,EAAE,+DAA+D,oBAAoB,GAAG;CAChG,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,0BAA0B;IAC1B,mCAAmC;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,WAAW,GAAG,CAGlB,MAAS,EACT,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAIzD,CAAC;IACF,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,SAAS,iBAAiB,CAAiC,MAAS;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,WAAW,CAChB,MAAqE,CACtE,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { z } from 'zod';
2
2
  export declare const contextParamSchema: z.ZodString;
3
3
  export declare const paramOrContextParamSchema: z.ZodSchema;
4
+ export declare const blockchainParamOrContextParamSchema: z.ZodSchema;
@@ -1,13 +1,34 @@
1
1
  import { z } from 'zod';
2
2
  import { CONTEXT_PARAM_FULL_MATCH_REGEXP } from '../const';
3
3
  import { plainStringSchema } from './common';
4
+ const UINT256_MAX = BigInt('115792089237316195423570985008687907853269984665640564039457584007913129639935');
5
+ const INT256_MIN = BigInt('-57896044618658097711785492504343953926634992332820282019728792003956564819968');
4
6
  export const contextParamSchema = z
5
7
  .string()
6
- .regex(CONTEXT_PARAM_FULL_MATCH_REGEXP);
7
- const paramSchema = z.union([plainStringSchema, z.boolean(), z.number()]);
8
+ .regex(CONTEXT_PARAM_FULL_MATCH_REGEXP)
9
+ .describe(`A Context Parameter i.e. a placeholder used within conditions and specified at the encryption time, whose value is provided at decryption time.`);
10
+ const paramSchema = z.union([
11
+ plainStringSchema,
12
+ z.boolean(),
13
+ z.number(),
14
+ z.bigint(),
15
+ ]);
16
+ const blockchainParamSchema = z
17
+ .union([
18
+ plainStringSchema,
19
+ z.boolean(),
20
+ z.number().int().safe(),
21
+ z.bigint().lte(UINT256_MAX).gte(INT256_MIN),
22
+ ])
23
+ .describe('Blockchain-compatible parameter values for blockchain RPC API calls and Smart Contracts functions; numbers must be in safe range and bigints must be in the range [-2^255, 2^256-1]).');
8
24
  export const paramOrContextParamSchema = z.union([
9
25
  paramSchema,
10
26
  contextParamSchema,
11
27
  z.lazy(() => z.array(paramOrContextParamSchema)),
12
28
  ]);
29
+ export const blockchainParamOrContextParamSchema = z.union([
30
+ blockchainParamSchema,
31
+ contextParamSchema,
32
+ z.lazy(() => z.array(blockchainParamOrContextParamSchema)),
33
+ ]);
13
34
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAE1C,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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,GAAG,MAAM,CACxB,gFAAgF,CACjF,CAAC;AACF,MAAM,UAAU,GAAG,MAAM,CACvB,gFAAgF,CACjF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,+BAA+B,CAAC;KACtC,QAAQ,CACP,iJAAiJ,CAClJ,CAAC;AAEJ,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1B,iBAAiB;IACjB,CAAC,CAAC,OAAO,EAAE;IACX,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,MAAM,EAAE;CACX,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC;KAC5B,KAAK,CAAC;IACL,iBAAiB;IACjB,CAAC,CAAC,OAAO,EAAE;IACX,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE;IACvB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;CAC5C,CAAC;KACD,QAAQ,CACP,uLAAuL,CACxL,CAAC;AAEJ,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,mCAAmC,GAAgB,CAAC,CAAC,KAAK,CAAC;IACtE,qBAAqB;IACrB,kBAAkB;IAClB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;CAC3D,CAAC,CAAC"}
@@ -1,5 +1,18 @@
1
1
  import { z } from 'zod';
2
- declare const functionAbiSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
2
+ export declare const functionAbiVariableSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ type: z.ZodEnum<[string, ...string[]]>;
5
+ internalType: z.ZodEnum<[string, ...string[]]>;
6
+ }, "strict", z.ZodTypeAny, {
7
+ type: string;
8
+ name: string;
9
+ internalType: string;
10
+ }, {
11
+ type: string;
12
+ name: string;
13
+ internalType: string;
14
+ }>;
15
+ export declare const functionAbiSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
3
16
  name: z.ZodString;
4
17
  type: z.ZodLiteral<"function">;
5
18
  inputs: z.ZodArray<z.ZodObject<{
@@ -140,21 +153,28 @@ declare const functionAbiSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
140
153
  }>;
141
154
  export type FunctionAbiProps = z.infer<typeof functionAbiSchema>;
142
155
  export declare const ContractConditionType = "contract";
143
- export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
144
- returnValueTest: z.ZodObject<{
156
+ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
157
+ conditionType: z.ZodString;
158
+ }, {
159
+ conditionType: z.ZodDefault<z.ZodLiteral<"rpc">>;
160
+ chain: z.ZodNumber;
161
+ method: z.ZodEnum<["eth_getBalance"]>;
162
+ parameters: z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<":userAddress">, z.ZodString]>, z.ZodUnion<[z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodEnum<["earliest", "finalized", "safe", "latest", "pending"]>]>, z.ZodString]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<":userAddress">, z.ZodString]>], null>]>;
163
+ returnValueTest: z.ZodObject<z.objectUtil.extendShape<{
145
164
  index: z.ZodOptional<z.ZodNumber>;
146
165
  comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
166
+ }, {
147
167
  value: z.ZodType<any, z.ZodTypeDef, any>;
148
- }, "strip", z.ZodTypeAny, {
168
+ }>, "strip", z.ZodTypeAny, {
149
169
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
150
- index?: number | undefined;
151
170
  value?: any;
171
+ index?: number | undefined;
152
172
  }, {
153
173
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
154
- index?: number | undefined;
155
174
  value?: any;
175
+ index?: number | undefined;
156
176
  }>;
157
- chain: z.ZodNever | z.ZodLiteral<z.Primitive> | z.ZodUnion<[z.ZodLiteral<z.Primitive>, z.ZodLiteral<z.Primitive>, ...z.ZodLiteral<z.Primitive>[]]>;
177
+ }>, {
158
178
  conditionType: z.ZodDefault<z.ZodLiteral<"contract">>;
159
179
  contractAddress: z.ZodEffects<z.ZodString, string, string>;
160
180
  standardContractType: z.ZodOptional<z.ZodEnum<["ERC20", "ERC721"]>>;
@@ -299,18 +319,17 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
299
319
  stateMutability: "view" | "pure";
300
320
  }>>;
301
321
  parameters: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
302
- }, "strip", z.ZodTypeAny, {
322
+ }>, "strip", z.ZodTypeAny, {
303
323
  conditionType: "contract";
324
+ chain: number;
325
+ method: string;
304
326
  parameters: any[];
305
327
  returnValueTest: {
306
328
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
307
- index?: number | undefined;
308
329
  value?: any;
330
+ index?: number | undefined;
309
331
  };
310
- method: string;
311
332
  contractAddress: string;
312
- chain?: z.Primitive;
313
- standardContractType?: "ERC20" | "ERC721" | undefined;
314
333
  functionAbi?: {
315
334
  type: "function";
316
335
  name: string;
@@ -330,18 +349,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
330
349
  }[]];
331
350
  stateMutability: "view" | "pure";
332
351
  } | undefined;
352
+ standardContractType?: "ERC20" | "ERC721" | undefined;
333
353
  }, {
354
+ chain: number;
355
+ method: string;
334
356
  parameters: any[];
335
357
  returnValueTest: {
336
358
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
337
- index?: number | undefined;
338
359
  value?: any;
360
+ index?: number | undefined;
339
361
  };
340
- method: string;
341
362
  contractAddress: string;
342
- chain?: z.Primitive;
343
363
  conditionType?: "contract" | undefined;
344
- standardContractType?: "ERC20" | "ERC721" | undefined;
345
364
  functionAbi?: {
346
365
  type: "function";
347
366
  name: string;
@@ -361,18 +380,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
361
380
  }[]];
362
381
  stateMutability: "view" | "pure";
363
382
  } | undefined;
383
+ standardContractType?: "ERC20" | "ERC721" | undefined;
364
384
  }>, {
365
385
  conditionType: "contract";
386
+ chain: number;
387
+ method: string;
366
388
  parameters: any[];
367
389
  returnValueTest: {
368
390
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
369
- index?: number | undefined;
370
391
  value?: any;
392
+ index?: number | undefined;
371
393
  };
372
- method: string;
373
394
  contractAddress: string;
374
- chain?: z.Primitive;
375
- standardContractType?: "ERC20" | "ERC721" | undefined;
376
395
  functionAbi?: {
377
396
  type: "function";
378
397
  name: string;
@@ -392,18 +411,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
392
411
  }[]];
393
412
  stateMutability: "view" | "pure";
394
413
  } | undefined;
414
+ standardContractType?: "ERC20" | "ERC721" | undefined;
395
415
  }, {
416
+ chain: number;
417
+ method: string;
396
418
  parameters: any[];
397
419
  returnValueTest: {
398
420
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
399
- index?: number | undefined;
400
421
  value?: any;
422
+ index?: number | undefined;
401
423
  };
402
- method: string;
403
424
  contractAddress: string;
404
- chain?: z.Primitive;
405
425
  conditionType?: "contract" | undefined;
406
- standardContractType?: "ERC20" | "ERC721" | undefined;
407
426
  functionAbi?: {
408
427
  type: "function";
409
428
  name: string;
@@ -423,6 +442,6 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
423
442
  }[]];
424
443
  stateMutability: "view" | "pure";
425
444
  } | undefined;
445
+ standardContractType?: "ERC20" | "ERC721" | undefined;
426
446
  }>;
427
447
  export type ContractConditionProps = z.infer<typeof contractConditionSchema>;
428
- export {};
@@ -1,7 +1,7 @@
1
1
  import { EthAddressSchema } from '@nucypher/shared';
2
2
  import { ethers } from 'ethers';
3
3
  import { z } from 'zod';
4
- import { paramOrContextParamSchema } from './context';
4
+ import { blockchainParamOrContextParamSchema } from './context';
5
5
  import { rpcConditionSchema } from './rpc';
6
6
  // TODO: Consider replacing with `z.unknown`:
7
7
  // Since Solidity types are tied to Solidity version, we may not be able to accurately represent them in Zod.
@@ -16,14 +16,14 @@ const EthBaseTypes = [
16
16
  ...Array.from({ length: 32 }, (_v, i) => `uint${8 * (i + 1)}`), // uint8 through uint256
17
17
  ...Array.from({ length: 32 }, (_v, i) => `int${8 * (i + 1)}`), // int8 through int256
18
18
  ];
19
- const functionAbiVariableSchema = z
19
+ export const functionAbiVariableSchema = z
20
20
  .object({
21
21
  name: z.string(),
22
22
  type: z.enum(EthBaseTypes),
23
23
  internalType: z.enum(EthBaseTypes), // TODO: Do we need to validate this?
24
24
  })
25
25
  .strict();
26
- const functionAbiSchema = z
26
+ export const functionAbiSchema = z
27
27
  .object({
28
28
  name: z.string(),
29
29
  type: z.literal('function'),
@@ -65,7 +65,7 @@ export const contractConditionSchema = rpcConditionSchema
65
65
  standardContractType: z.enum(['ERC20', 'ERC721']).optional(),
66
66
  method: z.string(),
67
67
  functionAbi: functionAbiSchema.optional(),
68
- parameters: z.array(paramOrContextParamSchema),
68
+ parameters: z.array(blockchainParamOrContextParamSchema),
69
69
  })
70
70
  // Adding this custom logic causes the return type to be ZodEffects instead of ZodObject
71
71
  // https://github.com/colinhacks/zod/issues/2474
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,6CAA6C;AAC7C,gHAAgH;AAChH,iDAAiD;AACjD,MAAM,YAAY,GAA0B;IAC1C,MAAM;IACN,QAAQ;IACR,SAAS;IACT,iBAAiB;IACjB,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,yBAAyB;IACpF,OAAO;IACP,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,wBAAwB;IACxF,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,sBAAsB;CACtF,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAC1B,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,qCAAqC;CAC1E,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE;IACtD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CACjE,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CACL,CAAC,WAAW,EAAE,EAAE;IACd,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACH,8EAA8E;QAC9E,WAAW,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAClE,OAAO,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;AACrC,CAAC,EACD;IACE,OAAO,EAAE,yDAAyD;IAClE,IAAI,EAAE,CAAC,aAAa,CAAC;CACtB,CACF;KACA,MAAM,CACL,CAAC,WAAW,EAAE,EAAE;IACd,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAC5C,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAC9B,CAAC;IACF,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1D,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC;AAClD,CAAC,EACD;IACE,OAAO,EAAE,gEAAgE;IACzE,IAAI,EAAE,CAAC,YAAY,CAAC;CACrB,CACF,CAAC;AAIJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB;KACtD,MAAM,CAAC;IACN,aAAa,EAAE,CAAC;SACb,OAAO,CAAC,qBAAqB,CAAC;SAC9B,OAAO,CAAC,qBAAqB,CAAC;IACjC,eAAe,EAAE,gBAAgB;IACjC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;CAC/C,CAAC;IACF,wFAAwF;IACxF,gDAAgD;KAC/C,MAAM;AACL,0EAA0E;AAC1E,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAC1E;IACE,OAAO,EACL,oFAAoF;IACtF,IAAI,EAAE,CAAC,sBAAsB,CAAC;CAC/B,CACF,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * This file is used by zod2md to generate markdown documentation for the Zod schemas.
3
+ *
4
+ * NOTE: The order of the exported Zod objects in this file dictates the order of the generated markdown.
5
+ */
6
+ export * from './utils';
7
+ export * from './common';
8
+ export * from './context';
9
+ export * from './compound';
10
+ export * from './contract';
11
+ export * from './if-then-else';
12
+ export * from './json-api';
13
+ export * from './json-rpc';
14
+ export * from './jwt';
15
+ export * from './return-value-test';
16
+ export * from './rpc';
17
+ export * from './sequential';
18
+ export * from './time';