@hashgraphonline/standards-sdk 0.1.143-feat-solana-register.canary.1c6f446.78 → 0.1.144-feat-solana-register.canary.d5edcec.80

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 (340) hide show
  1. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  2. package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
  3. package/dist/cjs/index.d.ts.map +1 -1
  4. package/dist/cjs/services/registry-broker/schemas.d.ts +153 -153
  5. package/dist/cjs/standards-sdk.cjs +2 -2
  6. package/dist/cjs/standards-sdk.cjs.map +1 -1
  7. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  8. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  9. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  10. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  11. package/dist/es/index.d.ts.map +1 -1
  12. package/dist/es/services/registry-broker/schemas.d.ts +153 -153
  13. package/dist/es/standards-sdk.es.js +134 -135
  14. package/dist/es/standards-sdk.es.js.map +1 -1
  15. package/dist/es/standards-sdk.es10.js +70 -90
  16. package/dist/es/standards-sdk.es10.js.map +1 -1
  17. package/dist/es/standards-sdk.es100.js +229 -27
  18. package/dist/es/standards-sdk.es100.js.map +1 -1
  19. package/dist/es/standards-sdk.es101.js +109 -228
  20. package/dist/es/standards-sdk.es101.js.map +1 -1
  21. package/dist/es/standards-sdk.es102.js +15 -94
  22. package/dist/es/standards-sdk.es102.js.map +1 -1
  23. package/dist/es/standards-sdk.es103.js +80 -30
  24. package/dist/es/standards-sdk.es103.js.map +1 -1
  25. package/dist/es/standards-sdk.es104.js +27 -80
  26. package/dist/es/standards-sdk.es104.js.map +1 -1
  27. package/dist/es/standards-sdk.es105.js +136 -25
  28. package/dist/es/standards-sdk.es105.js.map +1 -1
  29. package/dist/es/standards-sdk.es106.js +27 -140
  30. package/dist/es/standards-sdk.es106.js.map +1 -1
  31. package/dist/es/standards-sdk.es107.js +20 -27
  32. package/dist/es/standards-sdk.es107.js.map +1 -1
  33. package/dist/es/standards-sdk.es108.js +156 -18
  34. package/dist/es/standards-sdk.es108.js.map +1 -1
  35. package/dist/es/standards-sdk.es109.js +198 -148
  36. package/dist/es/standards-sdk.es109.js.map +1 -1
  37. package/dist/es/standards-sdk.es11.js +121 -45
  38. package/dist/es/standards-sdk.es11.js.map +1 -1
  39. package/dist/es/standards-sdk.es110.js +747 -167
  40. package/dist/es/standards-sdk.es110.js.map +1 -1
  41. package/dist/es/standards-sdk.es111.js +9 -786
  42. package/dist/es/standards-sdk.es111.js.map +1 -1
  43. package/dist/es/standards-sdk.es112.js +567 -13
  44. package/dist/es/standards-sdk.es112.js.map +1 -1
  45. package/dist/es/standards-sdk.es113.js +576 -541
  46. package/dist/es/standards-sdk.es113.js.map +1 -1
  47. package/dist/es/standards-sdk.es114.js +12 -601
  48. package/dist/es/standards-sdk.es114.js.map +1 -1
  49. package/dist/es/standards-sdk.es115.js +2 -13
  50. package/dist/es/standards-sdk.es115.js.map +1 -1
  51. package/dist/es/standards-sdk.es116.js +87 -2
  52. package/dist/es/standards-sdk.es116.js.map +1 -1
  53. package/dist/es/standards-sdk.es117.js +37 -84
  54. package/dist/es/standards-sdk.es117.js.map +1 -1
  55. package/dist/es/standards-sdk.es118.js +2 -40
  56. package/dist/es/standards-sdk.es118.js.map +1 -1
  57. package/dist/es/standards-sdk.es119.js +231 -2
  58. package/dist/es/standards-sdk.es119.js.map +1 -1
  59. package/dist/es/standards-sdk.es12.js +60 -159
  60. package/dist/es/standards-sdk.es12.js.map +1 -1
  61. package/dist/es/standards-sdk.es120.js +1110 -201
  62. package/dist/es/standards-sdk.es120.js.map +1 -1
  63. package/dist/es/standards-sdk.es121.js +225 -1059
  64. package/dist/es/standards-sdk.es121.js.map +1 -1
  65. package/dist/es/standards-sdk.es122.js +419 -303
  66. package/dist/es/standards-sdk.es122.js.map +1 -1
  67. package/dist/es/standards-sdk.es123.js +351 -418
  68. package/dist/es/standards-sdk.es123.js.map +1 -1
  69. package/dist/es/standards-sdk.es124.js +872 -347
  70. package/dist/es/standards-sdk.es124.js.map +1 -1
  71. package/dist/es/standards-sdk.es125.js +182 -854
  72. package/dist/es/standards-sdk.es125.js.map +1 -1
  73. package/dist/es/standards-sdk.es126.js +1512 -153
  74. package/dist/es/standards-sdk.es126.js.map +1 -1
  75. package/dist/es/standards-sdk.es127.js +157 -1547
  76. package/dist/es/standards-sdk.es127.js.map +1 -1
  77. package/dist/es/standards-sdk.es128.js +192 -162
  78. package/dist/es/standards-sdk.es128.js.map +1 -1
  79. package/dist/es/standards-sdk.es129.js +61 -164
  80. package/dist/es/standards-sdk.es129.js.map +1 -1
  81. package/dist/es/standards-sdk.es13.js +200 -60
  82. package/dist/es/standards-sdk.es13.js.map +1 -1
  83. package/dist/es/standards-sdk.es130.js +102 -85
  84. package/dist/es/standards-sdk.es130.js.map +1 -1
  85. package/dist/es/standards-sdk.es131.js +222 -96
  86. package/dist/es/standards-sdk.es131.js.map +1 -1
  87. package/dist/es/standards-sdk.es132.js +153 -220
  88. package/dist/es/standards-sdk.es132.js.map +1 -1
  89. package/dist/es/standards-sdk.es133.js +104 -162
  90. package/dist/es/standards-sdk.es133.js.map +1 -1
  91. package/dist/es/standards-sdk.es134.js +296 -92
  92. package/dist/es/standards-sdk.es134.js.map +1 -1
  93. package/dist/es/standards-sdk.es135.js +432 -294
  94. package/dist/es/standards-sdk.es135.js.map +1 -1
  95. package/dist/es/standards-sdk.es136.js +14 -461
  96. package/dist/es/standards-sdk.es136.js.map +1 -1
  97. package/dist/es/standards-sdk.es137.js +79 -15
  98. package/dist/es/standards-sdk.es137.js.map +1 -1
  99. package/dist/es/standards-sdk.es138.js +77 -71
  100. package/dist/es/standards-sdk.es138.js.map +1 -1
  101. package/dist/es/standards-sdk.es139.js +152 -80
  102. package/dist/es/standards-sdk.es139.js.map +1 -1
  103. package/dist/es/standards-sdk.es14.js +149 -178
  104. package/dist/es/standards-sdk.es14.js.map +1 -1
  105. package/dist/es/standards-sdk.es140.js +7 -159
  106. package/dist/es/standards-sdk.es140.js.map +1 -1
  107. package/dist/es/standards-sdk.es141.js +86 -7
  108. package/dist/es/standards-sdk.es141.js.map +1 -1
  109. package/dist/es/standards-sdk.es142.js +44 -65
  110. package/dist/es/standards-sdk.es142.js.map +1 -1
  111. package/dist/es/standards-sdk.es143.js +30 -65
  112. package/dist/es/standards-sdk.es143.js.map +1 -1
  113. package/dist/es/standards-sdk.es144.js +34 -30
  114. package/dist/es/standards-sdk.es144.js.map +1 -1
  115. package/dist/es/standards-sdk.es145.js +28 -34
  116. package/dist/es/standards-sdk.es145.js.map +1 -1
  117. package/dist/es/standards-sdk.es146.js +138 -28
  118. package/dist/es/standards-sdk.es146.js.map +1 -1
  119. package/dist/es/standards-sdk.es147.js +37 -133
  120. package/dist/es/standards-sdk.es147.js.map +1 -1
  121. package/dist/es/standards-sdk.es148.js +12280 -33
  122. package/dist/es/standards-sdk.es148.js.map +1 -1
  123. package/dist/es/standards-sdk.es149.js +1 -1
  124. package/dist/es/standards-sdk.es15.js +152 -151
  125. package/dist/es/standards-sdk.es15.js.map +1 -1
  126. package/dist/es/standards-sdk.es150.js +12 -12284
  127. package/dist/es/standards-sdk.es150.js.map +1 -1
  128. package/dist/es/standards-sdk.es151.js +54 -15
  129. package/dist/es/standards-sdk.es151.js.map +1 -1
  130. package/dist/es/standards-sdk.es152.js +72 -160
  131. package/dist/es/standards-sdk.es152.js.map +1 -1
  132. package/dist/es/standards-sdk.es153.js +139 -289
  133. package/dist/es/standards-sdk.es153.js.map +1 -1
  134. package/dist/es/standards-sdk.es154.js +274 -298
  135. package/dist/es/standards-sdk.es154.js.map +1 -1
  136. package/dist/es/standards-sdk.es155.js +262 -369
  137. package/dist/es/standards-sdk.es155.js.map +1 -1
  138. package/dist/es/standards-sdk.es156.js +316 -194
  139. package/dist/es/standards-sdk.es156.js.map +1 -1
  140. package/dist/es/standards-sdk.es157.js +319 -64
  141. package/dist/es/standards-sdk.es157.js.map +1 -1
  142. package/dist/es/standards-sdk.es158.js +69 -49
  143. package/dist/es/standards-sdk.es158.js.map +1 -1
  144. package/dist/es/standards-sdk.es159.js +222 -65
  145. package/dist/es/standards-sdk.es159.js.map +1 -1
  146. package/dist/es/standards-sdk.es16.js +917 -136
  147. package/dist/es/standards-sdk.es16.js.map +1 -1
  148. package/dist/es/standards-sdk.es160.js +223 -218
  149. package/dist/es/standards-sdk.es160.js.map +1 -1
  150. package/dist/es/standards-sdk.es17.js +23 -948
  151. package/dist/es/standards-sdk.es17.js.map +1 -1
  152. package/dist/es/standards-sdk.es18.js +2422 -24
  153. package/dist/es/standards-sdk.es18.js.map +1 -1
  154. package/dist/es/standards-sdk.es19.js +818 -2092
  155. package/dist/es/standards-sdk.es19.js.map +1 -1
  156. package/dist/es/standards-sdk.es2.js +654 -189
  157. package/dist/es/standards-sdk.es2.js.map +1 -1
  158. package/dist/es/standards-sdk.es20.js +205 -1092
  159. package/dist/es/standards-sdk.es20.js.map +1 -1
  160. package/dist/es/standards-sdk.es21.js +858 -221
  161. package/dist/es/standards-sdk.es21.js.map +1 -1
  162. package/dist/es/standards-sdk.es22.js +179 -903
  163. package/dist/es/standards-sdk.es22.js.map +1 -1
  164. package/dist/es/standards-sdk.es23.js +164 -179
  165. package/dist/es/standards-sdk.es23.js.map +1 -1
  166. package/dist/es/standards-sdk.es24.js +62 -118
  167. package/dist/es/standards-sdk.es24.js.map +1 -1
  168. package/dist/es/standards-sdk.es25.js +377 -57
  169. package/dist/es/standards-sdk.es25.js.map +1 -1
  170. package/dist/es/standards-sdk.es26.js +36 -394
  171. package/dist/es/standards-sdk.es26.js.map +1 -1
  172. package/dist/es/standards-sdk.es27.js +901 -50
  173. package/dist/es/standards-sdk.es27.js.map +1 -1
  174. package/dist/es/standards-sdk.es28.js +134 -922
  175. package/dist/es/standards-sdk.es28.js.map +1 -1
  176. package/dist/es/standards-sdk.es29.js +7 -134
  177. package/dist/es/standards-sdk.es29.js.map +1 -1
  178. package/dist/es/standards-sdk.es3.js +63 -680
  179. package/dist/es/standards-sdk.es3.js.map +1 -1
  180. package/dist/es/standards-sdk.es30.js +344 -7
  181. package/dist/es/standards-sdk.es30.js.map +1 -1
  182. package/dist/es/standards-sdk.es31.js +302 -287
  183. package/dist/es/standards-sdk.es31.js.map +1 -1
  184. package/dist/es/standards-sdk.es32.js +94 -322
  185. package/dist/es/standards-sdk.es32.js.map +1 -1
  186. package/dist/es/standards-sdk.es33.js +458 -101
  187. package/dist/es/standards-sdk.es33.js.map +1 -1
  188. package/dist/es/standards-sdk.es34.js +132 -451
  189. package/dist/es/standards-sdk.es34.js.map +1 -1
  190. package/dist/es/standards-sdk.es35.js +216 -130
  191. package/dist/es/standards-sdk.es35.js.map +1 -1
  192. package/dist/es/standards-sdk.es36.js +273 -196
  193. package/dist/es/standards-sdk.es36.js.map +1 -1
  194. package/dist/es/standards-sdk.es37.js +148 -87
  195. package/dist/es/standards-sdk.es37.js.map +1 -1
  196. package/dist/es/standards-sdk.es38.js +183 -320
  197. package/dist/es/standards-sdk.es38.js.map +1 -1
  198. package/dist/es/standards-sdk.es39.js +238 -161
  199. package/dist/es/standards-sdk.es39.js.map +1 -1
  200. package/dist/es/standards-sdk.es4.js +425 -63
  201. package/dist/es/standards-sdk.es4.js.map +1 -1
  202. package/dist/es/standards-sdk.es40.js +136 -254
  203. package/dist/es/standards-sdk.es40.js.map +1 -1
  204. package/dist/es/standards-sdk.es41.js +225 -176
  205. package/dist/es/standards-sdk.es41.js.map +1 -1
  206. package/dist/es/standards-sdk.es42.js +199 -261
  207. package/dist/es/standards-sdk.es42.js.map +1 -1
  208. package/dist/es/standards-sdk.es43.js +237 -199
  209. package/dist/es/standards-sdk.es43.js.map +1 -1
  210. package/dist/es/standards-sdk.es44.js +209 -201
  211. package/dist/es/standards-sdk.es44.js.map +1 -1
  212. package/dist/es/standards-sdk.es45.js +305 -201
  213. package/dist/es/standards-sdk.es45.js.map +1 -1
  214. package/dist/es/standards-sdk.es46.js +371 -261
  215. package/dist/es/standards-sdk.es46.js.map +1 -1
  216. package/dist/es/standards-sdk.es47.js +316 -372
  217. package/dist/es/standards-sdk.es47.js.map +1 -1
  218. package/dist/es/standards-sdk.es48.js +404 -336
  219. package/dist/es/standards-sdk.es48.js.map +1 -1
  220. package/dist/es/standards-sdk.es49.js +83 -449
  221. package/dist/es/standards-sdk.es49.js.map +1 -1
  222. package/dist/es/standards-sdk.es5.js +232 -354
  223. package/dist/es/standards-sdk.es5.js.map +1 -1
  224. package/dist/es/standards-sdk.es50.js +179 -89
  225. package/dist/es/standards-sdk.es50.js.map +1 -1
  226. package/dist/es/standards-sdk.es51.js +231 -165
  227. package/dist/es/standards-sdk.es51.js.map +1 -1
  228. package/dist/es/standards-sdk.es52.js +25 -262
  229. package/dist/es/standards-sdk.es52.js.map +1 -1
  230. package/dist/es/standards-sdk.es53.js +56 -26
  231. package/dist/es/standards-sdk.es53.js.map +1 -1
  232. package/dist/es/standards-sdk.es54.js +12 -57
  233. package/dist/es/standards-sdk.es54.js.map +1 -1
  234. package/dist/es/standards-sdk.es55.js +49 -12
  235. package/dist/es/standards-sdk.es55.js.map +1 -1
  236. package/dist/es/standards-sdk.es56.js +115 -43
  237. package/dist/es/standards-sdk.es56.js.map +1 -1
  238. package/dist/es/standards-sdk.es57.js +42 -115
  239. package/dist/es/standards-sdk.es57.js.map +1 -1
  240. package/dist/es/standards-sdk.es58.js +52 -43
  241. package/dist/es/standards-sdk.es58.js.map +1 -1
  242. package/dist/es/standards-sdk.es59.js +36 -50
  243. package/dist/es/standards-sdk.es59.js.map +1 -1
  244. package/dist/es/standards-sdk.es6.js +125 -246
  245. package/dist/es/standards-sdk.es6.js.map +1 -1
  246. package/dist/es/standards-sdk.es60.js +207 -39
  247. package/dist/es/standards-sdk.es60.js.map +1 -1
  248. package/dist/es/standards-sdk.es61.js +24 -201
  249. package/dist/es/standards-sdk.es61.js.map +1 -1
  250. package/dist/es/standards-sdk.es62.js +87 -25
  251. package/dist/es/standards-sdk.es62.js.map +1 -1
  252. package/dist/es/standards-sdk.es63.js +3 -51
  253. package/dist/es/standards-sdk.es63.js.map +1 -1
  254. package/dist/es/standards-sdk.es64.js +100 -3
  255. package/dist/es/standards-sdk.es64.js.map +1 -1
  256. package/dist/es/standards-sdk.es65.js +61 -62
  257. package/dist/es/standards-sdk.es65.js.map +1 -1
  258. package/dist/es/standards-sdk.es66.js +17 -98
  259. package/dist/es/standards-sdk.es66.js.map +1 -1
  260. package/dist/es/standards-sdk.es67.js +77 -19
  261. package/dist/es/standards-sdk.es67.js.map +1 -1
  262. package/dist/es/standards-sdk.es68.js +458 -77
  263. package/dist/es/standards-sdk.es68.js.map +1 -1
  264. package/dist/es/standards-sdk.es69.js +106 -240
  265. package/dist/es/standards-sdk.es69.js.map +1 -1
  266. package/dist/es/standards-sdk.es7.js +28 -183
  267. package/dist/es/standards-sdk.es7.js.map +1 -1
  268. package/dist/es/standards-sdk.es70.js +170 -286
  269. package/dist/es/standards-sdk.es70.js.map +1 -1
  270. package/dist/es/standards-sdk.es71.js +71 -207
  271. package/dist/es/standards-sdk.es71.js.map +1 -1
  272. package/dist/es/standards-sdk.es72.js +71 -72
  273. package/dist/es/standards-sdk.es72.js.map +1 -1
  274. package/dist/es/standards-sdk.es73.js +143 -71
  275. package/dist/es/standards-sdk.es73.js.map +1 -1
  276. package/dist/es/standards-sdk.es74.js +62 -136
  277. package/dist/es/standards-sdk.es74.js.map +1 -1
  278. package/dist/es/standards-sdk.es75.js +380 -45
  279. package/dist/es/standards-sdk.es75.js.map +1 -1
  280. package/dist/es/standards-sdk.es76.js +222 -130
  281. package/dist/es/standards-sdk.es76.js.map +1 -1
  282. package/dist/es/standards-sdk.es77.js +320 -444
  283. package/dist/es/standards-sdk.es77.js.map +1 -1
  284. package/dist/es/standards-sdk.es78.js +88 -371
  285. package/dist/es/standards-sdk.es78.js.map +1 -1
  286. package/dist/es/standards-sdk.es79.js +125 -89
  287. package/dist/es/standards-sdk.es79.js.map +1 -1
  288. package/dist/es/standards-sdk.es8.js +80 -29
  289. package/dist/es/standards-sdk.es8.js.map +1 -1
  290. package/dist/es/standards-sdk.es80.js +8 -125
  291. package/dist/es/standards-sdk.es80.js.map +1 -1
  292. package/dist/es/standards-sdk.es81.js +45 -6
  293. package/dist/es/standards-sdk.es81.js.map +1 -1
  294. package/dist/es/standards-sdk.es82.js +98 -44
  295. package/dist/es/standards-sdk.es82.js.map +1 -1
  296. package/dist/es/standards-sdk.es83.js +331 -84
  297. package/dist/es/standards-sdk.es83.js.map +1 -1
  298. package/dist/es/standards-sdk.es84.js +93 -160
  299. package/dist/es/standards-sdk.es84.js.map +1 -1
  300. package/dist/es/standards-sdk.es85.js +55 -275
  301. package/dist/es/standards-sdk.es85.js.map +1 -1
  302. package/dist/es/standards-sdk.es86.js +43 -55
  303. package/dist/es/standards-sdk.es86.js.map +1 -1
  304. package/dist/es/standards-sdk.es87.js +145 -44
  305. package/dist/es/standards-sdk.es87.js.map +1 -1
  306. package/dist/es/standards-sdk.es88.js +30 -113
  307. package/dist/es/standards-sdk.es88.js.map +1 -1
  308. package/dist/es/standards-sdk.es89.js +22 -59
  309. package/dist/es/standards-sdk.es89.js.map +1 -1
  310. package/dist/es/standards-sdk.es9.js +104 -80
  311. package/dist/es/standards-sdk.es9.js.map +1 -1
  312. package/dist/es/standards-sdk.es90.js +23 -28
  313. package/dist/es/standards-sdk.es90.js.map +1 -1
  314. package/dist/es/standards-sdk.es91.js +238 -23
  315. package/dist/es/standards-sdk.es91.js.map +1 -1
  316. package/dist/es/standards-sdk.es92.js +267 -225
  317. package/dist/es/standards-sdk.es92.js.map +1 -1
  318. package/dist/es/standards-sdk.es93.js +95 -220
  319. package/dist/es/standards-sdk.es93.js.map +1 -1
  320. package/dist/es/standards-sdk.es94.js +124 -136
  321. package/dist/es/standards-sdk.es94.js.map +1 -1
  322. package/dist/es/standards-sdk.es95.js +42 -138
  323. package/dist/es/standards-sdk.es95.js.map +1 -1
  324. package/dist/es/standards-sdk.es96.js +259 -43
  325. package/dist/es/standards-sdk.es96.js.map +1 -1
  326. package/dist/es/standards-sdk.es97.js +82 -245
  327. package/dist/es/standards-sdk.es97.js.map +1 -1
  328. package/dist/es/standards-sdk.es98.js +49 -50
  329. package/dist/es/standards-sdk.es98.js.map +1 -1
  330. package/dist/es/standards-sdk.es99.js +29 -100
  331. package/dist/es/standards-sdk.es99.js.map +1 -1
  332. package/dist/es/utils/dynamic-import.d.ts +5 -1
  333. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  334. package/package.json +4 -4
  335. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  336. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  337. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  338. package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
  339. package/dist/es/standards-sdk.es161.js +0 -247
  340. package/dist/es/standards-sdk.es161.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es2.js","sources":["../../src/patches/topic-autorenew-patch.ts"],"sourcesContent":["type TopicCreateTransactionCtor =\n (typeof import('@hashgraph/sdk'))['TopicCreateTransaction'];\ntype AccountIdCtor = (typeof import('@hashgraph/sdk'))['AccountId'];\ntype AccountIdInstance = InstanceType<AccountIdCtor>;\ntype NodeRequire = (moduleId: string) => unknown;\ntype ModuleConstructor = {\n createRequire?: (url: string | URL | undefined) => NodeRequire;\n};\n\ndeclare const module: ModuleConstructor | undefined;\ndeclare const require: NodeRequire | undefined;\n\nconst accountIdPattern = /^\\d+\\.\\d+\\.\\d+$/u;\nconst prototypeMarker = Symbol.for('standards-sdk.topic-auto-renew.patch');\nconst accountMarker = Symbol.for('standards-sdk.account-id.patch');\n\nconst nodeRequire = getNodeRequire();\n\nif (nodeRequire) {\n bootstrap(nodeRequire);\n} else {\n Reflect.set(globalThis, '__standardsSdkTopicAutoRenewPatched', false);\n}\n\nfunction bootstrap(requireFn: NodeRequire): void {\n const accountModule = safeRequire<{ default: AccountIdCtor }>(\n requireFn,\n '@hashgraph/sdk/lib/account/AccountId.cjs',\n );\n const topicModule = safeRequire<{ default: TopicCreateTransactionCtor }>(\n requireFn,\n '@hashgraph/sdk/lib/topic/TopicCreateTransaction.cjs',\n );\n const sdkModule = safeRequire<{\n AccountId?: AccountIdCtor;\n TopicCreateTransaction?: TopicCreateTransactionCtor;\n default?: {\n AccountId?: AccountIdCtor;\n TopicCreateTransaction?: TopicCreateTransactionCtor;\n };\n }>(requireFn, '@hashgraph/sdk');\n\n const candidates: Array<{\n accountId?: AccountIdCtor;\n topic?: TopicCreateTransactionCtor;\n }> = [];\n\n if (accountModule?.default && topicModule?.default) {\n candidates.push({\n accountId: accountModule.default,\n topic: topicModule.default,\n });\n }\n\n if (sdkModule) {\n candidates.push({\n accountId: sdkModule.AccountId ?? sdkModule.default?.AccountId,\n topic:\n sdkModule.TopicCreateTransaction ??\n sdkModule.default?.TopicCreateTransaction,\n });\n }\n\n for (const candidate of candidates) {\n patchTopicModule(candidate.topic, candidate.accountId);\n }\n\n Reflect.set(globalThis, '__standardsSdkTopicAutoRenewPatched', true);\n}\n\nfunction getNodeRequire(): NodeRequire | null {\n const moduleConstructor = getModuleConstructor();\n\n if (moduleConstructor?.createRequire) {\n try {\n return moduleConstructor.createRequire(import.meta.url);\n } catch {\n return null;\n }\n }\n\n if (typeof require === 'function') {\n return require;\n }\n\n return null;\n}\n\nfunction getModuleConstructor(): ModuleConstructor | null {\n try {\n if (typeof module !== 'undefined' && module?.createRequire) {\n return module;\n }\n } catch {}\n\n try {\n if (typeof require === 'function') {\n const requiredModule = require('module') as ModuleConstructor;\n\n if (requiredModule?.createRequire) {\n return requiredModule;\n }\n }\n } catch {}\n\n return null;\n}\n\nfunction safeRequire<T>(requireFn: NodeRequire, moduleId: string): T | null {\n try {\n return requireFn(moduleId) as T;\n } catch {\n return null;\n }\n}\n\nfunction patchTopicModule(\n topicCtor?: TopicCreateTransactionCtor,\n accountCtor?: AccountIdCtor,\n): void {\n if (!topicCtor || !accountCtor) {\n return;\n }\n\n patchAccountId(accountCtor);\n\n const prototype = topicCtor.prototype;\n\n if (Reflect.get(prototype, prototypeMarker)) {\n return;\n }\n\n const originalSet = prototype.setAutoRenewAccountId;\n const originalFreeze = prototype.freezeWith;\n\n prototype.setAutoRenewAccountId = function setAutoRenewAccountIdPatched(\n this: TopicPrototype,\n autoRenewAccountId: unknown,\n ) {\n const resolved = resolveAccountId(autoRenewAccountId, accountCtor);\n\n if (resolved) {\n requireNotFrozen(this);\n this._autoRenewAccountId = resolved;\n return this;\n }\n\n return originalSet.call(\n this,\n autoRenewAccountId as AccountIdInstance | string,\n );\n };\n\n prototype.freezeWith = function freezeWithPatched(\n this: TopicPrototype,\n client?: unknown,\n ) {\n if (\n !this.getAutoRenewAccountId ||\n typeof this.getAutoRenewAccountId !== 'function'\n ) {\n return originalFreeze.call(this, client);\n }\n\n const current = this.getAutoRenewAccountId();\n\n if (!current) {\n const transactionAccountId = this.transactionId?.accountId;\n const operatorAccountId = (client as ClientLike | null | undefined)\n ?.operatorAccountId;\n const resolved =\n resolveAccountId(transactionAccountId, accountCtor) ??\n resolveAccountId(operatorAccountId, accountCtor);\n\n if (resolved) {\n this._autoRenewAccountId = resolved;\n }\n }\n\n return originalFreeze.call(this, client);\n };\n\n Reflect.set(prototype, prototypeMarker, true);\n}\n\nfunction patchAccountId(accountCtor: AccountIdCtor): void {\n if (Reflect.get(accountCtor, accountMarker)) {\n return;\n }\n\n const originalFromString = accountCtor.fromString.bind(accountCtor);\n\n accountCtor.fromString = function accountIdFromStringPatched(\n value: unknown,\n ): AccountIdInstance {\n if (typeof value === 'string') {\n return originalFromString(value);\n }\n\n const extracted = extractAccountIdString(value);\n\n if (extracted) {\n return originalFromString(extracted);\n }\n\n if (isProtoAccountId(value)) {\n const shard = toNumericString(value.shard);\n const realm = toNumericString(value.realm);\n const num = toNumericString(value.num);\n\n if (shard && realm && num) {\n return originalFromString(`${shard}.${realm}.${num}`);\n }\n }\n\n return originalFromString(value as string);\n };\n\n Reflect.set(accountCtor, accountMarker, true);\n}\n\nfunction resolveAccountId(\n value: unknown,\n accountCtor: AccountIdCtor,\n): AccountIdInstance | null {\n if (value instanceof accountCtor) {\n return value;\n }\n\n if (typeof value === 'string' && accountIdPattern.test(value)) {\n return accountCtor.fromString(value);\n }\n\n const normalized = normalizeAutoRenewValue(value);\n\n if (normalized) {\n return accountCtor.fromString(normalized);\n }\n\n return null;\n}\n\nfunction normalizeAutoRenewValue(value: unknown): string | null {\n if (typeof value === 'string' && accountIdPattern.test(value)) {\n return value;\n }\n\n const extracted = extractAccountIdString(value);\n\n if (extracted) {\n return extracted;\n }\n\n if (isProtoAccountId(value)) {\n const shard = toNumericString(value.shard);\n const realm = toNumericString(value.realm);\n const num = toNumericString(value.num);\n\n if (shard && realm && num) {\n const composed = `${shard}.${realm}.${num}`;\n if (accountIdPattern.test(composed)) {\n return composed;\n }\n }\n }\n\n return null;\n}\n\nfunction extractAccountIdString(value: unknown): string | null {\n if (typeof value !== 'object' || value === null) {\n return null;\n }\n\n const candidate = value as { toString?: () => unknown };\n const method = candidate.toString;\n\n if (typeof method !== 'function') {\n return null;\n }\n\n const result = method.call(value);\n\n if (typeof result !== 'string') {\n return null;\n }\n\n return accountIdPattern.test(result) ? result : null;\n}\n\nfunction isProtoAccountId(value: unknown): value is {\n shard: { toString: () => string };\n realm: { toString: () => string };\n num: { toString: () => string };\n} {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n\n const candidate = value as Record<string, unknown>;\n\n return (\n hasToString(candidate.shard) &&\n hasToString(candidate.realm) &&\n hasToString(candidate.num)\n );\n}\n\nfunction hasToString(value: unknown): value is { toString: () => string } {\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof (value as { toString?: unknown }).toString === 'function'\n );\n}\n\nfunction toNumericString(value: unknown): string | null {\n if (typeof value === 'number' && Number.isFinite(value)) {\n return String(Math.trunc(value));\n }\n\n if (typeof value === 'bigint') {\n return value.toString();\n }\n\n if (hasToString(value)) {\n const result = value.toString();\n if (/^\\d+$/u.test(result)) {\n return result;\n }\n }\n\n return null;\n}\n\nfunction requireNotFrozen(target: TopicPrototype): void {\n const candidate = target as { _requireNotFrozen?: () => void };\n candidate._requireNotFrozen?.();\n}\n\ntype ClientLike = {\n operatorAccountId?: unknown;\n};\n\ntype TopicPrototype = {\n setAutoRenewAccountId?: (...args: unknown[]) => unknown;\n freezeWith?: (...args: unknown[]) => unknown;\n getAutoRenewAccountId?: () => AccountIdInstance | null;\n transactionId?: { accountId?: unknown } | null;\n _autoRenewAccountId?: AccountIdInstance | null;\n [key: string]: unknown;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es2.js","sources":["../../src/hcs-3/src/index.ts"],"sourcesContent":["import {\n HCSSDK,\n LoadQueueItem,\n HCSConfigMapping,\n HCSConfig,\n LoadType,\n} from './types';\nimport { Logger, ILogger } from '../../utils/logger';\nimport { sleep } from '../../utils/sleep';\n\nexport class HCS implements HCSSDK {\n config: HCSConfig;\n configMapping: HCSConfigMapping;\n LoadedScripts: Record<string, string>;\n LoadedWasm: Record<string, WebAssembly.Instance>;\n LoadedImages: Record<string, string>;\n LoadedVideos: Record<string, string>;\n LoadedAudios: Record<string, HTMLAudioElement>;\n LoadedAudioUrls: Record<string, string>;\n LoadedGLBs: Record<string, string>;\n scriptLoadedEvent: Event;\n loadQueue: LoadQueueItem[];\n isProcessingQueue: boolean;\n private modelViewerLoaded: boolean = false;\n private modelViewerLoading: Promise<void> | null = null;\n private logger: ILogger;\n\n constructor() {\n this.config = {\n cdnUrl: 'https://kiloscribe.com/api/inscription-cdn/',\n network: 'mainnet',\n retryAttempts: 3,\n retryBackoff: 300,\n debug: false,\n showLoadingIndicator: false,\n loadingCallbackName: null,\n };\n this.configMapping = {\n hcsCdnUrl: 'cdnUrl',\n hcsNetwork: 'network',\n hcsRetryAttempts: 'retryAttempts',\n hcsRetryBackoff: 'retryBackoff',\n hcsDebug: 'debug',\n hcsShowLoadingIndicator: 'showLoadingIndicator',\n hcsLoadingCallbackName: 'loadingCallbackName',\n };\n this.LoadedScripts = {};\n this.LoadedWasm = {};\n this.LoadedImages = {};\n this.LoadedVideos = {};\n this.LoadedAudios = {};\n this.LoadedAudioUrls = {};\n this.LoadedGLBs = {};\n this.scriptLoadedEvent = new Event('HCSScriptLoaded');\n this.loadQueue = [] as LoadQueueItem[];\n this.isProcessingQueue = false;\n\n try {\n this.logger = Logger.getInstance({\n module: 'HCS-3',\n level: this.config.debug ? 'debug' : 'error',\n });\n } catch (e) {\n this.logger = this.createFallbackLogger();\n }\n }\n\n private createFallbackLogger(): Logger {\n const fallbackLogger = {\n debug: (...args: any[]) =>\n this.config.debug && console.debug('[HCS-3]', ...args),\n info: (...args: any[]) =>\n this.config.debug && console.info('[HCS-3]', ...args),\n warn: (...args: any[]) => console.warn('[HCS-3]', ...args),\n error: (...args: any[]) => console.error('[HCS-3]', ...args),\n setLogLevel: (level: string) => {\n this.config.debug = level === 'debug';\n },\n } as unknown as Logger;\n\n return fallbackLogger;\n }\n\n log(...args: any[]): void {\n if (args.length === 0) {\n this.logger.debug('');\n } else if (args.length === 1) {\n this.logger.debug(String(args[0]));\n } else {\n const message = String(args[0]);\n const data = args.slice(1);\n this.logger.debug(message, data);\n }\n }\n\n error(...args: any[]): void {\n if (args.length === 0) {\n this.logger.error('');\n } else if (args.length === 1) {\n this.logger.error(String(args[0]));\n } else {\n const message = String(args[0]);\n const data = args.slice(1);\n this.logger.error(message, data);\n }\n }\n\n loadConfigFromHTML(): void {\n const configScript = document.querySelector(\n 'script[data-hcs-config]',\n ) as HTMLScriptElement | null;\n if (configScript) {\n Object.keys(this.configMapping).forEach(dataAttr => {\n if (configScript.dataset[dataAttr]) {\n const configKey =\n this.configMapping[dataAttr as keyof HCSConfigMapping];\n let value: any = configScript.dataset[dataAttr];\n\n if (value === 'true') value = true;\n if (value === 'false') value = false;\n if (!isNaN(Number(value)) && value !== '') value = Number(value);\n\n (this.config as any)[configKey] = value;\n }\n });\n\n this.logger.setLogLevel(this.config.debug ? 'debug' : 'error');\n }\n this.log('Loaded config:', this.config);\n }\n\n updateLoadingStatus(id: string, status: string): void {\n if (this.LoadedScripts[id] === 'loaded') {\n return;\n }\n if (this.config.showLoadingIndicator) {\n console.log('[HCS Loading] ' + id + ' : ' + status);\n }\n this.LoadedScripts[id] = status;\n if (\n this.config.loadingCallbackName &&\n typeof (window as any)[this.config.loadingCallbackName] === 'function'\n ) {\n const callback = (window as any)[this.config.loadingCallbackName];\n if (typeof callback === 'function') {\n callback(id, status);\n }\n }\n }\n\n async fetchWithRetry(\n url: string,\n retries: number = this.config.retryAttempts,\n backoff: number = this.config.retryBackoff,\n ): Promise<Response> {\n try {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error('HTTP error! status: ' + response.status);\n }\n return response;\n } catch (error) {\n if (retries > 0) {\n this.log(\n 'Retrying fetch for ' + url + ' Attempts left: ' + (retries - 1),\n );\n await this.sleep(backoff);\n return this.fetchWithRetry(url, retries - 1, backoff * 2);\n }\n throw error;\n }\n }\n\n sleep(ms: number) {\n return sleep(ms);\n }\n\n isDuplicate(topicId: string): boolean {\n return !!this.LoadedScripts[topicId];\n }\n\n async retrieveHCS1Data(\n topicId: string,\n cdnUrl: string = this.config.cdnUrl,\n network: string = this.config.network,\n ): Promise<Blob> {\n const cleanNetwork = network.replace(/['\"]+/g, '');\n const response = await this.fetchWithRetry(\n cdnUrl + topicId + '?network=' + cleanNetwork,\n );\n return await response.blob();\n }\n\n async loadScript(scriptElement: HTMLElement): Promise<void> {\n const src = scriptElement.getAttribute('data-src');\n const scriptId = scriptElement.getAttribute('data-script-id');\n const topicId = src?.split('/').pop();\n const type = scriptElement.getAttribute('type');\n const isRequired = scriptElement.hasAttribute('data-required');\n const isModule = scriptElement.getAttribute('type') === 'module';\n\n if (this.isDuplicate(topicId || '')) {\n return;\n }\n\n this.updateLoadingStatus(scriptId!, 'loading');\n\n try {\n const cdnUrl =\n scriptElement.getAttribute('data-cdn-url') || this.config.cdnUrl;\n const network =\n scriptElement.getAttribute('data-network') || this.config.network;\n\n const blob = await this.retrieveHCS1Data(topicId!, cdnUrl, network);\n\n if (type === 'wasm') {\n const arrayBuffer = await blob.arrayBuffer();\n const wasmModule = await WebAssembly.compile(arrayBuffer);\n this.LoadedWasm[scriptId!] = await WebAssembly.instantiate(wasmModule, {\n env: {},\n ...(scriptElement.dataset as any),\n });\n this.updateLoadingStatus(scriptId!, 'loaded');\n window.dispatchEvent(this.scriptLoadedEvent);\n this.log('Loaded wasm: ' + scriptId);\n } else {\n const content = await blob.text();\n const script = document.createElement('script');\n script.textContent = content;\n script.className = 'hcs-inline-script';\n if (scriptId) {\n script.setAttribute('data-loaded-script-id', scriptId);\n }\n\n if (isModule) {\n script.type = 'module';\n const moduleBlob = new Blob([content], {\n type: 'application/javascript',\n });\n script.src = URL.createObjectURL(moduleBlob);\n }\n\n document.body.appendChild(script);\n\n this.updateLoadingStatus(scriptId!, 'loaded');\n window.dispatchEvent(this.scriptLoadedEvent);\n this.log('Loaded script: ' + scriptId);\n\n script.onerror = error => {\n this.error('Failed to load ' + type + ': ' + scriptId, error);\n this.updateLoadingStatus(scriptId!, 'failed');\n if (isRequired) {\n throw error;\n }\n };\n }\n } catch (error) {\n this.error('Failed to load ' + type + ': ' + scriptId, error);\n this.updateLoadingStatus(scriptId!, 'failed');\n if (isRequired) {\n throw error;\n }\n }\n }\n\n async loadModuleExports(scriptId: string): Promise<any> {\n const script = document.querySelector(\n 'script[data-loaded-script-id=\"' + scriptId + '\"]',\n );\n if (!script) {\n throw new Error('Module script with id ' + scriptId + ' not found');\n }\n const scriptSrc = script.getAttribute('src');\n if (!scriptSrc) {\n throw new Error('Module script ' + scriptId + ' has no src attribute');\n }\n\n try {\n const importModule = new Function('url', 'return import(url)');\n return await importModule(scriptSrc);\n } catch (error) {\n this.error('Failed to import module', error);\n throw error;\n }\n }\n\n async loadStylesheet(linkElement: HTMLElement): Promise<void> {\n const src = linkElement.getAttribute('data-src');\n const stylesheetId = linkElement.getAttribute('data-script-id');\n const topicId = src?.split('/').pop();\n const isRequired = linkElement.hasAttribute('data-required');\n if (this.isDuplicate(topicId || '')) {\n return;\n }\n\n this.updateLoadingStatus(stylesheetId!, 'loading');\n\n try {\n const cdnUrl =\n linkElement.getAttribute('data-cdn-url') || this.config.cdnUrl;\n const network =\n linkElement.getAttribute('data-network') || this.config.network;\n\n const blob = await this.retrieveHCS1Data(topicId!, cdnUrl, network);\n const cssContent = await blob.text();\n const style = document.createElement('style');\n style.textContent = cssContent;\n document.head.appendChild(style);\n\n this.updateLoadingStatus(stylesheetId!, 'loaded');\n window.dispatchEvent(this.scriptLoadedEvent);\n this.log('Loaded and inlined stylesheet: ' + stylesheetId);\n } catch (error) {\n this.error('Failed to load stylesheet: ' + stylesheetId, error);\n this.updateLoadingStatus(stylesheetId!, 'failed');\n if (isRequired) {\n throw error;\n }\n }\n }\n\n async loadImage(imageElement: HTMLElement): Promise<void> {\n const src = imageElement.getAttribute('data-src');\n const topicId = src?.split('/').pop();\n\n this.log('Loading image: ' + topicId);\n this.updateLoadingStatus('Image: ' + topicId!, 'loaded');\n\n try {\n const cdnUrl =\n imageElement.getAttribute('data-cdn-url') || this.config.cdnUrl;\n const network =\n imageElement.getAttribute('data-network') || this.config.network;\n\n const blob = await this.retrieveHCS1Data(topicId!, cdnUrl, network);\n const objectURL = URL.createObjectURL(blob);\n (imageElement as HTMLImageElement).src = objectURL;\n this.LoadedImages[topicId!] = objectURL;\n this.updateLoadingStatus('Image: ' + topicId!, 'loaded');\n this.log('Loaded image: ' + topicId);\n } catch (error) {\n this.error('Failed to load image: ' + topicId, error);\n this.updateLoadingStatus('Image: ' + topicId!, 'failed');\n }\n }\n\n async loadMedia(\n mediaElement: HTMLElement,\n mediaType: 'video' | 'audio',\n ): Promise<void> {\n const src = mediaElement.getAttribute('data-src');\n const topicId = src?.split('/').pop();\n\n this.log('Loading ' + mediaType + ': ' + topicId);\n this.updateLoadingStatus(mediaType + ': ' + topicId!, 'loading');\n\n try {\n const cdnUrl =\n mediaElement.getAttribute('data-cdn-url') || this.config.cdnUrl;\n const network =\n mediaElement.getAttribute('data-network') || this.config.network;\n\n const blob = await this.retrieveHCS1Data(topicId!, cdnUrl, network);\n const objectURL = URL.createObjectURL(blob);\n (mediaElement as HTMLMediaElement).src = objectURL;\n\n if (mediaType === 'video') {\n this.LoadedVideos[topicId!] = objectURL;\n } else {\n this.LoadedAudioUrls[topicId!] = objectURL;\n }\n\n this.updateLoadingStatus(mediaType + ': ' + topicId!, 'loaded');\n this.log('Loaded ' + mediaType + ': ' + topicId);\n } catch (error) {\n this.error('Failed to load ' + mediaType + ': ' + topicId, error);\n this.updateLoadingStatus(mediaType + ': ' + topicId!, 'failed');\n }\n }\n\n private async loadModelViewer(): Promise<void> {\n if (this.modelViewerLoading) return this.modelViewerLoading;\n if (this.modelViewerLoaded) return Promise.resolve();\n\n this.modelViewerLoading = new Promise<void>(resolve => {\n const modelViewerScript = document.createElement('script');\n modelViewerScript.setAttribute('data-src', 'hcs://1/0.0.7293044');\n modelViewerScript.setAttribute('data-script-id', 'model-viewer');\n modelViewerScript.setAttribute('type', 'module');\n\n window.addEventListener(\n 'HCSScriptLoaded',\n () => {\n this.modelViewerLoaded = true;\n resolve();\n },\n { once: true },\n );\n\n this.loadScript(modelViewerScript);\n });\n\n return this.modelViewerLoading;\n }\n\n async loadGLB(glbElement: HTMLElement): Promise<void> {\n await this.loadModelViewer();\n\n const src = glbElement.getAttribute('data-src');\n const topicId = src?.split('/').pop();\n\n this.log('Loading GLB: ' + topicId);\n this.updateLoadingStatus('GLB: ' + topicId!, 'loading');\n\n try {\n const cdnUrl =\n glbElement.getAttribute('data-cdn-url') || this.config.cdnUrl;\n const network =\n glbElement.getAttribute('data-network') || this.config.network;\n\n let modelViewer: HTMLElement;\n if (glbElement.tagName.toLowerCase() !== 'model-viewer') {\n modelViewer = document.createElement('model-viewer');\n Array.from(glbElement.attributes).forEach(attr => {\n modelViewer.setAttribute(attr.name, attr.value);\n });\n modelViewer.setAttribute('camera-controls', '');\n modelViewer.setAttribute('auto-rotate', '');\n modelViewer.setAttribute('ar', '');\n glbElement.parentNode?.replaceChild(modelViewer, glbElement);\n } else {\n modelViewer = glbElement;\n }\n\n const blob = await this.retrieveHCS1Data(topicId!, cdnUrl, network);\n const objectURL = URL.createObjectURL(blob);\n modelViewer.setAttribute('src', objectURL);\n this.LoadedGLBs[topicId!] = objectURL;\n\n this.updateLoadingStatus('GLB: ' + topicId!, 'loaded');\n this.log('Loaded GLB: ' + topicId);\n } catch (error) {\n this.error('Failed to load GLB: ' + topicId, error);\n this.updateLoadingStatus('GLB: ' + topicId!, 'failed');\n }\n }\n\n async loadResource(\n element: HTMLElement,\n type: LoadType,\n order: number,\n ): Promise<void> {\n return new Promise(resolve => {\n this.loadQueue.push({ element, type, order, resolve });\n this.processQueue();\n });\n }\n\n async processQueue(): Promise<void> {\n if (this.isProcessingQueue) return;\n this.isProcessingQueue = true;\n\n while (this.loadQueue.length > 0) {\n const item = this.loadQueue.shift()!;\n try {\n if (item.type === 'script') {\n await this.loadScript(item.element);\n } else if (item.type === 'image') {\n await this.loadImage(item.element);\n } else if (item.type === 'video' || item.type === 'audio') {\n await this.loadMedia(item.element, item.type as 'video' | 'audio');\n } else if (item.type === 'glb') {\n await this.loadGLB(item.element);\n } else if (item.type === 'css') {\n await this.loadStylesheet(item.element);\n }\n item.resolve();\n } catch (error) {\n this.error('Error processing queue item:', error);\n if (\n item.type === 'script' &&\n item.element.hasAttribute('data-required')\n ) {\n break;\n }\n }\n }\n\n this.isProcessingQueue = false;\n }\n\n private async replaceHCSInStyle(styleContent: string): Promise<string> {\n let newContent = styleContent;\n let startIndex = newContent.indexOf('hcs://');\n\n while (startIndex !== -1) {\n let endIndex = startIndex;\n while (\n endIndex < newContent.length &&\n ![\"'\", '\"', ' ', ')'].includes(newContent[endIndex])\n ) {\n endIndex++;\n }\n\n const hcsUrl = newContent.substring(startIndex, endIndex);\n const topicId = hcsUrl.split('/').pop()!;\n\n try {\n const cdnUrl = this.config.cdnUrl;\n const network = this.config.network;\n\n const blob = await this.retrieveHCS1Data(topicId, cdnUrl, network);\n const objectURL = URL.createObjectURL(blob);\n\n newContent =\n newContent.substring(0, startIndex) +\n objectURL +\n newContent.substring(endIndex);\n\n this.LoadedImages[topicId] = objectURL;\n this.log('Replaced CSS HCS URL: ' + hcsUrl + ' with ' + objectURL);\n } catch (error) {\n this.error('Failed to load CSS image: ' + topicId, error);\n }\n\n startIndex = newContent.indexOf('hcs://', startIndex + 1);\n }\n\n return newContent;\n }\n\n private async processInlineStyles(): Promise<void> {\n const elementsWithStyle = document.querySelectorAll('[style*=\"hcs://\"]');\n this.log(\n 'Found ' +\n elementsWithStyle.length +\n ' elements with HCS style references',\n );\n\n for (const element of Array.from(elementsWithStyle)) {\n const style = element.getAttribute('style');\n if (style) {\n this.log('Processing style: ' + style);\n const newStyle = await this.replaceHCSInStyle(style);\n if (style !== newStyle) {\n element.setAttribute('style', newStyle);\n this.log('Updated style to: ' + newStyle);\n }\n }\n }\n\n const styleTags = document.querySelectorAll('style');\n for (const styleTag of Array.from(styleTags)) {\n if (styleTag.textContent?.includes('hcs://')) {\n const newContent = await this.replaceHCSInStyle(styleTag.textContent);\n if (styleTag.textContent !== newContent) {\n styleTag.textContent = newContent;\n }\n }\n }\n }\n\n async init(): Promise<void> {\n this.loadConfigFromHTML();\n\n return new Promise(resolve => {\n const initializeObserver = async () => {\n const scriptElements = document.querySelectorAll(\n 'script[data-src^=\"hcs://\"]',\n );\n const imageElements = document.querySelectorAll(\n 'img[data-src^=\"hcs://\"], img[src^=\"hcs://\"]',\n );\n const videoElements = document.querySelectorAll(\n 'video[data-src^=\"hcs://\"], video[src^=\"hcs://\"]',\n );\n const audioElements = document.querySelectorAll(\n 'audio[data-src^=\"hcs://\"], audio[src^=\"hcs://\"]',\n );\n const glbElements = document.querySelectorAll(\n 'model-viewer[data-src^=\"hcs://\"]',\n );\n const cssElements = document.querySelectorAll(\n 'link[data-src^=\"hcs://\"]',\n );\n\n document.querySelectorAll('[src^=\"hcs://\"]').forEach(element => {\n const src = element.getAttribute('src');\n if (src) {\n element.setAttribute('data-src', src);\n element.removeAttribute('src');\n }\n });\n\n await this.processInlineStyles();\n\n const loadPromises: Promise<void>[] = [];\n\n [\n { elements: scriptElements, type: 'script' },\n { elements: imageElements, type: 'image' },\n { elements: videoElements, type: 'video' },\n { elements: audioElements, type: 'audio' },\n { elements: glbElements, type: 'glb' },\n { elements: cssElements, type: 'css' },\n ].forEach(({ elements, type }) => {\n elements.forEach(element => {\n const order =\n parseInt(element.getAttribute('data-load-order') || '') ||\n Infinity;\n loadPromises.push(\n this.loadResource(\n element as HTMLElement,\n type as LoadType,\n order,\n ),\n );\n });\n });\n\n await Promise.all(loadPromises);\n\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n mutation.addedNodes.forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as HTMLElement;\n\n if (element.getAttribute('style')?.includes('hcs://')) {\n this.processInlineStyles();\n }\n\n if (\n element.tagName.toLowerCase() === 'style' &&\n element.textContent?.includes('hcs://')\n ) {\n this.processInlineStyles();\n }\n\n if (element.getAttribute('src')?.startsWith('hcs://')) {\n const src = element.getAttribute('src')!;\n element.setAttribute('data-src', src);\n element.removeAttribute('src');\n\n const tagName = element.tagName.toLowerCase();\n switch (tagName) {\n case 'img':\n this.loadResource(element, 'image', Infinity);\n break;\n case 'video':\n this.loadResource(element, 'video', Infinity);\n break;\n case 'audio':\n this.loadResource(element, 'audio', Infinity);\n break;\n case 'script':\n this.loadResource(element, 'script', Infinity);\n break;\n }\n }\n\n if (element.matches('script[data-src^=\"hcs://\"]')) {\n this.loadResource(element, 'script', Infinity);\n } else if (element.matches('img[data-src^=\"hcs://\"]')) {\n this.loadResource(element, 'image', Infinity);\n } else if (element.matches('video[data-src^=\"hcs://\"]')) {\n this.loadResource(element, 'video', Infinity);\n } else if (element.matches('audio[data-src^=\"hcs://\"]')) {\n this.loadResource(element, 'audio', Infinity);\n } else if (\n element.matches('model-viewer[data-src^=\"hcs://\"]')\n ) {\n this.loadResource(element, 'glb', Infinity);\n } else if (element.matches('link[data-src^=\"hcs://\"]')) {\n this.loadResource(element, 'css', Infinity);\n }\n\n const childrenWithHCS = element.querySelectorAll(\n '[data-src^=\"hcs://\"], [src^=\"hcs://\"]',\n );\n childrenWithHCS.forEach(child => {\n const childElement = child as HTMLElement;\n const tagName = childElement.tagName.toLowerCase();\n\n const src = childElement.getAttribute('src');\n if (src?.startsWith('hcs://')) {\n childElement.setAttribute('data-src', src);\n childElement.removeAttribute('src');\n }\n\n switch (tagName) {\n case 'script':\n this.loadResource(childElement, 'script', Infinity);\n break;\n case 'img':\n this.loadResource(childElement, 'image', Infinity);\n break;\n case 'video':\n this.loadResource(childElement, 'video', Infinity);\n break;\n case 'audio':\n this.loadResource(childElement, 'audio', Infinity);\n break;\n case 'model-viewer':\n this.loadResource(childElement, 'glb', Infinity);\n break;\n case 'link':\n this.loadResource(childElement, 'css', Infinity);\n break;\n }\n });\n }\n });\n\n if (mutation.type === 'attributes') {\n const element = mutation.target as HTMLElement;\n if (\n mutation.attributeName === 'style' &&\n element.getAttribute('style')?.includes('hcs://')\n ) {\n this.processInlineStyles();\n } else if (mutation.attributeName === 'src') {\n const src = element.getAttribute('src');\n if (src?.startsWith('hcs://')) {\n element.setAttribute('data-src', src);\n element.removeAttribute('src');\n const type = element.tagName.toLowerCase();\n if (['img', 'video', 'audio'].includes(type)) {\n this.loadResource(element, type as LoadType, Infinity);\n }\n }\n }\n }\n });\n });\n\n if (document.body) {\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['style', 'src', 'data-src'],\n });\n } else {\n document.addEventListener('DOMContentLoaded', () => {\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['style', 'src', 'data-src'],\n });\n });\n }\n\n resolve();\n };\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', initializeObserver);\n } else {\n initializeObserver();\n }\n });\n }\n\n async preloadImage(topicId: string): Promise<string> {\n this.log('Loading image:' + topicId);\n this.updateLoadingStatus('image: ' + topicId, 'loading');\n const blob = await this.retrieveHCS1Data(topicId);\n const objectURL = URL.createObjectURL(blob);\n this.LoadedImages[topicId!] = objectURL;\n this.updateLoadingStatus('image: ' + topicId, 'loaded');\n return objectURL;\n }\n\n async preloadAudio(topicId: string): Promise<string> {\n const audioElement = document.createElement('audio');\n audioElement.setAttribute('data-topic-id', topicId);\n audioElement.setAttribute('data-src', 'hcs://1/' + topicId);\n document.body.appendChild(audioElement);\n\n await this.loadMedia(audioElement, 'audio');\n\n const cachedAudio = document.querySelector(\n 'audio[data-topic-id=\"' + topicId + '\"]',\n ) as HTMLAudioElement;\n\n if (cachedAudio) {\n this.LoadedAudioUrls[topicId] = cachedAudio.src;\n } else {\n console.error('Failed to preload audio: ' + topicId);\n }\n return this.LoadedAudioUrls[topicId];\n }\n\n async playAudio(topicId: string, volume = 1.0) {\n const audioUrl = this.LoadedAudioUrls[topicId];\n\n if (audioUrl) {\n const audio = new Audio(audioUrl);\n audio.volume = volume;\n this.LoadedAudios[topicId] = audio;\n\n audio.play().catch(error => {\n console.error('Failed to play audio:', error);\n });\n\n audio.addEventListener('ended', () => {\n audio.remove();\n delete this.LoadedAudios[topicId];\n });\n } else {\n console.error('Audio not preloaded: ' + topicId);\n }\n }\n\n async pauseAudio(topicId: string) {\n const audioElement = document.querySelector(\n 'audio[data-topic-id=\"' + topicId + '\"]',\n ) as HTMLAudioElement;\n\n if (audioElement) {\n console.log('found element', audioElement);\n audioElement.pause();\n this.LoadedAudios[topicId]?.pause();\n } else {\n this.LoadedAudios[topicId]?.pause();\n }\n }\n\n async loadAndPlayAudio(topicId: string, autoplay = false, volume = 1.0) {\n let existingAudioElement = document.querySelector(\n 'audio[data-topic-id=\"' + topicId + '\"]',\n ) as HTMLAudioElement;\n\n if (existingAudioElement) {\n existingAudioElement.volume = volume;\n await existingAudioElement.play();\n } else {\n const audioElement = document.createElement('audio');\n audioElement.volume = volume;\n if (autoplay) {\n audioElement.setAttribute('autoplay', 'autoplay');\n }\n audioElement.setAttribute('data-topic-id', topicId);\n audioElement.setAttribute('data-src', 'hcs://1/' + topicId);\n\n document.body.appendChild(audioElement);\n\n await this.loadMedia(audioElement, 'audio');\n\n existingAudioElement = document.querySelector(\n 'audio[data-topic-id=\"' + topicId + '\"]',\n ) as HTMLAudioElement;\n if (!autoplay) {\n await existingAudioElement.play();\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}