@ixo/openhands-sdk 0.3.0 → 0.4.1

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 (487) hide show
  1. package/dist/cjs/campaign/campaign.js +3 -2
  2. package/dist/cjs/campaign/campaign.js.map +1 -1
  3. package/dist/cjs/campaign/funding.d.ts.map +1 -1
  4. package/dist/cjs/campaign/funding.js +4 -1
  5. package/dist/cjs/campaign/funding.js.map +1 -1
  6. package/dist/cjs/campaign/pool.d.ts.map +1 -1
  7. package/dist/cjs/campaign/pool.js +4 -3
  8. package/dist/cjs/campaign/pool.js.map +1 -1
  9. package/dist/cjs/campaign/record.d.ts.map +1 -1
  10. package/dist/cjs/campaign/record.js +1 -1
  11. package/dist/cjs/campaign/record.js.map +1 -1
  12. package/dist/cjs/campaign/spots.d.ts.map +1 -1
  13. package/dist/cjs/campaign/spots.js +10 -8
  14. package/dist/cjs/campaign/spots.js.map +1 -1
  15. package/dist/cjs/campaign/treasurySends.d.ts.map +1 -1
  16. package/dist/cjs/campaign/treasurySends.js +3 -3
  17. package/dist/cjs/campaign/treasurySends.js.map +1 -1
  18. package/dist/cjs/chain/ask.d.ts +104 -14
  19. package/dist/cjs/chain/ask.d.ts.map +1 -1
  20. package/dist/cjs/chain/ask.js +151 -78
  21. package/dist/cjs/chain/ask.js.map +1 -1
  22. package/dist/cjs/chain/askImage.d.ts +19 -0
  23. package/dist/cjs/chain/askImage.d.ts.map +1 -0
  24. package/dist/cjs/chain/askImage.js +56 -0
  25. package/dist/cjs/chain/askImage.js.map +1 -0
  26. package/dist/cjs/chain/bridge.d.ts +7 -33
  27. package/dist/cjs/chain/bridge.d.ts.map +1 -1
  28. package/dist/cjs/chain/bridge.js +10 -25
  29. package/dist/cjs/chain/bridge.js.map +1 -1
  30. package/dist/cjs/chain/claimSubmit.d.ts +15 -0
  31. package/dist/cjs/chain/claimSubmit.d.ts.map +1 -0
  32. package/dist/cjs/chain/claimSubmit.js +14 -0
  33. package/dist/cjs/chain/claimSubmit.js.map +1 -0
  34. package/dist/cjs/chain/delegate.d.ts +52 -7
  35. package/dist/cjs/chain/delegate.d.ts.map +1 -1
  36. package/dist/cjs/chain/delegate.js +66 -14
  37. package/dist/cjs/chain/delegate.js.map +1 -1
  38. package/dist/cjs/chain/domainIndexer.d.ts +26 -0
  39. package/dist/cjs/chain/domainIndexer.d.ts.map +1 -0
  40. package/dist/cjs/chain/domainIndexer.js +51 -0
  41. package/dist/cjs/chain/domainIndexer.js.map +1 -0
  42. package/dist/cjs/chain/entityShape.d.ts +31 -2
  43. package/dist/cjs/chain/entityShape.d.ts.map +1 -1
  44. package/dist/cjs/chain/entityShape.js +71 -8
  45. package/dist/cjs/chain/entityShape.js.map +1 -1
  46. package/dist/cjs/chain/env.d.ts +33 -3
  47. package/dist/cjs/chain/env.d.ts.map +1 -1
  48. package/dist/cjs/chain/env.js +38 -6
  49. package/dist/cjs/chain/env.js.map +1 -1
  50. package/dist/cjs/chain/guest.d.ts +14 -0
  51. package/dist/cjs/chain/guest.d.ts.map +1 -1
  52. package/dist/cjs/chain/guest.js +9 -9
  53. package/dist/cjs/chain/guest.js.map +1 -1
  54. package/dist/cjs/chain/money.d.ts +53 -2
  55. package/dist/cjs/chain/money.d.ts.map +1 -1
  56. package/dist/cjs/chain/money.js +73 -6
  57. package/dist/cjs/chain/money.js.map +1 -1
  58. package/dist/cjs/chain/orgReviewBilling.d.ts +124 -0
  59. package/dist/cjs/chain/orgReviewBilling.d.ts.map +1 -0
  60. package/dist/cjs/chain/orgReviewBilling.js +290 -0
  61. package/dist/cjs/chain/orgReviewBilling.js.map +1 -0
  62. package/dist/cjs/chain/orgReviewBillingSign.d.ts +63 -0
  63. package/dist/cjs/chain/orgReviewBillingSign.d.ts.map +1 -0
  64. package/dist/cjs/chain/orgReviewBillingSign.js +166 -0
  65. package/dist/cjs/chain/orgReviewBillingSign.js.map +1 -0
  66. package/dist/cjs/chain/payoutSettings.d.ts +97 -0
  67. package/dist/cjs/chain/payoutSettings.d.ts.map +1 -0
  68. package/dist/cjs/chain/payoutSettings.js +123 -0
  69. package/dist/cjs/chain/payoutSettings.js.map +1 -0
  70. package/dist/cjs/chain/payoutTerms.d.ts +72 -0
  71. package/dist/cjs/chain/payoutTerms.d.ts.map +1 -0
  72. package/dist/cjs/chain/payoutTerms.js +141 -0
  73. package/dist/cjs/chain/payoutTerms.js.map +1 -0
  74. package/dist/cjs/chain/query.d.ts +14 -0
  75. package/dist/cjs/chain/query.d.ts.map +1 -1
  76. package/dist/cjs/chain/query.js +27 -0
  77. package/dist/cjs/chain/query.js.map +1 -1
  78. package/dist/cjs/chain/reviewBilling.d.ts +86 -0
  79. package/dist/cjs/chain/reviewBilling.d.ts.map +1 -0
  80. package/dist/cjs/chain/reviewBilling.js +265 -0
  81. package/dist/cjs/chain/reviewBilling.js.map +1 -0
  82. package/dist/cjs/chain/store.d.ts +7 -6
  83. package/dist/cjs/chain/store.d.ts.map +1 -1
  84. package/dist/cjs/chain/store.js +7 -6
  85. package/dist/cjs/chain/store.js.map +1 -1
  86. package/dist/cjs/chain/subscription.d.ts +0 -7
  87. package/dist/cjs/chain/subscription.d.ts.map +1 -1
  88. package/dist/cjs/chain/subscription.js +4 -47
  89. package/dist/cjs/chain/subscription.js.map +1 -1
  90. package/dist/cjs/chain/takeBack.d.ts +12 -0
  91. package/dist/cjs/chain/takeBack.d.ts.map +1 -1
  92. package/dist/cjs/chain/takeBack.js +24 -10
  93. package/dist/cjs/chain/takeBack.js.map +1 -1
  94. package/dist/cjs/chain/why.d.ts +44 -0
  95. package/dist/cjs/chain/why.d.ts.map +1 -0
  96. package/dist/cjs/chain/why.js +153 -0
  97. package/dist/cjs/chain/why.js.map +1 -0
  98. package/dist/cjs/chain/whyMint.d.ts +8 -0
  99. package/dist/cjs/chain/whyMint.d.ts.map +1 -0
  100. package/dist/cjs/chain/whyMint.js +53 -0
  101. package/dist/cjs/chain/whyMint.js.map +1 -0
  102. package/dist/cjs/chain.d.ts +8 -4
  103. package/dist/cjs/chain.d.ts.map +1 -1
  104. package/dist/cjs/chain.js +21 -9
  105. package/dist/cjs/chain.js.map +1 -1
  106. package/dist/cjs/config.d.ts +11 -5
  107. package/dist/cjs/config.d.ts.map +1 -1
  108. package/dist/cjs/config.js +2 -0
  109. package/dist/cjs/config.js.map +1 -1
  110. package/dist/cjs/data/askEntity.d.ts +40 -0
  111. package/dist/cjs/data/askEntity.d.ts.map +1 -0
  112. package/dist/cjs/data/askEntity.js +48 -0
  113. package/dist/cjs/data/askEntity.js.map +1 -0
  114. package/dist/cjs/data/askLinks.d.ts +6 -0
  115. package/dist/cjs/data/askLinks.d.ts.map +1 -0
  116. package/dist/cjs/data/askLinks.js +21 -0
  117. package/dist/cjs/data/askLinks.js.map +1 -0
  118. package/dist/cjs/data/board/assemble.d.ts.map +1 -1
  119. package/dist/cjs/data/board/assemble.js +15 -2
  120. package/dist/cjs/data/board/assemble.js.map +1 -1
  121. package/dist/cjs/data/board/facts.d.ts +11 -0
  122. package/dist/cjs/data/board/facts.d.ts.map +1 -1
  123. package/dist/cjs/data/board/facts.js +16 -0
  124. package/dist/cjs/data/board/facts.js.map +1 -1
  125. package/dist/cjs/data/board/read.d.ts.map +1 -1
  126. package/dist/cjs/data/board/read.js +2 -1
  127. package/dist/cjs/data/board/read.js.map +1 -1
  128. package/dist/cjs/data/board/types.d.ts +9 -0
  129. package/dist/cjs/data/board/types.d.ts.map +1 -1
  130. package/dist/cjs/data/board/types.js.map +1 -1
  131. package/dist/cjs/data/docs.d.ts +10 -2
  132. package/dist/cjs/data/docs.d.ts.map +1 -1
  133. package/dist/cjs/data/docs.js +43 -3
  134. package/dist/cjs/data/docs.js.map +1 -1
  135. package/dist/cjs/data/format.js +1 -1
  136. package/dist/cjs/data/format.js.map +1 -1
  137. package/dist/cjs/data/install.d.ts +43 -2
  138. package/dist/cjs/data/install.d.ts.map +1 -1
  139. package/dist/cjs/data/install.js +60 -10
  140. package/dist/cjs/data/install.js.map +1 -1
  141. package/dist/cjs/data/oracleInfo.d.ts +6 -1
  142. package/dist/cjs/data/oracleInfo.d.ts.map +1 -1
  143. package/dist/cjs/data/oracleInfo.js +22 -3
  144. package/dist/cjs/data/oracleInfo.js.map +1 -1
  145. package/dist/cjs/data/oracles.d.ts +62 -5
  146. package/dist/cjs/data/oracles.d.ts.map +1 -1
  147. package/dist/cjs/data/oracles.js +90 -11
  148. package/dist/cjs/data/oracles.js.map +1 -1
  149. package/dist/cjs/data/orgPayouts.d.ts +87 -0
  150. package/dist/cjs/data/orgPayouts.d.ts.map +1 -0
  151. package/dist/cjs/data/orgPayouts.js +183 -0
  152. package/dist/cjs/data/orgPayouts.js.map +1 -0
  153. package/dist/cjs/data/plans.d.ts +8 -0
  154. package/dist/cjs/data/plans.d.ts.map +1 -0
  155. package/dist/cjs/data/plans.js +12 -0
  156. package/dist/cjs/data/plans.js.map +1 -0
  157. package/dist/cjs/data/profiles.d.ts +20 -0
  158. package/dist/cjs/data/profiles.d.ts.map +1 -1
  159. package/dist/cjs/data/profiles.js +63 -4
  160. package/dist/cjs/data/profiles.js.map +1 -1
  161. package/dist/cjs/data/receipt.d.ts +7 -0
  162. package/dist/cjs/data/receipt.d.ts.map +1 -1
  163. package/dist/cjs/data/receipt.js +19 -4
  164. package/dist/cjs/data/receipt.js.map +1 -1
  165. package/dist/cjs/data/resources.d.ts +3 -0
  166. package/dist/cjs/data/resources.d.ts.map +1 -1
  167. package/dist/cjs/data/resources.js +4 -1
  168. package/dist/cjs/data/resources.js.map +1 -1
  169. package/dist/cjs/data/threads.d.ts +14 -0
  170. package/dist/cjs/data/threads.d.ts.map +1 -1
  171. package/dist/cjs/data/threads.js +32 -20
  172. package/dist/cjs/data/threads.js.map +1 -1
  173. package/dist/cjs/data/trace.d.ts +8 -0
  174. package/dist/cjs/data/trace.d.ts.map +1 -1
  175. package/dist/cjs/data/trace.js +1 -1
  176. package/dist/cjs/data/trace.js.map +1 -1
  177. package/dist/cjs/data/traceWords.d.ts +4 -1
  178. package/dist/cjs/data/traceWords.d.ts.map +1 -1
  179. package/dist/cjs/data/traceWords.js +8 -2
  180. package/dist/cjs/data/traceWords.js.map +1 -1
  181. package/dist/cjs/data/why.d.ts +38 -0
  182. package/dist/cjs/data/why.d.ts.map +1 -0
  183. package/dist/cjs/data/why.js +86 -0
  184. package/dist/cjs/data/why.js.map +1 -0
  185. package/dist/cjs/data/whyReceipt.d.ts +33 -0
  186. package/dist/cjs/data/whyReceipt.d.ts.map +1 -0
  187. package/dist/cjs/data/whyReceipt.js +291 -0
  188. package/dist/cjs/data/whyReceipt.js.map +1 -0
  189. package/dist/cjs/geo/exifcarry.d.ts +9 -0
  190. package/dist/cjs/geo/exifcarry.d.ts.map +1 -1
  191. package/dist/cjs/geo/exifcarry.js +35 -0
  192. package/dist/cjs/geo/exifcarry.js.map +1 -1
  193. package/dist/cjs/geo/geohash.d.ts +11 -0
  194. package/dist/cjs/geo/geohash.d.ts.map +1 -1
  195. package/dist/cjs/geo/geohash.js +53 -3
  196. package/dist/cjs/geo/geohash.js.map +1 -1
  197. package/dist/cjs/geo/provenance.d.ts +41 -0
  198. package/dist/cjs/geo/provenance.d.ts.map +1 -0
  199. package/dist/cjs/geo/provenance.js +134 -0
  200. package/dist/cjs/geo/provenance.js.map +1 -0
  201. package/dist/cjs/rubric/bridge.d.ts +98 -2
  202. package/dist/cjs/rubric/bridge.d.ts.map +1 -1
  203. package/dist/cjs/rubric/bridge.js +132 -15
  204. package/dist/cjs/rubric/bridge.js.map +1 -1
  205. package/dist/cjs/rubric/card.d.ts +28 -14
  206. package/dist/cjs/rubric/card.d.ts.map +1 -1
  207. package/dist/cjs/rubric/card.js +28 -7
  208. package/dist/cjs/rubric/card.js.map +1 -1
  209. package/dist/cjs/rubric/claimForm.d.ts +116 -0
  210. package/dist/cjs/rubric/claimForm.d.ts.map +1 -1
  211. package/dist/cjs/rubric/claimForm.js +12 -1
  212. package/dist/cjs/rubric/claimForm.js.map +1 -1
  213. package/dist/cjs/rubric/compose.d.ts +5 -0
  214. package/dist/cjs/rubric/compose.d.ts.map +1 -1
  215. package/dist/cjs/rubric/compose.js +9 -3
  216. package/dist/cjs/rubric/compose.js.map +1 -1
  217. package/dist/cjs/rubric/gateMet.d.ts.map +1 -1
  218. package/dist/cjs/rubric/gateMet.js +4 -2
  219. package/dist/cjs/rubric/gateMet.js.map +1 -1
  220. package/dist/cjs/rubric/leg.d.ts +2 -2
  221. package/dist/cjs/rubric/leg.d.ts.map +1 -1
  222. package/dist/cjs/rubric/leg.js +7 -5
  223. package/dist/cjs/rubric/leg.js.map +1 -1
  224. package/dist/cjs/rubric/marketPlan.d.ts +41 -3
  225. package/dist/cjs/rubric/marketPlan.d.ts.map +1 -1
  226. package/dist/cjs/rubric/marketPlan.js +110 -10
  227. package/dist/cjs/rubric/marketPlan.js.map +1 -1
  228. package/dist/cjs/rubric/observation.d.ts +56 -14
  229. package/dist/cjs/rubric/observation.d.ts.map +1 -1
  230. package/dist/cjs/rubric/observation.js +61 -11
  231. package/dist/cjs/rubric/observation.js.map +1 -1
  232. package/dist/cjs/rubric/survey.d.ts +65 -0
  233. package/dist/cjs/rubric/survey.d.ts.map +1 -0
  234. package/dist/cjs/rubric/survey.js +101 -0
  235. package/dist/cjs/rubric/survey.js.map +1 -0
  236. package/dist/cjs/rubric/terms.d.ts +7 -0
  237. package/dist/cjs/rubric/terms.d.ts.map +1 -1
  238. package/dist/cjs/rubric/terms.js +12 -1
  239. package/dist/cjs/rubric/terms.js.map +1 -1
  240. package/dist/cjs/rubric.d.ts +1 -1
  241. package/dist/cjs/rubric.d.ts.map +1 -1
  242. package/dist/cjs/rubric.js +4 -2
  243. package/dist/cjs/rubric.js.map +1 -1
  244. package/dist/esm/campaign/campaign.js +4 -3
  245. package/dist/esm/campaign/campaign.js.map +1 -1
  246. package/dist/esm/campaign/funding.d.ts.map +1 -1
  247. package/dist/esm/campaign/funding.js +5 -2
  248. package/dist/esm/campaign/funding.js.map +1 -1
  249. package/dist/esm/campaign/pool.d.ts.map +1 -1
  250. package/dist/esm/campaign/pool.js +4 -3
  251. package/dist/esm/campaign/pool.js.map +1 -1
  252. package/dist/esm/campaign/record.d.ts.map +1 -1
  253. package/dist/esm/campaign/record.js +2 -2
  254. package/dist/esm/campaign/record.js.map +1 -1
  255. package/dist/esm/campaign/spots.d.ts.map +1 -1
  256. package/dist/esm/campaign/spots.js +10 -8
  257. package/dist/esm/campaign/spots.js.map +1 -1
  258. package/dist/esm/campaign/treasurySends.d.ts.map +1 -1
  259. package/dist/esm/campaign/treasurySends.js +4 -4
  260. package/dist/esm/campaign/treasurySends.js.map +1 -1
  261. package/dist/esm/chain/ask.d.ts +104 -14
  262. package/dist/esm/chain/ask.d.ts.map +1 -1
  263. package/dist/esm/chain/ask.js +152 -80
  264. package/dist/esm/chain/ask.js.map +1 -1
  265. package/dist/esm/chain/askImage.d.ts +19 -0
  266. package/dist/esm/chain/askImage.d.ts.map +1 -0
  267. package/dist/esm/chain/askImage.js +50 -0
  268. package/dist/esm/chain/askImage.js.map +1 -0
  269. package/dist/esm/chain/bridge.d.ts +7 -33
  270. package/dist/esm/chain/bridge.d.ts.map +1 -1
  271. package/dist/esm/chain/bridge.js +10 -24
  272. package/dist/esm/chain/bridge.js.map +1 -1
  273. package/dist/esm/chain/claimSubmit.d.ts +15 -0
  274. package/dist/esm/chain/claimSubmit.d.ts.map +1 -0
  275. package/dist/esm/chain/claimSubmit.js +10 -0
  276. package/dist/esm/chain/claimSubmit.js.map +1 -0
  277. package/dist/esm/chain/delegate.d.ts +52 -7
  278. package/dist/esm/chain/delegate.d.ts.map +1 -1
  279. package/dist/esm/chain/delegate.js +64 -13
  280. package/dist/esm/chain/delegate.js.map +1 -1
  281. package/dist/esm/chain/domainIndexer.d.ts +26 -0
  282. package/dist/esm/chain/domainIndexer.d.ts.map +1 -0
  283. package/dist/esm/chain/domainIndexer.js +48 -0
  284. package/dist/esm/chain/domainIndexer.js.map +1 -0
  285. package/dist/esm/chain/entityShape.d.ts +31 -2
  286. package/dist/esm/chain/entityShape.d.ts.map +1 -1
  287. package/dist/esm/chain/entityShape.js +65 -7
  288. package/dist/esm/chain/entityShape.js.map +1 -1
  289. package/dist/esm/chain/env.d.ts +33 -3
  290. package/dist/esm/chain/env.d.ts.map +1 -1
  291. package/dist/esm/chain/env.js +33 -5
  292. package/dist/esm/chain/env.js.map +1 -1
  293. package/dist/esm/chain/guest.d.ts +14 -0
  294. package/dist/esm/chain/guest.d.ts.map +1 -1
  295. package/dist/esm/chain/guest.js +7 -8
  296. package/dist/esm/chain/guest.js.map +1 -1
  297. package/dist/esm/chain/money.d.ts +53 -2
  298. package/dist/esm/chain/money.d.ts.map +1 -1
  299. package/dist/esm/chain/money.js +63 -4
  300. package/dist/esm/chain/money.js.map +1 -1
  301. package/dist/esm/chain/orgReviewBilling.d.ts +124 -0
  302. package/dist/esm/chain/orgReviewBilling.d.ts.map +1 -0
  303. package/dist/esm/chain/orgReviewBilling.js +241 -0
  304. package/dist/esm/chain/orgReviewBilling.js.map +1 -0
  305. package/dist/esm/chain/orgReviewBillingSign.d.ts +63 -0
  306. package/dist/esm/chain/orgReviewBillingSign.d.ts.map +1 -0
  307. package/dist/esm/chain/orgReviewBillingSign.js +124 -0
  308. package/dist/esm/chain/orgReviewBillingSign.js.map +1 -0
  309. package/dist/esm/chain/payoutSettings.d.ts +97 -0
  310. package/dist/esm/chain/payoutSettings.d.ts.map +1 -0
  311. package/dist/esm/chain/payoutSettings.js +111 -0
  312. package/dist/esm/chain/payoutSettings.js.map +1 -0
  313. package/dist/esm/chain/payoutTerms.d.ts +72 -0
  314. package/dist/esm/chain/payoutTerms.d.ts.map +1 -0
  315. package/dist/esm/chain/payoutTerms.js +127 -0
  316. package/dist/esm/chain/payoutTerms.js.map +1 -0
  317. package/dist/esm/chain/query.d.ts +14 -0
  318. package/dist/esm/chain/query.d.ts.map +1 -1
  319. package/dist/esm/chain/query.js +25 -0
  320. package/dist/esm/chain/query.js.map +1 -1
  321. package/dist/esm/chain/reviewBilling.d.ts +86 -0
  322. package/dist/esm/chain/reviewBilling.d.ts.map +1 -0
  323. package/dist/esm/chain/reviewBilling.js +215 -0
  324. package/dist/esm/chain/reviewBilling.js.map +1 -0
  325. package/dist/esm/chain/store.d.ts +7 -6
  326. package/dist/esm/chain/store.d.ts.map +1 -1
  327. package/dist/esm/chain/store.js +7 -6
  328. package/dist/esm/chain/store.js.map +1 -1
  329. package/dist/esm/chain/subscription.d.ts +0 -7
  330. package/dist/esm/chain/subscription.d.ts.map +1 -1
  331. package/dist/esm/chain/subscription.js +4 -13
  332. package/dist/esm/chain/subscription.js.map +1 -1
  333. package/dist/esm/chain/takeBack.d.ts +12 -0
  334. package/dist/esm/chain/takeBack.d.ts.map +1 -1
  335. package/dist/esm/chain/takeBack.js +22 -9
  336. package/dist/esm/chain/takeBack.js.map +1 -1
  337. package/dist/esm/chain/why.d.ts +44 -0
  338. package/dist/esm/chain/why.d.ts.map +1 -0
  339. package/dist/esm/chain/why.js +111 -0
  340. package/dist/esm/chain/why.js.map +1 -0
  341. package/dist/esm/chain/whyMint.d.ts +8 -0
  342. package/dist/esm/chain/whyMint.d.ts.map +1 -0
  343. package/dist/esm/chain/whyMint.js +17 -0
  344. package/dist/esm/chain/whyMint.js.map +1 -0
  345. package/dist/esm/chain.d.ts +8 -4
  346. package/dist/esm/chain.d.ts.map +1 -1
  347. package/dist/esm/chain.js +9 -4
  348. package/dist/esm/chain.js.map +1 -1
  349. package/dist/esm/config.d.ts +11 -5
  350. package/dist/esm/config.d.ts.map +1 -1
  351. package/dist/esm/config.js +3 -1
  352. package/dist/esm/config.js.map +1 -1
  353. package/dist/esm/data/askEntity.d.ts +40 -0
  354. package/dist/esm/data/askEntity.d.ts.map +1 -0
  355. package/dist/esm/data/askEntity.js +41 -0
  356. package/dist/esm/data/askEntity.js.map +1 -0
  357. package/dist/esm/data/askLinks.d.ts +6 -0
  358. package/dist/esm/data/askLinks.d.ts.map +1 -0
  359. package/dist/esm/data/askLinks.js +16 -0
  360. package/dist/esm/data/askLinks.js.map +1 -0
  361. package/dist/esm/data/board/assemble.d.ts.map +1 -1
  362. package/dist/esm/data/board/assemble.js +15 -2
  363. package/dist/esm/data/board/assemble.js.map +1 -1
  364. package/dist/esm/data/board/facts.d.ts +11 -0
  365. package/dist/esm/data/board/facts.d.ts.map +1 -1
  366. package/dist/esm/data/board/facts.js +15 -0
  367. package/dist/esm/data/board/facts.js.map +1 -1
  368. package/dist/esm/data/board/read.d.ts.map +1 -1
  369. package/dist/esm/data/board/read.js +2 -1
  370. package/dist/esm/data/board/read.js.map +1 -1
  371. package/dist/esm/data/board/types.d.ts +9 -0
  372. package/dist/esm/data/board/types.d.ts.map +1 -1
  373. package/dist/esm/data/board/types.js.map +1 -1
  374. package/dist/esm/data/docs.d.ts +10 -2
  375. package/dist/esm/data/docs.d.ts.map +1 -1
  376. package/dist/esm/data/docs.js +43 -4
  377. package/dist/esm/data/docs.js.map +1 -1
  378. package/dist/esm/data/format.js +1 -1
  379. package/dist/esm/data/format.js.map +1 -1
  380. package/dist/esm/data/install.d.ts +43 -2
  381. package/dist/esm/data/install.d.ts.map +1 -1
  382. package/dist/esm/data/install.js +56 -9
  383. package/dist/esm/data/install.js.map +1 -1
  384. package/dist/esm/data/oracleInfo.d.ts +6 -1
  385. package/dist/esm/data/oracleInfo.d.ts.map +1 -1
  386. package/dist/esm/data/oracleInfo.js +22 -3
  387. package/dist/esm/data/oracleInfo.js.map +1 -1
  388. package/dist/esm/data/oracles.d.ts +62 -5
  389. package/dist/esm/data/oracles.d.ts.map +1 -1
  390. package/dist/esm/data/oracles.js +87 -12
  391. package/dist/esm/data/oracles.js.map +1 -1
  392. package/dist/esm/data/orgPayouts.d.ts +87 -0
  393. package/dist/esm/data/orgPayouts.d.ts.map +1 -0
  394. package/dist/esm/data/orgPayouts.js +170 -0
  395. package/dist/esm/data/orgPayouts.js.map +1 -0
  396. package/dist/esm/data/plans.d.ts +8 -0
  397. package/dist/esm/data/plans.d.ts.map +1 -0
  398. package/dist/esm/data/plans.js +8 -0
  399. package/dist/esm/data/plans.js.map +1 -0
  400. package/dist/esm/data/profiles.d.ts +20 -0
  401. package/dist/esm/data/profiles.d.ts.map +1 -1
  402. package/dist/esm/data/profiles.js +60 -4
  403. package/dist/esm/data/profiles.js.map +1 -1
  404. package/dist/esm/data/receipt.d.ts +7 -0
  405. package/dist/esm/data/receipt.d.ts.map +1 -1
  406. package/dist/esm/data/receipt.js +20 -5
  407. package/dist/esm/data/receipt.js.map +1 -1
  408. package/dist/esm/data/resources.d.ts +3 -0
  409. package/dist/esm/data/resources.d.ts.map +1 -1
  410. package/dist/esm/data/resources.js +2 -0
  411. package/dist/esm/data/resources.js.map +1 -1
  412. package/dist/esm/data/threads.d.ts +14 -0
  413. package/dist/esm/data/threads.d.ts.map +1 -1
  414. package/dist/esm/data/threads.js +32 -21
  415. package/dist/esm/data/threads.js.map +1 -1
  416. package/dist/esm/data/trace.d.ts +8 -0
  417. package/dist/esm/data/trace.d.ts.map +1 -1
  418. package/dist/esm/data/trace.js +1 -1
  419. package/dist/esm/data/trace.js.map +1 -1
  420. package/dist/esm/data/traceWords.d.ts +4 -1
  421. package/dist/esm/data/traceWords.d.ts.map +1 -1
  422. package/dist/esm/data/traceWords.js +8 -2
  423. package/dist/esm/data/traceWords.js.map +1 -1
  424. package/dist/esm/data/why.d.ts +38 -0
  425. package/dist/esm/data/why.d.ts.map +1 -0
  426. package/dist/esm/data/why.js +78 -0
  427. package/dist/esm/data/why.js.map +1 -0
  428. package/dist/esm/data/whyReceipt.d.ts +33 -0
  429. package/dist/esm/data/whyReceipt.d.ts.map +1 -0
  430. package/dist/esm/data/whyReceipt.js +284 -0
  431. package/dist/esm/data/whyReceipt.js.map +1 -0
  432. package/dist/esm/geo/exifcarry.d.ts +9 -0
  433. package/dist/esm/geo/exifcarry.d.ts.map +1 -1
  434. package/dist/esm/geo/exifcarry.js +34 -0
  435. package/dist/esm/geo/exifcarry.js.map +1 -1
  436. package/dist/esm/geo/geohash.d.ts +11 -0
  437. package/dist/esm/geo/geohash.d.ts.map +1 -1
  438. package/dist/esm/geo/geohash.js +52 -3
  439. package/dist/esm/geo/geohash.js.map +1 -1
  440. package/dist/esm/geo/provenance.d.ts +41 -0
  441. package/dist/esm/geo/provenance.d.ts.map +1 -0
  442. package/dist/esm/geo/provenance.js +129 -0
  443. package/dist/esm/geo/provenance.js.map +1 -0
  444. package/dist/esm/rubric/bridge.d.ts +98 -2
  445. package/dist/esm/rubric/bridge.d.ts.map +1 -1
  446. package/dist/esm/rubric/bridge.js +130 -14
  447. package/dist/esm/rubric/bridge.js.map +1 -1
  448. package/dist/esm/rubric/card.d.ts +28 -14
  449. package/dist/esm/rubric/card.d.ts.map +1 -1
  450. package/dist/esm/rubric/card.js +24 -5
  451. package/dist/esm/rubric/card.js.map +1 -1
  452. package/dist/esm/rubric/claimForm.d.ts +116 -0
  453. package/dist/esm/rubric/claimForm.d.ts.map +1 -1
  454. package/dist/esm/rubric/claimForm.js +11 -0
  455. package/dist/esm/rubric/claimForm.js.map +1 -1
  456. package/dist/esm/rubric/compose.d.ts +5 -0
  457. package/dist/esm/rubric/compose.d.ts.map +1 -1
  458. package/dist/esm/rubric/compose.js +7 -2
  459. package/dist/esm/rubric/compose.js.map +1 -1
  460. package/dist/esm/rubric/gateMet.d.ts.map +1 -1
  461. package/dist/esm/rubric/gateMet.js +4 -2
  462. package/dist/esm/rubric/gateMet.js.map +1 -1
  463. package/dist/esm/rubric/leg.d.ts +2 -2
  464. package/dist/esm/rubric/leg.d.ts.map +1 -1
  465. package/dist/esm/rubric/leg.js +7 -5
  466. package/dist/esm/rubric/leg.js.map +1 -1
  467. package/dist/esm/rubric/marketPlan.d.ts +41 -3
  468. package/dist/esm/rubric/marketPlan.d.ts.map +1 -1
  469. package/dist/esm/rubric/marketPlan.js +107 -9
  470. package/dist/esm/rubric/marketPlan.js.map +1 -1
  471. package/dist/esm/rubric/observation.d.ts +56 -14
  472. package/dist/esm/rubric/observation.d.ts.map +1 -1
  473. package/dist/esm/rubric/observation.js +61 -12
  474. package/dist/esm/rubric/observation.js.map +1 -1
  475. package/dist/esm/rubric/survey.d.ts +65 -0
  476. package/dist/esm/rubric/survey.d.ts.map +1 -0
  477. package/dist/esm/rubric/survey.js +94 -0
  478. package/dist/esm/rubric/survey.js.map +1 -0
  479. package/dist/esm/rubric/terms.d.ts +7 -0
  480. package/dist/esm/rubric/terms.d.ts.map +1 -1
  481. package/dist/esm/rubric/terms.js +12 -2
  482. package/dist/esm/rubric/terms.js.map +1 -1
  483. package/dist/esm/rubric.d.ts +1 -1
  484. package/dist/esm/rubric.d.ts.map +1 -1
  485. package/dist/esm/rubric.js +1 -1
  486. package/dist/esm/rubric.js.map +1 -1
  487. package/package.json +8 -2
@@ -0,0 +1,97 @@
1
+ import { type PayoutRail } from "./payoutTerms.ts";
2
+ /** "chain" is today's on-chain escrow; the others are paid off chain by the facilitator. */
3
+ export type SettingsRail = "chain" | PayoutRail;
4
+ export declare const SETTINGS_RAILS: readonly SettingsRail[];
5
+ export interface PayoutSettings {
6
+ v: 1;
7
+ /** The company's facilitator, as a canonical did:web. Absent when the company pays on chain only. */
8
+ facilitator?: string;
9
+ /** The rails the company pays on, in its own order. */
10
+ rails: SettingsRail[];
11
+ /** The oracles the company allows; the first is the default. */
12
+ oracles: string[];
13
+ /** What off-chain amounts are quoted in. Absent: USD. */
14
+ currency?: "USD" | "USDC";
15
+ }
16
+ export interface SettingsInput {
17
+ /** Needed only for the off-chain rails (usdc_base, stripe); blank or absent for a chain-only company. */
18
+ facilitator?: string;
19
+ rails: string[];
20
+ oracles: string[];
21
+ currency?: string;
22
+ }
23
+ export declare function buildPayoutSettings(input: SettingsInput): PayoutSettings;
24
+ /** The document as stored, believed field by field; anything else is null. */
25
+ export declare function readPayoutSettings(doc: unknown): PayoutSettings | null;
26
+ /** The exact bytes that are published and hashed. */
27
+ export declare const payoutSettingsJson: (settings: PayoutSettings) => string;
28
+ export declare const payoutSettingsCid: (settings: PayoutSettings) => Promise<string>;
29
+ /** The linked resource on the org's IID; the endpoint is the https address its store gave, as `#payoutTerms`. */
30
+ export declare const payoutSettingsResource: (ref: {
31
+ cid: string;
32
+ url?: string;
33
+ uri?: string;
34
+ }) => {
35
+ type: string;
36
+ id: string;
37
+ description: string;
38
+ mediaType: string;
39
+ serviceEndpoint: string;
40
+ proof: string;
41
+ encrypted: string;
42
+ right: string;
43
+ };
44
+ /** Where an org's settings are, found by id suffix. */
45
+ export declare function payoutSettingsRef(linked: {
46
+ id?: string | null;
47
+ proof?: string | null;
48
+ }[] | null | undefined): {
49
+ id: string;
50
+ cid: string;
51
+ } | null;
52
+ /** The fetched bytes, believed only when they hash to the anchored CID. */
53
+ export declare function verifiedPayoutSettings(text: string | null, cid: string): Promise<PayoutSettings | null>;
54
+ /**
55
+ * Whether `address` may edit this IID: a key in its `authentication` with that
56
+ * account (a `controller` entry is not enough — the chain answers code 1106).
57
+ * The org-admin check of OpenHands HQ, shared with the worker's shaped post.
58
+ * shortcut: matches on blockchainAccountID only, as every key minted by createIidVerificationMethods has one; upgrade if an org authenticates by bare public key.
59
+ */
60
+ export declare function canEditIid(doc: {
61
+ verificationMethod?: {
62
+ id?: string;
63
+ blockchainAccountID?: string;
64
+ }[] | null;
65
+ authentication?: string[] | null;
66
+ } | null | undefined, address: string): boolean;
67
+ /** The settings edit, as one transaction's IID messages: the old resource out (when there is one) and the new one in. */
68
+ export declare function replaceSettingsMsgs(org: string, signer: string, stored: {
69
+ cid: string;
70
+ url: string;
71
+ }, oldId: string | null): ({
72
+ typeUrl: "/ixo.iid.v1beta1.MsgDeleteLinkedResource";
73
+ value: {
74
+ id: string;
75
+ resourceId: string;
76
+ signer: string;
77
+ linkedResource?: undefined;
78
+ };
79
+ } | {
80
+ typeUrl: "/ixo.iid.v1beta1.MsgAddLinkedResource";
81
+ value: {
82
+ id: string;
83
+ signer: string;
84
+ linkedResource: {
85
+ type: string;
86
+ id: string;
87
+ description: string;
88
+ mediaType: string;
89
+ serviceEndpoint: string;
90
+ proof: string;
91
+ encrypted: string;
92
+ right: string;
93
+ };
94
+ resourceId?: undefined;
95
+ };
96
+ })[];
97
+ //# sourceMappingURL=payoutSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payoutSettings.d.ts","sourceRoot":"","sources":["../../../src/chain/payoutSettings.ts"],"names":[],"mappings":"AAYA,OAAO,EAA+B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhF,4FAA4F;AAC5F,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;AAChD,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAAqC,CAAC;AAMxF,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,CAAC,CAAC;IACL,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,gEAAgE;IAChE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,yGAAyG;IACzG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAexE;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAatE;AAED,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,GAAI,UAAU,cAAc,KAAG,MAAkC,CAAC;AAEjG,eAAO,MAAM,iBAAiB,GAAI,UAAU,cAAc,KAAG,OAAO,CAAC,MAAM,CAA4C,CAAC;AAExH,iHAAiH;AACjH,eAAO,MAAM,sBAAsB,GAAI,KAAK;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;CASrF,CAAC;AAEH,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGhJ;AAED,2EAA2E;AAC3E,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAO7G;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE;IAAE,kBAAkB,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAI9L;AAED,yHAAyH;AACzH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;KAK1H"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.payoutSettingsResource = exports.payoutSettingsCid = exports.payoutSettingsJson = exports.SETTINGS_RAILS = void 0;
4
+ exports.buildPayoutSettings = buildPayoutSettings;
5
+ exports.readPayoutSettings = readPayoutSettings;
6
+ exports.payoutSettingsRef = payoutSettingsRef;
7
+ exports.verifiedPayoutSettings = verifiedPayoutSettings;
8
+ exports.canEditIid = canEditIid;
9
+ exports.replaceSettingsMsgs = replaceSettingsMsgs;
10
+ /**
11
+ * A company's payout settings (OpenHands HQ), on the org's own chain record.
12
+ *
13
+ * One linked resource on the org's IID, `{orgDid}#payoutSettings`, points at
14
+ * this small JSON document by the https address its store gave (Vault or
15
+ * gateway) with the CID as its proof — stored
16
+ * and anchored exactly as `#payoutTerms` is (payoutTerms.ts). An ask posted for
17
+ * the org builds its `#payoutTerms` from these plus the poster's per-ask
18
+ * choices. Strict: unknown fields, a bad value or a CID that is not the bytes'
19
+ * own read as no settings at all.
20
+ */
21
+ const cid_ts_1 = require("../udid/cid.js");
22
+ const payoutTerms_ts_1 = require("./payoutTerms.js");
23
+ exports.SETTINGS_RAILS = ["chain", "usdc_base", "stripe"];
24
+ const KEYS = ["v", "facilitator", "rails", "oracles", "currency"];
25
+ const MAX_ORACLES = 10;
26
+ // An oracle the company allows: its did:web (IXO's and hosted oracles) or its on-chain entity.
27
+ const ORACLE = /^(did:web:[a-z0-9.-]+(%3A\d+)?(:[A-Za-z0-9._~-]+)*|did:ixo:entity:[0-9a-f]{32})$/;
28
+ function buildPayoutSettings(input) {
29
+ const rails = [...new Set(input.rails)];
30
+ if (rails.length === 0 || !rails.every((rail) => exports.SETTINGS_RAILS.includes(rail)))
31
+ throw new Error(`rails are some of ${exports.SETTINGS_RAILS.join(", ")}, at least one`);
32
+ const oracles = [...new Set(input.oracles.map((one) => one.trim()).filter(Boolean))];
33
+ if (oracles.length === 0)
34
+ throw new Error("name at least one oracle");
35
+ if (oracles.length > MAX_ORACLES)
36
+ throw new Error(`at most ${MAX_ORACLES} oracles`);
37
+ const bad = oracles.find((one) => !ORACLE.test(one));
38
+ if (bad)
39
+ throw new Error(`an oracle is a did:web or a did:ixo:entity, not ${bad}`);
40
+ if (input.currency !== undefined && input.currency !== "USD" && input.currency !== "USDC")
41
+ throw new Error(`currency is USD or USDC, not ${input.currency}`);
42
+ if (input.currency === "USDC" && rails.includes("stripe"))
43
+ throw new Error("Stripe pays in USD");
44
+ const facilitator = input.facilitator?.trim();
45
+ const offChain = rails.filter((rail) => rail !== "chain");
46
+ if (!facilitator && offChain.length)
47
+ throw new Error(`${offChain.join(" and ")} ${offChain.length === 1 ? "is" : "are"} paid by the company's facilitator: name one`);
48
+ /* Key order is the stored bytes' (and so the CID's): a doc with a facilitator reads exactly as it was written. */
49
+ return { v: 1, ...(facilitator ? { facilitator: (0, payoutTerms_ts_1.facilitatorDid)(facilitator) } : {}), rails, oracles, ...(input.currency ? { currency: input.currency } : {}) };
50
+ }
51
+ /** The document as stored, believed field by field; anything else is null. */
52
+ function readPayoutSettings(doc) {
53
+ if (!doc || typeof doc !== "object" || Array.isArray(doc))
54
+ return null;
55
+ if (Object.keys(doc).some((key) => !KEYS.includes(key)))
56
+ return null;
57
+ const d = doc;
58
+ if (d.v !== 1 || !Array.isArray(d.rails) || !Array.isArray(d.oracles) || (d.facilitator !== undefined && typeof d.facilitator !== "string"))
59
+ return null;
60
+ if (!d.rails.every((rail) => typeof rail === "string") || !d.oracles.every((one) => typeof one === "string"))
61
+ return null;
62
+ try {
63
+ const built = buildPayoutSettings({ ...(d.facilitator !== undefined ? { facilitator: d.facilitator } : {}), rails: d.rails, oracles: d.oracles, ...(d.currency !== undefined ? { currency: d.currency } : {}) });
64
+ // Canonical only: what was stored must be what the builder writes, or a reader and the facilitator could disagree.
65
+ return (0, exports.payoutSettingsJson)(built) === JSON.stringify(doc) ? built : null;
66
+ }
67
+ catch {
68
+ return null;
69
+ }
70
+ }
71
+ /** The exact bytes that are published and hashed. */
72
+ const payoutSettingsJson = (settings) => JSON.stringify(settings);
73
+ exports.payoutSettingsJson = payoutSettingsJson;
74
+ const payoutSettingsCid = (settings) => (0, cid_ts_1.cidOfText)((0, exports.payoutSettingsJson)(settings));
75
+ exports.payoutSettingsCid = payoutSettingsCid;
76
+ /** The linked resource on the org's IID; the endpoint is the https address its store gave, as `#payoutTerms`. */
77
+ const payoutSettingsResource = (ref) => ({
78
+ type: "PayoutSettings",
79
+ id: "{id}#payoutSettings",
80
+ description: "How this organisation pays for answers",
81
+ mediaType: "application/json",
82
+ serviceEndpoint: (0, payoutTerms_ts_1.storedHttps)(ref, "#payoutSettings"),
83
+ proof: ref.cid,
84
+ encrypted: "false",
85
+ right: ""
86
+ });
87
+ exports.payoutSettingsResource = payoutSettingsResource;
88
+ /** Where an org's settings are, found by id suffix. */
89
+ function payoutSettingsRef(linked) {
90
+ const found = (linked ?? []).find((one) => typeof one?.id === "string" && one.id.endsWith("#payoutSettings"));
91
+ return found?.id && found.proof ? { id: found.id, cid: found.proof } : null;
92
+ }
93
+ /** The fetched bytes, believed only when they hash to the anchored CID. */
94
+ async function verifiedPayoutSettings(text, cid) {
95
+ if (text === null || (await (0, cid_ts_1.cidOfText)(text)) !== cid)
96
+ return null;
97
+ try {
98
+ return readPayoutSettings(JSON.parse(text));
99
+ }
100
+ catch {
101
+ return null;
102
+ }
103
+ }
104
+ /**
105
+ * Whether `address` may edit this IID: a key in its `authentication` with that
106
+ * account (a `controller` entry is not enough — the chain answers code 1106).
107
+ * The org-admin check of OpenHands HQ, shared with the worker's shaped post.
108
+ * shortcut: matches on blockchainAccountID only, as every key minted by createIidVerificationMethods has one; upgrade if an org authenticates by bare public key.
109
+ */
110
+ function canEditIid(doc, address) {
111
+ if (!doc || !address)
112
+ return false;
113
+ const authn = new Set(doc.authentication ?? []);
114
+ return (doc.verificationMethod ?? []).some((method) => authn.has(method.id ?? "") && (method.blockchainAccountID ?? "").split(":").pop() === address);
115
+ }
116
+ /** The settings edit, as one transaction's IID messages: the old resource out (when there is one) and the new one in. */
117
+ function replaceSettingsMsgs(org, signer, stored, oldId) {
118
+ return [
119
+ ...(oldId ? [{ typeUrl: "/ixo.iid.v1beta1.MsgDeleteLinkedResource", value: { id: org, resourceId: oldId, signer } }] : []),
120
+ { typeUrl: "/ixo.iid.v1beta1.MsgAddLinkedResource", value: { id: org, signer, linkedResource: (0, exports.payoutSettingsResource)(stored) } }
121
+ ];
122
+ }
123
+ //# sourceMappingURL=payoutSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payoutSettings.js","sourceRoot":"","sources":["../../../src/chain/payoutSettings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ export type PayoutRail = "usdc_base" | "stripe";
2
+ export interface PayoutTerms {
3
+ v: 1;
4
+ /** The organisation that pays: its did:ixo:entity, the collection's `entity`. */
5
+ org: string;
6
+ /** The org's facilitator, as a canonical did:web. */
7
+ facilitator: string;
8
+ rails: PayoutRail[];
9
+ /** Per approved answer, a decimal string: two decimals for USD, up to six for USDC. */
10
+ amount: string;
11
+ /** USD when the rails include stripe; USDC only with usdc_base alone (which also pays USD 1:1). */
12
+ currency: "USD" | "USDC";
13
+ payee: "submitter";
14
+ /** A hint, not authority: the org's trusted-oracle list decides. */
15
+ oracle?: string;
16
+ }
17
+ export interface PayoutInput {
18
+ org: string;
19
+ facilitator: string;
20
+ rail: PayoutRail;
21
+ amount: number;
22
+ currency: string;
23
+ oracle?: string;
24
+ }
25
+ /** `https://host/any/path` or `did:web:host[:path]` → `did:web:host`, a port as `%3A`. */
26
+ export declare function facilitatorDid(facilitator: string): string;
27
+ /** The facilitator's https origin, from either form. */
28
+ export declare const facilitatorOrigin: (facilitator: string) => string;
29
+ export declare function buildPayoutTerms(input: PayoutInput): PayoutTerms;
30
+ /** The document as stored, believed field by field; anything else is null. */
31
+ export declare function readPayoutTerms(doc: unknown): PayoutTerms | null;
32
+ /** The exact bytes that are published and hashed. */
33
+ export declare const payoutTermsJson: (terms: PayoutTerms) => string;
34
+ /** CIDv1 raw sha256 of those bytes: the facilitator recomputes it and refuses a mismatch. */
35
+ export declare const payoutTermsCid: (terms: PayoutTerms) => Promise<string>;
36
+ /** The https address the store gave (`url` from the browser's store, `uri` from the worker's); an extra resource is never `ipfs:`. */
37
+ export declare function storedHttps(ref: {
38
+ url?: string;
39
+ uri?: string;
40
+ }, what: string): string;
41
+ /** The linked resource on the ask entity. Wrap in `ixo.iid.v1beta1.LinkedResource.fromPartial` at the call site. The proof is the CID the facilitator recomputes. */
42
+ export declare const payoutTermsResource: (ref: {
43
+ cid: string;
44
+ url?: string;
45
+ uri?: string;
46
+ }) => {
47
+ type: string;
48
+ id: string;
49
+ description: string;
50
+ mediaType: string;
51
+ serviceEndpoint: string;
52
+ proof: string;
53
+ encrypted: string;
54
+ right: string;
55
+ };
56
+ /** Where an entity's payout terms are, found by id suffix as the engine finds `#vct`. */
57
+ export declare function payoutTermsRef(linked: {
58
+ id?: string | null;
59
+ serviceEndpoint?: string | null;
60
+ proof?: string | null;
61
+ }[]): {
62
+ cid: string;
63
+ url: string;
64
+ } | null;
65
+ /** What the ask's own `#done` terms carry for the board: no org, no facilitator, those are this document's. */
66
+ export declare const payoutSummary: (terms: PayoutTerms) => {
67
+ rail: PayoutRail;
68
+ amount: string;
69
+ currency: "USD" | "USDC";
70
+ };
71
+ export declare const railWords: (rail: PayoutRail) => string;
72
+ //# sourceMappingURL=payoutTerms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payoutTerms.d.ts","sourceRoot":"","sources":["../../../src/chain/payoutTerms.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAIhD,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,CAAC,CAAC;IACL,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,uFAAuF;IACvF,MAAM,EAAE,MAAM,CAAC;IACf,mGAAmG;IACnG,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAU1D;AAED,wDAAwD;AACxD,eAAO,MAAM,iBAAiB,GAAI,aAAa,MAAM,KAAG,MAAgG,CAAC;AAEzJ,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAuBhE;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAkBhE;AAED,qDAAqD;AACrD,eAAO,MAAM,eAAe,GAAI,OAAO,WAAW,KAAG,MAA+B,CAAC;AAErF,6FAA6F;AAC7F,eAAO,MAAM,cAAc,GAAI,OAAO,WAAW,KAAG,OAAO,CAAC,MAAM,CAAsC,CAAC;AAEzG,sIAAsI;AACtI,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIrF;AAED,qKAAqK;AACrK,eAAO,MAAM,mBAAmB,GAAI,KAAK;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;CASlF,CAAC;AAEH,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,MAAM,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG5J;AAED,+GAA+G;AAC/G,eAAO,MAAM,aAAa,GAAI,OAAO,WAAW;;;;CAAgF,CAAC;AAEjI,eAAO,MAAM,SAAS,GAAI,MAAM,UAAU,KAAG,MAAyE,CAAC"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.railWords = exports.payoutSummary = exports.payoutTermsResource = exports.payoutTermsCid = exports.payoutTermsJson = exports.facilitatorOrigin = void 0;
4
+ exports.facilitatorDid = facilitatorDid;
5
+ exports.buildPayoutTerms = buildPayoutTerms;
6
+ exports.readPayoutTerms = readPayoutTerms;
7
+ exports.storedHttps = storedHttps;
8
+ exports.payoutTermsRef = payoutTermsRef;
9
+ /**
10
+ * How an ask paid off chain pays (OpenHands HQ, ways B and C).
11
+ *
12
+ * The approval leg of such an ask is empty, so the chain pays nobody; the
13
+ * organisation's facilitator reads this document at `{askDid}#payoutTerms`
14
+ * and pays the submitter on USDC on Base or Stripe once an approved oracle
15
+ * approves. **The shape is S4's #payoutTerms v1 contract (confirmed
16
+ * 2026-10-13); strict, unknown fields are refused.** This file is the only
17
+ * writer and reader, so a change to it is a change here.
18
+ */
19
+ const cid_ts_1 = require("../udid/cid.js");
20
+ const RAILS = ["usdc_base", "stripe"];
21
+ const KEYS = ["v", "org", "facilitator", "rails", "amount", "currency", "payee", "oracle"];
22
+ const ORG = /^did:ixo:entity:[0-9a-f]{32}$/;
23
+ const HOST = /^[a-z0-9.-]+(%3a\d+)?$/i;
24
+ // The facilitator verifies the oracle by did:web or did:key; an on-chain entity DID is not one.
25
+ const WEB_OR_KEY = (did) => did.startsWith("did:web:") || did.startsWith("did:key:");
26
+ const MAX_DECIMALS = { USD: 2, USDC: 6 };
27
+ /** `https://host/any/path` or `did:web:host[:path]` → `did:web:host`, a port as `%3A`. */
28
+ function facilitatorDid(facilitator) {
29
+ const value = facilitator.trim();
30
+ if (value.toLowerCase().startsWith("did:web:")) {
31
+ const host = value.slice("did:web:".length).split(":")[0] ?? "";
32
+ if (!host || !HOST.test(host))
33
+ throw new Error(`not a facilitator did:web: ${facilitator}`);
34
+ return `did:web:${host.toLowerCase().replace(/%3a/, "%3A")}`;
35
+ }
36
+ const url = URL.canParse(value) ? new URL(value) : null;
37
+ if (url?.protocol !== "https:" || !url.hostname)
38
+ throw new Error(`a facilitator is a did:web or an https URL, not ${facilitator}`);
39
+ return `did:web:${url.host.toLowerCase().replace(/:/g, "%3A")}`;
40
+ }
41
+ /** The facilitator's https origin, from either form. */
42
+ const facilitatorOrigin = (facilitator) => `https://${facilitatorDid(facilitator).slice("did:web:".length).replace(/%3A/g, ":")}`;
43
+ exports.facilitatorOrigin = facilitatorOrigin;
44
+ function buildPayoutTerms(input) {
45
+ if (!ORG.test(input.org))
46
+ throw new Error(`org must be the organisation's did:ixo:entity, not ${input.org}`);
47
+ if (!RAILS.includes(input.rail))
48
+ throw new Error(`rail must be usdc_base or stripe, not ${input.rail}`);
49
+ // USDC on Base pays USD 1:1, so usdc_base takes either; Stripe only USD.
50
+ if (input.currency !== "USD" && !(input.rail === "usdc_base" && input.currency === "USDC"))
51
+ throw new Error(`${input.rail === "stripe" ? "Stripe pays in USD" : "USDC on Base pays in USDC or USD"}, not ${input.currency}`);
52
+ const currency = input.currency;
53
+ if (!Number.isFinite(input.amount) || input.amount <= 0)
54
+ throw new Error("the payout amount must be more than 0");
55
+ if (input.amount > 1_000_000)
56
+ throw new Error("the payout amount is at most 1,000,000");
57
+ const places = MAX_DECIMALS[currency];
58
+ const scaled = input.amount * 10 ** places;
59
+ if (Math.abs(Math.round(scaled) - scaled) > 1e-6)
60
+ throw new Error(`a ${currency} payout amount has at most ${places} decimals (${places === 2 ? "cents" : "micro-dollars"})`);
61
+ // Two decimals when that is exact, else the shortest exact form (USDC only gets here).
62
+ const amount = Math.abs(Math.round(input.amount * 100) - input.amount * 100) <= 1e-6 ? input.amount.toFixed(2) : input.amount.toFixed(places).replace(/0+$/, "");
63
+ return {
64
+ v: 1,
65
+ org: input.org,
66
+ facilitator: facilitatorDid(input.facilitator),
67
+ rails: [input.rail],
68
+ amount,
69
+ currency,
70
+ payee: "submitter",
71
+ ...(input.oracle !== undefined && WEB_OR_KEY(input.oracle) && { oracle: input.oracle })
72
+ };
73
+ }
74
+ /** The document as stored, believed field by field; anything else is null. */
75
+ function readPayoutTerms(doc) {
76
+ if (!doc || typeof doc !== "object" || Array.isArray(doc))
77
+ return null;
78
+ if (Object.keys(doc).some((key) => !KEYS.includes(key)))
79
+ return null;
80
+ const d = doc;
81
+ if (d.v !== 1 || d.payee !== "submitter")
82
+ return null;
83
+ if (typeof d.org !== "string" || !ORG.test(d.org))
84
+ return null;
85
+ if (d.oracle !== undefined && (typeof d.oracle !== "string" || !WEB_OR_KEY(d.oracle)))
86
+ return null;
87
+ if (!Array.isArray(d.rails) || d.rails.length === 0 || !d.rails.every((rail) => RAILS.includes(rail)) || new Set(d.rails).size !== d.rails.length)
88
+ return null;
89
+ if (d.currency !== "USD" && d.currency !== "USDC")
90
+ return null;
91
+ if (d.rails.includes("stripe") && d.currency !== "USD")
92
+ return null; // no stripe means usdc_base alone (rails are unique): USD or USDC
93
+ if (typeof d.amount !== "string" || !/^\d+(\.\d+)?$/.test(d.amount) || Number(d.amount) <= 0)
94
+ return null;
95
+ if ((d.amount.split(".")[1]?.length ?? 0) > MAX_DECIMALS[d.currency])
96
+ return null;
97
+ try {
98
+ if (typeof d.facilitator !== "string" || facilitatorDid(d.facilitator) !== d.facilitator)
99
+ return null;
100
+ }
101
+ catch {
102
+ return null;
103
+ }
104
+ return { v: 1, org: d.org, facilitator: d.facilitator, rails: [...d.rails], amount: d.amount, currency: d.currency, payee: "submitter", ...(d.oracle !== undefined && { oracle: d.oracle }) };
105
+ }
106
+ /** The exact bytes that are published and hashed. */
107
+ const payoutTermsJson = (terms) => JSON.stringify(terms);
108
+ exports.payoutTermsJson = payoutTermsJson;
109
+ /** CIDv1 raw sha256 of those bytes: the facilitator recomputes it and refuses a mismatch. */
110
+ const payoutTermsCid = (terms) => (0, cid_ts_1.cidOfText)((0, exports.payoutTermsJson)(terms));
111
+ exports.payoutTermsCid = payoutTermsCid;
112
+ /** The https address the store gave (`url` from the browser's store, `uri` from the worker's); an extra resource is never `ipfs:`. */
113
+ function storedHttps(ref, what) {
114
+ const url = (ref.url ?? ref.uri ?? "").trim();
115
+ if (!/^https:\/\/\S+$/.test(url))
116
+ throw new Error(`${what} needs the https address its store gave, got ${JSON.stringify(url)}`);
117
+ return url;
118
+ }
119
+ /** The linked resource on the ask entity. Wrap in `ixo.iid.v1beta1.LinkedResource.fromPartial` at the call site. The proof is the CID the facilitator recomputes. */
120
+ const payoutTermsResource = (ref) => ({
121
+ type: "PayoutTerms",
122
+ id: "{id}#payoutTerms",
123
+ description: "How an approved answer is paid, off chain",
124
+ mediaType: "application/json",
125
+ serviceEndpoint: storedHttps(ref, "#payoutTerms"),
126
+ proof: ref.cid,
127
+ encrypted: "false",
128
+ right: ""
129
+ });
130
+ exports.payoutTermsResource = payoutTermsResource;
131
+ /** Where an entity's payout terms are, found by id suffix as the engine finds `#vct`. */
132
+ function payoutTermsRef(linked) {
133
+ const found = linked.find((one) => typeof one?.id === "string" && one.id.endsWith("#payoutTerms"));
134
+ return found?.proof && found.serviceEndpoint ? { cid: found.proof, url: found.serviceEndpoint } : null;
135
+ }
136
+ /** What the ask's own `#done` terms carry for the board: no org, no facilitator, those are this document's. */
137
+ const payoutSummary = (terms) => ({ rail: terms.rails[0], amount: terms.amount, currency: terms.currency });
138
+ exports.payoutSummary = payoutSummary;
139
+ const railWords = (rail) => (rail === "stripe" ? "Paid by Stripe" : "Paid in USDC on Base");
140
+ exports.railWords = railWords;
141
+ //# sourceMappingURL=payoutTerms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payoutTerms.js","sourceRoot":"","sources":["../../../src/chain/payoutTerms.ts"],"names":[],"mappings":"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"}
@@ -71,5 +71,19 @@ export declare function txEvents(transactionHash: string): Promise<{
71
71
  * `utils.common.getValueFromEvents` does for an inline result.
72
72
  */
73
73
  export declare function valueFromTx(transactionHash: string, type: string, key: string): Promise<string>;
74
+ /**
75
+ * EVERY value of that attribute, in the order the messages emitted them — a
76
+ * transaction that mints two entities (W4: the ask's claim protocol and its
77
+ * deed) emits `wasm.token_id` twice, and `valueFromTx` only ever answers the first.
78
+ */
79
+ export declare function valuesFromEvents(events: readonly {
80
+ type: string;
81
+ attributes: readonly {
82
+ key: string;
83
+ value: string;
84
+ }[];
85
+ }[], type: string, key: string): string[];
86
+ /** `valuesFromEvents` over a transaction fetched by hash — the phone-broadcast path. */
87
+ export declare function valuesFromTx(transactionHash: string, type: string, key: string): Promise<string[]>;
74
88
  export {};
75
89
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/chain/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAInE,KAAK,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAIjE,wBAAgB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAGrD;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,OAAO,CAiBjH;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAStH;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAA;CAAE,EAAE,EACvF,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,GAAG,SAAa,GACf,MAAM,GAAG,SAAS,CAOpB;AAED,uGAAuG;AACvG,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS7G;AAED,wFAAwF;AACxF,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9D;AAED;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,EAAE,CAAC,CAYjI;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAerG"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/chain/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAInE,KAAK,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAIjE,wBAAgB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAGrD;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,OAAO,CAiBjH;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAStH;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAA;CAAE,EAAE,EACvF,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,GAAG,SAAa,GACf,MAAM,GAAG,SAAS,CAOpB;AAED,uGAAuG;AACvG,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS7G;AAED,wFAAwF;AACxF,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9D;AAED;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,EAAE,CAAC,CAYjI;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAerG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAahK;AAED,wFAAwF;AACxF,wBAAsB,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAExG"}
@@ -9,6 +9,8 @@ exports.getFeegrantGranter = getFeegrantGranter;
9
9
  exports.ensureGas = ensureGas;
10
10
  exports.txEvents = txEvents;
11
11
  exports.valueFromTx = valueFromTx;
12
+ exports.valuesFromEvents = valuesFromEvents;
13
+ exports.valuesFromTx = valuesFromTx;
12
14
  const impactxclient_sdk_1 = require("@ixo/impactxclient-sdk");
13
15
  const env_ts_1 = require("./env.js");
14
16
  let clientPromise = null;
@@ -168,4 +170,29 @@ async function valueFromTx(transactionHash, type, key) {
168
170
  }
169
171
  return "";
170
172
  }
173
+ /**
174
+ * EVERY value of that attribute, in the order the messages emitted them — a
175
+ * transaction that mints two entities (W4: the ask's claim protocol and its
176
+ * deed) emits `wasm.token_id` twice, and `valueFromTx` only ever answers the first.
177
+ */
178
+ function valuesFromEvents(events, type, key) {
179
+ const out = [];
180
+ for (const event of events) {
181
+ if (event.type !== type)
182
+ continue;
183
+ for (const attribute of event.attributes) {
184
+ const name = /^[A-Za-z0-9+/=]+$/.test(attribute.key) && attribute.key !== key ? Buffer.from(attribute.key, "base64").toString("utf8") : attribute.key;
185
+ if (name !== key)
186
+ continue;
187
+ const raw = attribute.value ?? "";
188
+ const decoded = /^[A-Za-z0-9+/=]+$/.test(raw) ? Buffer.from(raw, "base64").toString("utf8") : raw;
189
+ out.push((decoded || raw).replace(/^"|"$/g, ""));
190
+ }
191
+ }
192
+ return out;
193
+ }
194
+ /** `valuesFromEvents` over a transaction fetched by hash — the phone-broadcast path. */
195
+ async function valuesFromTx(transactionHash, type, key) {
196
+ return valuesFromEvents(await txEvents(transactionHash), type, key);
197
+ }
171
198
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/chain/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/chain/query.ts"],"names":[],"mappings":"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"}