@hashgraphonline/standards-sdk 0.1.160 → 0.1.162

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 (329) hide show
  1. package/dist/cjs/hcs-14/index.d.ts +1 -0
  2. package/dist/cjs/hcs-14/index.d.ts.map +1 -1
  3. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
  4. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
  5. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
  6. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
  7. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
  8. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
  9. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
  10. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
  11. package/dist/cjs/hcs-14/resolvers/hiero.d.ts +1 -0
  12. package/dist/cjs/hcs-14/resolvers/hiero.d.ts.map +1 -1
  13. package/dist/cjs/hcs-14/resolvers/registry.d.ts +39 -1
  14. package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
  15. package/dist/cjs/hcs-14/resolvers/types.d.ts +52 -0
  16. package/dist/cjs/hcs-14/resolvers/types.d.ts.map +1 -1
  17. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +1 -0
  18. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
  19. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
  20. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
  21. package/dist/cjs/hcs-14/sdk.d.ts +46 -13
  22. package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
  23. package/dist/cjs/standards-sdk.cjs +3 -3
  24. package/dist/cjs/standards-sdk.cjs.map +1 -1
  25. package/dist/es/hcs-14/index.d.ts +1 -0
  26. package/dist/es/hcs-14/index.d.ts.map +1 -1
  27. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
  28. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
  29. package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
  30. package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
  31. package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
  32. package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
  33. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
  34. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
  35. package/dist/es/hcs-14/resolvers/hiero.d.ts +1 -0
  36. package/dist/es/hcs-14/resolvers/hiero.d.ts.map +1 -1
  37. package/dist/es/hcs-14/resolvers/registry.d.ts +39 -1
  38. package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
  39. package/dist/es/hcs-14/resolvers/types.d.ts +52 -0
  40. package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
  41. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +1 -0
  42. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
  43. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
  44. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
  45. package/dist/es/hcs-14/sdk.d.ts +46 -13
  46. package/dist/es/hcs-14/sdk.d.ts.map +1 -1
  47. package/dist/es/standards-sdk.es.js +97 -90
  48. package/dist/es/standards-sdk.es.js.map +1 -1
  49. package/dist/es/standards-sdk.es100.js +151 -43
  50. package/dist/es/standards-sdk.es100.js.map +1 -1
  51. package/dist/es/standards-sdk.es101.js +114 -234
  52. package/dist/es/standards-sdk.es101.js.map +1 -1
  53. package/dist/es/standards-sdk.es102.js +43 -96
  54. package/dist/es/standards-sdk.es102.js.map +1 -1
  55. package/dist/es/standards-sdk.es103.js +244 -80
  56. package/dist/es/standards-sdk.es103.js.map +1 -1
  57. package/dist/es/standards-sdk.es104.js +101 -29
  58. package/dist/es/standards-sdk.es104.js.map +1 -1
  59. package/dist/es/standards-sdk.es105.js +94 -225
  60. package/dist/es/standards-sdk.es105.js.map +1 -1
  61. package/dist/es/standards-sdk.es106.js +29 -112
  62. package/dist/es/standards-sdk.es106.js.map +1 -1
  63. package/dist/es/standards-sdk.es107.js +224 -26
  64. package/dist/es/standards-sdk.es107.js.map +1 -1
  65. package/dist/es/standards-sdk.es108.js +109 -80
  66. package/dist/es/standards-sdk.es108.js.map +1 -1
  67. package/dist/es/standards-sdk.es109.js +29 -26
  68. package/dist/es/standards-sdk.es109.js.map +1 -1
  69. package/dist/es/standards-sdk.es11.js +1 -1
  70. package/dist/es/standards-sdk.es110.js +80 -248
  71. package/dist/es/standards-sdk.es110.js.map +1 -1
  72. package/dist/es/standards-sdk.es111.js +28 -475
  73. package/dist/es/standards-sdk.es111.js.map +1 -1
  74. package/dist/es/standards-sdk.es112.js +244 -97
  75. package/dist/es/standards-sdk.es112.js.map +1 -1
  76. package/dist/es/standards-sdk.es113.js +451 -133
  77. package/dist/es/standards-sdk.es113.js.map +1 -1
  78. package/dist/es/standards-sdk.es114.js +98 -27
  79. package/dist/es/standards-sdk.es114.js.map +1 -1
  80. package/dist/es/standards-sdk.es115.js +156 -8
  81. package/dist/es/standards-sdk.es115.js.map +1 -1
  82. package/dist/es/standards-sdk.es116.js +31 -139
  83. package/dist/es/standards-sdk.es116.js.map +1 -1
  84. package/dist/es/standards-sdk.es117.js +10 -27
  85. package/dist/es/standards-sdk.es117.js.map +1 -1
  86. package/dist/es/standards-sdk.es118.js +139 -19
  87. package/dist/es/standards-sdk.es118.js.map +1 -1
  88. package/dist/es/standards-sdk.es119.js +27 -158
  89. package/dist/es/standards-sdk.es119.js.map +1 -1
  90. package/dist/es/standards-sdk.es12.js +1 -1
  91. package/dist/es/standards-sdk.es120.js +16 -197
  92. package/dist/es/standards-sdk.es120.js.map +1 -1
  93. package/dist/es/standards-sdk.es121.js +133 -763
  94. package/dist/es/standards-sdk.es121.js.map +1 -1
  95. package/dist/es/standards-sdk.es122.js +200 -10
  96. package/dist/es/standards-sdk.es122.js.map +1 -1
  97. package/dist/es/standards-sdk.es123.js +762 -539
  98. package/dist/es/standards-sdk.es123.js.map +1 -1
  99. package/dist/es/standards-sdk.es124.js +10 -599
  100. package/dist/es/standards-sdk.es124.js.map +1 -1
  101. package/dist/es/standards-sdk.es125.js +567 -13
  102. package/dist/es/standards-sdk.es125.js.map +1 -1
  103. package/dist/es/standards-sdk.es126.js +602 -2
  104. package/dist/es/standards-sdk.es126.js.map +1 -1
  105. package/dist/es/standards-sdk.es127.js +12 -86
  106. package/dist/es/standards-sdk.es127.js.map +1 -1
  107. package/dist/es/standards-sdk.es128.js +2 -40
  108. package/dist/es/standards-sdk.es128.js.map +1 -1
  109. package/dist/es/standards-sdk.es129.js +87 -2
  110. package/dist/es/standards-sdk.es129.js.map +1 -1
  111. package/dist/es/standards-sdk.es13.js +1 -1
  112. package/dist/es/standards-sdk.es130.js +37 -232
  113. package/dist/es/standards-sdk.es130.js.map +1 -1
  114. package/dist/es/standards-sdk.es131.js +2 -1140
  115. package/dist/es/standards-sdk.es131.js.map +1 -1
  116. package/dist/es/standards-sdk.es132.js +213 -284
  117. package/dist/es/standards-sdk.es132.js.map +1 -1
  118. package/dist/es/standards-sdk.es133.js +1138 -420
  119. package/dist/es/standards-sdk.es133.js.map +1 -1
  120. package/dist/es/standards-sdk.es134.js +301 -350
  121. package/dist/es/standards-sdk.es134.js.map +1 -1
  122. package/dist/es/standards-sdk.es135.js +417 -1111
  123. package/dist/es/standards-sdk.es135.js.map +1 -1
  124. package/dist/es/standards-sdk.es136.js +348 -201
  125. package/dist/es/standards-sdk.es136.js.map +1 -1
  126. package/dist/es/standards-sdk.es137.js +1029 -1480
  127. package/dist/es/standards-sdk.es137.js.map +1 -1
  128. package/dist/es/standards-sdk.es138.js +207 -1254
  129. package/dist/es/standards-sdk.es138.js.map +1 -1
  130. package/dist/es/standards-sdk.es139.js +1564 -14
  131. package/dist/es/standards-sdk.es139.js.map +1 -1
  132. package/dist/es/standards-sdk.es14.js +1 -1
  133. package/dist/es/standards-sdk.es140.js +1253 -85
  134. package/dist/es/standards-sdk.es140.js.map +1 -1
  135. package/dist/es/standards-sdk.es141.js +15 -79
  136. package/dist/es/standards-sdk.es141.js.map +1 -1
  137. package/dist/es/standards-sdk.es142.js +83 -889
  138. package/dist/es/standards-sdk.es142.js.map +1 -1
  139. package/dist/es/standards-sdk.es143.js +73 -52
  140. package/dist/es/standards-sdk.es143.js.map +1 -1
  141. package/dist/es/standards-sdk.es144.js +877 -143
  142. package/dist/es/standards-sdk.es144.js.map +1 -1
  143. package/dist/es/standards-sdk.es145.js +60 -7
  144. package/dist/es/standards-sdk.es145.js.map +1 -1
  145. package/dist/es/standards-sdk.es146.js +138 -65
  146. package/dist/es/standards-sdk.es146.js.map +1 -1
  147. package/dist/es/standards-sdk.es147.js +7 -65
  148. package/dist/es/standards-sdk.es147.js.map +1 -1
  149. package/dist/es/standards-sdk.es148.js +86 -30
  150. package/dist/es/standards-sdk.es148.js.map +1 -1
  151. package/dist/es/standards-sdk.es149.js +65 -34
  152. package/dist/es/standards-sdk.es149.js.map +1 -1
  153. package/dist/es/standards-sdk.es15.js +1 -1
  154. package/dist/es/standards-sdk.es150.js +30 -41
  155. package/dist/es/standards-sdk.es150.js.map +1 -1
  156. package/dist/es/standards-sdk.es151.js +34 -138
  157. package/dist/es/standards-sdk.es151.js.map +1 -1
  158. package/dist/es/standards-sdk.es152.js +48 -42
  159. package/dist/es/standards-sdk.es152.js.map +1 -1
  160. package/dist/es/standards-sdk.es153.js +106 -12450
  161. package/dist/es/standards-sdk.es153.js.map +1 -1
  162. package/dist/es/standards-sdk.es154.js +38 -168
  163. package/dist/es/standards-sdk.es154.js.map +1 -1
  164. package/dist/es/standards-sdk.es155.js +12423 -263
  165. package/dist/es/standards-sdk.es155.js.map +1 -1
  166. package/dist/es/standards-sdk.es156.js +13 -342
  167. package/dist/es/standards-sdk.es156.js.map +1 -1
  168. package/dist/es/standards-sdk.es157.js +55 -452
  169. package/dist/es/standards-sdk.es157.js.map +1 -1
  170. package/dist/es/standards-sdk.es158.js +70 -317
  171. package/dist/es/standards-sdk.es158.js.map +1 -1
  172. package/dist/es/standards-sdk.es159.js +70 -65
  173. package/dist/es/standards-sdk.es159.js.map +1 -1
  174. package/dist/es/standards-sdk.es16.js +4 -4
  175. package/dist/es/standards-sdk.es160.js +197 -14
  176. package/dist/es/standards-sdk.es160.js.map +1 -1
  177. package/dist/es/standards-sdk.es161.js +60 -229
  178. package/dist/es/standards-sdk.es161.js.map +1 -1
  179. package/dist/es/standards-sdk.es162.js +237 -51
  180. package/dist/es/standards-sdk.es162.js.map +1 -1
  181. package/dist/es/standards-sdk.es163.js +160 -72
  182. package/dist/es/standards-sdk.es163.js.map +1 -1
  183. package/dist/es/standards-sdk.es164.js +312 -71
  184. package/dist/es/standards-sdk.es164.js.map +1 -1
  185. package/dist/es/standards-sdk.es165.js +337 -64
  186. package/dist/es/standards-sdk.es165.js.map +1 -1
  187. package/dist/es/standards-sdk.es166.js +436 -155
  188. package/dist/es/standards-sdk.es166.js.map +1 -1
  189. package/dist/es/standards-sdk.es167.js +319 -210
  190. package/dist/es/standards-sdk.es167.js.map +1 -1
  191. package/dist/es/standards-sdk.es168.js +68 -231
  192. package/dist/es/standards-sdk.es168.js.map +1 -1
  193. package/dist/es/standards-sdk.es169.js +154 -101
  194. package/dist/es/standards-sdk.es169.js.map +1 -1
  195. package/dist/es/standards-sdk.es170.js +200 -104
  196. package/dist/es/standards-sdk.es170.js.map +1 -1
  197. package/dist/es/standards-sdk.es171.js +225 -147
  198. package/dist/es/standards-sdk.es171.js.map +1 -1
  199. package/dist/es/standards-sdk.es172.js +100 -166
  200. package/dist/es/standards-sdk.es172.js.map +1 -1
  201. package/dist/es/standards-sdk.es173.js +110 -123
  202. package/dist/es/standards-sdk.es173.js.map +1 -1
  203. package/dist/es/standards-sdk.es174.js +122 -292
  204. package/dist/es/standards-sdk.es174.js.map +1 -1
  205. package/dist/es/standards-sdk.es175.js +166 -240
  206. package/dist/es/standards-sdk.es175.js.map +1 -1
  207. package/dist/es/standards-sdk.es176.js +125 -102
  208. package/dist/es/standards-sdk.es176.js.map +1 -1
  209. package/dist/es/standards-sdk.es177.js +334 -0
  210. package/dist/es/standards-sdk.es177.js.map +1 -0
  211. package/dist/es/standards-sdk.es178.js +262 -0
  212. package/dist/es/standards-sdk.es178.js.map +1 -0
  213. package/dist/es/standards-sdk.es179.js +119 -0
  214. package/dist/es/standards-sdk.es179.js.map +1 -0
  215. package/dist/es/standards-sdk.es18.js +11 -11
  216. package/dist/es/standards-sdk.es19.js +8 -8
  217. package/dist/es/standards-sdk.es2.js +2 -2
  218. package/dist/es/standards-sdk.es20.js +1 -1
  219. package/dist/es/standards-sdk.es21.js +1 -1
  220. package/dist/es/standards-sdk.es22.js +1 -1
  221. package/dist/es/standards-sdk.es23.js +1 -1
  222. package/dist/es/standards-sdk.es24.js +1 -1
  223. package/dist/es/standards-sdk.es25.js +1 -1
  224. package/dist/es/standards-sdk.es26.js +1 -1
  225. package/dist/es/standards-sdk.es27.js +11 -11
  226. package/dist/es/standards-sdk.es30.js +2 -2
  227. package/dist/es/standards-sdk.es31.js +4 -4
  228. package/dist/es/standards-sdk.es32.js +1 -1
  229. package/dist/es/standards-sdk.es35.js +5 -5
  230. package/dist/es/standards-sdk.es36.js +4 -4
  231. package/dist/es/standards-sdk.es37.js +2 -2
  232. package/dist/es/standards-sdk.es38.js +2 -2
  233. package/dist/es/standards-sdk.es39.js +1 -1
  234. package/dist/es/standards-sdk.es4.js +2 -2
  235. package/dist/es/standards-sdk.es40.js +1 -1
  236. package/dist/es/standards-sdk.es41.js +2 -2
  237. package/dist/es/standards-sdk.es46.js +1 -1
  238. package/dist/es/standards-sdk.es5.js +2 -2
  239. package/dist/es/standards-sdk.es51.js +1 -1
  240. package/dist/es/standards-sdk.es53.js +1 -1
  241. package/dist/es/standards-sdk.es56.js +2 -2
  242. package/dist/es/standards-sdk.es58.js +39 -231
  243. package/dist/es/standards-sdk.es58.js.map +1 -1
  244. package/dist/es/standards-sdk.es59.js +328 -35
  245. package/dist/es/standards-sdk.es59.js.map +1 -1
  246. package/dist/es/standards-sdk.es6.js +2 -2
  247. package/dist/es/standards-sdk.es60.js +33 -101
  248. package/dist/es/standards-sdk.es60.js.map +1 -1
  249. package/dist/es/standards-sdk.es61.js +87 -156
  250. package/dist/es/standards-sdk.es61.js.map +1 -1
  251. package/dist/es/standards-sdk.es62.js +126 -153
  252. package/dist/es/standards-sdk.es62.js.map +1 -1
  253. package/dist/es/standards-sdk.es63.js +234 -81
  254. package/dist/es/standards-sdk.es63.js.map +1 -1
  255. package/dist/es/standards-sdk.es64.js +244 -39
  256. package/dist/es/standards-sdk.es64.js.map +1 -1
  257. package/dist/es/standards-sdk.es65.js +122 -247
  258. package/dist/es/standards-sdk.es65.js.map +1 -1
  259. package/dist/es/standards-sdk.es66.js +41 -28
  260. package/dist/es/standards-sdk.es66.js.map +1 -1
  261. package/dist/es/standards-sdk.es67.js +266 -90
  262. package/dist/es/standards-sdk.es67.js.map +1 -1
  263. package/dist/es/standards-sdk.es68.js +33 -3
  264. package/dist/es/standards-sdk.es68.js.map +1 -1
  265. package/dist/es/standards-sdk.es69.js +84 -89
  266. package/dist/es/standards-sdk.es69.js.map +1 -1
  267. package/dist/es/standards-sdk.es7.js +1 -1
  268. package/dist/es/standards-sdk.es70.js +3 -99
  269. package/dist/es/standards-sdk.es70.js.map +1 -1
  270. package/dist/es/standards-sdk.es71.js +99 -17
  271. package/dist/es/standards-sdk.es71.js.map +1 -1
  272. package/dist/es/standards-sdk.es72.js +100 -77
  273. package/dist/es/standards-sdk.es72.js.map +1 -1
  274. package/dist/es/standards-sdk.es73.js +19 -458
  275. package/dist/es/standards-sdk.es73.js.map +1 -1
  276. package/dist/es/standards-sdk.es74.js +77 -324
  277. package/dist/es/standards-sdk.es74.js.map +1 -1
  278. package/dist/es/standards-sdk.es75.js +420 -170
  279. package/dist/es/standards-sdk.es75.js.map +1 -1
  280. package/dist/es/standards-sdk.es76.js +323 -71
  281. package/dist/es/standards-sdk.es76.js.map +1 -1
  282. package/dist/es/standards-sdk.es77.js +208 -71
  283. package/dist/es/standards-sdk.es77.js.map +1 -1
  284. package/dist/es/standards-sdk.es78.js +67 -138
  285. package/dist/es/standards-sdk.es78.js.map +1 -1
  286. package/dist/es/standards-sdk.es79.js +71 -69
  287. package/dist/es/standards-sdk.es79.js.map +1 -1
  288. package/dist/es/standards-sdk.es80.js +132 -393
  289. package/dist/es/standards-sdk.es80.js.map +1 -1
  290. package/dist/es/standards-sdk.es81.js +44 -471
  291. package/dist/es/standards-sdk.es81.js.map +1 -1
  292. package/dist/es/standards-sdk.es82.js +361 -322
  293. package/dist/es/standards-sdk.es82.js.map +1 -1
  294. package/dist/es/standards-sdk.es83.js +495 -88
  295. package/dist/es/standards-sdk.es83.js.map +1 -1
  296. package/dist/es/standards-sdk.es84.js +365 -125
  297. package/dist/es/standards-sdk.es84.js.map +1 -1
  298. package/dist/es/standards-sdk.es85.js +88 -7
  299. package/dist/es/standards-sdk.es85.js.map +1 -1
  300. package/dist/es/standards-sdk.es86.js +125 -47
  301. package/dist/es/standards-sdk.es86.js.map +1 -1
  302. package/dist/es/standards-sdk.es87.js +6 -99
  303. package/dist/es/standards-sdk.es87.js.map +1 -1
  304. package/dist/es/standards-sdk.es88.js +43 -344
  305. package/dist/es/standards-sdk.es88.js.map +1 -1
  306. package/dist/es/standards-sdk.es89.js +73 -253
  307. package/dist/es/standards-sdk.es89.js.map +1 -1
  308. package/dist/es/standards-sdk.es9.js +2 -2
  309. package/dist/es/standards-sdk.es90.js +340 -53
  310. package/dist/es/standards-sdk.es90.js.map +1 -1
  311. package/dist/es/standards-sdk.es91.js +280 -48
  312. package/dist/es/standards-sdk.es91.js.map +1 -1
  313. package/dist/es/standards-sdk.es92.js +54 -143
  314. package/dist/es/standards-sdk.es92.js.map +1 -1
  315. package/dist/es/standards-sdk.es93.js +44 -62
  316. package/dist/es/standards-sdk.es93.js.map +1 -1
  317. package/dist/es/standards-sdk.es94.js +140 -20
  318. package/dist/es/standards-sdk.es94.js.map +1 -1
  319. package/dist/es/standards-sdk.es95.js +65 -23
  320. package/dist/es/standards-sdk.es95.js.map +1 -1
  321. package/dist/es/standards-sdk.es96.js +26 -236
  322. package/dist/es/standards-sdk.es96.js.map +1 -1
  323. package/dist/es/standards-sdk.es97.js +23 -280
  324. package/dist/es/standards-sdk.es97.js.map +1 -1
  325. package/dist/es/standards-sdk.es98.js +229 -146
  326. package/dist/es/standards-sdk.es98.js.map +1 -1
  327. package/dist/es/standards-sdk.es99.js +254 -117
  328. package/dist/es/standards-sdk.es99.js.map +1 -1
  329. package/package.json +8 -1
@@ -1,17 +1,17 @@
1
- import { Logger } from "./standards-sdk.es116.js";
1
+ import { Logger } from "./standards-sdk.es118.js";
2
2
  import { Registration } from "./standards-sdk.es20.js";
3
3
  import { HCS11Client } from "./standards-sdk.es27.js";
4
4
  import { PublicKey } from "@hashgraph/sdk";
5
- import { HederaMirrorNode } from "./standards-sdk.es137.js";
5
+ import { HederaMirrorNode } from "./standards-sdk.es139.js";
6
6
  import "path";
7
7
  import "buffer";
8
8
  import "crypto";
9
9
  import "@noble/curves/secp256k1.js";
10
- import "./standards-sdk.es138.js";
11
10
  import "./standards-sdk.es140.js";
11
+ import "./standards-sdk.es142.js";
12
12
  import "zod";
13
13
  import { buildHcs10SubmitConnectionRequestTx, buildHcs10OutboundConnectionRequestRecordTx, buildHcs10OutboundConnectionCreatedRecordTx } from "./standards-sdk.es22.js";
14
- import { HRLResolver } from "./standards-sdk.es120.js";
14
+ import { HRLResolver } from "./standards-sdk.es122.js";
15
15
  var Hcs10MemoType = /* @__PURE__ */ ((Hcs10MemoType2) => {
16
16
  Hcs10MemoType2["INBOUND"] = "inbound";
17
17
  Hcs10MemoType2["OUTBOUND"] = "outbound";
@@ -1,20 +1,203 @@
1
- import { Logger } from "./standards-sdk.es116.js";
2
- import { HederaMirrorNode } from "./standards-sdk.es137.js";
3
- class HCS5BaseClient {
4
- /**
5
- * Create a new HCS-5 base client
6
- */
7
- constructor(config) {
8
- this.network = config.network;
9
- this.logger = config.logger || Logger.getInstance({
10
- level: config.logLevel || "info",
11
- module: "HCS5Client",
12
- silent: config.silent
1
+ import { parseSemicolonFields } from "./standards-sdk.es159.js";
2
+ const ANS_HCS27_REGISTRY = "ans";
3
+ function isObjectRecord(value) {
4
+ return typeof value === "object" && value !== null;
5
+ }
6
+ function asString(value) {
7
+ if (typeof value !== "string") {
8
+ return null;
9
+ }
10
+ const trimmed = value.trim();
11
+ if (!trimmed) {
12
+ return null;
13
+ }
14
+ return trimmed;
15
+ }
16
+ function isSemver(value) {
17
+ return /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/.test(
18
+ value
19
+ );
20
+ }
21
+ function normalizeAnsVersion(value) {
22
+ const trimmed = value.trim();
23
+ if (!trimmed) {
24
+ return null;
25
+ }
26
+ const withoutPrefix = trimmed.startsWith("v") || trimmed.startsWith("V") ? trimmed.slice(1) : trimmed;
27
+ if (!isSemver(withoutPrefix)) {
28
+ return null;
29
+ }
30
+ return withoutPrefix;
31
+ }
32
+ function parseAnsDnsTxtRecord(rawRecord) {
33
+ const fields = parseSemicolonFields(rawRecord);
34
+ const version = fields["v"];
35
+ const urlValue = fields["url"];
36
+ if (!version || !urlValue || version.toLowerCase() !== "ans1") {
37
+ return null;
38
+ }
39
+ let parsedUrl;
40
+ try {
41
+ parsedUrl = new URL(urlValue);
42
+ } catch {
43
+ return null;
44
+ }
45
+ if (parsedUrl.protocol.toLowerCase() !== "https:") {
46
+ return null;
47
+ }
48
+ const rawAnsVersion = fields["version"];
49
+ let normalizedAnsVersion;
50
+ if (rawAnsVersion !== void 0) {
51
+ const parsedVersion = normalizeAnsVersion(rawAnsVersion);
52
+ if (!parsedVersion) {
53
+ return null;
54
+ }
55
+ normalizedAnsVersion = parsedVersion;
56
+ }
57
+ return {
58
+ version: normalizedAnsVersion,
59
+ url: parsedUrl.toString()
60
+ };
61
+ }
62
+ function isValidAnsProfileVersion(value) {
63
+ return !!value && normalizeAnsVersion(value) !== null;
64
+ }
65
+ function hasProtocolPathSegment(pathname, protocol) {
66
+ const normalizedProtocol = protocol.trim().toLowerCase();
67
+ if (!normalizedProtocol) {
68
+ return false;
69
+ }
70
+ const pathSegments = pathname.split("/").map((segment) => segment.trim()).filter((segment) => segment.length > 0);
71
+ for (const segment of pathSegments) {
72
+ if (segment.toLowerCase() === normalizedProtocol) {
73
+ return true;
74
+ }
75
+ }
76
+ return false;
77
+ }
78
+ function extractEndpointCandidates(endpoints, supportedSchemes) {
79
+ const candidates = [];
80
+ for (const [key, value] of Object.entries(endpoints)) {
81
+ if (!isObjectRecord(value)) {
82
+ continue;
83
+ }
84
+ const endpoint = asString(value["url"]);
85
+ if (!endpoint) {
86
+ continue;
87
+ }
88
+ let parsedUrl;
89
+ try {
90
+ parsedUrl = new URL(endpoint);
91
+ } catch {
92
+ continue;
93
+ }
94
+ const scheme = parsedUrl.protocol.replace(/:$/, "").toLowerCase();
95
+ if (!supportedSchemes.has(scheme)) {
96
+ continue;
97
+ }
98
+ candidates.push({
99
+ key,
100
+ endpointUrl: parsedUrl.toString(),
101
+ parsedUrl
13
102
  });
14
- this.mirrorNode = new HederaMirrorNode(this.network, this.logger);
15
103
  }
104
+ return candidates;
105
+ }
106
+ function validateAnsHcs27Hints(input) {
107
+ if (!isObjectRecord(input)) {
108
+ return void 0;
109
+ }
110
+ const checkpointTopicId = asString(input["checkpoint_topic_id"]);
111
+ const registry = asString(input["registry"]);
112
+ const logId = asString(input["log_id"]);
113
+ if (!checkpointTopicId || !registry || !logId || registry !== ANS_HCS27_REGISTRY) {
114
+ return void 0;
115
+ }
116
+ const checkpointUri = asString(input["checkpoint_uri"]) ?? void 0;
117
+ const viewerUri = asString(input["viewer_uri"]) ?? void 0;
118
+ return {
119
+ checkpointTopicId,
120
+ registry,
121
+ logId,
122
+ checkpointUri,
123
+ viewerUri
124
+ };
125
+ }
126
+ function validateHcs28Hints(input) {
127
+ if (!isObjectRecord(input)) {
128
+ return void 0;
129
+ }
130
+ const directoryTopicId = asString(input["directory_topic_id"]);
131
+ const tId = asString(input["t_id"]);
132
+ const agentId = asString(input["agent_id"]);
133
+ if (!directoryTopicId || !tId || !agentId) {
134
+ return void 0;
135
+ }
136
+ const proofProfile = asString(input["proof_profile"]) ?? void 0;
137
+ return {
138
+ directoryTopicId,
139
+ tId,
140
+ agentId,
141
+ proofProfile
142
+ };
143
+ }
144
+ function parseTransparencyHints(input) {
145
+ if (!isObjectRecord(input)) {
146
+ return void 0;
147
+ }
148
+ const hcs27 = validateAnsHcs27Hints(input["hcs27"]);
149
+ const hcs28 = validateHcs28Hints(input["hcs28"]);
150
+ if (!hcs27 && !hcs28) {
151
+ return void 0;
152
+ }
153
+ return {
154
+ hcs27,
155
+ hcs28
156
+ };
157
+ }
158
+ function parseAnsAgentCard(input) {
159
+ if (!isObjectRecord(input)) {
160
+ return null;
161
+ }
162
+ const ansName = asString(input["ansName"]);
163
+ const endpoints = input["endpoints"];
164
+ if (!ansName || !isObjectRecord(endpoints)) {
165
+ return null;
166
+ }
167
+ return {
168
+ ansName,
169
+ endpoints,
170
+ transparencyHints: parseTransparencyHints(input["transparency"])
171
+ };
172
+ }
173
+ function selectPreferredEndpoint(candidates, protocol) {
174
+ if (candidates.length === 0) {
175
+ return null;
176
+ }
177
+ const sortedCandidates = [...candidates].sort(
178
+ (a, b) => a.key.localeCompare(b.key)
179
+ );
180
+ const protocolMatches = sortedCandidates.filter(
181
+ (candidate) => hasProtocolPathSegment(candidate.parsedUrl.pathname, protocol)
182
+ );
183
+ if (protocolMatches.length > 0) {
184
+ return protocolMatches[0];
185
+ }
186
+ return sortedCandidates[0];
187
+ }
188
+ function toErrorMessage(error) {
189
+ if (error instanceof Error && error.message) {
190
+ return error.message;
191
+ }
192
+ return null;
16
193
  }
17
194
  export {
18
- HCS5BaseClient
195
+ extractEndpointCandidates,
196
+ isValidAnsProfileVersion,
197
+ normalizeAnsVersion,
198
+ parseAnsAgentCard,
199
+ parseAnsDnsTxtRecord,
200
+ selectPreferredEndpoint,
201
+ toErrorMessage
19
202
  };
20
203
  //# sourceMappingURL=standards-sdk.es160.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es160.js","sources":["../../src/hcs-5/base-client.ts"],"sourcesContent":["import { Logger, ILogger } from '../utils/logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { HCS5ClientConfig } from './types';\nimport { NetworkType } from '../utils/types';\n\n/**\n * Base client for HCS-5 operations\n */\nexport abstract class HCS5BaseClient {\n protected logger: ILogger;\n protected mirrorNode: HederaMirrorNode;\n protected network: NetworkType;\n\n /**\n * Create a new HCS-5 base client\n */\n constructor(config: HCS5ClientConfig) {\n this.network = config.network;\n this.logger =\n config.logger ||\n Logger.getInstance({\n level: config.logLevel || 'info',\n module: 'HCS5Client',\n silent: config.silent,\n });\n\n this.mirrorNode = new HederaMirrorNode(this.network, this.logger);\n }\n}\n"],"names":[],"mappings":";;AAQO,MAAe,eAAe;AAAA;AAAA;AAAA;AAAA,EAQnC,YAAY,QAA0B;AACpC,SAAK,UAAU,OAAO;AACtB,SAAK,SACH,OAAO,UACP,OAAO,YAAY;AAAA,MACjB,OAAO,OAAO,YAAY;AAAA,MAC1B,QAAQ;AAAA,MACR,QAAQ,OAAO;AAAA,IAAA,CAChB;AAEH,SAAK,aAAa,IAAI,iBAAiB,KAAK,SAAS,KAAK,MAAM;AAAA,EAClE;AACF;"}
1
+ {"version":3,"file":"standards-sdk.es160.js","sources":["../../src/hcs-14/resolvers/ans-dns-web-profile-utils.ts"],"sourcesContent":["import type {\n ProfileResolutionHcs27TransparencyHints,\n ProfileResolutionHcs28TransparencyHints,\n ProfileResolutionTransparencyHints,\n} from './types';\nimport { parseSemicolonFields } from './profile-utils';\n\nexport interface AnsDnsTxtRecord {\n version?: string;\n url: string;\n}\n\nexport interface AnsEndpointCandidate {\n key: string;\n endpointUrl: string;\n parsedUrl: URL;\n}\n\nexport interface ParsedAnsAgentCard {\n ansName: string;\n endpoints: Record<string, unknown>;\n transparencyHints?: ProfileResolutionTransparencyHints;\n}\n\nconst ANS_HCS27_REGISTRY = 'ans';\n\nfunction isObjectRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null;\n}\n\nfunction asString(value: unknown): string | null {\n if (typeof value !== 'string') {\n return null;\n }\n const trimmed = value.trim();\n if (!trimmed) {\n return null;\n }\n return trimmed;\n}\n\nfunction isSemver(value: string): boolean {\n return /^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$/.test(\n value,\n );\n}\n\nexport function normalizeAnsVersion(value: string): string | null {\n const trimmed = value.trim();\n if (!trimmed) {\n return null;\n }\n const withoutPrefix =\n trimmed.startsWith('v') || trimmed.startsWith('V')\n ? trimmed.slice(1)\n : trimmed;\n if (!isSemver(withoutPrefix)) {\n return null;\n }\n return withoutPrefix;\n}\n\nexport function parseAnsDnsTxtRecord(\n rawRecord: string,\n): AnsDnsTxtRecord | null {\n const fields = parseSemicolonFields(rawRecord);\n const version = fields['v'];\n const urlValue = fields['url'];\n if (!version || !urlValue || version.toLowerCase() !== 'ans1') {\n return null;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(urlValue);\n } catch {\n return null;\n }\n\n if (parsedUrl.protocol.toLowerCase() !== 'https:') {\n return null;\n }\n\n const rawAnsVersion = fields['version'];\n let normalizedAnsVersion: string | undefined;\n if (rawAnsVersion !== undefined) {\n const parsedVersion = normalizeAnsVersion(rawAnsVersion);\n if (!parsedVersion) {\n return null;\n }\n normalizedAnsVersion = parsedVersion;\n }\n\n return {\n version: normalizedAnsVersion,\n url: parsedUrl.toString(),\n };\n}\n\nexport function isValidAnsProfileVersion(value: string | undefined): boolean {\n return !!value && normalizeAnsVersion(value) !== null;\n}\n\nfunction hasProtocolPathSegment(pathname: string, protocol: string): boolean {\n const normalizedProtocol = protocol.trim().toLowerCase();\n if (!normalizedProtocol) {\n return false;\n }\n\n const pathSegments = pathname\n .split('/')\n .map(segment => segment.trim())\n .filter(segment => segment.length > 0);\n for (const segment of pathSegments) {\n if (segment.toLowerCase() === normalizedProtocol) {\n return true;\n }\n }\n return false;\n}\n\nexport function extractEndpointCandidates(\n endpoints: Record<string, unknown>,\n supportedSchemes: Set<string>,\n): AnsEndpointCandidate[] {\n const candidates: AnsEndpointCandidate[] = [];\n for (const [key, value] of Object.entries(endpoints)) {\n if (!isObjectRecord(value)) {\n continue;\n }\n const endpoint = asString(value['url']);\n if (!endpoint) {\n continue;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(endpoint);\n } catch {\n continue;\n }\n\n const scheme = parsedUrl.protocol.replace(/:$/, '').toLowerCase();\n if (!supportedSchemes.has(scheme)) {\n continue;\n }\n\n candidates.push({\n key,\n endpointUrl: parsedUrl.toString(),\n parsedUrl,\n });\n }\n\n return candidates;\n}\n\nfunction validateAnsHcs27Hints(\n input: unknown,\n): ProfileResolutionHcs27TransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const checkpointTopicId = asString(input['checkpoint_topic_id']);\n const registry = asString(input['registry']);\n const logId = asString(input['log_id']);\n if (\n !checkpointTopicId ||\n !registry ||\n !logId ||\n registry !== ANS_HCS27_REGISTRY\n ) {\n return undefined;\n }\n const checkpointUri = asString(input['checkpoint_uri']) ?? undefined;\n const viewerUri = asString(input['viewer_uri']) ?? undefined;\n return {\n checkpointTopicId,\n registry,\n logId,\n checkpointUri,\n viewerUri,\n };\n}\n\nfunction validateHcs28Hints(\n input: unknown,\n): ProfileResolutionHcs28TransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const directoryTopicId = asString(input['directory_topic_id']);\n const tId = asString(input['t_id']);\n const agentId = asString(input['agent_id']);\n if (!directoryTopicId || !tId || !agentId) {\n return undefined;\n }\n const proofProfile = asString(input['proof_profile']) ?? undefined;\n return {\n directoryTopicId,\n tId,\n agentId,\n proofProfile,\n };\n}\n\nfunction parseTransparencyHints(\n input: unknown,\n): ProfileResolutionTransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const hcs27 = validateAnsHcs27Hints(input['hcs27']);\n const hcs28 = validateHcs28Hints(input['hcs28']);\n if (!hcs27 && !hcs28) {\n return undefined;\n }\n return {\n hcs27,\n hcs28,\n };\n}\n\nexport function parseAnsAgentCard(input: unknown): ParsedAnsAgentCard | null {\n if (!isObjectRecord(input)) {\n return null;\n }\n const ansName = asString(input['ansName']);\n const endpoints = input['endpoints'];\n if (!ansName || !isObjectRecord(endpoints)) {\n return null;\n }\n return {\n ansName,\n endpoints,\n transparencyHints: parseTransparencyHints(input['transparency']),\n };\n}\n\nexport function selectPreferredEndpoint(\n candidates: AnsEndpointCandidate[],\n protocol: string,\n): AnsEndpointCandidate | null {\n if (candidates.length === 0) {\n return null;\n }\n\n const sortedCandidates = [...candidates].sort((a, b) =>\n a.key.localeCompare(b.key),\n );\n const protocolMatches = sortedCandidates.filter(candidate =>\n hasProtocolPathSegment(candidate.parsedUrl.pathname, protocol),\n );\n if (protocolMatches.length > 0) {\n return protocolMatches[0];\n }\n return sortedCandidates[0];\n}\n\nexport function toErrorMessage(error: unknown): string | null {\n if (error instanceof Error && error.message) {\n return error.message;\n }\n return null;\n}\n"],"names":[],"mappings":"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"}
@@ -1,245 +1,76 @@
1
- import { skillVerificationStatusResponseSchema, skillRegistryConfigResponseSchema, skillRegistryListResponseSchema, skillRegistryVersionsResponseSchema, skillRegistryMineResponseSchema, skillRegistryMyListResponseSchema, skillRegistryQuoteResponseSchema, skillRegistryPublishResponseSchema, skillRegistryJobStatusResponseSchema, skillRegistryOwnershipResponseSchema, skillRegistryVoteStatusResponseSchema, skillVerificationRequestCreateResponseSchema } from "./standards-sdk.es138.js";
2
- async function skillsConfig(client) {
3
- const raw = await client.requestJson("/skills/config", {
4
- method: "GET"
5
- });
6
- return client.parseWithSchema(
7
- raw,
8
- skillRegistryConfigResponseSchema,
9
- "skill registry config response"
10
- );
1
+ import BigNumber from "bignumber.js";
2
+ const TINYBAR_DIVISOR = 1e8;
3
+ function safePositiveTransfers(transfers) {
4
+ if (!Array.isArray(transfers)) {
5
+ return [];
6
+ }
7
+ return transfers.filter(
8
+ (transfer) => typeof transfer.amount === "number" && transfer.amount > 0
9
+ ).map((transfer) => ({
10
+ account: transfer.account,
11
+ amountTinybar: transfer.amount
12
+ }));
11
13
  }
12
- async function listSkills(client, params = {}) {
13
- const query = new URLSearchParams();
14
- if (params.name) {
15
- query.set("name", params.name);
16
- }
17
- if (params.version) {
18
- query.set("version", params.version);
19
- }
20
- if (typeof params.limit === "number" && Number.isFinite(params.limit)) {
21
- query.set("limit", String(Math.trunc(params.limit)));
22
- }
23
- if (params.cursor) {
24
- query.set("cursor", params.cursor);
25
- }
26
- if (typeof params.includeFiles === "boolean") {
27
- query.set("includeFiles", params.includeFiles ? "true" : "false");
28
- }
29
- if (params.accountId) {
30
- query.set("accountId", params.accountId);
14
+ function resolvePayerDebitTinybar(transfers, payerAccountId) {
15
+ if (!Array.isArray(transfers)) {
16
+ return null;
31
17
  }
32
- const suffix = query.size > 0 ? `?${query.toString()}` : "";
33
- const raw = await client.requestJson(`/skills${suffix}`, {
34
- method: "GET"
35
- });
36
- return client.parseWithSchema(
37
- raw,
38
- skillRegistryListResponseSchema,
39
- "skill registry list response"
18
+ const payerDebit = transfers.find(
19
+ (transfer) => transfer.account === payerAccountId && typeof transfer.amount === "number" && transfer.amount < 0
40
20
  );
41
- }
42
- async function listSkillVersions(client, params) {
43
- const normalizedName = params.name.trim();
44
- if (!normalizedName) {
45
- throw new Error("name is required");
21
+ if (!payerDebit || typeof payerDebit.amount !== "number") {
22
+ return null;
46
23
  }
47
- const query = new URLSearchParams();
48
- query.set("name", normalizedName);
49
- const raw = await client.requestJson(
50
- `/skills/versions?${query.toString()}`,
51
- { method: "GET" }
52
- );
53
- return client.parseWithSchema(
54
- raw,
55
- skillRegistryVersionsResponseSchema,
56
- "skill registry versions response"
57
- );
24
+ return Math.abs(payerDebit.amount);
58
25
  }
59
- async function listMySkills(client, params = {}) {
60
- const query = new URLSearchParams();
61
- if (typeof params.limit === "number" && Number.isFinite(params.limit)) {
62
- query.set("limit", String(Math.trunc(params.limit)));
63
- }
64
- const suffix = query.size > 0 ? `?${query.toString()}` : "";
65
- const raw = await client.requestJson(`/skills/mine${suffix}`, {
66
- method: "GET"
67
- });
68
- return client.parseWithSchema(
69
- raw,
70
- skillRegistryMineResponseSchema,
71
- "skill registry mine response"
72
- );
26
+ function toHbarString(tinybar) {
27
+ return new BigNumber(tinybar).dividedBy(TINYBAR_DIVISOR).toFixed();
73
28
  }
74
- async function getMySkillsList(client, params = {}) {
75
- const query = new URLSearchParams();
76
- if (typeof params.limit === "number" && Number.isFinite(params.limit)) {
77
- query.set("limit", String(Math.trunc(params.limit)));
29
+ function fallbackFeeTinybar(chargedTxFee) {
30
+ if (typeof chargedTxFee !== "number" || !Number.isFinite(chargedTxFee)) {
31
+ return null;
78
32
  }
79
- if (params.cursor) {
80
- query.set("cursor", params.cursor);
33
+ if (chargedTxFee <= 0) {
34
+ return null;
81
35
  }
82
- if (params.accountId) {
83
- query.set("accountId", params.accountId);
84
- }
85
- const suffix = query.size > 0 ? `?${query.toString()}` : "";
86
- const raw = await client.requestJson(`/skills/my-list${suffix}`, {
87
- method: "GET"
88
- });
89
- return client.parseWithSchema(
90
- raw,
91
- skillRegistryMyListResponseSchema,
92
- "skill registry my list response"
93
- );
94
- }
95
- async function quoteSkillPublish(client, payload) {
96
- const raw = await client.requestJson("/skills/quote", {
97
- method: "POST",
98
- body: payload,
99
- headers: { "content-type": "application/json" }
100
- });
101
- return client.parseWithSchema(
102
- raw,
103
- skillRegistryQuoteResponseSchema,
104
- "skill registry quote response"
105
- );
106
- }
107
- async function publishSkill(client, payload) {
108
- const raw = await client.requestJson("/skills/publish", {
109
- method: "POST",
110
- body: payload,
111
- headers: { "content-type": "application/json" }
112
- });
113
- return client.parseWithSchema(
114
- raw,
115
- skillRegistryPublishResponseSchema,
116
- "skill registry publish response"
117
- );
118
- }
119
- async function getSkillPublishJob(client, jobId, params = {}) {
120
- const normalized = jobId.trim();
121
- if (!normalized) {
122
- throw new Error("jobId is required");
123
- }
124
- const query = new URLSearchParams();
125
- if (params.accountId) {
126
- query.set("accountId", params.accountId);
127
- }
128
- const suffix = query.size > 0 ? `?${query.toString()}` : "";
129
- const raw = await client.requestJson(
130
- `/skills/jobs/${encodeURIComponent(normalized)}${suffix}`,
131
- { method: "GET" }
132
- );
133
- return client.parseWithSchema(
134
- raw,
135
- skillRegistryJobStatusResponseSchema,
136
- "skill registry job status response"
137
- );
36
+ return chargedTxFee;
138
37
  }
139
- async function getSkillOwnership(client, params) {
140
- const normalizedName = params.name.trim();
141
- if (!normalizedName) {
142
- throw new Error("name is required");
143
- }
144
- const query = new URLSearchParams();
145
- query.set("name", normalizedName);
146
- if (params.accountId) {
147
- query.set("accountId", params.accountId);
148
- }
149
- const raw = await client.requestJson(
150
- `/skills/ownership?${query.toString()}`,
38
+ function computeInscriptionCostSummary(params) {
39
+ const { txn, payerAccountId } = params;
40
+ const positiveTransfers = safePositiveTransfers(txn.transfers);
41
+ const payerDebitTinybar = resolvePayerDebitTinybar(
42
+ txn.transfers,
43
+ payerAccountId
44
+ );
45
+ const transferOutflowTinybar = payerDebitTinybar ?? positiveTransfers.reduce((sum, t) => sum + t.amountTinybar, 0);
46
+ const chargedFeeTinybar = fallbackFeeTinybar(txn.charged_tx_fee);
47
+ const resolvedTotalTinybar = transferOutflowTinybar > 0 ? transferOutflowTinybar : chargedFeeTinybar;
48
+ if (!resolvedTotalTinybar || resolvedTotalTinybar <= 0) {
49
+ return null;
50
+ }
51
+ const totalCostHbar = toHbarString(resolvedTotalTinybar);
52
+ const breakdownTransfers = positiveTransfers.length > 0 ? positiveTransfers.map((transfer) => ({
53
+ to: transfer.account,
54
+ amount: toHbarString(transfer.amountTinybar),
55
+ description: `HBAR transfer from ${payerAccountId}`
56
+ })) : [
151
57
  {
152
- method: "GET"
58
+ to: "Hedera network",
59
+ amount: totalCostHbar,
60
+ description: `Transaction fee debited from ${payerAccountId}`
153
61
  }
154
- );
155
- return client.parseWithSchema(
156
- raw,
157
- skillRegistryOwnershipResponseSchema,
158
- "skill registry ownership response"
159
- );
160
- }
161
- async function getSkillVoteStatus(client, params) {
162
- const normalizedName = params.name.trim();
163
- if (!normalizedName) {
164
- throw new Error("name is required");
165
- }
166
- const query = new URLSearchParams();
167
- query.set("name", normalizedName);
168
- const raw = await client.requestJson(
169
- `/skills/vote?${query.toString()}`,
170
- { method: "GET" }
171
- );
172
- return client.parseWithSchema(
173
- raw,
174
- skillRegistryVoteStatusResponseSchema,
175
- "skill registry vote status response"
176
- );
177
- }
178
- async function setSkillVote(client, payload) {
179
- const normalizedName = payload.name.trim();
180
- if (!normalizedName) {
181
- throw new Error("name is required");
182
- }
183
- const raw = await client.requestJson("/skills/vote", {
184
- method: "POST",
185
- body: { name: normalizedName, upvoted: payload.upvoted },
186
- headers: { "content-type": "application/json" }
187
- });
188
- return client.parseWithSchema(
189
- raw,
190
- skillRegistryVoteStatusResponseSchema,
191
- "skill registry vote status response"
192
- );
193
- }
194
- async function requestSkillVerification(client, payload) {
195
- const normalizedName = payload.name.trim();
196
- if (!normalizedName) {
197
- throw new Error("name is required");
198
- }
199
- const raw = await client.requestJson(
200
- "/skills/verification/request",
201
- {
202
- method: "POST",
203
- body: { name: normalizedName, tier: payload.tier },
204
- headers: { "content-type": "application/json" }
62
+ ];
63
+ return {
64
+ totalTinybar: resolvedTotalTinybar,
65
+ summary: {
66
+ totalCostHbar,
67
+ breakdown: {
68
+ transfers: breakdownTransfers
69
+ }
205
70
  }
206
- );
207
- return client.parseWithSchema(
208
- raw,
209
- skillVerificationRequestCreateResponseSchema,
210
- "skill verification request create response"
211
- );
212
- }
213
- async function getSkillVerificationStatus(client, params) {
214
- const normalizedName = params.name.trim();
215
- if (!normalizedName) {
216
- throw new Error("name is required");
217
- }
218
- const query = new URLSearchParams();
219
- query.set("name", normalizedName);
220
- const raw = await client.requestJson(
221
- `/skills/verification/status?${query.toString()}`,
222
- { method: "GET" }
223
- );
224
- return client.parseWithSchema(
225
- raw,
226
- skillVerificationStatusResponseSchema,
227
- "skill verification status response"
228
- );
71
+ };
229
72
  }
230
73
  export {
231
- getMySkillsList,
232
- getSkillOwnership,
233
- getSkillPublishJob,
234
- getSkillVerificationStatus,
235
- getSkillVoteStatus,
236
- listMySkills,
237
- listSkillVersions,
238
- listSkills,
239
- publishSkill,
240
- quoteSkillPublish,
241
- requestSkillVerification,
242
- setSkillVote,
243
- skillsConfig
74
+ computeInscriptionCostSummary
244
75
  };
245
76
  //# sourceMappingURL=standards-sdk.es161.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es161.js","sources":["../../src/services/registry-broker/client/skills.ts"],"sourcesContent":["import type {\n JsonValue,\n SkillRegistryConfigResponse,\n SkillRegistryJobStatusResponse,\n SkillRegistryListResponse,\n SkillRegistryMineResponse,\n SkillRegistryMyListResponse,\n SkillRegistryOwnershipResponse,\n SkillRegistryPublishRequest,\n SkillRegistryPublishResponse,\n SkillRegistryQuoteRequest,\n SkillRegistryQuoteResponse,\n SkillRegistryVoteRequest,\n SkillRegistryVoteStatusResponse,\n SkillRegistryVersionsResponse,\n SkillVerificationRequestCreateRequest,\n SkillVerificationRequestCreateResponse,\n SkillVerificationStatusResponse,\n} from '../types';\nimport {\n skillRegistryConfigResponseSchema,\n skillRegistryJobStatusResponseSchema,\n skillRegistryListResponseSchema,\n skillRegistryMineResponseSchema,\n skillRegistryMyListResponseSchema,\n skillRegistryOwnershipResponseSchema,\n skillRegistryPublishResponseSchema,\n skillRegistryQuoteResponseSchema,\n skillRegistryVoteStatusResponseSchema,\n skillRegistryVersionsResponseSchema,\n skillVerificationRequestCreateResponseSchema,\n skillVerificationStatusResponseSchema,\n} from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\n\nexport async function skillsConfig(\n client: RegistryBrokerClient,\n): Promise<SkillRegistryConfigResponse> {\n const raw = await client.requestJson<JsonValue>('/skills/config', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n skillRegistryConfigResponseSchema,\n 'skill registry config response',\n );\n}\n\nexport async function listSkills(\n client: RegistryBrokerClient,\n params: {\n name?: string;\n version?: string;\n limit?: number;\n cursor?: string;\n includeFiles?: boolean;\n accountId?: string;\n } = {},\n): Promise<SkillRegistryListResponse> {\n const query = new URLSearchParams();\n if (params.name) {\n query.set('name', params.name);\n }\n if (params.version) {\n query.set('version', params.version);\n }\n if (typeof params.limit === 'number' && Number.isFinite(params.limit)) {\n query.set('limit', String(Math.trunc(params.limit)));\n }\n if (params.cursor) {\n query.set('cursor', params.cursor);\n }\n if (typeof params.includeFiles === 'boolean') {\n query.set('includeFiles', params.includeFiles ? 'true' : 'false');\n }\n if (params.accountId) {\n query.set('accountId', params.accountId);\n }\n\n const suffix = query.size > 0 ? `?${query.toString()}` : '';\n\n const raw = await client.requestJson<JsonValue>(`/skills${suffix}`, {\n method: 'GET',\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryListResponseSchema,\n 'skill registry list response',\n );\n}\n\nexport async function listSkillVersions(\n client: RegistryBrokerClient,\n params: { name: string },\n): Promise<SkillRegistryVersionsResponse> {\n const normalizedName = params.name.trim();\n if (!normalizedName) {\n throw new Error('name is required');\n }\n\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/versions?${query.toString()}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillRegistryVersionsResponseSchema,\n 'skill registry versions response',\n );\n}\n\nexport async function listMySkills(\n client: RegistryBrokerClient,\n params: { limit?: number } = {},\n): Promise<SkillRegistryMineResponse> {\n const query = new URLSearchParams();\n if (typeof params.limit === 'number' && Number.isFinite(params.limit)) {\n query.set('limit', String(Math.trunc(params.limit)));\n }\n const suffix = query.size > 0 ? `?${query.toString()}` : '';\n\n const raw = await client.requestJson<JsonValue>(`/skills/mine${suffix}`, {\n method: 'GET',\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryMineResponseSchema,\n 'skill registry mine response',\n );\n}\n\nexport async function getMySkillsList(\n client: RegistryBrokerClient,\n params: { limit?: number; cursor?: string; accountId?: string } = {},\n): Promise<SkillRegistryMyListResponse> {\n const query = new URLSearchParams();\n if (typeof params.limit === 'number' && Number.isFinite(params.limit)) {\n query.set('limit', String(Math.trunc(params.limit)));\n }\n if (params.cursor) {\n query.set('cursor', params.cursor);\n }\n if (params.accountId) {\n query.set('accountId', params.accountId);\n }\n const suffix = query.size > 0 ? `?${query.toString()}` : '';\n\n const raw = await client.requestJson<JsonValue>(`/skills/my-list${suffix}`, {\n method: 'GET',\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryMyListResponseSchema,\n 'skill registry my list response',\n );\n}\n\nexport async function quoteSkillPublish(\n client: RegistryBrokerClient,\n payload: SkillRegistryQuoteRequest,\n): Promise<SkillRegistryQuoteResponse> {\n const raw = await client.requestJson<JsonValue>('/skills/quote', {\n method: 'POST',\n body: payload,\n headers: { 'content-type': 'application/json' },\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryQuoteResponseSchema,\n 'skill registry quote response',\n );\n}\n\nexport async function publishSkill(\n client: RegistryBrokerClient,\n payload: SkillRegistryPublishRequest,\n): Promise<SkillRegistryPublishResponse> {\n const raw = await client.requestJson<JsonValue>('/skills/publish', {\n method: 'POST',\n body: payload,\n headers: { 'content-type': 'application/json' },\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryPublishResponseSchema,\n 'skill registry publish response',\n );\n}\n\nexport async function getSkillPublishJob(\n client: RegistryBrokerClient,\n jobId: string,\n params: { accountId?: string } = {},\n): Promise<SkillRegistryJobStatusResponse> {\n const normalized = jobId.trim();\n if (!normalized) {\n throw new Error('jobId is required');\n }\n\n const query = new URLSearchParams();\n if (params.accountId) {\n query.set('accountId', params.accountId);\n }\n const suffix = query.size > 0 ? `?${query.toString()}` : '';\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/jobs/${encodeURIComponent(normalized)}${suffix}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillRegistryJobStatusResponseSchema,\n 'skill registry job status response',\n );\n}\n\nexport async function getSkillOwnership(\n client: RegistryBrokerClient,\n params: { name: string; accountId?: string },\n): Promise<SkillRegistryOwnershipResponse> {\n const normalizedName = params.name.trim();\n if (!normalizedName) {\n throw new Error('name is required');\n }\n\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n if (params.accountId) {\n query.set('accountId', params.accountId);\n }\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/ownership?${query.toString()}`,\n {\n method: 'GET',\n },\n );\n\n return client.parseWithSchema(\n raw,\n skillRegistryOwnershipResponseSchema,\n 'skill registry ownership response',\n );\n}\n\nexport async function getSkillVoteStatus(\n client: RegistryBrokerClient,\n params: { name: string },\n): Promise<SkillRegistryVoteStatusResponse> {\n const normalizedName = params.name.trim();\n if (!normalizedName) {\n throw new Error('name is required');\n }\n\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/vote?${query.toString()}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillRegistryVoteStatusResponseSchema,\n 'skill registry vote status response',\n );\n}\n\nexport async function setSkillVote(\n client: RegistryBrokerClient,\n payload: SkillRegistryVoteRequest,\n): Promise<SkillRegistryVoteStatusResponse> {\n const normalizedName = payload.name.trim();\n if (!normalizedName) {\n throw new Error('name is required');\n }\n\n const raw = await client.requestJson<JsonValue>('/skills/vote', {\n method: 'POST',\n body: { name: normalizedName, upvoted: payload.upvoted },\n headers: { 'content-type': 'application/json' },\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryVoteStatusResponseSchema,\n 'skill registry vote status response',\n );\n}\n\nexport async function requestSkillVerification(\n client: RegistryBrokerClient,\n payload: SkillVerificationRequestCreateRequest,\n): Promise<SkillVerificationRequestCreateResponse> {\n const normalizedName = payload.name.trim();\n if (!normalizedName) {\n throw new Error('name is required');\n }\n\n const raw = await client.requestJson<JsonValue>(\n '/skills/verification/request',\n {\n method: 'POST',\n body: { name: normalizedName, tier: payload.tier },\n headers: { 'content-type': 'application/json' },\n },\n );\n\n return client.parseWithSchema(\n raw,\n skillVerificationRequestCreateResponseSchema,\n 'skill verification request create response',\n );\n}\n\nexport async function getSkillVerificationStatus(\n client: RegistryBrokerClient,\n params: { name: string },\n): Promise<SkillVerificationStatusResponse> {\n const normalizedName = params.name.trim();\n if (!normalizedName) {\n throw new Error('name is required');\n }\n\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/verification/status?${query.toString()}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillVerificationStatusResponseSchema,\n 'skill verification status response',\n );\n}\n"],"names":[],"mappings":";AAmCA,eAAsB,aACpB,QACsC;AACtC,QAAM,MAAM,MAAM,OAAO,YAAuB,kBAAkB;AAAA,IAChE,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,WACpB,QACA,SAOI,IACgC;AACpC,QAAM,QAAQ,IAAI,gBAAA;AAClB,MAAI,OAAO,MAAM;AACf,UAAM,IAAI,QAAQ,OAAO,IAAI;AAAA,EAC/B;AACA,MAAI,OAAO,SAAS;AAClB,UAAM,IAAI,WAAW,OAAO,OAAO;AAAA,EACrC;AACA,MAAI,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,OAAO,KAAK,GAAG;AACrE,UAAM,IAAI,SAAS,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC,CAAC;AAAA,EACrD;AACA,MAAI,OAAO,QAAQ;AACjB,UAAM,IAAI,UAAU,OAAO,MAAM;AAAA,EACnC;AACA,MAAI,OAAO,OAAO,iBAAiB,WAAW;AAC5C,UAAM,IAAI,gBAAgB,OAAO,eAAe,SAAS,OAAO;AAAA,EAClE;AACA,MAAI,OAAO,WAAW;AACpB,UAAM,IAAI,aAAa,OAAO,SAAS;AAAA,EACzC;AAEA,QAAM,SAAS,MAAM,OAAO,IAAI,IAAI,MAAM,UAAU,KAAK;AAEzD,QAAM,MAAM,MAAM,OAAO,YAAuB,UAAU,MAAM,IAAI;AAAA,IAClE,QAAQ;AAAA,EAAA,CACT;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,kBACpB,QACA,QACwC;AACxC,QAAM,iBAAiB,OAAO,KAAK,KAAA;AACnC,MAAI,CAAC,gBAAgB;AACnB,UAAM,IAAI,MAAM,kBAAkB;AAAA,EACpC;AAEA,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAEhC,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,oBAAoB,MAAM,SAAA,CAAU;AAAA,IACpC,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,aACpB,QACA,SAA6B,IACO;AACpC,QAAM,QAAQ,IAAI,gBAAA;AAClB,MAAI,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,OAAO,KAAK,GAAG;AACrE,UAAM,IAAI,SAAS,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC,CAAC;AAAA,EACrD;AACA,QAAM,SAAS,MAAM,OAAO,IAAI,IAAI,MAAM,UAAU,KAAK;AAEzD,QAAM,MAAM,MAAM,OAAO,YAAuB,eAAe,MAAM,IAAI;AAAA,IACvE,QAAQ;AAAA,EAAA,CACT;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,gBACpB,QACA,SAAkE,IAC5B;AACtC,QAAM,QAAQ,IAAI,gBAAA;AAClB,MAAI,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,OAAO,KAAK,GAAG;AACrE,UAAM,IAAI,SAAS,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC,CAAC;AAAA,EACrD;AACA,MAAI,OAAO,QAAQ;AACjB,UAAM,IAAI,UAAU,OAAO,MAAM;AAAA,EACnC;AACA,MAAI,OAAO,WAAW;AACpB,UAAM,IAAI,aAAa,OAAO,SAAS;AAAA,EACzC;AACA,QAAM,SAAS,MAAM,OAAO,IAAI,IAAI,MAAM,UAAU,KAAK;AAEzD,QAAM,MAAM,MAAM,OAAO,YAAuB,kBAAkB,MAAM,IAAI;AAAA,IAC1E,QAAQ;AAAA,EAAA,CACT;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,kBACpB,QACA,SACqC;AACrC,QAAM,MAAM,MAAM,OAAO,YAAuB,iBAAiB;AAAA,IAC/D,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS,EAAE,gBAAgB,mBAAA;AAAA,EAAmB,CAC/C;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,aACpB,QACA,SACuC;AACvC,QAAM,MAAM,MAAM,OAAO,YAAuB,mBAAmB;AAAA,IACjE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS,EAAE,gBAAgB,mBAAA;AAAA,EAAmB,CAC/C;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,mBACpB,QACA,OACA,SAAiC,CAAA,GACQ;AACzC,QAAM,aAAa,MAAM,KAAA;AACzB,MAAI,CAAC,YAAY;AACf,UAAM,IAAI,MAAM,mBAAmB;AAAA,EACrC;AAEA,QAAM,QAAQ,IAAI,gBAAA;AAClB,MAAI,OAAO,WAAW;AACpB,UAAM,IAAI,aAAa,OAAO,SAAS;AAAA,EACzC;AACA,QAAM,SAAS,MAAM,OAAO,IAAI,IAAI,MAAM,UAAU,KAAK;AAEzD,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,gBAAgB,mBAAmB,UAAU,CAAC,GAAG,MAAM;AAAA,IACvD,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,kBACpB,QACA,QACyC;AACzC,QAAM,iBAAiB,OAAO,KAAK,KAAA;AACnC,MAAI,CAAC,gBAAgB;AACnB,UAAM,IAAI,MAAM,kBAAkB;AAAA,EACpC;AAEA,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAChC,MAAI,OAAO,WAAW;AACpB,UAAM,IAAI,aAAa,OAAO,SAAS;AAAA,EACzC;AAEA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,qBAAqB,MAAM,SAAA,CAAU;AAAA,IACrC;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAGF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,mBACpB,QACA,QAC0C;AAC1C,QAAM,iBAAiB,OAAO,KAAK,KAAA;AACnC,MAAI,CAAC,gBAAgB;AACnB,UAAM,IAAI,MAAM,kBAAkB;AAAA,EACpC;AAEA,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAEhC,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,gBAAgB,MAAM,SAAA,CAAU;AAAA,IAChC,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,aACpB,QACA,SAC0C;AAC1C,QAAM,iBAAiB,QAAQ,KAAK,KAAA;AACpC,MAAI,CAAC,gBAAgB;AACnB,UAAM,IAAI,MAAM,kBAAkB;AAAA,EACpC;AAEA,QAAM,MAAM,MAAM,OAAO,YAAuB,gBAAgB;AAAA,IAC9D,QAAQ;AAAA,IACR,MAAM,EAAE,MAAM,gBAAgB,SAAS,QAAQ,QAAA;AAAA,IAC/C,SAAS,EAAE,gBAAgB,mBAAA;AAAA,EAAmB,CAC/C;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,yBACpB,QACA,SACiD;AACjD,QAAM,iBAAiB,QAAQ,KAAK,KAAA;AACpC,MAAI,CAAC,gBAAgB;AACnB,UAAM,IAAI,MAAM,kBAAkB;AAAA,EACpC;AAEA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,MAAM,EAAE,MAAM,gBAAgB,MAAM,QAAQ,KAAA;AAAA,MAC5C,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAAmB;AAAA,EAChD;AAGF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,2BACpB,QACA,QAC0C;AAC1C,QAAM,iBAAiB,OAAO,KAAK,KAAA;AACnC,MAAI,CAAC,gBAAgB;AACnB,UAAM,IAAI,MAAM,kBAAkB;AAAA,EACpC;AAEA,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAEhC,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,+BAA+B,MAAM,SAAA,CAAU;AAAA,IAC/C,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"standards-sdk.es161.js","sources":["../../src/inscribe/inscription-cost.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { Transaction } from '../services/types';\nimport { QuoteResult, InscriptionCostSummary } from './types';\n\nconst TINYBAR_DIVISOR = 100000000;\n\ntype MirrorNodeTransactionLike = Pick<\n Transaction,\n 'charged_tx_fee' | 'transfers'\n>;\n\ntype CostTransfer = QuoteResult['breakdown']['transfers'][number];\n\nfunction safePositiveTransfers(\n transfers: Transaction['transfers'] | undefined,\n): Array<{ account: string; amountTinybar: number }> {\n if (!Array.isArray(transfers)) {\n return [];\n }\n\n return transfers\n .filter(\n transfer => typeof transfer.amount === 'number' && transfer.amount > 0,\n )\n .map(transfer => ({\n account: transfer.account,\n amountTinybar: transfer.amount,\n }));\n}\n\nfunction resolvePayerDebitTinybar(\n transfers: Transaction['transfers'] | undefined,\n payerAccountId: string,\n): number | null {\n if (!Array.isArray(transfers)) {\n return null;\n }\n\n const payerDebit = transfers.find(\n transfer =>\n transfer.account === payerAccountId &&\n typeof transfer.amount === 'number' &&\n transfer.amount < 0,\n );\n\n if (!payerDebit || typeof payerDebit.amount !== 'number') {\n return null;\n }\n\n return Math.abs(payerDebit.amount);\n}\n\nfunction toHbarString(tinybar: number): string {\n return new BigNumber(tinybar).dividedBy(TINYBAR_DIVISOR).toFixed();\n}\n\nfunction fallbackFeeTinybar(chargedTxFee: unknown): number | null {\n if (typeof chargedTxFee !== 'number' || !Number.isFinite(chargedTxFee)) {\n return null;\n }\n if (chargedTxFee <= 0) {\n return null;\n }\n return chargedTxFee;\n}\n\nexport function computeInscriptionCostSummary(params: {\n txn: MirrorNodeTransactionLike;\n payerAccountId: string;\n}): { summary: InscriptionCostSummary; totalTinybar: number } | null {\n const { txn, payerAccountId } = params;\n\n const positiveTransfers = safePositiveTransfers(txn.transfers);\n const payerDebitTinybar = resolvePayerDebitTinybar(\n txn.transfers,\n payerAccountId,\n );\n\n const transferOutflowTinybar =\n payerDebitTinybar ??\n positiveTransfers.reduce((sum, t) => sum + t.amountTinybar, 0);\n const chargedFeeTinybar = fallbackFeeTinybar(txn.charged_tx_fee);\n\n const resolvedTotalTinybar =\n transferOutflowTinybar > 0 ? transferOutflowTinybar : chargedFeeTinybar;\n\n if (!resolvedTotalTinybar || resolvedTotalTinybar <= 0) {\n return null;\n }\n\n const totalCostHbar = toHbarString(resolvedTotalTinybar);\n\n const breakdownTransfers: CostTransfer[] =\n positiveTransfers.length > 0\n ? positiveTransfers.map(transfer => ({\n to: transfer.account,\n amount: toHbarString(transfer.amountTinybar),\n description: `HBAR transfer from ${payerAccountId}`,\n }))\n : [\n {\n to: 'Hedera network',\n amount: totalCostHbar,\n description: `Transaction fee debited from ${payerAccountId}`,\n },\n ];\n\n return {\n totalTinybar: resolvedTotalTinybar,\n summary: {\n totalCostHbar,\n breakdown: {\n transfers: breakdownTransfers,\n },\n },\n };\n}\n"],"names":[],"mappings":";AAIA,MAAM,kBAAkB;AASxB,SAAS,sBACP,WACmD;AACnD,MAAI,CAAC,MAAM,QAAQ,SAAS,GAAG;AAC7B,WAAO,CAAA;AAAA,EACT;AAEA,SAAO,UACJ;AAAA,IACC,cAAY,OAAO,SAAS,WAAW,YAAY,SAAS,SAAS;AAAA,EAAA,EAEtE,IAAI,CAAA,cAAa;AAAA,IAChB,SAAS,SAAS;AAAA,IAClB,eAAe,SAAS;AAAA,EAAA,EACxB;AACN;AAEA,SAAS,yBACP,WACA,gBACe;AACf,MAAI,CAAC,MAAM,QAAQ,SAAS,GAAG;AAC7B,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,UAAU;AAAA,IAC3B,CAAA,aACE,SAAS,YAAY,kBACrB,OAAO,SAAS,WAAW,YAC3B,SAAS,SAAS;AAAA,EAAA;AAGtB,MAAI,CAAC,cAAc,OAAO,WAAW,WAAW,UAAU;AACxD,WAAO;AAAA,EACT;AAEA,SAAO,KAAK,IAAI,WAAW,MAAM;AACnC;AAEA,SAAS,aAAa,SAAyB;AAC7C,SAAO,IAAI,UAAU,OAAO,EAAE,UAAU,eAAe,EAAE,QAAA;AAC3D;AAEA,SAAS,mBAAmB,cAAsC;AAChE,MAAI,OAAO,iBAAiB,YAAY,CAAC,OAAO,SAAS,YAAY,GAAG;AACtE,WAAO;AAAA,EACT;AACA,MAAI,gBAAgB,GAAG;AACrB,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,SAAS,8BAA8B,QAGuB;AACnE,QAAM,EAAE,KAAK,eAAA,IAAmB;AAEhC,QAAM,oBAAoB,sBAAsB,IAAI,SAAS;AAC7D,QAAM,oBAAoB;AAAA,IACxB,IAAI;AAAA,IACJ;AAAA,EAAA;AAGF,QAAM,yBACJ,qBACA,kBAAkB,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,eAAe,CAAC;AAC/D,QAAM,oBAAoB,mBAAmB,IAAI,cAAc;AAE/D,QAAM,uBACJ,yBAAyB,IAAI,yBAAyB;AAExD,MAAI,CAAC,wBAAwB,wBAAwB,GAAG;AACtD,WAAO;AAAA,EACT;AAEA,QAAM,gBAAgB,aAAa,oBAAoB;AAEvD,QAAM,qBACJ,kBAAkB,SAAS,IACvB,kBAAkB,IAAI,CAAA,cAAa;AAAA,IACjC,IAAI,SAAS;AAAA,IACb,QAAQ,aAAa,SAAS,aAAa;AAAA,IAC3C,aAAa,sBAAsB,cAAc;AAAA,EAAA,EACjD,IACF;AAAA,IACE;AAAA,MACE,IAAI;AAAA,MACJ,QAAQ;AAAA,MACR,aAAa,gCAAgC,cAAc;AAAA,IAAA;AAAA,EAC7D;AAGR,SAAO;AAAA,IACL,cAAc;AAAA,IACd,SAAS;AAAA,MACP;AAAA,MACA,WAAW;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,EACF;AAEJ;"}