@hiero-ledger/sdk 2.76.0 → 2.78.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (791) hide show
  1. package/README.md +6 -6
  2. package/dist/umd.js +1017 -673
  3. package/dist/umd.min.js +14 -14
  4. package/lib/Cache.cjs +6 -6
  5. package/lib/Cache.d.ts +12 -12
  6. package/lib/Cache.js.map +1 -1
  7. package/lib/Duration.cjs +1 -1
  8. package/lib/Duration.d.ts +2 -2
  9. package/lib/Duration.js.map +1 -1
  10. package/lib/EntityIdHelper.cjs +1 -1
  11. package/lib/EntityIdHelper.js +1 -1
  12. package/lib/EntityIdHelper.js.map +1 -1
  13. package/lib/EthereumFlow.cjs +7 -7
  14. package/lib/EthereumFlow.d.ts +14 -14
  15. package/lib/EthereumFlow.js.map +1 -1
  16. package/lib/EthereumTransaction.cjs +7 -7
  17. package/lib/EthereumTransaction.d.ts +14 -14
  18. package/lib/EthereumTransaction.js.map +1 -1
  19. package/lib/EvmAddress.cjs +1 -1
  20. package/lib/EvmAddress.d.ts +2 -2
  21. package/lib/EvmAddress.js.map +1 -1
  22. package/lib/ExchangeRate.cjs +2 -2
  23. package/lib/ExchangeRate.d.ts +4 -4
  24. package/lib/ExchangeRate.js.map +1 -1
  25. package/lib/ExchangeRates.cjs +1 -1
  26. package/lib/ExchangeRates.d.ts +1 -1
  27. package/lib/ExchangeRates.js +1 -1
  28. package/lib/ExchangeRates.js.map +1 -1
  29. package/lib/Executable.cjs +13 -3
  30. package/lib/Executable.js +1 -1
  31. package/lib/Executable.js.map +1 -1
  32. package/lib/FeeComponents.cjs +1 -1
  33. package/lib/FeeComponents.d.ts +1 -1
  34. package/lib/FeeComponents.js +1 -1
  35. package/lib/FeeComponents.js.map +1 -1
  36. package/lib/FeeData.cjs +1 -1
  37. package/lib/FeeData.d.ts +1 -1
  38. package/lib/FeeData.js +1 -1
  39. package/lib/FeeData.js.map +1 -1
  40. package/lib/FeeDataType.cjs +1 -1
  41. package/lib/FeeDataType.d.ts +2 -2
  42. package/lib/FeeDataType.js.map +1 -1
  43. package/lib/FeeSchedule.cjs +1 -1
  44. package/lib/FeeSchedule.d.ts +1 -1
  45. package/lib/FeeSchedule.js +1 -1
  46. package/lib/FeeSchedule.js.map +1 -1
  47. package/lib/FeeSchedules.cjs +1 -1
  48. package/lib/FeeSchedules.d.ts +1 -1
  49. package/lib/FeeSchedules.js +1 -1
  50. package/lib/FeeSchedules.js.map +1 -1
  51. package/lib/FreezeType.cjs +1 -1
  52. package/lib/FreezeType.d.ts +2 -2
  53. package/lib/FreezeType.js.map +1 -1
  54. package/lib/Key.cjs +1 -1
  55. package/lib/Key.d.ts +2 -2
  56. package/lib/Key.js.map +1 -1
  57. package/lib/KeyList.cjs +3 -3
  58. package/lib/KeyList.d.ts +6 -6
  59. package/lib/KeyList.js.map +1 -1
  60. package/lib/Mnemonic.cjs +1 -1
  61. package/lib/Mnemonic.d.ts +1 -1
  62. package/lib/Mnemonic.js +1 -1
  63. package/lib/Mnemonic.js.map +1 -1
  64. package/lib/PrivateKey.cjs +7 -7
  65. package/lib/PrivateKey.d.ts +11 -11
  66. package/lib/PrivateKey.js +1 -1
  67. package/lib/PrivateKey.js.map +1 -1
  68. package/lib/PrngTransaction.cjs +9 -9
  69. package/lib/PrngTransaction.d.ts +18 -18
  70. package/lib/PrngTransaction.js.map +1 -1
  71. package/lib/PublicKey.cjs +5 -5
  72. package/lib/PublicKey.d.ts +9 -9
  73. package/lib/PublicKey.js +1 -1
  74. package/lib/PublicKey.js.map +1 -1
  75. package/lib/RequestType.cjs +1 -1
  76. package/lib/RequestType.d.ts +2 -2
  77. package/lib/RequestType.js.map +1 -1
  78. package/lib/StakingInfo.cjs +1 -1
  79. package/lib/StakingInfo.d.ts +1 -1
  80. package/lib/StakingInfo.js +1 -1
  81. package/lib/StakingInfo.js.map +1 -1
  82. package/lib/Status.cjs +1 -1
  83. package/lib/Status.d.ts +2 -2
  84. package/lib/Status.js.map +1 -1
  85. package/lib/Timestamp.cjs +1 -1
  86. package/lib/Timestamp.d.ts +1 -1
  87. package/lib/Timestamp.js.map +1 -1
  88. package/lib/TransactionFeeSchedule.cjs +1 -1
  89. package/lib/TransactionFeeSchedule.d.ts +1 -1
  90. package/lib/TransactionFeeSchedule.js +1 -1
  91. package/lib/TransactionFeeSchedule.js.map +1 -1
  92. package/lib/Transfer.cjs +2 -2
  93. package/lib/Transfer.d.ts +4 -4
  94. package/lib/Transfer.js.map +1 -1
  95. package/lib/account/AccountAllowanceAdjustTransaction.cjs +7 -7
  96. package/lib/account/AccountAllowanceAdjustTransaction.d.ts +14 -14
  97. package/lib/account/AccountAllowanceAdjustTransaction.js.map +1 -1
  98. package/lib/account/AccountAllowanceApproveTransaction.cjs +8 -8
  99. package/lib/account/AccountAllowanceApproveTransaction.d.ts +16 -16
  100. package/lib/account/AccountAllowanceApproveTransaction.js.map +1 -1
  101. package/lib/account/AccountAllowanceDeleteTransaction.cjs +7 -7
  102. package/lib/account/AccountAllowanceDeleteTransaction.d.ts +14 -14
  103. package/lib/account/AccountAllowanceDeleteTransaction.js.map +1 -1
  104. package/lib/account/AccountBalance.cjs +1 -1
  105. package/lib/account/AccountBalance.d.ts +1 -1
  106. package/lib/account/AccountBalance.js +1 -1
  107. package/lib/account/AccountBalance.js.map +1 -1
  108. package/lib/account/AccountBalanceQuery.cjs +6 -6
  109. package/lib/account/AccountBalanceQuery.d.ts +12 -12
  110. package/lib/account/AccountBalanceQuery.js.map +1 -1
  111. package/lib/account/AccountCreateTransaction.cjs +1 -1
  112. package/lib/account/AccountCreateTransaction.d.ts +1 -1
  113. package/lib/account/AccountCreateTransaction.js +1 -1
  114. package/lib/account/AccountCreateTransaction.js.map +1 -1
  115. package/lib/account/AccountDeleteTransaction.cjs +7 -7
  116. package/lib/account/AccountDeleteTransaction.d.ts +14 -14
  117. package/lib/account/AccountDeleteTransaction.js.map +1 -1
  118. package/lib/account/AccountId.cjs +1 -1
  119. package/lib/account/AccountId.d.ts +1 -1
  120. package/lib/account/AccountId.js +1 -1
  121. package/lib/account/AccountId.js.map +1 -1
  122. package/lib/account/AccountInfo.cjs +1 -1
  123. package/lib/account/AccountInfo.d.ts +1 -1
  124. package/lib/account/AccountInfo.js +1 -1
  125. package/lib/account/AccountInfo.js.map +1 -1
  126. package/lib/account/AccountInfoQuery.cjs +7 -7
  127. package/lib/account/AccountInfoQuery.d.ts +14 -14
  128. package/lib/account/AccountInfoQuery.js.map +1 -1
  129. package/lib/account/AccountRecordsQuery.cjs +7 -7
  130. package/lib/account/AccountRecordsQuery.d.ts +14 -14
  131. package/lib/account/AccountRecordsQuery.js.map +1 -1
  132. package/lib/account/AccountUpdateTransaction.cjs +7 -7
  133. package/lib/account/AccountUpdateTransaction.d.ts +14 -14
  134. package/lib/account/AccountUpdateTransaction.js.map +1 -1
  135. package/lib/account/HbarAllowance.cjs +3 -3
  136. package/lib/account/HbarAllowance.d.ts +6 -6
  137. package/lib/account/HbarAllowance.js.map +1 -1
  138. package/lib/account/HbarTransferMap.cjs +2 -2
  139. package/lib/account/HbarTransferMap.d.ts +4 -4
  140. package/lib/account/HbarTransferMap.js.map +1 -1
  141. package/lib/account/LiveHash.cjs +3 -3
  142. package/lib/account/LiveHash.d.ts +6 -6
  143. package/lib/account/LiveHash.js.map +1 -1
  144. package/lib/account/LiveHashAddTransaction.cjs +7 -7
  145. package/lib/account/LiveHashAddTransaction.d.ts +14 -14
  146. package/lib/account/LiveHashAddTransaction.js.map +1 -1
  147. package/lib/account/LiveHashDeleteTransaction.cjs +6 -6
  148. package/lib/account/LiveHashDeleteTransaction.d.ts +12 -12
  149. package/lib/account/LiveHashDeleteTransaction.js.map +1 -1
  150. package/lib/account/LiveHashQuery.cjs +7 -7
  151. package/lib/account/LiveHashQuery.d.ts +14 -14
  152. package/lib/account/LiveHashQuery.js.map +1 -1
  153. package/lib/account/NullableTokenDecimalMap.cjs +2 -2
  154. package/lib/account/NullableTokenDecimalMap.d.ts +4 -4
  155. package/lib/account/NullableTokenDecimalMap.js.map +1 -1
  156. package/lib/account/ProxyStaker.cjs +2 -2
  157. package/lib/account/ProxyStaker.d.ts +4 -4
  158. package/lib/account/ProxyStaker.js.map +1 -1
  159. package/lib/account/TokenAllowance.cjs +4 -4
  160. package/lib/account/TokenAllowance.d.ts +8 -8
  161. package/lib/account/TokenAllowance.js.map +1 -1
  162. package/lib/account/TokenBalanceMap.cjs +2 -2
  163. package/lib/account/TokenBalanceMap.d.ts +4 -4
  164. package/lib/account/TokenBalanceMap.js.map +1 -1
  165. package/lib/account/TokenDecimalMap.cjs +2 -2
  166. package/lib/account/TokenDecimalMap.d.ts +4 -4
  167. package/lib/account/TokenDecimalMap.js.map +1 -1
  168. package/lib/account/TokenNftAllowance.cjs +5 -5
  169. package/lib/account/TokenNftAllowance.d.ts +10 -10
  170. package/lib/account/TokenNftAllowance.js.map +1 -1
  171. package/lib/account/TokenNftTransferMap.cjs +5 -5
  172. package/lib/account/TokenNftTransferMap.d.ts +10 -10
  173. package/lib/account/TokenNftTransferMap.js.map +1 -1
  174. package/lib/account/TokenRelationship.cjs +4 -4
  175. package/lib/account/TokenRelationship.d.ts +8 -8
  176. package/lib/account/TokenRelationship.js.map +1 -1
  177. package/lib/account/TokenRelationshipMap.cjs +2 -2
  178. package/lib/account/TokenRelationshipMap.d.ts +4 -4
  179. package/lib/account/TokenRelationshipMap.js.map +1 -1
  180. package/lib/account/TokenTransferMap.cjs +4 -4
  181. package/lib/account/TokenTransferMap.d.ts +8 -8
  182. package/lib/account/TokenTransferMap.js.map +1 -1
  183. package/lib/account/TransferTransaction.cjs +6 -6
  184. package/lib/account/TransferTransaction.d.ts +12 -12
  185. package/lib/account/TransferTransaction.js.map +1 -1
  186. package/lib/address_book/AddressBooks.cjs +1 -1
  187. package/lib/address_book/AddressBooks.js +1 -1
  188. package/lib/address_book/AddressBooks.js.map +1 -1
  189. package/lib/address_book/Endpoint.cjs +1 -1
  190. package/lib/address_book/Endpoint.d.ts +2 -2
  191. package/lib/address_book/Endpoint.js.map +1 -1
  192. package/lib/address_book/NodeAddress.cjs +1 -1
  193. package/lib/address_book/NodeAddress.d.ts +2 -2
  194. package/lib/address_book/NodeAddress.js.map +1 -1
  195. package/lib/address_book/NodeAddressBook.cjs +1 -1
  196. package/lib/address_book/NodeAddressBook.d.ts +1 -1
  197. package/lib/address_book/NodeAddressBook.js +1 -1
  198. package/lib/address_book/NodeAddressBook.js.map +1 -1
  199. package/lib/browser.js +1 -1
  200. package/lib/channel/Channel.cjs +26 -2
  201. package/lib/channel/Channel.d.ts +21 -1
  202. package/lib/channel/Channel.js +1 -1
  203. package/lib/channel/Channel.js.map +1 -1
  204. package/lib/channel/NativeChannel.cjs +96 -2
  205. package/lib/channel/NativeChannel.d.ts +21 -1
  206. package/lib/channel/NativeChannel.js +1 -1
  207. package/lib/channel/NativeChannel.js.map +1 -1
  208. package/lib/channel/NodeChannel.cjs +4 -5
  209. package/lib/channel/NodeChannel.d.ts +2 -3
  210. package/lib/channel/NodeChannel.js +1 -1
  211. package/lib/channel/NodeChannel.js.map +1 -1
  212. package/lib/channel/WebChannel.cjs +163 -13
  213. package/lib/channel/WebChannel.d.ts +51 -1
  214. package/lib/channel/WebChannel.js +1 -1
  215. package/lib/channel/WebChannel.js.map +1 -1
  216. package/lib/client/Client.cjs +62 -5
  217. package/lib/client/Client.d.ts +26 -3
  218. package/lib/client/Client.js +1 -1
  219. package/lib/client/Client.js.map +1 -1
  220. package/lib/client/NativeClient.cjs +1 -1
  221. package/lib/client/NativeClient.js +1 -1
  222. package/lib/client/NativeClient.js.map +1 -1
  223. package/lib/client/NodeClient.cjs +7 -6
  224. package/lib/client/NodeClient.d.ts +3 -3
  225. package/lib/client/NodeClient.js +1 -1
  226. package/lib/client/NodeClient.js.map +1 -1
  227. package/lib/client/WebClient.cjs +55 -27
  228. package/lib/client/WebClient.d.ts +6 -0
  229. package/lib/client/WebClient.js +1 -1
  230. package/lib/client/WebClient.js.map +1 -1
  231. package/lib/client/addressbooks/mainnet.cjs +1 -1
  232. package/lib/client/addressbooks/mainnet.d.ts +1 -1
  233. package/lib/client/addressbooks/mainnet.js +1 -1
  234. package/lib/client/addressbooks/mainnet.js.map +1 -1
  235. package/lib/client/addressbooks/previewnet.cjs +1 -1
  236. package/lib/client/addressbooks/previewnet.d.ts +1 -1
  237. package/lib/client/addressbooks/previewnet.js +1 -1
  238. package/lib/client/addressbooks/previewnet.js.map +1 -1
  239. package/lib/client/addressbooks/testnet.cjs +1 -1
  240. package/lib/client/addressbooks/testnet.d.ts +1 -1
  241. package/lib/client/addressbooks/testnet.js +1 -1
  242. package/lib/client/addressbooks/testnet.js.map +1 -1
  243. package/lib/constants/ClientConstants.cjs +17 -1
  244. package/lib/constants/ClientConstants.d.ts +14 -0
  245. package/lib/constants/ClientConstants.js +1 -1
  246. package/lib/constants/ClientConstants.js.map +1 -1
  247. package/lib/contract/ContractByteCodeQuery.cjs +6 -6
  248. package/lib/contract/ContractByteCodeQuery.d.ts +12 -12
  249. package/lib/contract/ContractByteCodeQuery.js.map +1 -1
  250. package/lib/contract/ContractCallQuery.cjs +1 -1
  251. package/lib/contract/ContractCallQuery.d.ts +1 -1
  252. package/lib/contract/ContractCallQuery.js +1 -1
  253. package/lib/contract/ContractCallQuery.js.map +1 -1
  254. package/lib/contract/ContractCreateTransaction.cjs +8 -8
  255. package/lib/contract/ContractCreateTransaction.d.ts +16 -16
  256. package/lib/contract/ContractCreateTransaction.js.map +1 -1
  257. package/lib/contract/ContractDeleteTransaction.cjs +8 -8
  258. package/lib/contract/ContractDeleteTransaction.d.ts +16 -16
  259. package/lib/contract/ContractDeleteTransaction.js.map +1 -1
  260. package/lib/contract/ContractExecuteTransaction.cjs +9 -9
  261. package/lib/contract/ContractExecuteTransaction.d.ts +18 -18
  262. package/lib/contract/ContractExecuteTransaction.js.map +1 -1
  263. package/lib/contract/ContractFunctionResult.cjs +2 -2
  264. package/lib/contract/ContractFunctionResult.d.ts +4 -4
  265. package/lib/contract/ContractFunctionResult.js.map +1 -1
  266. package/lib/contract/ContractId.cjs +1 -1
  267. package/lib/contract/ContractId.d.ts +1 -1
  268. package/lib/contract/ContractId.js +1 -1
  269. package/lib/contract/ContractId.js.map +1 -1
  270. package/lib/contract/ContractInfo.cjs +1 -1
  271. package/lib/contract/ContractInfo.d.ts +1 -1
  272. package/lib/contract/ContractInfo.js +1 -1
  273. package/lib/contract/ContractInfo.js.map +1 -1
  274. package/lib/contract/ContractInfoQuery.cjs +7 -7
  275. package/lib/contract/ContractInfoQuery.d.ts +14 -14
  276. package/lib/contract/ContractInfoQuery.js.map +1 -1
  277. package/lib/contract/ContractLogInfo.cjs +2 -2
  278. package/lib/contract/ContractLogInfo.d.ts +4 -4
  279. package/lib/contract/ContractLogInfo.js.map +1 -1
  280. package/lib/contract/ContractNonceInfo.cjs +3 -3
  281. package/lib/contract/ContractNonceInfo.d.ts +4 -4
  282. package/lib/contract/ContractNonceInfo.js +1 -1
  283. package/lib/contract/ContractNonceInfo.js.map +1 -1
  284. package/lib/contract/ContractStateChange.cjs +1 -1
  285. package/lib/contract/ContractStateChange.d.ts +1 -1
  286. package/lib/contract/ContractUpdateTransaction.cjs +10 -10
  287. package/lib/contract/ContractUpdateTransaction.d.ts +18 -18
  288. package/lib/contract/ContractUpdateTransaction.js +1 -1
  289. package/lib/contract/ContractUpdateTransaction.js.map +1 -1
  290. package/lib/contract/DelegateContractId.cjs +2 -2
  291. package/lib/contract/DelegateContractId.d.ts +4 -4
  292. package/lib/contract/DelegateContractId.js.map +1 -1
  293. package/lib/contract/StorageChange.cjs +1 -1
  294. package/lib/contract/StorageChange.d.ts +1 -1
  295. package/lib/exports.cjs +1 -1
  296. package/lib/exports.d.ts +1 -1
  297. package/lib/exports.js +1 -1
  298. package/lib/exports.js.map +1 -1
  299. package/lib/file/FileAppendTransaction.cjs +7 -7
  300. package/lib/file/FileAppendTransaction.d.ts +14 -14
  301. package/lib/file/FileAppendTransaction.js.map +1 -1
  302. package/lib/file/FileContentsQuery.cjs +7 -7
  303. package/lib/file/FileContentsQuery.d.ts +14 -14
  304. package/lib/file/FileContentsQuery.js.map +1 -1
  305. package/lib/file/FileCreateTransaction.cjs +6 -6
  306. package/lib/file/FileCreateTransaction.d.ts +12 -12
  307. package/lib/file/FileCreateTransaction.js.map +1 -1
  308. package/lib/file/FileDeleteTransaction.cjs +7 -7
  309. package/lib/file/FileDeleteTransaction.d.ts +14 -14
  310. package/lib/file/FileDeleteTransaction.js.map +1 -1
  311. package/lib/file/FileId.cjs +1 -1
  312. package/lib/file/FileId.d.ts +1 -1
  313. package/lib/file/FileId.js +1 -1
  314. package/lib/file/FileId.js.map +1 -1
  315. package/lib/file/FileInfo.cjs +1 -1
  316. package/lib/file/FileInfo.d.ts +1 -1
  317. package/lib/file/FileInfo.js +1 -1
  318. package/lib/file/FileInfo.js.map +1 -1
  319. package/lib/file/FileInfoQuery.cjs +7 -7
  320. package/lib/file/FileInfoQuery.d.ts +14 -14
  321. package/lib/file/FileInfoQuery.js.map +1 -1
  322. package/lib/file/FileUpdateTransaction.cjs +6 -6
  323. package/lib/file/FileUpdateTransaction.d.ts +12 -12
  324. package/lib/file/FileUpdateTransaction.js.map +1 -1
  325. package/lib/index.js +1 -1
  326. package/lib/native.js +1 -1
  327. package/lib/network/AddressBookQuery.cjs +1 -5
  328. package/lib/network/AddressBookQuery.js +1 -1
  329. package/lib/network/AddressBookQuery.js.map +1 -1
  330. package/lib/network/AddressBookQueryWeb.cjs +1 -5
  331. package/lib/network/AddressBookQueryWeb.js +1 -1
  332. package/lib/network/AddressBookQueryWeb.js.map +1 -1
  333. package/lib/network/NetworkVersionInfo.cjs +1 -1
  334. package/lib/network/NetworkVersionInfo.d.ts +1 -1
  335. package/lib/network/NetworkVersionInfo.js +1 -1
  336. package/lib/network/NetworkVersionInfo.js.map +1 -1
  337. package/lib/network/NetworkVersionInfoQuery.cjs +6 -6
  338. package/lib/network/NetworkVersionInfoQuery.d.ts +12 -12
  339. package/lib/network/NetworkVersionInfoQuery.js.map +1 -1
  340. package/lib/network/SemanticVersion.cjs +1 -1
  341. package/lib/network/SemanticVersion.d.ts +1 -1
  342. package/lib/network/SemanticVersion.js +1 -1
  343. package/lib/network/SemanticVersion.js.map +1 -1
  344. package/lib/node/NodeCreateTransaction.cjs +6 -6
  345. package/lib/node/NodeCreateTransaction.d.ts +12 -12
  346. package/lib/node/NodeCreateTransaction.js.map +1 -1
  347. package/lib/node/NodeDeleteTransaction.cjs +6 -6
  348. package/lib/node/NodeDeleteTransaction.d.ts +12 -12
  349. package/lib/node/NodeDeleteTransaction.js.map +1 -1
  350. package/lib/node/NodeUpdateTransaction.cjs +6 -6
  351. package/lib/node/NodeUpdateTransaction.d.ts +12 -12
  352. package/lib/node/NodeUpdateTransaction.js.map +1 -1
  353. package/lib/node/ServiceEndpoint.cjs +1 -1
  354. package/lib/node/ServiceEndpoint.d.ts +2 -2
  355. package/lib/node/ServiceEndpoint.js.map +1 -1
  356. package/lib/query/CostQuery.cjs +1 -1
  357. package/lib/query/CostQuery.d.ts +1 -1
  358. package/lib/query/CostQuery.js +1 -1
  359. package/lib/query/CostQuery.js.map +1 -1
  360. package/lib/query/Query.cjs +1 -1
  361. package/lib/query/Query.d.ts +1 -1
  362. package/lib/query/Query.js +1 -1
  363. package/lib/query/Query.js.map +1 -1
  364. package/lib/query/QueryBase.cjs +1 -1
  365. package/lib/query/QueryBase.d.ts +1 -1
  366. package/lib/query/QueryBase.js +1 -1
  367. package/lib/query/QueryBase.js.map +1 -1
  368. package/lib/schedule/ScheduleCreateTransaction.cjs +1 -1
  369. package/lib/schedule/ScheduleCreateTransaction.d.ts +1 -1
  370. package/lib/schedule/ScheduleCreateTransaction.js +1 -1
  371. package/lib/schedule/ScheduleCreateTransaction.js.map +1 -1
  372. package/lib/schedule/ScheduleDeleteTransaction.cjs +8 -8
  373. package/lib/schedule/ScheduleDeleteTransaction.d.ts +16 -16
  374. package/lib/schedule/ScheduleDeleteTransaction.js.map +1 -1
  375. package/lib/schedule/ScheduleId.cjs +1 -1
  376. package/lib/schedule/ScheduleId.d.ts +1 -1
  377. package/lib/schedule/ScheduleId.js +1 -1
  378. package/lib/schedule/ScheduleId.js.map +1 -1
  379. package/lib/schedule/ScheduleInfo.cjs +1 -1
  380. package/lib/schedule/ScheduleInfo.d.ts +1 -1
  381. package/lib/schedule/ScheduleInfo.js +1 -1
  382. package/lib/schedule/ScheduleInfo.js.map +1 -1
  383. package/lib/schedule/ScheduleInfoQuery.cjs +7 -7
  384. package/lib/schedule/ScheduleInfoQuery.d.ts +14 -14
  385. package/lib/schedule/ScheduleInfoQuery.js.map +1 -1
  386. package/lib/schedule/ScheduleSignTransaction.cjs +10 -10
  387. package/lib/schedule/ScheduleSignTransaction.d.ts +20 -20
  388. package/lib/schedule/ScheduleSignTransaction.js.map +1 -1
  389. package/lib/system/FreezeTransaction.cjs +6 -6
  390. package/lib/system/FreezeTransaction.d.ts +12 -12
  391. package/lib/system/FreezeTransaction.js.map +1 -1
  392. package/lib/system/SystemDeleteTransaction.cjs +8 -8
  393. package/lib/system/SystemDeleteTransaction.d.ts +16 -16
  394. package/lib/system/SystemDeleteTransaction.js.map +1 -1
  395. package/lib/system/SystemUndeleteTransaction.cjs +8 -8
  396. package/lib/system/SystemUndeleteTransaction.d.ts +16 -16
  397. package/lib/system/SystemUndeleteTransaction.js.map +1 -1
  398. package/lib/token/AbstractTokenTransferTransaction.cjs +1 -1
  399. package/lib/token/AbstractTokenTransferTransaction.d.ts +2 -2
  400. package/lib/token/AbstractTokenTransferTransaction.js.map +1 -1
  401. package/lib/token/AssessedCustomFee.cjs +1 -1
  402. package/lib/token/AssessedCustomFee.d.ts +2 -2
  403. package/lib/token/AssessedCustomFee.js.map +1 -1
  404. package/lib/token/CustomFee.cjs +1 -1
  405. package/lib/token/CustomFee.d.ts +2 -2
  406. package/lib/token/CustomFee.js.map +1 -1
  407. package/lib/token/CustomFixedFee.cjs +3 -3
  408. package/lib/token/CustomFixedFee.d.ts +6 -6
  409. package/lib/token/CustomFixedFee.js.map +1 -1
  410. package/lib/token/CustomFractionalFee.cjs +3 -3
  411. package/lib/token/CustomFractionalFee.d.ts +6 -6
  412. package/lib/token/CustomFractionalFee.js.map +1 -1
  413. package/lib/token/CustomRoyaltyFee.cjs +4 -4
  414. package/lib/token/CustomRoyaltyFee.d.ts +8 -8
  415. package/lib/token/CustomRoyaltyFee.js.map +1 -1
  416. package/lib/token/NftId.cjs +1 -1
  417. package/lib/token/NftId.d.ts +1 -1
  418. package/lib/token/NftId.js +1 -1
  419. package/lib/token/NftId.js.map +1 -1
  420. package/lib/token/PendingAirdropId.cjs +1 -1
  421. package/lib/token/PendingAirdropId.d.ts +1 -1
  422. package/lib/token/PendingAirdropId.js.map +1 -1
  423. package/lib/token/PendingAirdropRecord.cjs +1 -1
  424. package/lib/token/PendingAirdropRecord.d.ts +1 -1
  425. package/lib/token/PendingAirdropRecord.js.map +1 -1
  426. package/lib/token/TokenAirdropTransaction.cjs +8 -8
  427. package/lib/token/TokenAirdropTransaction.d.ts +16 -16
  428. package/lib/token/TokenAirdropTransaction.js.map +1 -1
  429. package/lib/token/TokenAssociateTransaction.cjs +7 -7
  430. package/lib/token/TokenAssociateTransaction.d.ts +14 -14
  431. package/lib/token/TokenAssociateTransaction.js.map +1 -1
  432. package/lib/token/TokenAssociation.cjs +1 -1
  433. package/lib/token/TokenAssociation.d.ts +2 -2
  434. package/lib/token/TokenAssociation.js.map +1 -1
  435. package/lib/token/TokenBurnTransaction.cjs +7 -7
  436. package/lib/token/TokenBurnTransaction.d.ts +14 -14
  437. package/lib/token/TokenBurnTransaction.js.map +1 -1
  438. package/lib/token/TokenCancelAirdropTransaction.cjs +6 -6
  439. package/lib/token/TokenCancelAirdropTransaction.d.ts +12 -12
  440. package/lib/token/TokenCancelAirdropTransaction.js.map +1 -1
  441. package/lib/token/TokenClaimAirdropTransaction.cjs +6 -6
  442. package/lib/token/TokenClaimAirdropTransaction.d.ts +12 -12
  443. package/lib/token/TokenClaimAirdropTransaction.js.map +1 -1
  444. package/lib/token/TokenCreateTransaction.cjs +7 -7
  445. package/lib/token/TokenCreateTransaction.d.ts +14 -14
  446. package/lib/token/TokenCreateTransaction.js.map +1 -1
  447. package/lib/token/TokenDeleteTransaction.cjs +7 -7
  448. package/lib/token/TokenDeleteTransaction.d.ts +14 -14
  449. package/lib/token/TokenDeleteTransaction.js.map +1 -1
  450. package/lib/token/TokenDissociateTransaction.cjs +7 -7
  451. package/lib/token/TokenDissociateTransaction.d.ts +14 -14
  452. package/lib/token/TokenDissociateTransaction.js.map +1 -1
  453. package/lib/token/TokenFeeScheduleUpdateTransaction.cjs +7 -7
  454. package/lib/token/TokenFeeScheduleUpdateTransaction.d.ts +14 -14
  455. package/lib/token/TokenFeeScheduleUpdateTransaction.js.map +1 -1
  456. package/lib/token/TokenFreezeTransaction.cjs +7 -7
  457. package/lib/token/TokenFreezeTransaction.d.ts +14 -14
  458. package/lib/token/TokenFreezeTransaction.js.map +1 -1
  459. package/lib/token/TokenGrantKycTransaction.cjs +7 -7
  460. package/lib/token/TokenGrantKycTransaction.d.ts +14 -14
  461. package/lib/token/TokenGrantKycTransaction.js.map +1 -1
  462. package/lib/token/TokenId.cjs +1 -1
  463. package/lib/token/TokenId.d.ts +1 -1
  464. package/lib/token/TokenId.js +1 -1
  465. package/lib/token/TokenId.js.map +1 -1
  466. package/lib/token/TokenInfo.cjs +1 -1
  467. package/lib/token/TokenInfo.d.ts +1 -1
  468. package/lib/token/TokenInfo.js +1 -1
  469. package/lib/token/TokenInfo.js.map +1 -1
  470. package/lib/token/TokenInfoQuery.cjs +7 -7
  471. package/lib/token/TokenInfoQuery.d.ts +14 -14
  472. package/lib/token/TokenInfoQuery.js.map +1 -1
  473. package/lib/token/TokenKeyValidation.cjs +1 -1
  474. package/lib/token/TokenKeyValidation.d.ts +2 -2
  475. package/lib/token/TokenKeyValidation.js.map +1 -1
  476. package/lib/token/TokenMintTransaction.cjs +7 -7
  477. package/lib/token/TokenMintTransaction.d.ts +14 -14
  478. package/lib/token/TokenMintTransaction.js.map +1 -1
  479. package/lib/token/TokenNftInfo.cjs +10 -10
  480. package/lib/token/TokenNftInfo.d.ts +20 -20
  481. package/lib/token/TokenNftInfo.js.map +1 -1
  482. package/lib/token/TokenNftInfoQuery.cjs +11 -11
  483. package/lib/token/TokenNftInfoQuery.d.ts +22 -22
  484. package/lib/token/TokenNftInfoQuery.js.map +1 -1
  485. package/lib/token/TokenNftTransfer.cjs +5 -5
  486. package/lib/token/TokenNftTransfer.d.ts +10 -10
  487. package/lib/token/TokenNftTransfer.js.map +1 -1
  488. package/lib/token/TokenNftsUpdateTransaction.cjs +7 -7
  489. package/lib/token/TokenNftsUpdateTransaction.d.ts +14 -14
  490. package/lib/token/TokenPauseTransaction.cjs +7 -7
  491. package/lib/token/TokenPauseTransaction.d.ts +14 -14
  492. package/lib/token/TokenPauseTransaction.js.map +1 -1
  493. package/lib/token/TokenReference.cjs +1 -1
  494. package/lib/token/TokenReference.d.ts +2 -2
  495. package/lib/token/TokenReference.js.map +1 -1
  496. package/lib/token/TokenRejectTransaction.cjs +7 -7
  497. package/lib/token/TokenRejectTransaction.d.ts +14 -14
  498. package/lib/token/TokenRejectTransaction.js.map +1 -1
  499. package/lib/token/TokenRevokeKycTransaction.cjs +7 -7
  500. package/lib/token/TokenRevokeKycTransaction.d.ts +14 -14
  501. package/lib/token/TokenRevokeKycTransaction.js.map +1 -1
  502. package/lib/token/TokenSupplyType.cjs +1 -1
  503. package/lib/token/TokenSupplyType.d.ts +2 -2
  504. package/lib/token/TokenSupplyType.js.map +1 -1
  505. package/lib/token/TokenTransfer.cjs +4 -4
  506. package/lib/token/TokenTransfer.d.ts +8 -8
  507. package/lib/token/TokenTransfer.js.map +1 -1
  508. package/lib/token/TokenType.cjs +1 -1
  509. package/lib/token/TokenType.d.ts +2 -2
  510. package/lib/token/TokenType.js.map +1 -1
  511. package/lib/token/TokenUnfreezeTransaction.cjs +7 -7
  512. package/lib/token/TokenUnfreezeTransaction.d.ts +14 -14
  513. package/lib/token/TokenUnfreezeTransaction.js.map +1 -1
  514. package/lib/token/TokenUnpauseTransaction.cjs +7 -7
  515. package/lib/token/TokenUnpauseTransaction.d.ts +14 -14
  516. package/lib/token/TokenUnpauseTransaction.js.map +1 -1
  517. package/lib/token/TokenUpdateNftsTransaction.cjs +7 -7
  518. package/lib/token/TokenUpdateNftsTransaction.d.ts +14 -14
  519. package/lib/token/TokenUpdateNftsTransaction.js.map +1 -1
  520. package/lib/token/TokenUpdateTransaction.cjs +7 -7
  521. package/lib/token/TokenUpdateTransaction.d.ts +14 -14
  522. package/lib/token/TokenUpdateTransaction.js.map +1 -1
  523. package/lib/token/TokenWipeTransaction.cjs +7 -7
  524. package/lib/token/TokenWipeTransaction.d.ts +14 -14
  525. package/lib/token/TokenWipeTransaction.js.map +1 -1
  526. package/lib/topic/TopicCreateTransaction.cjs +6 -6
  527. package/lib/topic/TopicCreateTransaction.d.ts +12 -12
  528. package/lib/topic/TopicCreateTransaction.js.map +1 -1
  529. package/lib/topic/TopicDeleteTransaction.cjs +6 -6
  530. package/lib/topic/TopicDeleteTransaction.d.ts +12 -12
  531. package/lib/topic/TopicDeleteTransaction.js.map +1 -1
  532. package/lib/topic/TopicId.cjs +1 -1
  533. package/lib/topic/TopicId.d.ts +1 -1
  534. package/lib/topic/TopicId.js +1 -1
  535. package/lib/topic/TopicId.js.map +1 -1
  536. package/lib/topic/TopicInfo.cjs +1 -1
  537. package/lib/topic/TopicInfo.d.ts +1 -1
  538. package/lib/topic/TopicInfo.js +1 -1
  539. package/lib/topic/TopicInfo.js.map +1 -1
  540. package/lib/topic/TopicInfoQuery.cjs +7 -7
  541. package/lib/topic/TopicInfoQuery.d.ts +14 -14
  542. package/lib/topic/TopicInfoQuery.js.map +1 -1
  543. package/lib/topic/TopicMessage.cjs +2 -2
  544. package/lib/topic/TopicMessage.d.ts +4 -4
  545. package/lib/topic/TopicMessage.js.map +1 -1
  546. package/lib/topic/TopicMessageChunk.cjs +2 -2
  547. package/lib/topic/TopicMessageChunk.d.ts +4 -4
  548. package/lib/topic/TopicMessageChunk.js.map +1 -1
  549. package/lib/topic/TopicMessageQuery.cjs +1 -1
  550. package/lib/topic/TopicMessageQuery.js +1 -1
  551. package/lib/topic/TopicMessageQuery.js.map +1 -1
  552. package/lib/topic/TopicMessageSubmitTransaction.cjs +9 -9
  553. package/lib/topic/TopicMessageSubmitTransaction.d.ts +18 -18
  554. package/lib/topic/TopicMessageSubmitTransaction.js.map +1 -1
  555. package/lib/topic/TopicUpdateTransaction.cjs +6 -6
  556. package/lib/topic/TopicUpdateTransaction.d.ts +12 -12
  557. package/lib/topic/TopicUpdateTransaction.js.map +1 -1
  558. package/lib/transaction/BatchTransaction.cjs +5 -5
  559. package/lib/transaction/BatchTransaction.d.ts +9 -9
  560. package/lib/transaction/BatchTransaction.js +1 -1
  561. package/lib/transaction/BatchTransaction.js.map +1 -1
  562. package/lib/transaction/CustomFeeLimit.cjs +2 -2
  563. package/lib/transaction/CustomFeeLimit.d.ts +4 -4
  564. package/lib/transaction/CustomFeeLimit.js.map +1 -1
  565. package/lib/transaction/NodeAccountIdSignatureMap.cjs +2 -2
  566. package/lib/transaction/NodeAccountIdSignatureMap.d.ts +2 -2
  567. package/lib/transaction/NodeAccountIdSignatureMap.js +1 -1
  568. package/lib/transaction/NodeAccountIdSignatureMap.js.map +1 -1
  569. package/lib/transaction/NodeAccountIdSignatureMapLegacy.cjs +1 -1
  570. package/lib/transaction/NodeAccountIdSignatureMapLegacy.d.ts +2 -2
  571. package/lib/transaction/NodeAccountIdSignatureMapLegacy.js.map +1 -1
  572. package/lib/transaction/SignatureMap.cjs +1 -1
  573. package/lib/transaction/SignatureMap.js.map +1 -1
  574. package/lib/transaction/SignaturePairMap.cjs +1 -1
  575. package/lib/transaction/SignaturePairMap.d.ts +2 -2
  576. package/lib/transaction/SignaturePairMap.js.map +1 -1
  577. package/lib/transaction/Transaction.cjs +1 -1
  578. package/lib/transaction/Transaction.d.ts +1 -1
  579. package/lib/transaction/Transaction.js +1 -1
  580. package/lib/transaction/Transaction.js.map +1 -1
  581. package/lib/transaction/TransactionHashMap.cjs +1 -1
  582. package/lib/transaction/TransactionHashMap.d.ts +2 -2
  583. package/lib/transaction/TransactionHashMap.js.map +1 -1
  584. package/lib/transaction/TransactionId.cjs +1 -1
  585. package/lib/transaction/TransactionId.d.ts +1 -1
  586. package/lib/transaction/TransactionId.js +1 -1
  587. package/lib/transaction/TransactionId.js.map +1 -1
  588. package/lib/transaction/TransactionReceipt.cjs +1 -1
  589. package/lib/transaction/TransactionReceipt.d.ts +1 -1
  590. package/lib/transaction/TransactionReceipt.js +1 -1
  591. package/lib/transaction/TransactionReceipt.js.map +1 -1
  592. package/lib/transaction/TransactionReceiptQuery.cjs +1 -1
  593. package/lib/transaction/TransactionReceiptQuery.d.ts +1 -1
  594. package/lib/transaction/TransactionReceiptQuery.js +1 -1
  595. package/lib/transaction/TransactionReceiptQuery.js.map +1 -1
  596. package/lib/transaction/TransactionRecord.cjs +1 -1
  597. package/lib/transaction/TransactionRecord.d.ts +1 -1
  598. package/lib/transaction/TransactionRecord.js +1 -1
  599. package/lib/transaction/TransactionRecord.js.map +1 -1
  600. package/lib/transaction/TransactionRecordQuery.cjs +1 -1
  601. package/lib/transaction/TransactionRecordQuery.d.ts +1 -1
  602. package/lib/transaction/TransactionRecordQuery.js +1 -1
  603. package/lib/transaction/TransactionRecordQuery.js.map +1 -1
  604. package/lib/util/ASN1-Decoder.cjs +1 -1
  605. package/lib/util/ASN1-Decoder.js +1 -1
  606. package/lib/util/ASN1-Decoder.js.map +1 -1
  607. package/lib/version.js +1 -1
  608. package/package.json +6 -8
  609. package/src/Cache.js +6 -6
  610. package/src/Duration.js +1 -1
  611. package/src/EntityIdHelper.js +1 -1
  612. package/src/EthereumFlow.js +7 -7
  613. package/src/EthereumTransaction.js +7 -7
  614. package/src/EvmAddress.js +1 -1
  615. package/src/ExchangeRate.js +2 -2
  616. package/src/ExchangeRates.js +1 -1
  617. package/src/Executable.js +18 -2
  618. package/src/FeeComponents.js +1 -1
  619. package/src/FeeData.js +1 -1
  620. package/src/FeeDataType.js +1 -1
  621. package/src/FeeSchedule.js +1 -1
  622. package/src/FeeSchedules.js +1 -1
  623. package/src/FreezeType.js +1 -1
  624. package/src/Key.js +1 -1
  625. package/src/KeyList.js +3 -3
  626. package/src/Mnemonic.js +1 -1
  627. package/src/PrivateKey.js +7 -7
  628. package/src/PrngTransaction.js +9 -9
  629. package/src/PublicKey.js +5 -5
  630. package/src/RequestType.js +1 -1
  631. package/src/StakingInfo.js +1 -1
  632. package/src/Status.js +1 -1
  633. package/src/Timestamp.js +1 -1
  634. package/src/TransactionFeeSchedule.js +1 -1
  635. package/src/Transfer.js +2 -2
  636. package/src/account/AccountAllowanceAdjustTransaction.js +7 -7
  637. package/src/account/AccountAllowanceApproveTransaction.js +8 -8
  638. package/src/account/AccountAllowanceDeleteTransaction.js +7 -7
  639. package/src/account/AccountBalance.js +1 -1
  640. package/src/account/AccountBalanceQuery.js +6 -6
  641. package/src/account/AccountCreateTransaction.js +1 -1
  642. package/src/account/AccountDeleteTransaction.js +7 -7
  643. package/src/account/AccountId.js +1 -1
  644. package/src/account/AccountInfo.js +1 -1
  645. package/src/account/AccountInfoQuery.js +7 -7
  646. package/src/account/AccountRecordsQuery.js +7 -7
  647. package/src/account/AccountUpdateTransaction.js +7 -7
  648. package/src/account/HbarAllowance.js +3 -3
  649. package/src/account/HbarTransferMap.js +2 -2
  650. package/src/account/LiveHash.js +3 -3
  651. package/src/account/LiveHashAddTransaction.js +7 -7
  652. package/src/account/LiveHashDeleteTransaction.js +6 -6
  653. package/src/account/LiveHashQuery.js +7 -7
  654. package/src/account/NullableTokenDecimalMap.js +2 -2
  655. package/src/account/ProxyStaker.js +2 -2
  656. package/src/account/TokenAllowance.js +4 -4
  657. package/src/account/TokenBalanceMap.js +2 -2
  658. package/src/account/TokenDecimalMap.js +2 -2
  659. package/src/account/TokenNftAllowance.js +5 -5
  660. package/src/account/TokenNftTransferMap.js +5 -5
  661. package/src/account/TokenRelationship.js +4 -4
  662. package/src/account/TokenRelationshipMap.js +2 -2
  663. package/src/account/TokenTransferMap.js +4 -4
  664. package/src/account/TransferTransaction.js +6 -6
  665. package/src/address_book/AddressBooks.js +1 -1
  666. package/src/address_book/Endpoint.js +1 -1
  667. package/src/address_book/NodeAddress.js +1 -1
  668. package/src/address_book/NodeAddressBook.js +1 -1
  669. package/src/channel/Channel.js +26 -2
  670. package/src/channel/NativeChannel.js +111 -2
  671. package/src/channel/NodeChannel.js +4 -7
  672. package/src/channel/WebChannel.js +189 -21
  673. package/src/client/Client.js +79 -5
  674. package/src/client/NativeClient.js +1 -1
  675. package/src/client/NodeClient.js +7 -6
  676. package/src/client/WebClient.js +64 -31
  677. package/src/client/addressbooks/mainnet.js +1 -1
  678. package/src/client/addressbooks/previewnet.js +1 -1
  679. package/src/client/addressbooks/testnet.js +1 -1
  680. package/src/constants/ClientConstants.js +16 -0
  681. package/src/contract/ContractByteCodeQuery.js +6 -6
  682. package/src/contract/ContractCallQuery.js +1 -1
  683. package/src/contract/ContractCreateTransaction.js +8 -8
  684. package/src/contract/ContractDeleteTransaction.js +8 -8
  685. package/src/contract/ContractExecuteTransaction.js +9 -9
  686. package/src/contract/ContractFunctionResult.js +2 -2
  687. package/src/contract/ContractId.js +1 -1
  688. package/src/contract/ContractInfo.js +1 -1
  689. package/src/contract/ContractInfoQuery.js +7 -7
  690. package/src/contract/ContractLogInfo.js +2 -2
  691. package/src/contract/ContractNonceInfo.js +3 -3
  692. package/src/contract/ContractStateChange.js +1 -1
  693. package/src/contract/ContractUpdateTransaction.js +10 -10
  694. package/src/contract/DelegateContractId.js +2 -2
  695. package/src/contract/StorageChange.js +1 -1
  696. package/src/exports.js +1 -1
  697. package/src/file/FileAppendTransaction.js +7 -7
  698. package/src/file/FileContentsQuery.js +7 -7
  699. package/src/file/FileCreateTransaction.js +6 -6
  700. package/src/file/FileDeleteTransaction.js +7 -7
  701. package/src/file/FileId.js +1 -1
  702. package/src/file/FileInfo.js +1 -1
  703. package/src/file/FileInfoQuery.js +7 -7
  704. package/src/file/FileUpdateTransaction.js +6 -6
  705. package/src/network/AddressBookQuery.js +1 -8
  706. package/src/network/AddressBookQueryWeb.js +1 -8
  707. package/src/network/NetworkVersionInfo.js +1 -1
  708. package/src/network/NetworkVersionInfoQuery.js +6 -6
  709. package/src/network/SemanticVersion.js +1 -1
  710. package/src/node/NodeCreateTransaction.js +6 -6
  711. package/src/node/NodeDeleteTransaction.js +6 -6
  712. package/src/node/NodeUpdateTransaction.js +6 -6
  713. package/src/node/ServiceEndpoint.js +1 -1
  714. package/src/query/CostQuery.js +1 -1
  715. package/src/query/Query.js +1 -1
  716. package/src/query/QueryBase.js +1 -1
  717. package/src/schedule/ScheduleCreateTransaction.js +1 -1
  718. package/src/schedule/ScheduleDeleteTransaction.js +8 -8
  719. package/src/schedule/ScheduleId.js +1 -1
  720. package/src/schedule/ScheduleInfo.js +1 -1
  721. package/src/schedule/ScheduleInfoQuery.js +7 -7
  722. package/src/schedule/ScheduleSignTransaction.js +10 -10
  723. package/src/system/FreezeTransaction.js +6 -6
  724. package/src/system/SystemDeleteTransaction.js +8 -8
  725. package/src/system/SystemUndeleteTransaction.js +8 -8
  726. package/src/token/AbstractTokenTransferTransaction.js +1 -1
  727. package/src/token/AssessedCustomFee.js +1 -1
  728. package/src/token/CustomFee.js +1 -1
  729. package/src/token/CustomFixedFee.js +3 -3
  730. package/src/token/CustomFractionalFee.js +3 -3
  731. package/src/token/CustomRoyaltyFee.js +4 -4
  732. package/src/token/NftId.js +1 -1
  733. package/src/token/PendingAirdropId.js +1 -1
  734. package/src/token/PendingAirdropRecord.js +1 -1
  735. package/src/token/TokenAirdropTransaction.js +8 -8
  736. package/src/token/TokenAssociateTransaction.js +7 -7
  737. package/src/token/TokenAssociation.js +1 -1
  738. package/src/token/TokenBurnTransaction.js +7 -7
  739. package/src/token/TokenCancelAirdropTransaction.js +6 -6
  740. package/src/token/TokenClaimAirdropTransaction.js +6 -6
  741. package/src/token/TokenCreateTransaction.js +7 -7
  742. package/src/token/TokenDeleteTransaction.js +7 -7
  743. package/src/token/TokenDissociateTransaction.js +7 -7
  744. package/src/token/TokenFeeScheduleUpdateTransaction.js +7 -7
  745. package/src/token/TokenFreezeTransaction.js +7 -7
  746. package/src/token/TokenGrantKycTransaction.js +7 -7
  747. package/src/token/TokenId.js +1 -1
  748. package/src/token/TokenInfo.js +1 -1
  749. package/src/token/TokenInfoQuery.js +7 -7
  750. package/src/token/TokenKeyValidation.js +1 -1
  751. package/src/token/TokenMintTransaction.js +7 -7
  752. package/src/token/TokenNftInfo.js +10 -10
  753. package/src/token/TokenNftInfoQuery.js +11 -11
  754. package/src/token/TokenNftTransfer.js +5 -5
  755. package/src/token/TokenNftsUpdateTransaction.js +7 -7
  756. package/src/token/TokenPauseTransaction.js +7 -7
  757. package/src/token/TokenReference.js +1 -1
  758. package/src/token/TokenRejectTransaction.js +7 -7
  759. package/src/token/TokenRevokeKycTransaction.js +7 -7
  760. package/src/token/TokenSupplyType.js +1 -1
  761. package/src/token/TokenTransfer.js +4 -4
  762. package/src/token/TokenType.js +1 -1
  763. package/src/token/TokenUnfreezeTransaction.js +7 -7
  764. package/src/token/TokenUnpauseTransaction.js +7 -7
  765. package/src/token/TokenUpdateNftsTransaction.js +7 -7
  766. package/src/token/TokenUpdateTransaction.js +7 -7
  767. package/src/token/TokenWipeTransaction.js +7 -7
  768. package/src/topic/TopicCreateTransaction.js +6 -6
  769. package/src/topic/TopicDeleteTransaction.js +6 -6
  770. package/src/topic/TopicId.js +1 -1
  771. package/src/topic/TopicInfo.js +1 -1
  772. package/src/topic/TopicInfoQuery.js +7 -7
  773. package/src/topic/TopicMessage.js +2 -2
  774. package/src/topic/TopicMessageChunk.js +2 -2
  775. package/src/topic/TopicMessageQuery.js +1 -1
  776. package/src/topic/TopicMessageSubmitTransaction.js +9 -9
  777. package/src/topic/TopicUpdateTransaction.js +6 -6
  778. package/src/transaction/BatchTransaction.js +5 -5
  779. package/src/transaction/CustomFeeLimit.js +2 -2
  780. package/src/transaction/NodeAccountIdSignatureMap.js +2 -2
  781. package/src/transaction/NodeAccountIdSignatureMapLegacy.js +1 -1
  782. package/src/transaction/SignatureMap.js +1 -1
  783. package/src/transaction/SignaturePairMap.js +1 -1
  784. package/src/transaction/Transaction.js +1 -1
  785. package/src/transaction/TransactionHashMap.js +1 -1
  786. package/src/transaction/TransactionId.js +1 -1
  787. package/src/transaction/TransactionReceipt.js +1 -1
  788. package/src/transaction/TransactionReceiptQuery.js +1 -1
  789. package/src/transaction/TransactionRecord.js +1 -1
  790. package/src/transaction/TransactionRecordQuery.js +1 -1
  791. package/src/util/ASN1-Decoder.js +1 -1
@@ -1,15 +1,15 @@
1
1
  /**
2
2
  * @namespace proto
3
- * @typedef {import("@hashgraph/proto").proto.IQuery} HieroProto.proto.IQuery
4
- * @typedef {import("@hashgraph/proto").proto.IQueryHeader} HieroProto.proto.IQueryHeader
5
- * @typedef {import("@hashgraph/proto").proto.IResponse} HieroProto.proto.IResponse
6
- * @typedef {import("@hashgraph/proto").proto.IResponseHeader} HieroProto.proto.IResponseHeader
7
- * @typedef {import("@hashgraph/proto").proto.IConsensusGetTopicInfoResponse} HieroProto.proto.IConsensusGetTopicInfoResponse
8
- * @typedef {import("@hashgraph/proto").proto.IConsensusGetTopicInfoQuery} HieroProto.proto.IConsensusGetTopicInfoQuery
3
+ * @typedef {import("@hiero-ledger/proto").proto.IQuery} HieroProto.proto.IQuery
4
+ * @typedef {import("@hiero-ledger/proto").proto.IQueryHeader} HieroProto.proto.IQueryHeader
5
+ * @typedef {import("@hiero-ledger/proto").proto.IResponse} HieroProto.proto.IResponse
6
+ * @typedef {import("@hiero-ledger/proto").proto.IResponseHeader} HieroProto.proto.IResponseHeader
7
+ * @typedef {import("@hiero-ledger/proto").proto.IConsensusGetTopicInfoResponse} HieroProto.proto.IConsensusGetTopicInfoResponse
8
+ * @typedef {import("@hiero-ledger/proto").proto.IConsensusGetTopicInfoQuery} HieroProto.proto.IConsensusGetTopicInfoQuery
9
9
  */
10
10
  /**
11
11
  * @namespace com
12
- * @typedef {import("@hashgraph/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse
12
+ * @typedef {import("@hiero-ledger/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse
13
13
  */
14
14
  /**
15
15
  * @typedef {import("../channel/Channel.js").default} Channel
@@ -54,12 +54,12 @@ export default class TopicInfoQuery extends Query<TopicInfo> {
54
54
  }
55
55
  export namespace HieroProto {
56
56
  namespace proto {
57
- type IQuery = import("@hashgraph/proto").proto.IQuery;
58
- type IQueryHeader = import("@hashgraph/proto").proto.IQueryHeader;
59
- type IResponse = import("@hashgraph/proto").proto.IResponse;
60
- type IResponseHeader = import("@hashgraph/proto").proto.IResponseHeader;
61
- type IConsensusGetTopicInfoResponse = import("@hashgraph/proto").proto.IConsensusGetTopicInfoResponse;
62
- type IConsensusGetTopicInfoQuery = import("@hashgraph/proto").proto.IConsensusGetTopicInfoQuery;
57
+ type IQuery = import("@hiero-ledger/proto").proto.IQuery;
58
+ type IQueryHeader = import("@hiero-ledger/proto").proto.IQueryHeader;
59
+ type IResponse = import("@hiero-ledger/proto").proto.IResponse;
60
+ type IResponseHeader = import("@hiero-ledger/proto").proto.IResponseHeader;
61
+ type IConsensusGetTopicInfoResponse = import("@hiero-ledger/proto").proto.IConsensusGetTopicInfoResponse;
62
+ type IConsensusGetTopicInfoQuery = import("@hiero-ledger/proto").proto.IConsensusGetTopicInfoQuery;
63
63
  }
64
64
  }
65
65
  export namespace com {
@@ -67,7 +67,7 @@ export namespace com {
67
67
  namespace mirror {
68
68
  namespace api {
69
69
  namespace proto {
70
- type IConsensusTopicResponse = import("@hashgraph/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse;
70
+ type IConsensusTopicResponse = import("@hiero-ledger/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse;
71
71
  }
72
72
  }
73
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TopicInfoQuery.js","sources":["../../src/topic/TopicInfoQuery.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Query, { QUERY_REGISTRY } from \"../query/Query.js\";\nimport TopicId from \"./TopicId.js\";\nimport TopicInfo from \"./TopicInfo.js\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport Hbar from \"../Hbar.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hashgraph/proto\").proto.IQuery} HieroProto.proto.IQuery\n * @typedef {import(\"@hashgraph/proto\").proto.IQueryHeader} HieroProto.proto.IQueryHeader\n * @typedef {import(\"@hashgraph/proto\").proto.IResponse} HieroProto.proto.IResponse\n * @typedef {import(\"@hashgraph/proto\").proto.IResponseHeader} HieroProto.proto.IResponseHeader\n * @typedef {import(\"@hashgraph/proto\").proto.IConsensusGetTopicInfoResponse} HieroProto.proto.IConsensusGetTopicInfoResponse\n * @typedef {import(\"@hashgraph/proto\").proto.IConsensusGetTopicInfoQuery} HieroProto.proto.IConsensusGetTopicInfoQuery\n */\n\n/**\n * @namespace com\n * @typedef {import(\"@hashgraph/proto\").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse\n */\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../client/Client.js\").default<*, *>} Client\n * @typedef {import(\"../account/AccountId.js\").default} AccountId\n */\n\n/**\n * Retrieve the latest state of a topic.\n *\n * @augments {Query<TopicInfo>}\n */\nexport default class TopicInfoQuery extends Query {\n /**\n * @param {object} [props]\n * @param {TopicId | string} [props.topicId]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {?TopicId}\n */\n this._topicId = null;\n\n if (props.topicId != null) {\n this.setTopicId(props.topicId);\n }\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IQuery} query\n * @returns {TopicInfoQuery}\n */\n static _fromProtobuf(query) {\n const info =\n /** @type {HieroProto.proto.IConsensusGetTopicInfoQuery} */ (\n query.consensusGetTopicInfo\n );\n\n return new TopicInfoQuery({\n topicId:\n info.topicID != null\n ? TopicId._fromProtobuf(info.topicID)\n : undefined,\n });\n }\n\n /**\n * @returns {?TopicId}\n */\n get topicId() {\n return this._topicId;\n }\n\n /**\n * Set the topic ID for which the info is being requested.\n *\n * @param {TopicId | string} topicId\n * @returns {TopicInfoQuery}\n */\n setTopicId(topicId) {\n this._topicId =\n typeof topicId === \"string\"\n ? TopicId.fromString(topicId)\n : topicId.clone();\n\n return this;\n }\n\n /**\n * @override\n * @param {import(\"../client/Client.js\").default<Channel, *>} client\n * @returns {Promise<Hbar>}\n */\n async getCost(client) {\n return super.getCost(client);\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n if (this._topicId != null) {\n this._topicId.validateChecksum(client);\n }\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.IQuery} request\n * @returns {Promise<HieroProto.proto.IResponse>}\n */\n _execute(channel, request) {\n return channel.consensus.getTopicInfo(request);\n }\n\n /**\n * @override\n * @internal\n * @param {HieroProto.proto.IResponse} response\n * @returns {HieroProto.proto.IResponseHeader}\n */\n _mapResponseHeader(response) {\n const consensusGetTopicInfo =\n /** @type {HieroProto.proto.IConsensusGetTopicInfoResponse} */ (\n response.consensusGetTopicInfo\n );\n return /** @type {HieroProto.proto.IResponseHeader} */ (\n consensusGetTopicInfo.header\n );\n }\n\n /**\n * @protected\n * @override\n * @param {HieroProto.proto.IResponse} response\n * @param {AccountId} nodeAccountId\n * @param {HieroProto.proto.IQuery} request\n * @returns {Promise<TopicInfo>}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _mapResponse(response, nodeAccountId, request) {\n return Promise.resolve(\n TopicInfo._fromProtobuf(\n /** @type {HieroProto.proto.IConsensusGetTopicInfoResponse} */ (\n response.consensusGetTopicInfo\n ),\n ),\n );\n }\n\n /**\n * @override\n * @internal\n * @param {HieroProto.proto.IQueryHeader} header\n * @returns {HieroProto.proto.IQuery}\n */\n _onMakeRequest(header) {\n return {\n consensusGetTopicInfo: {\n header,\n topicID:\n this._topicId != null ? this._topicId._toProtobuf() : null,\n },\n };\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp =\n this._paymentTransactionId != null &&\n this._paymentTransactionId.validStart != null\n ? this._paymentTransactionId.validStart\n : this._timestamp;\n\n return `TopicInfoQuery:${timestamp.toString()}`;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nQUERY_REGISTRY.set(\"consensusGetTopicInfo\", TopicInfoQuery._fromProtobuf);\n"],"names":["TopicInfoQuery","Query","constructor","props","super","this","_topicId","topicId","setTopicId","_fromProtobuf","query","info","topicID","TopicId","undefined","fromString","clone","getCost","client","_validateChecksums","validateChecksum","_execute","channel","request","consensus","getTopicInfo","_mapResponseHeader","response","_mapResponse","nodeAccountId","Promise","resolve","TopicInfo","_onMakeRequest","header","consensusGetTopicInfo","_toProtobuf","_getLogId","_paymentTransactionId","validStart","_timestamp","toString","QUERY_REGISTRY","set"],"mappings":"yKAkCe,MAAMA,UAAuBC,EAKxC,WAAAC,CAAYC,EAAQ,IAChBC,QAMAC,KAAKC,SAAW,KAEK,MAAjBH,EAAMI,SACNF,KAAKG,WAAWL,EAAMI,QAElC,CAOI,oBAAOE,CAAcC,GACjB,MAAMC,EAEED,EACH,sBAEL,OAAO,IAAIV,EAAe,CACtBO,QACoB,MAAhBI,EAAKC,QACCC,EAAQJ,cAAcE,EAAKC,cAC3BE,GAEtB,CAKI,WAAIP,GACA,OAAOF,KAAKC,QACpB,CAQI,UAAAE,CAAWD,GAMP,OALAF,KAAKC,SACkB,iBAAZC,EACDM,EAAQE,WAAWR,GACnBA,EAAQS,QAEXX,IACf,CAOI,aAAMY,CAAQC,GACV,OAAOd,MAAMa,QAAQC,EAC7B,CAKI,kBAAAC,CAAmBD,GACM,MAAjBb,KAAKC,UACLD,KAAKC,SAASc,iBAAiBF,EAE3C,CASI,QAAAG,CAASC,EAASC,GACd,OAAOD,EAAQE,UAAUC,aAAaF,EAC9C,CAQI,kBAAAG,CAAmBC,GAKf,OAFQA,EACH,sBAGb,MACA,CAWI,YAAAC,CAAaD,EAAUE,EAAeN,GAClC,OAAOO,QAAQC,QACXC,EAAUvB,cAEFkB,EACpB,uBAGA,CAQI,cAAAM,CAAeC,GACX,MAAO,CACHC,sBAAuB,CACnBD,SACAtB,QACqB,MAAjBP,KAAKC,SAAmBD,KAAKC,SAAS8B,cAAgB,MAG1E,CAKI,SAAAC,GAOI,MAAO,mBAL2B,MAA9BhC,KAAKiC,uBACoC,MAAzCjC,KAAKiC,sBAAsBC,WACrBlC,KAAKiC,sBAAsBC,WAC3BlC,KAAKmC,YAEoBC,YAC3C,EAIAC,EAAeC,IAAI,wBAAyB3C,EAAeS"}
1
+ {"version":3,"file":"TopicInfoQuery.js","sources":["../../src/topic/TopicInfoQuery.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Query, { QUERY_REGISTRY } from \"../query/Query.js\";\nimport TopicId from \"./TopicId.js\";\nimport TopicInfo from \"./TopicInfo.js\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport Hbar from \"../Hbar.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IQuery} HieroProto.proto.IQuery\n * @typedef {import(\"@hiero-ledger/proto\").proto.IQueryHeader} HieroProto.proto.IQueryHeader\n * @typedef {import(\"@hiero-ledger/proto\").proto.IResponse} HieroProto.proto.IResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.IResponseHeader} HieroProto.proto.IResponseHeader\n * @typedef {import(\"@hiero-ledger/proto\").proto.IConsensusGetTopicInfoResponse} HieroProto.proto.IConsensusGetTopicInfoResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.IConsensusGetTopicInfoQuery} HieroProto.proto.IConsensusGetTopicInfoQuery\n */\n\n/**\n * @namespace com\n * @typedef {import(\"@hiero-ledger/proto\").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse\n */\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../client/Client.js\").default<*, *>} Client\n * @typedef {import(\"../account/AccountId.js\").default} AccountId\n */\n\n/**\n * Retrieve the latest state of a topic.\n *\n * @augments {Query<TopicInfo>}\n */\nexport default class TopicInfoQuery extends Query {\n /**\n * @param {object} [props]\n * @param {TopicId | string} [props.topicId]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {?TopicId}\n */\n this._topicId = null;\n\n if (props.topicId != null) {\n this.setTopicId(props.topicId);\n }\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IQuery} query\n * @returns {TopicInfoQuery}\n */\n static _fromProtobuf(query) {\n const info =\n /** @type {HieroProto.proto.IConsensusGetTopicInfoQuery} */ (\n query.consensusGetTopicInfo\n );\n\n return new TopicInfoQuery({\n topicId:\n info.topicID != null\n ? TopicId._fromProtobuf(info.topicID)\n : undefined,\n });\n }\n\n /**\n * @returns {?TopicId}\n */\n get topicId() {\n return this._topicId;\n }\n\n /**\n * Set the topic ID for which the info is being requested.\n *\n * @param {TopicId | string} topicId\n * @returns {TopicInfoQuery}\n */\n setTopicId(topicId) {\n this._topicId =\n typeof topicId === \"string\"\n ? TopicId.fromString(topicId)\n : topicId.clone();\n\n return this;\n }\n\n /**\n * @override\n * @param {import(\"../client/Client.js\").default<Channel, *>} client\n * @returns {Promise<Hbar>}\n */\n async getCost(client) {\n return super.getCost(client);\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n if (this._topicId != null) {\n this._topicId.validateChecksum(client);\n }\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.IQuery} request\n * @returns {Promise<HieroProto.proto.IResponse>}\n */\n _execute(channel, request) {\n return channel.consensus.getTopicInfo(request);\n }\n\n /**\n * @override\n * @internal\n * @param {HieroProto.proto.IResponse} response\n * @returns {HieroProto.proto.IResponseHeader}\n */\n _mapResponseHeader(response) {\n const consensusGetTopicInfo =\n /** @type {HieroProto.proto.IConsensusGetTopicInfoResponse} */ (\n response.consensusGetTopicInfo\n );\n return /** @type {HieroProto.proto.IResponseHeader} */ (\n consensusGetTopicInfo.header\n );\n }\n\n /**\n * @protected\n * @override\n * @param {HieroProto.proto.IResponse} response\n * @param {AccountId} nodeAccountId\n * @param {HieroProto.proto.IQuery} request\n * @returns {Promise<TopicInfo>}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _mapResponse(response, nodeAccountId, request) {\n return Promise.resolve(\n TopicInfo._fromProtobuf(\n /** @type {HieroProto.proto.IConsensusGetTopicInfoResponse} */ (\n response.consensusGetTopicInfo\n ),\n ),\n );\n }\n\n /**\n * @override\n * @internal\n * @param {HieroProto.proto.IQueryHeader} header\n * @returns {HieroProto.proto.IQuery}\n */\n _onMakeRequest(header) {\n return {\n consensusGetTopicInfo: {\n header,\n topicID:\n this._topicId != null ? this._topicId._toProtobuf() : null,\n },\n };\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp =\n this._paymentTransactionId != null &&\n this._paymentTransactionId.validStart != null\n ? this._paymentTransactionId.validStart\n : this._timestamp;\n\n return `TopicInfoQuery:${timestamp.toString()}`;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nQUERY_REGISTRY.set(\"consensusGetTopicInfo\", TopicInfoQuery._fromProtobuf);\n"],"names":["TopicInfoQuery","Query","constructor","props","super","this","_topicId","topicId","setTopicId","_fromProtobuf","query","info","topicID","TopicId","undefined","fromString","clone","getCost","client","_validateChecksums","validateChecksum","_execute","channel","request","consensus","getTopicInfo","_mapResponseHeader","response","_mapResponse","nodeAccountId","Promise","resolve","TopicInfo","_onMakeRequest","header","consensusGetTopicInfo","_toProtobuf","_getLogId","_paymentTransactionId","validStart","_timestamp","toString","QUERY_REGISTRY","set"],"mappings":"yKAkCe,MAAMA,UAAuBC,EAKxC,WAAAC,CAAYC,EAAQ,IAChBC,QAMAC,KAAKC,SAAW,KAEK,MAAjBH,EAAMI,SACNF,KAAKG,WAAWL,EAAMI,QAElC,CAOI,oBAAOE,CAAcC,GACjB,MAAMC,EAEED,EACH,sBAEL,OAAO,IAAIV,EAAe,CACtBO,QACoB,MAAhBI,EAAKC,QACCC,EAAQJ,cAAcE,EAAKC,cAC3BE,GAEtB,CAKI,WAAIP,GACA,OAAOF,KAAKC,QACpB,CAQI,UAAAE,CAAWD,GAMP,OALAF,KAAKC,SACkB,iBAAZC,EACDM,EAAQE,WAAWR,GACnBA,EAAQS,QAEXX,IACf,CAOI,aAAMY,CAAQC,GACV,OAAOd,MAAMa,QAAQC,EAC7B,CAKI,kBAAAC,CAAmBD,GACM,MAAjBb,KAAKC,UACLD,KAAKC,SAASc,iBAAiBF,EAE3C,CASI,QAAAG,CAASC,EAASC,GACd,OAAOD,EAAQE,UAAUC,aAAaF,EAC9C,CAQI,kBAAAG,CAAmBC,GAKf,OAFQA,EACH,sBAGb,MACA,CAWI,YAAAC,CAAaD,EAAUE,EAAeN,GAClC,OAAOO,QAAQC,QACXC,EAAUvB,cAEFkB,EACpB,uBAGA,CAQI,cAAAM,CAAeC,GACX,MAAO,CACHC,sBAAuB,CACnBD,SACAtB,QACqB,MAAjBP,KAAKC,SAAmBD,KAAKC,SAAS8B,cAAgB,MAG1E,CAKI,SAAAC,GAOI,MAAO,mBAL2B,MAA9BhC,KAAKiC,uBACoC,MAAzCjC,KAAKiC,sBAAsBC,WACrBlC,KAAKiC,sBAAsBC,WAC3BlC,KAAKmC,YAEoBC,YAC3C,EAIAC,EAAeC,IAAI,wBAAyB3C,EAAeS"}
@@ -13,12 +13,12 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
13
13
 
14
14
  /**
15
15
  * @namespace proto
16
- * @typedef {import("@hashgraph/proto").proto.ITimestamp} HieroProto.proto.ITimestamp
16
+ * @typedef {import("@hiero-ledger/proto").proto.ITimestamp} HieroProto.proto.ITimestamp
17
17
  */
18
18
 
19
19
  /**
20
20
  * @namespace com
21
- * @typedef {import("@hashgraph/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse
21
+ * @typedef {import("@hiero-ledger/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse
22
22
  */
23
23
 
24
24
  class TopicMessage {
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * @namespace proto
3
- * @typedef {import("@hashgraph/proto").proto.ITimestamp} HieroProto.proto.ITimestamp
3
+ * @typedef {import("@hiero-ledger/proto").proto.ITimestamp} HieroProto.proto.ITimestamp
4
4
  */
5
5
  /**
6
6
  * @namespace com
7
- * @typedef {import("@hashgraph/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse
7
+ * @typedef {import("@hiero-ledger/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse
8
8
  */
9
9
  export default class TopicMessage {
10
10
  /**
@@ -45,7 +45,7 @@ export default class TopicMessage {
45
45
  }
46
46
  export namespace HieroProto {
47
47
  namespace proto {
48
- type ITimestamp = import("@hashgraph/proto").proto.ITimestamp;
48
+ type ITimestamp = import("@hiero-ledger/proto").proto.ITimestamp;
49
49
  }
50
50
  }
51
51
  export namespace com {
@@ -53,7 +53,7 @@ export namespace com {
53
53
  namespace mirror {
54
54
  namespace api {
55
55
  namespace proto {
56
- type IConsensusTopicResponse = import("@hashgraph/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse;
56
+ type IConsensusTopicResponse = import("@hiero-ledger/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse;
57
57
  }
58
58
  }
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TopicMessage.js","sources":["../../src/topic/TopicMessage.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Timestamp from \"../Timestamp.js\";\nimport TopicMessageChunk from \"./TopicMessageChunk.js\";\nimport Long from \"long\";\nimport TransactionId from \"../transaction/TransactionId.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hashgraph/proto\").proto.ITimestamp} HieroProto.proto.ITimestamp\n */\n\n/**\n * @namespace com\n * @typedef {import(\"@hashgraph/proto\").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse\n */\n\nexport default class TopicMessage {\n /**\n * @private\n * @param {object} props\n * @param {Timestamp} props.consensusTimestamp\n * @param {Uint8Array} props.contents\n * @param {Uint8Array} props.runningHash\n * @param {Long} props.sequenceNumber\n * @param {?TransactionId} props.initialTransactionId\n * @param {TopicMessageChunk[]} props.chunks\n */\n constructor(props) {\n /** @readonly */\n this.consensusTimestamp = props.consensusTimestamp;\n /** @readonly */\n this.contents = props.contents;\n /** @readonly */\n this.runningHash = props.runningHash;\n /** @readonly */\n this.sequenceNumber = props.sequenceNumber;\n /** @readonly */\n this.chunks = props.chunks;\n /** @readonly */\n this.initialTransactionId = props.initialTransactionId;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {com.hedera.mirror.api.proto.IConsensusTopicResponse} response\n * @returns {TopicMessage}\n */\n static _ofSingle(response) {\n return new TopicMessage({\n consensusTimestamp: Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */\n (response.consensusTimestamp),\n ),\n contents:\n response.message != null ? response.message : new Uint8Array(),\n runningHash:\n response.runningHash != null\n ? response.runningHash\n : new Uint8Array(),\n sequenceNumber:\n response.sequenceNumber != null\n ? response.sequenceNumber instanceof Long\n ? response.sequenceNumber\n : Long.fromNumber(response.sequenceNumber)\n : Long.ZERO,\n initialTransactionId:\n response.chunkInfo != null &&\n response.chunkInfo.initialTransactionID != null\n ? TransactionId._fromProtobuf(\n response.chunkInfo.initialTransactionID,\n )\n : null,\n chunks: [TopicMessageChunk._fromProtobuf(response)],\n });\n }\n\n /**\n * @internal\n * @param {com.hedera.mirror.api.proto.IConsensusTopicResponse[]} responses\n * @returns {TopicMessage}\n */\n static _ofMany(responses) {\n const length = responses.length;\n\n const last =\n /** @type {com.hedera.mirror.api.proto.IConsensusTopicResponse} */ (\n responses[length - 1]\n );\n\n const consensusTimestamp = Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */\n (last.consensusTimestamp),\n );\n\n const runningHash = /** @type {Uint8Array} */ (last.runningHash);\n\n /**\n * @type {Long}\n */\n const sequenceNumber =\n last.sequenceNumber != null\n ? last.sequenceNumber instanceof Long\n ? last.sequenceNumber\n : Long.fromValue(last.sequenceNumber)\n : Long.ZERO;\n\n responses.sort((a, b) =>\n (a != null\n ? a.chunkInfo != null\n ? a.chunkInfo.number != null\n ? a.chunkInfo.number\n : 0\n : 0\n : 0) <\n (b != null\n ? b.chunkInfo != null\n ? b.chunkInfo.number != null\n ? b.chunkInfo.number\n : 0\n : 0\n : 0)\n ? -1\n : 1,\n );\n\n /**\n * @type {TopicMessageChunk[]}\n */\n const chunks = responses.map(\n /**\n * @type {com.hedera.mirror.api.proto.IConsensusTopicResponse}\n */ (m) => TopicMessageChunk._fromProtobuf(m),\n );\n\n const size = chunks\n .map((chunk) => chunk.contents.length)\n .reduce((sum, current) => sum + current, 0);\n\n const contents = new Uint8Array(size);\n let offset = 0;\n\n responses.forEach((value) => {\n contents.set(/** @type {Uint8Array} */ (value.message), offset);\n offset += /** @type {Uint8Array} */ (value.message).length;\n });\n\n let initialTransactionId = null;\n if (\n responses.length > 0 &&\n responses[0].chunkInfo != null &&\n responses[0].chunkInfo.initialTransactionID != null\n ) {\n initialTransactionId = TransactionId._fromProtobuf(\n responses[0].chunkInfo.initialTransactionID,\n );\n }\n\n return new TopicMessage({\n consensusTimestamp,\n contents,\n runningHash,\n sequenceNumber,\n chunks,\n initialTransactionId,\n });\n }\n}\n"],"names":["TopicMessage","constructor","props","this","consensusTimestamp","contents","runningHash","sequenceNumber","chunks","initialTransactionId","Object","freeze","_ofSingle","response","Timestamp","_fromProtobuf","message","Uint8Array","Long","fromNumber","ZERO","chunkInfo","initialTransactionID","TransactionId","TopicMessageChunk","_ofMany","responses","last","length","fromValue","sort","a","b","number","map","m","size","chunk","reduce","sum","current","offset","forEach","value","set"],"mappings":"wIAiBe,MAAMA,EAWjB,WAAAC,CAAYC,GAERC,KAAKC,mBAAqBF,EAAME,mBAEhCD,KAAKE,SAAWH,EAAMG,SAEtBF,KAAKG,YAAcJ,EAAMI,YAEzBH,KAAKI,eAAiBL,EAAMK,eAE5BJ,KAAKK,OAASN,EAAMM,OAEpBL,KAAKM,qBAAuBP,EAAMO,qBAElCC,OAAOC,OAAOR,KACtB,CAOI,gBAAOS,CAAUC,GACb,OAAO,IAAIb,EAAa,CACpBI,mBAAoBU,EAAUC,cAEzBF,EAA2B,oBAEhCR,SACwB,MAApBQ,EAASG,QAAkBH,EAASG,QAAU,IAAIC,WACtDX,YAC4B,MAAxBO,EAASP,YACHO,EAASP,YACT,IAAIW,WACdV,eAC+B,MAA3BM,EAASN,eACHM,EAASN,0BAA0BW,EAC/BL,EAASN,eACTW,EAAKC,WAAWN,EAASN,gBAC7BW,EAAKE,KACfX,qBAC0B,MAAtBI,EAASQ,WACkC,MAA3CR,EAASQ,UAAUC,qBACbC,EAAcR,cACVF,EAASQ,UAAUC,sBAEvB,KACVd,OAAQ,CAACgB,EAAkBT,cAAcF,KAErD,CAOI,cAAOY,CAAQC,GACX,MAEMC,EAEED,EAJOA,EAAUE,OAIE,GAGrBxB,EAAqBU,EAAUC,cAEhCY,EAAuB,oBAGtBrB,EAAyCqB,EAAgB,YAKzDpB,EACqB,MAAvBoB,EAAKpB,eACCoB,EAAKpB,0BAA0BW,EAC3BS,EAAKpB,eACLW,EAAKW,UAAUF,EAAKpB,gBACxBW,EAAKE,KAEfM,EAAUI,KAAK,CAACC,EAAGC,KACT,MAALD,GACoB,MAAfA,EAAEV,WACwB,MAAtBU,EAAEV,UAAUY,OACRF,EAAEV,UAAUY,OAGpB,IACA,MAALD,GACoB,MAAfA,EAAEX,WACwB,MAAtBW,EAAEX,UAAUY,OACRD,EAAEX,UAAUY,OAGpB,IACA,EACA,GAMV,MAAMzB,EAASkB,EAAUQ,IAGhBC,GAAMX,EAAkBT,cAAcoB,IAGzCC,EAAO5B,EACR0B,IAAKG,GAAUA,EAAMhC,SAASuB,QAC9BU,OAAO,CAACC,EAAKC,IAAYD,EAAMC,EAAS,GAEvCnC,EAAW,IAAIY,WAAWmB,GAChC,IAAIK,EAAS,EAEbf,EAAUgB,QAASC,IACftC,EAASuC,IAA+BD,EAAa,QAAGF,GACxDA,GAAqCE,EAAa,QAAEf,SAGxD,IAAInB,EAAuB,KAW3B,OATIiB,EAAUE,OAAS,GACO,MAA1BF,EAAU,GAAGL,WACkC,MAA/CK,EAAU,GAAGL,UAAUC,uBAEvBb,EAAuBc,EAAcR,cACjCW,EAAU,GAAGL,UAAUC,uBAIxB,IAAItB,EAAa,CACpBI,qBACAC,WACAC,cACAC,iBACAC,SACAC,wBAEZ"}
1
+ {"version":3,"file":"TopicMessage.js","sources":["../../src/topic/TopicMessage.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Timestamp from \"../Timestamp.js\";\nimport TopicMessageChunk from \"./TopicMessageChunk.js\";\nimport Long from \"long\";\nimport TransactionId from \"../transaction/TransactionId.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITimestamp} HieroProto.proto.ITimestamp\n */\n\n/**\n * @namespace com\n * @typedef {import(\"@hiero-ledger/proto\").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse\n */\n\nexport default class TopicMessage {\n /**\n * @private\n * @param {object} props\n * @param {Timestamp} props.consensusTimestamp\n * @param {Uint8Array} props.contents\n * @param {Uint8Array} props.runningHash\n * @param {Long} props.sequenceNumber\n * @param {?TransactionId} props.initialTransactionId\n * @param {TopicMessageChunk[]} props.chunks\n */\n constructor(props) {\n /** @readonly */\n this.consensusTimestamp = props.consensusTimestamp;\n /** @readonly */\n this.contents = props.contents;\n /** @readonly */\n this.runningHash = props.runningHash;\n /** @readonly */\n this.sequenceNumber = props.sequenceNumber;\n /** @readonly */\n this.chunks = props.chunks;\n /** @readonly */\n this.initialTransactionId = props.initialTransactionId;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {com.hedera.mirror.api.proto.IConsensusTopicResponse} response\n * @returns {TopicMessage}\n */\n static _ofSingle(response) {\n return new TopicMessage({\n consensusTimestamp: Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */\n (response.consensusTimestamp),\n ),\n contents:\n response.message != null ? response.message : new Uint8Array(),\n runningHash:\n response.runningHash != null\n ? response.runningHash\n : new Uint8Array(),\n sequenceNumber:\n response.sequenceNumber != null\n ? response.sequenceNumber instanceof Long\n ? response.sequenceNumber\n : Long.fromNumber(response.sequenceNumber)\n : Long.ZERO,\n initialTransactionId:\n response.chunkInfo != null &&\n response.chunkInfo.initialTransactionID != null\n ? TransactionId._fromProtobuf(\n response.chunkInfo.initialTransactionID,\n )\n : null,\n chunks: [TopicMessageChunk._fromProtobuf(response)],\n });\n }\n\n /**\n * @internal\n * @param {com.hedera.mirror.api.proto.IConsensusTopicResponse[]} responses\n * @returns {TopicMessage}\n */\n static _ofMany(responses) {\n const length = responses.length;\n\n const last =\n /** @type {com.hedera.mirror.api.proto.IConsensusTopicResponse} */ (\n responses[length - 1]\n );\n\n const consensusTimestamp = Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */\n (last.consensusTimestamp),\n );\n\n const runningHash = /** @type {Uint8Array} */ (last.runningHash);\n\n /**\n * @type {Long}\n */\n const sequenceNumber =\n last.sequenceNumber != null\n ? last.sequenceNumber instanceof Long\n ? last.sequenceNumber\n : Long.fromValue(last.sequenceNumber)\n : Long.ZERO;\n\n responses.sort((a, b) =>\n (a != null\n ? a.chunkInfo != null\n ? a.chunkInfo.number != null\n ? a.chunkInfo.number\n : 0\n : 0\n : 0) <\n (b != null\n ? b.chunkInfo != null\n ? b.chunkInfo.number != null\n ? b.chunkInfo.number\n : 0\n : 0\n : 0)\n ? -1\n : 1,\n );\n\n /**\n * @type {TopicMessageChunk[]}\n */\n const chunks = responses.map(\n /**\n * @type {com.hedera.mirror.api.proto.IConsensusTopicResponse}\n */ (m) => TopicMessageChunk._fromProtobuf(m),\n );\n\n const size = chunks\n .map((chunk) => chunk.contents.length)\n .reduce((sum, current) => sum + current, 0);\n\n const contents = new Uint8Array(size);\n let offset = 0;\n\n responses.forEach((value) => {\n contents.set(/** @type {Uint8Array} */ (value.message), offset);\n offset += /** @type {Uint8Array} */ (value.message).length;\n });\n\n let initialTransactionId = null;\n if (\n responses.length > 0 &&\n responses[0].chunkInfo != null &&\n responses[0].chunkInfo.initialTransactionID != null\n ) {\n initialTransactionId = TransactionId._fromProtobuf(\n responses[0].chunkInfo.initialTransactionID,\n );\n }\n\n return new TopicMessage({\n consensusTimestamp,\n contents,\n runningHash,\n sequenceNumber,\n chunks,\n initialTransactionId,\n });\n }\n}\n"],"names":["TopicMessage","constructor","props","this","consensusTimestamp","contents","runningHash","sequenceNumber","chunks","initialTransactionId","Object","freeze","_ofSingle","response","Timestamp","_fromProtobuf","message","Uint8Array","Long","fromNumber","ZERO","chunkInfo","initialTransactionID","TransactionId","TopicMessageChunk","_ofMany","responses","last","length","fromValue","sort","a","b","number","map","m","size","chunk","reduce","sum","current","offset","forEach","value","set"],"mappings":"wIAiBe,MAAMA,EAWjB,WAAAC,CAAYC,GAERC,KAAKC,mBAAqBF,EAAME,mBAEhCD,KAAKE,SAAWH,EAAMG,SAEtBF,KAAKG,YAAcJ,EAAMI,YAEzBH,KAAKI,eAAiBL,EAAMK,eAE5BJ,KAAKK,OAASN,EAAMM,OAEpBL,KAAKM,qBAAuBP,EAAMO,qBAElCC,OAAOC,OAAOR,KACtB,CAOI,gBAAOS,CAAUC,GACb,OAAO,IAAIb,EAAa,CACpBI,mBAAoBU,EAAUC,cAEzBF,EAA2B,oBAEhCR,SACwB,MAApBQ,EAASG,QAAkBH,EAASG,QAAU,IAAIC,WACtDX,YAC4B,MAAxBO,EAASP,YACHO,EAASP,YACT,IAAIW,WACdV,eAC+B,MAA3BM,EAASN,eACHM,EAASN,0BAA0BW,EAC/BL,EAASN,eACTW,EAAKC,WAAWN,EAASN,gBAC7BW,EAAKE,KACfX,qBAC0B,MAAtBI,EAASQ,WACkC,MAA3CR,EAASQ,UAAUC,qBACbC,EAAcR,cACVF,EAASQ,UAAUC,sBAEvB,KACVd,OAAQ,CAACgB,EAAkBT,cAAcF,KAErD,CAOI,cAAOY,CAAQC,GACX,MAEMC,EAEED,EAJOA,EAAUE,OAIE,GAGrBxB,EAAqBU,EAAUC,cAEhCY,EAAuB,oBAGtBrB,EAAyCqB,EAAgB,YAKzDpB,EACqB,MAAvBoB,EAAKpB,eACCoB,EAAKpB,0BAA0BW,EAC3BS,EAAKpB,eACLW,EAAKW,UAAUF,EAAKpB,gBACxBW,EAAKE,KAEfM,EAAUI,KAAK,CAACC,EAAGC,KACT,MAALD,GACoB,MAAfA,EAAEV,WACwB,MAAtBU,EAAEV,UAAUY,OACRF,EAAEV,UAAUY,OAGpB,IACA,MAALD,GACoB,MAAfA,EAAEX,WACwB,MAAtBW,EAAEX,UAAUY,OACRD,EAAEX,UAAUY,OAGpB,IACA,EACA,GAMV,MAAMzB,EAASkB,EAAUQ,IAGhBC,GAAMX,EAAkBT,cAAcoB,IAGzCC,EAAO5B,EACR0B,IAAKG,GAAUA,EAAMhC,SAASuB,QAC9BU,OAAO,CAACC,EAAKC,IAAYD,EAAMC,EAAS,GAEvCnC,EAAW,IAAIY,WAAWmB,GAChC,IAAIK,EAAS,EAEbf,EAAUgB,QAASC,IACftC,EAASuC,IAA+BD,EAAa,QAAGF,GACxDA,GAAqCE,EAAa,QAAEf,SAGxD,IAAInB,EAAuB,KAW3B,OATIiB,EAAUE,OAAS,GACO,MAA1BF,EAAU,GAAGL,WACkC,MAA/CK,EAAU,GAAGL,UAAUC,uBAEvBb,EAAuBc,EAAcR,cACjCW,EAAU,GAAGL,UAAUC,uBAIxB,IAAItB,EAAa,CACpBI,qBACAC,WACAC,cACAC,iBACAC,SACAC,wBAEZ"}
@@ -11,12 +11,12 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
11
11
 
12
12
  /**
13
13
  * @namespace proto
14
- * @typedef {import("@hashgraph/proto").proto.ITimestamp} HieroProto.proto.ITimestamp
14
+ * @typedef {import("@hiero-ledger/proto").proto.ITimestamp} HieroProto.proto.ITimestamp
15
15
  */
16
16
 
17
17
  /**
18
18
  * @namespace com
19
- * @typedef {import("@hashgraph/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse
19
+ * @typedef {import("@hiero-ledger/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse
20
20
  */
21
21
 
22
22
  class TopicMessageChunk {
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * @namespace proto
3
- * @typedef {import("@hashgraph/proto").proto.ITimestamp} HieroProto.proto.ITimestamp
3
+ * @typedef {import("@hiero-ledger/proto").proto.ITimestamp} HieroProto.proto.ITimestamp
4
4
  */
5
5
  /**
6
6
  * @namespace com
7
- * @typedef {import("@hashgraph/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse
7
+ * @typedef {import("@hiero-ledger/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse
8
8
  */
9
9
  export default class TopicMessageChunk {
10
10
  /**
@@ -38,7 +38,7 @@ export default class TopicMessageChunk {
38
38
  }
39
39
  export namespace HieroProto {
40
40
  namespace proto {
41
- type ITimestamp = import("@hashgraph/proto").proto.ITimestamp;
41
+ type ITimestamp = import("@hiero-ledger/proto").proto.ITimestamp;
42
42
  }
43
43
  }
44
44
  export namespace com {
@@ -46,7 +46,7 @@ export namespace com {
46
46
  namespace mirror {
47
47
  namespace api {
48
48
  namespace proto {
49
- type IConsensusTopicResponse = import("@hashgraph/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse;
49
+ type IConsensusTopicResponse = import("@hiero-ledger/proto").com.hedera.mirror.api.proto.IConsensusTopicResponse;
50
50
  }
51
51
  }
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TopicMessageChunk.js","sources":["../../src/topic/TopicMessageChunk.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Timestamp from \"../Timestamp.js\";\nimport Long from \"long\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hashgraph/proto\").proto.ITimestamp} HieroProto.proto.ITimestamp\n */\n\n/**\n * @namespace com\n * @typedef {import(\"@hashgraph/proto\").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse\n */\n\nexport default class TopicMessageChunk {\n /**\n * @private\n * @param {object} props\n * @param {Timestamp} props.consensusTimestamp\n * @param {Uint8Array} props.contents\n * @param {Uint8Array} props.runningHash\n * @param {Long} props.sequenceNumber\n */\n constructor(props) {\n /** @readonly */\n this.consensusTimestamp = props.consensusTimestamp;\n /** @readonly */\n this.contents = props.contents;\n /** @readonly */\n this.runningHash = props.runningHash;\n /** @readonly */\n this.sequenceNumber = props.sequenceNumber;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {com.hedera.mirror.api.proto.IConsensusTopicResponse} response\n * @returns {TopicMessageChunk}\n */\n static _fromProtobuf(response) {\n return new TopicMessageChunk({\n consensusTimestamp: Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */\n (response.consensusTimestamp),\n ),\n contents:\n response.message != null ? response.message : new Uint8Array(),\n runningHash:\n response.runningHash != null\n ? response.runningHash\n : new Uint8Array(),\n sequenceNumber:\n response.sequenceNumber != null\n ? response.sequenceNumber instanceof Long\n ? response.sequenceNumber\n : Long.fromValue(response.sequenceNumber)\n : Long.ZERO,\n });\n }\n\n /**\n * @internal\n * @returns {com.hedera.mirror.api.proto.IConsensusTopicResponse}\n */\n _toProtobuf() {\n return {\n consensusTimestamp: this.consensusTimestamp._toProtobuf(),\n message: this.contents,\n runningHash: this.runningHash,\n sequenceNumber: this.sequenceNumber,\n };\n }\n}\n"],"names":["TopicMessageChunk","constructor","props","this","consensusTimestamp","contents","runningHash","sequenceNumber","Object","freeze","_fromProtobuf","response","Timestamp","message","Uint8Array","Long","fromValue","ZERO","_toProtobuf"],"mappings":"mDAee,MAAMA,EASjB,WAAAC,CAAYC,GAERC,KAAKC,mBAAqBF,EAAME,mBAEhCD,KAAKE,SAAWH,EAAMG,SAEtBF,KAAKG,YAAcJ,EAAMI,YAEzBH,KAAKI,eAAiBL,EAAMK,eAE5BC,OAAOC,OAAON,KACtB,CAOI,oBAAOO,CAAcC,GACjB,OAAO,IAAIX,EAAkB,CACzBI,mBAAoBQ,EAAUF,cAEzBC,EAA2B,oBAEhCN,SACwB,MAApBM,EAASE,QAAkBF,EAASE,QAAU,IAAIC,WACtDR,YAC4B,MAAxBK,EAASL,YACHK,EAASL,YACT,IAAIQ,WACdP,eAC+B,MAA3BI,EAASJ,eACHI,EAASJ,0BAA0BQ,EAC/BJ,EAASJ,eACTQ,EAAKC,UAAUL,EAASJ,gBAC5BQ,EAAKE,MAE3B,CAMI,WAAAC,GACI,MAAO,CACHd,mBAAoBD,KAAKC,mBAAmBc,cAC5CL,QAASV,KAAKE,SACdC,YAAaH,KAAKG,YAClBC,eAAgBJ,KAAKI,eAEjC"}
1
+ {"version":3,"file":"TopicMessageChunk.js","sources":["../../src/topic/TopicMessageChunk.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Timestamp from \"../Timestamp.js\";\nimport Long from \"long\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITimestamp} HieroProto.proto.ITimestamp\n */\n\n/**\n * @namespace com\n * @typedef {import(\"@hiero-ledger/proto\").com.hedera.mirror.api.proto.IConsensusTopicResponse} com.hedera.mirror.api.proto.IConsensusTopicResponse\n */\n\nexport default class TopicMessageChunk {\n /**\n * @private\n * @param {object} props\n * @param {Timestamp} props.consensusTimestamp\n * @param {Uint8Array} props.contents\n * @param {Uint8Array} props.runningHash\n * @param {Long} props.sequenceNumber\n */\n constructor(props) {\n /** @readonly */\n this.consensusTimestamp = props.consensusTimestamp;\n /** @readonly */\n this.contents = props.contents;\n /** @readonly */\n this.runningHash = props.runningHash;\n /** @readonly */\n this.sequenceNumber = props.sequenceNumber;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {com.hedera.mirror.api.proto.IConsensusTopicResponse} response\n * @returns {TopicMessageChunk}\n */\n static _fromProtobuf(response) {\n return new TopicMessageChunk({\n consensusTimestamp: Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */\n (response.consensusTimestamp),\n ),\n contents:\n response.message != null ? response.message : new Uint8Array(),\n runningHash:\n response.runningHash != null\n ? response.runningHash\n : new Uint8Array(),\n sequenceNumber:\n response.sequenceNumber != null\n ? response.sequenceNumber instanceof Long\n ? response.sequenceNumber\n : Long.fromValue(response.sequenceNumber)\n : Long.ZERO,\n });\n }\n\n /**\n * @internal\n * @returns {com.hedera.mirror.api.proto.IConsensusTopicResponse}\n */\n _toProtobuf() {\n return {\n consensusTimestamp: this.consensusTimestamp._toProtobuf(),\n message: this.contents,\n runningHash: this.runningHash,\n sequenceNumber: this.sequenceNumber,\n };\n }\n}\n"],"names":["TopicMessageChunk","constructor","props","this","consensusTimestamp","contents","runningHash","sequenceNumber","Object","freeze","_fromProtobuf","response","Timestamp","message","Uint8Array","Long","fromValue","ZERO","_toProtobuf"],"mappings":"mDAee,MAAMA,EASjB,WAAAC,CAAYC,GAERC,KAAKC,mBAAqBF,EAAME,mBAEhCD,KAAKE,SAAWH,EAAMG,SAEtBF,KAAKG,YAAcJ,EAAMI,YAEzBH,KAAKI,eAAiBL,EAAMK,eAE5BC,OAAOC,OAAON,KACtB,CAOI,oBAAOO,CAAcC,GACjB,OAAO,IAAIX,EAAkB,CACzBI,mBAAoBQ,EAAUF,cAEzBC,EAA2B,oBAEhCN,SACwB,MAApBM,EAASE,QAAkBF,EAASE,QAAU,IAAIC,WACtDR,YAC4B,MAAxBK,EAASL,YACHK,EAASL,YACT,IAAIQ,WACdP,eAC+B,MAA3BI,EAASJ,eACHI,EAASJ,0BAA0BQ,EAC/BJ,EAASJ,eACTQ,EAAKC,UAAUL,EAASJ,gBAC5BQ,EAAKE,MAE3B,CAMI,WAAAC,GACI,MAAO,CACHd,mBAAoBD,KAAKC,mBAAmBc,cAC5CL,QAASV,KAAKE,SACdC,YAAaH,KAAKG,YAClBC,eAAgBJ,KAAKI,eAEjC"}
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _TransactionId = _interopRequireDefault(require("../transaction/TransactionId.cjs"));
8
8
  var _SubscriptionHandle = _interopRequireDefault(require("./SubscriptionHandle.cjs"));
9
9
  var _TopicMessage = _interopRequireDefault(require("./TopicMessage.cjs"));
10
- var HieroProto = _interopRequireWildcard(require("@hashgraph/proto"));
10
+ var HieroProto = _interopRequireWildcard(require("@hiero-ledger/proto"));
11
11
  var _TopicId = _interopRequireDefault(require("./TopicId.cjs"));
12
12
  var _long = _interopRequireDefault(require("long"));
13
13
  var _Timestamp = _interopRequireDefault(require("../Timestamp.cjs"));
@@ -1,2 +1,2 @@
1
- import t from"../transaction/TransactionId.js";import e from"./SubscriptionHandle.js";import r from"./TopicMessage.js";import*as i from"@hashgraph/proto";import s from"./TopicId.js";import n from"long";import o from"../Timestamp.js";import{RST_STREAM as l}from"../Executable.js";class a{constructor(t={}){this._topicId=null,null!=t.topicId&&this.setTopicId(t.topicId),this._startTime=null,null!=t.startTime&&this.setStartTime(t.startTime),this._endTime=null,null!=t.endTime&&this.setEndTime(t.endTime),this._limit=null,null!=t.limit&&this.setLimit(t.limit),this._errorHandler=(t,e)=>{console.error(`Error attempting to subscribe to topic: ${null!=this._topicId?this._topicId.toString():""}`)},null!=t.errorHandler&&(this._errorHandler=t.errorHandler),this._listener=null,this._completionHandler=()=>{console.log(`Subscription to topic ${null!=this._topicId?this._topicId.toString():""} complete`)},null!=t.completionHandler&&(this._completionHandler=t.completionHandler),this._maxAttempts=20,this._maxBackoff=8e3,this._retryHandler=t=>{if(null!=t){if(t instanceof Error)return!0;switch(t.code){case 13:return l.test(t.details.toString());case 5:case 8:case 14:case 17:return!0;default:return!1}}return!1},null!=t.retryHandler&&(this._retryHandler=t.retryHandler),this._attempt=0,this._handle=null,this.setMaxBackoff(8e3)}get topicId(){return this._topicId}setTopicId(t){return this.requireNotSubscribed(),this._topicId="string"==typeof t?s.fromString(t):t.clone(),this}get startTime(){return this._startTime}setStartTime(t){return this.requireNotSubscribed(),this._startTime=t instanceof o?t:t instanceof Date?o.fromDate(t):new o(t,0),this}get endTime(){return this._endTime}setEndTime(t){return this.requireNotSubscribed(),this._endTime=t instanceof o?t:t instanceof Date?o.fromDate(t):new o(t,0),this}get limit(){return this._limit}setLimit(t){return this.requireNotSubscribed(),this._limit=t instanceof n?t:n.fromValue(t),this}setErrorHandler(t){return this._errorHandler=t,this}setCompletionHandler(t){return this.requireNotSubscribed(),this._completionHandler=t,this}setMaxAttempts(t){return this.requireNotSubscribed(),this._maxAttempts=t,this}setMaxBackoff(t){return this.requireNotSubscribed(),this._maxBackoff=t,this}subscribe(t,r,i){return this._handle=new e,this._listener=i,null!=r&&(this._errorHandler=r),this._makeServerStreamRequest(t),this._handle}_makeServerStreamRequest(t){const e=this._buildConsensusRequest(),r=new Map,i=t._mirrorNetwork.getNextMirrorNode().getChannel().makeServerStreamRequest("ConsensusService","subscribeTopic",e,t=>this._handleMessage(t,r),e=>this._handleError(e,t),this._completionHandler);null!=this._handle&&this._handle._setCall(()=>i())}requireNotSubscribed(){if(null!=this._handle)throw new Error("Cannot change fields on an already subscribed query")}_passTopicMessage(t){try{if(null==this._listener)throw new Error("(BUG) listener is unexpectedly not set");this._listener(t)}catch(e){this._errorHandler(t,e)}}_buildConsensusRequest(){return i.com.hedera.mirror.api.proto.ConsensusTopicQuery.encode({topicID:this._topicId?._toProtobuf()??null,consensusStartTime:this._startTime?._toProtobuf()??null,consensusEndTime:this._endTime?._toProtobuf()??null,limit:this._limit}).finish()}_handleMessage(t,e){const s=i.com.hedera.mirror.api.proto.ConsensusTopicResponse.decode(t);this._limit?.gt(0)&&(this._limit=this._limit.sub(1)),this._startTime=o._fromProtobuf(s.consensusTimestamp).plusNanos(1),null==s.chunkInfo||null!=s.chunkInfo&&1===s.chunkInfo.total?this._passTopicMessage(r._ofSingle(s)):this._handleChunkedMessage(s,e)}_handleChunkedMessage(e,i){const s=e.chunkInfo,n=s.initialTransactionID,o=s.total,l=t._fromProtobuf(n).toString();let a=[];const h=i.get(l);if(null==h?i.set(l,a):a=h,a.push(e),a.length===o){const t=r._ofMany(a);i.delete(l),this._passTopicMessage(t)}}_handleError(t,e){const r=t instanceof Error?t.message:t.details;this._handle?._unsubscribed||(this.shouldRetry(t)?this._scheduleRetry(e,r):this._errorHandler(null,new Error(r)))}shouldRetry(t){return this._attempt<this._maxAttempts&&this._retryHandler(t)}_scheduleRetry(t,e){const r=Math.min(250*2**this._attempt,this._maxBackoff);console.warn(`Error subscribing to topic ${this._topicId?.toString()??"UNKNOWN"} during attempt ${this._attempt}. Waiting ${r} ms before next attempt: ${e}`),this._attempt+=1,setTimeout(()=>this._makeServerStreamRequest(t),r)}}export{a as default};
1
+ import t from"../transaction/TransactionId.js";import e from"./SubscriptionHandle.js";import r from"./TopicMessage.js";import*as i from"@hiero-ledger/proto";import s from"./TopicId.js";import n from"long";import o from"../Timestamp.js";import{RST_STREAM as l}from"../Executable.js";class a{constructor(t={}){this._topicId=null,null!=t.topicId&&this.setTopicId(t.topicId),this._startTime=null,null!=t.startTime&&this.setStartTime(t.startTime),this._endTime=null,null!=t.endTime&&this.setEndTime(t.endTime),this._limit=null,null!=t.limit&&this.setLimit(t.limit),this._errorHandler=(t,e)=>{console.error(`Error attempting to subscribe to topic: ${null!=this._topicId?this._topicId.toString():""}`)},null!=t.errorHandler&&(this._errorHandler=t.errorHandler),this._listener=null,this._completionHandler=()=>{console.log(`Subscription to topic ${null!=this._topicId?this._topicId.toString():""} complete`)},null!=t.completionHandler&&(this._completionHandler=t.completionHandler),this._maxAttempts=20,this._maxBackoff=8e3,this._retryHandler=t=>{if(null!=t){if(t instanceof Error)return!0;switch(t.code){case 13:return l.test(t.details.toString());case 5:case 8:case 14:case 17:return!0;default:return!1}}return!1},null!=t.retryHandler&&(this._retryHandler=t.retryHandler),this._attempt=0,this._handle=null,this.setMaxBackoff(8e3)}get topicId(){return this._topicId}setTopicId(t){return this.requireNotSubscribed(),this._topicId="string"==typeof t?s.fromString(t):t.clone(),this}get startTime(){return this._startTime}setStartTime(t){return this.requireNotSubscribed(),this._startTime=t instanceof o?t:t instanceof Date?o.fromDate(t):new o(t,0),this}get endTime(){return this._endTime}setEndTime(t){return this.requireNotSubscribed(),this._endTime=t instanceof o?t:t instanceof Date?o.fromDate(t):new o(t,0),this}get limit(){return this._limit}setLimit(t){return this.requireNotSubscribed(),this._limit=t instanceof n?t:n.fromValue(t),this}setErrorHandler(t){return this._errorHandler=t,this}setCompletionHandler(t){return this.requireNotSubscribed(),this._completionHandler=t,this}setMaxAttempts(t){return this.requireNotSubscribed(),this._maxAttempts=t,this}setMaxBackoff(t){return this.requireNotSubscribed(),this._maxBackoff=t,this}subscribe(t,r,i){return this._handle=new e,this._listener=i,null!=r&&(this._errorHandler=r),this._makeServerStreamRequest(t),this._handle}_makeServerStreamRequest(t){const e=this._buildConsensusRequest(),r=new Map,i=t._mirrorNetwork.getNextMirrorNode().getChannel().makeServerStreamRequest("ConsensusService","subscribeTopic",e,t=>this._handleMessage(t,r),e=>this._handleError(e,t),this._completionHandler);null!=this._handle&&this._handle._setCall(()=>i())}requireNotSubscribed(){if(null!=this._handle)throw new Error("Cannot change fields on an already subscribed query")}_passTopicMessage(t){try{if(null==this._listener)throw new Error("(BUG) listener is unexpectedly not set");this._listener(t)}catch(e){this._errorHandler(t,e)}}_buildConsensusRequest(){return i.com.hedera.mirror.api.proto.ConsensusTopicQuery.encode({topicID:this._topicId?._toProtobuf()??null,consensusStartTime:this._startTime?._toProtobuf()??null,consensusEndTime:this._endTime?._toProtobuf()??null,limit:this._limit}).finish()}_handleMessage(t,e){const s=i.com.hedera.mirror.api.proto.ConsensusTopicResponse.decode(t);this._limit?.gt(0)&&(this._limit=this._limit.sub(1)),this._startTime=o._fromProtobuf(s.consensusTimestamp).plusNanos(1),null==s.chunkInfo||null!=s.chunkInfo&&1===s.chunkInfo.total?this._passTopicMessage(r._ofSingle(s)):this._handleChunkedMessage(s,e)}_handleChunkedMessage(e,i){const s=e.chunkInfo,n=s.initialTransactionID,o=s.total,l=t._fromProtobuf(n).toString();let a=[];const h=i.get(l);if(null==h?i.set(l,a):a=h,a.push(e),a.length===o){const t=r._ofMany(a);i.delete(l),this._passTopicMessage(t)}}_handleError(t,e){const r=t instanceof Error?t.message:t.details;this._handle?._unsubscribed||(this.shouldRetry(t)?this._scheduleRetry(e,r):this._errorHandler(null,new Error(r)))}shouldRetry(t){return this._attempt<this._maxAttempts&&this._retryHandler(t)}_scheduleRetry(t,e){const r=Math.min(250*2**this._attempt,this._maxBackoff);console.warn(`Error subscribing to topic ${this._topicId?.toString()??"UNKNOWN"} during attempt ${this._attempt}. Waiting ${r} ms before next attempt: ${e}`),this._attempt+=1,setTimeout(()=>this._makeServerStreamRequest(t),r)}}export{a as default};
2
2
  //# sourceMappingURL=TopicMessageQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TopicMessageQuery.js","sources":["../../src/topic/TopicMessageQuery.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport TransactionId from \"../transaction/TransactionId.js\";\nimport SubscriptionHandle from \"./SubscriptionHandle.js\";\nimport TopicMessage from \"./TopicMessage.js\";\nimport * as HieroProto from \"@hashgraph/proto\";\nimport TopicId from \"./TopicId.js\";\nimport Long from \"long\";\nimport Timestamp from \"../Timestamp.js\";\nimport { RST_STREAM } from \"../Executable.js\";\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../channel/MirrorChannel.js\").default} MirrorChannel\n * @typedef {import(\"../channel/MirrorChannel.js\").MirrorError} MirrorError\n */\n\n/**\n * @template {Channel} ChannelT\n * @typedef {import(\"../client/Client.js\").default<ChannelT, MirrorChannel>} Client<ChannelT, MirrorChannel>\n */\n\n/**\n * Represents a class that you can use to subscribe to\n * different topics on Hedera network.\n * @augments {Query<TopicMessageQuery>}\n */\nexport default class TopicMessageQuery {\n /**\n * @param {object} props\n * @param {TopicId | string} [props.topicId]\n * @param {Timestamp} [props.startTime]\n * @param {Timestamp} [props.endTime]\n * @param {(message: TopicMessage | null, error: Error)=> void} [props.errorHandler]\n * @param {() => void} [props.completionHandler]\n * @param {(error: MirrorError | Error | null) => boolean} [props.retryHandler]\n * @param {Long | number} [props.limit]\n */\n constructor(props = {}) {\n /**\n * @private\n * @type {?TopicId}\n */\n this._topicId = null;\n if (props.topicId != null) {\n this.setTopicId(props.topicId);\n }\n\n /**\n * @private\n * @type {?Timestamp}\n */\n this._startTime = null;\n if (props.startTime != null) {\n this.setStartTime(props.startTime);\n }\n\n /**\n * @private\n * @type {?Timestamp}\n */\n this._endTime = null;\n if (props.endTime != null) {\n this.setEndTime(props.endTime);\n }\n\n /**\n * @private\n * @type {?Long}\n */\n this._limit = null;\n if (props.limit != null) {\n this.setLimit(props.limit);\n }\n\n /**\n * @private\n * @type {(message: TopicMessage | null, error: Error) => void}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this._errorHandler = (message, error) => {\n console.error(\n `Error attempting to subscribe to topic: ${\n this._topicId != null ? this._topicId.toString() : \"\"\n }`,\n );\n };\n\n if (props.errorHandler != null) {\n this._errorHandler = props.errorHandler;\n }\n\n /*\n * @private\n * @type {((message: TopicMessage) => void) | null}\n */\n this._listener = null;\n\n /**\n * @private\n * @type {() => void}\n */\n this._completionHandler = () => {\n console.log(\n `Subscription to topic ${\n this._topicId != null ? this._topicId.toString() : \"\"\n } complete`,\n );\n };\n\n if (props.completionHandler != null) {\n this._completionHandler = props.completionHandler;\n }\n\n /* The number of times we can retry the grpc call\n *\n * @internal\n * @type {number}\n */\n this._maxAttempts = 20;\n\n /**\n * This is the request's max backoff\n *\n * @internal\n * @type {number}\n */\n this._maxBackoff = 8000;\n\n /**\n * @private\n * @type {(error: MirrorError | Error | null) => boolean}\n */\n this._retryHandler = (error) => {\n if (error != null) {\n if (error instanceof Error) {\n // Retry on all errors which are not `MirrorError` because they're\n // likely lower level HTTP/2 errors\n return true;\n } else {\n // Retry on `NOT_FOUND`, `RESOURCE_EXHAUSTED`, `UNAVAILABLE`, and conditionally on `INTERNAL`\n // if the message matches the right regex.\n switch (error.code) {\n // INTERNAL\n // eslint-disable-next-line no-fallthrough\n case 13:\n return RST_STREAM.test(error.details.toString());\n // NOT_FOUND\n // eslint-disable-next-line no-fallthrough\n case 5:\n // RESOURCE_EXHAUSTED\n // eslint-disable-next-line no-fallthrough\n case 8:\n // UNAVAILABLE\n // eslint-disable-next-line no-fallthrough\n case 14:\n case 17:\n return true;\n default:\n return false;\n }\n }\n }\n\n return false;\n };\n\n if (props.retryHandler != null) {\n this._retryHandler = props.retryHandler;\n }\n\n /**\n * @private\n * @type {number}\n */\n this._attempt = 0;\n\n /**\n * @private\n * @type {SubscriptionHandle | null}\n */\n this._handle = null;\n\n this.setMaxBackoff(8000);\n }\n\n /**\n * @returns {?TopicId}\n */\n get topicId() {\n return this._topicId;\n }\n\n /**\n * @param {TopicId | string} topicId\n * @returns {TopicMessageQuery}\n */\n setTopicId(topicId) {\n this.requireNotSubscribed();\n\n this._topicId =\n typeof topicId === \"string\"\n ? TopicId.fromString(topicId)\n : topicId.clone();\n\n return this;\n }\n\n /**\n * @returns {?Timestamp}\n */\n get startTime() {\n return this._startTime;\n }\n\n /**\n * @param {Timestamp | Date | number} startTime\n * @returns {TopicMessageQuery}\n */\n setStartTime(startTime) {\n this.requireNotSubscribed();\n\n this._startTime =\n startTime instanceof Timestamp\n ? startTime\n : startTime instanceof Date\n ? Timestamp.fromDate(startTime)\n : new Timestamp(startTime, 0);\n return this;\n }\n\n /**\n * @returns {?Timestamp}\n */\n get endTime() {\n return this._endTime;\n }\n\n /**\n * @param {Timestamp | Date | number} endTime\n * @returns {TopicMessageQuery}\n */\n setEndTime(endTime) {\n this.requireNotSubscribed();\n\n this._endTime =\n endTime instanceof Timestamp\n ? endTime\n : endTime instanceof Date\n ? Timestamp.fromDate(endTime)\n : new Timestamp(endTime, 0);\n return this;\n }\n\n /**\n * @returns {?Long}\n */\n get limit() {\n return this._limit;\n }\n\n /**\n * @param {Long | number} limit\n * @returns {TopicMessageQuery}\n */\n setLimit(limit) {\n this.requireNotSubscribed();\n\n this._limit = limit instanceof Long ? limit : Long.fromValue(limit);\n\n return this;\n }\n\n /**\n * @param {(message: TopicMessage | null, error: Error)=> void} errorHandler\n * @returns {TopicMessageQuery}\n */\n setErrorHandler(errorHandler) {\n this._errorHandler = errorHandler;\n\n return this;\n }\n\n /**\n * @param {() => void} completionHandler\n * @returns {TopicMessageQuery}\n */\n setCompletionHandler(completionHandler) {\n this.requireNotSubscribed();\n\n this._completionHandler = completionHandler;\n\n return this;\n }\n\n /**\n * @param {number} attempts\n * @returns {this}\n */\n setMaxAttempts(attempts) {\n this.requireNotSubscribed();\n this._maxAttempts = attempts;\n return this;\n }\n\n /**\n * @param {number} backoff\n * @returns {this}\n */\n setMaxBackoff(backoff) {\n this.requireNotSubscribed();\n this._maxBackoff = backoff;\n return this;\n }\n\n /**\n * @param {Client<Channel>} client\n * @param {((message: TopicMessage | null, error: Error) => void) | null} errorHandler\n * @param {(message: TopicMessage) => void} listener\n * @returns {SubscriptionHandle}\n */\n subscribe(client, errorHandler, listener) {\n this._handle = new SubscriptionHandle();\n this._listener = listener;\n\n if (errorHandler != null) {\n this._errorHandler = errorHandler;\n }\n\n this._makeServerStreamRequest(client);\n\n return this._handle;\n }\n\n /**\n * Makes a server stream request to subscribe to topic messages\n * @private\n * @param {Client<Channel>} client\n * @returns {void}\n */\n _makeServerStreamRequest(client) {\n const request = this._buildConsensusRequest();\n /** @type {Map<string, HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse[]>} */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const list = new Map();\n\n const streamHandler = client._mirrorNetwork\n .getNextMirrorNode()\n .getChannel()\n .makeServerStreamRequest(\n \"ConsensusService\",\n \"subscribeTopic\",\n request,\n (data) => this._handleMessage(data, list),\n (error) => this._handleError(error, client),\n this._completionHandler,\n );\n\n if (this._handle != null) {\n this._handle._setCall(() => streamHandler());\n }\n }\n\n requireNotSubscribed() {\n if (this._handle != null) {\n throw new Error(\n \"Cannot change fields on an already subscribed query\",\n );\n }\n }\n\n /**\n * @private\n * @param {TopicMessage} topicMessage\n */\n _passTopicMessage(topicMessage) {\n try {\n if (this._listener != null) {\n this._listener(topicMessage);\n } else {\n throw new Error(\"(BUG) listener is unexpectedly not set\");\n }\n } catch (error) {\n this._errorHandler(topicMessage, /** @type {Error} */ (error));\n }\n }\n\n /**\n * Builds the consensus topic query request\n * @private\n * @returns {Uint8Array} Encoded consensus topic query\n */\n _buildConsensusRequest() {\n return HieroProto.com.hedera.mirror.api.proto.ConsensusTopicQuery.encode(\n {\n topicID: this._topicId?._toProtobuf() ?? null,\n consensusStartTime: this._startTime?._toProtobuf() ?? null,\n consensusEndTime: this._endTime?._toProtobuf() ?? null,\n limit: this._limit,\n },\n ).finish();\n }\n\n /**\n * Handles an incoming message from the topic subscription\n * @private\n * @param {Uint8Array} data - Raw message data\n * @param {Map<string, HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse[]>} list\n */\n _handleMessage(data, list) {\n const message =\n HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse.decode(\n data,\n );\n\n if (this._limit?.gt(0)) {\n this._limit = this._limit.sub(1);\n }\n\n this._startTime = Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */ (\n message.consensusTimestamp\n ),\n ).plusNanos(1);\n\n if (\n message.chunkInfo == null ||\n (message.chunkInfo != null && message.chunkInfo.total === 1)\n ) {\n this._passTopicMessage(TopicMessage._ofSingle(message));\n } else {\n this._handleChunkedMessage(message, list);\n }\n }\n\n /**\n * Handles a chunked message from the topic subscription\n * @private\n * @param {HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse} message - The message response\n * @param {Map<string, HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse[]>} list\n */\n _handleChunkedMessage(message, list) {\n const chunkInfo =\n /** @type {HieroProto.proto.IConsensusMessageChunkInfo} */ (\n message.chunkInfo\n );\n const initialTransactionID =\n /** @type {HieroProto.proto.ITransactionID} */ (\n chunkInfo.initialTransactionID\n );\n const total = /** @type {number} */ (chunkInfo.total);\n const transactionId =\n TransactionId._fromProtobuf(initialTransactionID).toString();\n\n /** @type {HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse[]} */\n let responses = [];\n\n const temp = list.get(transactionId);\n if (temp == null) {\n list.set(transactionId, responses);\n } else {\n responses = temp;\n }\n\n responses.push(message);\n\n if (responses.length === total) {\n const topicMessage = TopicMessage._ofMany(responses);\n list.delete(transactionId);\n this._passTopicMessage(topicMessage);\n }\n }\n\n /**\n * Handles errors from the topic subscription\n * @private\n * @param {MirrorError | Error} error - The error that occurred\n * @param {Client<Channel>} client - The client to use for retries\n * @returns {void}\n */\n _handleError(error, client) {\n const message = error instanceof Error ? error.message : error.details;\n\n if (this._handle?._unsubscribed) {\n return;\n }\n\n if (this.shouldRetry(error)) {\n this._scheduleRetry(client, message);\n } else {\n this._errorHandler(null, new Error(message));\n }\n }\n\n /**\n * Determines if a retry should be attempted\n * @private\n * @param {MirrorError | Error} error - The error to check\n * @returns {boolean} - Whether to retry\n */\n shouldRetry(error) {\n return this._attempt < this._maxAttempts && this._retryHandler(error);\n }\n\n /**\n * Schedules a retry of the server stream request\n * @private\n * @param {Client<Channel>} client - The client to use for the retry\n * @param {string} errorMessage - The error message for logging\n * @returns {void}\n */\n _scheduleRetry(client, errorMessage) {\n const delay = Math.min(250 * 2 ** this._attempt, this._maxBackoff);\n\n console.warn(\n `Error subscribing to topic ${\n this._topicId?.toString() ?? \"UNKNOWN\"\n } ` +\n `during attempt ${this._attempt}. Waiting ${delay} ms before next attempt: ${errorMessage}`,\n );\n\n this._attempt += 1;\n setTimeout(() => this._makeServerStreamRequest(client), delay);\n }\n}\n"],"names":["TopicMessageQuery","constructor","props","this","_topicId","topicId","setTopicId","_startTime","startTime","setStartTime","_endTime","endTime","setEndTime","_limit","limit","setLimit","_errorHandler","message","error","console","toString","errorHandler","_listener","_completionHandler","log","completionHandler","_maxAttempts","_maxBackoff","_retryHandler","Error","code","RST_STREAM","test","details","retryHandler","_attempt","_handle","setMaxBackoff","requireNotSubscribed","TopicId","fromString","clone","Timestamp","Date","fromDate","Long","fromValue","setErrorHandler","setCompletionHandler","setMaxAttempts","attempts","backoff","subscribe","client","listener","SubscriptionHandle","_makeServerStreamRequest","request","_buildConsensusRequest","list","Map","streamHandler","_mirrorNetwork","getNextMirrorNode","getChannel","makeServerStreamRequest","data","_handleMessage","_handleError","_setCall","_passTopicMessage","topicMessage","HieroProto","com","hedera","mirror","api","proto","ConsensusTopicQuery","encode","topicID","_toProtobuf","consensusStartTime","consensusEndTime","finish","ConsensusTopicResponse","decode","gt","sub","_fromProtobuf","plusNanos","chunkInfo","total","TopicMessage","_ofSingle","_handleChunkedMessage","initialTransactionID","transactionId","TransactionId","responses","temp","get","set","push","length","_ofMany","delete","_unsubscribed","shouldRetry","_scheduleRetry","errorMessage","delay","Math","min","warn","setTimeout"],"mappings":"uRA2Be,MAAMA,EAWjB,WAAAC,CAAYC,EAAQ,IAKhBC,KAAKC,SAAW,KACK,MAAjBF,EAAMG,SACNF,KAAKG,WAAWJ,EAAMG,SAO1BF,KAAKI,WAAa,KACK,MAAnBL,EAAMM,WACNL,KAAKM,aAAaP,EAAMM,WAO5BL,KAAKO,SAAW,KACK,MAAjBR,EAAMS,SACNR,KAAKS,WAAWV,EAAMS,SAO1BR,KAAKU,OAAS,KACK,MAAfX,EAAMY,OACNX,KAAKY,SAASb,EAAMY,OAQxBX,KAAKa,cAAgB,CAACC,EAASC,KAC3BC,QAAQD,MACJ,2CACqB,MAAjBf,KAAKC,SAAmBD,KAAKC,SAASgB,WAAa,OAKrC,MAAtBlB,EAAMmB,eACNlB,KAAKa,cAAgBd,EAAMmB,cAO/BlB,KAAKmB,UAAY,KAMjBnB,KAAKoB,mBAAqB,KACtBJ,QAAQK,IACJ,yBACqB,MAAjBrB,KAAKC,SAAmBD,KAAKC,SAASgB,WAAa,gBAKhC,MAA3BlB,EAAMuB,oBACNtB,KAAKoB,mBAAqBrB,EAAMuB,mBAQpCtB,KAAKuB,aAAe,GAQpBvB,KAAKwB,YAAc,IAMnBxB,KAAKyB,cAAiBV,IAClB,GAAa,MAATA,EAAe,CACf,GAAIA,aAAiBW,MAGjB,OAAO,EAIP,OAAQX,EAAMY,MAGV,KAAK,GACD,OAAOC,EAAWC,KAAKd,EAAMe,QAAQb,YAGzC,KAAK,EAGL,KAAK,EAGL,KAAK,GACL,KAAK,GACD,OAAO,EACX,QACI,OAAO,EAGnC,CAEY,OAAO,GAGe,MAAtBlB,EAAMgC,eACN/B,KAAKyB,cAAgB1B,EAAMgC,cAO/B/B,KAAKgC,SAAW,EAMhBhC,KAAKiC,QAAU,KAEfjC,KAAKkC,cAAc,IAC3B,CAKI,WAAIhC,GACA,OAAOF,KAAKC,QACpB,CAMI,UAAAE,CAAWD,GAQP,OAPAF,KAAKmC,uBAELnC,KAAKC,SACkB,iBAAZC,EACDkC,EAAQC,WAAWnC,GACnBA,EAAQoC,QAEXtC,IACf,CAKI,aAAIK,GACA,OAAOL,KAAKI,UACpB,CAMI,YAAAE,CAAaD,GAST,OARAL,KAAKmC,uBAELnC,KAAKI,WACDC,aAAqBkC,EACflC,EACAA,aAAqBmC,KACrBD,EAAUE,SAASpC,GACnB,IAAIkC,EAAUlC,EAAW,GAC5BL,IACf,CAKI,WAAIQ,GACA,OAAOR,KAAKO,QACpB,CAMI,UAAAE,CAAWD,GASP,OARAR,KAAKmC,uBAELnC,KAAKO,SACDC,aAAmB+B,EACb/B,EACAA,aAAmBgC,KACnBD,EAAUE,SAASjC,GACnB,IAAI+B,EAAU/B,EAAS,GAC1BR,IACf,CAKI,SAAIW,GACA,OAAOX,KAAKU,MACpB,CAMI,QAAAE,CAASD,GAKL,OAJAX,KAAKmC,uBAELnC,KAAKU,OAASC,aAAiB+B,EAAO/B,EAAQ+B,EAAKC,UAAUhC,GAEtDX,IACf,CAMI,eAAA4C,CAAgB1B,GAGZ,OAFAlB,KAAKa,cAAgBK,EAEdlB,IACf,CAMI,oBAAA6C,CAAqBvB,GAKjB,OAJAtB,KAAKmC,uBAELnC,KAAKoB,mBAAqBE,EAEnBtB,IACf,CAMI,cAAA8C,CAAeC,GAGX,OAFA/C,KAAKmC,uBACLnC,KAAKuB,aAAewB,EACb/C,IACf,CAMI,aAAAkC,CAAcc,GAGV,OAFAhD,KAAKmC,uBACLnC,KAAKwB,YAAcwB,EACZhD,IACf,CAQI,SAAAiD,CAAUC,EAAQhC,EAAciC,GAU5B,OATAnD,KAAKiC,QAAU,IAAImB,EACnBpD,KAAKmB,UAAYgC,EAEG,MAAhBjC,IACAlB,KAAKa,cAAgBK,GAGzBlB,KAAKqD,yBAAyBH,GAEvBlD,KAAKiC,OACpB,CAQI,wBAAAoB,CAAyBH,GACrB,MAAMI,EAAUtD,KAAKuD,yBAGfC,EAAO,IAAIC,IAEXC,EAAgBR,EAAOS,eACxBC,oBACAC,aACAC,wBACG,mBACA,iBACAR,EACCS,GAAS/D,KAAKgE,eAAeD,EAAMP,GACnCzC,GAAUf,KAAKiE,aAAalD,EAAOmC,GACpClD,KAAKoB,oBAGO,MAAhBpB,KAAKiC,SACLjC,KAAKiC,QAAQiC,SAAS,IAAMR,IAExC,CAEI,oBAAAvB,GACI,GAAoB,MAAhBnC,KAAKiC,QACL,MAAM,IAAIP,MACN,sDAGhB,CAMI,iBAAAyC,CAAkBC,GACd,IACI,GAAsB,MAAlBpE,KAAKmB,UAGL,MAAM,IAAIO,MAAM,0CAFhB1B,KAAKmB,UAAUiD,EAItB,CAAC,MAAOrD,GACLf,KAAKa,cAAcuD,EAAY,EAC3C,CACA,CAOI,sBAAAb,GACI,OAAOc,EAAWC,IAAIC,OAAOC,OAAOC,IAAIC,MAAMC,oBAAoBC,OAC9D,CACIC,QAAS7E,KAAKC,UAAU6E,eAAiB,KACzCC,mBAAoB/E,KAAKI,YAAY0E,eAAiB,KACtDE,iBAAkBhF,KAAKO,UAAUuE,eAAiB,KAClDnE,MAAOX,KAAKU,SAElBuE,QACV,CAQI,cAAAjB,CAAeD,EAAMP,GACjB,MAAM1C,EACFuD,EAAWC,IAAIC,OAAOC,OAAOC,IAAIC,MAAMQ,uBAAuBC,OAC1DpB,GAGJ/D,KAAKU,QAAQ0E,GAAG,KAChBpF,KAAKU,OAASV,KAAKU,OAAO2E,IAAI,IAGlCrF,KAAKI,WAAamC,EAAU+C,cAEpBxE,EAChB,oBACUyE,UAAU,GAGa,MAArBzE,EAAQ0E,WACc,MAArB1E,EAAQ0E,WAAiD,IAA5B1E,EAAQ0E,UAAUC,MAEhDzF,KAAKmE,kBAAkBuB,EAAaC,UAAU7E,IAE9Cd,KAAK4F,sBAAsB9E,EAAS0C,EAEhD,CAQI,qBAAAoC,CAAsB9E,EAAS0C,GAC3B,MAAMgC,EAEE1E,EACH,UACC+E,EAEEL,EACH,qBACCC,EAA+BD,EAAe,MAC9CM,EACFC,EAAcT,cAAcO,GAAsB5E,WAGtD,IAAI+E,EAAY,GAEhB,MAAMC,EAAOzC,EAAK0C,IAAIJ,GAStB,GARY,MAARG,EACAzC,EAAK2C,IAAIL,EAAeE,GAExBA,EAAYC,EAGhBD,EAAUI,KAAKtF,GAEXkF,EAAUK,SAAWZ,EAAO,CAC5B,MAAMrB,EAAesB,EAAaY,QAAQN,GAC1CxC,EAAK+C,OAAOT,GACZ9F,KAAKmE,kBAAkBC,EACnC,CACA,CASI,YAAAH,CAAalD,EAAOmC,GAChB,MAAMpC,EAAUC,aAAiBW,MAAQX,EAAMD,QAAUC,EAAMe,QAE3D9B,KAAKiC,SAASuE,gBAIdxG,KAAKyG,YAAY1F,GACjBf,KAAK0G,eAAexD,EAAQpC,GAE5Bd,KAAKa,cAAc,KAAM,IAAIa,MAAMZ,IAE/C,CAQI,WAAA2F,CAAY1F,GACR,OAAOf,KAAKgC,SAAWhC,KAAKuB,cAAgBvB,KAAKyB,cAAcV,EACvE,CASI,cAAA2F,CAAexD,EAAQyD,GACnB,MAAMC,EAAQC,KAAKC,IAAI,IAAM,GAAK9G,KAAKgC,SAAUhC,KAAKwB,aAEtDR,QAAQ+F,KACJ,8BACI/G,KAAKC,UAAUgB,YAAc,4BAEXjB,KAAKgC,qBAAqB4E,6BAAiCD,KAGrF3G,KAAKgC,UAAY,EACjBgF,WAAW,IAAMhH,KAAKqD,yBAAyBH,GAAS0D,EAChE"}
1
+ {"version":3,"file":"TopicMessageQuery.js","sources":["../../src/topic/TopicMessageQuery.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport TransactionId from \"../transaction/TransactionId.js\";\nimport SubscriptionHandle from \"./SubscriptionHandle.js\";\nimport TopicMessage from \"./TopicMessage.js\";\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport TopicId from \"./TopicId.js\";\nimport Long from \"long\";\nimport Timestamp from \"../Timestamp.js\";\nimport { RST_STREAM } from \"../Executable.js\";\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../channel/MirrorChannel.js\").default} MirrorChannel\n * @typedef {import(\"../channel/MirrorChannel.js\").MirrorError} MirrorError\n */\n\n/**\n * @template {Channel} ChannelT\n * @typedef {import(\"../client/Client.js\").default<ChannelT, MirrorChannel>} Client<ChannelT, MirrorChannel>\n */\n\n/**\n * Represents a class that you can use to subscribe to\n * different topics on Hedera network.\n * @augments {Query<TopicMessageQuery>}\n */\nexport default class TopicMessageQuery {\n /**\n * @param {object} props\n * @param {TopicId | string} [props.topicId]\n * @param {Timestamp} [props.startTime]\n * @param {Timestamp} [props.endTime]\n * @param {(message: TopicMessage | null, error: Error)=> void} [props.errorHandler]\n * @param {() => void} [props.completionHandler]\n * @param {(error: MirrorError | Error | null) => boolean} [props.retryHandler]\n * @param {Long | number} [props.limit]\n */\n constructor(props = {}) {\n /**\n * @private\n * @type {?TopicId}\n */\n this._topicId = null;\n if (props.topicId != null) {\n this.setTopicId(props.topicId);\n }\n\n /**\n * @private\n * @type {?Timestamp}\n */\n this._startTime = null;\n if (props.startTime != null) {\n this.setStartTime(props.startTime);\n }\n\n /**\n * @private\n * @type {?Timestamp}\n */\n this._endTime = null;\n if (props.endTime != null) {\n this.setEndTime(props.endTime);\n }\n\n /**\n * @private\n * @type {?Long}\n */\n this._limit = null;\n if (props.limit != null) {\n this.setLimit(props.limit);\n }\n\n /**\n * @private\n * @type {(message: TopicMessage | null, error: Error) => void}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this._errorHandler = (message, error) => {\n console.error(\n `Error attempting to subscribe to topic: ${\n this._topicId != null ? this._topicId.toString() : \"\"\n }`,\n );\n };\n\n if (props.errorHandler != null) {\n this._errorHandler = props.errorHandler;\n }\n\n /*\n * @private\n * @type {((message: TopicMessage) => void) | null}\n */\n this._listener = null;\n\n /**\n * @private\n * @type {() => void}\n */\n this._completionHandler = () => {\n console.log(\n `Subscription to topic ${\n this._topicId != null ? this._topicId.toString() : \"\"\n } complete`,\n );\n };\n\n if (props.completionHandler != null) {\n this._completionHandler = props.completionHandler;\n }\n\n /* The number of times we can retry the grpc call\n *\n * @internal\n * @type {number}\n */\n this._maxAttempts = 20;\n\n /**\n * This is the request's max backoff\n *\n * @internal\n * @type {number}\n */\n this._maxBackoff = 8000;\n\n /**\n * @private\n * @type {(error: MirrorError | Error | null) => boolean}\n */\n this._retryHandler = (error) => {\n if (error != null) {\n if (error instanceof Error) {\n // Retry on all errors which are not `MirrorError` because they're\n // likely lower level HTTP/2 errors\n return true;\n } else {\n // Retry on `NOT_FOUND`, `RESOURCE_EXHAUSTED`, `UNAVAILABLE`, and conditionally on `INTERNAL`\n // if the message matches the right regex.\n switch (error.code) {\n // INTERNAL\n // eslint-disable-next-line no-fallthrough\n case 13:\n return RST_STREAM.test(error.details.toString());\n // NOT_FOUND\n // eslint-disable-next-line no-fallthrough\n case 5:\n // RESOURCE_EXHAUSTED\n // eslint-disable-next-line no-fallthrough\n case 8:\n // UNAVAILABLE\n // eslint-disable-next-line no-fallthrough\n case 14:\n case 17:\n return true;\n default:\n return false;\n }\n }\n }\n\n return false;\n };\n\n if (props.retryHandler != null) {\n this._retryHandler = props.retryHandler;\n }\n\n /**\n * @private\n * @type {number}\n */\n this._attempt = 0;\n\n /**\n * @private\n * @type {SubscriptionHandle | null}\n */\n this._handle = null;\n\n this.setMaxBackoff(8000);\n }\n\n /**\n * @returns {?TopicId}\n */\n get topicId() {\n return this._topicId;\n }\n\n /**\n * @param {TopicId | string} topicId\n * @returns {TopicMessageQuery}\n */\n setTopicId(topicId) {\n this.requireNotSubscribed();\n\n this._topicId =\n typeof topicId === \"string\"\n ? TopicId.fromString(topicId)\n : topicId.clone();\n\n return this;\n }\n\n /**\n * @returns {?Timestamp}\n */\n get startTime() {\n return this._startTime;\n }\n\n /**\n * @param {Timestamp | Date | number} startTime\n * @returns {TopicMessageQuery}\n */\n setStartTime(startTime) {\n this.requireNotSubscribed();\n\n this._startTime =\n startTime instanceof Timestamp\n ? startTime\n : startTime instanceof Date\n ? Timestamp.fromDate(startTime)\n : new Timestamp(startTime, 0);\n return this;\n }\n\n /**\n * @returns {?Timestamp}\n */\n get endTime() {\n return this._endTime;\n }\n\n /**\n * @param {Timestamp | Date | number} endTime\n * @returns {TopicMessageQuery}\n */\n setEndTime(endTime) {\n this.requireNotSubscribed();\n\n this._endTime =\n endTime instanceof Timestamp\n ? endTime\n : endTime instanceof Date\n ? Timestamp.fromDate(endTime)\n : new Timestamp(endTime, 0);\n return this;\n }\n\n /**\n * @returns {?Long}\n */\n get limit() {\n return this._limit;\n }\n\n /**\n * @param {Long | number} limit\n * @returns {TopicMessageQuery}\n */\n setLimit(limit) {\n this.requireNotSubscribed();\n\n this._limit = limit instanceof Long ? limit : Long.fromValue(limit);\n\n return this;\n }\n\n /**\n * @param {(message: TopicMessage | null, error: Error)=> void} errorHandler\n * @returns {TopicMessageQuery}\n */\n setErrorHandler(errorHandler) {\n this._errorHandler = errorHandler;\n\n return this;\n }\n\n /**\n * @param {() => void} completionHandler\n * @returns {TopicMessageQuery}\n */\n setCompletionHandler(completionHandler) {\n this.requireNotSubscribed();\n\n this._completionHandler = completionHandler;\n\n return this;\n }\n\n /**\n * @param {number} attempts\n * @returns {this}\n */\n setMaxAttempts(attempts) {\n this.requireNotSubscribed();\n this._maxAttempts = attempts;\n return this;\n }\n\n /**\n * @param {number} backoff\n * @returns {this}\n */\n setMaxBackoff(backoff) {\n this.requireNotSubscribed();\n this._maxBackoff = backoff;\n return this;\n }\n\n /**\n * @param {Client<Channel>} client\n * @param {((message: TopicMessage | null, error: Error) => void) | null} errorHandler\n * @param {(message: TopicMessage) => void} listener\n * @returns {SubscriptionHandle}\n */\n subscribe(client, errorHandler, listener) {\n this._handle = new SubscriptionHandle();\n this._listener = listener;\n\n if (errorHandler != null) {\n this._errorHandler = errorHandler;\n }\n\n this._makeServerStreamRequest(client);\n\n return this._handle;\n }\n\n /**\n * Makes a server stream request to subscribe to topic messages\n * @private\n * @param {Client<Channel>} client\n * @returns {void}\n */\n _makeServerStreamRequest(client) {\n const request = this._buildConsensusRequest();\n /** @type {Map<string, HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse[]>} */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const list = new Map();\n\n const streamHandler = client._mirrorNetwork\n .getNextMirrorNode()\n .getChannel()\n .makeServerStreamRequest(\n \"ConsensusService\",\n \"subscribeTopic\",\n request,\n (data) => this._handleMessage(data, list),\n (error) => this._handleError(error, client),\n this._completionHandler,\n );\n\n if (this._handle != null) {\n this._handle._setCall(() => streamHandler());\n }\n }\n\n requireNotSubscribed() {\n if (this._handle != null) {\n throw new Error(\n \"Cannot change fields on an already subscribed query\",\n );\n }\n }\n\n /**\n * @private\n * @param {TopicMessage} topicMessage\n */\n _passTopicMessage(topicMessage) {\n try {\n if (this._listener != null) {\n this._listener(topicMessage);\n } else {\n throw new Error(\"(BUG) listener is unexpectedly not set\");\n }\n } catch (error) {\n this._errorHandler(topicMessage, /** @type {Error} */ (error));\n }\n }\n\n /**\n * Builds the consensus topic query request\n * @private\n * @returns {Uint8Array} Encoded consensus topic query\n */\n _buildConsensusRequest() {\n return HieroProto.com.hedera.mirror.api.proto.ConsensusTopicQuery.encode(\n {\n topicID: this._topicId?._toProtobuf() ?? null,\n consensusStartTime: this._startTime?._toProtobuf() ?? null,\n consensusEndTime: this._endTime?._toProtobuf() ?? null,\n limit: this._limit,\n },\n ).finish();\n }\n\n /**\n * Handles an incoming message from the topic subscription\n * @private\n * @param {Uint8Array} data - Raw message data\n * @param {Map<string, HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse[]>} list\n */\n _handleMessage(data, list) {\n const message =\n HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse.decode(\n data,\n );\n\n if (this._limit?.gt(0)) {\n this._limit = this._limit.sub(1);\n }\n\n this._startTime = Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */ (\n message.consensusTimestamp\n ),\n ).plusNanos(1);\n\n if (\n message.chunkInfo == null ||\n (message.chunkInfo != null && message.chunkInfo.total === 1)\n ) {\n this._passTopicMessage(TopicMessage._ofSingle(message));\n } else {\n this._handleChunkedMessage(message, list);\n }\n }\n\n /**\n * Handles a chunked message from the topic subscription\n * @private\n * @param {HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse} message - The message response\n * @param {Map<string, HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse[]>} list\n */\n _handleChunkedMessage(message, list) {\n const chunkInfo =\n /** @type {HieroProto.proto.IConsensusMessageChunkInfo} */ (\n message.chunkInfo\n );\n const initialTransactionID =\n /** @type {HieroProto.proto.ITransactionID} */ (\n chunkInfo.initialTransactionID\n );\n const total = /** @type {number} */ (chunkInfo.total);\n const transactionId =\n TransactionId._fromProtobuf(initialTransactionID).toString();\n\n /** @type {HieroProto.com.hedera.mirror.api.proto.ConsensusTopicResponse[]} */\n let responses = [];\n\n const temp = list.get(transactionId);\n if (temp == null) {\n list.set(transactionId, responses);\n } else {\n responses = temp;\n }\n\n responses.push(message);\n\n if (responses.length === total) {\n const topicMessage = TopicMessage._ofMany(responses);\n list.delete(transactionId);\n this._passTopicMessage(topicMessage);\n }\n }\n\n /**\n * Handles errors from the topic subscription\n * @private\n * @param {MirrorError | Error} error - The error that occurred\n * @param {Client<Channel>} client - The client to use for retries\n * @returns {void}\n */\n _handleError(error, client) {\n const message = error instanceof Error ? error.message : error.details;\n\n if (this._handle?._unsubscribed) {\n return;\n }\n\n if (this.shouldRetry(error)) {\n this._scheduleRetry(client, message);\n } else {\n this._errorHandler(null, new Error(message));\n }\n }\n\n /**\n * Determines if a retry should be attempted\n * @private\n * @param {MirrorError | Error} error - The error to check\n * @returns {boolean} - Whether to retry\n */\n shouldRetry(error) {\n return this._attempt < this._maxAttempts && this._retryHandler(error);\n }\n\n /**\n * Schedules a retry of the server stream request\n * @private\n * @param {Client<Channel>} client - The client to use for the retry\n * @param {string} errorMessage - The error message for logging\n * @returns {void}\n */\n _scheduleRetry(client, errorMessage) {\n const delay = Math.min(250 * 2 ** this._attempt, this._maxBackoff);\n\n console.warn(\n `Error subscribing to topic ${\n this._topicId?.toString() ?? \"UNKNOWN\"\n } ` +\n `during attempt ${this._attempt}. Waiting ${delay} ms before next attempt: ${errorMessage}`,\n );\n\n this._attempt += 1;\n setTimeout(() => this._makeServerStreamRequest(client), delay);\n }\n}\n"],"names":["TopicMessageQuery","constructor","props","this","_topicId","topicId","setTopicId","_startTime","startTime","setStartTime","_endTime","endTime","setEndTime","_limit","limit","setLimit","_errorHandler","message","error","console","toString","errorHandler","_listener","_completionHandler","log","completionHandler","_maxAttempts","_maxBackoff","_retryHandler","Error","code","RST_STREAM","test","details","retryHandler","_attempt","_handle","setMaxBackoff","requireNotSubscribed","TopicId","fromString","clone","Timestamp","Date","fromDate","Long","fromValue","setErrorHandler","setCompletionHandler","setMaxAttempts","attempts","backoff","subscribe","client","listener","SubscriptionHandle","_makeServerStreamRequest","request","_buildConsensusRequest","list","Map","streamHandler","_mirrorNetwork","getNextMirrorNode","getChannel","makeServerStreamRequest","data","_handleMessage","_handleError","_setCall","_passTopicMessage","topicMessage","HieroProto","com","hedera","mirror","api","proto","ConsensusTopicQuery","encode","topicID","_toProtobuf","consensusStartTime","consensusEndTime","finish","ConsensusTopicResponse","decode","gt","sub","_fromProtobuf","plusNanos","chunkInfo","total","TopicMessage","_ofSingle","_handleChunkedMessage","initialTransactionID","transactionId","TransactionId","responses","temp","get","set","push","length","_ofMany","delete","_unsubscribed","shouldRetry","_scheduleRetry","errorMessage","delay","Math","min","warn","setTimeout"],"mappings":"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"}
@@ -16,15 +16,15 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
16
16
 
17
17
  /**
18
18
  * @namespace proto
19
- * @typedef {import("@hashgraph/proto").proto.IConsensusSubmitMessageTransactionBody} HieroProto.proto.IConsensusSubmitMessageTransactionBody
20
- * @typedef {import("@hashgraph/proto").proto.ITransaction} HieroProto.proto.ITransaction
21
- * @typedef {import("@hashgraph/proto").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction
22
- * @typedef {import("@hashgraph/proto").proto.TransactionBody} HieroProto.proto.TransactionBody
23
- * @typedef {import("@hashgraph/proto").proto.ITransactionBody} HieroProto.proto.ITransactionBody
24
- * @typedef {import("@hashgraph/proto").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse
25
- * @typedef {import("@hashgraph/proto").proto.IConsensusMessageChunkInfo} HieroProto.proto.IConsensusMessageChunkInfo
26
- * @typedef {import("@hashgraph/proto").proto.IFixedFee} HieroProto.proto.IFixedFee
27
- * @typedef {import("@hashgraph/proto").proto.ICustomFeeLimit} HieroProto.proto.ICustomFeeLimit
19
+ * @typedef {import("@hiero-ledger/proto").proto.IConsensusSubmitMessageTransactionBody} HieroProto.proto.IConsensusSubmitMessageTransactionBody
20
+ * @typedef {import("@hiero-ledger/proto").proto.ITransaction} HieroProto.proto.ITransaction
21
+ * @typedef {import("@hiero-ledger/proto").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction
22
+ * @typedef {import("@hiero-ledger/proto").proto.TransactionBody} HieroProto.proto.TransactionBody
23
+ * @typedef {import("@hiero-ledger/proto").proto.ITransactionBody} HieroProto.proto.ITransactionBody
24
+ * @typedef {import("@hiero-ledger/proto").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse
25
+ * @typedef {import("@hiero-ledger/proto").proto.IConsensusMessageChunkInfo} HieroProto.proto.IConsensusMessageChunkInfo
26
+ * @typedef {import("@hiero-ledger/proto").proto.IFixedFee} HieroProto.proto.IFixedFee
27
+ * @typedef {import("@hiero-ledger/proto").proto.ICustomFeeLimit} HieroProto.proto.ICustomFeeLimit
28
28
  */
29
29
 
30
30
  /**
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * @namespace proto
3
- * @typedef {import("@hashgraph/proto").proto.IConsensusSubmitMessageTransactionBody} HieroProto.proto.IConsensusSubmitMessageTransactionBody
4
- * @typedef {import("@hashgraph/proto").proto.ITransaction} HieroProto.proto.ITransaction
5
- * @typedef {import("@hashgraph/proto").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction
6
- * @typedef {import("@hashgraph/proto").proto.TransactionBody} HieroProto.proto.TransactionBody
7
- * @typedef {import("@hashgraph/proto").proto.ITransactionBody} HieroProto.proto.ITransactionBody
8
- * @typedef {import("@hashgraph/proto").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse
9
- * @typedef {import("@hashgraph/proto").proto.IConsensusMessageChunkInfo} HieroProto.proto.IConsensusMessageChunkInfo
10
- * @typedef {import("@hashgraph/proto").proto.IFixedFee} HieroProto.proto.IFixedFee
11
- * @typedef {import("@hashgraph/proto").proto.ICustomFeeLimit} HieroProto.proto.ICustomFeeLimit
3
+ * @typedef {import("@hiero-ledger/proto").proto.IConsensusSubmitMessageTransactionBody} HieroProto.proto.IConsensusSubmitMessageTransactionBody
4
+ * @typedef {import("@hiero-ledger/proto").proto.ITransaction} HieroProto.proto.ITransaction
5
+ * @typedef {import("@hiero-ledger/proto").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction
6
+ * @typedef {import("@hiero-ledger/proto").proto.TransactionBody} HieroProto.proto.TransactionBody
7
+ * @typedef {import("@hiero-ledger/proto").proto.ITransactionBody} HieroProto.proto.ITransactionBody
8
+ * @typedef {import("@hiero-ledger/proto").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse
9
+ * @typedef {import("@hiero-ledger/proto").proto.IConsensusMessageChunkInfo} HieroProto.proto.IConsensusMessageChunkInfo
10
+ * @typedef {import("@hiero-ledger/proto").proto.IFixedFee} HieroProto.proto.IFixedFee
11
+ * @typedef {import("@hiero-ledger/proto").proto.ICustomFeeLimit} HieroProto.proto.ICustomFeeLimit
12
12
  */
13
13
  /**
14
14
  * @typedef {import("../channel/Channel.js").default} Channel
@@ -179,15 +179,15 @@ export default class TopicMessageSubmitTransaction extends Transaction {
179
179
  }
180
180
  export namespace HieroProto {
181
181
  namespace proto {
182
- type IConsensusSubmitMessageTransactionBody = import("@hashgraph/proto").proto.IConsensusSubmitMessageTransactionBody;
183
- type ITransaction = import("@hashgraph/proto").proto.ITransaction;
184
- type ISignedTransaction = import("@hashgraph/proto").proto.ISignedTransaction;
185
- type TransactionBody = import("@hashgraph/proto").proto.TransactionBody;
186
- type ITransactionBody = import("@hashgraph/proto").proto.ITransactionBody;
187
- type ITransactionResponse = import("@hashgraph/proto").proto.ITransactionResponse;
188
- type IConsensusMessageChunkInfo = import("@hashgraph/proto").proto.IConsensusMessageChunkInfo;
189
- type IFixedFee = import("@hashgraph/proto").proto.IFixedFee;
190
- type ICustomFeeLimit = import("@hashgraph/proto").proto.ICustomFeeLimit;
182
+ type IConsensusSubmitMessageTransactionBody = import("@hiero-ledger/proto").proto.IConsensusSubmitMessageTransactionBody;
183
+ type ITransaction = import("@hiero-ledger/proto").proto.ITransaction;
184
+ type ISignedTransaction = import("@hiero-ledger/proto").proto.ISignedTransaction;
185
+ type TransactionBody = import("@hiero-ledger/proto").proto.TransactionBody;
186
+ type ITransactionBody = import("@hiero-ledger/proto").proto.ITransactionBody;
187
+ type ITransactionResponse = import("@hiero-ledger/proto").proto.ITransactionResponse;
188
+ type IConsensusMessageChunkInfo = import("@hiero-ledger/proto").proto.IConsensusMessageChunkInfo;
189
+ type IFixedFee = import("@hiero-ledger/proto").proto.IFixedFee;
190
+ type ICustomFeeLimit = import("@hiero-ledger/proto").proto.ICustomFeeLimit;
191
191
  }
192
192
  }
193
193
  export type Channel = import("../channel/Channel.js").default;
@@ -1 +1 @@
1
- {"version":3,"file":"TopicMessageSubmitTransaction.js","sources":["../../src/topic/TopicMessageSubmitTransaction.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Transaction, {\n TRANSACTION_REGISTRY,\n CHUNK_SIZE,\n} from \"../transaction/Transaction.js\";\nimport TopicId from \"./TopicId.js\";\nimport * as utf8 from \"../encoding/utf8.js\";\nimport TransactionId from \"../transaction/TransactionId.js\";\nimport Timestamp from \"../Timestamp.js\";\nimport * as util from \"../util.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hashgraph/proto\").proto.IConsensusSubmitMessageTransactionBody} HieroProto.proto.IConsensusSubmitMessageTransactionBody\n * @typedef {import(\"@hashgraph/proto\").proto.ITransaction} HieroProto.proto.ITransaction\n * @typedef {import(\"@hashgraph/proto\").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction\n * @typedef {import(\"@hashgraph/proto\").proto.TransactionBody} HieroProto.proto.TransactionBody\n * @typedef {import(\"@hashgraph/proto\").proto.ITransactionBody} HieroProto.proto.ITransactionBody\n * @typedef {import(\"@hashgraph/proto\").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse\n * @typedef {import(\"@hashgraph/proto\").proto.IConsensusMessageChunkInfo} HieroProto.proto.IConsensusMessageChunkInfo\n * @typedef {import(\"@hashgraph/proto\").proto.IFixedFee} HieroProto.proto.IFixedFee\n * @typedef {import(\"@hashgraph/proto\").proto.ICustomFeeLimit} HieroProto.proto.ICustomFeeLimit\n */\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../token/CustomFixedFee.js\").default} CustomFixedFee\n * @typedef {import(\"../account/AccountId.js\").default} AccountId\n * @typedef {import(\"../transaction/TransactionResponse.js\").default} TransactionResponse\n * @typedef {import(\"../schedule/ScheduleCreateTransaction.js\").default} ScheduleCreateTransaction\n * @typedef {import(\"../transaction/CustomFeeLimit.js\").default} CustomFeeLimit\n */\n\n/**\n * <p>\n * Valid and authorized messages on valid topics will be ordered by the\n * consensus service, published in the block stream, and available to all\n * subscribers on this topic via the mirror nodes.<br/>\n * If this transaction succeeds the resulting TransactionReceipt SHALL\n * contain the latest topicSequenceNumber and topicRunningHash for the\n * topic.<br/>\n * If the topic has a `submitKey` then that key MUST sign this\n * transaction.<br/>\n */\nexport default class TopicMessageSubmitTransaction extends Transaction {\n /**\n * @param {object} props\n * @param {TopicId | string} [props.topicId]\n * @param {Uint8Array | string} [props.message]\n * @param {number} [props.maxChunks]\n * @param {number} [props.chunkSize]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {?TopicId}\n */\n this._topicId = null;\n\n if (props.topicId != null) {\n this.setTopicId(props.topicId);\n }\n\n /**\n * @private\n * @type {?Uint8Array}\n */\n this._message = null;\n\n if (props.message != null) {\n this.setMessage(props.message);\n }\n\n /**\n * @private\n * @type {number}\n * The maximum number of chunks a topic message can be split into.\n * Default max chunk size: 20\n * This value can be overridden with `setMaxChunks`\n */\n this._maxChunks = 20;\n\n /**\n * @private\n * @type {number}\n * The size of each chunk for a given topic message in bytes.\n */\n this._chunkSize = CHUNK_SIZE;\n\n if (props.maxChunks != null) {\n this.setMaxChunks(props.maxChunks);\n }\n\n if (props.chunkSize != null) {\n this.setChunkSize(props.chunkSize);\n }\n\n /** @type {HieroProto.proto.IConsensusMessageChunkInfo | null} */\n this._chunkInfo = null;\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ITransaction[]} transactions\n * @param {HieroProto.proto.ISignedTransaction[]} signedTransactions\n * @param {TransactionId[]} transactionIds\n * @param {AccountId[]} nodeIds\n * @param {HieroProto.proto.ITransactionBody[]} bodies\n * @returns {TopicMessageSubmitTransaction}\n */\n static _fromProtobuf(\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n ) {\n const body = bodies[0];\n const message =\n /** @type {HieroProto.proto.IConsensusSubmitMessageTransactionBody} */ (\n body.consensusSubmitMessage\n );\n\n return Transaction._fromProtobufTransactions(\n new TopicMessageSubmitTransaction({\n topicId:\n message.topicID != null\n ? TopicId._fromProtobuf(message.topicID)\n : undefined,\n message: message.message != null ? message.message : undefined,\n }),\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n );\n }\n\n /**\n * @returns {?TopicId}\n */\n get topicId() {\n return this._topicId;\n }\n\n /**\n * @param {TopicId | string} topicId\n * @returns {this}\n */\n setTopicId(topicId) {\n this._requireNotFrozen();\n\n this._topicId =\n typeof topicId === \"string\"\n ? TopicId.fromString(topicId)\n : topicId.clone();\n\n return this;\n }\n\n /**\n * @deprecated - Use `getMessage()` instead\n * @returns {?Uint8Array}\n */\n get message() {\n return this._message;\n }\n\n /**\n * @returns {?Uint8Array}\n */\n getMessage() {\n return this._message;\n }\n\n /**\n * @param {string | Uint8Array} message\n * @returns {this}\n */\n setMessage(message) {\n this._requireNotFrozen();\n message = util.requireStringOrUint8Array(message);\n this._message =\n message instanceof Uint8Array ? message : utf8.encode(message);\n return this;\n }\n\n /**\n * Gets the maximum custom fee that the user is willing to pay for the message.\n * @returns {CustomFeeLimit[]}\n */\n getCustomFeeLimits() {\n return this._customFeeLimits;\n }\n\n /**\n * Sets the maximum custom fee that the user is willing to pay for message submission.\n * @param {CustomFeeLimit[]} customFeeLimits\n * @returns {this}\n */\n setCustomFeeLimits(customFeeLimits) {\n this._requireNotFrozen();\n\n this._customFeeLimits = customFeeLimits;\n\n return this;\n }\n\n /**\n * Adds a maximum custom fee that the user is willing to pay for message submission.\n * @param {CustomFeeLimit} customFeeLimit\n * @returns {this}\n */\n addCustomFeeLimit(customFeeLimit) {\n this._requireNotFrozen();\n\n this._customFeeLimits.push(customFeeLimit);\n\n return this;\n }\n\n /**\n * @deprecated - Use `getMaxChunks()` instead\n * @returns {?number}\n */\n get maxChunks() {\n return this._maxChunks;\n }\n\n /**\n * @returns {?number}\n */\n getMaxChunks() {\n return this._maxChunks;\n }\n\n /**\n * @param {number} maxChunks\n * @returns {this}\n */\n setMaxChunks(maxChunks) {\n this._requireNotFrozen();\n this._maxChunks = maxChunks;\n return this;\n }\n\n /**\n * @deprecated - Use `getChunkSize()` instead\n * @returns {?number}\n */\n get chunkSize() {\n return this._chunkSize;\n }\n\n /**\n * @returns {?number}\n */\n getChunkSize() {\n return this._chunkSize;\n }\n\n /**\n * @param {number} chunkSize\n * @returns {this}\n */\n setChunkSize(chunkSize) {\n this._chunkSize = chunkSize;\n return this;\n }\n\n /**\n * @override\n * @returns {number}\n */\n getRequiredChunks() {\n if (this._message == null) {\n return 1;\n }\n\n const result = Math.ceil(this._message.length / this._chunkSize);\n return result;\n }\n\n /**\n * Freeze this transaction from further modification to prepare for\n * signing or serialization.\n *\n * Will use the `Client`, if available, to generate a default Transaction ID and select 1/3\n * nodes to prepare this transaction for.\n *\n * @param {?import(\"../client/Client.js\").default<Channel, *>} client\n * @returns {this}\n */\n freezeWith(client) {\n super.freezeWith(client);\n\n if (this._message == null) {\n return this;\n }\n\n const chunks = Math.floor(\n (this._message.length + (this._chunkSize - 1)) / this._chunkSize,\n );\n\n if (chunks > this._maxChunks) {\n throw new Error(\n `Message with size ${this._message.length} too long for ${this._maxChunks} chunks`,\n );\n }\n\n const initialTransactionId = this._getTransactionId()._toProtobuf();\n let nextTransactionId = this._getTransactionId();\n\n // Hack around the locked list. Should refactor a bit to remove such code\n this._transactionIds.locked = false;\n\n this._transactions.clear();\n this._transactionIds.clear();\n this._signedTransactions.clear();\n\n for (let chunk = 0; chunk < chunks; chunk++) {\n this._chunkInfo = {\n initialTransactionID: initialTransactionId,\n total: chunks,\n number: chunk + 1,\n };\n\n this._transactionIds.push(nextTransactionId);\n this._transactionIds.advance();\n\n for (const nodeAccountId of this._nodeAccountIds.list) {\n this._signedTransactions.push(\n this._makeSignedTransaction(nodeAccountId),\n );\n }\n\n nextTransactionId = new TransactionId(\n /** @type {AccountId} */ (nextTransactionId.accountId),\n new Timestamp(\n /** @type {Timestamp} */ (\n nextTransactionId.validStart\n ).seconds,\n /** @type {Timestamp} */ (\n nextTransactionId.validStart\n ).nanos.add(1),\n ),\n );\n }\n\n this._transactionIds.advance();\n this._chunkInfo = null;\n\n return this;\n }\n\n /**\n * @returns {ScheduleCreateTransaction}\n */\n schedule() {\n this._requireNotFrozen();\n\n if (this._message != null && this._message.length > this._chunkSize) {\n throw new Error(\n `cannot schedule \\`TopicMessageSubmitTransaction\\` with message over ${this._chunkSize} bytes`,\n );\n }\n\n return super.schedule();\n }\n\n /**\n * @param {import(\"../client/Client.js\").default<Channel, *>} client\n * @param {number=} requestTimeout\n * @returns {Promise<TransactionResponse>}\n */\n async execute(client, requestTimeout) {\n return (await this.executeAll(client, requestTimeout))[0];\n }\n\n /**\n * @param {import(\"../client/Client.js\").default<Channel, *>} client\n * @param {number=} requestTimeout\n * @returns {Promise<TransactionResponse[]>}\n */\n async executeAll(client, requestTimeout) {\n if (!super._isFrozen()) {\n this.freezeWith(client);\n }\n\n // on execute, sign each transaction with the operator, if present\n // and we are signing a transaction that used the default transaction ID\n\n const transactionId = this._getTransactionId();\n const operatorAccountId = client.operatorAccountId;\n\n if (\n operatorAccountId != null &&\n operatorAccountId.equals(\n /** @type {AccountId} */ (transactionId.accountId),\n )\n ) {\n await super.signWithOperator(client);\n }\n\n const responses = [];\n let remainingTimeout = requestTimeout;\n for (let i = 0; i < this._transactionIds.length; i++) {\n const startTimestamp = Date.now();\n responses.push(await super.execute(client, remainingTimeout));\n\n if (remainingTimeout != null) {\n remainingTimeout = Date.now() - startTimestamp;\n }\n }\n\n return responses;\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.ITransaction} request\n * @returns {Promise<HieroProto.proto.ITransactionResponse>}\n */\n _execute(channel, request) {\n return channel.consensus.submitMessage(request);\n }\n\n /**\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n return \"consensusSubmitMessage\";\n }\n\n /**\n * @override\n * @protected\n * @returns {HieroProto.proto.IConsensusSubmitMessageTransactionBody}\n */\n _makeTransactionData() {\n if (this._chunkInfo != null && this._message != null) {\n const num = /** @type {number} */ (this._chunkInfo.number);\n const startIndex = (num - 1) * this._chunkSize;\n let endIndex = startIndex + this._chunkSize;\n\n if (endIndex > this._message.length) {\n endIndex = this._message.length;\n }\n\n return {\n topicID:\n this._topicId != null ? this._topicId._toProtobuf() : null,\n message: this._message.slice(startIndex, endIndex),\n chunkInfo: this._chunkInfo,\n };\n } else {\n return {\n topicID:\n this._topicId != null ? this._topicId._toProtobuf() : null,\n message: this._message,\n };\n }\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp = /** @type {import(\"../Timestamp.js\").default} */ (\n this._transactionIds.current.validStart\n );\n return `TopicMessageSubmitTransaction:${timestamp.toString()}`;\n }\n}\n\nTRANSACTION_REGISTRY.set(\n \"consensusSubmitMessage\",\n // eslint-disable-next-line @typescript-eslint/unbound-method\n TopicMessageSubmitTransaction._fromProtobuf,\n);\n"],"names":["TopicMessageSubmitTransaction","Transaction","constructor","props","super","this","_topicId","topicId","setTopicId","_message","message","setMessage","_maxChunks","_chunkSize","CHUNK_SIZE","maxChunks","setMaxChunks","chunkSize","setChunkSize","_chunkInfo","_fromProtobuf","transactions","signedTransactions","transactionIds","nodeIds","bodies","_fromProtobufTransactions","topicID","TopicId","undefined","_requireNotFrozen","fromString","clone","getMessage","util.requireStringOrUint8Array","Uint8Array","utf8.encode","getCustomFeeLimits","_customFeeLimits","setCustomFeeLimits","customFeeLimits","addCustomFeeLimit","customFeeLimit","push","getMaxChunks","getChunkSize","getRequiredChunks","Math","ceil","length","freezeWith","client","chunks","floor","Error","initialTransactionId","_getTransactionId","_toProtobuf","nextTransactionId","_transactionIds","locked","_transactions","clear","_signedTransactions","chunk","initialTransactionID","total","number","advance","nodeAccountId","_nodeAccountIds","list","_makeSignedTransaction","TransactionId","Timestamp","seconds","nanos","add","schedule","execute","requestTimeout","executeAll","_isFrozen","transactionId","operatorAccountId","equals","signWithOperator","responses","remainingTimeout","i","startTimestamp","Date","now","_execute","channel","request","consensus","submitMessage","_getTransactionDataCase","_makeTransactionData","startIndex","endIndex","slice","chunkInfo","_getLogId","current","toString","TRANSACTION_REGISTRY","set"],"mappings":"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"}
1
+ {"version":3,"file":"TopicMessageSubmitTransaction.js","sources":["../../src/topic/TopicMessageSubmitTransaction.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Transaction, {\n TRANSACTION_REGISTRY,\n CHUNK_SIZE,\n} from \"../transaction/Transaction.js\";\nimport TopicId from \"./TopicId.js\";\nimport * as utf8 from \"../encoding/utf8.js\";\nimport TransactionId from \"../transaction/TransactionId.js\";\nimport Timestamp from \"../Timestamp.js\";\nimport * as util from \"../util.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IConsensusSubmitMessageTransactionBody} HieroProto.proto.IConsensusSubmitMessageTransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransaction} HieroProto.proto.ITransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.TransactionBody} HieroProto.proto.TransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionBody} HieroProto.proto.ITransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.IConsensusMessageChunkInfo} HieroProto.proto.IConsensusMessageChunkInfo\n * @typedef {import(\"@hiero-ledger/proto\").proto.IFixedFee} HieroProto.proto.IFixedFee\n * @typedef {import(\"@hiero-ledger/proto\").proto.ICustomFeeLimit} HieroProto.proto.ICustomFeeLimit\n */\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../token/CustomFixedFee.js\").default} CustomFixedFee\n * @typedef {import(\"../account/AccountId.js\").default} AccountId\n * @typedef {import(\"../transaction/TransactionResponse.js\").default} TransactionResponse\n * @typedef {import(\"../schedule/ScheduleCreateTransaction.js\").default} ScheduleCreateTransaction\n * @typedef {import(\"../transaction/CustomFeeLimit.js\").default} CustomFeeLimit\n */\n\n/**\n * <p>\n * Valid and authorized messages on valid topics will be ordered by the\n * consensus service, published in the block stream, and available to all\n * subscribers on this topic via the mirror nodes.<br/>\n * If this transaction succeeds the resulting TransactionReceipt SHALL\n * contain the latest topicSequenceNumber and topicRunningHash for the\n * topic.<br/>\n * If the topic has a `submitKey` then that key MUST sign this\n * transaction.<br/>\n */\nexport default class TopicMessageSubmitTransaction extends Transaction {\n /**\n * @param {object} props\n * @param {TopicId | string} [props.topicId]\n * @param {Uint8Array | string} [props.message]\n * @param {number} [props.maxChunks]\n * @param {number} [props.chunkSize]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {?TopicId}\n */\n this._topicId = null;\n\n if (props.topicId != null) {\n this.setTopicId(props.topicId);\n }\n\n /**\n * @private\n * @type {?Uint8Array}\n */\n this._message = null;\n\n if (props.message != null) {\n this.setMessage(props.message);\n }\n\n /**\n * @private\n * @type {number}\n * The maximum number of chunks a topic message can be split into.\n * Default max chunk size: 20\n * This value can be overridden with `setMaxChunks`\n */\n this._maxChunks = 20;\n\n /**\n * @private\n * @type {number}\n * The size of each chunk for a given topic message in bytes.\n */\n this._chunkSize = CHUNK_SIZE;\n\n if (props.maxChunks != null) {\n this.setMaxChunks(props.maxChunks);\n }\n\n if (props.chunkSize != null) {\n this.setChunkSize(props.chunkSize);\n }\n\n /** @type {HieroProto.proto.IConsensusMessageChunkInfo | null} */\n this._chunkInfo = null;\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ITransaction[]} transactions\n * @param {HieroProto.proto.ISignedTransaction[]} signedTransactions\n * @param {TransactionId[]} transactionIds\n * @param {AccountId[]} nodeIds\n * @param {HieroProto.proto.ITransactionBody[]} bodies\n * @returns {TopicMessageSubmitTransaction}\n */\n static _fromProtobuf(\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n ) {\n const body = bodies[0];\n const message =\n /** @type {HieroProto.proto.IConsensusSubmitMessageTransactionBody} */ (\n body.consensusSubmitMessage\n );\n\n return Transaction._fromProtobufTransactions(\n new TopicMessageSubmitTransaction({\n topicId:\n message.topicID != null\n ? TopicId._fromProtobuf(message.topicID)\n : undefined,\n message: message.message != null ? message.message : undefined,\n }),\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n );\n }\n\n /**\n * @returns {?TopicId}\n */\n get topicId() {\n return this._topicId;\n }\n\n /**\n * @param {TopicId | string} topicId\n * @returns {this}\n */\n setTopicId(topicId) {\n this._requireNotFrozen();\n\n this._topicId =\n typeof topicId === \"string\"\n ? TopicId.fromString(topicId)\n : topicId.clone();\n\n return this;\n }\n\n /**\n * @deprecated - Use `getMessage()` instead\n * @returns {?Uint8Array}\n */\n get message() {\n return this._message;\n }\n\n /**\n * @returns {?Uint8Array}\n */\n getMessage() {\n return this._message;\n }\n\n /**\n * @param {string | Uint8Array} message\n * @returns {this}\n */\n setMessage(message) {\n this._requireNotFrozen();\n message = util.requireStringOrUint8Array(message);\n this._message =\n message instanceof Uint8Array ? message : utf8.encode(message);\n return this;\n }\n\n /**\n * Gets the maximum custom fee that the user is willing to pay for the message.\n * @returns {CustomFeeLimit[]}\n */\n getCustomFeeLimits() {\n return this._customFeeLimits;\n }\n\n /**\n * Sets the maximum custom fee that the user is willing to pay for message submission.\n * @param {CustomFeeLimit[]} customFeeLimits\n * @returns {this}\n */\n setCustomFeeLimits(customFeeLimits) {\n this._requireNotFrozen();\n\n this._customFeeLimits = customFeeLimits;\n\n return this;\n }\n\n /**\n * Adds a maximum custom fee that the user is willing to pay for message submission.\n * @param {CustomFeeLimit} customFeeLimit\n * @returns {this}\n */\n addCustomFeeLimit(customFeeLimit) {\n this._requireNotFrozen();\n\n this._customFeeLimits.push(customFeeLimit);\n\n return this;\n }\n\n /**\n * @deprecated - Use `getMaxChunks()` instead\n * @returns {?number}\n */\n get maxChunks() {\n return this._maxChunks;\n }\n\n /**\n * @returns {?number}\n */\n getMaxChunks() {\n return this._maxChunks;\n }\n\n /**\n * @param {number} maxChunks\n * @returns {this}\n */\n setMaxChunks(maxChunks) {\n this._requireNotFrozen();\n this._maxChunks = maxChunks;\n return this;\n }\n\n /**\n * @deprecated - Use `getChunkSize()` instead\n * @returns {?number}\n */\n get chunkSize() {\n return this._chunkSize;\n }\n\n /**\n * @returns {?number}\n */\n getChunkSize() {\n return this._chunkSize;\n }\n\n /**\n * @param {number} chunkSize\n * @returns {this}\n */\n setChunkSize(chunkSize) {\n this._chunkSize = chunkSize;\n return this;\n }\n\n /**\n * @override\n * @returns {number}\n */\n getRequiredChunks() {\n if (this._message == null) {\n return 1;\n }\n\n const result = Math.ceil(this._message.length / this._chunkSize);\n return result;\n }\n\n /**\n * Freeze this transaction from further modification to prepare for\n * signing or serialization.\n *\n * Will use the `Client`, if available, to generate a default Transaction ID and select 1/3\n * nodes to prepare this transaction for.\n *\n * @param {?import(\"../client/Client.js\").default<Channel, *>} client\n * @returns {this}\n */\n freezeWith(client) {\n super.freezeWith(client);\n\n if (this._message == null) {\n return this;\n }\n\n const chunks = Math.floor(\n (this._message.length + (this._chunkSize - 1)) / this._chunkSize,\n );\n\n if (chunks > this._maxChunks) {\n throw new Error(\n `Message with size ${this._message.length} too long for ${this._maxChunks} chunks`,\n );\n }\n\n const initialTransactionId = this._getTransactionId()._toProtobuf();\n let nextTransactionId = this._getTransactionId();\n\n // Hack around the locked list. Should refactor a bit to remove such code\n this._transactionIds.locked = false;\n\n this._transactions.clear();\n this._transactionIds.clear();\n this._signedTransactions.clear();\n\n for (let chunk = 0; chunk < chunks; chunk++) {\n this._chunkInfo = {\n initialTransactionID: initialTransactionId,\n total: chunks,\n number: chunk + 1,\n };\n\n this._transactionIds.push(nextTransactionId);\n this._transactionIds.advance();\n\n for (const nodeAccountId of this._nodeAccountIds.list) {\n this._signedTransactions.push(\n this._makeSignedTransaction(nodeAccountId),\n );\n }\n\n nextTransactionId = new TransactionId(\n /** @type {AccountId} */ (nextTransactionId.accountId),\n new Timestamp(\n /** @type {Timestamp} */ (\n nextTransactionId.validStart\n ).seconds,\n /** @type {Timestamp} */ (\n nextTransactionId.validStart\n ).nanos.add(1),\n ),\n );\n }\n\n this._transactionIds.advance();\n this._chunkInfo = null;\n\n return this;\n }\n\n /**\n * @returns {ScheduleCreateTransaction}\n */\n schedule() {\n this._requireNotFrozen();\n\n if (this._message != null && this._message.length > this._chunkSize) {\n throw new Error(\n `cannot schedule \\`TopicMessageSubmitTransaction\\` with message over ${this._chunkSize} bytes`,\n );\n }\n\n return super.schedule();\n }\n\n /**\n * @param {import(\"../client/Client.js\").default<Channel, *>} client\n * @param {number=} requestTimeout\n * @returns {Promise<TransactionResponse>}\n */\n async execute(client, requestTimeout) {\n return (await this.executeAll(client, requestTimeout))[0];\n }\n\n /**\n * @param {import(\"../client/Client.js\").default<Channel, *>} client\n * @param {number=} requestTimeout\n * @returns {Promise<TransactionResponse[]>}\n */\n async executeAll(client, requestTimeout) {\n if (!super._isFrozen()) {\n this.freezeWith(client);\n }\n\n // on execute, sign each transaction with the operator, if present\n // and we are signing a transaction that used the default transaction ID\n\n const transactionId = this._getTransactionId();\n const operatorAccountId = client.operatorAccountId;\n\n if (\n operatorAccountId != null &&\n operatorAccountId.equals(\n /** @type {AccountId} */ (transactionId.accountId),\n )\n ) {\n await super.signWithOperator(client);\n }\n\n const responses = [];\n let remainingTimeout = requestTimeout;\n for (let i = 0; i < this._transactionIds.length; i++) {\n const startTimestamp = Date.now();\n responses.push(await super.execute(client, remainingTimeout));\n\n if (remainingTimeout != null) {\n remainingTimeout = Date.now() - startTimestamp;\n }\n }\n\n return responses;\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.ITransaction} request\n * @returns {Promise<HieroProto.proto.ITransactionResponse>}\n */\n _execute(channel, request) {\n return channel.consensus.submitMessage(request);\n }\n\n /**\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n return \"consensusSubmitMessage\";\n }\n\n /**\n * @override\n * @protected\n * @returns {HieroProto.proto.IConsensusSubmitMessageTransactionBody}\n */\n _makeTransactionData() {\n if (this._chunkInfo != null && this._message != null) {\n const num = /** @type {number} */ (this._chunkInfo.number);\n const startIndex = (num - 1) * this._chunkSize;\n let endIndex = startIndex + this._chunkSize;\n\n if (endIndex > this._message.length) {\n endIndex = this._message.length;\n }\n\n return {\n topicID:\n this._topicId != null ? this._topicId._toProtobuf() : null,\n message: this._message.slice(startIndex, endIndex),\n chunkInfo: this._chunkInfo,\n };\n } else {\n return {\n topicID:\n this._topicId != null ? this._topicId._toProtobuf() : null,\n message: this._message,\n };\n }\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp = /** @type {import(\"../Timestamp.js\").default} */ (\n this._transactionIds.current.validStart\n );\n return `TopicMessageSubmitTransaction:${timestamp.toString()}`;\n }\n}\n\nTRANSACTION_REGISTRY.set(\n \"consensusSubmitMessage\",\n // eslint-disable-next-line @typescript-eslint/unbound-method\n TopicMessageSubmitTransaction._fromProtobuf,\n);\n"],"names":["TopicMessageSubmitTransaction","Transaction","constructor","props","super","this","_topicId","topicId","setTopicId","_message","message","setMessage","_maxChunks","_chunkSize","CHUNK_SIZE","maxChunks","setMaxChunks","chunkSize","setChunkSize","_chunkInfo","_fromProtobuf","transactions","signedTransactions","transactionIds","nodeIds","bodies","_fromProtobufTransactions","topicID","TopicId","undefined","_requireNotFrozen","fromString","clone","getMessage","util.requireStringOrUint8Array","Uint8Array","utf8.encode","getCustomFeeLimits","_customFeeLimits","setCustomFeeLimits","customFeeLimits","addCustomFeeLimit","customFeeLimit","push","getMaxChunks","getChunkSize","getRequiredChunks","Math","ceil","length","freezeWith","client","chunks","floor","Error","initialTransactionId","_getTransactionId","_toProtobuf","nextTransactionId","_transactionIds","locked","_transactions","clear","_signedTransactions","chunk","initialTransactionID","total","number","advance","nodeAccountId","_nodeAccountIds","list","_makeSignedTransaction","TransactionId","Timestamp","seconds","nanos","add","schedule","execute","requestTimeout","executeAll","_isFrozen","transactionId","operatorAccountId","equals","signWithOperator","responses","remainingTimeout","i","startTimestamp","Date","now","_execute","channel","request","consensus","submitMessage","_getTransactionDataCase","_makeTransactionData","startIndex","endIndex","slice","chunkInfo","_getLogId","current","toString","TRANSACTION_REGISTRY","set"],"mappings":"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"}