@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,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { adapterDeclarationSchema } from "./standards-sdk.es80.js";
2
+ import { adapterDeclarationSchema } from "./standards-sdk.es79.js";
3
3
  var AIAgentType = /* @__PURE__ */ ((AIAgentType2) => {
4
4
  AIAgentType2[AIAgentType2["MANUAL"] = 0] = "MANUAL";
5
5
  AIAgentType2[AIAgentType2["AUTONOMOUS"] = 1] = "AUTONOMOUS";
@@ -1,175 +1,176 @@
1
- import { ContractId, AccountId } from "@hashgraph/sdk";
2
- import { ethers } from "ethers";
3
- import { Logger } from "./standards-sdk.es106.js";
4
- class MapCache {
5
- constructor() {
6
- this.cache = /* @__PURE__ */ new Map();
7
- }
8
- get(key) {
9
- return this.cache.get(key);
10
- }
11
- set(key, value) {
12
- this.cache.set(key, value);
13
- }
14
- delete(key) {
15
- this.cache.delete(key);
1
+ import { Logger } from "./standards-sdk.es105.js";
2
+ class RedisCache {
3
+ constructor(config = {}) {
4
+ const {
5
+ host = "localhost",
6
+ port = 6379,
7
+ password,
8
+ db = 0,
9
+ keyPrefix = "",
10
+ tls = false,
11
+ connectTimeout = 5e3,
12
+ retryStrategy,
13
+ logLevel = "info"
14
+ } = config;
15
+ this.prefix = keyPrefix;
16
+ this.logger = Logger.getInstance({
17
+ level: logLevel,
18
+ module: "RedisCache"
19
+ });
20
+ this.client = createRedisClient(
21
+ this.logger,
22
+ {
23
+ host,
24
+ port,
25
+ password,
26
+ db,
27
+ tls: tls ? {} : void 0,
28
+ keyPrefix,
29
+ connectTimeout,
30
+ retryStrategy: retryStrategy || ((times) => {
31
+ const delay = Math.min(times * 50, 2e3);
32
+ return delay;
33
+ }),
34
+ maxRetriesPerRequest: 3
35
+ }
36
+ );
16
37
  }
17
- clear() {
18
- this.cache.clear();
38
+ getKey(key) {
39
+ return `${this.prefix}${key}`;
19
40
  }
20
- }
21
- class EVMBridge {
22
- constructor(network = "mainnet-public", mirrorNodeUrl = `mirrornode.hedera.com/api/v1/contracts/call`, cache) {
23
- this.network = network;
24
- this.mirrorNodeUrl = mirrorNodeUrl;
25
- this.cache = cache || new MapCache();
26
- this.logger = Logger.getInstance({ module: "EVMBridge" });
41
+ async get(key) {
42
+ try {
43
+ const value = await this.client.get(this.getKey(key));
44
+ return value || void 0;
45
+ } catch (error) {
46
+ this.logger.error("Redis get error:", error);
47
+ throw error;
48
+ }
27
49
  }
28
- async executeCommands(evmConfigs, initialState = {}) {
29
- let stateData = { ...initialState };
30
- const results = {};
31
- for (const config of evmConfigs) {
32
- const cacheKey = `${config.c.contractAddress}-${config.c.abi.name}`;
33
- const cachedResult = await this.cache.get(cacheKey);
34
- if (cachedResult) {
35
- results[config.c.abi.name] = JSON.parse(cachedResult);
36
- Object.assign(stateData, results[config.c.abi.name]);
37
- continue;
38
- }
39
- try {
40
- const iface = new ethers.Interface([
41
- {
42
- ...config.c.abi
43
- }
44
- ]);
45
- const command = iface.encodeFunctionData(config.c.abi.name);
46
- const contractId = ContractId.fromSolidityAddress(
47
- config.c.contractAddress
48
- );
49
- const result = await this.readFromMirrorNode(
50
- command,
51
- AccountId.fromString("0.0.800"),
52
- contractId
53
- );
54
- this.logger.info(
55
- `Result for ${config.c.contractAddress}:`,
56
- result?.result
57
- );
58
- if (!result?.result) {
59
- this.logger.warn(
60
- `Failed to get result from mirror node for ${config.c.contractAddress}`
61
- );
62
- results[config.c.abi.name] = "0";
63
- Object.assign(stateData, results[config.c.abi.name]);
64
- continue;
65
- }
66
- const decodedResult = iface?.decodeFunctionResult(
67
- config.c.abi.name,
68
- result.result
69
- );
70
- let processedResult = {
71
- values: []
72
- // Initialize array for values
73
- };
74
- if (decodedResult) {
75
- config.c.abi.outputs?.forEach((output, idx) => {
76
- const value = decodedResult[idx];
77
- const formattedValue = formatValue(value, output.type);
78
- processedResult.values.push(formattedValue);
79
- if (output.name) {
80
- processedResult[output.name] = formattedValue;
81
- }
82
- });
83
- }
84
- await this.cache.set(cacheKey, JSON.stringify(processedResult));
85
- results[config.c.abi.name] = processedResult;
86
- stateData[config.c.abi.name] = processedResult;
87
- } catch (error) {
88
- this.logger.error(
89
- `Error executing command for ${config.c.contractAddress}:`,
90
- error
91
- );
92
- results[config.c.abi.name] = "0";
93
- Object.assign(stateData, results[config.c.abi.name]);
50
+ async set(key, value, ttlSeconds) {
51
+ try {
52
+ const fullKey = this.getKey(key);
53
+ if (ttlSeconds) {
54
+ await this.client.setex(fullKey, ttlSeconds, value);
55
+ } else {
56
+ await this.client.set(fullKey, value);
94
57
  }
58
+ } catch (error) {
59
+ this.logger.error("Redis set error:", error);
60
+ throw error;
95
61
  }
96
- return { results, stateData };
97
62
  }
98
- async executeCommand(evmConfig, stateData = {}) {
99
- const { results, stateData: newStateData } = await this.executeCommands(
100
- [evmConfig],
101
- stateData
102
- );
103
- return {
104
- result: results[evmConfig.c.abi.name],
105
- stateData: newStateData
106
- };
63
+ async delete(key) {
64
+ try {
65
+ await this.client.del(this.getKey(key));
66
+ } catch (error) {
67
+ this.logger.error("Redis delete error:", error);
68
+ throw error;
69
+ }
107
70
  }
108
- async readFromMirrorNode(command, from, to) {
71
+ async clear() {
109
72
  try {
110
- const toAddress = to.toSolidityAddress();
111
- const fromAddress = from.toSolidityAddress();
112
- const response = await fetch(
113
- `https://${this.network}.${this.mirrorNodeUrl}`,
114
- {
115
- method: "POST",
116
- headers: {
117
- "Content-Type": "application/json"
118
- },
119
- body: JSON.stringify({
120
- block: "latest",
121
- data: command,
122
- estimate: false,
123
- gas: 3e5,
124
- gasPrice: 1e8,
125
- from: fromAddress.startsWith("0x") ? fromAddress : `0x${fromAddress}`,
126
- to: toAddress?.startsWith("0x") ? toAddress : `0x${toAddress}`,
127
- value: 0
128
- })
129
- }
130
- );
131
- if (!response.ok) {
132
- throw new Error(`HTTP error! status: ${response.status}`);
73
+ const keys = await this.client.keys(`${this.prefix}*`);
74
+ if (keys.length > 0) {
75
+ await this.client.del(...keys);
133
76
  }
134
- return await response.json();
135
77
  } catch (error) {
136
- this.logger.error("Error reading from mirror node:", error);
137
- return null;
78
+ this.logger.error("Redis clear error:", error);
79
+ throw error;
138
80
  }
139
81
  }
140
- async clearCache() {
141
- await this.cache.clear();
142
- }
143
- async clearCacheForContract(contractAddress, functionName) {
144
- await this.cache.delete(`${contractAddress}-${functionName}`);
82
+ async disconnect() {
83
+ await this.client.quit();
145
84
  }
146
85
  setLogLevel(level) {
147
86
  this.logger.setLogLevel(level);
148
87
  }
149
88
  }
150
- function formatValue(value, type) {
151
- if (value === null || value === void 0) {
152
- return "0";
89
+ function createRedisClient(logger, options, logConnectEvents) {
90
+ const Redis = getRedisConstructor();
91
+ if (!Redis) {
92
+ logger.warn(
93
+ "ioredis is not installed; RedisCache will use an in-memory cache instead"
94
+ );
95
+ return createInMemoryRedisClient();
153
96
  }
154
- if (value._isBigNumber) {
155
- return value.toString();
97
+ const client = new Redis({
98
+ host: options.host,
99
+ port: options.port,
100
+ password: options.password,
101
+ db: options.db,
102
+ tls: options.tls,
103
+ keyPrefix: options.keyPrefix,
104
+ connectTimeout: options.connectTimeout,
105
+ retryStrategy: options.retryStrategy,
106
+ maxRetriesPerRequest: options.maxRetriesPerRequest
107
+ });
108
+ {
109
+ client.on("error", (error) => {
110
+ logger.error("Redis connection error:", error);
111
+ });
112
+ client.on("connect", () => {
113
+ logger.debug("Redis connected");
114
+ });
156
115
  }
157
- if (type.startsWith("uint") || type.startsWith("int")) {
158
- return String(value);
159
- } else if (type === "bool") {
160
- return value ? "true" : "false";
161
- } else if (type === "string") {
162
- return value;
163
- } else if (type === "address") {
164
- return String(value).toLowerCase();
165
- } else if (type.endsWith("[]")) {
166
- return Array.isArray(value) ? value.map((v) => String(v)).join(",") : "";
167
- } else {
168
- return String(value);
116
+ return client;
117
+ }
118
+ function getRedisConstructor() {
119
+ if (typeof require !== "function") {
120
+ return null;
169
121
  }
122
+ try {
123
+ const loaded = require("ioredis");
124
+ if (typeof loaded === "function") {
125
+ return loaded;
126
+ }
127
+ if (typeof loaded.default === "function") {
128
+ return loaded.default;
129
+ }
130
+ } catch {
131
+ return null;
132
+ }
133
+ return null;
134
+ }
135
+ function createInMemoryRedisClient() {
136
+ const store = /* @__PURE__ */ new Map();
137
+ return {
138
+ async get(key) {
139
+ return store.get(key) ?? null;
140
+ },
141
+ async set(key, value) {
142
+ store.set(key, value);
143
+ return "OK";
144
+ },
145
+ async setex(key, _seconds, value) {
146
+ store.set(key, value);
147
+ return "OK";
148
+ },
149
+ async del(...keys) {
150
+ let deleted = 0;
151
+ for (const key of keys) {
152
+ if (store.delete(key)) {
153
+ deleted += 1;
154
+ }
155
+ }
156
+ return deleted;
157
+ },
158
+ async keys(pattern) {
159
+ if (pattern.endsWith("*")) {
160
+ const prefix = pattern.slice(0, -1);
161
+ return Array.from(store.keys()).filter((key) => key.startsWith(prefix));
162
+ }
163
+ return store.has(pattern) ? [pattern] : [];
164
+ },
165
+ async quit() {
166
+ store.clear();
167
+ },
168
+ on() {
169
+ return;
170
+ }
171
+ };
170
172
  }
171
173
  export {
172
- EVMBridge,
173
- MapCache
174
+ RedisCache
174
175
  };
175
176
  //# sourceMappingURL=standards-sdk.es15.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es15.js","sources":["../../src/hcs-7/evm-bridge.ts"],"sourcesContent":["import { AccountId, ContractId } from '@hashgraph/sdk';\nimport { EVMConfig } from './wasm-bridge';\nimport { ethers } from 'ethers';\nimport { Logger, ILogger } from '../utils/logger';\n\nexport interface EVMCache {\n get(key: string): Promise<string | undefined> | string | undefined;\n set(key: string, value: string): Promise<void> | void;\n delete(key: string): Promise<void> | void;\n clear(): Promise<void> | void;\n}\n\nexport class MapCache implements EVMCache {\n private cache: Map<string, string>;\n\n constructor() {\n this.cache = new Map();\n }\n\n get(key: string): string | undefined {\n return this.cache.get(key);\n }\n\n set(key: string, value: string): void {\n this.cache.set(key, value);\n }\n\n delete(key: string): void {\n this.cache.delete(key);\n }\n\n clear(): void {\n this.cache.clear();\n }\n}\n\nexport class EVMBridge {\n public network: string;\n public mirrorNodeUrl: string;\n private cache: EVMCache;\n private logger: ILogger;\n\n constructor(\n network: string = 'mainnet-public',\n mirrorNodeUrl: string = `mirrornode.hedera.com/api/v1/contracts/call`,\n cache?: EVMCache,\n ) {\n this.network = network;\n this.mirrorNodeUrl = mirrorNodeUrl;\n this.cache = cache || new MapCache();\n this.logger = Logger.getInstance({ module: 'EVMBridge' });\n }\n\n async executeCommands(\n evmConfigs: EVMConfig[],\n initialState: Record<string, string> = {},\n ): Promise<{\n results: Record<string, any>;\n stateData: Record<string, any>;\n }> {\n let stateData: Record<string, any> = { ...initialState };\n const results: Record<string, any> = {};\n\n for (const config of evmConfigs) {\n const cacheKey = `${config.c.contractAddress}-${config.c.abi.name}`;\n\n const cachedResult = await this.cache.get(cacheKey);\n if (cachedResult) {\n results[config.c.abi.name] = JSON.parse(cachedResult);\n Object.assign(stateData, results[config.c.abi.name]); // Flatten the values into stateData\n continue;\n }\n\n try {\n const iface = new ethers.Interface([\n {\n ...config.c.abi,\n },\n ]);\n const command = iface.encodeFunctionData(config.c.abi.name);\n const contractId = ContractId.fromSolidityAddress(\n config.c.contractAddress,\n );\n\n const result = await this.readFromMirrorNode(\n command,\n AccountId.fromString('0.0.800'),\n contractId,\n );\n\n this.logger.info(\n `Result for ${config.c.contractAddress}:`,\n result?.result,\n );\n\n if (!result?.result) {\n this.logger.warn(\n `Failed to get result from mirror node for ${config.c.contractAddress}`,\n );\n results[config.c.abi.name] = '0';\n Object.assign(stateData, results[config.c.abi.name]); // Flatten the values into stateData\n continue;\n }\n\n const decodedResult = iface?.decodeFunctionResult(\n config.c.abi.name,\n result.result,\n );\n let processedResult: Record<string, any> = {\n values: [], // Initialize array for values\n };\n\n if (decodedResult) {\n config.c.abi.outputs?.forEach((output, idx) => {\n const value = decodedResult[idx];\n const formattedValue = formatValue(value, output.type);\n\n processedResult.values.push(formattedValue);\n\n if (output.name) {\n processedResult[output.name] = formattedValue;\n }\n });\n }\n\n await this.cache.set(cacheKey, JSON.stringify(processedResult));\n\n results[config.c.abi.name] = processedResult;\n stateData[config.c.abi.name] = processedResult;\n } catch (error) {\n this.logger.error(\n `Error executing command for ${config.c.contractAddress}:`,\n error,\n );\n results[config.c.abi.name] = '0';\n Object.assign(stateData, results[config.c.abi.name]); // Flatten the values into stateData\n }\n }\n\n return { results, stateData };\n }\n\n async executeCommand(\n evmConfig: EVMConfig,\n stateData: Record<string, string> = {},\n ): Promise<any> {\n const { results, stateData: newStateData } = await this.executeCommands(\n [evmConfig],\n stateData,\n );\n return {\n result: results[evmConfig.c.abi.name],\n stateData: newStateData,\n };\n }\n\n async readFromMirrorNode(\n command: string,\n from: AccountId,\n to: ContractId,\n ): Promise<any> {\n try {\n const toAddress = to.toSolidityAddress();\n const fromAddress = from.toSolidityAddress();\n const response = await fetch(\n `https://${this.network}.${this.mirrorNodeUrl}`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n block: 'latest',\n data: command,\n estimate: false,\n gas: 300_000,\n gasPrice: 100000000,\n from: fromAddress.startsWith('0x')\n ? fromAddress\n : `0x${fromAddress}`,\n to: toAddress?.startsWith('0x') ? toAddress : `0x${toAddress}`,\n value: 0,\n }),\n },\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n return await response.json();\n } catch (error) {\n this.logger.error('Error reading from mirror node:', error);\n return null;\n }\n }\n\n public async clearCache(): Promise<void> {\n await this.cache.clear();\n }\n\n public async clearCacheForContract(\n contractAddress: string,\n functionName: string,\n ): Promise<void> {\n await this.cache.delete(`${contractAddress}-${functionName}`);\n }\n\n public setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void {\n this.logger.setLogLevel(level);\n }\n}\n\nfunction formatValue(value: any, type: string): string {\n if (value === null || value === undefined) {\n return '0';\n }\n\n if (value._isBigNumber) {\n return value.toString();\n }\n\n if (type.startsWith('uint') || type.startsWith('int')) {\n return String(value);\n } else if (type === 'bool') {\n return value ? 'true' : 'false';\n } else if (type === 'string') {\n return value;\n } else if (type === 'address') {\n return String(value).toLowerCase();\n } else if (type.endsWith('[]')) {\n return Array.isArray(value) ? value.map(v => String(v)).join(',') : '';\n } else {\n return String(value);\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es15.js","sources":["../../src/hcs-7/redis-cache.ts"],"sourcesContent":["import { EVMCache } from './evm-bridge';\nimport { Logger, ILogger } from '../utils/logger';\n\ntype RedisOptions = {\n host: string;\n port: number;\n password?: string;\n db: number;\n tls?: Record<string, unknown>;\n keyPrefix?: string;\n connectTimeout: number;\n retryStrategy?: (times: number) => number | void;\n maxRetriesPerRequest: number;\n};\n\ntype RedisClient = {\n get(key: string): Promise<string | null>;\n set(key: string, value: string): Promise<string | null>;\n setex(key: string, seconds: number, value: string): Promise<string | null>;\n del(...keys: string[]): Promise<number>;\n keys(pattern: string): Promise<string[]>;\n quit(): Promise<void>;\n on(event: 'error' | 'connect', listener: (error?: Error) => void): void;\n};\n\ntype RedisConstructor = new (options: RedisOptions) => RedisClient;\n\ntype NodeRequire = (id: string) => unknown;\n\ndeclare const require: NodeRequire | undefined;\n\nexport interface RedisConfig {\n host?: string;\n port?: number;\n password?: string;\n db?: number;\n keyPrefix?: string;\n tls?: boolean;\n connectTimeout?: number;\n retryStrategy?: (times: number) => number | void;\n logLevel?: 'debug' | 'info' | 'warn' | 'error';\n}\n\nexport class RedisCache implements EVMCache {\n private client: RedisClient;\n private prefix: string;\n private logger: ILogger;\n\n constructor(config: RedisConfig = {}) {\n const {\n host = 'localhost',\n port = 6379,\n password,\n db = 0,\n keyPrefix = '',\n tls = false,\n connectTimeout = 5000,\n retryStrategy,\n logLevel = 'info',\n } = config;\n\n this.prefix = keyPrefix;\n this.logger = Logger.getInstance({\n level: logLevel,\n module: 'RedisCache',\n });\n\n this.client = createRedisClient(\n this.logger,\n {\n host,\n port,\n password,\n db,\n tls: tls ? {} : undefined,\n keyPrefix,\n connectTimeout,\n retryStrategy:\n retryStrategy ||\n (times => {\n const delay = Math.min(times * 50, 2000);\n return delay;\n }),\n maxRetriesPerRequest: 3,\n },\n true,\n );\n }\n\n private getKey(key: string): string {\n return `${this.prefix}${key}`;\n }\n\n async get(key: string): Promise<string | undefined> {\n try {\n const value = await this.client.get(this.getKey(key));\n return value || undefined;\n } catch (error: unknown) {\n this.logger.error('Redis get error:', error);\n throw error;\n }\n }\n\n async set(key: string, value: string, ttlSeconds?: number): Promise<void> {\n try {\n const fullKey = this.getKey(key);\n if (ttlSeconds) {\n await this.client.setex(fullKey, ttlSeconds, value);\n } else {\n await this.client.set(fullKey, value);\n }\n } catch (error: unknown) {\n this.logger.error('Redis set error:', error);\n throw error;\n }\n }\n\n async delete(key: string): Promise<void> {\n try {\n await this.client.del(this.getKey(key));\n } catch (error: unknown) {\n this.logger.error('Redis delete error:', error);\n throw error;\n }\n }\n\n async clear(): Promise<void> {\n try {\n const keys = await this.client.keys(`${this.prefix}*`);\n if (keys.length > 0) {\n await this.client.del(...keys);\n }\n } catch (error: unknown) {\n this.logger.error('Redis clear error:', error);\n throw error;\n }\n }\n\n async disconnect(): Promise<void> {\n await this.client.quit();\n }\n\n setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void {\n this.logger.setLogLevel(level);\n }\n}\n\nfunction createRedisClient(\n logger: ILogger,\n options: RedisOptions,\n logConnectEvents: boolean,\n): RedisClient {\n const Redis = getRedisConstructor();\n\n if (!Redis) {\n logger.warn(\n 'ioredis is not installed; RedisCache will use an in-memory cache instead',\n );\n\n return createInMemoryRedisClient();\n }\n\n const client = new Redis({\n host: options.host,\n port: options.port,\n password: options.password,\n db: options.db,\n tls: options.tls,\n keyPrefix: options.keyPrefix,\n connectTimeout: options.connectTimeout,\n retryStrategy: options.retryStrategy,\n maxRetriesPerRequest: options.maxRetriesPerRequest,\n });\n\n if (logConnectEvents) {\n client.on('error', (error: Error) => {\n logger.error('Redis connection error:', error);\n });\n\n client.on('connect', () => {\n logger.debug('Redis connected');\n });\n }\n\n return client;\n}\n\nfunction getRedisConstructor(): RedisConstructor | null {\n if (typeof require !== 'function') {\n return null;\n }\n\n try {\n const loaded = require('ioredis') as\n | RedisConstructor\n | { default: RedisConstructor };\n\n if (typeof (loaded as RedisConstructor) === 'function') {\n return loaded as RedisConstructor;\n }\n\n if (\n typeof (loaded as { default?: RedisConstructor }).default === 'function'\n ) {\n return (loaded as { default: RedisConstructor }).default;\n }\n } catch {\n return null;\n }\n\n return null;\n}\n\nfunction createInMemoryRedisClient(): RedisClient {\n const store = new Map<string, string>();\n\n return {\n async get(key: string): Promise<string | null> {\n return store.get(key) ?? null;\n },\n async set(key: string, value: string): Promise<string | null> {\n store.set(key, value);\n return 'OK';\n },\n async setex(\n key: string,\n _seconds: number,\n value: string,\n ): Promise<string | null> {\n store.set(key, value);\n return 'OK';\n },\n async del(...keys: string[]): Promise<number> {\n let deleted = 0;\n for (const key of keys) {\n if (store.delete(key)) {\n deleted += 1;\n }\n }\n return deleted;\n },\n async keys(pattern: string): Promise<string[]> {\n if (pattern.endsWith('*')) {\n const prefix = pattern.slice(0, -1);\n return Array.from(store.keys()).filter(key => key.startsWith(prefix));\n }\n return store.has(pattern) ? [pattern] : [];\n },\n async quit(): Promise<void> {\n store.clear();\n },\n on(): void {\n return;\n },\n };\n}\n"],"names":[],"mappings":"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"}