@xyo-network/boundwitness 2.21.11

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 (178) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +79 -0
  3. package/babel.config.json +5 -0
  4. package/dist/cjs/Builder/Builder.d.ts +23 -0
  5. package/dist/cjs/Builder/Builder.js +68 -0
  6. package/dist/cjs/Builder/Builder.js.map +1 -0
  7. package/dist/cjs/Builder/index.d.ts +1 -0
  8. package/dist/cjs/Builder/index.js +5 -0
  9. package/dist/cjs/Builder/index.js.map +1 -0
  10. package/dist/cjs/Test/index.d.ts +1 -0
  11. package/dist/cjs/Test/index.js +5 -0
  12. package/dist/cjs/Test/index.js.map +1 -0
  13. package/dist/cjs/Test/testBoundWitness.d.ts +3 -0
  14. package/dist/cjs/Test/testBoundWitness.js +17 -0
  15. package/dist/cjs/Test/testBoundWitness.js.map +1 -0
  16. package/dist/cjs/Validator/BodyValidator.d.ts +17 -0
  17. package/dist/cjs/Validator/BodyValidator.js +94 -0
  18. package/dist/cjs/Validator/BodyValidator.js.map +1 -0
  19. package/dist/cjs/Validator/MetaValidator.d.ts +13 -0
  20. package/dist/cjs/Validator/MetaValidator.js +67 -0
  21. package/dist/cjs/Validator/MetaValidator.js.map +1 -0
  22. package/dist/cjs/Validator/Validator.d.ts +12 -0
  23. package/dist/cjs/Validator/Validator.js +47 -0
  24. package/dist/cjs/Validator/Validator.js.map +1 -0
  25. package/dist/cjs/Validator/index.d.ts +3 -0
  26. package/dist/cjs/Validator/index.js +7 -0
  27. package/dist/cjs/Validator/index.js.map +1 -0
  28. package/dist/cjs/Validator/ip-regex.d.ts +9 -0
  29. package/dist/cjs/Validator/ip-regex.js +31 -0
  30. package/dist/cjs/Validator/ip-regex.js.map +1 -0
  31. package/dist/cjs/Validator/is-ip.d.ts +4 -0
  32. package/dist/cjs/Validator/is-ip.js +21 -0
  33. package/dist/cjs/Validator/is-ip.js.map +1 -0
  34. package/dist/cjs/Wrapper/Wrapper.d.ts +11 -0
  35. package/dist/cjs/Wrapper/Wrapper.js +27 -0
  36. package/dist/cjs/Wrapper/Wrapper.js.map +1 -0
  37. package/dist/cjs/Wrapper/index.d.ts +1 -0
  38. package/dist/cjs/Wrapper/index.js +5 -0
  39. package/dist/cjs/Wrapper/index.js.map +1 -0
  40. package/dist/cjs/index.d.ts +5 -0
  41. package/dist/cjs/index.js +9 -0
  42. package/dist/cjs/index.js.map +1 -0
  43. package/dist/cjs/isXyoPayloadOfSchemaType.d.ts +2 -0
  44. package/dist/cjs/isXyoPayloadOfSchemaType.js +6 -0
  45. package/dist/cjs/isXyoPayloadOfSchemaType.js.map +1 -0
  46. package/dist/cjs/models/Base/XyoBoundWitnessBase.d.ts +9 -0
  47. package/dist/cjs/models/Base/XyoBoundWitnessBase.js +3 -0
  48. package/dist/cjs/models/Base/XyoBoundWitnessBase.js.map +1 -0
  49. package/dist/cjs/models/Base/XyoBoundWitnessBaseSchema.d.ts +36 -0
  50. package/dist/cjs/models/Base/XyoBoundWitnessBaseSchema.js +19 -0
  51. package/dist/cjs/models/Base/XyoBoundWitnessBaseSchema.js.map +1 -0
  52. package/dist/cjs/models/Base/index.d.ts +2 -0
  53. package/dist/cjs/models/Base/index.js +6 -0
  54. package/dist/cjs/models/Base/index.js.map +1 -0
  55. package/dist/cjs/models/Meta/XyoBoundWitnessMeta.d.ts +7 -0
  56. package/dist/cjs/models/Meta/XyoBoundWitnessMeta.js +3 -0
  57. package/dist/cjs/models/Meta/XyoBoundWitnessMeta.js.map +1 -0
  58. package/dist/cjs/models/Meta/XyoBoundWitnessMetaSchema.d.ts +85 -0
  59. package/dist/cjs/models/Meta/XyoBoundWitnessMetaSchema.js +28 -0
  60. package/dist/cjs/models/Meta/XyoBoundWitnessMetaSchema.js.map +1 -0
  61. package/dist/cjs/models/Meta/index.d.ts +2 -0
  62. package/dist/cjs/models/Meta/index.js +6 -0
  63. package/dist/cjs/models/Meta/index.js.map +1 -0
  64. package/dist/cjs/models/WithXyoBoundWitnessMeta.d.ts +4 -0
  65. package/dist/cjs/models/WithXyoBoundWitnessMeta.js +3 -0
  66. package/dist/cjs/models/WithXyoBoundWitnessMeta.js.map +1 -0
  67. package/dist/cjs/models/XyoBoundWitness.d.ts +6 -0
  68. package/dist/cjs/models/XyoBoundWitness.js +3 -0
  69. package/dist/cjs/models/XyoBoundWitness.js.map +1 -0
  70. package/dist/cjs/models/XyoBoundWitnessSchema.d.ts +75 -0
  71. package/dist/cjs/models/XyoBoundWitnessSchema.js +17 -0
  72. package/dist/cjs/models/XyoBoundWitnessSchema.js.map +1 -0
  73. package/dist/cjs/models/index.d.ts +5 -0
  74. package/dist/cjs/models/index.js +9 -0
  75. package/dist/cjs/models/index.js.map +1 -0
  76. package/dist/docs.json +7 -0
  77. package/dist/esm/Builder/Builder.d.ts +23 -0
  78. package/dist/esm/Builder/Builder.js +66 -0
  79. package/dist/esm/Builder/Builder.js.map +1 -0
  80. package/dist/esm/Builder/index.d.ts +1 -0
  81. package/dist/esm/Builder/index.js +2 -0
  82. package/dist/esm/Builder/index.js.map +1 -0
  83. package/dist/esm/Test/index.d.ts +1 -0
  84. package/dist/esm/Test/index.js +2 -0
  85. package/dist/esm/Test/index.js.map +1 -0
  86. package/dist/esm/Test/testBoundWitness.d.ts +3 -0
  87. package/dist/esm/Test/testBoundWitness.js +14 -0
  88. package/dist/esm/Test/testBoundWitness.js.map +1 -0
  89. package/dist/esm/Validator/BodyValidator.d.ts +17 -0
  90. package/dist/esm/Validator/BodyValidator.js +88 -0
  91. package/dist/esm/Validator/BodyValidator.js.map +1 -0
  92. package/dist/esm/Validator/MetaValidator.d.ts +13 -0
  93. package/dist/esm/Validator/MetaValidator.js +63 -0
  94. package/dist/esm/Validator/MetaValidator.js.map +1 -0
  95. package/dist/esm/Validator/Validator.d.ts +12 -0
  96. package/dist/esm/Validator/Validator.js +42 -0
  97. package/dist/esm/Validator/Validator.js.map +1 -0
  98. package/dist/esm/Validator/index.d.ts +3 -0
  99. package/dist/esm/Validator/index.js +4 -0
  100. package/dist/esm/Validator/index.js.map +1 -0
  101. package/dist/esm/Validator/ip-regex.d.ts +9 -0
  102. package/dist/esm/Validator/ip-regex.js +27 -0
  103. package/dist/esm/Validator/ip-regex.js.map +1 -0
  104. package/dist/esm/Validator/is-ip.d.ts +4 -0
  105. package/dist/esm/Validator/is-ip.js +14 -0
  106. package/dist/esm/Validator/is-ip.js.map +1 -0
  107. package/dist/esm/Wrapper/Wrapper.d.ts +11 -0
  108. package/dist/esm/Wrapper/Wrapper.js +20 -0
  109. package/dist/esm/Wrapper/Wrapper.js.map +1 -0
  110. package/dist/esm/Wrapper/index.d.ts +1 -0
  111. package/dist/esm/Wrapper/index.js +2 -0
  112. package/dist/esm/Wrapper/index.js.map +1 -0
  113. package/dist/esm/index.d.ts +5 -0
  114. package/dist/esm/index.js +6 -0
  115. package/dist/esm/index.js.map +1 -0
  116. package/dist/esm/isXyoPayloadOfSchemaType.d.ts +2 -0
  117. package/dist/esm/isXyoPayloadOfSchemaType.js +3 -0
  118. package/dist/esm/isXyoPayloadOfSchemaType.js.map +1 -0
  119. package/dist/esm/models/Base/XyoBoundWitnessBase.d.ts +9 -0
  120. package/dist/esm/models/Base/XyoBoundWitnessBase.js +2 -0
  121. package/dist/esm/models/Base/XyoBoundWitnessBase.js.map +1 -0
  122. package/dist/esm/models/Base/XyoBoundWitnessBaseSchema.d.ts +36 -0
  123. package/dist/esm/models/Base/XyoBoundWitnessBaseSchema.js +16 -0
  124. package/dist/esm/models/Base/XyoBoundWitnessBaseSchema.js.map +1 -0
  125. package/dist/esm/models/Base/index.d.ts +2 -0
  126. package/dist/esm/models/Base/index.js +3 -0
  127. package/dist/esm/models/Base/index.js.map +1 -0
  128. package/dist/esm/models/Meta/XyoBoundWitnessMeta.d.ts +7 -0
  129. package/dist/esm/models/Meta/XyoBoundWitnessMeta.js +2 -0
  130. package/dist/esm/models/Meta/XyoBoundWitnessMeta.js.map +1 -0
  131. package/dist/esm/models/Meta/XyoBoundWitnessMetaSchema.d.ts +85 -0
  132. package/dist/esm/models/Meta/XyoBoundWitnessMetaSchema.js +23 -0
  133. package/dist/esm/models/Meta/XyoBoundWitnessMetaSchema.js.map +1 -0
  134. package/dist/esm/models/Meta/index.d.ts +2 -0
  135. package/dist/esm/models/Meta/index.js +3 -0
  136. package/dist/esm/models/Meta/index.js.map +1 -0
  137. package/dist/esm/models/WithXyoBoundWitnessMeta.d.ts +4 -0
  138. package/dist/esm/models/WithXyoBoundWitnessMeta.js +2 -0
  139. package/dist/esm/models/WithXyoBoundWitnessMeta.js.map +1 -0
  140. package/dist/esm/models/XyoBoundWitness.d.ts +6 -0
  141. package/dist/esm/models/XyoBoundWitness.js +2 -0
  142. package/dist/esm/models/XyoBoundWitness.js.map +1 -0
  143. package/dist/esm/models/XyoBoundWitnessSchema.d.ts +75 -0
  144. package/dist/esm/models/XyoBoundWitnessSchema.js +21 -0
  145. package/dist/esm/models/XyoBoundWitnessSchema.js.map +1 -0
  146. package/dist/esm/models/index.d.ts +5 -0
  147. package/dist/esm/models/index.js +6 -0
  148. package/dist/esm/models/index.js.map +1 -0
  149. package/jest.config.cjs +25 -0
  150. package/package.json +61 -0
  151. package/src/Builder/Builder.spec.ts +88 -0
  152. package/src/Builder/Builder.ts +83 -0
  153. package/src/Builder/index.ts +1 -0
  154. package/src/Test/index.ts +1 -0
  155. package/src/Test/testBoundWitness.ts +16 -0
  156. package/src/Validator/BodyValidator.spec.ts +11 -0
  157. package/src/Validator/BodyValidator.ts +102 -0
  158. package/src/Validator/MetaValidator.spec.ts +56 -0
  159. package/src/Validator/MetaValidator.ts +71 -0
  160. package/src/Validator/Validator.spec.ts +11 -0
  161. package/src/Validator/Validator.ts +51 -0
  162. package/src/Validator/index.ts +3 -0
  163. package/src/Validator/ip-regex.ts +39 -0
  164. package/src/Validator/is-ip.ts +17 -0
  165. package/src/Wrapper/Wrapper.ts +27 -0
  166. package/src/Wrapper/index.ts +1 -0
  167. package/src/index.ts +5 -0
  168. package/src/isXyoPayloadOfSchemaType.ts +5 -0
  169. package/src/models/Base/XyoBoundWitnessBase.ts +10 -0
  170. package/src/models/Base/XyoBoundWitnessBaseSchema.ts +15 -0
  171. package/src/models/Base/index.ts +2 -0
  172. package/src/models/Meta/XyoBoundWitnessMeta.ts +8 -0
  173. package/src/models/Meta/XyoBoundWitnessMetaSchema.ts +24 -0
  174. package/src/models/Meta/index.ts +2 -0
  175. package/src/models/WithXyoBoundWitnessMeta.ts +6 -0
  176. package/src/models/XyoBoundWitness.ts +8 -0
  177. package/src/models/XyoBoundWitnessSchema.ts +23 -0
  178. package/src/models/index.ts +5 -0
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XyoBoundWitnessValidator = void 0;
4
+ const sdk_js_1 = require("@xylabs/sdk-js");
5
+ const account_1 = require("@xyo-network/account");
6
+ const core_1 = require("@xyo-network/core");
7
+ const BodyValidator_1 = require("./BodyValidator");
8
+ const MetaValidator_1 = require("./MetaValidator");
9
+ const validateArraysSameLength = (a, b, message = 'Array length mismatch') => {
10
+ return a.length != b.length ? [Error(`${message} []`)] : [];
11
+ };
12
+ const validateSignature = (hash, address, signature) => {
13
+ if (!signature) {
14
+ return [Error(`Missing signature [${address}]`)];
15
+ }
16
+ if (!new account_1.XyoAddressValue(address).verify(hash, signature)) {
17
+ return [Error(`Invalid signature [${address}] [${signature}]`)];
18
+ }
19
+ return [];
20
+ };
21
+ class XyoBoundWitnessValidator extends core_1.XyoValidator {
22
+ constructor(bw) {
23
+ super(bw);
24
+ this.body = new BodyValidator_1.XyoBoundWitnessBodyValidator(bw, bw._payloads);
25
+ this.meta = new MetaValidator_1.XyoBoundWitnessMetaValidator(bw);
26
+ }
27
+ signatures() {
28
+ var _a;
29
+ const hash = (0, sdk_js_1.assertEx)(this.obj._hash, 'Missing _hash');
30
+ return [
31
+ ...validateArraysSameLength((_a = this.obj._signatures) !== null && _a !== void 0 ? _a : [], this.obj.addresses, 'Length mismatch: address/_signature'),
32
+ ...this.obj.addresses.reduce((errors, address, index) => {
33
+ var _a;
34
+ errors.push(...validateSignature(hash, address, (_a = this.obj._signatures) === null || _a === void 0 ? void 0 : _a[index]));
35
+ return errors;
36
+ }, []),
37
+ ];
38
+ }
39
+ validate() {
40
+ const errors = [];
41
+ errors.push(...this.meta.validate(), ...this.body.validate());
42
+ errors.push(...this.signatures());
43
+ return errors;
44
+ }
45
+ }
46
+ exports.XyoBoundWitnessValidator = XyoBoundWitnessValidator;
47
+ //# sourceMappingURL=Validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../src/Validator/Validator.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AACzC,kDAAsD;AACtD,4CAAgD;AAGhD,mDAA8D;AAC9D,mDAA8D;AAE9D,MAAM,wBAAwB,GAAG,CAAC,CAAY,EAAE,CAAY,EAAE,OAAO,GAAG,uBAAuB,EAAE,EAAE;IACjG,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,SAAkB,EAAE,EAAE;IAC9E,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,GAAG,CAAC,CAAC,CAAA;KACjD;IACD,IAAI,CAAC,IAAI,yBAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;QACzD,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,MAAM,SAAS,GAAG,CAAC,CAAC,CAAA;KAChE;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,wBAAoG,SAAQ,mBAAe;IAG/H,YAAY,EAAK;QACf,KAAK,CAAC,EAAE,CAAC,CAAA;QACT,IAAI,CAAC,IAAI,GAAG,IAAI,4CAA4B,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,4CAA4B,CAAC,EAAE,CAAC,CAAA;IAClD,CAAC;IAEM,UAAU;;QACf,MAAM,IAAI,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;QACtD,OAAO;YACL,GAAG,wBAAwB,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,WAAW,mCAAI,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,qCAAqC,CAAC;YAClH,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;;gBAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAA,IAAI,CAAC,GAAG,CAAC,WAAW,0CAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC/E,OAAO,MAAM,CAAA;YACf,CAAC,EAAE,EAAE,CAAC;SACP,CAAA;IACH,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAEQ,4DAAwB"}
@@ -0,0 +1,3 @@
1
+ export * from './BodyValidator';
2
+ export * from './MetaValidator';
3
+ export * from './Validator';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./BodyValidator"), exports);
5
+ tslib_1.__exportStar(require("./MetaValidator"), exports);
6
+ tslib_1.__exportStar(require("./Validator"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Validator/index.ts"],"names":[],"mappings":";;;AAAA,0DAA+B;AAC/B,0DAA+B;AAC/B,sDAA2B"}
@@ -0,0 +1,9 @@
1
+ export interface Options {
2
+ readonly exact?: boolean;
3
+ readonly includeBoundaries?: boolean;
4
+ }
5
+ export declare const ipRegex: {
6
+ (options: Options): RegExp;
7
+ v4(options: Options): RegExp;
8
+ v6(options: Options): RegExp;
9
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ipRegex = void 0;
4
+ const word = '[a-fA-F\\d:]';
5
+ const boundry = (options) => (options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : '');
6
+ const v4 = '(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}';
7
+ const v6segment = '[a-fA-F\\d]{1,4}';
8
+ const v6 = `
9
+ (?:
10
+ (?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
11
+ (?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
12
+ (?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
13
+ (?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
14
+ (?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
15
+ (?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
16
+ (?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
17
+ (?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
18
+ )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
19
+ `
20
+ .replace(/\s*\/\/.*$/gm, '')
21
+ .replace(/\n/g, '')
22
+ .trim();
23
+ // Pre-compile only the exact regexes because adding a global flag make regexes stateful
24
+ const v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
25
+ const v4exact = new RegExp(`^${v4}$`);
26
+ const v6exact = new RegExp(`^${v6}$`);
27
+ const ipRegex = (options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g');
28
+ exports.ipRegex = ipRegex;
29
+ exports.ipRegex.v4 = (options) => (options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g'));
30
+ exports.ipRegex.v6 = (options) => (options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(options)}`, 'g'));
31
+ //# sourceMappingURL=ip-regex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ip-regex.js","sourceRoot":"","sources":["../../../src/Validator/ip-regex.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,cAAc,CAAA;AAO3B,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,IAAI,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAErI,MAAM,EAAE,GAAG,gGAAgG,CAAA;AAE3G,MAAM,SAAS,GAAG,kBAAkB,CAAA;AAEpC,MAAM,EAAE,GAAG;;KAEN,SAAS,WAAW,SAAS;KAC7B,SAAS,WAAW,EAAE,KAAK,SAAS;KACpC,SAAS,YAAY,EAAE,QAAQ,SAAS;KACxC,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;KAC9D,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;KAC9D,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;KAC9D,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;aACtD,SAAS,UAAU,EAAE,QAAQ,SAAS;;CAElD;KACE,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;KAC3B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;KAClB,IAAI,EAAE,CAAA;AAET,wFAAwF;AACxF,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;AACtD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACrC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAE9B,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC1C,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAD7I,QAAA,OAAO,WACsI;AAE1J,eAAO,CAAC,EAAE,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;AACxI,eAAO,CAAC,EAAE,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare function isIP(value: string): boolean;
2
+ export declare function isIPv6(value: string): boolean;
3
+ export declare function isIPv4(value: string): boolean;
4
+ export declare function ipVersion(value: string): 6 | 4 | undefined;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ipVersion = exports.isIPv4 = exports.isIPv6 = exports.isIP = void 0;
4
+ const ip_regex_1 = require("./ip-regex");
5
+ function isIP(value) {
6
+ return (0, ip_regex_1.ipRegex)({ exact: true }).test(value);
7
+ }
8
+ exports.isIP = isIP;
9
+ function isIPv6(value) {
10
+ return ip_regex_1.ipRegex.v6({ exact: true }).test(value);
11
+ }
12
+ exports.isIPv6 = isIPv6;
13
+ function isIPv4(value) {
14
+ return ip_regex_1.ipRegex.v4({ exact: true }).test(value);
15
+ }
16
+ exports.isIPv4 = isIPv4;
17
+ function ipVersion(value) {
18
+ return isIP(value) ? (isIPv6(value) ? 6 : 4) : undefined;
19
+ }
20
+ exports.ipVersion = ipVersion;
21
+ //# sourceMappingURL=is-ip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-ip.js","sourceRoot":"","sources":["../../../src/Validator/is-ip.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAEpC,SAAgB,IAAI,CAAC,KAAa;IAChC,OAAO,IAAA,kBAAO,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC7C,CAAC;AAFD,oBAEC;AAED,SAAgB,MAAM,CAAC,KAAa;IAClC,OAAO,kBAAO,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAChD,CAAC;AAFD,wBAEC;AAED,SAAgB,MAAM,CAAC,KAAa;IAClC,OAAO,kBAAO,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAChD,CAAC;AAFD,wBAEC;AAED,SAAgB,SAAS,CAAC,KAAa;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC1D,CAAC;AAFD,8BAEC"}
@@ -0,0 +1,11 @@
1
+ import { XyoHasher } from '@xyo-network/core';
2
+ import { XyoBoundWitness, XyoBoundWitnessWithMeta } from '../models';
3
+ export declare class XyoBoundWitnessWrapper<T extends XyoBoundWitness> extends XyoHasher<T> {
4
+ readonly bw: T;
5
+ constructor(bw: T);
6
+ get scrubbedFields(): Partial<T>;
7
+ }
8
+ export declare class XyoBoundWitnessWithMetaWrapper<T extends XyoBoundWitnessWithMeta> extends XyoBoundWitnessWrapper<T> {
9
+ private _userAgent?;
10
+ get userAgent(): import("ua-parser-js").UAParserInstance;
11
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XyoBoundWitnessWithMetaWrapper = exports.XyoBoundWitnessWrapper = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@xyo-network/core");
6
+ const pick_1 = tslib_1.__importDefault(require("lodash/pick"));
7
+ const ua_parser_js_1 = require("ua-parser-js");
8
+ const scrubbedFields = ['_archive', '_client', '_hash', '_signatures', '_timestamp', '_user_agent', 'addresses', 'payload_schemas', 'previous_hashes', 'payload_hashes', 'schema'];
9
+ class XyoBoundWitnessWrapper extends core_1.XyoHasher {
10
+ constructor(bw) {
11
+ super(bw);
12
+ this.bw = bw;
13
+ }
14
+ get scrubbedFields() {
15
+ return (0, pick_1.default)(this.bw, scrubbedFields);
16
+ }
17
+ }
18
+ exports.XyoBoundWitnessWrapper = XyoBoundWitnessWrapper;
19
+ class XyoBoundWitnessWithMetaWrapper extends XyoBoundWitnessWrapper {
20
+ get userAgent() {
21
+ var _a;
22
+ this._userAgent = (_a = this._userAgent) !== null && _a !== void 0 ? _a : new ua_parser_js_1.UAParser(this.bw._user_agent);
23
+ return this._userAgent;
24
+ }
25
+ }
26
+ exports.XyoBoundWitnessWithMetaWrapper = XyoBoundWitnessWithMetaWrapper;
27
+ //# sourceMappingURL=Wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../src/Wrapper/Wrapper.ts"],"names":[],"mappings":";;;;AAAA,4CAA6C;AAC7C,+DAA8B;AAC9B,+CAAuC;AAIvC,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAA;AAElL,MAAa,sBAAkD,SAAQ,gBAAY;IAEjF,YAAY,EAAK;QACf,KAAK,CAAC,EAAE,CAAC,CAAA;QACT,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAA,cAAI,EAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;IACtC,CAAC;CACF;AAVD,wDAUC;AAED,MAAa,8BAAkE,SAAQ,sBAAyB;IAE9G,IAAI,SAAS;;QACX,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,uBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAND,wEAMC"}
@@ -0,0 +1 @@
1
+ export * from './Wrapper';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./Wrapper"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Wrapper/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB"}
@@ -0,0 +1,5 @@
1
+ export * from './Builder';
2
+ export * from './isXyoPayloadOfSchemaType';
3
+ export * from './models';
4
+ export * from './Validator';
5
+ export * from './Wrapper';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./Builder"), exports);
5
+ tslib_1.__exportStar(require("./isXyoPayloadOfSchemaType"), exports);
6
+ tslib_1.__exportStar(require("./models"), exports);
7
+ tslib_1.__exportStar(require("./Validator"), exports);
8
+ tslib_1.__exportStar(require("./Wrapper"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,qEAA0C;AAC1C,mDAAwB;AACxB,sDAA2B;AAC3B,oDAAyB"}
@@ -0,0 +1,2 @@
1
+ import { XyoBoundWitness } from './models';
2
+ export declare const isXyoBoundWitnessPayload: (x: import("@xyo-network/payload").XyoPayload<object>) => x is XyoBoundWitness<object>;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isXyoBoundWitnessPayload = void 0;
4
+ const payload_1 = require("@xyo-network/payload");
5
+ exports.isXyoBoundWitnessPayload = (0, payload_1.isXyoPayloadOfSchemaType)('network.xyo.boundwitness');
6
+ //# sourceMappingURL=isXyoPayloadOfSchemaType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isXyoPayloadOfSchemaType.js","sourceRoot":"","sources":["../../src/isXyoPayloadOfSchemaType.ts"],"names":[],"mappings":";;;AAAA,kDAA+D;AAIlD,QAAA,wBAAwB,GAAG,IAAA,kCAAwB,EAAkB,0BAA0B,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { XyoPayload } from '@xyo-network/payload';
2
+ export declare type XyoBoundWitnessBase = XyoPayload<{
3
+ addresses: string[];
4
+ previous_hash?: string;
5
+ payload_hashes: string[];
6
+ payload_schemas: string[];
7
+ previous_hashes: (string | null)[];
8
+ schema: string;
9
+ }>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=XyoBoundWitnessBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoBoundWitnessBase.js","sourceRoot":"","sources":["../../../../src/models/Base/XyoBoundWitnessBase.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ export declare const XyoBoundWitnessBaseSchema: {
2
+ $id: string;
3
+ additionalProperties: boolean;
4
+ properties: {
5
+ addresses: {
6
+ items: {
7
+ type: string;
8
+ };
9
+ type: string;
10
+ };
11
+ payload_hashes: {
12
+ items: {
13
+ type: string;
14
+ };
15
+ type: string;
16
+ };
17
+ payload_schemas: {
18
+ items: {
19
+ type: string;
20
+ };
21
+ type: string;
22
+ };
23
+ previous_hashes: {
24
+ items: {
25
+ nullable: boolean;
26
+ type: string;
27
+ };
28
+ type: string;
29
+ };
30
+ schema: {
31
+ type: string;
32
+ };
33
+ };
34
+ required: string[];
35
+ type: string;
36
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XyoBoundWitnessBaseSchema = void 0;
4
+ //Should type as JSONSchemaType<XyoBoundWitnessBody> once ajv/eslint issue is fixed
5
+ //https://github.com/microsoft/TypeScript/issues/44851
6
+ exports.XyoBoundWitnessBaseSchema = {
7
+ $id: 'https://schemas.xyo.network/2.0/boundwitness/body',
8
+ additionalProperties: false,
9
+ properties: {
10
+ addresses: { items: { type: 'string' }, type: 'array' },
11
+ payload_hashes: { items: { type: 'string' }, type: 'array' },
12
+ payload_schemas: { items: { type: 'string' }, type: 'array' },
13
+ previous_hashes: { items: { nullable: true, type: 'string' }, type: 'array' },
14
+ schema: { type: 'string' },
15
+ },
16
+ required: ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes', 'schema'],
17
+ type: 'object',
18
+ };
19
+ //# sourceMappingURL=XyoBoundWitnessBaseSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoBoundWitnessBaseSchema.js","sourceRoot":"","sources":["../../../../src/models/Base/XyoBoundWitnessBaseSchema.ts"],"names":[],"mappings":";;;AAAA,mFAAmF;AACnF,sDAAsD;AACzC,QAAA,yBAAyB,GAAG;IACvC,GAAG,EAAE,mDAAmD;IACxD,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACvD,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5D,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC7D,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC7E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3B;IACD,QAAQ,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC;IACzF,IAAI,EAAE,QAAQ;CACf,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './XyoBoundWitnessBase';
2
+ export * from './XyoBoundWitnessBaseSchema';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./XyoBoundWitnessBase"), exports);
5
+ tslib_1.__exportStar(require("./XyoBoundWitnessBaseSchema"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/Base/index.ts"],"names":[],"mappings":";;;AAAA,gEAAqC;AACrC,sEAA2C"}
@@ -0,0 +1,7 @@
1
+ import { XyoPayloadMeta, XyoPayloadWithPartialMeta } from '@xyo-network/payload';
2
+ export declare type XyoBoundWitnessMeta<P extends XyoPayloadWithPartialMeta = XyoPayloadWithPartialMeta> = XyoPayloadMeta<{
3
+ _payloads?: P[];
4
+ _signatures?: string[];
5
+ _source_ip?: string;
6
+ _user_agent?: string;
7
+ }>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=XyoBoundWitnessMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoBoundWitnessMeta.js","sourceRoot":"","sources":["../../../../src/models/Meta/XyoBoundWitnessMeta.ts"],"names":[],"mappings":""}
@@ -0,0 +1,85 @@
1
+ export declare const XyoBoundWitnessMetaSchemaProperties: () => {
2
+ _archive: {
3
+ nullable: boolean;
4
+ type: string;
5
+ };
6
+ _client: {
7
+ nullable: boolean;
8
+ type: string;
9
+ };
10
+ _hash: {
11
+ nullable: boolean;
12
+ type: string;
13
+ };
14
+ _payloads: {
15
+ items: {
16
+ type: string;
17
+ };
18
+ nullable: boolean;
19
+ type: string;
20
+ };
21
+ _signatures: {
22
+ items: {
23
+ type: string;
24
+ };
25
+ nullable: boolean;
26
+ type: string;
27
+ };
28
+ _source_ip: {
29
+ nullable: boolean;
30
+ type: string;
31
+ };
32
+ _timestamp: {
33
+ nullable: boolean;
34
+ type: string;
35
+ };
36
+ _user_agent: {
37
+ nullable: boolean;
38
+ type: string;
39
+ };
40
+ };
41
+ export declare const XyoBoundWitnessMetaSchema: () => {
42
+ $id: string;
43
+ additionalProperties: boolean;
44
+ properties: () => {
45
+ _archive: {
46
+ nullable: boolean;
47
+ type: string;
48
+ };
49
+ _client: {
50
+ nullable: boolean;
51
+ type: string;
52
+ };
53
+ _hash: {
54
+ nullable: boolean;
55
+ type: string;
56
+ };
57
+ _payloads: {
58
+ items: {
59
+ type: string;
60
+ };
61
+ nullable: boolean;
62
+ type: string;
63
+ };
64
+ _signatures: {
65
+ items: {
66
+ type: string;
67
+ };
68
+ nullable: boolean;
69
+ type: string;
70
+ };
71
+ _source_ip: {
72
+ nullable: boolean;
73
+ type: string;
74
+ };
75
+ _timestamp: {
76
+ nullable: boolean;
77
+ type: string;
78
+ };
79
+ _user_agent: {
80
+ nullable: boolean;
81
+ type: string;
82
+ };
83
+ };
84
+ type: string;
85
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ //Should type as JSONSchemaType<XyoBoundWitnessMeta> once ajv/eslint issue is fixed
3
+ //https://github.com/microsoft/TypeScript/issues/44851
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.XyoBoundWitnessMetaSchema = exports.XyoBoundWitnessMetaSchemaProperties = void 0;
6
+ const XyoBoundWitnessMetaSchemaProperties = () => {
7
+ return {
8
+ _archive: { nullable: true, type: 'string' },
9
+ _client: { nullable: true, type: 'string' },
10
+ _hash: { nullable: true, type: 'string' },
11
+ _payloads: { items: { type: 'object' }, nullable: true, type: 'array' },
12
+ _signatures: { items: { type: 'string' }, nullable: true, type: 'array' },
13
+ _source_ip: { nullable: true, type: 'string' },
14
+ _timestamp: { nullable: true, type: 'number' },
15
+ _user_agent: { nullable: true, type: 'string' },
16
+ };
17
+ };
18
+ exports.XyoBoundWitnessMetaSchemaProperties = XyoBoundWitnessMetaSchemaProperties;
19
+ const XyoBoundWitnessMetaSchema = () => {
20
+ return {
21
+ $id: 'https://schemas.xyo.network/2.0/boundwitness/meta',
22
+ additionalProperties: false,
23
+ properties: exports.XyoBoundWitnessMetaSchemaProperties,
24
+ type: 'object',
25
+ };
26
+ };
27
+ exports.XyoBoundWitnessMetaSchema = XyoBoundWitnessMetaSchema;
28
+ //# sourceMappingURL=XyoBoundWitnessMetaSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoBoundWitnessMetaSchema.js","sourceRoot":"","sources":["../../../../src/models/Meta/XyoBoundWitnessMetaSchema.ts"],"names":[],"mappings":";AAAA,mFAAmF;AACnF,sDAAsD;;;AAE/C,MAAM,mCAAmC,GAAG,GAAG,EAAE;IACtD,OAAO;QACL,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzC,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QACvE,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QACzE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9C,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9C,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;KAChD,CAAA;AACH,CAAC,CAAA;AAXY,QAAA,mCAAmC,uCAW/C;AAEM,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,OAAO;QACL,GAAG,EAAE,mDAAmD;QACxD,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE,2CAAmC;QAC/C,IAAI,EAAE,QAAQ;KACf,CAAA;AACH,CAAC,CAAA;AAPY,QAAA,yBAAyB,6BAOrC"}
@@ -0,0 +1,2 @@
1
+ export * from './XyoBoundWitnessMeta';
2
+ export * from './XyoBoundWitnessMetaSchema';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./XyoBoundWitnessMeta"), exports);
5
+ tslib_1.__exportStar(require("./XyoBoundWitnessMetaSchema"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/Meta/index.ts"],"names":[],"mappings":";;;AAAA,gEAAqC;AACrC,sEAA2C"}
@@ -0,0 +1,4 @@
1
+ import { XyoBoundWitnessMeta } from './Meta';
2
+ import { XyoBoundWitness } from './XyoBoundWitness';
3
+ declare type WithXyoBoundWitnessMeta<T extends XyoBoundWitness> = T & XyoBoundWitnessMeta;
4
+ export type { WithXyoBoundWitnessMeta };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=WithXyoBoundWitnessMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WithXyoBoundWitnessMeta.js","sourceRoot":"","sources":["../../../src/models/WithXyoBoundWitnessMeta.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { XyoPayloadWithPartialMeta } from '@xyo-network/payload';
2
+ import { XyoBoundWitnessBase } from './Base';
3
+ import { XyoBoundWitnessMeta } from './Meta';
4
+ export declare type XyoBoundWitness<T extends object = object> = T & XyoBoundWitnessBase;
5
+ export declare type XyoBoundWitnessWithMeta<T = unknown, P extends XyoPayloadWithPartialMeta = XyoPayloadWithPartialMeta> = T & XyoBoundWitnessMeta<P> & XyoBoundWitness;
6
+ export declare type XyoBoundWitnessWithPartialMeta<T = unknown, P extends XyoPayloadWithPartialMeta = XyoPayloadWithPartialMeta> = T & Partial<XyoBoundWitnessMeta<P>> & XyoBoundWitness;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=XyoBoundWitness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoBoundWitness.js","sourceRoot":"","sources":["../../../src/models/XyoBoundWitness.ts"],"names":[],"mappings":""}
@@ -0,0 +1,75 @@
1
+ declare const XyoBoundWitnessSchema: () => {
2
+ $id: string;
3
+ additionalProperties: boolean;
4
+ properties: {
5
+ addresses: {
6
+ items: {
7
+ type: string;
8
+ };
9
+ type: string;
10
+ };
11
+ payload_hashes: {
12
+ items: {
13
+ type: string;
14
+ };
15
+ type: string;
16
+ };
17
+ payload_schemas: {
18
+ items: {
19
+ type: string;
20
+ };
21
+ type: string;
22
+ };
23
+ previous_hashes: {
24
+ items: {
25
+ nullable: boolean;
26
+ type: string;
27
+ };
28
+ type: string;
29
+ };
30
+ schema: {
31
+ type: string;
32
+ };
33
+ _archive: {
34
+ nullable: boolean;
35
+ type: string;
36
+ };
37
+ _client: {
38
+ nullable: boolean;
39
+ type: string;
40
+ };
41
+ _hash: {
42
+ nullable: boolean;
43
+ type: string;
44
+ };
45
+ _payloads: {
46
+ items: {
47
+ type: string;
48
+ };
49
+ nullable: boolean;
50
+ type: string;
51
+ };
52
+ _signatures: {
53
+ items: {
54
+ type: string;
55
+ };
56
+ nullable: boolean;
57
+ type: string;
58
+ };
59
+ _source_ip: {
60
+ nullable: boolean;
61
+ type: string;
62
+ };
63
+ _timestamp: {
64
+ nullable: boolean;
65
+ type: string;
66
+ };
67
+ _user_agent: {
68
+ nullable: boolean;
69
+ type: string;
70
+ };
71
+ };
72
+ required: string[];
73
+ type: string;
74
+ };
75
+ export { XyoBoundWitnessSchema };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ //Should type as JSONSchemaType<XyoBoundWitness> once ajv/eslint issue is fixed
3
+ //https://github.com/microsoft/TypeScript/issues/44851
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.XyoBoundWitnessSchema = void 0;
6
+ const Meta_1 = require("./Meta");
7
+ const XyoBoundWitnessSchema = () => {
8
+ return {
9
+ $id: 'https://schemas.xyo.network/2.0/boundwitness',
10
+ additionalProperties: false,
11
+ properties: Object.assign(Object.assign({}, (0, Meta_1.XyoBoundWitnessMetaSchemaProperties)()), { addresses: { items: { type: 'string' }, type: 'array' }, payload_hashes: { items: { type: 'string' }, type: 'array' }, payload_schemas: { items: { type: 'string' }, type: 'array' }, previous_hashes: { items: { nullable: true, type: 'string' }, type: 'array' }, schema: { type: 'string' } }),
12
+ required: ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes', 'schema'],
13
+ type: 'object',
14
+ };
15
+ };
16
+ exports.XyoBoundWitnessSchema = XyoBoundWitnessSchema;
17
+ //# sourceMappingURL=XyoBoundWitnessSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoBoundWitnessSchema.js","sourceRoot":"","sources":["../../../src/models/XyoBoundWitnessSchema.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,sDAAsD;;;AAEtD,iCAA4D;AAE5D,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,OAAO;QACL,GAAG,EAAE,8CAA8C;QACnD,oBAAoB,EAAE,KAAK;QAC3B,UAAU,kCACL,IAAA,0CAAmC,GAAE,KACxC,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EACvD,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAC5D,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAC7D,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAC7E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAC3B;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QACzF,IAAI,EAAE,QAAQ;KACf,CAAA;AACH,CAAC,CAAA;AAEQ,sDAAqB"}