@xyo-network/core 2.20.47 → 2.21.2

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 (294) hide show
  1. package/dist/cjs/BoundWitness/Builder/Builder.d.ts +5 -5
  2. package/dist/cjs/BoundWitness/Builder/Builder.js.map +1 -1
  3. package/dist/cjs/BoundWitness/Validator/BodyValidator.d.ts +7 -8
  4. package/dist/cjs/BoundWitness/Validator/BodyValidator.js +23 -20
  5. package/dist/cjs/BoundWitness/Validator/BodyValidator.js.map +1 -1
  6. package/dist/cjs/BoundWitness/Validator/MetaValidator.d.ts +4 -5
  7. package/dist/cjs/BoundWitness/Validator/MetaValidator.js +9 -11
  8. package/dist/cjs/BoundWitness/Validator/MetaValidator.js.map +1 -1
  9. package/dist/cjs/BoundWitness/Validator/Validator.d.ts +5 -5
  10. package/dist/cjs/BoundWitness/Validator/Validator.js +9 -8
  11. package/dist/cjs/BoundWitness/Validator/Validator.js.map +1 -1
  12. package/dist/cjs/BoundWitness/Wrapper/Wrapper.d.ts +5 -7
  13. package/dist/cjs/BoundWitness/Wrapper/Wrapper.js +5 -8
  14. package/dist/cjs/BoundWitness/Wrapper/Wrapper.js.map +1 -1
  15. package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBase.d.ts +9 -0
  16. package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBase.js +3 -0
  17. package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBase.js.map +1 -0
  18. package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.d.ts +36 -0
  19. package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.js +19 -0
  20. package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.js.map +1 -0
  21. package/dist/cjs/BoundWitness/models/Base/index.d.ts +2 -0
  22. package/dist/cjs/BoundWitness/models/Base/index.js +6 -0
  23. package/dist/cjs/BoundWitness/models/Base/index.js.map +1 -0
  24. package/dist/cjs/BoundWitness/models/Body/XyoBoundWitnessBody.d.ts +3 -5
  25. package/dist/cjs/BoundWitness/models/Meta/XyoBoundWitnessMeta.d.ts +7 -10
  26. package/dist/cjs/BoundWitness/models/WithXyoBoundWitnessMeta.d.ts +2 -2
  27. package/dist/cjs/BoundWitness/models/XyoBoundWitness.d.ts +2 -5
  28. package/dist/cjs/BoundWitness/models/index.d.ts +1 -1
  29. package/dist/cjs/BoundWitness/models/index.js +1 -1
  30. package/dist/cjs/Hasher/XyoAbstractHasher.d.ts +2 -2
  31. package/dist/cjs/Hasher/XyoAbstractHasher.js +3 -2
  32. package/dist/cjs/Hasher/XyoAbstractHasher.js.map +1 -1
  33. package/dist/cjs/Hasher/XyoHasher.d.ts +10 -5
  34. package/dist/cjs/Hasher/XyoHasher.js +28 -8
  35. package/dist/cjs/Hasher/XyoHasher.js.map +1 -1
  36. package/dist/cjs/Hasher/index.d.ts +0 -1
  37. package/dist/cjs/Hasher/index.js +0 -1
  38. package/dist/cjs/Hasher/index.js.map +1 -1
  39. package/dist/cjs/Hasher/removeFields.d.ts +3 -3
  40. package/dist/cjs/Hasher/removeFields.js +8 -5
  41. package/dist/cjs/Hasher/removeFields.js.map +1 -1
  42. package/dist/cjs/Hasher/sortFields.d.ts +1 -1
  43. package/dist/cjs/Hasher/sortFields.js +3 -2
  44. package/dist/cjs/Hasher/sortFields.js.map +1 -1
  45. package/dist/cjs/Huri/Huri.d.ts +2 -2
  46. package/dist/cjs/Payload/Builder/Builder.d.ts +3 -2
  47. package/dist/cjs/Payload/Builder/Builder.js.map +1 -1
  48. package/dist/cjs/Payload/Validator/BodyValidator.d.ts +4 -6
  49. package/dist/cjs/Payload/Validator/BodyValidator.js +5 -7
  50. package/dist/cjs/Payload/Validator/BodyValidator.js.map +1 -1
  51. package/dist/cjs/Payload/Validator/MetaValidator.d.ts +4 -5
  52. package/dist/cjs/Payload/Validator/MetaValidator.js +7 -9
  53. package/dist/cjs/Payload/Validator/MetaValidator.js.map +1 -1
  54. package/dist/cjs/Payload/Validator/Validator.d.ts +4 -5
  55. package/dist/cjs/Payload/Validator/Validator.js +5 -4
  56. package/dist/cjs/Payload/Validator/Validator.js.map +1 -1
  57. package/dist/cjs/Payload/Wrapper/Validator.d.ts +5 -6
  58. package/dist/cjs/Payload/Wrapper/Validator.js +5 -7
  59. package/dist/cjs/Payload/Wrapper/Validator.js.map +1 -1
  60. package/dist/cjs/Payload/Wrapper/Wrapper.d.ts +5 -7
  61. package/dist/cjs/Payload/Wrapper/Wrapper.js +5 -9
  62. package/dist/cjs/Payload/Wrapper/Wrapper.js.map +1 -1
  63. package/dist/cjs/Payload/index.d.ts +0 -1
  64. package/dist/cjs/Payload/index.js +0 -1
  65. package/dist/cjs/Payload/index.js.map +1 -1
  66. package/dist/cjs/Payload/models/Base.d.ts +6 -0
  67. package/dist/cjs/Payload/models/Base.js +3 -0
  68. package/dist/cjs/Payload/models/Base.js.map +1 -0
  69. package/dist/cjs/Payload/models/Body.d.ts +2 -3
  70. package/dist/cjs/Payload/models/Meta.d.ts +12 -7
  71. package/dist/cjs/Payload/models/WithAdditional.d.ts +4 -0
  72. package/dist/cjs/Payload/models/WithAdditional.js +3 -0
  73. package/dist/cjs/Payload/models/WithAdditional.js.map +1 -0
  74. package/dist/cjs/Payload/models/XyoPayload.d.ts +2 -4
  75. package/dist/cjs/Payload/models/index.d.ts +1 -2
  76. package/dist/cjs/Payload/models/index.js +1 -2
  77. package/dist/cjs/Payload/models/index.js.map +1 -1
  78. package/dist/cjs/Query/QueryPayload.d.ts +1 -1
  79. package/dist/cjs/Schema/Payload.d.ts +3 -3
  80. package/dist/cjs/Test/testBoundWitness.d.ts +2 -2
  81. package/dist/cjs/Test/testBoundWitness.js.map +1 -1
  82. package/dist/cjs/Test/testPayload.d.ts +3 -2
  83. package/dist/cjs/Test/testPayload.js.map +1 -1
  84. package/dist/cjs/Wallet/Base/WordsPayload.d.ts +1 -1
  85. package/dist/cjs/Witness/LegacyWitness.d.ts +3 -3
  86. package/dist/cjs/Witness/LegacyWitness.js.map +1 -1
  87. package/dist/cjs/Witness/QueryWitness.d.ts +1 -1
  88. package/dist/cjs/Witness/QueryWitness.js.map +1 -1
  89. package/dist/cjs/Witness/Witness.d.ts +1 -1
  90. package/dist/cjs/lib/StringKeyObject.d.ts +4 -0
  91. package/dist/cjs/lib/StringKeyObject.js +3 -0
  92. package/dist/cjs/lib/StringKeyObject.js.map +1 -0
  93. package/dist/cjs/lib/XyoObject.d.ts +6 -0
  94. package/dist/cjs/lib/XyoObject.js +13 -0
  95. package/dist/cjs/lib/XyoObject.js.map +1 -0
  96. package/dist/cjs/lib/XyoValidator.d.ts +4 -0
  97. package/dist/cjs/lib/XyoValidator.js +8 -0
  98. package/dist/cjs/lib/XyoValidator.js.map +1 -0
  99. package/dist/cjs/lib/index.d.ts +3 -0
  100. package/dist/cjs/lib/index.js +3 -0
  101. package/dist/cjs/lib/index.js.map +1 -1
  102. package/dist/cjs/lib/isXyoPayloadOfSchemaType.d.ts +3 -3
  103. package/dist/cjs/models/Base.d.ts +6 -0
  104. package/dist/cjs/models/Base.js +3 -0
  105. package/dist/cjs/models/Base.js.map +1 -0
  106. package/dist/cjs/models/Meta.d.ts +15 -0
  107. package/dist/cjs/models/Meta.js +3 -0
  108. package/dist/cjs/models/Meta.js.map +1 -0
  109. package/dist/cjs/models/XyoPayload.d.ts +2 -0
  110. package/dist/cjs/models/XyoPayload.js +3 -0
  111. package/dist/cjs/models/XyoPayload.js.map +1 -0
  112. package/dist/cjs/models/index.d.ts +3 -1
  113. package/dist/cjs/models/index.js +3 -1
  114. package/dist/cjs/models/index.js.map +1 -1
  115. package/dist/cjs/shared.d.ts +1 -1
  116. package/dist/cjs/shared.js +1 -1
  117. package/dist/cjs/shared.js.map +1 -1
  118. package/dist/esm/BoundWitness/Builder/Builder.d.ts +5 -5
  119. package/dist/esm/BoundWitness/Builder/Builder.js.map +1 -1
  120. package/dist/esm/BoundWitness/Validator/BodyValidator.d.ts +7 -8
  121. package/dist/esm/BoundWitness/Validator/BodyValidator.js +24 -22
  122. package/dist/esm/BoundWitness/Validator/BodyValidator.js.map +1 -1
  123. package/dist/esm/BoundWitness/Validator/MetaValidator.d.ts +4 -5
  124. package/dist/esm/BoundWitness/Validator/MetaValidator.js +9 -11
  125. package/dist/esm/BoundWitness/Validator/MetaValidator.js.map +1 -1
  126. package/dist/esm/BoundWitness/Validator/Validator.d.ts +5 -5
  127. package/dist/esm/BoundWitness/Validator/Validator.js +9 -8
  128. package/dist/esm/BoundWitness/Validator/Validator.js.map +1 -1
  129. package/dist/esm/BoundWitness/Wrapper/Wrapper.d.ts +5 -7
  130. package/dist/esm/BoundWitness/Wrapper/Wrapper.js +3 -7
  131. package/dist/esm/BoundWitness/Wrapper/Wrapper.js.map +1 -1
  132. package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBase.d.ts +9 -0
  133. package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBase.js +2 -0
  134. package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBase.js.map +1 -0
  135. package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.d.ts +36 -0
  136. package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.js +16 -0
  137. package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.js.map +1 -0
  138. package/dist/esm/BoundWitness/models/Base/index.d.ts +2 -0
  139. package/dist/esm/BoundWitness/models/Base/index.js +3 -0
  140. package/dist/esm/BoundWitness/models/Base/index.js.map +1 -0
  141. package/dist/esm/BoundWitness/models/Body/XyoBoundWitnessBody.d.ts +3 -5
  142. package/dist/esm/BoundWitness/models/Meta/XyoBoundWitnessMeta.d.ts +7 -10
  143. package/dist/esm/BoundWitness/models/WithXyoBoundWitnessMeta.d.ts +2 -2
  144. package/dist/esm/BoundWitness/models/XyoBoundWitness.d.ts +2 -5
  145. package/dist/esm/BoundWitness/models/index.d.ts +1 -1
  146. package/dist/esm/BoundWitness/models/index.js +1 -1
  147. package/dist/esm/Hasher/XyoAbstractHasher.d.ts +2 -2
  148. package/dist/esm/Hasher/XyoAbstractHasher.js +3 -2
  149. package/dist/esm/Hasher/XyoAbstractHasher.js.map +1 -1
  150. package/dist/esm/Hasher/XyoHasher.d.ts +10 -5
  151. package/dist/esm/Hasher/XyoHasher.js +27 -8
  152. package/dist/esm/Hasher/XyoHasher.js.map +1 -1
  153. package/dist/esm/Hasher/index.d.ts +0 -1
  154. package/dist/esm/Hasher/index.js +0 -1
  155. package/dist/esm/Hasher/index.js.map +1 -1
  156. package/dist/esm/Hasher/removeFields.d.ts +3 -3
  157. package/dist/esm/Hasher/removeFields.js +8 -5
  158. package/dist/esm/Hasher/removeFields.js.map +1 -1
  159. package/dist/esm/Hasher/sortFields.d.ts +1 -1
  160. package/dist/esm/Hasher/sortFields.js +3 -2
  161. package/dist/esm/Hasher/sortFields.js.map +1 -1
  162. package/dist/esm/Huri/Huri.d.ts +2 -2
  163. package/dist/esm/Payload/Builder/Builder.d.ts +3 -2
  164. package/dist/esm/Payload/Builder/Builder.js.map +1 -1
  165. package/dist/esm/Payload/Validator/BodyValidator.d.ts +4 -6
  166. package/dist/esm/Payload/Validator/BodyValidator.js +5 -8
  167. package/dist/esm/Payload/Validator/BodyValidator.js.map +1 -1
  168. package/dist/esm/Payload/Validator/MetaValidator.d.ts +4 -5
  169. package/dist/esm/Payload/Validator/MetaValidator.js +7 -9
  170. package/dist/esm/Payload/Validator/MetaValidator.js.map +1 -1
  171. package/dist/esm/Payload/Validator/Validator.d.ts +4 -5
  172. package/dist/esm/Payload/Validator/Validator.js +5 -5
  173. package/dist/esm/Payload/Validator/Validator.js.map +1 -1
  174. package/dist/esm/Payload/Wrapper/Validator.d.ts +5 -6
  175. package/dist/esm/Payload/Wrapper/Validator.js +5 -7
  176. package/dist/esm/Payload/Wrapper/Validator.js.map +1 -1
  177. package/dist/esm/Payload/Wrapper/Wrapper.d.ts +5 -7
  178. package/dist/esm/Payload/Wrapper/Wrapper.js +6 -10
  179. package/dist/esm/Payload/Wrapper/Wrapper.js.map +1 -1
  180. package/dist/esm/Payload/index.d.ts +0 -1
  181. package/dist/esm/Payload/index.js +0 -1
  182. package/dist/esm/Payload/index.js.map +1 -1
  183. package/dist/esm/Payload/models/Base.d.ts +6 -0
  184. package/dist/esm/Payload/models/Base.js +2 -0
  185. package/dist/esm/Payload/models/Base.js.map +1 -0
  186. package/dist/esm/Payload/models/Body.d.ts +2 -3
  187. package/dist/esm/Payload/models/Meta.d.ts +12 -7
  188. package/dist/esm/Payload/models/WithAdditional.d.ts +4 -0
  189. package/dist/esm/Payload/models/WithAdditional.js +2 -0
  190. package/dist/esm/Payload/models/WithAdditional.js.map +1 -0
  191. package/dist/esm/Payload/models/XyoPayload.d.ts +2 -4
  192. package/dist/esm/Payload/models/index.d.ts +1 -2
  193. package/dist/esm/Payload/models/index.js +1 -2
  194. package/dist/esm/Payload/models/index.js.map +1 -1
  195. package/dist/esm/Query/QueryPayload.d.ts +1 -1
  196. package/dist/esm/Schema/Payload.d.ts +3 -3
  197. package/dist/esm/Test/testBoundWitness.d.ts +2 -2
  198. package/dist/esm/Test/testBoundWitness.js.map +1 -1
  199. package/dist/esm/Test/testPayload.d.ts +3 -2
  200. package/dist/esm/Test/testPayload.js.map +1 -1
  201. package/dist/esm/Wallet/Base/WordsPayload.d.ts +1 -1
  202. package/dist/esm/Witness/LegacyWitness.d.ts +1 -1
  203. package/dist/esm/Witness/LegacyWitness.js.map +1 -1
  204. package/dist/esm/Witness/QueryWitness.d.ts +1 -1
  205. package/dist/esm/Witness/QueryWitness.js.map +1 -1
  206. package/dist/esm/Witness/Witness.d.ts +1 -1
  207. package/dist/esm/lib/StringKeyObject.d.ts +4 -0
  208. package/dist/esm/lib/StringKeyObject.js +2 -0
  209. package/dist/esm/lib/StringKeyObject.js.map +1 -0
  210. package/dist/esm/lib/XyoObject.d.ts +6 -0
  211. package/dist/esm/lib/XyoObject.js +9 -0
  212. package/dist/esm/lib/XyoObject.js.map +1 -0
  213. package/dist/esm/lib/XyoValidator.d.ts +4 -0
  214. package/dist/esm/lib/XyoValidator.js +4 -0
  215. package/dist/esm/lib/XyoValidator.js.map +1 -0
  216. package/dist/esm/lib/index.d.ts +3 -0
  217. package/dist/esm/lib/index.js +3 -0
  218. package/dist/esm/lib/index.js.map +1 -1
  219. package/dist/esm/lib/isXyoPayloadOfSchemaType.d.ts +3 -3
  220. package/dist/esm/models/Base.d.ts +6 -0
  221. package/dist/esm/models/Base.js +2 -0
  222. package/dist/esm/models/Base.js.map +1 -0
  223. package/dist/esm/models/Meta.d.ts +15 -0
  224. package/dist/esm/models/Meta.js +2 -0
  225. package/dist/esm/models/Meta.js.map +1 -0
  226. package/dist/esm/models/XyoPayload.d.ts +2 -0
  227. package/dist/esm/models/XyoPayload.js +2 -0
  228. package/dist/esm/models/XyoPayload.js.map +1 -0
  229. package/dist/esm/models/index.d.ts +3 -1
  230. package/dist/esm/models/index.js +3 -1
  231. package/dist/esm/models/index.js.map +1 -1
  232. package/dist/esm/shared.d.ts +1 -1
  233. package/dist/esm/shared.js +1 -1
  234. package/dist/esm/shared.js.map +1 -1
  235. package/package.json +1 -1
  236. package/src/BoundWitness/Builder/Builder.spec.ts +4 -3
  237. package/src/BoundWitness/Builder/Builder.ts +7 -7
  238. package/src/BoundWitness/Validator/BodyValidator.spec.ts +1 -1
  239. package/src/BoundWitness/Validator/BodyValidator.ts +26 -27
  240. package/src/BoundWitness/Validator/MetaValidator.spec.ts +10 -10
  241. package/src/BoundWitness/Validator/MetaValidator.ts +9 -13
  242. package/src/BoundWitness/Validator/Validator.spec.ts +1 -1
  243. package/src/BoundWitness/Validator/Validator.ts +11 -11
  244. package/src/BoundWitness/Wrapper/Wrapper.ts +4 -11
  245. package/src/BoundWitness/models/Base/XyoBoundWitnessBase.ts +10 -0
  246. package/src/BoundWitness/models/{Body/XyoBoundWitnessBodySchema.ts → Base/XyoBoundWitnessBaseSchema.ts} +1 -3
  247. package/src/BoundWitness/models/Base/index.ts +2 -0
  248. package/src/BoundWitness/models/Meta/XyoBoundWitnessMeta.ts +7 -10
  249. package/src/BoundWitness/models/WithXyoBoundWitnessMeta.ts +2 -2
  250. package/src/BoundWitness/models/XyoBoundWitness.ts +2 -6
  251. package/src/BoundWitness/models/index.ts +1 -1
  252. package/src/Hasher/XyoHasher.ts +31 -8
  253. package/src/Hasher/index.ts +0 -1
  254. package/src/Hasher/removeFields.ts +17 -9
  255. package/src/Hasher/sortFields.ts +8 -5
  256. package/src/Huri/Huri.spec.ts +1 -1
  257. package/src/Huri/Huri.ts +1 -1
  258. package/src/Payload/Builder/Builder.ts +3 -2
  259. package/src/Payload/Validator/BodyValidator.spec.ts +1 -1
  260. package/src/Payload/Validator/BodyValidator.ts +6 -13
  261. package/src/Payload/Validator/MetaValidator.spec.ts +1 -1
  262. package/src/Payload/Validator/MetaValidator.ts +7 -11
  263. package/src/Payload/Validator/Validator.spec.ts +16 -16
  264. package/src/Payload/Validator/Validator.ts +6 -8
  265. package/src/Payload/Wrapper/Validator.ts +6 -10
  266. package/src/Payload/Wrapper/Wrapper.ts +7 -13
  267. package/src/Payload/index.ts +0 -1
  268. package/src/Query/QueryPayload.ts +1 -1
  269. package/src/Schema/Payload.ts +3 -3
  270. package/src/Test/testBoundWitness.ts +2 -2
  271. package/src/Test/testPayload.ts +3 -2
  272. package/src/Wallet/Base/WordsPayload.ts +1 -1
  273. package/src/Witness/LegacyWitness.ts +2 -1
  274. package/src/Witness/QueryWitness.ts +2 -1
  275. package/src/Witness/Witness.ts +1 -1
  276. package/src/lib/StringKeyObject.ts +2 -0
  277. package/src/lib/XyoObject.ts +11 -0
  278. package/src/lib/XyoValidator.ts +5 -0
  279. package/src/lib/index.ts +3 -0
  280. package/src/lib/isXyoPayloadOfSchemaType.ts +1 -1
  281. package/src/models/Base.ts +6 -0
  282. package/src/models/Meta.ts +17 -0
  283. package/src/models/XyoPayload.ts +3 -0
  284. package/src/models/index.ts +3 -1
  285. package/src/shared.ts +1 -1
  286. package/src/BoundWitness/models/Body/XyoBoundWitnessBody.ts +0 -13
  287. package/src/BoundWitness/models/Body/index.ts +0 -2
  288. package/src/Hasher/XyoAbstractHasher.ts +0 -37
  289. package/src/Payload/models/Body.ts +0 -7
  290. package/src/Payload/models/Meta.ts +0 -11
  291. package/src/Payload/models/WithXyoPayloadMeta.ts +0 -6
  292. package/src/Payload/models/XyoPayload.ts +0 -6
  293. package/src/Payload/models/index.ts +0 -4
  294. package/src/models/WithStringIndex.ts +0 -1
@@ -1,4 +1,5 @@
1
1
  import { assertEx } from '@xylabs/sdk-js';
2
+ import { XyoValidator } from '../../lib';
2
3
  import { XyoAddressValue } from '../../Wallet';
3
4
  import { XyoBoundWitnessBodyValidator } from './BodyValidator';
4
5
  import { XyoBoundWitnessMetaValidator } from './MetaValidator';
@@ -14,25 +15,25 @@ const validateSignature = (hash, address, signature) => {
14
15
  }
15
16
  return [];
16
17
  };
17
- class XyoBoundWitnessValidator {
18
+ class XyoBoundWitnessValidator extends XyoValidator {
18
19
  constructor(bw) {
19
- this.bw = bw;
20
+ super(bw);
20
21
  this.body = new XyoBoundWitnessBodyValidator(bw, bw._payloads);
21
22
  this.meta = new XyoBoundWitnessMetaValidator(bw);
22
23
  }
23
24
  signatures() {
24
- const hash = assertEx(this.bw._hash, 'Missing _hash');
25
+ const hash = assertEx(this.obj._hash, 'Missing _hash');
25
26
  return [
26
- ...validateArraysSameLength(this.bw._signatures ?? [], this.bw.addresses, 'Length mismatch: address/_signature'),
27
- ...this.bw.addresses.reduce((errors, address, index) => {
28
- errors.push(...validateSignature(hash, address, this.bw._signatures?.[index]));
27
+ ...validateArraysSameLength(this.obj._signatures ?? [], this.obj.addresses, 'Length mismatch: address/_signature'),
28
+ ...this.obj.addresses.reduce((errors, address, index) => {
29
+ errors.push(...validateSignature(hash, address, this.obj._signatures?.[index]));
29
30
  return errors;
30
31
  }, []),
31
32
  ];
32
33
  }
33
- all() {
34
+ validate() {
34
35
  const errors = [];
35
- errors.push(...this.meta.all(), ...this.body.all());
36
+ errors.push(...this.meta.validate(), ...this.body.validate());
36
37
  errors.push(...this.signatures());
37
38
  return errors;
38
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Validator/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;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,eAAe,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,wBAAwB;IAI5B,YAAY,EAAmB;QAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,4BAA4B,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,4BAA4B,CAAC,EAAE,CAAC,CAAA;IAClD,CAAC;IAEM,UAAU;QACf,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;QACrD,OAAO;YACL,GAAG,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,qCAAqC,CAAC;YAChH,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;gBAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC9E,OAAO,MAAM,CAAA;YACf,CAAC,EAAE,EAAE,CAAC;SACP,CAAA;IACH,CAAC;IAEM,GAAG;QACR,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QACnD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
1
+ {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Validator/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;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,eAAe,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,wBAAsF,SAAQ,YAAe;IAGjH,YAAY,EAAK;QACf,KAAK,CAAC,EAAE,CAAC,CAAA;QACT,IAAI,CAAC,IAAI,GAAG,IAAI,4BAA4B,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,4BAA4B,CAAC,EAAE,CAAC,CAAA;IAClD,CAAC;IAEM,UAAU;QACf,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;QACtD,OAAO;YACL,GAAG,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,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,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,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;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
@@ -1,13 +1,11 @@
1
1
  import { XyoHasher } from '../../Hasher';
2
- import { XyoBoundWitness } from '../models';
3
- import { XyoBoundWitnessValidator } from '../Validator';
4
- declare class XyoBoundWitnessWrapper<T extends XyoBoundWitness> extends XyoHasher<T> {
2
+ import { XyoBoundWitness, XyoBoundWitnessWithMeta } from '../models';
3
+ export declare class XyoBoundWitnessWrapper<T extends XyoBoundWitness> extends XyoHasher<T> {
5
4
  readonly bw: T;
6
5
  constructor(bw: T);
7
- get scrubbedFields(): Pick<T, string>;
8
- private _validator?;
9
- get validator(): XyoBoundWitnessValidator;
6
+ get scrubbedFields(): Partial<T>;
7
+ }
8
+ export declare class XyoBoundWitnessWithMetaWrapper<T extends XyoBoundWitnessWithMeta> extends XyoBoundWitnessWrapper<T> {
10
9
  private _userAgent?;
11
10
  get userAgent(): import("ua-parser-js").UAParserInstance;
12
11
  }
13
- export { XyoBoundWitnessWrapper };
@@ -1,9 +1,8 @@
1
1
  import pick from 'lodash/pick';
2
2
  import { UAParser } from 'ua-parser-js';
3
3
  import { XyoHasher } from '../../Hasher';
4
- import { XyoBoundWitnessValidator } from '../Validator';
5
4
  const scrubbedFields = ['_archive', '_client', '_hash', '_signatures', '_timestamp', '_user_agent', 'addresses', 'payload_schemas', 'previous_hashes', 'payload_hashes', 'schema'];
6
- class XyoBoundWitnessWrapper extends XyoHasher {
5
+ export class XyoBoundWitnessWrapper extends XyoHasher {
7
6
  constructor(bw) {
8
7
  super(bw);
9
8
  this.bw = bw;
@@ -11,14 +10,11 @@ class XyoBoundWitnessWrapper extends XyoHasher {
11
10
  get scrubbedFields() {
12
11
  return pick(this.bw, scrubbedFields);
13
12
  }
14
- get validator() {
15
- this._validator = this._validator ?? new XyoBoundWitnessValidator(this.bw);
16
- return this._validator;
17
- }
13
+ }
14
+ export class XyoBoundWitnessWithMetaWrapper extends XyoBoundWitnessWrapper {
18
15
  get userAgent() {
19
16
  this._userAgent = this._userAgent ?? new UAParser(this.bw._user_agent);
20
17
  return this._userAgent;
21
18
  }
22
19
  }
23
- export { XyoBoundWitnessWrapper };
24
20
  //# sourceMappingURL=Wrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Wrapper/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAEvD,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,MAAM,sBAAkD,SAAQ,SAAY;IAE1E,YAAY,EAAK;QACf,KAAK,CAAC,EAAE,CAAC,CAAA;QACT,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;IACtC,CAAC;IAGD,IAAI,SAAS;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1E,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAGD,IAAI,SAAS;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAA"}
1
+ {"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Wrapper/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGxC,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,MAAM,OAAO,sBAAkD,SAAQ,SAAY;IAEjF,YAAY,EAAK;QACf,KAAK,CAAC,EAAE,CAAC,CAAA;QACT,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;IACtC,CAAC;CACF;AAED,MAAM,OAAO,8BAAkE,SAAQ,sBAAyB;IAE9G,IAAI,SAAS;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import { XyoPayload } from '../../../models';
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=XyoBoundWitnessBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoBoundWitnessBase.js","sourceRoot":"","sources":["../../../../../src/BoundWitness/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,16 @@
1
+ //Should type as JSONSchemaType<XyoBoundWitnessBody> once ajv/eslint issue is fixed
2
+ //https://github.com/microsoft/TypeScript/issues/44851
3
+ export const XyoBoundWitnessBaseSchema = {
4
+ $id: 'https://schemas.xyo.network/2.0/boundwitness/body',
5
+ additionalProperties: false,
6
+ properties: {
7
+ addresses: { items: { type: 'string' }, type: 'array' },
8
+ payload_hashes: { items: { type: 'string' }, type: 'array' },
9
+ payload_schemas: { items: { type: 'string' }, type: 'array' },
10
+ previous_hashes: { items: { nullable: true, type: 'string' }, type: 'array' },
11
+ schema: { type: 'string' },
12
+ },
13
+ required: ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes', 'schema'],
14
+ type: 'object',
15
+ };
16
+ //# sourceMappingURL=XyoBoundWitnessBaseSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoBoundWitnessBaseSchema.js","sourceRoot":"","sources":["../../../../../src/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,sDAAsD;AACtD,MAAM,CAAC,MAAM,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,3 @@
1
+ export * from './XyoBoundWitnessBase';
2
+ export * from './XyoBoundWitnessBaseSchema';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/BoundWitness/models/Base/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA"}
@@ -1,11 +1,9 @@
1
- import { XyoPayloadBody } from '../../../Payload';
2
- interface XyoBoundWitnessBody extends XyoPayloadBody {
3
- [key: string]: unknown;
1
+ import { XyoPayload } from '../../../Payload';
2
+ export declare type XyoBoundWitnessBody = XyoPayload<{
4
3
  addresses: string[];
5
4
  previous_hash?: string;
6
5
  payload_hashes: string[];
7
6
  payload_schemas: string[];
8
7
  previous_hashes: (string | null)[];
9
8
  schema: string;
10
- }
11
- export type { XyoBoundWitnessBody };
9
+ }>;
@@ -1,13 +1,10 @@
1
- import { XyoPayloadBody } from '../../../Payload';
2
- interface XyoBoundWitnessMeta {
3
- [key: string]: unknown;
4
- _client?: string;
5
- _hash?: string;
6
- _archive?: string;
7
- _payloads?: XyoPayloadBody[];
1
+ import { XyoPayload, XyoPayloadMeta } from '../../../models';
2
+ import { XyoBoundWitness } from '../XyoBoundWitness';
3
+ export declare type XyoBoundWitnessMeta = XyoPayloadMeta<{
4
+ _payloads?: XyoPayload[];
8
5
  _signatures?: string[];
9
- _timestamp?: number;
10
6
  _source_ip?: string;
11
7
  _user_agent?: string;
12
- }
13
- export type { XyoBoundWitnessMeta };
8
+ }>;
9
+ export declare type XyoBoundWitnessWithMeta<T = unknown> = T & XyoBoundWitnessMeta & XyoBoundWitness;
10
+ export declare type XyoBoundWitnessWithPartialMeta<T = unknown> = T & Partial<XyoBoundWitnessMeta> & XyoBoundWitness;
@@ -1,4 +1,4 @@
1
- import { XyoBoundWitnessBody } from './Body';
2
1
  import { XyoBoundWitnessMeta } from './Meta';
3
- declare type WithXyoBoundWitnessMeta<T extends XyoBoundWitnessBody> = T & XyoBoundWitnessMeta;
2
+ import { XyoBoundWitness } from './XyoBoundWitness';
3
+ declare type WithXyoBoundWitnessMeta<T extends XyoBoundWitness> = T & XyoBoundWitnessMeta;
4
4
  export type { WithXyoBoundWitnessMeta };
@@ -1,5 +1,2 @@
1
- import { XyoPayload } from '../../Payload';
2
- import { XyoBoundWitnessBody } from './Body';
3
- import { WithXyoBoundWitnessMeta } from './WithXyoBoundWitnessMeta';
4
- declare type XyoBoundWitness = WithXyoBoundWitnessMeta<XyoBoundWitnessBody & XyoPayload>;
5
- export type { XyoBoundWitness };
1
+ import { XyoBoundWitnessBase } from './Base';
2
+ export declare type XyoBoundWitness<T extends object = XyoBoundWitnessBase> = T & XyoBoundWitnessBase;
@@ -1,4 +1,4 @@
1
- export * from './Body';
1
+ export * from './Base';
2
2
  export * from './Meta';
3
3
  export * from './WithXyoBoundWitnessMeta';
4
4
  export * from './XyoBoundWitness';
@@ -1,4 +1,4 @@
1
- export * from './Body';
1
+ export * from './Base';
2
2
  export * from './Meta';
3
3
  export * from './WithXyoBoundWitnessMeta';
4
4
  export * from './XyoBoundWitness';
@@ -1,5 +1,5 @@
1
- export declare abstract class XyoAbstractHasher<T extends Record<string, unknown>> {
2
- protected abstract get obj(): T;
1
+ import { XyoObject } from '../Payload';
2
+ export declare abstract class XyoAbstractHasher<T extends object> extends XyoObject<T> {
3
3
  get hashFields(): Record<string, unknown>;
4
4
  /** @deprecated use stringified instead */
5
5
  sortedStringify(): string;
@@ -1,10 +1,11 @@
1
1
  import shajs from 'sha.js';
2
+ import { XyoObject } from '../Payload';
2
3
  import { removeEmptyFields } from './removeEmptyFields';
3
4
  import { deepOmitUnderscoreFields } from './removeFields';
4
5
  import { sortFields } from './sortFields';
5
- export class XyoAbstractHasher {
6
+ export class XyoAbstractHasher extends XyoObject {
6
7
  get hashFields() {
7
- return removeEmptyFields(deepOmitUnderscoreFields(this.obj));
8
+ return removeEmptyFields(deepOmitUnderscoreFields(this.stringKeyObj));
8
9
  }
9
10
  /** @deprecated use stringified instead */
10
11
  sortedStringify() {
@@ -1 +1 @@
1
- {"version":3,"file":"XyoAbstractHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoAbstractHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAgB,iBAAiB;IAGrC,IAAI,UAAU;QACZ,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,0CAA0C;IACnC,eAAe;QACpB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,IAAW,WAAW;QACpB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,mCAAmC;IAC5B,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAEO,cAAc;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAA;IACtD,CAAC;CACF"}
1
+ {"version":3,"file":"XyoAbstractHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoAbstractHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAgB,iBAAoC,SAAQ,SAAY;IAC5E,IAAI,UAAU;QACZ,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,0CAA0C;IACnC,eAAe;QACpB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,IAAW,WAAW;QACpB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,mCAAmC;IAC5B,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAEO,cAAc;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAA;IACtD,CAAC;CACF"}
@@ -1,6 +1,11 @@
1
- import { XyoAbstractHasher } from './XyoAbstractHasher';
2
- export declare class XyoHasher<T extends Record<string, unknown>> extends XyoAbstractHasher<T> {
3
- private readonly memoryObj;
4
- constructor(obj: T);
5
- protected get obj(): T;
1
+ import { StringKeyObject, XyoObject } from '../lib';
2
+ export declare class XyoHasher<T extends object = StringKeyObject> extends XyoObject<T> {
3
+ get hashFields(): Record<string, unknown>;
4
+ /** @deprecated use stringified instead */
5
+ sortedStringify(): string;
6
+ get stringified(): string;
7
+ /** @deprecated use hash instead */
8
+ sortedHash(): string;
9
+ get hash(): string;
10
+ private sortedHashData;
6
11
  }
@@ -1,11 +1,30 @@
1
- import { XyoAbstractHasher } from './XyoAbstractHasher';
2
- export class XyoHasher extends XyoAbstractHasher {
3
- constructor(obj) {
4
- super();
5
- this.memoryObj = obj;
6
- }
7
- get obj() {
8
- return this.memoryObj;
1
+ import shajs from 'sha.js';
2
+ import { XyoObject } from '../lib';
3
+ import { removeEmptyFields } from './removeEmptyFields';
4
+ import { deepOmitUnderscoreFields } from './removeFields';
5
+ import { sortFields } from './sortFields';
6
+ export class XyoHasher extends XyoObject {
7
+ get hashFields() {
8
+ return removeEmptyFields(deepOmitUnderscoreFields(this.stringKeyObj));
9
+ }
10
+ /** @deprecated use stringified instead */
11
+ sortedStringify() {
12
+ return this.stringified;
13
+ }
14
+ get stringified() {
15
+ const sortedEntry = sortFields(this.hashFields);
16
+ return JSON.stringify(sortedEntry);
17
+ }
18
+ /** @deprecated use hash instead */
19
+ sortedHash() {
20
+ return this.hash;
21
+ }
22
+ get hash() {
23
+ return this.sortedHashData().toString('hex');
24
+ }
25
+ sortedHashData() {
26
+ const stringObject = this.stringified;
27
+ return shajs('sha256').update(stringObject).digest();
9
28
  }
10
29
  }
11
30
  //# sourceMappingURL=XyoHasher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyoHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoHasher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,OAAO,SAA6C,SAAQ,iBAAoB;IAEpF,YAAY,GAAM;QAChB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,GAAG,GAAG,CAAA;IACtB,CAAC;IAED,IAAc,GAAG;QACf,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"XyoHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAmB,SAAS,EAAE,MAAM,QAAQ,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAO,SAA8C,SAAQ,SAAY;IAC7E,IAAI,UAAU;QACZ,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,0CAA0C;IACnC,eAAe;QACpB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,IAAW,WAAW;QACpB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,mCAAmC;IAC5B,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAEO,cAAc;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAA;IACtD,CAAC;CACF"}
@@ -1,5 +1,4 @@
1
1
  export * from './removeEmptyFields';
2
2
  export * from './removeFields';
3
3
  export * from './sortFields';
4
- export * from './XyoAbstractHasher';
5
4
  export * from './XyoHasher';
@@ -1,6 +1,5 @@
1
1
  export * from './removeEmptyFields';
2
2
  export * from './removeFields';
3
3
  export * from './sortFields';
4
- export * from './XyoAbstractHasher';
5
4
  export * from './XyoHasher';
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Hasher/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Hasher/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { ValueKeyIteratee } from 'lodash';
2
2
  import omitBy from 'lodash/omitBy';
3
3
  import pickBy from 'lodash/pickBy';
4
- export declare const deepBy: <T>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy) => T;
5
- export declare const deepOmitUnderscoreFields: <T>(obj: T) => T;
6
- export declare const deepPickUnderscoreFields: <T>(obj: T) => T;
4
+ export declare const deepBy: <T extends object>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy) => T;
5
+ export declare const deepOmitUnderscoreFields: <T extends object>(obj: T) => T;
6
+ export declare const deepPickUnderscoreFields: <T extends object>(obj: T) => T;
@@ -1,17 +1,20 @@
1
- import assign from 'lodash/assign';
2
1
  import isObject from 'lodash/isObject';
3
2
  import mapValues from 'lodash/mapValues';
3
+ import merge from 'lodash/merge';
4
4
  import omitBy from 'lodash/omitBy';
5
5
  import pickBy from 'lodash/pickBy';
6
6
  export const deepBy = (obj, predicate, func) => {
7
7
  if (Array.isArray(obj)) {
8
8
  return obj;
9
9
  }
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+ //pick the child objects
11
11
  const onlyObjects = pickBy(obj, isObject);
12
- const processedObjects = mapValues(onlyObjects, (obj) => deepBy(obj, predicate, func));
13
- const addBackValues = assign(processedObjects, omitBy(obj, isObject));
14
- return omitBy(addBackValues, predicate);
12
+ //pick the child non-objects
13
+ const nonObjects = pickBy(obj, (value) => !isObject(value));
14
+ const pickedObjects = omitBy(onlyObjects, predicate);
15
+ const pickedNonObjects = omitBy(nonObjects, predicate);
16
+ const processedObjects = mapValues(pickedObjects, (obj) => deepBy(obj, predicate, func));
17
+ return merge(pickedNonObjects, processedObjects);
15
18
  };
16
19
  export const deepOmitUnderscoreFields = (obj) => {
17
20
  return deepBy(obj, (_, key) => key.startsWith('_'), omitBy);
@@ -1 +1 @@
1
- {"version":3,"file":"removeFields.js","sourceRoot":"","sources":["../../../src/Hasher/removeFields.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AACtC,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,MAAM,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,GAAM,EAAE,SAA8B,EAAE,IAAmC,EAAE,EAAE;IACvG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,CAAA;KACX;IACD,8DAA8D;IAC9D,MAAM,WAAW,GAAG,MAAM,CAAI,GAAU,EAAE,QAAQ,CAAC,CAAA;IACnD,MAAM,gBAAgB,GAAG,SAAS,CAAI,WAAW,EAAE,CAAC,GAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IAC5F,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrE,OAAO,MAAM,CAAC,aAAa,EAAE,SAAS,CAAM,CAAA;AAC9C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAI,GAAM,EAAE,EAAE;IACpD,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAI,GAAM,EAAE,EAAE;IACpD,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC,CAAA"}
1
+ {"version":3,"file":"removeFields.js","sourceRoot":"","sources":["../../../src/Hasher/removeFields.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AACtC,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,MAAM,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAmB,GAAM,EAAE,SAA8B,EAAE,IAAmC,EAAK,EAAE;IACzH,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,CAAA;KACX;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,MAAM,CAAI,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE5C,4BAA4B;IAC5B,MAAM,UAAU,GAAG,MAAM,CAAI,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAE9D,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAEtD,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,GAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IAE3F,OAAO,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,CAAM,CAAA;AACvD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAmB,GAAM,EAAE,EAAE;IACnE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAmB,GAAM,EAAE,EAAE;IACnE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC,CAAA"}
@@ -1 +1 @@
1
- export declare const sortFields: <T extends Record<string, unknown>>(obj: T) => T | null;
1
+ export declare const sortFields: <T extends object = object>(obj: T) => T | null;
@@ -12,11 +12,12 @@ export const sortFields = (obj) => {
12
12
  if (obj === null) {
13
13
  return null;
14
14
  }
15
+ const stringyObj = obj;
15
16
  const result = {};
16
- Object.keys(obj)
17
+ Object.keys(stringyObj)
17
18
  .sort()
18
19
  .forEach((key) => {
19
- result[key] = subSort(obj[key]);
20
+ result[key] = subSort(stringyObj[key]);
20
21
  });
21
22
  return result;
22
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sortFields.js","sourceRoot":"","sources":["../../../src/Hasher/sortFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,uBAAuB;AACvB,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE;IACjC,QAAQ,MAAM,CAAC,KAAK,CAAC,EAAE;QACrB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,KAAgC,CAAC,CAAA;QACrD;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAoC,GAAM,EAAE,EAAE;IACtE,IAAI,GAAG,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,MAAM,GAA4B,EAA6B,CAAA;IACrE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SACb,IAAI,EAAE;SACN,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IACJ,OAAO,MAAW,CAAA;AACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"sortFields.js","sourceRoot":"","sources":["../../../src/Hasher/sortFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEhD,uBAAuB;AACvB,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE;IACjC,QAAQ,MAAM,CAAC,KAAK,CAAC,EAAE;QACrB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,KAAgC,CAAC,CAAA;QACrD;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAA4B,GAAM,EAAE,EAAE;IAC9D,IAAI,GAAG,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,UAAU,GAAG,GAAsB,CAAA;IAEzC,MAAM,MAAM,GAAoB,EAAE,CAAA;IAClC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SACpB,IAAI,EAAE;SACN,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IACJ,OAAO,MAAW,CAAA;AACpB,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { XyoPayload } from '../Payload';
1
+ import { XyoPayload } from '../models';
2
2
  import { XyoDataLike } from '../Wallet';
3
3
  export declare type XyoObjectCategory = 'block' | 'payload';
4
4
  export declare type HuriFetchFunction = (huri: Huri) => Promise<XyoPayload | undefined>;
@@ -21,7 +21,7 @@ export declare class Huri {
21
21
  private validateParse;
22
22
  get href(): string;
23
23
  toString(): string;
24
- fetch(): Promise<import("../Payload").XyoPayloadFull | undefined>;
24
+ fetch(): Promise<XyoPayload<object> | undefined>;
25
25
  static fetch(huri: Huri): Promise<XyoPayload | undefined>;
26
26
  private static parseProtocol;
27
27
  private static parsePath;
@@ -1,8 +1,9 @@
1
- import { XyoPayload } from '../models';
1
+ import { StringKeyObject } from '../../lib';
2
+ import { XyoPayload } from '../../models';
2
3
  export interface XyoPayloadBuilderOptions {
3
4
  schema: string;
4
5
  }
5
- export declare class XyoPayloadBuilder<T extends XyoPayload> {
6
+ export declare class XyoPayloadBuilder<T extends XyoPayload = XyoPayload<StringKeyObject>> {
6
7
  private _fields;
7
8
  private _previousHash?;
8
9
  private _schema;
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../../src/Payload/Builder/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAOrF,MAAM,OAAO,iBAAiB;IAK5B,YAAY,EAAE,MAAM,EAA4B;QAJxC,YAAO,GAAe,EAAE,CAAA;QAK9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAEM,MAAM,CAAC,MAAmB;QAC/B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAA;SACjE;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,YAAY,CAAC,IAAa;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,cAAc;QACnB,OAAO;YACL,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACrG,MAAM,EAAE,IAAI,CAAC,OAAO;SAChB,CAAA;IACR,CAAC;IAEM,KAAK;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAA;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACtF,CAAC;CACF"}
1
+ {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../../src/Payload/Builder/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAQrF,MAAM,OAAO,iBAAiB;IAK5B,YAAY,EAAE,MAAM,EAA4B;QAJxC,YAAO,GAAe,EAAE,CAAA;QAK9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAEM,MAAM,CAAC,MAAmB;QAC/B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAA;SACjE;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,YAAY,CAAC,IAAa;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,cAAc;QACnB,OAAO;YACL,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACrG,MAAM,EAAE,IAAI,CAAC,OAAO;SAChB,CAAA;IACR,CAAC;IAEM,KAAK;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAA;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACtF,CAAC;CACF"}
@@ -1,11 +1,9 @@
1
+ import { XyoValidator } from '../../lib';
2
+ import { XyoPayload } from '../../models';
1
3
  import { XyoSchemaNameValidator } from '../../SchemaNameValidator';
2
- import { XyoPayloadBody } from '../models';
3
- declare class XyoPayloadBodyValidator {
4
- private body;
5
- constructor(body: XyoPayloadBody);
4
+ export declare class XyoPayloadBodyValidator<T extends XyoPayload = XyoPayload> extends XyoValidator<T> {
6
5
  private _schemaValidator?;
7
6
  get schemaValidator(): XyoSchemaNameValidator;
8
7
  schemaName(): Error[];
9
- all(): Error[];
8
+ validate(): Error[];
10
9
  }
11
- export { XyoPayloadBodyValidator };
@@ -1,15 +1,13 @@
1
+ import { XyoValidator } from '../../lib';
1
2
  import { XyoSchemaNameValidator } from '../../SchemaNameValidator';
2
- class XyoPayloadBodyValidator {
3
- constructor(body) {
4
- this.body = body;
5
- }
3
+ export class XyoPayloadBodyValidator extends XyoValidator {
6
4
  get schemaValidator() {
7
- this._schemaValidator = this._schemaValidator ?? new XyoSchemaNameValidator(this.body.schema ?? '');
5
+ this._schemaValidator = this._schemaValidator ?? new XyoSchemaNameValidator(this.obj.schema ?? '');
8
6
  return this._schemaValidator;
9
7
  }
10
8
  schemaName() {
11
9
  const errors = [];
12
- if (this.body.schema === undefined) {
10
+ if (this.obj.schema === undefined) {
13
11
  errors.push(Error('schema missing'));
14
12
  }
15
13
  else {
@@ -17,11 +15,10 @@ class XyoPayloadBodyValidator {
17
15
  }
18
16
  return errors;
19
17
  }
20
- all() {
18
+ validate() {
21
19
  const errors = [];
22
20
  errors.push(...this.schemaName());
23
21
  return errors;
24
22
  }
25
23
  }
26
- export { XyoPayloadBodyValidator };
27
24
  //# sourceMappingURL=BodyValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BodyValidator.js","sourceRoot":"","sources":["../../../../src/Payload/Validator/BodyValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAGlE,MAAM,uBAAuB;IAE3B,YAAY,IAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAuC,CAAA;IACrD,CAAC;IAGD,IAAI,eAAe;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QACnG,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAEM,UAAU;QACf,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;SACrC;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAA;SAC3C;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,GAAG;QACR,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"BodyValidator.js","sourceRoot":"","sources":["../../../../src/Payload/Validator/BodyValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAElE,MAAM,OAAO,uBAA2D,SAAQ,YAAe;IAE7F,IAAI,eAAe;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QAClG,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAEM,UAAU;QACf,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;SACrC;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAA;SAC3C;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -1,9 +1,8 @@
1
- import { XyoPayload } from '../models';
2
- declare class XyoPayloadMetaValidator {
3
- private payload;
4
- constructor(payload: XyoPayload);
1
+ import { XyoValidator } from '../../lib';
2
+ import { XyoPayloadMeta } from '../../models';
3
+ declare class XyoPayloadMetaValidator<T extends XyoPayloadMeta = XyoPayloadMeta> extends XyoValidator<T> {
5
4
  hash(): Error[];
6
5
  timestamp(): Error[];
7
- all(): Error[];
6
+ validate(): Error[];
8
7
  }
9
8
  export { XyoPayloadMetaValidator };
@@ -1,21 +1,19 @@
1
1
  import { XyoHasher } from '../../Hasher';
2
+ import { XyoValidator } from '../../lib';
2
3
  const MIN_ALLOWED_TIMESTAMP = 1609459200000;
3
4
  const MAX_ALLOWED_TIMESTAMP = 4102444800000;
4
- class XyoPayloadMetaValidator {
5
- constructor(payload) {
6
- this.payload = payload;
7
- }
5
+ class XyoPayloadMetaValidator extends XyoValidator {
8
6
  hash() {
9
7
  const errors = [];
10
- const wrapper = new XyoHasher(this.payload);
8
+ const wrapper = new XyoHasher(this.obj);
11
9
  const bodyHash = wrapper.hash;
12
- if (bodyHash !== this.payload._hash)
13
- errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.payload._hash}]`));
10
+ if (bodyHash !== this.obj._hash)
11
+ errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.obj._hash}]`));
14
12
  return errors;
15
13
  }
16
14
  timestamp() {
17
15
  const errors = [];
18
- const { _timestamp } = this.payload;
16
+ const { _timestamp } = this.obj;
19
17
  if (_timestamp === undefined)
20
18
  errors.push(new Error('Missing _timestamp'));
21
19
  else if (_timestamp < MIN_ALLOWED_TIMESTAMP)
@@ -24,7 +22,7 @@ class XyoPayloadMetaValidator {
24
22
  errors.push(new Error('_timestamp is after year 2100'));
25
23
  return errors;
26
24
  }
27
- all() {
25
+ validate() {
28
26
  const errors = [];
29
27
  errors.push(...this.hash(), ...this.timestamp());
30
28
  return errors;