@xyo-network/payment-payload-plugins 2.91.4 → 2.91.6

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 (269) hide show
  1. package/dist/browser/Escrow/createEscrowIntent.d.cts +20 -0
  2. package/dist/browser/Escrow/createEscrowIntent.d.cts.map +1 -1
  3. package/dist/browser/Escrow/createEscrowIntent.d.mts +20 -0
  4. package/dist/browser/Escrow/createEscrowIntent.d.mts.map +1 -1
  5. package/dist/browser/Escrow/createEscrowIntent.d.ts +20 -0
  6. package/dist/browser/Escrow/createEscrowIntent.d.ts.map +1 -1
  7. package/dist/browser/Escrow/index.d.cts +1 -0
  8. package/dist/browser/Escrow/index.d.cts.map +1 -1
  9. package/dist/browser/Escrow/index.d.mts +1 -0
  10. package/dist/browser/Escrow/index.d.mts.map +1 -1
  11. package/dist/browser/Escrow/index.d.ts +1 -0
  12. package/dist/browser/Escrow/index.d.ts.map +1 -1
  13. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/index.d.cts +2 -0
  14. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/index.d.cts.map +1 -0
  15. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/index.d.mts +2 -0
  16. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/index.d.mts.map +1 -0
  17. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/index.d.ts +2 -0
  18. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/index.d.ts.map +1 -0
  19. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.cts +22 -0
  20. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.cts.map +1 -0
  21. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.mts +22 -0
  22. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.mts.map +1 -0
  23. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.ts +22 -0
  24. package/dist/browser/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.ts.map +1 -0
  25. package/dist/browser/Escrow/validators/common/TemporalValidators/index.d.cts +2 -0
  26. package/dist/browser/Escrow/validators/common/TemporalValidators/index.d.cts.map +1 -0
  27. package/dist/browser/Escrow/validators/common/TemporalValidators/index.d.mts +2 -0
  28. package/dist/browser/Escrow/validators/common/TemporalValidators/index.d.mts.map +1 -0
  29. package/dist/browser/Escrow/validators/common/TemporalValidators/index.d.ts +2 -0
  30. package/dist/browser/Escrow/validators/common/TemporalValidators/index.d.ts.map +1 -0
  31. package/dist/browser/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.cts +6 -0
  32. package/dist/browser/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.cts.map +1 -0
  33. package/dist/browser/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.mts +6 -0
  34. package/dist/browser/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.mts.map +1 -0
  35. package/dist/browser/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.ts +6 -0
  36. package/dist/browser/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.ts.map +1 -0
  37. package/dist/browser/Escrow/validators/common/index.d.cts +3 -0
  38. package/dist/browser/Escrow/validators/common/index.d.cts.map +1 -0
  39. package/dist/browser/Escrow/validators/common/index.d.mts +3 -0
  40. package/dist/browser/Escrow/validators/common/index.d.mts.map +1 -0
  41. package/dist/browser/Escrow/validators/common/index.d.ts +3 -0
  42. package/dist/browser/Escrow/validators/common/index.d.ts.map +1 -0
  43. package/dist/browser/Escrow/validators/escrow/agent.d.cts +4 -0
  44. package/dist/browser/Escrow/validators/escrow/agent.d.cts.map +1 -0
  45. package/dist/browser/Escrow/validators/escrow/agent.d.mts +4 -0
  46. package/dist/browser/Escrow/validators/escrow/agent.d.mts.map +1 -0
  47. package/dist/browser/Escrow/validators/escrow/agent.d.ts +4 -0
  48. package/dist/browser/Escrow/validators/escrow/agent.d.ts.map +1 -0
  49. package/dist/browser/Escrow/validators/escrow/appraisal.d.cts +29 -0
  50. package/dist/browser/Escrow/validators/escrow/appraisal.d.cts.map +1 -0
  51. package/dist/browser/Escrow/validators/escrow/appraisal.d.mts +29 -0
  52. package/dist/browser/Escrow/validators/escrow/appraisal.d.mts.map +1 -0
  53. package/dist/browser/Escrow/validators/escrow/appraisal.d.ts +29 -0
  54. package/dist/browser/Escrow/validators/escrow/appraisal.d.ts.map +1 -0
  55. package/dist/browser/Escrow/validators/escrow/appraisalAuthorities.d.cts +9 -0
  56. package/dist/browser/Escrow/validators/escrow/appraisalAuthorities.d.cts.map +1 -0
  57. package/dist/browser/Escrow/validators/escrow/appraisalAuthorities.d.mts +9 -0
  58. package/dist/browser/Escrow/validators/escrow/appraisalAuthorities.d.mts.map +1 -0
  59. package/dist/browser/Escrow/validators/escrow/appraisalAuthorities.d.ts +9 -0
  60. package/dist/browser/Escrow/validators/escrow/appraisalAuthorities.d.ts.map +1 -0
  61. package/dist/browser/Escrow/validators/escrow/assets.d.cts +7 -0
  62. package/dist/browser/Escrow/validators/escrow/assets.d.cts.map +1 -0
  63. package/dist/browser/Escrow/validators/escrow/assets.d.mts +7 -0
  64. package/dist/browser/Escrow/validators/escrow/assets.d.mts.map +1 -0
  65. package/dist/browser/Escrow/validators/escrow/assets.d.ts +7 -0
  66. package/dist/browser/Escrow/validators/escrow/assets.d.ts.map +1 -0
  67. package/dist/browser/Escrow/validators/escrow/buyer.d.cts +7 -0
  68. package/dist/browser/Escrow/validators/escrow/buyer.d.cts.map +1 -0
  69. package/dist/browser/Escrow/validators/escrow/buyer.d.mts +7 -0
  70. package/dist/browser/Escrow/validators/escrow/buyer.d.mts.map +1 -0
  71. package/dist/browser/Escrow/validators/escrow/buyer.d.ts +7 -0
  72. package/dist/browser/Escrow/validators/escrow/buyer.d.ts.map +1 -0
  73. package/dist/browser/Escrow/validators/escrow/buyerSecret.d.cts +21 -0
  74. package/dist/browser/Escrow/validators/escrow/buyerSecret.d.cts.map +1 -0
  75. package/dist/browser/Escrow/validators/escrow/buyerSecret.d.mts +21 -0
  76. package/dist/browser/Escrow/validators/escrow/buyerSecret.d.mts.map +1 -0
  77. package/dist/browser/Escrow/validators/escrow/buyerSecret.d.ts +21 -0
  78. package/dist/browser/Escrow/validators/escrow/buyerSecret.d.ts.map +1 -0
  79. package/dist/browser/Escrow/validators/escrow/index.d.cts +10 -0
  80. package/dist/browser/Escrow/validators/escrow/index.d.cts.map +1 -0
  81. package/dist/browser/Escrow/validators/escrow/index.d.mts +10 -0
  82. package/dist/browser/Escrow/validators/escrow/index.d.mts.map +1 -0
  83. package/dist/browser/Escrow/validators/escrow/index.d.ts +10 -0
  84. package/dist/browser/Escrow/validators/escrow/index.d.ts.map +1 -0
  85. package/dist/browser/Escrow/validators/escrow/nbfExp.d.cts +3 -0
  86. package/dist/browser/Escrow/validators/escrow/nbfExp.d.cts.map +1 -0
  87. package/dist/browser/Escrow/validators/escrow/nbfExp.d.mts +3 -0
  88. package/dist/browser/Escrow/validators/escrow/nbfExp.d.mts.map +1 -0
  89. package/dist/browser/Escrow/validators/escrow/nbfExp.d.ts +3 -0
  90. package/dist/browser/Escrow/validators/escrow/nbfExp.d.ts.map +1 -0
  91. package/dist/browser/Escrow/validators/escrow/paymentAuthorities.d.cts +4 -0
  92. package/dist/browser/Escrow/validators/escrow/paymentAuthorities.d.cts.map +1 -0
  93. package/dist/browser/Escrow/validators/escrow/paymentAuthorities.d.mts +4 -0
  94. package/dist/browser/Escrow/validators/escrow/paymentAuthorities.d.mts.map +1 -0
  95. package/dist/browser/Escrow/validators/escrow/paymentAuthorities.d.ts +4 -0
  96. package/dist/browser/Escrow/validators/escrow/paymentAuthorities.d.ts.map +1 -0
  97. package/dist/browser/Escrow/validators/escrow/seller.d.cts +7 -0
  98. package/dist/browser/Escrow/validators/escrow/seller.d.cts.map +1 -0
  99. package/dist/browser/Escrow/validators/escrow/seller.d.mts +7 -0
  100. package/dist/browser/Escrow/validators/escrow/seller.d.mts.map +1 -0
  101. package/dist/browser/Escrow/validators/escrow/seller.d.ts +7 -0
  102. package/dist/browser/Escrow/validators/escrow/seller.d.ts.map +1 -0
  103. package/dist/browser/Escrow/validators/index.d.cts +4 -0
  104. package/dist/browser/Escrow/validators/index.d.cts.map +1 -0
  105. package/dist/browser/Escrow/validators/index.d.mts +4 -0
  106. package/dist/browser/Escrow/validators/index.d.mts.map +1 -0
  107. package/dist/browser/Escrow/validators/index.d.ts +4 -0
  108. package/dist/browser/Escrow/validators/index.d.ts.map +1 -0
  109. package/dist/browser/Escrow/validators/types/escrowValidation.d.cts +26 -0
  110. package/dist/browser/Escrow/validators/types/escrowValidation.d.cts.map +1 -0
  111. package/dist/browser/Escrow/validators/types/escrowValidation.d.mts +26 -0
  112. package/dist/browser/Escrow/validators/types/escrowValidation.d.mts.map +1 -0
  113. package/dist/browser/Escrow/validators/types/escrowValidation.d.ts +26 -0
  114. package/dist/browser/Escrow/validators/types/escrowValidation.d.ts.map +1 -0
  115. package/dist/browser/Escrow/validators/types/index.d.cts +2 -0
  116. package/dist/browser/Escrow/validators/types/index.d.cts.map +1 -0
  117. package/dist/browser/Escrow/validators/types/index.d.mts +2 -0
  118. package/dist/browser/Escrow/validators/types/index.d.mts.map +1 -0
  119. package/dist/browser/Escrow/validators/types/index.d.ts +2 -0
  120. package/dist/browser/Escrow/validators/types/index.d.ts.map +1 -0
  121. package/dist/browser/index.cjs +297 -3
  122. package/dist/browser/index.cjs.map +1 -1
  123. package/dist/browser/index.js +295 -1
  124. package/dist/browser/index.js.map +1 -1
  125. package/dist/node/Escrow/createEscrowIntent.d.cts +20 -0
  126. package/dist/node/Escrow/createEscrowIntent.d.cts.map +1 -1
  127. package/dist/node/Escrow/createEscrowIntent.d.mts +20 -0
  128. package/dist/node/Escrow/createEscrowIntent.d.mts.map +1 -1
  129. package/dist/node/Escrow/createEscrowIntent.d.ts +20 -0
  130. package/dist/node/Escrow/createEscrowIntent.d.ts.map +1 -1
  131. package/dist/node/Escrow/index.d.cts +1 -0
  132. package/dist/node/Escrow/index.d.cts.map +1 -1
  133. package/dist/node/Escrow/index.d.mts +1 -0
  134. package/dist/node/Escrow/index.d.mts.map +1 -1
  135. package/dist/node/Escrow/index.d.ts +1 -0
  136. package/dist/node/Escrow/index.d.ts.map +1 -1
  137. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/index.d.cts +2 -0
  138. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/index.d.cts.map +1 -0
  139. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/index.d.mts +2 -0
  140. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/index.d.mts.map +1 -0
  141. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/index.d.ts +2 -0
  142. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/index.d.ts.map +1 -0
  143. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.cts +22 -0
  144. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.cts.map +1 -0
  145. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.mts +22 -0
  146. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.mts.map +1 -0
  147. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.ts +22 -0
  148. package/dist/node/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.d.ts.map +1 -0
  149. package/dist/node/Escrow/validators/common/TemporalValidators/index.d.cts +2 -0
  150. package/dist/node/Escrow/validators/common/TemporalValidators/index.d.cts.map +1 -0
  151. package/dist/node/Escrow/validators/common/TemporalValidators/index.d.mts +2 -0
  152. package/dist/node/Escrow/validators/common/TemporalValidators/index.d.mts.map +1 -0
  153. package/dist/node/Escrow/validators/common/TemporalValidators/index.d.ts +2 -0
  154. package/dist/node/Escrow/validators/common/TemporalValidators/index.d.ts.map +1 -0
  155. package/dist/node/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.cts +6 -0
  156. package/dist/node/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.cts.map +1 -0
  157. package/dist/node/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.mts +6 -0
  158. package/dist/node/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.mts.map +1 -0
  159. package/dist/node/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.ts +6 -0
  160. package/dist/node/Escrow/validators/common/TemporalValidators/validateWithinWindow.d.ts.map +1 -0
  161. package/dist/node/Escrow/validators/common/index.d.cts +3 -0
  162. package/dist/node/Escrow/validators/common/index.d.cts.map +1 -0
  163. package/dist/node/Escrow/validators/common/index.d.mts +3 -0
  164. package/dist/node/Escrow/validators/common/index.d.mts.map +1 -0
  165. package/dist/node/Escrow/validators/common/index.d.ts +3 -0
  166. package/dist/node/Escrow/validators/common/index.d.ts.map +1 -0
  167. package/dist/node/Escrow/validators/escrow/agent.d.cts +4 -0
  168. package/dist/node/Escrow/validators/escrow/agent.d.cts.map +1 -0
  169. package/dist/node/Escrow/validators/escrow/agent.d.mts +4 -0
  170. package/dist/node/Escrow/validators/escrow/agent.d.mts.map +1 -0
  171. package/dist/node/Escrow/validators/escrow/agent.d.ts +4 -0
  172. package/dist/node/Escrow/validators/escrow/agent.d.ts.map +1 -0
  173. package/dist/node/Escrow/validators/escrow/appraisal.d.cts +29 -0
  174. package/dist/node/Escrow/validators/escrow/appraisal.d.cts.map +1 -0
  175. package/dist/node/Escrow/validators/escrow/appraisal.d.mts +29 -0
  176. package/dist/node/Escrow/validators/escrow/appraisal.d.mts.map +1 -0
  177. package/dist/node/Escrow/validators/escrow/appraisal.d.ts +29 -0
  178. package/dist/node/Escrow/validators/escrow/appraisal.d.ts.map +1 -0
  179. package/dist/node/Escrow/validators/escrow/appraisalAuthorities.d.cts +9 -0
  180. package/dist/node/Escrow/validators/escrow/appraisalAuthorities.d.cts.map +1 -0
  181. package/dist/node/Escrow/validators/escrow/appraisalAuthorities.d.mts +9 -0
  182. package/dist/node/Escrow/validators/escrow/appraisalAuthorities.d.mts.map +1 -0
  183. package/dist/node/Escrow/validators/escrow/appraisalAuthorities.d.ts +9 -0
  184. package/dist/node/Escrow/validators/escrow/appraisalAuthorities.d.ts.map +1 -0
  185. package/dist/node/Escrow/validators/escrow/assets.d.cts +7 -0
  186. package/dist/node/Escrow/validators/escrow/assets.d.cts.map +1 -0
  187. package/dist/node/Escrow/validators/escrow/assets.d.mts +7 -0
  188. package/dist/node/Escrow/validators/escrow/assets.d.mts.map +1 -0
  189. package/dist/node/Escrow/validators/escrow/assets.d.ts +7 -0
  190. package/dist/node/Escrow/validators/escrow/assets.d.ts.map +1 -0
  191. package/dist/node/Escrow/validators/escrow/buyer.d.cts +7 -0
  192. package/dist/node/Escrow/validators/escrow/buyer.d.cts.map +1 -0
  193. package/dist/node/Escrow/validators/escrow/buyer.d.mts +7 -0
  194. package/dist/node/Escrow/validators/escrow/buyer.d.mts.map +1 -0
  195. package/dist/node/Escrow/validators/escrow/buyer.d.ts +7 -0
  196. package/dist/node/Escrow/validators/escrow/buyer.d.ts.map +1 -0
  197. package/dist/node/Escrow/validators/escrow/buyerSecret.d.cts +21 -0
  198. package/dist/node/Escrow/validators/escrow/buyerSecret.d.cts.map +1 -0
  199. package/dist/node/Escrow/validators/escrow/buyerSecret.d.mts +21 -0
  200. package/dist/node/Escrow/validators/escrow/buyerSecret.d.mts.map +1 -0
  201. package/dist/node/Escrow/validators/escrow/buyerSecret.d.ts +21 -0
  202. package/dist/node/Escrow/validators/escrow/buyerSecret.d.ts.map +1 -0
  203. package/dist/node/Escrow/validators/escrow/index.d.cts +10 -0
  204. package/dist/node/Escrow/validators/escrow/index.d.cts.map +1 -0
  205. package/dist/node/Escrow/validators/escrow/index.d.mts +10 -0
  206. package/dist/node/Escrow/validators/escrow/index.d.mts.map +1 -0
  207. package/dist/node/Escrow/validators/escrow/index.d.ts +10 -0
  208. package/dist/node/Escrow/validators/escrow/index.d.ts.map +1 -0
  209. package/dist/node/Escrow/validators/escrow/nbfExp.d.cts +3 -0
  210. package/dist/node/Escrow/validators/escrow/nbfExp.d.cts.map +1 -0
  211. package/dist/node/Escrow/validators/escrow/nbfExp.d.mts +3 -0
  212. package/dist/node/Escrow/validators/escrow/nbfExp.d.mts.map +1 -0
  213. package/dist/node/Escrow/validators/escrow/nbfExp.d.ts +3 -0
  214. package/dist/node/Escrow/validators/escrow/nbfExp.d.ts.map +1 -0
  215. package/dist/node/Escrow/validators/escrow/paymentAuthorities.d.cts +4 -0
  216. package/dist/node/Escrow/validators/escrow/paymentAuthorities.d.cts.map +1 -0
  217. package/dist/node/Escrow/validators/escrow/paymentAuthorities.d.mts +4 -0
  218. package/dist/node/Escrow/validators/escrow/paymentAuthorities.d.mts.map +1 -0
  219. package/dist/node/Escrow/validators/escrow/paymentAuthorities.d.ts +4 -0
  220. package/dist/node/Escrow/validators/escrow/paymentAuthorities.d.ts.map +1 -0
  221. package/dist/node/Escrow/validators/escrow/seller.d.cts +7 -0
  222. package/dist/node/Escrow/validators/escrow/seller.d.cts.map +1 -0
  223. package/dist/node/Escrow/validators/escrow/seller.d.mts +7 -0
  224. package/dist/node/Escrow/validators/escrow/seller.d.mts.map +1 -0
  225. package/dist/node/Escrow/validators/escrow/seller.d.ts +7 -0
  226. package/dist/node/Escrow/validators/escrow/seller.d.ts.map +1 -0
  227. package/dist/node/Escrow/validators/index.d.cts +4 -0
  228. package/dist/node/Escrow/validators/index.d.cts.map +1 -0
  229. package/dist/node/Escrow/validators/index.d.mts +4 -0
  230. package/dist/node/Escrow/validators/index.d.mts.map +1 -0
  231. package/dist/node/Escrow/validators/index.d.ts +4 -0
  232. package/dist/node/Escrow/validators/index.d.ts.map +1 -0
  233. package/dist/node/Escrow/validators/types/escrowValidation.d.cts +26 -0
  234. package/dist/node/Escrow/validators/types/escrowValidation.d.cts.map +1 -0
  235. package/dist/node/Escrow/validators/types/escrowValidation.d.mts +26 -0
  236. package/dist/node/Escrow/validators/types/escrowValidation.d.mts.map +1 -0
  237. package/dist/node/Escrow/validators/types/escrowValidation.d.ts +26 -0
  238. package/dist/node/Escrow/validators/types/escrowValidation.d.ts.map +1 -0
  239. package/dist/node/Escrow/validators/types/index.d.cts +2 -0
  240. package/dist/node/Escrow/validators/types/index.d.cts.map +1 -0
  241. package/dist/node/Escrow/validators/types/index.d.mts +2 -0
  242. package/dist/node/Escrow/validators/types/index.d.mts.map +1 -0
  243. package/dist/node/Escrow/validators/types/index.d.ts +2 -0
  244. package/dist/node/Escrow/validators/types/index.d.ts.map +1 -0
  245. package/dist/node/index.cjs +317 -4
  246. package/dist/node/index.cjs.map +1 -1
  247. package/dist/node/index.js +295 -1
  248. package/dist/node/index.js.map +1 -1
  249. package/package.json +12 -7
  250. package/src/Escrow/createEscrowIntent.ts +14 -0
  251. package/src/Escrow/index.ts +1 -0
  252. package/src/Escrow/validators/common/ModuleInstanceValidators/index.ts +1 -0
  253. package/src/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.ts +48 -0
  254. package/src/Escrow/validators/common/TemporalValidators/index.ts +1 -0
  255. package/src/Escrow/validators/common/TemporalValidators/validateWithinWindow.ts +7 -0
  256. package/src/Escrow/validators/common/index.ts +2 -0
  257. package/src/Escrow/validators/escrow/agent.ts +17 -0
  258. package/src/Escrow/validators/escrow/appraisal.ts +129 -0
  259. package/src/Escrow/validators/escrow/appraisalAuthorities.ts +37 -0
  260. package/src/Escrow/validators/escrow/assets.ts +18 -0
  261. package/src/Escrow/validators/escrow/buyer.ts +25 -0
  262. package/src/Escrow/validators/escrow/buyerSecret.ts +75 -0
  263. package/src/Escrow/validators/escrow/index.ts +9 -0
  264. package/src/Escrow/validators/escrow/nbfExp.ts +18 -0
  265. package/src/Escrow/validators/escrow/paymentAuthorities.ts +17 -0
  266. package/src/Escrow/validators/escrow/seller.ts +25 -0
  267. package/src/Escrow/validators/index.ts +3 -0
  268. package/src/Escrow/validators/types/escrowValidation.ts +30 -0
  269. package/src/Escrow/validators/types/index.ts +1 -0
@@ -4,6 +4,10 @@ var createEscrowIntent = async (terms, account) => {
4
4
  const result = await new BoundWitnessBuilder({ accounts: [account] }).payloads([...terms]).build();
5
5
  return result;
6
6
  };
7
+ var createEscrowIntentWithSecret = async (terms, secret, account) => {
8
+ const result = await new BoundWitnessBuilder({ accounts: [account] }).payloads([terms, secret]).build();
9
+ return result;
10
+ };
7
11
 
8
12
  // src/Escrow/getEscrowSecret.ts
9
13
  import { Crypto } from "@xylabs/crypto";
@@ -20,6 +24,277 @@ import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
20
24
  var EscrowTermsSchema = `${EscrowSchema}.terms`;
21
25
  var isEscrowTerms = isPayloadOfSchemaType(EscrowTermsSchema);
22
26
 
27
+ // src/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.ts
28
+ var moduleIdentifiersContainsOneOf = (escrowTerms, propertyExpression, moduleIdentifiers, required = true) => {
29
+ const termsValue = propertyExpression(escrowTerms);
30
+ if (termsValue === void 0) {
31
+ return required ? false : true;
32
+ } else {
33
+ return Array.isArray(termsValue) ? termsValue.some((address) => moduleIdentifiers.includes(address)) : moduleIdentifiers.includes(termsValue);
34
+ }
35
+ };
36
+ var moduleIdentifiersContainsAllOf = (escrowTerms, selector, moduleIdentifiers, required = true) => {
37
+ const termsValue = selector(escrowTerms);
38
+ if (termsValue === void 0) {
39
+ return required ? false : true;
40
+ } else {
41
+ return Array.isArray(termsValue) ? termsValue.every((address) => moduleIdentifiers.includes(address)) : moduleIdentifiers.includes(termsValue);
42
+ }
43
+ };
44
+
45
+ // src/Escrow/validators/common/TemporalValidators/validateWithinWindow.ts
46
+ var validateWithinWindow = (value, exp, nbf = Date.now()) => {
47
+ if (value.nbf === void 0 || value.nbf > nbf)
48
+ return false;
49
+ if (value.exp === void 0 || value.exp < exp)
50
+ return false;
51
+ return true;
52
+ };
53
+
54
+ // src/Escrow/validators/escrow/agent.ts
55
+ var name = "EscrowTerms.escrowAgent";
56
+ var getEscrowAgentAllowedValidator = (allowedEscrowAgent) => {
57
+ return (terms) => {
58
+ const result = moduleIdentifiersContainsOneOf(terms, (t) => t.escrowAgent, [allowedEscrowAgent], true);
59
+ if (!result) {
60
+ console.log(`${name}: Escrow agent not allowed: ${terms.escrowAgent}`);
61
+ }
62
+ return result;
63
+ };
64
+ };
65
+
66
+ // src/Escrow/validators/escrow/appraisal.ts
67
+ import { assertEx } from "@xylabs/assert";
68
+ import { isBoundWitnessWithMeta } from "@xyo-network/boundwitness-model";
69
+ import { isHashLeaseEstimateWithSources } from "@xyo-network/diviner-hash-lease";
70
+ var name2 = "EscrowTerms.appraisal";
71
+ var appraisalsExistValidator = (terms) => {
72
+ const appraisals = terms.appraisals;
73
+ if (!appraisals || appraisals.length === 0) {
74
+ console.log(`${name2}: No appraisals: ${terms.appraisals}`);
75
+ return false;
76
+ }
77
+ return true;
78
+ };
79
+ var getAppraisalsFromValidAuthoritiesValidator = (dictionary) => {
80
+ return (terms) => {
81
+ const appraisals = assertEx(terms.appraisals, () => `${name2}: No appraisals: ${terms.appraisals}`);
82
+ const appraisalAuthorities = assertEx(terms.appraisalAuthorities, () => `${name2}: No appraisalAuthorities: ${terms.appraisalAuthorities}`);
83
+ const appraisalBWsValid = Object.fromEntries(
84
+ appraisals.map((hash) => [hash, []])
85
+ );
86
+ for (const bw of Object.values(dictionary).filter(isBoundWitnessWithMeta)) {
87
+ for (const appraisal of appraisals) {
88
+ if (bw.payload_hashes.includes(appraisal) && bw.addresses.some((address) => appraisalAuthorities.includes(address))) {
89
+ appraisalBWsValid[appraisal].push(bw);
90
+ }
91
+ }
92
+ }
93
+ for (const [appraisal, bws] of Object.entries(appraisalBWsValid)) {
94
+ if (bws.length === 0) {
95
+ console.log(`${name2}: No valid appraisals for ${appraisal}`);
96
+ return false;
97
+ }
98
+ }
99
+ return true;
100
+ };
101
+ };
102
+ var getAppraisalsValidValidator = (dictionary, minimumExp) => {
103
+ return (terms) => {
104
+ const estimatesByAsset = getEstimatesByAsset(terms, dictionary);
105
+ const now = Date.now();
106
+ const exp = now + minimumExp;
107
+ for (const [asset, estimates] of Object.entries(estimatesByAsset)) {
108
+ for (const estimate of estimates) {
109
+ if (!validateEstimate(estimate, exp)) {
110
+ console.log(`${name2}: Invalid estimate for asset ${asset}: ${estimate}`);
111
+ return false;
112
+ }
113
+ }
114
+ }
115
+ return true;
116
+ };
117
+ };
118
+ var getAppraisalsForAllAssetsValidator = (dictionary) => {
119
+ return (terms) => {
120
+ const estimatesByAsset = getEstimatesByAsset(terms, dictionary);
121
+ const assets = assertEx(terms.assets, () => `${name2}: No assets: ${terms.assets}`);
122
+ if (Object.keys(estimatesByAsset).length !== assets.length) {
123
+ console.log(`${name2}: Missing appraisals for all assets: ${assets}`);
124
+ return false;
125
+ }
126
+ return true;
127
+ };
128
+ };
129
+ var validateEstimate = (estimate, exp) => {
130
+ if (!validateWithinWindow(estimate, exp))
131
+ return false;
132
+ if (estimate.currency !== "USD")
133
+ return false;
134
+ if (estimate.price <= 0)
135
+ return false;
136
+ return true;
137
+ };
138
+ var getEstimatesByAsset = (terms, dictionary) => {
139
+ const assets = assertEx(terms.assets, () => `${name2}: No assets: ${terms.assets}`);
140
+ const estimates = Object.values(dictionary).filter(isHashLeaseEstimateWithSources);
141
+ const estimatesByAsset = {};
142
+ for (const estimate of estimates) {
143
+ const { sources } = estimate;
144
+ if (sources === void 0 || sources.length === 0) {
145
+ console.log(`${name2}: No sources: ${estimate}`);
146
+ continue;
147
+ }
148
+ for (const asset of assets) {
149
+ if (sources.includes(asset)) {
150
+ if (!estimatesByAsset[asset])
151
+ estimatesByAsset[asset] = [];
152
+ estimatesByAsset[asset].push(estimate);
153
+ }
154
+ }
155
+ }
156
+ return estimatesByAsset;
157
+ };
158
+
159
+ // src/Escrow/validators/escrow/appraisalAuthorities.ts
160
+ import { asAddress } from "@xylabs/hex";
161
+ var name3 = "EscrowTerms.appraisalAuthorities";
162
+ var appraisalAuthoritiesExistValidator = (terms) => {
163
+ const appraisalAuthorities = terms.appraisalAuthorities;
164
+ if (!appraisalAuthorities || appraisalAuthorities.length === 0) {
165
+ console.log(`${name3}: No appraisalAuthorities: ${terms.appraisalAuthorities}`);
166
+ return false;
167
+ }
168
+ if (appraisalAuthorities.map((x) => asAddress(x)).length !== appraisalAuthorities.length) {
169
+ console.log(`${name3}: Invalid address: ${terms.appraisalAuthorities}`);
170
+ return false;
171
+ }
172
+ return true;
173
+ };
174
+ var getAppraisalAuthoritiesAllowedValidator = (allowed) => {
175
+ return (terms) => {
176
+ const result = moduleIdentifiersContainsAllOf(terms, (t) => t.appraisalAuthorities, allowed, true);
177
+ if (!result) {
178
+ console.log(`${name3}: Appraisal authority not allowed: ${terms.appraisalAuthorities}`);
179
+ }
180
+ return result;
181
+ };
182
+ };
183
+
184
+ // src/Escrow/validators/escrow/assets.ts
185
+ var name4 = "EscrowTerms.assets";
186
+ var assetsExistValidator = (terms) => {
187
+ const assets = terms.assets;
188
+ if (!assets || assets.length === 0) {
189
+ console.log(`${name4}: No assets: ${terms.assets}`);
190
+ return false;
191
+ }
192
+ return true;
193
+ };
194
+
195
+ // src/Escrow/validators/escrow/buyer.ts
196
+ import { asAddress as asAddress2 } from "@xylabs/hex";
197
+ var name5 = "EscrowTerms.buyer";
198
+ var buyerExistsValidator = (terms) => {
199
+ const buyer = terms.buyer;
200
+ if (!buyer || buyer.length === 0) {
201
+ console.log(`${name5}: No buyer: ${terms.buyer}`);
202
+ return false;
203
+ }
204
+ if (buyer.map((x) => asAddress2(x)).length !== buyer.length) {
205
+ console.log(`${name5}: Invalid address: ${terms.buyer}`);
206
+ return false;
207
+ }
208
+ return true;
209
+ };
210
+
211
+ // src/Escrow/validators/escrow/buyerSecret.ts
212
+ import { assertEx as assertEx2 } from "@xylabs/assert";
213
+ import { isBoundWitnessWithMeta as isBoundWitnessWithMeta2 } from "@xyo-network/boundwitness-model";
214
+ import { BoundWitnessValidator } from "@xyo-network/boundwitness-validator";
215
+ var name6 = "EscrowTerms.buyerSecret";
216
+ var buyerSecretExistsValidator = (terms) => {
217
+ const buyerSecret = terms.buyerSecret;
218
+ if (!buyerSecret || buyerSecret.length === 0) {
219
+ console.log(`${name6}: No buyerSecret: ${terms.buyerSecret}`);
220
+ return false;
221
+ }
222
+ return true;
223
+ };
224
+ var getBuyerSecretSuppliedValidator = (dictionary) => {
225
+ return (terms) => {
226
+ const buyerSecret = assertEx2(terms.buyerSecret, () => `${name6}: No buyerSecret: ${terms.buyerSecret}`);
227
+ if (!dictionary[buyerSecret]) {
228
+ console.log(`${name6}: Payload not supplied for buyerSecret: ${buyerSecret}`);
229
+ return false;
230
+ }
231
+ return true;
232
+ };
233
+ };
234
+ var getBuyerSecretSignedValidator = (dictionary) => {
235
+ return async (terms) => {
236
+ const buyer = assertEx2(terms.buyer, () => `${name6}: No buyer: ${terms.buyer}`);
237
+ const buyerSecret = assertEx2(terms.buyerSecret, () => `${name6}: No buyerSecret: ${terms.buyerSecret}`);
238
+ const buyerSecretBWs = Object.values(dictionary).filter(isBoundWitnessWithMeta2).filter((bw) => bw.payload_hashes.includes(buyerSecret)).filter((bw) => buyer.every((buyerAddress) => bw.addresses.includes(buyerAddress)));
239
+ if (buyerSecretBWs.length === 0) {
240
+ console.log(`${name6}: No BoundWitnesses supplied for buyerSecret: ${buyerSecret}`);
241
+ return false;
242
+ }
243
+ const errors = await Promise.all(buyerSecretBWs.map((bw) => new BoundWitnessValidator(bw).validate()));
244
+ const validBoundWitnesses = errors.every((errors2) => errors2.length === 0);
245
+ if (!validBoundWitnesses) {
246
+ console.log(`${name6}: Invalid BoundWitnesses supplied for buyerSecret: ${buyerSecret}`);
247
+ return false;
248
+ }
249
+ return true;
250
+ };
251
+ };
252
+
253
+ // src/Escrow/validators/escrow/nbfExp.ts
254
+ var getNbfExpValidator = (now, minRequiredDuration) => {
255
+ const minExp = now + minRequiredDuration;
256
+ return (terms) => {
257
+ const { exp, nbf } = terms;
258
+ if (nbf === void 0 || nbf < now) {
259
+ console.log(`EscrowTerms.nbf: invalid nbf ${terms.nbf}`);
260
+ return false;
261
+ }
262
+ if (exp === void 0 || exp < minExp || nbf > exp) {
263
+ console.log(`EscrowTerms.exp: invalid exp ${terms.exp}`);
264
+ return false;
265
+ }
266
+ return true;
267
+ };
268
+ };
269
+
270
+ // src/Escrow/validators/escrow/paymentAuthorities.ts
271
+ var name7 = "EscrowTerms.paymentAuthorities";
272
+ var getPaymentAuthoritiesAllowedValidator = (allowed) => {
273
+ return (terms) => {
274
+ const result = moduleIdentifiersContainsAllOf(terms, (t) => t.paymentAuthorities, allowed, true);
275
+ if (!result) {
276
+ console.log(`${name7}: Payment authority not allowed: ${terms.paymentAuthorities}`);
277
+ }
278
+ return result;
279
+ };
280
+ };
281
+
282
+ // src/Escrow/validators/escrow/seller.ts
283
+ import { asAddress as asAddress3 } from "@xylabs/hex";
284
+ var name8 = "EscrowTerms.seller";
285
+ var sellerExistsValidator = (terms) => {
286
+ const seller = terms.seller;
287
+ if (!seller || seller.length === 0) {
288
+ console.log(`${name8}: No seller: ${terms.seller}`);
289
+ return false;
290
+ }
291
+ if (seller.map((x) => asAddress3(x)).length !== seller.length) {
292
+ console.log(`${name8}: Invalid address: ${terms.seller}`);
293
+ return false;
294
+ }
295
+ return true;
296
+ };
297
+
23
298
  // src/Payment.ts
24
299
  import { isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/payload-model";
25
300
  var PaymentSchema = "network.xyo.payments.payment";
@@ -32,9 +307,28 @@ export {
32
307
  EscrowTermsSchema,
33
308
  PaymentSchema,
34
309
  PurchaseSchema,
310
+ appraisalAuthoritiesExistValidator,
311
+ appraisalsExistValidator,
312
+ assetsExistValidator,
313
+ buyerExistsValidator,
314
+ buyerSecretExistsValidator,
35
315
  createEscrowIntent,
316
+ createEscrowIntentWithSecret,
317
+ getAppraisalAuthoritiesAllowedValidator,
318
+ getAppraisalsForAllAssetsValidator,
319
+ getAppraisalsFromValidAuthoritiesValidator,
320
+ getAppraisalsValidValidator,
321
+ getBuyerSecretSignedValidator,
322
+ getBuyerSecretSuppliedValidator,
323
+ getEscrowAgentAllowedValidator,
36
324
  getEscrowSecret,
325
+ getNbfExpValidator,
326
+ getPaymentAuthoritiesAllowedValidator,
37
327
  isEscrowTerms,
38
- isPayment
328
+ isPayment,
329
+ moduleIdentifiersContainsAllOf,
330
+ moduleIdentifiersContainsOneOf,
331
+ sellerExistsValidator,
332
+ validateWithinWindow
39
333
  };
40
334
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Escrow/createEscrowIntent.ts","../../src/Escrow/getEscrowSecret.ts","../../src/Escrow/Schema.ts","../../src/Escrow/Terms.ts","../../src/Payment.ts","../../src/Purchase.ts"],"sourcesContent":["import { AccountInstance } from '@xyo-network/account-model'\nimport { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\n\nimport { EscrowTerms } from './Terms'\n\n/**\n * Creates an escrow intent\n * @param terms The payloads describing the terms for the escrow\n * @param account The account to create the escrow intent with\n * @returns The escrow intent\n */\nexport const createEscrowIntent = async (terms: EscrowTerms[], account: AccountInstance) => {\n const result = await new BoundWitnessBuilder({ accounts: [account] }).payloads([...terms]).build()\n return result\n}\n","import { Crypto } from '@xylabs/crypto'\nimport { IdPayload, IdSchema } from '@xyo-network/id-payload-plugin'\n\n/**\n * Returns a cryptographically random secret to use for escrow\n * @returns The escrow secret\n */\nexport const getEscrowSecret = (): IdPayload => {\n return { salt: Crypto.randomUUID(), schema: IdSchema }\n}\n","export type EscrowSchema = 'network.xyo.escrow'\nexport const EscrowSchema: EscrowSchema = 'network.xyo.escrow'\n","import { Address, Hash } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { EscrowSchema } from './Schema'\n\nexport const EscrowTermsSchema = `${EscrowSchema}.terms` as const\nexport type EscrowTermsSchema = typeof EscrowTermsSchema\n\n// TODO: Include escrow agent in escrow terms\nexport interface EscrowTermsFields {\n /**\n * The trusted estimators for the worth of the things being sold\n */\n appraisalAuthorities: Address[]\n /**\n * The estimated worths of the things being sold\n */\n appraisals: Hash[]\n /**\n * The things being sold\n */\n assets: Hash[]\n /**\n * The buyer\n */\n buyer: Address[]\n /**\n * The buyer\n */\n buyerSecret: Hash\n /**\n * The escrow agent responsible for the escrow\n */\n escrowAgent: Address\n /**\n * The time the escrow expires\n */\n exp: number\n /**\n * The time the escrow starts\n */\n nbf: number\n /**\n * The trusted payment authorities\n */\n paymentAuthorities: Address[]\n /**\n * The seller\n */\n seller: Address[]\n /**\n * The seller\n */\n sellerSecret: Hash\n}\n\n/**\n * The terms of an escrow\n */\nexport type EscrowTerms = Payload<Partial<EscrowTermsFields>, EscrowTermsSchema>\n\nexport const isEscrowTerms = isPayloadOfSchemaType<EscrowTerms>(EscrowTermsSchema)\n","import { isPayloadOfSchemaType, PayloadWithSources } from '@xyo-network/payload-model'\n\nimport { SupportedCurrency } from './Currency'\n\nexport type PaymentSchema = 'network.xyo.payments.payment'\nexport const PaymentSchema: PaymentSchema = 'network.xyo.payments.payment'\n\nexport interface PaymentFields {\n /**\n * The amount paid\n */\n amount: number\n /**\n * The currency of the amount paid\n */\n currency: SupportedCurrency\n}\n\n/**\n * A payment is a record of a payment made\n */\nexport type Payment = PayloadWithSources<PaymentFields, PaymentSchema>\n\nexport const isPayment = isPayloadOfSchemaType<Payment>(PaymentSchema)\n","import { Hash } from '@xylabs/hex'\nimport { PayloadWithSources } from '@xyo-network/payload-model'\n\nexport type PurchaseSchema = 'network.xyo.payments.purchase'\nexport const PurchaseSchema: PurchaseSchema = 'network.xyo.payments.purchase'\n\nexport interface PurchaseFields {\n /**\n * The hashes that were purchased\n */\n hashes: Hash[]\n /**\n * The payments for this purchase. Array to allow for multiple payments\n * for a single quote.\n */\n payments: Hash[]\n}\n\n/**\n * A purchase ties a payment made to a quote\n */\nexport type Purchase = PayloadWithSources<PurchaseFields, PurchaseSchema>\n"],"mappings":";AACA,SAAS,2BAA2B;AAU7B,IAAM,qBAAqB,OAAO,OAAsB,YAA6B;AAC1F,QAAM,SAAS,MAAM,IAAI,oBAAoB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,MAAM;AACjG,SAAO;AACT;;;ACdA,SAAS,cAAc;AACvB,SAAoB,gBAAgB;AAM7B,IAAM,kBAAkB,MAAiB;AAC9C,SAAO,EAAE,MAAM,OAAO,WAAW,GAAG,QAAQ,SAAS;AACvD;;;ACRO,IAAM,eAA6B;;;ACA1C,SAAS,6BAAsC;AAIxC,IAAM,oBAAoB,GAAG,YAAY;AAwDzC,IAAM,gBAAgB,sBAAmC,iBAAiB;;;AC7DjF,SAAS,yBAAAA,8BAAiD;AAKnD,IAAM,gBAA+B;AAkBrC,IAAM,YAAYA,uBAA+B,aAAa;;;ACnB9D,IAAM,iBAAiC;","names":["isPayloadOfSchemaType"]}
1
+ {"version":3,"sources":["../../src/Escrow/createEscrowIntent.ts","../../src/Escrow/getEscrowSecret.ts","../../src/Escrow/Schema.ts","../../src/Escrow/Terms.ts","../../src/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.ts","../../src/Escrow/validators/common/TemporalValidators/validateWithinWindow.ts","../../src/Escrow/validators/escrow/agent.ts","../../src/Escrow/validators/escrow/appraisal.ts","../../src/Escrow/validators/escrow/appraisalAuthorities.ts","../../src/Escrow/validators/escrow/assets.ts","../../src/Escrow/validators/escrow/buyer.ts","../../src/Escrow/validators/escrow/buyerSecret.ts","../../src/Escrow/validators/escrow/nbfExp.ts","../../src/Escrow/validators/escrow/paymentAuthorities.ts","../../src/Escrow/validators/escrow/seller.ts","../../src/Payment.ts","../../src/Purchase.ts"],"sourcesContent":["import { AccountInstance } from '@xyo-network/account-model'\nimport { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport { IdPayload } from '@xyo-network/id-payload-plugin'\n\nimport { EscrowTerms } from './Terms'\n\n/**\n * Creates an escrow intent\n * @deprecated Use createEscrowIntentWithSecret instead\n * @param terms The payloads describing the terms for the escrow\n * @param account The account to create the escrow intent with\n * @returns The escrow intent\n */\nexport const createEscrowIntent = async (terms: EscrowTerms[], account: AccountInstance) => {\n const result = await new BoundWitnessBuilder({ accounts: [account] }).payloads([...terms]).build()\n return result\n}\n\n/**\n * Creates an escrow intent (for a buyer or seller) using the supplied secret\n * @param terms The payload describing the terms for the escrow\n * @param secret The secret for the escrow principal party to use for the escrow\n * @param account The account to create the escrow intent with\n * @returns The escrow intent\n */\nexport const createEscrowIntentWithSecret = async (terms: EscrowTerms, secret: IdPayload, account: AccountInstance) => {\n const result = await new BoundWitnessBuilder({ accounts: [account] }).payloads([terms, secret]).build()\n return result\n}\n","import { Crypto } from '@xylabs/crypto'\nimport { IdPayload, IdSchema } from '@xyo-network/id-payload-plugin'\n\n/**\n * Returns a cryptographically random secret to use for escrow\n * @returns The escrow secret\n */\nexport const getEscrowSecret = (): IdPayload => {\n return { salt: Crypto.randomUUID(), schema: IdSchema }\n}\n","export type EscrowSchema = 'network.xyo.escrow'\nexport const EscrowSchema: EscrowSchema = 'network.xyo.escrow'\n","import { Address, Hash } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { EscrowSchema } from './Schema'\n\nexport const EscrowTermsSchema = `${EscrowSchema}.terms` as const\nexport type EscrowTermsSchema = typeof EscrowTermsSchema\n\n// TODO: Include escrow agent in escrow terms\nexport interface EscrowTermsFields {\n /**\n * The trusted estimators for the worth of the things being sold\n */\n appraisalAuthorities: Address[]\n /**\n * The estimated worths of the things being sold\n */\n appraisals: Hash[]\n /**\n * The things being sold\n */\n assets: Hash[]\n /**\n * The buyer\n */\n buyer: Address[]\n /**\n * The buyer\n */\n buyerSecret: Hash\n /**\n * The escrow agent responsible for the escrow\n */\n escrowAgent: Address\n /**\n * The time the escrow expires\n */\n exp: number\n /**\n * The time the escrow starts\n */\n nbf: number\n /**\n * The trusted payment authorities\n */\n paymentAuthorities: Address[]\n /**\n * The seller\n */\n seller: Address[]\n /**\n * The seller\n */\n sellerSecret: Hash\n}\n\n/**\n * The terms of an escrow\n */\nexport type EscrowTerms = Payload<Partial<EscrowTermsFields>, EscrowTermsSchema>\n\nexport const isEscrowTerms = isPayloadOfSchemaType<EscrowTerms>(EscrowTermsSchema)\n","import { ModuleIdentifier } from '@xyo-network/module-model'\n\nimport { EscrowTerms } from '../../../Terms'\nimport { EscrowTermsValueExpression } from '../../types/escrowValidation'\n\n/**\n * Checks if property value of the escrow terms contains one of the valid moduleIdentifiers\n * @param escrowTerms The escrow terms to validate\n * @param propertyExpression The selector to get the property containing the moduleIdentifier(s) from the escrow terms\n * @param moduleIdentifiers The list of allowed moduleIdentifiers\n * @param required Is the property required to be present\n * @returns True if the property value contains one of the valid moduleIdentifiers\n */\nexport const moduleIdentifiersContainsOneOf = (\n escrowTerms: EscrowTerms,\n propertyExpression: EscrowTermsValueExpression<'appraisalAuthorities' | 'buyer' | 'escrowAgent' | 'paymentAuthorities' | 'seller'>,\n moduleIdentifiers: ModuleIdentifier[],\n required: boolean = true,\n) => {\n const termsValue: string | string[] | undefined = propertyExpression(escrowTerms)\n if (termsValue === undefined) {\n return required ? false : true\n } else {\n return Array.isArray(termsValue) ? termsValue.some((address) => moduleIdentifiers.includes(address)) : moduleIdentifiers.includes(termsValue)\n }\n}\n\n/**\n * Checks if property value of the escrow terms contains all of the valid moduleIdentifiers\n * @param escrowTerms The escrow terms to validate\n * @param selector The selector to get the property containing the moduleIdentifier(s) from the escrow terms\n * @param moduleIdentifiers The list of allowed moduleIdentifiers\n * @param required Is the property required to be present\n * @returns True if the property value contains all of the valid moduleIdentifiers\n */\nexport const moduleIdentifiersContainsAllOf = (\n escrowTerms: EscrowTerms,\n selector: EscrowTermsValueExpression<'appraisalAuthorities' | 'buyer' | 'escrowAgent' | 'paymentAuthorities' | 'seller'>,\n moduleIdentifiers: ModuleIdentifier[],\n required: boolean = true,\n) => {\n const termsValue: string | string[] | undefined = selector(escrowTerms)\n if (termsValue === undefined) {\n return required ? false : true\n } else {\n return Array.isArray(termsValue) ? termsValue.every((address) => moduleIdentifiers.includes(address)) : moduleIdentifiers.includes(termsValue)\n }\n}\n","export type Windowed = { exp?: number; nbf?: number }\n\nexport const validateWithinWindow = (value: Windowed, exp: number, nbf: number = Date.now()): boolean => {\n if (value.nbf === undefined || value.nbf > nbf) return false\n if (value.exp === undefined || value.exp < exp) return false\n return true\n}\n","import { ModuleIdentifier } from '@xyo-network/module-model'\n\nimport { EscrowTerms } from '../../Terms'\nimport { moduleIdentifiersContainsOneOf } from '../common'\nimport { EscrowTermsValidationFunction } from '../types'\n\nconst name = 'EscrowTerms.escrowAgent'\n\nexport const getEscrowAgentAllowedValidator = (allowedEscrowAgent: ModuleIdentifier): EscrowTermsValidationFunction => {\n return (terms: EscrowTerms) => {\n const result = moduleIdentifiersContainsOneOf(terms, (t) => t.escrowAgent, [allowedEscrowAgent], true)\n if (!result) {\n console.log(`${name}: Escrow agent not allowed: ${terms.escrowAgent}`)\n }\n return result\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { Hash } from '@xylabs/hex'\nimport { BoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { HashLeaseEstimate, isHashLeaseEstimateWithSources } from '@xyo-network/diviner-hash-lease'\nimport { Payload, WithMeta, WithSources } from '@xyo-network/payload-model'\n\nimport { EscrowTerms } from '../../Terms'\nimport { validateWithinWindow } from '../common'\nimport { EscrowTermsValidationFunction } from '../types'\n\nconst name = 'EscrowTerms.appraisal'\n\n/**\n * A function that validates the escrow terms for tbe existence of appraisals\n * @returns True if the escrow terms contain appraisals, false otherwise\n */\nexport const appraisalsExistValidator: EscrowTermsValidationFunction = (terms: EscrowTerms) => {\n // Validate we have appraisals\n const appraisals = terms.appraisals\n if (!appraisals || appraisals.length === 0) {\n console.log(`${name}: No appraisals: ${terms.appraisals}`)\n return false\n }\n return true\n}\n\n/**\n * Returns a function that validates the escrow terms for appraisals which are from valid authorities\n * @param dictionary Payload dictionary of the escrow terms\n * @returns A function that validates the escrow terms for appraisals which are from valid authorities\n */\nexport const getAppraisalsFromValidAuthoritiesValidator = (dictionary: Record<Hash, WithMeta<Payload>>): EscrowTermsValidationFunction => {\n return (terms: EscrowTerms) => {\n const appraisals = assertEx(terms.appraisals, () => `${name}: No appraisals: ${terms.appraisals}`)\n const appraisalAuthorities = assertEx(terms.appraisalAuthorities, () => `${name}: No appraisalAuthorities: ${terms.appraisalAuthorities}`)\n\n // Validate the appraisals are signed by valid appraisal authorities. Validation criteria:\n // - We have a bw for each of the appraisal\n // - The bw is signed by an approved appraisal authority\n const appraisalBWsValid: Record<Hash, WithMeta<BoundWitness>[]> = Object.fromEntries(\n appraisals.map<[Hash, WithMeta<BoundWitness>[]]>((hash) => [hash, []]),\n )\n for (const bw of Object.values(dictionary).filter(isBoundWitnessWithMeta)) {\n for (const appraisal of appraisals) {\n if (bw.payload_hashes.includes(appraisal) && bw.addresses.some((address) => appraisalAuthorities.includes(address))) {\n appraisalBWsValid[appraisal].push(bw)\n }\n }\n }\n for (const [appraisal, bws] of Object.entries(appraisalBWsValid)) {\n if (bws.length === 0) {\n console.log(`${name}: No valid appraisals for ${appraisal}`)\n return false\n }\n }\n return true\n }\n}\n\n/**\n * Returns a function that validates the escrow terms for appraisals which are valid\n * @param dictionary Payload dictionary of the escrow terms\n * @param minimumExp The minium amount of time an estimate needs to be valid\n * for in the future (so as not to expire before the escrow is complete)\n * @returns A function that validates the escrow terms for appraisals which are valid\n */\nexport const getAppraisalsValidValidator = (dictionary: Record<Hash, WithMeta<Payload>>, minimumExp: number): EscrowTermsValidationFunction => {\n return (terms: EscrowTerms) => {\n // Verify we have an estimate for each of the assets\n const estimatesByAsset = getEstimatesByAsset(terms, dictionary)\n // Validate each of the estimates are valid (time, price, etc)\n const now = Date.now()\n const exp = now + minimumExp\n for (const [asset, estimates] of Object.entries(estimatesByAsset)) {\n for (const estimate of estimates) {\n if (!validateEstimate(estimate, exp)) {\n console.log(`${name}: Invalid estimate for asset ${asset}: ${estimate}`)\n return false\n }\n }\n }\n return true\n }\n}\n\n/**\n * Returns a function that validates the escrow terms to ensure that they contain an appraisal for each asset\n * @param dictionary Payload dictionary of the escrow terms\n * @returns A function that validates the escrow terms for appraisals\n */\nexport const getAppraisalsForAllAssetsValidator = (dictionary: Record<Hash, WithMeta<Payload>>): EscrowTermsValidationFunction => {\n return (terms: EscrowTerms) => {\n // Verify we have an estimate for each of the assets\n const estimatesByAsset = getEstimatesByAsset(terms, dictionary)\n const assets = assertEx(terms.assets, () => `${name}: No assets: ${terms.assets}`)\n if (Object.keys(estimatesByAsset).length !== assets.length) {\n console.log(`${name}: Missing appraisals for all assets: ${assets}`)\n return false\n }\n return true\n }\n}\n\nconst validateEstimate = (estimate: WithSources<HashLeaseEstimate>, exp: number): boolean => {\n if (!validateWithinWindow(estimate, exp)) return false\n if (estimate.currency !== 'USD') return false\n if (estimate.price <= 0) return false\n return true\n}\n\nconst getEstimatesByAsset = (terms: EscrowTerms, dictionary: Record<Hash, WithMeta<Payload>>): Record<Hash, WithSources<HashLeaseEstimate>[]> => {\n const assets = assertEx(terms.assets, () => `${name}: No assets: ${terms.assets}`)\n const estimates = Object.values(dictionary).filter(isHashLeaseEstimateWithSources) as unknown as WithSources<HashLeaseEstimate>[]\n const estimatesByAsset: Record<Hash, WithSources<HashLeaseEstimate>[]> = {}\n for (const estimate of estimates) {\n const { sources } = estimate\n if (sources === undefined || sources.length === 0) {\n console.log(`${name}: No sources: ${estimate}`)\n continue\n }\n for (const asset of assets) {\n if (sources.includes(asset)) {\n if (!estimatesByAsset[asset]) estimatesByAsset[asset] = []\n estimatesByAsset[asset].push(estimate)\n }\n }\n }\n return estimatesByAsset\n}\n","import { asAddress } from '@xylabs/hex'\nimport { ModuleIdentifier } from '@xyo-network/module-model'\n\nimport { EscrowTerms } from '../../Terms'\nimport { moduleIdentifiersContainsAllOf } from '../common'\nimport { EscrowTermsValidationFunction } from '../types'\n\nconst name = 'EscrowTerms.appraisalAuthorities'\n\n/**\n * A function that validates the escrow terms for appraisalAuthorities\n * @returns True if the escrow terms contain appraisalAuthorities, false otherwise\n */\nexport const appraisalAuthoritiesExistValidator: EscrowTermsValidationFunction = (terms: EscrowTerms) => {\n // Validate we have appraisalAuthorities\n const appraisalAuthorities = terms.appraisalAuthorities\n if (!appraisalAuthorities || appraisalAuthorities.length === 0) {\n console.log(`${name}: No appraisalAuthorities: ${terms.appraisalAuthorities}`)\n return false\n }\n // Validate the authorities are addresses\n if (appraisalAuthorities.map((x) => asAddress(x)).length !== appraisalAuthorities.length) {\n console.log(`${name}: Invalid address: ${terms.appraisalAuthorities}`)\n return false\n }\n return true\n}\n\nexport const getAppraisalAuthoritiesAllowedValidator = (allowed: ModuleIdentifier[]): EscrowTermsValidationFunction => {\n return (terms: EscrowTerms) => {\n const result = moduleIdentifiersContainsAllOf(terms, (t) => t.appraisalAuthorities, allowed, true)\n if (!result) {\n console.log(`${name}: Appraisal authority not allowed: ${terms.appraisalAuthorities}`)\n }\n return result\n }\n}\n","import { EscrowTerms } from '../../Terms'\nimport { EscrowTermsValidationFunction } from '../types'\n\nconst name = 'EscrowTerms.assets'\n\n/**\n * Returns a function that validates the escrow terms for assets\n * @returns A function that validates the escrow terms for assets\n */\nexport const assetsExistValidator: EscrowTermsValidationFunction = (terms: EscrowTerms) => {\n // Validate we have assets\n const assets = terms.assets\n if (!assets || assets.length === 0) {\n console.log(`${name}: No assets: ${terms.assets}`)\n return false\n }\n return true\n}\n","import { asAddress } from '@xylabs/hex'\n\nimport { EscrowTerms } from '../../Terms'\nimport { EscrowTermsValidationFunction } from '../types'\n\nconst name = 'EscrowTerms.buyer'\n\n/**\n * A function that validates the escrow terms for buyer\n * @returns True if the escrow terms contain buyer, false otherwise\n */\nexport const buyerExistsValidator: EscrowTermsValidationFunction = (terms: EscrowTerms) => {\n // Validate we have buyer\n const buyer = terms.buyer\n if (!buyer || buyer.length === 0) {\n console.log(`${name}: No buyer: ${terms.buyer}`)\n return false\n }\n // Validate the authorities are addresses\n if (buyer.map((x) => asAddress(x)).length !== buyer.length) {\n console.log(`${name}: Invalid address: ${terms.buyer}`)\n return false\n }\n return true\n}\n","import { assertEx } from '@xylabs/assert'\nimport { Hash } from '@xylabs/hex'\nimport { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport { Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { EscrowTerms } from '../../Terms'\nimport { EscrowTermsValidationFunction } from '../types'\n\nconst name = 'EscrowTerms.buyerSecret'\n\n/**\n * Returns a function that validates the escrow terms for buyerSecret\n * @returns A function that validates the escrow terms for buyerSecret\n */\nexport const buyerSecretExistsValidator: EscrowTermsValidationFunction = (terms: EscrowTerms) => {\n // Validate we have buyerSecret\n const buyerSecret = terms.buyerSecret\n if (!buyerSecret || buyerSecret.length === 0) {\n console.log(`${name}: No buyerSecret: ${terms.buyerSecret}`)\n return false\n }\n return true\n}\n\n/**\n * Returns a function that validates the escrow terms for the existence of the buyerSecret in the dictionary\n * @param dictionary Payload dictionary of the escrow terms\n * @returns A function that validates the escrow terms for the existence of the buyerSecret in the dictionary\n */\nexport const getBuyerSecretSuppliedValidator = (dictionary: Record<Hash, WithMeta<Payload>>): EscrowTermsValidationFunction => {\n return (terms: EscrowTerms) => {\n const buyerSecret = assertEx(terms.buyerSecret, () => `${name}: No buyerSecret: ${terms.buyerSecret}`)\n if (!dictionary[buyerSecret]) {\n console.log(`${name}: Payload not supplied for buyerSecret: ${buyerSecret}`)\n return false\n }\n return true\n }\n}\n\n/**\n * Returns a function that validates the escrow terms for the existence of the buyerSecret signed by the buyer\n * @param dictionary Payload dictionary of the escrow terms\n * @returns A function that validates the escrow terms for the existence of the buyerSecret signed by the buyer\n */\nexport const getBuyerSecretSignedValidator = (dictionary: Record<Hash, WithMeta<Payload>>): EscrowTermsValidationFunction => {\n return async (terms: EscrowTerms) => {\n const buyer = assertEx(terms.buyer, () => `${name}: No buyer: ${terms.buyer}`)\n const buyerSecret = assertEx(terms.buyerSecret, () => `${name}: No buyerSecret: ${terms.buyerSecret}`)\n // Buyer-signed buyer secrets\n const buyerSecretBWs = Object.values(dictionary)\n // Find all BoundWitnesses\n .filter(isBoundWitnessWithMeta)\n // That contain the buyer secret\n .filter((bw) => bw.payload_hashes.includes(buyerSecret))\n // That are signed by all the buyers\n .filter((bw) => buyer.every((buyerAddress) => bw.addresses.includes(buyerAddress)))\n\n // If there are no buyerSecret BWs, return false\n if (buyerSecretBWs.length === 0) {\n console.log(`${name}: No BoundWitnesses supplied for buyerSecret: ${buyerSecret}`)\n return false\n }\n\n // Ensure each BW supplied for the buyerSecret is valid\n const errors = await Promise.all(buyerSecretBWs.map((bw) => new BoundWitnessValidator(bw).validate()))\n const validBoundWitnesses = errors.every((errors) => errors.length === 0)\n if (!validBoundWitnesses) {\n console.log(`${name}: Invalid BoundWitnesses supplied for buyerSecret: ${buyerSecret}`)\n return false\n }\n return true\n }\n}\n","import { EscrowTerms } from '../../Terms'\nimport { EscrowTermsValidationFunction } from '../types'\n\nexport const getNbfExpValidator = (now: number, minRequiredDuration: number): EscrowTermsValidationFunction => {\n const minExp = now + minRequiredDuration\n return (terms: EscrowTerms) => {\n const { exp, nbf } = terms\n if (nbf === undefined || nbf < now) {\n console.log(`EscrowTerms.nbf: invalid nbf ${terms.nbf}`)\n return false\n }\n if (exp === undefined || exp < minExp || nbf > exp) {\n console.log(`EscrowTerms.exp: invalid exp ${terms.exp}`)\n return false\n }\n return true\n }\n}\n","import { ModuleIdentifier } from '@xyo-network/module-model'\n\nimport { EscrowTerms } from '../../Terms'\nimport { moduleIdentifiersContainsAllOf } from '../common'\nimport { EscrowTermsValidationFunction } from '../types'\n\nconst name = 'EscrowTerms.paymentAuthorities'\n\nexport const getPaymentAuthoritiesAllowedValidator = (allowed: ModuleIdentifier[]): EscrowTermsValidationFunction => {\n return (terms: EscrowTerms) => {\n const result = moduleIdentifiersContainsAllOf(terms, (t) => t.paymentAuthorities, allowed, true)\n if (!result) {\n console.log(`${name}: Payment authority not allowed: ${terms.paymentAuthorities}`)\n }\n return result\n }\n}\n","import { asAddress } from '@xylabs/hex'\n\nimport { EscrowTerms } from '../../Terms'\nimport { EscrowTermsValidationFunction } from '../types'\n\nconst name = 'EscrowTerms.seller'\n\n/**\n * A function that validates the escrow terms for seller\n * @returns True if the escrow terms contain seller, false otherwise\n */\nexport const sellerExistsValidator: EscrowTermsValidationFunction = (terms: EscrowTerms) => {\n // Validate we have seller\n const seller = terms.seller\n if (!seller || seller.length === 0) {\n console.log(`${name}: No seller: ${terms.seller}`)\n return false\n }\n // Validate the authorities are addresses\n if (seller.map((x) => asAddress(x)).length !== seller.length) {\n console.log(`${name}: Invalid address: ${terms.seller}`)\n return false\n }\n return true\n}\n","import { isPayloadOfSchemaType, PayloadWithSources } from '@xyo-network/payload-model'\n\nimport { SupportedCurrency } from './Currency'\n\nexport type PaymentSchema = 'network.xyo.payments.payment'\nexport const PaymentSchema: PaymentSchema = 'network.xyo.payments.payment'\n\nexport interface PaymentFields {\n /**\n * The amount paid\n */\n amount: number\n /**\n * The currency of the amount paid\n */\n currency: SupportedCurrency\n}\n\n/**\n * A payment is a record of a payment made\n */\nexport type Payment = PayloadWithSources<PaymentFields, PaymentSchema>\n\nexport const isPayment = isPayloadOfSchemaType<Payment>(PaymentSchema)\n","import { Hash } from '@xylabs/hex'\nimport { PayloadWithSources } from '@xyo-network/payload-model'\n\nexport type PurchaseSchema = 'network.xyo.payments.purchase'\nexport const PurchaseSchema: PurchaseSchema = 'network.xyo.payments.purchase'\n\nexport interface PurchaseFields {\n /**\n * The hashes that were purchased\n */\n hashes: Hash[]\n /**\n * The payments for this purchase. Array to allow for multiple payments\n * for a single quote.\n */\n payments: Hash[]\n}\n\n/**\n * A purchase ties a payment made to a quote\n */\nexport type Purchase = PayloadWithSources<PurchaseFields, PurchaseSchema>\n"],"mappings":";AACA,SAAS,2BAA2B;AAY7B,IAAM,qBAAqB,OAAO,OAAsB,YAA6B;AAC1F,QAAM,SAAS,MAAM,IAAI,oBAAoB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,MAAM;AACjG,SAAO;AACT;AASO,IAAM,+BAA+B,OAAO,OAAoB,QAAmB,YAA6B;AACrH,QAAM,SAAS,MAAM,IAAI,oBAAoB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,MAAM;AACtG,SAAO;AACT;;;AC5BA,SAAS,cAAc;AACvB,SAAoB,gBAAgB;AAM7B,IAAM,kBAAkB,MAAiB;AAC9C,SAAO,EAAE,MAAM,OAAO,WAAW,GAAG,QAAQ,SAAS;AACvD;;;ACRO,IAAM,eAA6B;;;ACA1C,SAAS,6BAAsC;AAIxC,IAAM,oBAAoB,GAAG,YAAY;AAwDzC,IAAM,gBAAgB,sBAAmC,iBAAiB;;;AChD1E,IAAM,iCAAiC,CAC5C,aACA,oBACA,mBACA,WAAoB,SACjB;AACH,QAAM,aAA4C,mBAAmB,WAAW;AAChF,MAAI,eAAe,QAAW;AAC5B,WAAO,WAAW,QAAQ;AAAA,EAC5B,OAAO;AACL,WAAO,MAAM,QAAQ,UAAU,IAAI,WAAW,KAAK,CAAC,YAAY,kBAAkB,SAAS,OAAO,CAAC,IAAI,kBAAkB,SAAS,UAAU;AAAA,EAC9I;AACF;AAUO,IAAM,iCAAiC,CAC5C,aACA,UACA,mBACA,WAAoB,SACjB;AACH,QAAM,aAA4C,SAAS,WAAW;AACtE,MAAI,eAAe,QAAW;AAC5B,WAAO,WAAW,QAAQ;AAAA,EAC5B,OAAO;AACL,WAAO,MAAM,QAAQ,UAAU,IAAI,WAAW,MAAM,CAAC,YAAY,kBAAkB,SAAS,OAAO,CAAC,IAAI,kBAAkB,SAAS,UAAU;AAAA,EAC/I;AACF;;;AC7CO,IAAM,uBAAuB,CAAC,OAAiB,KAAa,MAAc,KAAK,IAAI,MAAe;AACvG,MAAI,MAAM,QAAQ,UAAa,MAAM,MAAM;AAAK,WAAO;AACvD,MAAI,MAAM,QAAQ,UAAa,MAAM,MAAM;AAAK,WAAO;AACvD,SAAO;AACT;;;ACAA,IAAM,OAAO;AAEN,IAAM,iCAAiC,CAAC,uBAAwE;AACrH,SAAO,CAAC,UAAuB;AAC7B,UAAM,SAAS,+BAA+B,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,kBAAkB,GAAG,IAAI;AACrG,QAAI,CAAC,QAAQ;AACX,cAAQ,IAAI,GAAG,IAAI,+BAA+B,MAAM,WAAW,EAAE;AAAA,IACvE;AACA,WAAO;AAAA,EACT;AACF;;;AChBA,SAAS,gBAAgB;AAEzB,SAAuB,8BAA8B;AACrD,SAA4B,sCAAsC;AAOlE,IAAMA,QAAO;AAMN,IAAM,2BAA0D,CAAC,UAAuB;AAE7F,QAAM,aAAa,MAAM;AACzB,MAAI,CAAC,cAAc,WAAW,WAAW,GAAG;AAC1C,YAAQ,IAAI,GAAGA,KAAI,oBAAoB,MAAM,UAAU,EAAE;AACzD,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAOO,IAAM,6CAA6C,CAAC,eAA+E;AACxI,SAAO,CAAC,UAAuB;AAC7B,UAAM,aAAa,SAAS,MAAM,YAAY,MAAM,GAAGA,KAAI,oBAAoB,MAAM,UAAU,EAAE;AACjG,UAAM,uBAAuB,SAAS,MAAM,sBAAsB,MAAM,GAAGA,KAAI,8BAA8B,MAAM,oBAAoB,EAAE;AAKzI,UAAM,oBAA4D,OAAO;AAAA,MACvE,WAAW,IAAsC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAAA,IACvE;AACA,eAAW,MAAM,OAAO,OAAO,UAAU,EAAE,OAAO,sBAAsB,GAAG;AACzE,iBAAW,aAAa,YAAY;AAClC,YAAI,GAAG,eAAe,SAAS,SAAS,KAAK,GAAG,UAAU,KAAK,CAAC,YAAY,qBAAqB,SAAS,OAAO,CAAC,GAAG;AACnH,4BAAkB,SAAS,EAAE,KAAK,EAAE;AAAA,QACtC;AAAA,MACF;AAAA,IACF;AACA,eAAW,CAAC,WAAW,GAAG,KAAK,OAAO,QAAQ,iBAAiB,GAAG;AAChE,UAAI,IAAI,WAAW,GAAG;AACpB,gBAAQ,IAAI,GAAGA,KAAI,6BAA6B,SAAS,EAAE;AAC3D,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AASO,IAAM,8BAA8B,CAAC,YAA6C,eAAsD;AAC7I,SAAO,CAAC,UAAuB;AAE7B,UAAM,mBAAmB,oBAAoB,OAAO,UAAU;AAE9D,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,MAAM,MAAM;AAClB,eAAW,CAAC,OAAO,SAAS,KAAK,OAAO,QAAQ,gBAAgB,GAAG;AACjE,iBAAW,YAAY,WAAW;AAChC,YAAI,CAAC,iBAAiB,UAAU,GAAG,GAAG;AACpC,kBAAQ,IAAI,GAAGA,KAAI,gCAAgC,KAAK,KAAK,QAAQ,EAAE;AACvE,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AAOO,IAAM,qCAAqC,CAAC,eAA+E;AAChI,SAAO,CAAC,UAAuB;AAE7B,UAAM,mBAAmB,oBAAoB,OAAO,UAAU;AAC9D,UAAM,SAAS,SAAS,MAAM,QAAQ,MAAM,GAAGA,KAAI,gBAAgB,MAAM,MAAM,EAAE;AACjF,QAAI,OAAO,KAAK,gBAAgB,EAAE,WAAW,OAAO,QAAQ;AAC1D,cAAQ,IAAI,GAAGA,KAAI,wCAAwC,MAAM,EAAE;AACnE,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AACF;AAEA,IAAM,mBAAmB,CAAC,UAA0C,QAAyB;AAC3F,MAAI,CAAC,qBAAqB,UAAU,GAAG;AAAG,WAAO;AACjD,MAAI,SAAS,aAAa;AAAO,WAAO;AACxC,MAAI,SAAS,SAAS;AAAG,WAAO;AAChC,SAAO;AACT;AAEA,IAAM,sBAAsB,CAAC,OAAoB,eAAgG;AAC/I,QAAM,SAAS,SAAS,MAAM,QAAQ,MAAM,GAAGA,KAAI,gBAAgB,MAAM,MAAM,EAAE;AACjF,QAAM,YAAY,OAAO,OAAO,UAAU,EAAE,OAAO,8BAA8B;AACjF,QAAM,mBAAmE,CAAC;AAC1E,aAAW,YAAY,WAAW;AAChC,UAAM,EAAE,QAAQ,IAAI;AACpB,QAAI,YAAY,UAAa,QAAQ,WAAW,GAAG;AACjD,cAAQ,IAAI,GAAGA,KAAI,iBAAiB,QAAQ,EAAE;AAC9C;AAAA,IACF;AACA,eAAW,SAAS,QAAQ;AAC1B,UAAI,QAAQ,SAAS,KAAK,GAAG;AAC3B,YAAI,CAAC,iBAAiB,KAAK;AAAG,2BAAiB,KAAK,IAAI,CAAC;AACzD,yBAAiB,KAAK,EAAE,KAAK,QAAQ;AAAA,MACvC;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;;;AChIA,SAAS,iBAAiB;AAO1B,IAAMC,QAAO;AAMN,IAAM,qCAAoE,CAAC,UAAuB;AAEvG,QAAM,uBAAuB,MAAM;AACnC,MAAI,CAAC,wBAAwB,qBAAqB,WAAW,GAAG;AAC9D,YAAQ,IAAI,GAAGA,KAAI,8BAA8B,MAAM,oBAAoB,EAAE;AAC7E,WAAO;AAAA,EACT;AAEA,MAAI,qBAAqB,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC,EAAE,WAAW,qBAAqB,QAAQ;AACxF,YAAQ,IAAI,GAAGA,KAAI,sBAAsB,MAAM,oBAAoB,EAAE;AACrE,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,IAAM,0CAA0C,CAAC,YAA+D;AACrH,SAAO,CAAC,UAAuB;AAC7B,UAAM,SAAS,+BAA+B,OAAO,CAAC,MAAM,EAAE,sBAAsB,SAAS,IAAI;AACjG,QAAI,CAAC,QAAQ;AACX,cAAQ,IAAI,GAAGA,KAAI,sCAAsC,MAAM,oBAAoB,EAAE;AAAA,IACvF;AACA,WAAO;AAAA,EACT;AACF;;;ACjCA,IAAMC,QAAO;AAMN,IAAM,uBAAsD,CAAC,UAAuB;AAEzF,QAAM,SAAS,MAAM;AACrB,MAAI,CAAC,UAAU,OAAO,WAAW,GAAG;AAClC,YAAQ,IAAI,GAAGA,KAAI,gBAAgB,MAAM,MAAM,EAAE;AACjD,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;ACjBA,SAAS,aAAAC,kBAAiB;AAK1B,IAAMC,QAAO;AAMN,IAAM,uBAAsD,CAAC,UAAuB;AAEzF,QAAM,QAAQ,MAAM;AACpB,MAAI,CAAC,SAAS,MAAM,WAAW,GAAG;AAChC,YAAQ,IAAI,GAAGA,KAAI,eAAe,MAAM,KAAK,EAAE;AAC/C,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,IAAI,CAAC,MAAMD,WAAU,CAAC,CAAC,EAAE,WAAW,MAAM,QAAQ;AAC1D,YAAQ,IAAI,GAAGC,KAAI,sBAAsB,MAAM,KAAK,EAAE;AACtD,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;ACxBA,SAAS,YAAAC,iBAAgB;AAEzB,SAAS,0BAAAC,+BAA8B;AACvC,SAAS,6BAA6B;AAMtC,IAAMC,QAAO;AAMN,IAAM,6BAA4D,CAAC,UAAuB;AAE/F,QAAM,cAAc,MAAM;AAC1B,MAAI,CAAC,eAAe,YAAY,WAAW,GAAG;AAC5C,YAAQ,IAAI,GAAGA,KAAI,qBAAqB,MAAM,WAAW,EAAE;AAC3D,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAOO,IAAM,kCAAkC,CAAC,eAA+E;AAC7H,SAAO,CAAC,UAAuB;AAC7B,UAAM,cAAcF,UAAS,MAAM,aAAa,MAAM,GAAGE,KAAI,qBAAqB,MAAM,WAAW,EAAE;AACrG,QAAI,CAAC,WAAW,WAAW,GAAG;AAC5B,cAAQ,IAAI,GAAGA,KAAI,2CAA2C,WAAW,EAAE;AAC3E,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AACF;AAOO,IAAM,gCAAgC,CAAC,eAA+E;AAC3H,SAAO,OAAO,UAAuB;AACnC,UAAM,QAAQF,UAAS,MAAM,OAAO,MAAM,GAAGE,KAAI,eAAe,MAAM,KAAK,EAAE;AAC7E,UAAM,cAAcF,UAAS,MAAM,aAAa,MAAM,GAAGE,KAAI,qBAAqB,MAAM,WAAW,EAAE;AAErG,UAAM,iBAAiB,OAAO,OAAO,UAAU,EAE5C,OAAOD,uBAAsB,EAE7B,OAAO,CAAC,OAAO,GAAG,eAAe,SAAS,WAAW,CAAC,EAEtD,OAAO,CAAC,OAAO,MAAM,MAAM,CAAC,iBAAiB,GAAG,UAAU,SAAS,YAAY,CAAC,CAAC;AAGpF,QAAI,eAAe,WAAW,GAAG;AAC/B,cAAQ,IAAI,GAAGC,KAAI,iDAAiD,WAAW,EAAE;AACjF,aAAO;AAAA,IACT;AAGA,UAAM,SAAS,MAAM,QAAQ,IAAI,eAAe,IAAI,CAAC,OAAO,IAAI,sBAAsB,EAAE,EAAE,SAAS,CAAC,CAAC;AACrG,UAAM,sBAAsB,OAAO,MAAM,CAACC,YAAWA,QAAO,WAAW,CAAC;AACxE,QAAI,CAAC,qBAAqB;AACxB,cAAQ,IAAI,GAAGD,KAAI,sDAAsD,WAAW,EAAE;AACtF,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AACF;;;ACvEO,IAAM,qBAAqB,CAAC,KAAa,wBAA+D;AAC7G,QAAM,SAAS,MAAM;AACrB,SAAO,CAAC,UAAuB;AAC7B,UAAM,EAAE,KAAK,IAAI,IAAI;AACrB,QAAI,QAAQ,UAAa,MAAM,KAAK;AAClC,cAAQ,IAAI,gCAAgC,MAAM,GAAG,EAAE;AACvD,aAAO;AAAA,IACT;AACA,QAAI,QAAQ,UAAa,MAAM,UAAU,MAAM,KAAK;AAClD,cAAQ,IAAI,gCAAgC,MAAM,GAAG,EAAE;AACvD,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AACF;;;ACXA,IAAME,QAAO;AAEN,IAAM,wCAAwC,CAAC,YAA+D;AACnH,SAAO,CAAC,UAAuB;AAC7B,UAAM,SAAS,+BAA+B,OAAO,CAAC,MAAM,EAAE,oBAAoB,SAAS,IAAI;AAC/F,QAAI,CAAC,QAAQ;AACX,cAAQ,IAAI,GAAGA,KAAI,oCAAoC,MAAM,kBAAkB,EAAE;AAAA,IACnF;AACA,WAAO;AAAA,EACT;AACF;;;AChBA,SAAS,aAAAC,kBAAiB;AAK1B,IAAMC,QAAO;AAMN,IAAM,wBAAuD,CAAC,UAAuB;AAE1F,QAAM,SAAS,MAAM;AACrB,MAAI,CAAC,UAAU,OAAO,WAAW,GAAG;AAClC,YAAQ,IAAI,GAAGA,KAAI,gBAAgB,MAAM,MAAM,EAAE;AACjD,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,IAAI,CAAC,MAAMD,WAAU,CAAC,CAAC,EAAE,WAAW,OAAO,QAAQ;AAC5D,YAAQ,IAAI,GAAGC,KAAI,sBAAsB,MAAM,MAAM,EAAE;AACvD,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;ACxBA,SAAS,yBAAAC,8BAAiD;AAKnD,IAAM,gBAA+B;AAkBrC,IAAM,YAAYA,uBAA+B,aAAa;;;ACnB9D,IAAM,iBAAiC;","names":["name","name","name","asAddress","name","assertEx","isBoundWitnessWithMeta","name","errors","name","asAddress","name","isPayloadOfSchemaType"]}
@@ -1,7 +1,9 @@
1
1
  import { AccountInstance } from '@xyo-network/account-model';
2
+ import { IdPayload } from '@xyo-network/id-payload-plugin';
2
3
  import { EscrowTerms } from './Terms';
3
4
  /**
4
5
  * Creates an escrow intent
6
+ * @deprecated Use createEscrowIntentWithSecret instead
5
7
  * @param terms The payloads describing the terms for the escrow
6
8
  * @param account The account to create the escrow intent with
7
9
  * @returns The escrow intent
@@ -17,4 +19,22 @@ export declare const createEscrowIntent: (terms: EscrowTerms[], account: Account
17
19
  schema: "network.xyo.error.module";
18
20
  sources?: Lowercase<string>[] | undefined;
19
21
  }>[]]>;
22
+ /**
23
+ * Creates an escrow intent (for a buyer or seller) using the supplied secret
24
+ * @param terms The payload describing the terms for the escrow
25
+ * @param secret The secret for the escrow principal party to use for the escrow
26
+ * @param account The account to create the escrow intent with
27
+ * @returns The escrow intent
28
+ */
29
+ export declare const createEscrowIntentWithSecret: (terms: EscrowTerms, secret: IdPayload, account: AccountInstance) => Promise<[import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
30
+ schema: "network.xyo.boundwitness";
31
+ }>, import("@xyo-network/payload-model").WithMeta<{
32
+ schema: string;
33
+ } & import("@xyo-network/payload-model").PayloadFields>[], import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
34
+ message?: string | undefined;
35
+ name?: string | undefined;
36
+ query?: Lowercase<string> | undefined;
37
+ schema: "network.xyo.error.module";
38
+ sources?: Lowercase<string>[] | undefined;
39
+ }>[]]>;
20
40
  //# sourceMappingURL=createEscrowIntent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createEscrowIntent.d.ts","sourceRoot":"","sources":["../../../src/Escrow/createEscrowIntent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,UAAiB,WAAW,EAAE,WAAW,eAAe;;;;;;;;;;MAGtF,CAAA"}
1
+ {"version":3,"file":"createEscrowIntent.d.ts","sourceRoot":"","sources":["../../../src/Escrow/createEscrowIntent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,UAAiB,WAAW,EAAE,WAAW,eAAe;;;;;;;;;;MAGtF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,UAAiB,WAAW,UAAU,SAAS,WAAW,eAAe;;;;;;;;;;MAGjH,CAAA"}
@@ -1,7 +1,9 @@
1
1
  import { AccountInstance } from '@xyo-network/account-model';
2
+ import { IdPayload } from '@xyo-network/id-payload-plugin';
2
3
  import { EscrowTerms } from './Terms';
3
4
  /**
4
5
  * Creates an escrow intent
6
+ * @deprecated Use createEscrowIntentWithSecret instead
5
7
  * @param terms The payloads describing the terms for the escrow
6
8
  * @param account The account to create the escrow intent with
7
9
  * @returns The escrow intent
@@ -17,4 +19,22 @@ export declare const createEscrowIntent: (terms: EscrowTerms[], account: Account
17
19
  schema: "network.xyo.error.module";
18
20
  sources?: Lowercase<string>[] | undefined;
19
21
  }>[]]>;
22
+ /**
23
+ * Creates an escrow intent (for a buyer or seller) using the supplied secret
24
+ * @param terms The payload describing the terms for the escrow
25
+ * @param secret The secret for the escrow principal party to use for the escrow
26
+ * @param account The account to create the escrow intent with
27
+ * @returns The escrow intent
28
+ */
29
+ export declare const createEscrowIntentWithSecret: (terms: EscrowTerms, secret: IdPayload, account: AccountInstance) => Promise<[import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
30
+ schema: "network.xyo.boundwitness";
31
+ }>, import("@xyo-network/payload-model").WithMeta<{
32
+ schema: string;
33
+ } & import("@xyo-network/payload-model").PayloadFields>[], import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
34
+ message?: string | undefined;
35
+ name?: string | undefined;
36
+ query?: Lowercase<string> | undefined;
37
+ schema: "network.xyo.error.module";
38
+ sources?: Lowercase<string>[] | undefined;
39
+ }>[]]>;
20
40
  //# sourceMappingURL=createEscrowIntent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createEscrowIntent.d.ts","sourceRoot":"","sources":["../../../src/Escrow/createEscrowIntent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,UAAiB,WAAW,EAAE,WAAW,eAAe;;;;;;;;;;MAGtF,CAAA"}
1
+ {"version":3,"file":"createEscrowIntent.d.ts","sourceRoot":"","sources":["../../../src/Escrow/createEscrowIntent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,UAAiB,WAAW,EAAE,WAAW,eAAe;;;;;;;;;;MAGtF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,UAAiB,WAAW,UAAU,SAAS,WAAW,eAAe;;;;;;;;;;MAGjH,CAAA"}
@@ -1,7 +1,9 @@
1
1
  import { AccountInstance } from '@xyo-network/account-model';
2
+ import { IdPayload } from '@xyo-network/id-payload-plugin';
2
3
  import { EscrowTerms } from './Terms';
3
4
  /**
4
5
  * Creates an escrow intent
6
+ * @deprecated Use createEscrowIntentWithSecret instead
5
7
  * @param terms The payloads describing the terms for the escrow
6
8
  * @param account The account to create the escrow intent with
7
9
  * @returns The escrow intent
@@ -17,4 +19,22 @@ export declare const createEscrowIntent: (terms: EscrowTerms[], account: Account
17
19
  schema: "network.xyo.error.module";
18
20
  sources?: Lowercase<string>[] | undefined;
19
21
  }>[]]>;
22
+ /**
23
+ * Creates an escrow intent (for a buyer or seller) using the supplied secret
24
+ * @param terms The payload describing the terms for the escrow
25
+ * @param secret The secret for the escrow principal party to use for the escrow
26
+ * @param account The account to create the escrow intent with
27
+ * @returns The escrow intent
28
+ */
29
+ export declare const createEscrowIntentWithSecret: (terms: EscrowTerms, secret: IdPayload, account: AccountInstance) => Promise<[import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
30
+ schema: "network.xyo.boundwitness";
31
+ }>, import("@xyo-network/payload-model").WithMeta<{
32
+ schema: string;
33
+ } & import("@xyo-network/payload-model").PayloadFields>[], import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
34
+ message?: string | undefined;
35
+ name?: string | undefined;
36
+ query?: Lowercase<string> | undefined;
37
+ schema: "network.xyo.error.module";
38
+ sources?: Lowercase<string>[] | undefined;
39
+ }>[]]>;
20
40
  //# sourceMappingURL=createEscrowIntent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createEscrowIntent.d.ts","sourceRoot":"","sources":["../../../src/Escrow/createEscrowIntent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,UAAiB,WAAW,EAAE,WAAW,eAAe;;;;;;;;;;MAGtF,CAAA"}
1
+ {"version":3,"file":"createEscrowIntent.d.ts","sourceRoot":"","sources":["../../../src/Escrow/createEscrowIntent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,UAAiB,WAAW,EAAE,WAAW,eAAe;;;;;;;;;;MAGtF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,UAAiB,WAAW,UAAU,SAAS,WAAW,eAAe;;;;;;;;;;MAGjH,CAAA"}
@@ -2,4 +2,5 @@ export * from './createEscrowIntent';
2
2
  export * from './getEscrowSecret';
3
3
  export * from './Schema';
4
4
  export * from './Terms';
5
+ export * from './validators';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Escrow/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Escrow/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
@@ -2,4 +2,5 @@ export * from './createEscrowIntent';
2
2
  export * from './getEscrowSecret';
3
3
  export * from './Schema';
4
4
  export * from './Terms';
5
+ export * from './validators';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Escrow/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Escrow/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
@@ -2,4 +2,5 @@ export * from './createEscrowIntent';
2
2
  export * from './getEscrowSecret';
3
3
  export * from './Schema';
4
4
  export * from './Terms';
5
+ export * from './validators';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Escrow/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Escrow/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './moduleInstanceValidators';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Escrow/validators/common/ModuleInstanceValidators/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './moduleInstanceValidators';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Escrow/validators/common/ModuleInstanceValidators/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './moduleInstanceValidators';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Escrow/validators/common/ModuleInstanceValidators/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { ModuleIdentifier } from '@xyo-network/module-model';
2
+ import { EscrowTerms } from '../../../Terms';
3
+ import { EscrowTermsValueExpression } from '../../types/escrowValidation';
4
+ /**
5
+ * Checks if property value of the escrow terms contains one of the valid moduleIdentifiers
6
+ * @param escrowTerms The escrow terms to validate
7
+ * @param propertyExpression The selector to get the property containing the moduleIdentifier(s) from the escrow terms
8
+ * @param moduleIdentifiers The list of allowed moduleIdentifiers
9
+ * @param required Is the property required to be present
10
+ * @returns True if the property value contains one of the valid moduleIdentifiers
11
+ */
12
+ export declare const moduleIdentifiersContainsOneOf: (escrowTerms: EscrowTerms, propertyExpression: EscrowTermsValueExpression<'appraisalAuthorities' | 'buyer' | 'escrowAgent' | 'paymentAuthorities' | 'seller'>, moduleIdentifiers: ModuleIdentifier[], required?: boolean) => boolean;
13
+ /**
14
+ * Checks if property value of the escrow terms contains all of the valid moduleIdentifiers
15
+ * @param escrowTerms The escrow terms to validate
16
+ * @param selector The selector to get the property containing the moduleIdentifier(s) from the escrow terms
17
+ * @param moduleIdentifiers The list of allowed moduleIdentifiers
18
+ * @param required Is the property required to be present
19
+ * @returns True if the property value contains all of the valid moduleIdentifiers
20
+ */
21
+ export declare const moduleIdentifiersContainsAllOf: (escrowTerms: EscrowTerms, selector: EscrowTermsValueExpression<'appraisalAuthorities' | 'buyer' | 'escrowAgent' | 'paymentAuthorities' | 'seller'>, moduleIdentifiers: ModuleIdentifier[], required?: boolean) => boolean;
22
+ //# sourceMappingURL=moduleInstanceValidators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moduleInstanceValidators.d.ts","sourceRoot":"","sources":["../../../../../../src/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,gBAC5B,WAAW,sBACJ,2BAA2B,sBAAsB,GAAG,OAAO,GAAG,aAAa,GAAG,oBAAoB,GAAG,QAAQ,CAAC,qBAC/G,gBAAgB,EAAE,aAC3B,OAAO,YAQlB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,gBAC5B,WAAW,YACd,2BAA2B,sBAAsB,GAAG,OAAO,GAAG,aAAa,GAAG,oBAAoB,GAAG,QAAQ,CAAC,qBACrG,gBAAgB,EAAE,aAC3B,OAAO,YAQlB,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { ModuleIdentifier } from '@xyo-network/module-model';
2
+ import { EscrowTerms } from '../../../Terms';
3
+ import { EscrowTermsValueExpression } from '../../types/escrowValidation';
4
+ /**
5
+ * Checks if property value of the escrow terms contains one of the valid moduleIdentifiers
6
+ * @param escrowTerms The escrow terms to validate
7
+ * @param propertyExpression The selector to get the property containing the moduleIdentifier(s) from the escrow terms
8
+ * @param moduleIdentifiers The list of allowed moduleIdentifiers
9
+ * @param required Is the property required to be present
10
+ * @returns True if the property value contains one of the valid moduleIdentifiers
11
+ */
12
+ export declare const moduleIdentifiersContainsOneOf: (escrowTerms: EscrowTerms, propertyExpression: EscrowTermsValueExpression<'appraisalAuthorities' | 'buyer' | 'escrowAgent' | 'paymentAuthorities' | 'seller'>, moduleIdentifiers: ModuleIdentifier[], required?: boolean) => boolean;
13
+ /**
14
+ * Checks if property value of the escrow terms contains all of the valid moduleIdentifiers
15
+ * @param escrowTerms The escrow terms to validate
16
+ * @param selector The selector to get the property containing the moduleIdentifier(s) from the escrow terms
17
+ * @param moduleIdentifiers The list of allowed moduleIdentifiers
18
+ * @param required Is the property required to be present
19
+ * @returns True if the property value contains all of the valid moduleIdentifiers
20
+ */
21
+ export declare const moduleIdentifiersContainsAllOf: (escrowTerms: EscrowTerms, selector: EscrowTermsValueExpression<'appraisalAuthorities' | 'buyer' | 'escrowAgent' | 'paymentAuthorities' | 'seller'>, moduleIdentifiers: ModuleIdentifier[], required?: boolean) => boolean;
22
+ //# sourceMappingURL=moduleInstanceValidators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moduleInstanceValidators.d.ts","sourceRoot":"","sources":["../../../../../../src/Escrow/validators/common/ModuleInstanceValidators/moduleInstanceValidators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,gBAC5B,WAAW,sBACJ,2BAA2B,sBAAsB,GAAG,OAAO,GAAG,aAAa,GAAG,oBAAoB,GAAG,QAAQ,CAAC,qBAC/G,gBAAgB,EAAE,aAC3B,OAAO,YAQlB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,gBAC5B,WAAW,YACd,2BAA2B,sBAAsB,GAAG,OAAO,GAAG,aAAa,GAAG,oBAAoB,GAAG,QAAQ,CAAC,qBACrG,gBAAgB,EAAE,aAC3B,OAAO,YAQlB,CAAA"}