@hiero-ledger/sdk 2.80.0 → 2.81.0

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 (400) hide show
  1. package/README.md +107 -64
  2. package/dist/umd.js +444 -217
  3. package/dist/umd.js.map +1 -0
  4. package/dist/umd.min.js +8 -7
  5. package/dist/umd.min.js.map +1 -0
  6. package/lib/BadEntityIdError.js.map +1 -1
  7. package/lib/Cache.js.map +1 -1
  8. package/lib/Duration.js.map +1 -1
  9. package/lib/EntityIdHelper.js.map +1 -1
  10. package/lib/EthereumFlow.js.map +1 -1
  11. package/lib/EthereumTransaction.d.ts +4 -0
  12. package/lib/EthereumTransaction.js.map +1 -1
  13. package/lib/EthereumTransactionData.js.map +1 -1
  14. package/lib/EthereumTransactionDataEip1559.js.map +1 -1
  15. package/lib/EthereumTransactionDataEip2930.js.map +1 -1
  16. package/lib/EthereumTransactionDataEip7702.js.map +1 -1
  17. package/lib/EthereumTransactionDataLegacy.js.map +1 -1
  18. package/lib/EvmAddress.js.map +1 -1
  19. package/lib/ExchangeRate.js.map +1 -1
  20. package/lib/ExchangeRates.js.map +1 -1
  21. package/lib/Executable.cjs +8 -5
  22. package/lib/Executable.js +1 -1
  23. package/lib/Executable.js.map +1 -1
  24. package/lib/FeeComponents.js.map +1 -1
  25. package/lib/FeeData.js.map +1 -1
  26. package/lib/FeeDataType.js.map +1 -1
  27. package/lib/FeeSchedule.js.map +1 -1
  28. package/lib/FeeSchedules.js.map +1 -1
  29. package/lib/FreezeType.js.map +1 -1
  30. package/lib/Hbar.js.map +1 -1
  31. package/lib/HbarUnit.js.map +1 -1
  32. package/lib/Key.js.map +1 -1
  33. package/lib/KeyList.js.map +1 -1
  34. package/lib/LedgerId.js.map +1 -1
  35. package/lib/LocalProvider.js.map +1 -1
  36. package/lib/LocalProviderWeb.js.map +1 -1
  37. package/lib/ManagedNode.js.map +1 -1
  38. package/lib/ManagedNodeAddress.js.map +1 -1
  39. package/lib/MaxAttemptsOrTimeoutError.js.map +1 -1
  40. package/lib/MaxQueryPaymentExceeded.js.map +1 -1
  41. package/lib/MirrorNode.js.map +1 -1
  42. package/lib/Mnemonic.js.map +1 -1
  43. package/lib/Node.js.map +1 -1
  44. package/lib/ObjectMap.js.map +1 -1
  45. package/lib/PrecheckStatusError.js.map +1 -1
  46. package/lib/PrivateKey.js.map +1 -1
  47. package/lib/PrngTransaction.d.ts +4 -0
  48. package/lib/PrngTransaction.js.map +1 -1
  49. package/lib/Provider.js.map +1 -1
  50. package/lib/PublicKey.js.map +1 -1
  51. package/lib/ReceiptStatusError.js.map +1 -1
  52. package/lib/RecordStatusError.js.map +1 -1
  53. package/lib/RequestType.js.map +1 -1
  54. package/lib/Signer.js.map +1 -1
  55. package/lib/SignerSignature.js.map +1 -1
  56. package/lib/StakingInfo.js.map +1 -1
  57. package/lib/Status.js.map +1 -1
  58. package/lib/StatusError.js.map +1 -1
  59. package/lib/Timestamp.js.map +1 -1
  60. package/lib/TransactionFeeSchedule.js.map +1 -1
  61. package/lib/Transfer.js.map +1 -1
  62. package/lib/Wallet.js.map +1 -1
  63. package/lib/account/AccountAllowanceAdjustTransaction.cjs +2 -1
  64. package/lib/account/AccountAllowanceAdjustTransaction.d.ts +4 -2
  65. package/lib/account/AccountAllowanceAdjustTransaction.js.map +1 -1
  66. package/lib/account/AccountAllowanceApproveTransaction.cjs +2 -1
  67. package/lib/account/AccountAllowanceApproveTransaction.d.ts +4 -2
  68. package/lib/account/AccountAllowanceApproveTransaction.js.map +1 -1
  69. package/lib/account/AccountAllowanceDeleteTransaction.cjs +2 -1
  70. package/lib/account/AccountAllowanceDeleteTransaction.d.ts +4 -2
  71. package/lib/account/AccountAllowanceDeleteTransaction.js.map +1 -1
  72. package/lib/account/AccountBalance.cjs +6 -15
  73. package/lib/account/AccountBalance.d.ts +2 -2
  74. package/lib/account/AccountBalance.js +1 -1
  75. package/lib/account/AccountBalance.js.map +1 -1
  76. package/lib/account/AccountBalanceQuery.cjs +5 -10
  77. package/lib/account/AccountBalanceQuery.d.ts +15 -2
  78. package/lib/account/AccountBalanceQuery.js +1 -1
  79. package/lib/account/AccountBalanceQuery.js.map +1 -1
  80. package/lib/account/AccountCreateTransaction.cjs +2 -1
  81. package/lib/account/AccountCreateTransaction.d.ts +4 -2
  82. package/lib/account/AccountCreateTransaction.js.map +1 -1
  83. package/lib/account/AccountDeleteTransaction.cjs +2 -1
  84. package/lib/account/AccountDeleteTransaction.d.ts +4 -2
  85. package/lib/account/AccountDeleteTransaction.js.map +1 -1
  86. package/lib/account/AccountId.js.map +1 -1
  87. package/lib/account/AccountInfo.js.map +1 -1
  88. package/lib/account/AccountInfoFlow.js.map +1 -1
  89. package/lib/account/AccountInfoQuery.cjs +2 -1
  90. package/lib/account/AccountInfoQuery.d.ts +8 -2
  91. package/lib/account/AccountInfoQuery.js.map +1 -1
  92. package/lib/account/AccountRecordsQuery.cjs +2 -1
  93. package/lib/account/AccountRecordsQuery.d.ts +8 -2
  94. package/lib/account/AccountRecordsQuery.js.map +1 -1
  95. package/lib/account/AccountUpdateTransaction.cjs +2 -1
  96. package/lib/account/AccountUpdateTransaction.d.ts +4 -2
  97. package/lib/account/AccountUpdateTransaction.js.map +1 -1
  98. package/lib/account/HbarAllowance.cjs +3 -1
  99. package/lib/account/HbarAllowance.d.ts +6 -2
  100. package/lib/account/HbarAllowance.js.map +1 -1
  101. package/lib/account/HbarTransferMap.js.map +1 -1
  102. package/lib/account/LiveHash.js.map +1 -1
  103. package/lib/account/LiveHashAddTransaction.cjs +2 -1
  104. package/lib/account/LiveHashAddTransaction.d.ts +4 -2
  105. package/lib/account/LiveHashAddTransaction.js.map +1 -1
  106. package/lib/account/LiveHashDeleteTransaction.cjs +2 -1
  107. package/lib/account/LiveHashDeleteTransaction.d.ts +4 -2
  108. package/lib/account/LiveHashDeleteTransaction.js.map +1 -1
  109. package/lib/account/LiveHashQuery.cjs +2 -1
  110. package/lib/account/LiveHashQuery.d.ts +8 -2
  111. package/lib/account/LiveHashQuery.js.map +1 -1
  112. package/lib/account/NullableTokenDecimalMap.js.map +1 -1
  113. package/lib/account/ProxyStaker.js.map +1 -1
  114. package/lib/account/TokenAllowance.cjs +3 -1
  115. package/lib/account/TokenAllowance.d.ts +6 -2
  116. package/lib/account/TokenAllowance.js.map +1 -1
  117. package/lib/account/TokenBalanceMap.js.map +1 -1
  118. package/lib/account/TokenDecimalMap.js.map +1 -1
  119. package/lib/account/TokenNftAllowance.cjs +3 -1
  120. package/lib/account/TokenNftAllowance.d.ts +6 -2
  121. package/lib/account/TokenNftAllowance.js.map +1 -1
  122. package/lib/account/TokenNftTransferMap.js.map +1 -1
  123. package/lib/account/TokenRelationship.js.map +1 -1
  124. package/lib/account/TokenRelationshipMap.js.map +1 -1
  125. package/lib/account/TokenTransferAccountMap.js.map +1 -1
  126. package/lib/account/TokenTransferMap.js.map +1 -1
  127. package/lib/account/TransferTransaction.cjs +6 -5
  128. package/lib/account/TransferTransaction.d.ts +6 -2
  129. package/lib/account/TransferTransaction.js +1 -1
  130. package/lib/account/TransferTransaction.js.map +1 -1
  131. package/lib/address_book/Endpoint.js.map +1 -1
  132. package/lib/address_book/IPv4Address.js.map +1 -1
  133. package/lib/address_book/IPv4AddressPart.js.map +1 -1
  134. package/lib/address_book/NodeAddress.js.map +1 -1
  135. package/lib/address_book/NodeAddressBook.js.map +1 -1
  136. package/lib/base32.js.map +1 -1
  137. package/lib/browser.js +1 -1
  138. package/lib/channel/Channel.js.map +1 -1
  139. package/lib/channel/MirrorChannel.js.map +1 -1
  140. package/lib/channel/NativeChannel.js.map +1 -1
  141. package/lib/channel/NodeChannel.js.map +1 -1
  142. package/lib/channel/NodeMirrorChannel.js.map +1 -1
  143. package/lib/channel/WebChannel.js.map +1 -1
  144. package/lib/client/Client.cjs +38 -0
  145. package/lib/client/Client.d.ts +30 -0
  146. package/lib/client/Client.js +1 -1
  147. package/lib/client/Client.js.map +1 -1
  148. package/lib/client/ManagedNetwork.js.map +1 -1
  149. package/lib/client/MirrorNetwork.js.map +1 -1
  150. package/lib/client/NativeClient.js.map +1 -1
  151. package/lib/client/Network.js.map +1 -1
  152. package/lib/client/NodeClient.js.map +1 -1
  153. package/lib/client/WebClient.js.map +1 -1
  154. package/lib/client/addressbooks/mainnet.cjs +1 -1
  155. package/lib/client/addressbooks/mainnet.d.ts +1 -1
  156. package/lib/client/addressbooks/mainnet.js +1 -1
  157. package/lib/client/addressbooks/mainnet.js.map +1 -1
  158. package/lib/client/addressbooks/previewnet.cjs +1 -1
  159. package/lib/client/addressbooks/previewnet.d.ts +1 -1
  160. package/lib/client/addressbooks/previewnet.js +1 -1
  161. package/lib/client/addressbooks/previewnet.js.map +1 -1
  162. package/lib/client/addressbooks/testnet.cjs +1 -1
  163. package/lib/client/addressbooks/testnet.d.ts +1 -1
  164. package/lib/client/addressbooks/testnet.js +1 -1
  165. package/lib/client/addressbooks/testnet.js.map +1 -1
  166. package/lib/constants/ClientConstants.js.map +1 -1
  167. package/lib/contract/ContractByteCodeQuery.js.map +1 -1
  168. package/lib/contract/ContractCallQuery.js.map +1 -1
  169. package/lib/contract/ContractCreateFlow.js.map +1 -1
  170. package/lib/contract/ContractCreateTransaction.cjs +2 -1
  171. package/lib/contract/ContractCreateTransaction.d.ts +4 -2
  172. package/lib/contract/ContractCreateTransaction.js.map +1 -1
  173. package/lib/contract/ContractDeleteTransaction.cjs +2 -1
  174. package/lib/contract/ContractDeleteTransaction.d.ts +4 -2
  175. package/lib/contract/ContractDeleteTransaction.js.map +1 -1
  176. package/lib/contract/ContractExecuteTransaction.d.ts +4 -0
  177. package/lib/contract/ContractExecuteTransaction.js.map +1 -1
  178. package/lib/contract/ContractFunctionParameters.js.map +1 -1
  179. package/lib/contract/ContractFunctionResult.js.map +1 -1
  180. package/lib/contract/ContractFunctionSelector.js.map +1 -1
  181. package/lib/contract/ContractId.js.map +1 -1
  182. package/lib/contract/ContractInfo.js.map +1 -1
  183. package/lib/contract/ContractInfoQuery.js.map +1 -1
  184. package/lib/contract/ContractLogInfo.js.map +1 -1
  185. package/lib/contract/ContractNonceInfo.js.map +1 -1
  186. package/lib/contract/ContractUpdateTransaction.cjs +2 -1
  187. package/lib/contract/ContractUpdateTransaction.d.ts +4 -2
  188. package/lib/contract/ContractUpdateTransaction.js.map +1 -1
  189. package/lib/contract/DelegateContractId.js.map +1 -1
  190. package/lib/cryptography/keccak.js.map +1 -1
  191. package/lib/encoding/hex.js.map +1 -1
  192. package/lib/file/FileAppendTransaction.cjs +5 -4
  193. package/lib/file/FileAppendTransaction.d.ts +10 -12
  194. package/lib/file/FileAppendTransaction.js.map +1 -1
  195. package/lib/file/FileContentsQuery.js.map +1 -1
  196. package/lib/file/FileCreateTransaction.js.map +1 -1
  197. package/lib/file/FileDeleteTransaction.d.ts +4 -0
  198. package/lib/file/FileDeleteTransaction.js.map +1 -1
  199. package/lib/file/FileId.js.map +1 -1
  200. package/lib/file/FileInfo.js.map +1 -1
  201. package/lib/file/FileInfoQuery.js.map +1 -1
  202. package/lib/file/FileUpdateTransaction.d.ts +4 -0
  203. package/lib/file/FileUpdateTransaction.js.map +1 -1
  204. package/lib/grpc/GrpcServiceError.js.map +1 -1
  205. package/lib/grpc/GrpcStatus.js.map +1 -1
  206. package/lib/http/HttpError.js.map +1 -1
  207. package/lib/http/HttpStatus.js.map +1 -1
  208. package/lib/index.js +1 -1
  209. package/lib/logger/LogLevel.js.map +1 -1
  210. package/lib/logger/Logger.js.map +1 -1
  211. package/lib/native.js +1 -1
  212. package/lib/network/AddressBookQuery.js.map +1 -1
  213. package/lib/network/AddressBookQueryWeb.js.map +1 -1
  214. package/lib/network/NetworkVersionInfo.js.map +1 -1
  215. package/lib/network/NetworkVersionInfoQuery.js.map +1 -1
  216. package/lib/network/SemanticVersion.js.map +1 -1
  217. package/lib/node/NodeCreateTransaction.js.map +1 -1
  218. package/lib/node/NodeDeleteTransaction.js.map +1 -1
  219. package/lib/node/NodeUpdateTransaction.js.map +1 -1
  220. package/lib/node/ServiceEndpoint.js.map +1 -1
  221. package/lib/query/CostQuery.js.map +1 -1
  222. package/lib/query/MirrorNodeContractCallQuery.js.map +1 -1
  223. package/lib/query/MirrorNodeContractEstimateQuery.js.map +1 -1
  224. package/lib/query/MirrorNodeContractQuery.js.map +1 -1
  225. package/lib/query/Query.js.map +1 -1
  226. package/lib/query/QueryBase.js.map +1 -1
  227. package/lib/schedule/ScheduleCreateTransaction.cjs +2 -1
  228. package/lib/schedule/ScheduleCreateTransaction.d.ts +4 -2
  229. package/lib/schedule/ScheduleCreateTransaction.js.map +1 -1
  230. package/lib/schedule/ScheduleDeleteTransaction.d.ts +4 -0
  231. package/lib/schedule/ScheduleDeleteTransaction.js.map +1 -1
  232. package/lib/schedule/ScheduleId.js.map +1 -1
  233. package/lib/schedule/ScheduleInfo.js.map +1 -1
  234. package/lib/schedule/ScheduleInfoQuery.js.map +1 -1
  235. package/lib/schedule/ScheduleSignTransaction.d.ts +4 -0
  236. package/lib/schedule/ScheduleSignTransaction.js.map +1 -1
  237. package/lib/system/FreezeTransaction.js.map +1 -1
  238. package/lib/system/SystemDeleteTransaction.js.map +1 -1
  239. package/lib/system/SystemUndeleteTransaction.js.map +1 -1
  240. package/lib/token/AbstractTokenTransferTransaction.js.map +1 -1
  241. package/lib/token/AirdropPendingTransaction.js.map +1 -1
  242. package/lib/token/AssessedCustomFee.js.map +1 -1
  243. package/lib/token/CustomFee.js.map +1 -1
  244. package/lib/token/CustomFixedFee.js.map +1 -1
  245. package/lib/token/CustomFractionalFee.js.map +1 -1
  246. package/lib/token/CustomRoyaltyFee.js.map +1 -1
  247. package/lib/token/FeeAssessmentMethod.js.map +1 -1
  248. package/lib/token/NftId.js.map +1 -1
  249. package/lib/token/PendingAirdropId.js.map +1 -1
  250. package/lib/token/PendingAirdropRecord.js.map +1 -1
  251. package/lib/token/TokenAirdropTransaction.js.map +1 -1
  252. package/lib/token/TokenAssociateTransaction.cjs +2 -1
  253. package/lib/token/TokenAssociateTransaction.d.ts +4 -2
  254. package/lib/token/TokenAssociateTransaction.js.map +1 -1
  255. package/lib/token/TokenAssociation.js.map +1 -1
  256. package/lib/token/TokenBurnTransaction.d.ts +4 -0
  257. package/lib/token/TokenBurnTransaction.js.map +1 -1
  258. package/lib/token/TokenCancelAirdropTransaction.js.map +1 -1
  259. package/lib/token/TokenClaimAirdropTransaction.js.map +1 -1
  260. package/lib/token/TokenCreateTransaction.cjs +2 -1
  261. package/lib/token/TokenCreateTransaction.d.ts +4 -2
  262. package/lib/token/TokenCreateTransaction.js.map +1 -1
  263. package/lib/token/TokenDeleteTransaction.d.ts +4 -0
  264. package/lib/token/TokenDeleteTransaction.js.map +1 -1
  265. package/lib/token/TokenDissociateTransaction.cjs +2 -1
  266. package/lib/token/TokenDissociateTransaction.d.ts +4 -2
  267. package/lib/token/TokenDissociateTransaction.js.map +1 -1
  268. package/lib/token/TokenFeeScheduleUpdateTransaction.js.map +1 -1
  269. package/lib/token/TokenFreezeTransaction.cjs +2 -1
  270. package/lib/token/TokenFreezeTransaction.d.ts +4 -2
  271. package/lib/token/TokenFreezeTransaction.js.map +1 -1
  272. package/lib/token/TokenGrantKycTransaction.cjs +2 -1
  273. package/lib/token/TokenGrantKycTransaction.d.ts +4 -2
  274. package/lib/token/TokenGrantKycTransaction.js.map +1 -1
  275. package/lib/token/TokenId.js.map +1 -1
  276. package/lib/token/TokenInfo.js.map +1 -1
  277. package/lib/token/TokenInfoQuery.js.map +1 -1
  278. package/lib/token/TokenKeyValidation.js.map +1 -1
  279. package/lib/token/TokenMintTransaction.d.ts +4 -0
  280. package/lib/token/TokenMintTransaction.js.map +1 -1
  281. package/lib/token/TokenNftInfo.js.map +1 -1
  282. package/lib/token/TokenNftInfoQuery.js.map +1 -1
  283. package/lib/token/TokenNftTransfer.js.map +1 -1
  284. package/lib/token/TokenNftsUpdateTransaction.d.ts +4 -0
  285. package/lib/token/TokenPauseTransaction.d.ts +4 -0
  286. package/lib/token/TokenPauseTransaction.js.map +1 -1
  287. package/lib/token/TokenReference.js.map +1 -1
  288. package/lib/token/TokenRejectFlow.cjs +3 -1
  289. package/lib/token/TokenRejectFlow.d.ts +6 -2
  290. package/lib/token/TokenRejectFlow.js.map +1 -1
  291. package/lib/token/TokenRejectTransaction.js.map +1 -1
  292. package/lib/token/TokenRevokeKycTransaction.cjs +2 -1
  293. package/lib/token/TokenRevokeKycTransaction.d.ts +4 -2
  294. package/lib/token/TokenRevokeKycTransaction.js.map +1 -1
  295. package/lib/token/TokenSupplyType.js.map +1 -1
  296. package/lib/token/TokenTransfer.js.map +1 -1
  297. package/lib/token/TokenType.js.map +1 -1
  298. package/lib/token/TokenUnfreezeTransaction.cjs +2 -1
  299. package/lib/token/TokenUnfreezeTransaction.d.ts +4 -2
  300. package/lib/token/TokenUnfreezeTransaction.js.map +1 -1
  301. package/lib/token/TokenUnpauseTransaction.d.ts +4 -0
  302. package/lib/token/TokenUnpauseTransaction.js.map +1 -1
  303. package/lib/token/TokenUpdateNftsTransaction.d.ts +4 -0
  304. package/lib/token/TokenUpdateNftsTransaction.js.map +1 -1
  305. package/lib/token/TokenUpdateTransaction.cjs +2 -1
  306. package/lib/token/TokenUpdateTransaction.d.ts +4 -2
  307. package/lib/token/TokenUpdateTransaction.js.map +1 -1
  308. package/lib/token/TokenWipeTransaction.cjs +2 -1
  309. package/lib/token/TokenWipeTransaction.d.ts +4 -2
  310. package/lib/token/TokenWipeTransaction.js.map +1 -1
  311. package/lib/topic/SubscriptionHandle.js.map +1 -1
  312. package/lib/topic/TopicCreateTransaction.cjs +2 -1
  313. package/lib/topic/TopicCreateTransaction.d.ts +4 -2
  314. package/lib/topic/TopicCreateTransaction.js.map +1 -1
  315. package/lib/topic/TopicDeleteTransaction.d.ts +4 -0
  316. package/lib/topic/TopicDeleteTransaction.js.map +1 -1
  317. package/lib/topic/TopicId.js.map +1 -1
  318. package/lib/topic/TopicInfo.js.map +1 -1
  319. package/lib/topic/TopicInfoQuery.js.map +1 -1
  320. package/lib/topic/TopicMessage.js.map +1 -1
  321. package/lib/topic/TopicMessageChunk.js.map +1 -1
  322. package/lib/topic/TopicMessageQuery.js.map +1 -1
  323. package/lib/topic/TopicMessageSubmitTransaction.js.map +1 -1
  324. package/lib/topic/TopicUpdateTransaction.cjs +2 -1
  325. package/lib/topic/TopicUpdateTransaction.d.ts +4 -2
  326. package/lib/topic/TopicUpdateTransaction.js.map +1 -1
  327. package/lib/transaction/BatchTransaction.js.map +1 -1
  328. package/lib/transaction/CustomFeeLimit.js.map +1 -1
  329. package/lib/transaction/List.js.map +1 -1
  330. package/lib/transaction/NodeAccountIdSignatureMap.js.map +1 -1
  331. package/lib/transaction/NodeAccountIdSignatureMapLegacy.js.map +1 -1
  332. package/lib/transaction/SignableNodeTransactionBodyBytes.js.map +1 -1
  333. package/lib/transaction/SignatureMap.js.map +1 -1
  334. package/lib/transaction/SignatureMapLegacy.js.map +1 -1
  335. package/lib/transaction/SignaturePairMap.js.map +1 -1
  336. package/lib/transaction/Transaction.cjs +83 -15
  337. package/lib/transaction/Transaction.d.ts +33 -4
  338. package/lib/transaction/Transaction.js +1 -1
  339. package/lib/transaction/Transaction.js.map +1 -1
  340. package/lib/transaction/TransactionHashMap.js.map +1 -1
  341. package/lib/transaction/TransactionId.js.map +1 -1
  342. package/lib/transaction/TransactionReceipt.js.map +1 -1
  343. package/lib/transaction/TransactionReceiptQuery.cjs +2 -1
  344. package/lib/transaction/TransactionReceiptQuery.d.ts +8 -2
  345. package/lib/transaction/TransactionReceiptQuery.js.map +1 -1
  346. package/lib/transaction/TransactionRecord.js.map +1 -1
  347. package/lib/transaction/TransactionRecordQuery.cjs +2 -1
  348. package/lib/transaction/TransactionRecordQuery.d.ts +8 -2
  349. package/lib/transaction/TransactionRecordQuery.js.map +1 -1
  350. package/lib/transaction/TransactionResponse.cjs +85 -10
  351. package/lib/transaction/TransactionResponse.d.ts +39 -4
  352. package/lib/transaction/TransactionResponse.js +1 -1
  353. package/lib/transaction/TransactionResponse.js.map +1 -1
  354. package/lib/util/ASN1-Decoder.js.map +1 -1
  355. package/lib/util.js.map +1 -1
  356. package/lib/version.js +1 -1
  357. package/package.json +21 -19
  358. package/src/Executable.js +13 -8
  359. package/src/account/AccountAllowanceAdjustTransaction.js +2 -1
  360. package/src/account/AccountAllowanceApproveTransaction.js +2 -1
  361. package/src/account/AccountAllowanceDeleteTransaction.js +2 -1
  362. package/src/account/AccountBalance.js +7 -15
  363. package/src/account/AccountBalanceQuery.js +5 -9
  364. package/src/account/AccountCreateTransaction.js +2 -1
  365. package/src/account/AccountDeleteTransaction.js +2 -1
  366. package/src/account/AccountInfoQuery.js +2 -1
  367. package/src/account/AccountRecordsQuery.js +2 -1
  368. package/src/account/AccountUpdateTransaction.js +2 -1
  369. package/src/account/HbarAllowance.js +3 -1
  370. package/src/account/LiveHashAddTransaction.js +2 -1
  371. package/src/account/LiveHashDeleteTransaction.js +2 -1
  372. package/src/account/LiveHashQuery.js +2 -1
  373. package/src/account/TokenAllowance.js +3 -1
  374. package/src/account/TokenNftAllowance.js +3 -1
  375. package/src/account/TransferTransaction.js +6 -4
  376. package/src/client/Client.js +38 -0
  377. package/src/client/addressbooks/mainnet.js +1 -1
  378. package/src/client/addressbooks/previewnet.js +1 -1
  379. package/src/client/addressbooks/testnet.js +1 -1
  380. package/src/contract/ContractCreateTransaction.js +2 -1
  381. package/src/contract/ContractDeleteTransaction.js +2 -1
  382. package/src/contract/ContractUpdateTransaction.js +2 -1
  383. package/src/file/FileAppendTransaction.js +5 -4
  384. package/src/schedule/ScheduleCreateTransaction.js +2 -1
  385. package/src/token/TokenAssociateTransaction.js +2 -1
  386. package/src/token/TokenCreateTransaction.js +2 -1
  387. package/src/token/TokenDissociateTransaction.js +2 -1
  388. package/src/token/TokenFreezeTransaction.js +2 -1
  389. package/src/token/TokenGrantKycTransaction.js +2 -1
  390. package/src/token/TokenRejectFlow.js +3 -1
  391. package/src/token/TokenRevokeKycTransaction.js +2 -1
  392. package/src/token/TokenUnfreezeTransaction.js +2 -1
  393. package/src/token/TokenUpdateTransaction.js +2 -1
  394. package/src/token/TokenWipeTransaction.js +2 -1
  395. package/src/topic/TopicCreateTransaction.js +2 -1
  396. package/src/topic/TopicUpdateTransaction.js +2 -1
  397. package/src/transaction/Transaction.js +139 -19
  398. package/src/transaction/TransactionReceiptQuery.js +2 -1
  399. package/src/transaction/TransactionRecordQuery.js +2 -1
  400. package/src/transaction/TransactionResponse.js +101 -14
@@ -1 +1 @@
1
- {"version":3,"file":"ContractFunctionSelector.js","sources":["../../src/contract/ContractFunctionSelector.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport { keccak256 } from \"../cryptography/keccak.js\";\nimport * as hex from \"../encoding/hex.js\";\nimport * as utf8 from \"../encoding/utf8.js\";\n\n/**\n * @enum {number}\n */\nexport const ArgumentType = {\n uint8: 0,\n int8: 1,\n uint16: 2,\n int16: 3,\n uint24: 4,\n int24: 5,\n uint32: 6,\n int32: 7,\n uint40: 8,\n int40: 9,\n uint48: 10,\n int48: 11,\n uint56: 12,\n int56: 13,\n uint64: 14,\n int64: 15,\n uint72: 16,\n int72: 17,\n uint80: 18,\n int80: 19,\n uint88: 20,\n int88: 21,\n uint96: 22,\n int96: 23,\n uint104: 24,\n int104: 25,\n uint112: 26,\n int112: 27,\n uint120: 28,\n int120: 29,\n uint128: 30,\n int128: 31,\n uint136: 32,\n int136: 33,\n uint144: 34,\n int144: 35,\n uint152: 36,\n int152: 37,\n uint160: 38,\n int160: 39,\n uint168: 40,\n int168: 41,\n uint176: 42,\n int176: 43,\n uint184: 44,\n int184: 45,\n uint192: 46,\n int192: 47,\n uint200: 48,\n int200: 49,\n uint208: 50,\n int208: 51,\n uint216: 52,\n int216: 53,\n uint224: 54,\n int224: 55,\n uint232: 56,\n int232: 57,\n uint240: 58,\n int240: 59,\n uint248: 60,\n int248: 61,\n uint256: 62,\n int256: 63,\n string: 64,\n bool: 65,\n bytes: 66,\n bytes32: 67,\n address: 68,\n func: 69,\n};\n\n/**\n * @typedef {object} Argument\n * @property {boolean} dynamic\n * @property {Uint8Array} value\n */\n\n/**\n * @typedef {object} SolidityType\n * @property {ArgumentType} ty\n * @property {boolean} array\n */\n\n/**\n * Class to help construct function selectors for Hedera smart contract function calls.\n * Function selectors are the first 4 bytes of the Keccak-256 hash of the function's signature.\n *\n * This class provides methods to build function signatures by adding parameters of various Solidity types.\n * It supports all standard Solidity parameter types and their array variants.\n */\nexport default class ContractFunctionSelector {\n /**\n * @param {string} [name]\n */\n constructor(name) {\n /**\n * @type {?string}\n */\n this.name = null;\n\n /**\n * @type {string}\n */\n this._params = \"\";\n\n /**\n * @type {SolidityType[]}\n */\n this._paramTypes = [];\n\n if (name != null) {\n this._name = name;\n }\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addString() {\n return this._addParam({ ty: ArgumentType.string, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addStringArray() {\n return this._addParam({ ty: ArgumentType.string, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes() {\n return this._addParam({ ty: ArgumentType.bytes, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes32() {\n return this._addParam({ ty: ArgumentType.bytes32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytesArray() {\n return this._addParam({ ty: ArgumentType.bytes, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes32Array() {\n return this._addParam({ ty: ArgumentType.bytes32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt8() {\n return this._addParam({ ty: ArgumentType.int8, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint8() {\n return this._addParam({ ty: ArgumentType.uint8, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt16() {\n return this._addParam({ ty: ArgumentType.int16, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint16() {\n return this._addParam({ ty: ArgumentType.uint16, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt24() {\n return this._addParam({ ty: ArgumentType.int24, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint24() {\n return this._addParam({ ty: ArgumentType.uint24, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt32() {\n return this._addParam({ ty: ArgumentType.int32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint32() {\n return this._addParam({ ty: ArgumentType.uint32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt40() {\n return this._addParam({ ty: ArgumentType.int40, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint40() {\n return this._addParam({ ty: ArgumentType.uint40, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt48() {\n return this._addParam({ ty: ArgumentType.int48, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint48() {\n return this._addParam({ ty: ArgumentType.uint48, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt56() {\n return this._addParam({ ty: ArgumentType.int56, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint56() {\n return this._addParam({ ty: ArgumentType.uint56, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt64() {\n return this._addParam({ ty: ArgumentType.int64, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint64() {\n return this._addParam({ ty: ArgumentType.uint64, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt72() {\n return this._addParam({ ty: ArgumentType.int72, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint72() {\n return this._addParam({ ty: ArgumentType.uint72, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt80() {\n return this._addParam({ ty: ArgumentType.int80, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint80() {\n return this._addParam({ ty: ArgumentType.uint80, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt88() {\n return this._addParam({ ty: ArgumentType.int88, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint88() {\n return this._addParam({ ty: ArgumentType.uint88, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt96() {\n return this._addParam({ ty: ArgumentType.int96, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint96() {\n return this._addParam({ ty: ArgumentType.uint96, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt104() {\n return this._addParam({ ty: ArgumentType.int104, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint104() {\n return this._addParam({ ty: ArgumentType.uint104, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt112() {\n return this._addParam({ ty: ArgumentType.int112, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint112() {\n return this._addParam({ ty: ArgumentType.uint112, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt120() {\n return this._addParam({ ty: ArgumentType.int120, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint120() {\n return this._addParam({ ty: ArgumentType.uint120, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt128() {\n return this._addParam({ ty: ArgumentType.int128, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint128() {\n return this._addParam({ ty: ArgumentType.uint128, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt136() {\n return this._addParam({ ty: ArgumentType.int136, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint136() {\n return this._addParam({ ty: ArgumentType.uint136, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt144() {\n return this._addParam({ ty: ArgumentType.int144, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint144() {\n return this._addParam({ ty: ArgumentType.uint144, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt152() {\n return this._addParam({ ty: ArgumentType.int152, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint152() {\n return this._addParam({ ty: ArgumentType.uint152, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt160() {\n return this._addParam({ ty: ArgumentType.int160, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint160() {\n return this._addParam({ ty: ArgumentType.uint160, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt168() {\n return this._addParam({ ty: ArgumentType.int168, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint168() {\n return this._addParam({ ty: ArgumentType.uint168, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt176() {\n return this._addParam({ ty: ArgumentType.int176, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint176() {\n return this._addParam({ ty: ArgumentType.uint176, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt184() {\n return this._addParam({ ty: ArgumentType.int184, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint184() {\n return this._addParam({ ty: ArgumentType.uint184, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt192() {\n return this._addParam({ ty: ArgumentType.int192, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint192() {\n return this._addParam({ ty: ArgumentType.uint192, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt200() {\n return this._addParam({ ty: ArgumentType.int200, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint200() {\n return this._addParam({ ty: ArgumentType.uint200, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt208() {\n return this._addParam({ ty: ArgumentType.int208, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint208() {\n return this._addParam({ ty: ArgumentType.uint208, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt216() {\n return this._addParam({ ty: ArgumentType.int216, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint216() {\n return this._addParam({ ty: ArgumentType.uint216, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt224() {\n return this._addParam({ ty: ArgumentType.int224, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint224() {\n return this._addParam({ ty: ArgumentType.uint224, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt232() {\n return this._addParam({ ty: ArgumentType.int232, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint232() {\n return this._addParam({ ty: ArgumentType.uint232, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt240() {\n return this._addParam({ ty: ArgumentType.int240, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint240() {\n return this._addParam({ ty: ArgumentType.uint240, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt248() {\n return this._addParam({ ty: ArgumentType.int248, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint248() {\n return this._addParam({ ty: ArgumentType.uint248, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt256() {\n return this._addParam({ ty: ArgumentType.int256, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint256() {\n return this._addParam({ ty: ArgumentType.uint256, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt8Array() {\n return this._addParam({ ty: ArgumentType.int8, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint8Array() {\n return this._addParam({ ty: ArgumentType.uint8, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt16Array() {\n return this._addParam({ ty: ArgumentType.int16, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint16Array() {\n return this._addParam({ ty: ArgumentType.uint16, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt24Array() {\n return this._addParam({ ty: ArgumentType.int24, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint24Array() {\n return this._addParam({ ty: ArgumentType.uint24, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt32Array() {\n return this._addParam({ ty: ArgumentType.int32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint32Array() {\n return this._addParam({ ty: ArgumentType.uint32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt40Array() {\n return this._addParam({ ty: ArgumentType.int40, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint40Array() {\n return this._addParam({ ty: ArgumentType.uint40, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt48Array() {\n return this._addParam({ ty: ArgumentType.int48, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint48Array() {\n return this._addParam({ ty: ArgumentType.uint48, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt56Array() {\n return this._addParam({ ty: ArgumentType.int56, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint56Array() {\n return this._addParam({ ty: ArgumentType.uint56, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt64Array() {\n return this._addParam({ ty: ArgumentType.int64, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint64Array() {\n return this._addParam({ ty: ArgumentType.uint64, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt72Array() {\n return this._addParam({ ty: ArgumentType.int72, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint72Array() {\n return this._addParam({ ty: ArgumentType.uint72, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt80Array() {\n return this._addParam({ ty: ArgumentType.int80, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint80Array() {\n return this._addParam({ ty: ArgumentType.uint80, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt88Array() {\n return this._addParam({ ty: ArgumentType.int88, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint88Array() {\n return this._addParam({ ty: ArgumentType.uint88, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt96Array() {\n return this._addParam({ ty: ArgumentType.int96, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint96Array() {\n return this._addParam({ ty: ArgumentType.uint96, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt104Array() {\n return this._addParam({ ty: ArgumentType.int104, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint104Array() {\n return this._addParam({ ty: ArgumentType.uint104, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt112Array() {\n return this._addParam({ ty: ArgumentType.int112, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint112Array() {\n return this._addParam({ ty: ArgumentType.uint112, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt120Array() {\n return this._addParam({ ty: ArgumentType.int120, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint120Array() {\n return this._addParam({ ty: ArgumentType.uint120, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt128Array() {\n return this._addParam({ ty: ArgumentType.int128, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint128Array() {\n return this._addParam({ ty: ArgumentType.uint128, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt136Array() {\n return this._addParam({ ty: ArgumentType.int136, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint136Array() {\n return this._addParam({ ty: ArgumentType.uint136, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt144Array() {\n return this._addParam({ ty: ArgumentType.int144, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint144Array() {\n return this._addParam({ ty: ArgumentType.uint144, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt152Array() {\n return this._addParam({ ty: ArgumentType.int152, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint152Array() {\n return this._addParam({ ty: ArgumentType.uint152, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt160Array() {\n return this._addParam({ ty: ArgumentType.int160, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint160Array() {\n return this._addParam({ ty: ArgumentType.uint160, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt168Array() {\n return this._addParam({ ty: ArgumentType.int168, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint168Array() {\n return this._addParam({ ty: ArgumentType.uint168, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt176Array() {\n return this._addParam({ ty: ArgumentType.int176, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint176Array() {\n return this._addParam({ ty: ArgumentType.uint176, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt184Array() {\n return this._addParam({ ty: ArgumentType.int184, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint184Array() {\n return this._addParam({ ty: ArgumentType.uint184, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt192Array() {\n return this._addParam({ ty: ArgumentType.int192, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint192Array() {\n return this._addParam({ ty: ArgumentType.uint192, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt200Array() {\n return this._addParam({ ty: ArgumentType.int200, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint200Array() {\n return this._addParam({ ty: ArgumentType.uint200, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt208Array() {\n return this._addParam({ ty: ArgumentType.int208, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint208Array() {\n return this._addParam({ ty: ArgumentType.uint208, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt216Array() {\n return this._addParam({ ty: ArgumentType.int216, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint216Array() {\n return this._addParam({ ty: ArgumentType.uint216, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt224Array() {\n return this._addParam({ ty: ArgumentType.int224, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint224Array() {\n return this._addParam({ ty: ArgumentType.uint224, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt232Array() {\n return this._addParam({ ty: ArgumentType.int232, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint232Array() {\n return this._addParam({ ty: ArgumentType.uint232, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt240Array() {\n return this._addParam({ ty: ArgumentType.int240, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint240Array() {\n return this._addParam({ ty: ArgumentType.uint240, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt248Array() {\n return this._addParam({ ty: ArgumentType.int248, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint248Array() {\n return this._addParam({ ty: ArgumentType.uint248, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt256Array() {\n return this._addParam({ ty: ArgumentType.int256, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint256Array() {\n return this._addParam({ ty: ArgumentType.uint256, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBool() {\n return this._addParam({ ty: ArgumentType.bool, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addAddress() {\n return this._addParam({ ty: ArgumentType.address, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addAddressArray() {\n return this._addParam({ ty: ArgumentType.address, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addFunction() {\n return this._addParam({ ty: ArgumentType.func, array: false });\n }\n\n /**\n * @param {SolidityType} ty\n * @returns {ContractFunctionSelector}\n */\n _addParam(ty) {\n if (this._paramTypes.length > 0) {\n this._params += \",\";\n }\n\n this._params += solidityTypeToString(ty);\n this._paramTypes.push(ty);\n\n return this;\n }\n\n /**\n * @param {string} [name]\n * @returns {Uint8Array}\n */\n _build(name) {\n if (name != null) {\n this._name = name;\n } else if (this._name == null) {\n throw new Error(\"`name` required for ContractFunctionSelector\");\n }\n\n const func = hex.encode(utf8.encode(this.toString()));\n return hex.decode(keccak256(`0x${func}`)).slice(0, 4);\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return `${this._name != null ? this._name.toString() : \"\"}(${\n this._params\n })`;\n }\n}\n\n/**\n * @param {SolidityType} ty\n * @returns {string}\n */\nexport function solidityTypeToString(ty) {\n let s = \"\";\n switch (ty.ty) {\n case ArgumentType.uint8:\n s = \"uint8\";\n break;\n case ArgumentType.int8:\n s = \"int8\";\n break;\n case ArgumentType.uint16:\n s = \"uint16\";\n break;\n case ArgumentType.int16:\n s = \"int16\";\n break;\n case ArgumentType.uint24:\n s = \"uint24\";\n break;\n case ArgumentType.int24:\n s = \"int24\";\n break;\n case ArgumentType.uint32:\n s = \"uint32\";\n break;\n case ArgumentType.int32:\n s = \"int32\";\n break;\n case ArgumentType.uint40:\n s = \"uint40\";\n break;\n case ArgumentType.int40:\n s = \"int40\";\n break;\n case ArgumentType.uint48:\n s = \"uint48\";\n break;\n case ArgumentType.int48:\n s = \"int48\";\n break;\n case ArgumentType.uint56:\n s = \"uint56\";\n break;\n case ArgumentType.int56:\n s = \"int56\";\n break;\n case ArgumentType.uint64:\n s = \"uint64\";\n break;\n case ArgumentType.int64:\n s = \"int64\";\n break;\n case ArgumentType.uint72:\n s = \"uint72\";\n break;\n case ArgumentType.int72:\n s = \"int72\";\n break;\n case ArgumentType.uint80:\n s = \"uint80\";\n break;\n case ArgumentType.int80:\n s = \"int80\";\n break;\n case ArgumentType.uint88:\n s = \"uint88\";\n break;\n case ArgumentType.int88:\n s = \"int88\";\n break;\n case ArgumentType.uint96:\n s = \"uint96\";\n break;\n case ArgumentType.int96:\n s = \"int96\";\n break;\n case ArgumentType.uint104:\n s = \"uint104\";\n break;\n case ArgumentType.int104:\n s = \"int104\";\n break;\n case ArgumentType.uint112:\n s = \"uint112\";\n break;\n case ArgumentType.int112:\n s = \"int112\";\n break;\n case ArgumentType.uint120:\n s = \"uint120\";\n break;\n case ArgumentType.int120:\n s = \"int120\";\n break;\n case ArgumentType.uint128:\n s = \"uint128\";\n break;\n case ArgumentType.int128:\n s = \"int128\";\n break;\n case ArgumentType.uint136:\n s = \"uint136\";\n break;\n case ArgumentType.int136:\n s = \"int136\";\n break;\n case ArgumentType.uint144:\n s = \"uint144\";\n break;\n case ArgumentType.int144:\n s = \"int144\";\n break;\n case ArgumentType.uint152:\n s = \"uint152\";\n break;\n case ArgumentType.int152:\n s = \"int152\";\n break;\n case ArgumentType.uint160:\n s = \"uint160\";\n break;\n case ArgumentType.int160:\n s = \"int160\";\n break;\n case ArgumentType.uint168:\n s = \"uint168\";\n break;\n case ArgumentType.int168:\n s = \"int168\";\n break;\n case ArgumentType.uint176:\n s = \"uint176\";\n break;\n case ArgumentType.int176:\n s = \"int176\";\n break;\n case ArgumentType.uint184:\n s = \"uint184\";\n break;\n case ArgumentType.int184:\n s = \"int184\";\n break;\n case ArgumentType.uint192:\n s = \"uint192\";\n break;\n case ArgumentType.int192:\n s = \"int192\";\n break;\n case ArgumentType.uint200:\n s = \"uint200\";\n break;\n case ArgumentType.int200:\n s = \"int200\";\n break;\n case ArgumentType.uint208:\n s = \"uint208\";\n break;\n case ArgumentType.int208:\n s = \"int208\";\n break;\n case ArgumentType.uint216:\n s = \"uint216\";\n break;\n case ArgumentType.int216:\n s = \"int216\";\n break;\n case ArgumentType.uint224:\n s = \"uint224\";\n break;\n case ArgumentType.int224:\n s = \"int224\";\n break;\n case ArgumentType.uint232:\n s = \"uint232\";\n break;\n case ArgumentType.int232:\n s = \"int232\";\n break;\n case ArgumentType.uint240:\n s = \"uint240\";\n break;\n case ArgumentType.int240:\n s = \"int240\";\n break;\n case ArgumentType.uint248:\n s = \"uint248\";\n break;\n case ArgumentType.int248:\n s = \"int248\";\n break;\n case ArgumentType.uint256:\n s = \"uint256\";\n break;\n case ArgumentType.int256:\n s = \"int256\";\n break;\n case ArgumentType.string:\n s = \"string\";\n break;\n case ArgumentType.bool:\n s = \"bool\";\n break;\n case ArgumentType.bytes:\n s = \"bytes\";\n break;\n case ArgumentType.bytes32:\n s = \"bytes32\";\n break;\n case ArgumentType.address:\n s = \"address\";\n break;\n case ArgumentType.func:\n s = \"function\";\n break;\n default:\n s = \"\";\n break;\n }\n\n if (ty.array) {\n s += \"[]\";\n }\n\n return s;\n}\n"],"names":["ArgumentType","uint8","int8","uint16","int16","uint24","int24","uint32","int32","uint40","int40","uint48","int48","uint56","int56","uint64","int64","uint72","int72","uint80","int80","uint88","int88","uint96","int96","uint104","int104","uint112","int112","uint120","int120","uint128","int128","uint136","int136","uint144","int144","uint152","int152","uint160","int160","uint168","int168","uint176","int176","uint184","int184","uint192","int192","uint200","int200","uint208","int208","uint216","int216","uint224","int224","uint232","int232","uint240","int240","uint248","int248","uint256","int256","string","bool","bytes","bytes32","address","func","ContractFunctionSelector","constructor","name","this","_params","_paramTypes","_name","addString","_addParam","ty","array","addStringArray","addBytes","addBytes32","addBytesArray","addBytes32Array","addInt8","addUint8","addInt16","addUint16","addInt24","addUint24","addInt32","addUint32","addInt40","addUint40","addInt48","addUint48","addInt56","addUint56","addInt64","addUint64","addInt72","addUint72","addInt80","addUint80","addInt88","addUint88","addInt96","addUint96","addInt104","addUint104","addInt112","addUint112","addInt120","addUint120","addInt128","addUint128","addInt136","addUint136","addInt144","addUint144","addInt152","addUint152","addInt160","addUint160","addInt168","addUint168","addInt176","addUint176","addInt184","addUint184","addInt192","addUint192","addInt200","addUint200","addInt208","addUint208","addInt216","addUint216","addInt224","addUint224","addInt232","addUint232","addInt240","addUint240","addInt248","addUint248","addInt256","addUint256","addInt8Array","addUint8Array","addInt16Array","addUint16Array","addInt24Array","addUint24Array","addInt32Array","addUint32Array","addInt40Array","addUint40Array","addInt48Array","addUint48Array","addInt56Array","addUint56Array","addInt64Array","addUint64Array","addInt72Array","addUint72Array","addInt80Array","addUint80Array","addInt88Array","addUint88Array","addInt96Array","addUint96Array","addInt104Array","addUint104Array","addInt112Array","addUint112Array","addInt120Array","addUint120Array","addInt128Array","addUint128Array","addInt136Array","addUint136Array","addInt144Array","addUint144Array","addInt152Array","addUint152Array","addInt160Array","addUint160Array","addInt168Array","addUint168Array","addInt176Array","addUint176Array","addInt184Array","addUint184Array","addInt192Array","addUint192Array","addInt200Array","addUint200Array","addInt208Array","addUint208Array","addInt216Array","addUint216Array","addInt224Array","addUint224Array","addInt232Array","addUint232Array","addInt240Array","addUint240Array","addInt248Array","addUint248Array","addInt256Array","addUint256Array","addBool","addAddress","addAddressArray","addFunction","length","solidityTypeToString","push","_build","Error","hex.encode","utf8.encode","toString","hex.decode","keccak256","slice","s"],"mappings":"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"}
1
+ {"version":3,"file":"ContractFunctionSelector.js","sources":["../../src/contract/ContractFunctionSelector.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport { keccak256 } from \"../cryptography/keccak.js\";\nimport * as hex from \"../encoding/hex.js\";\nimport * as utf8 from \"../encoding/utf8.js\";\n\n/**\n * @enum {number}\n */\nexport const ArgumentType = {\n uint8: 0,\n int8: 1,\n uint16: 2,\n int16: 3,\n uint24: 4,\n int24: 5,\n uint32: 6,\n int32: 7,\n uint40: 8,\n int40: 9,\n uint48: 10,\n int48: 11,\n uint56: 12,\n int56: 13,\n uint64: 14,\n int64: 15,\n uint72: 16,\n int72: 17,\n uint80: 18,\n int80: 19,\n uint88: 20,\n int88: 21,\n uint96: 22,\n int96: 23,\n uint104: 24,\n int104: 25,\n uint112: 26,\n int112: 27,\n uint120: 28,\n int120: 29,\n uint128: 30,\n int128: 31,\n uint136: 32,\n int136: 33,\n uint144: 34,\n int144: 35,\n uint152: 36,\n int152: 37,\n uint160: 38,\n int160: 39,\n uint168: 40,\n int168: 41,\n uint176: 42,\n int176: 43,\n uint184: 44,\n int184: 45,\n uint192: 46,\n int192: 47,\n uint200: 48,\n int200: 49,\n uint208: 50,\n int208: 51,\n uint216: 52,\n int216: 53,\n uint224: 54,\n int224: 55,\n uint232: 56,\n int232: 57,\n uint240: 58,\n int240: 59,\n uint248: 60,\n int248: 61,\n uint256: 62,\n int256: 63,\n string: 64,\n bool: 65,\n bytes: 66,\n bytes32: 67,\n address: 68,\n func: 69,\n};\n\n/**\n * @typedef {object} Argument\n * @property {boolean} dynamic\n * @property {Uint8Array} value\n */\n\n/**\n * @typedef {object} SolidityType\n * @property {ArgumentType} ty\n * @property {boolean} array\n */\n\n/**\n * Class to help construct function selectors for Hedera smart contract function calls.\n * Function selectors are the first 4 bytes of the Keccak-256 hash of the function's signature.\n *\n * This class provides methods to build function signatures by adding parameters of various Solidity types.\n * It supports all standard Solidity parameter types and their array variants.\n */\nexport default class ContractFunctionSelector {\n /**\n * @param {string} [name]\n */\n constructor(name) {\n /**\n * @type {?string}\n */\n this.name = null;\n\n /**\n * @type {string}\n */\n this._params = \"\";\n\n /**\n * @type {SolidityType[]}\n */\n this._paramTypes = [];\n\n if (name != null) {\n this._name = name;\n }\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addString() {\n return this._addParam({ ty: ArgumentType.string, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addStringArray() {\n return this._addParam({ ty: ArgumentType.string, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes() {\n return this._addParam({ ty: ArgumentType.bytes, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes32() {\n return this._addParam({ ty: ArgumentType.bytes32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytesArray() {\n return this._addParam({ ty: ArgumentType.bytes, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes32Array() {\n return this._addParam({ ty: ArgumentType.bytes32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt8() {\n return this._addParam({ ty: ArgumentType.int8, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint8() {\n return this._addParam({ ty: ArgumentType.uint8, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt16() {\n return this._addParam({ ty: ArgumentType.int16, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint16() {\n return this._addParam({ ty: ArgumentType.uint16, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt24() {\n return this._addParam({ ty: ArgumentType.int24, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint24() {\n return this._addParam({ ty: ArgumentType.uint24, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt32() {\n return this._addParam({ ty: ArgumentType.int32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint32() {\n return this._addParam({ ty: ArgumentType.uint32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt40() {\n return this._addParam({ ty: ArgumentType.int40, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint40() {\n return this._addParam({ ty: ArgumentType.uint40, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt48() {\n return this._addParam({ ty: ArgumentType.int48, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint48() {\n return this._addParam({ ty: ArgumentType.uint48, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt56() {\n return this._addParam({ ty: ArgumentType.int56, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint56() {\n return this._addParam({ ty: ArgumentType.uint56, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt64() {\n return this._addParam({ ty: ArgumentType.int64, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint64() {\n return this._addParam({ ty: ArgumentType.uint64, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt72() {\n return this._addParam({ ty: ArgumentType.int72, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint72() {\n return this._addParam({ ty: ArgumentType.uint72, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt80() {\n return this._addParam({ ty: ArgumentType.int80, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint80() {\n return this._addParam({ ty: ArgumentType.uint80, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt88() {\n return this._addParam({ ty: ArgumentType.int88, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint88() {\n return this._addParam({ ty: ArgumentType.uint88, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt96() {\n return this._addParam({ ty: ArgumentType.int96, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint96() {\n return this._addParam({ ty: ArgumentType.uint96, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt104() {\n return this._addParam({ ty: ArgumentType.int104, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint104() {\n return this._addParam({ ty: ArgumentType.uint104, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt112() {\n return this._addParam({ ty: ArgumentType.int112, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint112() {\n return this._addParam({ ty: ArgumentType.uint112, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt120() {\n return this._addParam({ ty: ArgumentType.int120, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint120() {\n return this._addParam({ ty: ArgumentType.uint120, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt128() {\n return this._addParam({ ty: ArgumentType.int128, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint128() {\n return this._addParam({ ty: ArgumentType.uint128, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt136() {\n return this._addParam({ ty: ArgumentType.int136, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint136() {\n return this._addParam({ ty: ArgumentType.uint136, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt144() {\n return this._addParam({ ty: ArgumentType.int144, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint144() {\n return this._addParam({ ty: ArgumentType.uint144, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt152() {\n return this._addParam({ ty: ArgumentType.int152, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint152() {\n return this._addParam({ ty: ArgumentType.uint152, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt160() {\n return this._addParam({ ty: ArgumentType.int160, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint160() {\n return this._addParam({ ty: ArgumentType.uint160, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt168() {\n return this._addParam({ ty: ArgumentType.int168, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint168() {\n return this._addParam({ ty: ArgumentType.uint168, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt176() {\n return this._addParam({ ty: ArgumentType.int176, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint176() {\n return this._addParam({ ty: ArgumentType.uint176, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt184() {\n return this._addParam({ ty: ArgumentType.int184, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint184() {\n return this._addParam({ ty: ArgumentType.uint184, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt192() {\n return this._addParam({ ty: ArgumentType.int192, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint192() {\n return this._addParam({ ty: ArgumentType.uint192, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt200() {\n return this._addParam({ ty: ArgumentType.int200, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint200() {\n return this._addParam({ ty: ArgumentType.uint200, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt208() {\n return this._addParam({ ty: ArgumentType.int208, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint208() {\n return this._addParam({ ty: ArgumentType.uint208, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt216() {\n return this._addParam({ ty: ArgumentType.int216, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint216() {\n return this._addParam({ ty: ArgumentType.uint216, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt224() {\n return this._addParam({ ty: ArgumentType.int224, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint224() {\n return this._addParam({ ty: ArgumentType.uint224, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt232() {\n return this._addParam({ ty: ArgumentType.int232, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint232() {\n return this._addParam({ ty: ArgumentType.uint232, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt240() {\n return this._addParam({ ty: ArgumentType.int240, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint240() {\n return this._addParam({ ty: ArgumentType.uint240, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt248() {\n return this._addParam({ ty: ArgumentType.int248, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint248() {\n return this._addParam({ ty: ArgumentType.uint248, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt256() {\n return this._addParam({ ty: ArgumentType.int256, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint256() {\n return this._addParam({ ty: ArgumentType.uint256, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt8Array() {\n return this._addParam({ ty: ArgumentType.int8, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint8Array() {\n return this._addParam({ ty: ArgumentType.uint8, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt16Array() {\n return this._addParam({ ty: ArgumentType.int16, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint16Array() {\n return this._addParam({ ty: ArgumentType.uint16, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt24Array() {\n return this._addParam({ ty: ArgumentType.int24, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint24Array() {\n return this._addParam({ ty: ArgumentType.uint24, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt32Array() {\n return this._addParam({ ty: ArgumentType.int32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint32Array() {\n return this._addParam({ ty: ArgumentType.uint32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt40Array() {\n return this._addParam({ ty: ArgumentType.int40, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint40Array() {\n return this._addParam({ ty: ArgumentType.uint40, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt48Array() {\n return this._addParam({ ty: ArgumentType.int48, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint48Array() {\n return this._addParam({ ty: ArgumentType.uint48, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt56Array() {\n return this._addParam({ ty: ArgumentType.int56, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint56Array() {\n return this._addParam({ ty: ArgumentType.uint56, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt64Array() {\n return this._addParam({ ty: ArgumentType.int64, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint64Array() {\n return this._addParam({ ty: ArgumentType.uint64, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt72Array() {\n return this._addParam({ ty: ArgumentType.int72, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint72Array() {\n return this._addParam({ ty: ArgumentType.uint72, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt80Array() {\n return this._addParam({ ty: ArgumentType.int80, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint80Array() {\n return this._addParam({ ty: ArgumentType.uint80, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt88Array() {\n return this._addParam({ ty: ArgumentType.int88, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint88Array() {\n return this._addParam({ ty: ArgumentType.uint88, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt96Array() {\n return this._addParam({ ty: ArgumentType.int96, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint96Array() {\n return this._addParam({ ty: ArgumentType.uint96, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt104Array() {\n return this._addParam({ ty: ArgumentType.int104, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint104Array() {\n return this._addParam({ ty: ArgumentType.uint104, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt112Array() {\n return this._addParam({ ty: ArgumentType.int112, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint112Array() {\n return this._addParam({ ty: ArgumentType.uint112, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt120Array() {\n return this._addParam({ ty: ArgumentType.int120, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint120Array() {\n return this._addParam({ ty: ArgumentType.uint120, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt128Array() {\n return this._addParam({ ty: ArgumentType.int128, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint128Array() {\n return this._addParam({ ty: ArgumentType.uint128, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt136Array() {\n return this._addParam({ ty: ArgumentType.int136, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint136Array() {\n return this._addParam({ ty: ArgumentType.uint136, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt144Array() {\n return this._addParam({ ty: ArgumentType.int144, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint144Array() {\n return this._addParam({ ty: ArgumentType.uint144, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt152Array() {\n return this._addParam({ ty: ArgumentType.int152, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint152Array() {\n return this._addParam({ ty: ArgumentType.uint152, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt160Array() {\n return this._addParam({ ty: ArgumentType.int160, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint160Array() {\n return this._addParam({ ty: ArgumentType.uint160, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt168Array() {\n return this._addParam({ ty: ArgumentType.int168, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint168Array() {\n return this._addParam({ ty: ArgumentType.uint168, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt176Array() {\n return this._addParam({ ty: ArgumentType.int176, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint176Array() {\n return this._addParam({ ty: ArgumentType.uint176, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt184Array() {\n return this._addParam({ ty: ArgumentType.int184, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint184Array() {\n return this._addParam({ ty: ArgumentType.uint184, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt192Array() {\n return this._addParam({ ty: ArgumentType.int192, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint192Array() {\n return this._addParam({ ty: ArgumentType.uint192, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt200Array() {\n return this._addParam({ ty: ArgumentType.int200, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint200Array() {\n return this._addParam({ ty: ArgumentType.uint200, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt208Array() {\n return this._addParam({ ty: ArgumentType.int208, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint208Array() {\n return this._addParam({ ty: ArgumentType.uint208, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt216Array() {\n return this._addParam({ ty: ArgumentType.int216, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint216Array() {\n return this._addParam({ ty: ArgumentType.uint216, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt224Array() {\n return this._addParam({ ty: ArgumentType.int224, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint224Array() {\n return this._addParam({ ty: ArgumentType.uint224, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt232Array() {\n return this._addParam({ ty: ArgumentType.int232, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint232Array() {\n return this._addParam({ ty: ArgumentType.uint232, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt240Array() {\n return this._addParam({ ty: ArgumentType.int240, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint240Array() {\n return this._addParam({ ty: ArgumentType.uint240, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt248Array() {\n return this._addParam({ ty: ArgumentType.int248, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint248Array() {\n return this._addParam({ ty: ArgumentType.uint248, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt256Array() {\n return this._addParam({ ty: ArgumentType.int256, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint256Array() {\n return this._addParam({ ty: ArgumentType.uint256, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBool() {\n return this._addParam({ ty: ArgumentType.bool, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addAddress() {\n return this._addParam({ ty: ArgumentType.address, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addAddressArray() {\n return this._addParam({ ty: ArgumentType.address, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addFunction() {\n return this._addParam({ ty: ArgumentType.func, array: false });\n }\n\n /**\n * @param {SolidityType} ty\n * @returns {ContractFunctionSelector}\n */\n _addParam(ty) {\n if (this._paramTypes.length > 0) {\n this._params += \",\";\n }\n\n this._params += solidityTypeToString(ty);\n this._paramTypes.push(ty);\n\n return this;\n }\n\n /**\n * @param {string} [name]\n * @returns {Uint8Array}\n */\n _build(name) {\n if (name != null) {\n this._name = name;\n } else if (this._name == null) {\n throw new Error(\"`name` required for ContractFunctionSelector\");\n }\n\n const func = hex.encode(utf8.encode(this.toString()));\n return hex.decode(keccak256(`0x${func}`)).slice(0, 4);\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return `${this._name != null ? this._name.toString() : \"\"}(${\n this._params\n })`;\n }\n}\n\n/**\n * @param {SolidityType} ty\n * @returns {string}\n */\nexport function solidityTypeToString(ty) {\n let s = \"\";\n switch (ty.ty) {\n case ArgumentType.uint8:\n s = \"uint8\";\n break;\n case ArgumentType.int8:\n s = \"int8\";\n break;\n case ArgumentType.uint16:\n s = \"uint16\";\n break;\n case ArgumentType.int16:\n s = \"int16\";\n break;\n case ArgumentType.uint24:\n s = \"uint24\";\n break;\n case ArgumentType.int24:\n s = \"int24\";\n break;\n case ArgumentType.uint32:\n s = \"uint32\";\n break;\n case ArgumentType.int32:\n s = \"int32\";\n break;\n case ArgumentType.uint40:\n s = \"uint40\";\n break;\n case ArgumentType.int40:\n s = \"int40\";\n break;\n case ArgumentType.uint48:\n s = \"uint48\";\n break;\n case ArgumentType.int48:\n s = \"int48\";\n break;\n case ArgumentType.uint56:\n s = \"uint56\";\n break;\n case ArgumentType.int56:\n s = \"int56\";\n break;\n case ArgumentType.uint64:\n s = \"uint64\";\n break;\n case ArgumentType.int64:\n s = \"int64\";\n break;\n case ArgumentType.uint72:\n s = \"uint72\";\n break;\n case ArgumentType.int72:\n s = \"int72\";\n break;\n case ArgumentType.uint80:\n s = \"uint80\";\n break;\n case ArgumentType.int80:\n s = \"int80\";\n break;\n case ArgumentType.uint88:\n s = \"uint88\";\n break;\n case ArgumentType.int88:\n s = \"int88\";\n break;\n case ArgumentType.uint96:\n s = \"uint96\";\n break;\n case ArgumentType.int96:\n s = \"int96\";\n break;\n case ArgumentType.uint104:\n s = \"uint104\";\n break;\n case ArgumentType.int104:\n s = \"int104\";\n break;\n case ArgumentType.uint112:\n s = \"uint112\";\n break;\n case ArgumentType.int112:\n s = \"int112\";\n break;\n case ArgumentType.uint120:\n s = \"uint120\";\n break;\n case ArgumentType.int120:\n s = \"int120\";\n break;\n case ArgumentType.uint128:\n s = \"uint128\";\n break;\n case ArgumentType.int128:\n s = \"int128\";\n break;\n case ArgumentType.uint136:\n s = \"uint136\";\n break;\n case ArgumentType.int136:\n s = \"int136\";\n break;\n case ArgumentType.uint144:\n s = \"uint144\";\n break;\n case ArgumentType.int144:\n s = \"int144\";\n break;\n case ArgumentType.uint152:\n s = \"uint152\";\n break;\n case ArgumentType.int152:\n s = \"int152\";\n break;\n case ArgumentType.uint160:\n s = \"uint160\";\n break;\n case ArgumentType.int160:\n s = \"int160\";\n break;\n case ArgumentType.uint168:\n s = \"uint168\";\n break;\n case ArgumentType.int168:\n s = \"int168\";\n break;\n case ArgumentType.uint176:\n s = \"uint176\";\n break;\n case ArgumentType.int176:\n s = \"int176\";\n break;\n case ArgumentType.uint184:\n s = \"uint184\";\n break;\n case ArgumentType.int184:\n s = \"int184\";\n break;\n case ArgumentType.uint192:\n s = \"uint192\";\n break;\n case ArgumentType.int192:\n s = \"int192\";\n break;\n case ArgumentType.uint200:\n s = \"uint200\";\n break;\n case ArgumentType.int200:\n s = \"int200\";\n break;\n case ArgumentType.uint208:\n s = \"uint208\";\n break;\n case ArgumentType.int208:\n s = \"int208\";\n break;\n case ArgumentType.uint216:\n s = \"uint216\";\n break;\n case ArgumentType.int216:\n s = \"int216\";\n break;\n case ArgumentType.uint224:\n s = \"uint224\";\n break;\n case ArgumentType.int224:\n s = \"int224\";\n break;\n case ArgumentType.uint232:\n s = \"uint232\";\n break;\n case ArgumentType.int232:\n s = \"int232\";\n break;\n case ArgumentType.uint240:\n s = \"uint240\";\n break;\n case ArgumentType.int240:\n s = \"int240\";\n break;\n case ArgumentType.uint248:\n s = \"uint248\";\n break;\n case ArgumentType.int248:\n s = \"int248\";\n break;\n case ArgumentType.uint256:\n s = \"uint256\";\n break;\n case ArgumentType.int256:\n s = \"int256\";\n break;\n case ArgumentType.string:\n s = \"string\";\n break;\n case ArgumentType.bool:\n s = \"bool\";\n break;\n case ArgumentType.bytes:\n s = \"bytes\";\n break;\n case ArgumentType.bytes32:\n s = \"bytes32\";\n break;\n case ArgumentType.address:\n s = \"address\";\n break;\n case ArgumentType.func:\n s = \"function\";\n break;\n default:\n s = \"\";\n break;\n }\n\n if (ty.array) {\n s += \"[]\";\n }\n\n return s;\n}\n"],"names":["ArgumentType","uint8","int8","uint16","int16","uint24","int24","uint32","int32","uint40","int40","uint48","int48","uint56","int56","uint64","int64","uint72","int72","uint80","int80","uint88","int88","uint96","int96","uint104","int104","uint112","int112","uint120","int120","uint128","int128","uint136","int136","uint144","int144","uint152","int152","uint160","int160","uint168","int168","uint176","int176","uint184","int184","uint192","int192","uint200","int200","uint208","int208","uint216","int216","uint224","int224","uint232","int232","uint240","int240","uint248","int248","uint256","int256","string","bool","bytes","bytes32","address","func","ContractFunctionSelector","constructor","name","this","_params","_paramTypes","_name","addString","_addParam","ty","array","addStringArray","addBytes","addBytes32","addBytesArray","addBytes32Array","addInt8","addUint8","addInt16","addUint16","addInt24","addUint24","addInt32","addUint32","addInt40","addUint40","addInt48","addUint48","addInt56","addUint56","addInt64","addUint64","addInt72","addUint72","addInt80","addUint80","addInt88","addUint88","addInt96","addUint96","addInt104","addUint104","addInt112","addUint112","addInt120","addUint120","addInt128","addUint128","addInt136","addUint136","addInt144","addUint144","addInt152","addUint152","addInt160","addUint160","addInt168","addUint168","addInt176","addUint176","addInt184","addUint184","addInt192","addUint192","addInt200","addUint200","addInt208","addUint208","addInt216","addUint216","addInt224","addUint224","addInt232","addUint232","addInt240","addUint240","addInt248","addUint248","addInt256","addUint256","addInt8Array","addUint8Array","addInt16Array","addUint16Array","addInt24Array","addUint24Array","addInt32Array","addUint32Array","addInt40Array","addUint40Array","addInt48Array","addUint48Array","addInt56Array","addUint56Array","addInt64Array","addUint64Array","addInt72Array","addUint72Array","addInt80Array","addUint80Array","addInt88Array","addUint88Array","addInt96Array","addUint96Array","addInt104Array","addUint104Array","addInt112Array","addUint112Array","addInt120Array","addUint120Array","addInt128Array","addUint128Array","addInt136Array","addUint136Array","addInt144Array","addUint144Array","addInt152Array","addUint152Array","addInt160Array","addUint160Array","addInt168Array","addUint168Array","addInt176Array","addUint176Array","addInt184Array","addUint184Array","addInt192Array","addUint192Array","addInt200Array","addUint200Array","addInt208Array","addUint208Array","addInt216Array","addUint216Array","addInt224Array","addUint224Array","addInt232Array","addUint232Array","addInt240Array","addUint240Array","addInt248Array","addUint248Array","addInt256Array","addUint256Array","addBool","addAddress","addAddressArray","addFunction","length","solidityTypeToString","push","_build","Error","hex.encode","utf8.encode","toString","hex.decode","keccak256","slice","s"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContractId.js","sources":["../../src/contract/ContractId.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport * as EntityIdHelper from \"../EntityIdHelper.js\";\nimport Key from \"../Key.js\";\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport CACHE from \"../Cache.js\";\nimport * as hex from \"../encoding/hex.js\";\nimport { arrayEqual } from \"../array.js\";\nimport Long from \"long\";\nimport { isLongZeroAddress } from \"../util.js\";\nimport EvmAddress from \"../EvmAddress.js\";\n\n/**\n * @typedef {import(\"../client/Client.js\").default<*, *>} Client\n */\n\n/**\n * The ID for a crypto-currency contract on Hedera.\n */\nexport default class ContractId extends Key {\n /**\n * @param {number | Long | import(\"../EntityIdHelper\").IEntityId} props\n * @param {(number | Long)=} realm\n * @param {(number | Long)=} num\n * @param {Uint8Array=} evmAddress\n */\n constructor(props, realm, num, evmAddress) {\n super();\n\n const result = EntityIdHelper.constructor(props, realm, num);\n\n this.shard = result.shard;\n this.realm = result.realm;\n this.num = result.num;\n\n this.evmAddress = evmAddress != null ? evmAddress : null;\n\n /**\n * @type {string | null}\n */\n this._checksum = null;\n }\n\n /**\n * @description This handles both long-zero format and evm address format addresses.\n * If an actual evm address is passed, please use `ContractId.populateAccountNum(client)` method\n * to get the actual `num` value, since there is no cryptographic relation to the evm address\n * and cannot be populated directly\n * @param {Long | number} shard\n * @param {Long | number} realm\n * @param {string} evmAddress\n * @returns {ContractId}\n */\n static fromEvmAddress(shard, realm, evmAddress) {\n const evmAddressObj = EvmAddress.fromString(evmAddress);\n\n const [shardLong, realmLong, num, address] =\n EntityIdHelper.fromEvmAddress(\n shard,\n realm,\n evmAddressObj.toString(),\n );\n\n return new ContractId(shardLong, realmLong, num, address?.toBytes());\n }\n\n /**\n * @param {string} text\n * @returns {ContractId}\n */\n static fromString(text) {\n const result = EntityIdHelper.fromStringSplitter(text);\n\n if (Number.isNaN(result.shard) || Number.isNaN(result.realm)) {\n throw new Error(\"invalid format for entity ID\");\n }\n\n const shard =\n result.shard != null ? Long.fromString(result.shard) : Long.ZERO;\n const realm =\n result.realm != null ? Long.fromString(result.realm) : Long.ZERO;\n const [num, evmAddress] =\n result.numOrHex.length < 40\n ? [Long.fromString(result.numOrHex), undefined]\n : [Long.ZERO, hex.decode(result.numOrHex)];\n\n return new ContractId(shard, realm, num, evmAddress);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IContractID} id\n * @returns {ContractId}\n */\n static _fromProtobuf(id) {\n const contractId = new ContractId(\n id.shardNum != null ? id.shardNum : 0,\n id.realmNum != null ? id.realmNum : 0,\n id.contractNum != null ? id.contractNum : 0,\n );\n\n return contractId;\n }\n\n /**\n * @returns {string | null}\n */\n get checksum() {\n return this._checksum;\n }\n\n /**\n * @description Gets the actual `num` field of the `ContractId` from the Mirror Node.\n * Should be used after generating `ContractId.fromEvmAddress()` because it sets the `num` field to `0`\n * automatically since there is no connection between the `num` and the `evmAddress`\n * @param {Client} client\n * @returns {Promise<ContractId>}\n */\n async populateAccountNum(client) {\n const mirrorRestApiBaseUrl = client.mirrorRestApiBaseUrl;\n const url = `${mirrorRestApiBaseUrl}/contracts/${this.toEvmAddress()}`;\n\n /* eslint-disable */\n const response = await fetch(url);\n const data = await response.json();\n const mirrorAccountId = data.contract_id;\n\n this.num = Long.fromString(\n mirrorAccountId.slice(mirrorAccountId.lastIndexOf(\".\") + 1),\n );\n /* eslint-enable */\n\n return this;\n }\n\n /**\n * @deprecated - Use `validateChecksum` instead\n * @param {Client} client\n */\n validate(client) {\n console.warn(\"Deprecated: Use `validateChecksum` instead\");\n this.validateChecksum(client);\n }\n\n /**\n * @param {Client} client\n */\n validateChecksum(client) {\n EntityIdHelper.validateChecksum(\n this.shard,\n this.realm,\n this.num,\n this._checksum,\n client,\n );\n }\n\n /**\n * @param {Uint8Array} bytes\n * @returns {ContractId}\n */\n static fromBytes(bytes) {\n return ContractId._fromProtobuf(\n HieroProto.proto.ContractID.decode(bytes),\n );\n }\n\n /**\n * @deprecated - Use `fromEvmAddress` instead\n * @param {string} address\n * @returns {ContractId}\n */\n static fromSolidityAddress(address) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (isLongZeroAddress(hex.decode(address))) {\n return new ContractId(\n ...EntityIdHelper.fromSolidityAddress(address),\n );\n } else {\n return this.fromEvmAddress(0, 0, address);\n }\n }\n\n /**\n * @deprecated - Use `toEvmAddress` instead\n * @returns {string}\n */\n toSolidityAddress() {\n if (this.evmAddress != null) {\n return hex.encode(this.evmAddress);\n } else {\n return EntityIdHelper.toSolidityAddress([\n this.shard,\n this.realm,\n this.num,\n ]);\n }\n }\n\n /**\n * @returns {string} EVM-compatible address representation of the entity\n */\n toEvmAddress() {\n if (this.evmAddress != null) {\n return EntityIdHelper.toEvmAddress(this.evmAddress);\n }\n\n return EntityIdHelper.toEvmAddress(this.num);\n }\n /**\n * @internal\n * @returns {HieroProto.proto.IContractID}\n */\n _toProtobuf() {\n return {\n contractNum: this.num,\n shardNum: this.shard,\n realmNum: this.realm,\n evmAddress: this.evmAddress,\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n if (this.evmAddress != null) {\n return `${this.shard.toString()}.${this.realm.toString()}.${hex.encode(\n this.evmAddress,\n )}`;\n } else {\n return `${this.shard.toString()}.${this.realm.toString()}.${this.num.toString()}`;\n }\n }\n\n /**\n * @param {Client} client\n * @returns {string}\n */\n toStringWithChecksum(client) {\n return EntityIdHelper.toStringWithChecksum(this.toString(), client);\n }\n\n /**\n * @returns {Uint8Array}\n */\n toBytes() {\n return HieroProto.proto.ContractID.encode(this._toProtobuf()).finish();\n }\n\n /**\n * @returns {ContractId}\n */\n clone() {\n const id = new ContractId(this);\n id._checksum = this._checksum;\n id.evmAddress = this.evmAddress;\n return id;\n }\n\n /**\n * @param {ContractId} other\n * @returns {number}\n */\n compare(other) {\n return EntityIdHelper.compare(\n [this.shard, this.realm, this.num],\n [other.shard, other.realm, other.num],\n );\n }\n\n /**\n * @param {this} other\n * @returns {boolean}\n */\n equals(other) {\n let evmAddresses = false;\n if (this.evmAddress != null && other.evmAddress != null) {\n evmAddresses = arrayEqual(this.evmAddress, other.evmAddress);\n }\n\n return (\n this.shard.eq(other.shard) &&\n this.realm.eq(other.realm) &&\n this.num.eq(other.num) &&\n evmAddresses\n );\n }\n\n /**\n * @returns {HieroProto.proto.IKey}\n */\n _toProtobufKey() {\n return {\n contractID: this._toProtobuf(),\n };\n }\n\n /**\n * @param {HieroProto.proto.IContractID} key\n * @returns {ContractId}\n */\n static __fromProtobufKey(key) {\n return ContractId._fromProtobuf(key);\n }\n}\n\nCACHE.setContractId((key) => ContractId.__fromProtobufKey(key));\n"],"names":["ContractId","Key","constructor","props","realm","num","evmAddress","super","result","EntityIdHelper.constructor","this","shard","_checksum","fromEvmAddress","evmAddressObj","EvmAddress","fromString","shardLong","realmLong","address","EntityIdHelper.fromEvmAddress","toString","toBytes","text","EntityIdHelper.fromStringSplitter","Number","isNaN","Error","Long","ZERO","numOrHex","length","undefined","hex.decode","_fromProtobuf","id","shardNum","realmNum","contractNum","checksum","populateAccountNum","client","url","mirrorRestApiBaseUrl","toEvmAddress","response","fetch","mirrorAccountId","json","contract_id","slice","lastIndexOf","validate","console","warn","validateChecksum","EntityIdHelper.validateChecksum","fromBytes","bytes","HieroProto","proto","ContractID","decode","fromSolidityAddress","isLongZeroAddress","EntityIdHelper.fromSolidityAddress","toSolidityAddress","hex.encode","EntityIdHelper.toSolidityAddress","EntityIdHelper.toEvmAddress","_toProtobuf","toStringWithChecksum","EntityIdHelper.toStringWithChecksum","encode","finish","clone","compare","other","EntityIdHelper.compare","equals","evmAddresses","arrayEqual","eq","_toProtobufKey","contractID","__fromProtobufKey","key","CACHE","setContractId"],"mappings":"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"}
1
+ {"version":3,"file":"ContractId.js","sources":["../../src/contract/ContractId.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport * as EntityIdHelper from \"../EntityIdHelper.js\";\nimport Key from \"../Key.js\";\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport CACHE from \"../Cache.js\";\nimport * as hex from \"../encoding/hex.js\";\nimport { arrayEqual } from \"../array.js\";\nimport Long from \"long\";\nimport { isLongZeroAddress } from \"../util.js\";\nimport EvmAddress from \"../EvmAddress.js\";\n\n/**\n * @typedef {import(\"../client/Client.js\").default<*, *>} Client\n */\n\n/**\n * The ID for a crypto-currency contract on Hedera.\n */\nexport default class ContractId extends Key {\n /**\n * @param {number | Long | import(\"../EntityIdHelper\").IEntityId} props\n * @param {(number | Long)=} realm\n * @param {(number | Long)=} num\n * @param {Uint8Array=} evmAddress\n */\n constructor(props, realm, num, evmAddress) {\n super();\n\n const result = EntityIdHelper.constructor(props, realm, num);\n\n this.shard = result.shard;\n this.realm = result.realm;\n this.num = result.num;\n\n this.evmAddress = evmAddress != null ? evmAddress : null;\n\n /**\n * @type {string | null}\n */\n this._checksum = null;\n }\n\n /**\n * @description This handles both long-zero format and evm address format addresses.\n * If an actual evm address is passed, please use `ContractId.populateAccountNum(client)` method\n * to get the actual `num` value, since there is no cryptographic relation to the evm address\n * and cannot be populated directly\n * @param {Long | number} shard\n * @param {Long | number} realm\n * @param {string} evmAddress\n * @returns {ContractId}\n */\n static fromEvmAddress(shard, realm, evmAddress) {\n const evmAddressObj = EvmAddress.fromString(evmAddress);\n\n const [shardLong, realmLong, num, address] =\n EntityIdHelper.fromEvmAddress(\n shard,\n realm,\n evmAddressObj.toString(),\n );\n\n return new ContractId(shardLong, realmLong, num, address?.toBytes());\n }\n\n /**\n * @param {string} text\n * @returns {ContractId}\n */\n static fromString(text) {\n const result = EntityIdHelper.fromStringSplitter(text);\n\n if (Number.isNaN(result.shard) || Number.isNaN(result.realm)) {\n throw new Error(\"invalid format for entity ID\");\n }\n\n const shard =\n result.shard != null ? Long.fromString(result.shard) : Long.ZERO;\n const realm =\n result.realm != null ? Long.fromString(result.realm) : Long.ZERO;\n const [num, evmAddress] =\n result.numOrHex.length < 40\n ? [Long.fromString(result.numOrHex), undefined]\n : [Long.ZERO, hex.decode(result.numOrHex)];\n\n return new ContractId(shard, realm, num, evmAddress);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IContractID} id\n * @returns {ContractId}\n */\n static _fromProtobuf(id) {\n const contractId = new ContractId(\n id.shardNum != null ? id.shardNum : 0,\n id.realmNum != null ? id.realmNum : 0,\n id.contractNum != null ? id.contractNum : 0,\n );\n\n return contractId;\n }\n\n /**\n * @returns {string | null}\n */\n get checksum() {\n return this._checksum;\n }\n\n /**\n * @description Gets the actual `num` field of the `ContractId` from the Mirror Node.\n * Should be used after generating `ContractId.fromEvmAddress()` because it sets the `num` field to `0`\n * automatically since there is no connection between the `num` and the `evmAddress`\n * @param {Client} client\n * @returns {Promise<ContractId>}\n */\n async populateAccountNum(client) {\n const mirrorRestApiBaseUrl = client.mirrorRestApiBaseUrl;\n const url = `${mirrorRestApiBaseUrl}/contracts/${this.toEvmAddress()}`;\n\n /* eslint-disable */\n const response = await fetch(url);\n const data = await response.json();\n const mirrorAccountId = data.contract_id;\n\n this.num = Long.fromString(\n mirrorAccountId.slice(mirrorAccountId.lastIndexOf(\".\") + 1),\n );\n /* eslint-enable */\n\n return this;\n }\n\n /**\n * @deprecated - Use `validateChecksum` instead\n * @param {Client} client\n */\n validate(client) {\n console.warn(\"Deprecated: Use `validateChecksum` instead\");\n this.validateChecksum(client);\n }\n\n /**\n * @param {Client} client\n */\n validateChecksum(client) {\n EntityIdHelper.validateChecksum(\n this.shard,\n this.realm,\n this.num,\n this._checksum,\n client,\n );\n }\n\n /**\n * @param {Uint8Array} bytes\n * @returns {ContractId}\n */\n static fromBytes(bytes) {\n return ContractId._fromProtobuf(\n HieroProto.proto.ContractID.decode(bytes),\n );\n }\n\n /**\n * @deprecated - Use `fromEvmAddress` instead\n * @param {string} address\n * @returns {ContractId}\n */\n static fromSolidityAddress(address) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (isLongZeroAddress(hex.decode(address))) {\n return new ContractId(\n ...EntityIdHelper.fromSolidityAddress(address),\n );\n } else {\n return this.fromEvmAddress(0, 0, address);\n }\n }\n\n /**\n * @deprecated - Use `toEvmAddress` instead\n * @returns {string}\n */\n toSolidityAddress() {\n if (this.evmAddress != null) {\n return hex.encode(this.evmAddress);\n } else {\n return EntityIdHelper.toSolidityAddress([\n this.shard,\n this.realm,\n this.num,\n ]);\n }\n }\n\n /**\n * @returns {string} EVM-compatible address representation of the entity\n */\n toEvmAddress() {\n if (this.evmAddress != null) {\n return EntityIdHelper.toEvmAddress(this.evmAddress);\n }\n\n return EntityIdHelper.toEvmAddress(this.num);\n }\n /**\n * @internal\n * @returns {HieroProto.proto.IContractID}\n */\n _toProtobuf() {\n return {\n contractNum: this.num,\n shardNum: this.shard,\n realmNum: this.realm,\n evmAddress: this.evmAddress,\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n if (this.evmAddress != null) {\n return `${this.shard.toString()}.${this.realm.toString()}.${hex.encode(\n this.evmAddress,\n )}`;\n } else {\n return `${this.shard.toString()}.${this.realm.toString()}.${this.num.toString()}`;\n }\n }\n\n /**\n * @param {Client} client\n * @returns {string}\n */\n toStringWithChecksum(client) {\n return EntityIdHelper.toStringWithChecksum(this.toString(), client);\n }\n\n /**\n * @returns {Uint8Array}\n */\n toBytes() {\n return HieroProto.proto.ContractID.encode(this._toProtobuf()).finish();\n }\n\n /**\n * @returns {ContractId}\n */\n clone() {\n const id = new ContractId(this);\n id._checksum = this._checksum;\n id.evmAddress = this.evmAddress;\n return id;\n }\n\n /**\n * @param {ContractId} other\n * @returns {number}\n */\n compare(other) {\n return EntityIdHelper.compare(\n [this.shard, this.realm, this.num],\n [other.shard, other.realm, other.num],\n );\n }\n\n /**\n * @param {this} other\n * @returns {boolean}\n */\n equals(other) {\n let evmAddresses = false;\n if (this.evmAddress != null && other.evmAddress != null) {\n evmAddresses = arrayEqual(this.evmAddress, other.evmAddress);\n }\n\n return (\n this.shard.eq(other.shard) &&\n this.realm.eq(other.realm) &&\n this.num.eq(other.num) &&\n evmAddresses\n );\n }\n\n /**\n * @returns {HieroProto.proto.IKey}\n */\n _toProtobufKey() {\n return {\n contractID: this._toProtobuf(),\n };\n }\n\n /**\n * @param {HieroProto.proto.IContractID} key\n * @returns {ContractId}\n */\n static __fromProtobufKey(key) {\n return ContractId._fromProtobuf(key);\n }\n}\n\nCACHE.setContractId((key) => ContractId.__fromProtobufKey(key));\n"],"names":["ContractId","Key","constructor","props","realm","num","evmAddress","super","result","EntityIdHelper.constructor","this","shard","_checksum","fromEvmAddress","evmAddressObj","EvmAddress","fromString","shardLong","realmLong","address","EntityIdHelper.fromEvmAddress","toString","toBytes","text","EntityIdHelper.fromStringSplitter","Number","isNaN","Error","Long","ZERO","numOrHex","length","undefined","hex.decode","_fromProtobuf","id","shardNum","realmNum","contractNum","checksum","populateAccountNum","client","url","mirrorRestApiBaseUrl","toEvmAddress","response","fetch","mirrorAccountId","json","contract_id","slice","lastIndexOf","validate","console","warn","validateChecksum","EntityIdHelper.validateChecksum","fromBytes","bytes","HieroProto","proto","ContractID","decode","fromSolidityAddress","isLongZeroAddress","EntityIdHelper.fromSolidityAddress","toSolidityAddress","hex.encode","EntityIdHelper.toSolidityAddress","EntityIdHelper.toEvmAddress","_toProtobuf","toStringWithChecksum","EntityIdHelper.toStringWithChecksum","encode","finish","clone","compare","other","EntityIdHelper.compare","equals","evmAddresses","arrayEqual","eq","_toProtobufKey","contractID","__fromProtobufKey","key","CACHE","setContractId"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContractInfo.js","sources":["../../src/contract/ContractInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\nimport AccountId from \"../account/AccountId.js\";\nimport StakingInfo from \"../StakingInfo.js\";\nimport Timestamp from \"../Timestamp.js\";\nimport Duration from \"../Duration.js\";\nimport Hbar from \"../Hbar.js\";\nimport Long from \"long\";\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport TokenRelationshipMap from \"../account/TokenRelationshipMap.js\";\nimport Key from \"../Key.js\";\nimport LedgerId from \"../LedgerId.js\";\n\nconst { proto } = HieroProto;\n\n/**\n * @typedef {import(\"../StakingInfo.js\").StakingInfoJson} StakingInfoJson\n */\n\n/**\n * Response when the client sends the node CryptoGetInfoQuery.\n */\nexport default class ContractInfo {\n /**\n * @private\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {AccountId} props.accountId\n * @param {string} props.contractAccountId\n * @param {?Key} props.adminKey\n * @param {Timestamp} props.expirationTime\n * @param {Duration} props.autoRenewPeriod\n * @param {?AccountId} props.autoRenewAccountId\n * @param {Long} props.storage\n * @param {string} props.contractMemo\n * @param {Hbar} props.balance\n * @param {boolean} props.isDeleted\n * @param {TokenRelationshipMap} props.tokenRelationships\n * @param {LedgerId|null} props.ledgerId\n * @param {?StakingInfo} props.stakingInfo\n * @param {Long} props.maxAutomaticTokenAssociations\n */\n constructor(props) {\n /**\n * ID of the contract instance, in the format used in transactions.\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * ID of the cryptocurrency account owned by the contract instance,\n * in the format used in transactions.\n *\n * @readonly\n */\n this.accountId = props.accountId;\n\n /**\n * ID of both the contract instance and the cryptocurrency account owned by the contract\n * instance, in the format used by Solidity.\n *\n * @readonly\n */\n this.contractAccountId = props.contractAccountId;\n\n /**\n * The state of the instance and its fields can be modified arbitrarily if this key signs a\n * transaction to modify it. If this is null, then such modifications are not possible,\n * and there is no administrator that can override the normal operation of this smart\n * contract instance. Note that if it is created with no admin keys, then there is no\n * administrator to authorize changing the admin keys, so there can never be any admin keys\n * for that instance.\n *\n * @readonly\n */\n this.adminKey = props.adminKey != null ? props.adminKey : null;\n\n /**\n * The current time at which this contract instance (and its account) is set to expire.\n *\n * @readonly\n */\n this.expirationTime = props.expirationTime;\n\n /**\n * The expiration time will extend every this many seconds. If there are insufficient funds,\n * then it extends as long as possible. If the account is empty when it expires,\n * then it is deleted.\n *\n * @readonly\n */\n this.autoRenewPeriod = props.autoRenewPeriod;\n\n /**\n * ID of the an account to charge for auto-renewal of this contract. If not set, or set\n * to an account with zero hbar balance, the contract's own hbar balance will be used\n * to cover auto-renewal fees.\n *\n * @readonly\n */\n this.autoRenewAccountId = props.autoRenewAccountId;\n\n /**\n * Number of bytes of storage being used by this instance (which affects the cost to\n * extend the expiration time).\n *\n * @readonly\n */\n this.storage = props.storage;\n\n /**\n * The memo associated with the contract (max 100 bytes).\n *\n * @readonly\n */\n this.contractMemo = props.contractMemo;\n\n /**\n * The current balance of the contract.\n *\n * @readonly\n */\n this.balance = props.balance;\n\n /**\n * Whether the contract has been deleted\n *\n * @readonly\n */\n this.isDeleted = props.isDeleted;\n\n /**\n * The tokens associated to the contract\n *\n * @readonly\n */\n this.tokenRelationships = props.tokenRelationships;\n\n /**\n * The maximum number of automatic token associations allowed for this contract.\n * @readonly\n */\n this.maxAutomaticTokenAssociations =\n props.maxAutomaticTokenAssociations;\n\n /**\n * The ledger ID the response was returned from; please see <a href=\"https://github.com/hashgraph/hedera-improvement-proposal/blob/master/HIP/hip-198.md\">HIP-198</a> for the network-specific IDs.\n */\n this.ledgerId = props.ledgerId;\n\n /**\n * Staking metadata for this account.\n */\n this.stakingInfo = props.stakingInfo;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ContractGetInfoResponse.IContractInfo} info\n * @returns {ContractInfo}\n */\n static _fromProtobuf(info) {\n const autoRenewPeriod = /** @type {Long | number} */ (\n /** @type {HieroProto.proto.IDuration} */ (info.autoRenewPeriod)\n .seconds\n );\n\n return new ContractInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (info.contractID),\n ),\n accountId: AccountId._fromProtobuf(\n /** @type {HieroProto.proto.IAccountID} */ (info.accountID),\n ),\n contractAccountId:\n info.contractAccountID != null ? info.contractAccountID : \"\",\n adminKey:\n info.adminKey != null\n ? Key._fromProtobufKey(info.adminKey)\n : null,\n expirationTime: Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */ (\n info.expirationTime\n ),\n ),\n autoRenewPeriod: new Duration(autoRenewPeriod),\n autoRenewAccountId:\n info.autoRenewAccountId != null\n ? AccountId._fromProtobuf(info.autoRenewAccountId)\n : null,\n storage:\n info.storage != null\n ? info.storage instanceof Long\n ? info.storage\n : Long.fromValue(info.storage)\n : Long.ZERO,\n contractMemo: info.memo != null ? info.memo : \"\",\n balance: Hbar.fromTinybars(info.balance != null ? info.balance : 0),\n isDeleted: /** @type {boolean} */ (info.deleted),\n tokenRelationships: TokenRelationshipMap._fromProtobuf(\n info.tokenRelationships != null ? info.tokenRelationships : [],\n ),\n ledgerId:\n info.ledgerId != null\n ? LedgerId.fromBytes(info.ledgerId)\n : null,\n stakingInfo:\n info.stakingInfo != null\n ? StakingInfo._fromProtobuf(info.stakingInfo)\n : null,\n maxAutomaticTokenAssociations:\n info.maxAutomaticTokenAssociations != null\n ? Long.isLong(info.maxAutomaticTokenAssociations)\n ? info.maxAutomaticTokenAssociations\n : Long.fromValue(info.maxAutomaticTokenAssociations)\n : Long.ZERO,\n });\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.ContractGetInfoResponse.IContractInfo}\n */\n _toProtobuf() {\n return {\n contractID: this.contractId._toProtobuf(),\n accountID: this.accountId._toProtobuf(),\n contractAccountID: this.contractAccountId,\n adminKey:\n this.adminKey != null ? this.adminKey._toProtobufKey() : null,\n expirationTime: this.expirationTime._toProtobuf(),\n autoRenewPeriod:\n this.autoRenewPeriod != null\n ? this.autoRenewPeriod._toProtobuf()\n : null,\n autoRenewAccountId:\n this.autoRenewAccountId != null\n ? this.autoRenewAccountId._toProtobuf()\n : null,\n storage: this.storage,\n memo: this.contractMemo,\n balance: this.balance.toTinybars(),\n deleted: this.isDeleted,\n tokenRelationships:\n this.tokenRelationships != null\n ? this.tokenRelationships._toProtobuf()\n : null,\n ledgerId: this.ledgerId != null ? this.ledgerId.toBytes() : null,\n stakingInfo:\n this.stakingInfo != null\n ? this.stakingInfo._toProtobuf()\n : null,\n maxAutomaticTokenAssociations:\n this.maxAutomaticTokenAssociations.toNumber(),\n };\n }\n\n /**\n * @param {Uint8Array} bytes\n * @returns {ContractInfo}\n */\n static fromBytes(bytes) {\n return ContractInfo._fromProtobuf(\n proto.ContractGetInfoResponse.ContractInfo.decode(bytes),\n );\n }\n\n /**\n * @returns {Uint8Array}\n */\n toBytes() {\n return proto.ContractGetInfoResponse.ContractInfo.encode(\n this._toProtobuf(),\n ).finish();\n }\n}\n"],"names":["proto","HieroProto","ContractInfo","constructor","props","this","contractId","accountId","contractAccountId","adminKey","expirationTime","autoRenewPeriod","autoRenewAccountId","storage","contractMemo","balance","isDeleted","tokenRelationships","maxAutomaticTokenAssociations","ledgerId","stakingInfo","Object","freeze","_fromProtobuf","info","ContractId","AccountId","contractAccountID","Key","_fromProtobufKey","Timestamp","Duration","Long","fromValue","ZERO","memo","Hbar","fromTinybars","TokenRelationshipMap","LedgerId","fromBytes","StakingInfo","isLong","_toProtobuf","contractID","accountID","_toProtobufKey","toTinybars","deleted","toBytes","toNumber","bytes","ContractGetInfoResponse","decode","encode","finish"],"mappings":"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"}
1
+ {"version":3,"file":"ContractInfo.js","sources":["../../src/contract/ContractInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\nimport AccountId from \"../account/AccountId.js\";\nimport StakingInfo from \"../StakingInfo.js\";\nimport Timestamp from \"../Timestamp.js\";\nimport Duration from \"../Duration.js\";\nimport Hbar from \"../Hbar.js\";\nimport Long from \"long\";\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport TokenRelationshipMap from \"../account/TokenRelationshipMap.js\";\nimport Key from \"../Key.js\";\nimport LedgerId from \"../LedgerId.js\";\n\nconst { proto } = HieroProto;\n\n/**\n * @typedef {import(\"../StakingInfo.js\").StakingInfoJson} StakingInfoJson\n */\n\n/**\n * Response when the client sends the node CryptoGetInfoQuery.\n */\nexport default class ContractInfo {\n /**\n * @private\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {AccountId} props.accountId\n * @param {string} props.contractAccountId\n * @param {?Key} props.adminKey\n * @param {Timestamp} props.expirationTime\n * @param {Duration} props.autoRenewPeriod\n * @param {?AccountId} props.autoRenewAccountId\n * @param {Long} props.storage\n * @param {string} props.contractMemo\n * @param {Hbar} props.balance\n * @param {boolean} props.isDeleted\n * @param {TokenRelationshipMap} props.tokenRelationships\n * @param {LedgerId|null} props.ledgerId\n * @param {?StakingInfo} props.stakingInfo\n * @param {Long} props.maxAutomaticTokenAssociations\n */\n constructor(props) {\n /**\n * ID of the contract instance, in the format used in transactions.\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * ID of the cryptocurrency account owned by the contract instance,\n * in the format used in transactions.\n *\n * @readonly\n */\n this.accountId = props.accountId;\n\n /**\n * ID of both the contract instance and the cryptocurrency account owned by the contract\n * instance, in the format used by Solidity.\n *\n * @readonly\n */\n this.contractAccountId = props.contractAccountId;\n\n /**\n * The state of the instance and its fields can be modified arbitrarily if this key signs a\n * transaction to modify it. If this is null, then such modifications are not possible,\n * and there is no administrator that can override the normal operation of this smart\n * contract instance. Note that if it is created with no admin keys, then there is no\n * administrator to authorize changing the admin keys, so there can never be any admin keys\n * for that instance.\n *\n * @readonly\n */\n this.adminKey = props.adminKey != null ? props.adminKey : null;\n\n /**\n * The current time at which this contract instance (and its account) is set to expire.\n *\n * @readonly\n */\n this.expirationTime = props.expirationTime;\n\n /**\n * The expiration time will extend every this many seconds. If there are insufficient funds,\n * then it extends as long as possible. If the account is empty when it expires,\n * then it is deleted.\n *\n * @readonly\n */\n this.autoRenewPeriod = props.autoRenewPeriod;\n\n /**\n * ID of the an account to charge for auto-renewal of this contract. If not set, or set\n * to an account with zero hbar balance, the contract's own hbar balance will be used\n * to cover auto-renewal fees.\n *\n * @readonly\n */\n this.autoRenewAccountId = props.autoRenewAccountId;\n\n /**\n * Number of bytes of storage being used by this instance (which affects the cost to\n * extend the expiration time).\n *\n * @readonly\n */\n this.storage = props.storage;\n\n /**\n * The memo associated with the contract (max 100 bytes).\n *\n * @readonly\n */\n this.contractMemo = props.contractMemo;\n\n /**\n * The current balance of the contract.\n *\n * @readonly\n */\n this.balance = props.balance;\n\n /**\n * Whether the contract has been deleted\n *\n * @readonly\n */\n this.isDeleted = props.isDeleted;\n\n /**\n * The tokens associated to the contract\n *\n * @readonly\n */\n this.tokenRelationships = props.tokenRelationships;\n\n /**\n * The maximum number of automatic token associations allowed for this contract.\n * @readonly\n */\n this.maxAutomaticTokenAssociations =\n props.maxAutomaticTokenAssociations;\n\n /**\n * The ledger ID the response was returned from; please see <a href=\"https://github.com/hashgraph/hedera-improvement-proposal/blob/master/HIP/hip-198.md\">HIP-198</a> for the network-specific IDs.\n */\n this.ledgerId = props.ledgerId;\n\n /**\n * Staking metadata for this account.\n */\n this.stakingInfo = props.stakingInfo;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ContractGetInfoResponse.IContractInfo} info\n * @returns {ContractInfo}\n */\n static _fromProtobuf(info) {\n const autoRenewPeriod = /** @type {Long | number} */ (\n /** @type {HieroProto.proto.IDuration} */ (info.autoRenewPeriod)\n .seconds\n );\n\n return new ContractInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (info.contractID),\n ),\n accountId: AccountId._fromProtobuf(\n /** @type {HieroProto.proto.IAccountID} */ (info.accountID),\n ),\n contractAccountId:\n info.contractAccountID != null ? info.contractAccountID : \"\",\n adminKey:\n info.adminKey != null\n ? Key._fromProtobufKey(info.adminKey)\n : null,\n expirationTime: Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */ (\n info.expirationTime\n ),\n ),\n autoRenewPeriod: new Duration(autoRenewPeriod),\n autoRenewAccountId:\n info.autoRenewAccountId != null\n ? AccountId._fromProtobuf(info.autoRenewAccountId)\n : null,\n storage:\n info.storage != null\n ? info.storage instanceof Long\n ? info.storage\n : Long.fromValue(info.storage)\n : Long.ZERO,\n contractMemo: info.memo != null ? info.memo : \"\",\n balance: Hbar.fromTinybars(info.balance != null ? info.balance : 0),\n isDeleted: /** @type {boolean} */ (info.deleted),\n tokenRelationships: TokenRelationshipMap._fromProtobuf(\n info.tokenRelationships != null ? info.tokenRelationships : [],\n ),\n ledgerId:\n info.ledgerId != null\n ? LedgerId.fromBytes(info.ledgerId)\n : null,\n stakingInfo:\n info.stakingInfo != null\n ? StakingInfo._fromProtobuf(info.stakingInfo)\n : null,\n maxAutomaticTokenAssociations:\n info.maxAutomaticTokenAssociations != null\n ? Long.isLong(info.maxAutomaticTokenAssociations)\n ? info.maxAutomaticTokenAssociations\n : Long.fromValue(info.maxAutomaticTokenAssociations)\n : Long.ZERO,\n });\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.ContractGetInfoResponse.IContractInfo}\n */\n _toProtobuf() {\n return {\n contractID: this.contractId._toProtobuf(),\n accountID: this.accountId._toProtobuf(),\n contractAccountID: this.contractAccountId,\n adminKey:\n this.adminKey != null ? this.adminKey._toProtobufKey() : null,\n expirationTime: this.expirationTime._toProtobuf(),\n autoRenewPeriod:\n this.autoRenewPeriod != null\n ? this.autoRenewPeriod._toProtobuf()\n : null,\n autoRenewAccountId:\n this.autoRenewAccountId != null\n ? this.autoRenewAccountId._toProtobuf()\n : null,\n storage: this.storage,\n memo: this.contractMemo,\n balance: this.balance.toTinybars(),\n deleted: this.isDeleted,\n tokenRelationships:\n this.tokenRelationships != null\n ? this.tokenRelationships._toProtobuf()\n : null,\n ledgerId: this.ledgerId != null ? this.ledgerId.toBytes() : null,\n stakingInfo:\n this.stakingInfo != null\n ? this.stakingInfo._toProtobuf()\n : null,\n maxAutomaticTokenAssociations:\n this.maxAutomaticTokenAssociations.toNumber(),\n };\n }\n\n /**\n * @param {Uint8Array} bytes\n * @returns {ContractInfo}\n */\n static fromBytes(bytes) {\n return ContractInfo._fromProtobuf(\n proto.ContractGetInfoResponse.ContractInfo.decode(bytes),\n );\n }\n\n /**\n * @returns {Uint8Array}\n */\n toBytes() {\n return proto.ContractGetInfoResponse.ContractInfo.encode(\n this._toProtobuf(),\n ).finish();\n }\n}\n"],"names":["proto","HieroProto","ContractInfo","constructor","props","this","contractId","accountId","contractAccountId","adminKey","expirationTime","autoRenewPeriod","autoRenewAccountId","storage","contractMemo","balance","isDeleted","tokenRelationships","maxAutomaticTokenAssociations","ledgerId","stakingInfo","Object","freeze","_fromProtobuf","info","ContractId","AccountId","contractAccountID","Key","_fromProtobufKey","Timestamp","Duration","Long","fromValue","ZERO","memo","Hbar","fromTinybars","TokenRelationshipMap","LedgerId","fromBytes","StakingInfo","isLong","_toProtobuf","contractID","accountID","_toProtobufKey","toTinybars","deleted","toBytes","toNumber","bytes","ContractGetInfoResponse","decode","encode","finish"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContractInfoQuery.js","sources":["../../src/contract/ContractInfoQuery.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Query, { QUERY_REGISTRY } from \"../query/Query.js\";\nimport ContractId from \"./ContractId.js\";\nimport ContractInfo from \"./ContractInfo.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.IContractGetInfoQuery} HieroProto.proto.IContractGetInfoQuery\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractGetInfoResponse} HieroProto.proto.IContractGetInfoResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.ContractGetInfoResponse.IContractInfo} HieroProto.proto.ContractGetInfoResponse.IContractInfo\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 * A query that returns information about a smart contract instance.\n * This includes the account that it owns, the contract's bytecode, and the timestamp when it will expire.\n * @augments {Query<ContractInfo>}\n */\nexport default class ContractInfoQuery extends Query {\n /**\n * @param {object} [props]\n * @param {ContractId | string} [props.contractId]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @type {?ContractId}\n * @private\n */\n this._contractId = null;\n if (props.contractId != null) {\n this.setContractId(props.contractId);\n }\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IQuery} query\n * @returns {ContractInfoQuery}\n */\n static _fromProtobuf(query) {\n const info = /** @type {HieroProto.proto.IContractGetInfoQuery} */ (\n query.contractGetInfo\n );\n\n return new ContractInfoQuery({\n contractId:\n info.contractID != null\n ? ContractId._fromProtobuf(info.contractID)\n : undefined,\n });\n }\n\n /**\n * @returns {?ContractId}\n */\n get contractId() {\n return this._contractId;\n }\n\n /**\n * Set the contract ID for which the info is being requested.\n *\n * @param {ContractId | string} contractId\n * @returns {ContractInfoQuery}\n */\n setContractId(contractId) {\n this._contractId =\n typeof contractId === \"string\"\n ? ContractId.fromString(contractId)\n : contractId.clone();\n\n return this;\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n if (this._contractId != null) {\n this._contractId.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.smartContract.getContractInfo(request);\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 * @override\n * @internal\n * @param {HieroProto.proto.IResponse} response\n * @returns {HieroProto.proto.IResponseHeader}\n */\n _mapResponseHeader(response) {\n const contractGetInfo =\n /** @type {HieroProto.proto.IContractGetInfoResponse} */ (\n response.contractGetInfo\n );\n return /** @type {HieroProto.proto.IResponseHeader} */ (\n contractGetInfo.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<ContractInfo>}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _mapResponse(response, nodeAccountId, request) {\n const info = /** @type {HieroProto.proto.IContractGetInfoResponse} */ (\n response.contractGetInfo\n );\n\n return Promise.resolve(\n ContractInfo._fromProtobuf(\n /** @type {HieroProto.proto.ContractGetInfoResponse.IContractInfo} */ (\n info.contractInfo\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 contractGetInfo: {\n header,\n contractID:\n this._contractId != null\n ? this._contractId._toProtobuf()\n : 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 `ContractInfoQuery:${timestamp.toString()}`;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nQUERY_REGISTRY.set(\"contractGetInfo\", ContractInfoQuery._fromProtobuf);\n"],"names":["ContractInfoQuery","Query","constructor","props","super","this","_contractId","contractId","setContractId","_fromProtobuf","query","info","contractID","ContractId","undefined","fromString","clone","_validateChecksums","client","validateChecksum","_execute","channel","request","smartContract","getContractInfo","getCost","_mapResponseHeader","response","_mapResponse","nodeAccountId","Promise","resolve","ContractInfo","_onMakeRequest","header","contractGetInfo","_toProtobuf","_getLogId","_paymentTransactionId","validStart","_timestamp","toString","QUERY_REGISTRY","set"],"mappings":"+KA8Be,MAAMA,UAA0BC,EAK3C,WAAAC,CAAYC,EAAQ,IAChBC,QAMAC,KAAKC,YAAc,KACK,MAApBH,EAAMI,YACNF,KAAKG,cAAcL,EAAMI,WAErC,CAOI,oBAAOE,CAAcC,GACjB,MAAMC,EACFD,EACH,gBAED,OAAO,IAAIV,EAAkB,CACzBO,WACuB,MAAnBI,EAAKC,WACCC,EAAWJ,cAAcE,EAAKC,iBAC9BE,GAEtB,CAKI,cAAIP,GACA,OAAOF,KAAKC,WACpB,CAQI,aAAAE,CAAcD,GAMV,OALAF,KAAKC,YACqB,iBAAfC,EACDM,EAAWE,WAAWR,GACtBA,EAAWS,QAEdX,IACf,CAKI,kBAAAY,CAAmBC,GACS,MAApBb,KAAKC,aACLD,KAAKC,YAAYa,iBAAiBD,EAE9C,CASI,QAAAE,CAASC,EAASC,GACd,OAAOD,EAAQE,cAAcC,gBAAgBF,EACrD,CAOI,aAAMG,CAAQP,GACV,OAAOd,MAAMqB,QAAQP,EAC7B,CAQI,kBAAAQ,CAAmBC,GAKf,OAFQA,EACH,gBAGb,MACA,CAWI,YAAAC,CAAaD,EAAUE,EAAeP,GAClC,MAAMX,EACFgB,EACH,gBAED,OAAOG,QAAQC,QACXC,EAAavB,cAELE,EACpB,cAGA,CAQI,cAAAsB,CAAeC,GACX,MAAO,CACHC,gBAAiB,CACbD,SACAtB,WACwB,MAApBP,KAAKC,YACCD,KAAKC,YAAY8B,cACjB,MAG1B,CAKI,SAAAC,GAOI,MAAO,sBAL2B,MAA9BhC,KAAKiC,uBACoC,MAAzCjC,KAAKiC,sBAAsBC,WACrBlC,KAAKiC,sBAAsBC,WAC3BlC,KAAKmC,YAEuBC,YAC9C,EAIAC,EAAeC,IAAI,kBAAmB3C,EAAkBS"}
1
+ {"version":3,"file":"ContractInfoQuery.js","sources":["../../src/contract/ContractInfoQuery.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Query, { QUERY_REGISTRY } from \"../query/Query.js\";\nimport ContractId from \"./ContractId.js\";\nimport ContractInfo from \"./ContractInfo.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.IContractGetInfoQuery} HieroProto.proto.IContractGetInfoQuery\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractGetInfoResponse} HieroProto.proto.IContractGetInfoResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.ContractGetInfoResponse.IContractInfo} HieroProto.proto.ContractGetInfoResponse.IContractInfo\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 * A query that returns information about a smart contract instance.\n * This includes the account that it owns, the contract's bytecode, and the timestamp when it will expire.\n * @augments {Query<ContractInfo>}\n */\nexport default class ContractInfoQuery extends Query {\n /**\n * @param {object} [props]\n * @param {ContractId | string} [props.contractId]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @type {?ContractId}\n * @private\n */\n this._contractId = null;\n if (props.contractId != null) {\n this.setContractId(props.contractId);\n }\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IQuery} query\n * @returns {ContractInfoQuery}\n */\n static _fromProtobuf(query) {\n const info = /** @type {HieroProto.proto.IContractGetInfoQuery} */ (\n query.contractGetInfo\n );\n\n return new ContractInfoQuery({\n contractId:\n info.contractID != null\n ? ContractId._fromProtobuf(info.contractID)\n : undefined,\n });\n }\n\n /**\n * @returns {?ContractId}\n */\n get contractId() {\n return this._contractId;\n }\n\n /**\n * Set the contract ID for which the info is being requested.\n *\n * @param {ContractId | string} contractId\n * @returns {ContractInfoQuery}\n */\n setContractId(contractId) {\n this._contractId =\n typeof contractId === \"string\"\n ? ContractId.fromString(contractId)\n : contractId.clone();\n\n return this;\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n if (this._contractId != null) {\n this._contractId.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.smartContract.getContractInfo(request);\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 * @override\n * @internal\n * @param {HieroProto.proto.IResponse} response\n * @returns {HieroProto.proto.IResponseHeader}\n */\n _mapResponseHeader(response) {\n const contractGetInfo =\n /** @type {HieroProto.proto.IContractGetInfoResponse} */ (\n response.contractGetInfo\n );\n return /** @type {HieroProto.proto.IResponseHeader} */ (\n contractGetInfo.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<ContractInfo>}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _mapResponse(response, nodeAccountId, request) {\n const info = /** @type {HieroProto.proto.IContractGetInfoResponse} */ (\n response.contractGetInfo\n );\n\n return Promise.resolve(\n ContractInfo._fromProtobuf(\n /** @type {HieroProto.proto.ContractGetInfoResponse.IContractInfo} */ (\n info.contractInfo\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 contractGetInfo: {\n header,\n contractID:\n this._contractId != null\n ? this._contractId._toProtobuf()\n : 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 `ContractInfoQuery:${timestamp.toString()}`;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nQUERY_REGISTRY.set(\"contractGetInfo\", ContractInfoQuery._fromProtobuf);\n"],"names":["ContractInfoQuery","Query","constructor","props","super","this","_contractId","contractId","setContractId","_fromProtobuf","query","info","contractID","ContractId","undefined","fromString","clone","_validateChecksums","client","validateChecksum","_execute","channel","request","smartContract","getContractInfo","getCost","_mapResponseHeader","response","_mapResponse","nodeAccountId","Promise","resolve","ContractInfo","_onMakeRequest","header","contractGetInfo","_toProtobuf","_getLogId","_paymentTransactionId","validStart","_timestamp","toString","QUERY_REGISTRY","set"],"mappings":"+KA8Be,MAAMA,UAA0BC,EAK3C,WAAAC,CAAYC,EAAQ,IAChBC,QAMAC,KAAKC,YAAc,KACK,MAApBH,EAAMI,YACNF,KAAKG,cAAcL,EAAMI,WAEjC,CAOA,oBAAOE,CAAcC,GACjB,MAAMC,EACFD,EACZ,gBAEQ,OAAO,IAAIV,EAAkB,CACzBO,WACuB,MAAnBI,EAAKC,WACCC,EAAWJ,cAAcE,EAAKC,iBAC9BE,GAElB,CAKA,cAAIP,GACA,OAAOF,KAAKC,WAChB,CAQA,aAAAE,CAAcD,GAMV,OALAF,KAAKC,YACqB,iBAAfC,EACDM,EAAWE,WAAWR,GACtBA,EAAWS,QAEdX,IACX,CAKA,kBAAAY,CAAmBC,GACS,MAApBb,KAAKC,aACLD,KAAKC,YAAYa,iBAAiBD,EAE1C,CASA,QAAAE,CAASC,EAASC,GACd,OAAOD,EAAQE,cAAcC,gBAAgBF,EACjD,CAOA,aAAMG,CAAQP,GACV,OAAOd,MAAMqB,QAAQP,EACzB,CAQA,kBAAAQ,CAAmBC,GAKf,OAFQA,EAChB,gBAGA,MACI,CAWA,YAAAC,CAAaD,EAAUE,EAAeP,GAClC,MAAMX,EACFgB,EACZ,gBAEQ,OAAOG,QAAQC,QACXC,EAAavB,cAELE,EACpB,cAGI,CAQA,cAAAsB,CAAeC,GACX,MAAO,CACHC,gBAAiB,CACbD,SACAtB,WACwB,MAApBP,KAAKC,YACCD,KAAKC,YAAY8B,cACjB,MAGtB,CAKA,SAAAC,GAOI,MAAO,sBAL2B,MAA9BhC,KAAKiC,uBACoC,MAAzCjC,KAAKiC,sBAAsBC,WACrBlC,KAAKiC,sBAAsBC,WAC3BlC,KAAKmC,YAEuBC,YAC1C,EAIJC,EAAeC,IAAI,kBAAmB3C,EAAkBS"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContractLogInfo.js","sources":["../../src/contract/ContractLogInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractLoginfo} HieroProto.proto.IContractLoginfo\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n */\n\n/**\n * The log information for an event returned by a smart contract function call. One function call\n * may return several such events.\n */\nexport default class ContractLogInfo {\n /**\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {Uint8Array} props.bloom\n * @param {Uint8Array[]} props.topics\n * @param {Uint8Array} props.data\n */\n constructor(props) {\n /**\n * Address of a contract that emitted the event.\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * Bloom filter for a particular log.\n *\n * @readonly\n */\n this.bloom = props.bloom;\n\n /**\n * Topics of a particular event.\n *\n * @readonly\n */\n this.topics = props.topics;\n\n /**\n * Event data.\n *\n * @readonly\n */\n this.data = props.data;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IContractLoginfo} info\n * @returns {ContractLogInfo}\n */\n static _fromProtobuf(info) {\n return new ContractLogInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (info.contractID),\n ),\n bloom: info.bloom != null ? info.bloom : new Uint8Array(),\n topics: info.topic != null ? info.topic : [],\n data: info.data != null ? info.data : new Uint8Array(),\n });\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.IContractLoginfo}\n */\n _toProtobuf() {\n return {\n contractID: this.contractId._toProtobuf(),\n bloom: this.bloom,\n topic: this.topics,\n data: this.data,\n };\n }\n}\n"],"names":["ContractLogInfo","constructor","props","this","contractId","bloom","topics","data","Object","freeze","_fromProtobuf","info","ContractId","Uint8Array","topic","_toProtobuf","contractID"],"mappings":"+BAce,MAAMA,EAQjB,WAAAC,CAAYC,GAMRC,KAAKC,WAAaF,EAAME,WAOxBD,KAAKE,MAAQH,EAAMG,MAOnBF,KAAKG,OAASJ,EAAMI,OAOpBH,KAAKI,KAAOL,EAAMK,KAElBC,OAAOC,OAAON,KACtB,CAOI,oBAAOO,CAAcC,GACjB,OAAO,IAAIX,EAAgB,CACvBI,WAAYQ,EAAWF,cAC0BC,EAAe,YAEhEN,MAAqB,MAAdM,EAAKN,MAAgBM,EAAKN,MAAQ,IAAIQ,WAC7CP,OAAsB,MAAdK,EAAKG,MAAgBH,EAAKG,MAAQ,GAC1CP,KAAmB,MAAbI,EAAKJ,KAAeI,EAAKJ,KAAO,IAAIM,YAEtD,CAMI,WAAAE,GACI,MAAO,CACHC,WAAYb,KAAKC,WAAWW,cAC5BV,MAAOF,KAAKE,MACZS,MAAOX,KAAKG,OACZC,KAAMJ,KAAKI,KAEvB"}
1
+ {"version":3,"file":"ContractLogInfo.js","sources":["../../src/contract/ContractLogInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractLoginfo} HieroProto.proto.IContractLoginfo\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n */\n\n/**\n * The log information for an event returned by a smart contract function call. One function call\n * may return several such events.\n */\nexport default class ContractLogInfo {\n /**\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {Uint8Array} props.bloom\n * @param {Uint8Array[]} props.topics\n * @param {Uint8Array} props.data\n */\n constructor(props) {\n /**\n * Address of a contract that emitted the event.\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * Bloom filter for a particular log.\n *\n * @readonly\n */\n this.bloom = props.bloom;\n\n /**\n * Topics of a particular event.\n *\n * @readonly\n */\n this.topics = props.topics;\n\n /**\n * Event data.\n *\n * @readonly\n */\n this.data = props.data;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IContractLoginfo} info\n * @returns {ContractLogInfo}\n */\n static _fromProtobuf(info) {\n return new ContractLogInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (info.contractID),\n ),\n bloom: info.bloom != null ? info.bloom : new Uint8Array(),\n topics: info.topic != null ? info.topic : [],\n data: info.data != null ? info.data : new Uint8Array(),\n });\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.IContractLoginfo}\n */\n _toProtobuf() {\n return {\n contractID: this.contractId._toProtobuf(),\n bloom: this.bloom,\n topic: this.topics,\n data: this.data,\n };\n }\n}\n"],"names":["ContractLogInfo","constructor","props","this","contractId","bloom","topics","data","Object","freeze","_fromProtobuf","info","ContractId","Uint8Array","topic","_toProtobuf","contractID"],"mappings":"+BAce,MAAMA,EAQjB,WAAAC,CAAYC,GAMRC,KAAKC,WAAaF,EAAME,WAOxBD,KAAKE,MAAQH,EAAMG,MAOnBF,KAAKG,OAASJ,EAAMI,OAOpBH,KAAKI,KAAOL,EAAMK,KAElBC,OAAOC,OAAON,KAClB,CAOA,oBAAOO,CAAcC,GACjB,OAAO,IAAIX,EAAgB,CACvBI,WAAYQ,EAAWF,cAC0BC,EAAe,YAEhEN,MAAqB,MAAdM,EAAKN,MAAgBM,EAAKN,MAAQ,IAAIQ,WAC7CP,OAAsB,MAAdK,EAAKG,MAAgBH,EAAKG,MAAQ,GAC1CP,KAAmB,MAAbI,EAAKJ,KAAeI,EAAKJ,KAAO,IAAIM,YAElD,CAMA,WAAAE,GACI,MAAO,CACHC,WAAYb,KAAKC,WAAWW,cAC5BV,MAAOF,KAAKE,MACZS,MAAOX,KAAKG,OACZC,KAAMJ,KAAKI,KAEnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContractNonceInfo.js","sources":["../../src/contract/ContractNonceInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\nimport Long from \"long\";\nimport * as protos from \"@hiero-ledger/proto\";\nconst { proto } = protos;\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractNonceInfo} HieroProto.proto.IContractNonceInfo\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n * @typedef {object} ContractNonceInfoJSON\n * @property {string} contractId\n * @property {number} nonce\n */\n\n/**\n * Info about a contract account's nonce value.\n * A nonce of a contract is only incremented when that contract creates another contract.\n */\nexport default class ContractNonceInfo {\n /**\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {Long} props.nonce\n */\n constructor(props) {\n /**\n * Id of the contract\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * The current value of the contract account's nonce property\n *\n * @readonly\n */\n this.nonce = props.nonce;\n\n Object.freeze(this);\n }\n\n /**\n * Extract the contractNonce from the protobuf.\n *\n * @internal\n * @param {HieroProto.proto.IContractNonceInfo} contractNonceInfo the protobuf\n * @returns {ContractNonceInfo} the contract object\n */\n static _fromProtobuf(contractNonceInfo) {\n return new ContractNonceInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (\n contractNonceInfo.contractId\n ),\n ),\n nonce:\n contractNonceInfo.nonce != null\n ? contractNonceInfo.nonce\n : Long.ZERO,\n });\n }\n\n /**\n * Build the protobuf\n *\n * @internal\n * @returns {HieroProto.proto.IContractNonceInfo} the protobuf representation\n */\n _toProtobuf() {\n return {\n contractId: this.contractId._toProtobuf(),\n nonce: this.nonce,\n };\n }\n\n /**\n * Extract the contractNonce from a byte array.\n *\n * @param {Uint8Array} bytes the byte array\n * @returns {ContractNonceInfo} the extracted contract nonce info\n */\n static fromBytes(bytes) {\n return ContractNonceInfo._fromProtobuf(\n proto.ContractNonceInfo.decode(bytes),\n );\n }\n\n /**\n * Create a byte array representation.\n *\n * @returns {Uint8Array} the byte array representation\n */\n toBytes() {\n return proto.ContractNonceInfo.encode(this._toProtobuf()).finish();\n }\n\n /**\n * Create a JSON representation.\n *\n * @returns {ContractNonceInfoJSON} the JSON representation\n */\n toJSON() {\n return {\n contractId: this.contractId.toString(),\n nonce: this.nonce.toNumber(),\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this.toJSON());\n }\n\n /**\n * @param {this} other\n * @returns {boolean}\n */\n equals(other) {\n return (\n this.contractId.equals(other.contractId) &&\n this.nonce.eq(other.nonce)\n );\n }\n}\n"],"names":["proto","protos","ContractNonceInfo","constructor","props","this","contractId","nonce","Object","freeze","_fromProtobuf","contractNonceInfo","ContractId","Long","ZERO","_toProtobuf","fromBytes","bytes","decode","toBytes","encode","finish","toJSON","toString","toNumber","JSON","stringify","equals","other","eq"],"mappings":"yFAKA,MAAMA,MAAEA,GAAUC,EAeH,MAAMC,EAMjB,WAAAC,CAAYC,GAMRC,KAAKC,WAAaF,EAAME,WAOxBD,KAAKE,MAAQH,EAAMG,MAEnBC,OAAOC,OAAOJ,KACtB,CASI,oBAAOK,CAAcC,GACjB,OAAO,IAAIT,EAAkB,CACzBI,WAAYM,EAAWF,cAEfC,EACpB,YAEYJ,MAC+B,MAA3BI,EAAkBJ,MACZI,EAAkBJ,MAClBM,EAAKC,MAE3B,CAQI,WAAAC,GACI,MAAO,CACHT,WAAYD,KAAKC,WAAWS,cAC5BR,MAAOF,KAAKE,MAExB,CAQI,gBAAOS,CAAUC,GACb,OAAOf,EAAkBQ,cACrBV,EAAME,kBAAkBgB,OAAOD,GAE3C,CAOI,OAAAE,GACI,OAAOnB,EAAME,kBAAkBkB,OAAOf,KAAKU,eAAeM,QAClE,CAOI,MAAAC,GACI,MAAO,CACHhB,WAAYD,KAAKC,WAAWiB,WAC5BhB,MAAOF,KAAKE,MAAMiB,WAE9B,CAKI,QAAAD,GACI,OAAOE,KAAKC,UAAUrB,KAAKiB,SACnC,CAMI,MAAAK,CAAOC,GACH,OACIvB,KAAKC,WAAWqB,OAAOC,EAAMtB,aAC7BD,KAAKE,MAAMsB,GAAGD,EAAMrB,MAEhC"}
1
+ {"version":3,"file":"ContractNonceInfo.js","sources":["../../src/contract/ContractNonceInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\nimport Long from \"long\";\nimport * as protos from \"@hiero-ledger/proto\";\nconst { proto } = protos;\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractNonceInfo} HieroProto.proto.IContractNonceInfo\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n * @typedef {object} ContractNonceInfoJSON\n * @property {string} contractId\n * @property {number} nonce\n */\n\n/**\n * Info about a contract account's nonce value.\n * A nonce of a contract is only incremented when that contract creates another contract.\n */\nexport default class ContractNonceInfo {\n /**\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {Long} props.nonce\n */\n constructor(props) {\n /**\n * Id of the contract\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * The current value of the contract account's nonce property\n *\n * @readonly\n */\n this.nonce = props.nonce;\n\n Object.freeze(this);\n }\n\n /**\n * Extract the contractNonce from the protobuf.\n *\n * @internal\n * @param {HieroProto.proto.IContractNonceInfo} contractNonceInfo the protobuf\n * @returns {ContractNonceInfo} the contract object\n */\n static _fromProtobuf(contractNonceInfo) {\n return new ContractNonceInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (\n contractNonceInfo.contractId\n ),\n ),\n nonce:\n contractNonceInfo.nonce != null\n ? contractNonceInfo.nonce\n : Long.ZERO,\n });\n }\n\n /**\n * Build the protobuf\n *\n * @internal\n * @returns {HieroProto.proto.IContractNonceInfo} the protobuf representation\n */\n _toProtobuf() {\n return {\n contractId: this.contractId._toProtobuf(),\n nonce: this.nonce,\n };\n }\n\n /**\n * Extract the contractNonce from a byte array.\n *\n * @param {Uint8Array} bytes the byte array\n * @returns {ContractNonceInfo} the extracted contract nonce info\n */\n static fromBytes(bytes) {\n return ContractNonceInfo._fromProtobuf(\n proto.ContractNonceInfo.decode(bytes),\n );\n }\n\n /**\n * Create a byte array representation.\n *\n * @returns {Uint8Array} the byte array representation\n */\n toBytes() {\n return proto.ContractNonceInfo.encode(this._toProtobuf()).finish();\n }\n\n /**\n * Create a JSON representation.\n *\n * @returns {ContractNonceInfoJSON} the JSON representation\n */\n toJSON() {\n return {\n contractId: this.contractId.toString(),\n nonce: this.nonce.toNumber(),\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this.toJSON());\n }\n\n /**\n * @param {this} other\n * @returns {boolean}\n */\n equals(other) {\n return (\n this.contractId.equals(other.contractId) &&\n this.nonce.eq(other.nonce)\n );\n }\n}\n"],"names":["proto","protos","ContractNonceInfo","constructor","props","this","contractId","nonce","Object","freeze","_fromProtobuf","contractNonceInfo","ContractId","Long","ZERO","_toProtobuf","fromBytes","bytes","decode","toBytes","encode","finish","toJSON","toString","toNumber","JSON","stringify","equals","other","eq"],"mappings":"yFAKA,MAAMA,MAAEA,GAAUC,EAeH,MAAMC,EAMjB,WAAAC,CAAYC,GAMRC,KAAKC,WAAaF,EAAME,WAOxBD,KAAKE,MAAQH,EAAMG,MAEnBC,OAAOC,OAAOJ,KAClB,CASA,oBAAOK,CAAcC,GACjB,OAAO,IAAIT,EAAkB,CACzBI,WAAYM,EAAWF,cAEfC,EACpB,YAEYJ,MAC+B,MAA3BI,EAAkBJ,MACZI,EAAkBJ,MAClBM,EAAKC,MAEvB,CAQA,WAAAC,GACI,MAAO,CACHT,WAAYD,KAAKC,WAAWS,cAC5BR,MAAOF,KAAKE,MAEpB,CAQA,gBAAOS,CAAUC,GACb,OAAOf,EAAkBQ,cACrBV,EAAME,kBAAkBgB,OAAOD,GAEvC,CAOA,OAAAE,GACI,OAAOnB,EAAME,kBAAkBkB,OAAOf,KAAKU,eAAeM,QAC9D,CAOA,MAAAC,GACI,MAAO,CACHhB,WAAYD,KAAKC,WAAWiB,WAC5BhB,MAAOF,KAAKE,MAAMiB,WAE1B,CAKA,QAAAD,GACI,OAAOE,KAAKC,UAAUrB,KAAKiB,SAC/B,CAMA,MAAAK,CAAOC,GACH,OACIvB,KAAKC,WAAWqB,OAAOC,EAAMtB,aAC7BD,KAAKE,MAAMsB,GAAGD,EAAMrB,MAE5B"}
@@ -32,7 +32,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
32
32
 
33
33
  /**
34
34
  * @typedef {import("../channel/Channel.js").default} Channel
35
- * @typedef {import("../client/Client.js").default<*, *>} Client
35
+ * @typedef {import("../channel/MirrorChannel.js").default} MirrorChannel
36
+ * @typedef {import("../client/Client.js").default<Channel, MirrorChannel>} Client
36
37
  * @typedef {import("../transaction/TransactionId.js").default} TransactionId
37
38
  */
38
39
 
@@ -12,7 +12,8 @@
12
12
  */
13
13
  /**
14
14
  * @typedef {import("../channel/Channel.js").default} Channel
15
- * @typedef {import("../client/Client.js").default<*, *>} Client
15
+ * @typedef {import("../channel/MirrorChannel.js").default} MirrorChannel
16
+ * @typedef {import("../client/Client.js").default<Channel, MirrorChannel>} Client
16
17
  * @typedef {import("../transaction/TransactionId.js").default} TransactionId
17
18
  */
18
19
  /**
@@ -268,7 +269,8 @@ export namespace HieroProto {
268
269
  }
269
270
  }
270
271
  export type Channel = import("../channel/Channel.js").default;
271
- export type Client = import("../client/Client.js").default<any, any>;
272
+ export type MirrorChannel = import("../channel/MirrorChannel.js").default;
273
+ export type Client = import("../client/Client.js").default<Channel, MirrorChannel>;
272
274
  export type TransactionId = import("../transaction/TransactionId.js").default;
273
275
  import Transaction from "../transaction/Transaction.js";
274
276
  import AccountId from "../account/AccountId.js";