@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":"StatusError.js","sources":["../src/StatusError.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\n/**\n * @typedef {import(\"./Status.js\").default} Status\n * @typedef {import(\"./transaction/TransactionId.js\").default} TransactionId\n */\n\n/**\n * @typedef {object} StatusErrorJSON\n * @property {string} name\n * @property {string} status\n * @property {string} transactionId\n * @property {string} message\n */\n\nexport default class StatusError extends Error {\n /**\n * @param {object} props\n * @param {Status} props.status\n * @param {TransactionId} props.transactionId\n * @param {string} message\n */\n constructor(props, message) {\n super(message);\n\n this.name = \"StatusError\";\n\n this.status = props.status;\n\n this.transactionId = props.transactionId;\n\n this.message = message;\n\n if (typeof Error.captureStackTrace !== \"undefined\") {\n Error.captureStackTrace(this, StatusError);\n }\n }\n\n /**\n * @returns {StatusErrorJSON}\n */\n toJSON() {\n return {\n name: this.name,\n status: this.status.toString(),\n transactionId: this.transactionId.toString(),\n message: this.message,\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this.toJSON());\n }\n\n /**\n * @returns {StatusErrorJSON}\n */\n valueOf() {\n return this.toJSON();\n }\n}\n"],"names":["StatusError","Error","constructor","props","message","super","this","name","status","transactionId","captureStackTrace","toJSON","toString","JSON","stringify","valueOf"],"mappings":"AAee,MAAMA,UAAoBC,MAOrC,WAAAC,CAAYC,EAAOC,GACfC,MAAMD,GAENE,KAAKC,KAAO,cAEZD,KAAKE,OAASL,EAAMK,OAEpBF,KAAKG,cAAgBN,EAAMM,cAE3BH,KAAKF,QAAUA,OAEwB,IAA5BH,MAAMS,mBACbT,MAAMS,kBAAkBJ,KAAMN,EAE1C,CAKI,MAAAW,GACI,MAAO,CACHJ,KAAMD,KAAKC,KACXC,OAAQF,KAAKE,OAAOI,WACpBH,cAAeH,KAAKG,cAAcG,WAClCR,QAASE,KAAKF,QAE1B,CAKI,QAAAQ,GACI,OAAOC,KAAKC,UAAUR,KAAKK,SACnC,CAKI,OAAAI,GACI,OAAOT,KAAKK,QACpB"}
1
+ {"version":3,"file":"StatusError.js","sources":["../src/StatusError.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\n/**\n * @typedef {import(\"./Status.js\").default} Status\n * @typedef {import(\"./transaction/TransactionId.js\").default} TransactionId\n */\n\n/**\n * @typedef {object} StatusErrorJSON\n * @property {string} name\n * @property {string} status\n * @property {string} transactionId\n * @property {string} message\n */\n\nexport default class StatusError extends Error {\n /**\n * @param {object} props\n * @param {Status} props.status\n * @param {TransactionId} props.transactionId\n * @param {string} message\n */\n constructor(props, message) {\n super(message);\n\n this.name = \"StatusError\";\n\n this.status = props.status;\n\n this.transactionId = props.transactionId;\n\n this.message = message;\n\n if (typeof Error.captureStackTrace !== \"undefined\") {\n Error.captureStackTrace(this, StatusError);\n }\n }\n\n /**\n * @returns {StatusErrorJSON}\n */\n toJSON() {\n return {\n name: this.name,\n status: this.status.toString(),\n transactionId: this.transactionId.toString(),\n message: this.message,\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this.toJSON());\n }\n\n /**\n * @returns {StatusErrorJSON}\n */\n valueOf() {\n return this.toJSON();\n }\n}\n"],"names":["StatusError","Error","constructor","props","message","super","this","name","status","transactionId","captureStackTrace","toJSON","toString","JSON","stringify","valueOf"],"mappings":"AAee,MAAMA,UAAoBC,MAOrC,WAAAC,CAAYC,EAAOC,GACfC,MAAMD,GAENE,KAAKC,KAAO,cAEZD,KAAKE,OAASL,EAAMK,OAEpBF,KAAKG,cAAgBN,EAAMM,cAE3BH,KAAKF,QAAUA,OAEwB,IAA5BH,MAAMS,mBACbT,MAAMS,kBAAkBJ,KAAMN,EAEtC,CAKA,MAAAW,GACI,MAAO,CACHJ,KAAMD,KAAKC,KACXC,OAAQF,KAAKE,OAAOI,WACpBH,cAAeH,KAAKG,cAAcG,WAClCR,QAASE,KAAKF,QAEtB,CAKA,QAAAQ,GACI,OAAOC,KAAKC,UAAUR,KAAKK,SAC/B,CAKA,OAAAI,GACI,OAAOT,KAAKK,QAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Timestamp.js","sources":["../src/Timestamp.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Long from \"long\";\nimport Cache from \"./Cache.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITimestamp} HieroProto.proto.ITimestamp\n */\n\nconst MAX_NS = Long.fromNumber(1000000000);\nconst generatedIds = new Set();\n\n/**\n * Represents a point in time with seconds and nanoseconds precision.\n *\n * The `Timestamp` class provides methods for creating, manipulating, and converting\n * timestamps. It supports operations such as addition of nanoseconds, conversion to\n * JavaScript Date objects, and generation of timestamps based on the current time.\n */\nexport default class Timestamp {\n /**\n * @param {Long | number} seconds\n * @param {Long | number} nanos\n */\n constructor(seconds, nanos) {\n /**\n * @readonly\n * @type {Long}\n */\n this.seconds =\n seconds instanceof Long ? seconds : Long.fromNumber(seconds);\n\n /**\n * @readonly\n * @type {Long}\n */\n this.nanos = nanos instanceof Long ? nanos : Long.fromNumber(nanos);\n\n Object.freeze(this);\n }\n\n /**\n * @param {boolean} hasJitter\n * @returns {Timestamp}\n */\n static generate(hasJitter = true) {\n let jitter;\n if (hasJitter) {\n jitter = Math.floor(Math.random() * 5000) + 3000;\n } else {\n jitter = 0;\n }\n const now = Date.now() - jitter;\n const seconds = Math.floor(now / 1000) + Cache.timeDrift;\n const nanos =\n Math.floor(now % 1000) * 1000000 +\n Math.floor(Math.random() * 1000000);\n\n const timestamp = new Timestamp(seconds, nanos);\n if (generatedIds.has(timestamp.toString())) {\n return this.generate();\n } else {\n generatedIds.add(timestamp.toString());\n return timestamp;\n }\n }\n\n /**\n * @param {string | number | Date} date\n * @returns {Timestamp}\n */\n static fromDate(date) {\n let nanos;\n\n if (typeof date === \"number\") {\n nanos = Long.fromNumber(date);\n } else if (typeof date === \"string\") {\n nanos = Long.fromNumber(Date.parse(date)).mul(1000000);\n } else if (date instanceof Date) {\n nanos = Long.fromNumber(date.getTime()).mul(1000000);\n } else {\n throw new TypeError(\n `invalid type '${typeof date}' for 'data', expected 'Date'`,\n );\n }\n\n return new Timestamp(0, 0).plusNanos(nanos);\n }\n\n /**\n * @returns {Date}\n */\n toDate() {\n return new Date(\n this.seconds.toNumber() * 1000 +\n Math.floor(this.nanos.toInt() / 1000000),\n );\n }\n\n /**\n * @param {Long | number} nanos\n * @returns {Timestamp}\n */\n plusNanos(nanos) {\n const ns = this.nanos.add(nanos);\n\n return new Timestamp(this.seconds.add(ns.div(MAX_NS)), ns.mod(MAX_NS));\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.ITimestamp}\n */\n _toProtobuf() {\n return {\n seconds: this.seconds,\n nanos: this.nanos.toInt(),\n };\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ITimestamp} timestamp\n * @returns {Timestamp}\n */\n static _fromProtobuf(timestamp) {\n return new Timestamp(\n timestamp.seconds instanceof Long\n ? timestamp.seconds\n : timestamp.seconds != null\n ? timestamp.seconds\n : 0,\n\n timestamp.nanos != null ? timestamp.nanos : 0,\n );\n }\n\n /**\n * @returns {string}\n */\n toString() {\n const zeroPaddedNanos = String(this.nanos).padStart(9, \"0\");\n return `${this.seconds.toString()}.${zeroPaddedNanos}`;\n }\n\n /**\n * @param {Timestamp} other\n * @returns {number}\n */\n compare(other) {\n const comparison = this.seconds.compare(other.seconds);\n\n if (comparison != 0) {\n return comparison;\n }\n\n return this.nanos.compare(other.nanos);\n }\n}\n"],"names":["MAX_NS","Long","fromNumber","generatedIds","Set","Timestamp","constructor","seconds","nanos","this","Object","freeze","generate","hasJitter","jitter","Math","floor","random","now","Date","Cache","timeDrift","timestamp","has","toString","add","fromDate","date","parse","mul","TypeError","getTime","plusNanos","toDate","toNumber","toInt","ns","div","mod","_toProtobuf","_fromProtobuf","zeroPaddedNanos","String","padStart","compare","other","comparison"],"mappings":"8CAUA,MAAMA,EAASC,EAAKC,WAAW,KACzBC,EAAe,IAAIC,IASV,MAAMC,EAKjB,WAAAC,CAAYC,EAASC,GAKjBC,KAAKF,QACDA,aAAmBN,EAAOM,EAAUN,EAAKC,WAAWK,GAMxDE,KAAKD,MAAQA,aAAiBP,EAAOO,EAAQP,EAAKC,WAAWM,GAE7DE,OAAOC,OAAOF,KACtB,CAMI,eAAOG,CAASC,GAAY,GACxB,IAAIC,EAEAA,EADAD,EACSE,KAAKC,MAAsB,IAAhBD,KAAKE,UAAmB,IAEnC,EAEb,MAAMC,EAAMC,KAAKD,MAAQJ,EACnBP,EAAUQ,KAAKC,MAAME,EAAM,KAAQE,EAAMC,UACzCb,EACuB,IAAzBO,KAAKC,MAAME,EAAM,KACjBH,KAAKC,MAAsB,IAAhBD,KAAKE,UAEdK,EAAY,IAAIjB,EAAUE,EAASC,GACzC,OAAIL,EAAaoB,IAAID,EAAUE,YACpBf,KAAKG,YAEZT,EAAasB,IAAIH,EAAUE,YACpBF,EAEnB,CAMI,eAAOI,CAASC,GACZ,IAAInB,EAEJ,GAAoB,iBAATmB,EACPnB,EAAQP,EAAKC,WAAWyB,QACrB,GAAoB,iBAATA,EACdnB,EAAQP,EAAKC,WAAWiB,KAAKS,MAAMD,IAAOE,IAAI,SAC3C,MAAIF,aAAgBR,MAGvB,MAAM,IAAIW,UACN,wBAAwBH,kCAH5BnB,EAAQP,EAAKC,WAAWyB,EAAKI,WAAWF,IAAI,IAKxD,CAEQ,OAAO,IAAIxB,EAAU,EAAG,GAAG2B,UAAUxB,EAC7C,CAKI,MAAAyB,GACI,OAAO,IAAId,KACmB,IAA1BV,KAAKF,QAAQ2B,WACTnB,KAAKC,MAAMP,KAAKD,MAAM2B,QAAU,KAEhD,CAMI,SAAAH,CAAUxB,GACN,MAAM4B,EAAK3B,KAAKD,MAAMiB,IAAIjB,GAE1B,OAAO,IAAIH,EAAUI,KAAKF,QAAQkB,IAAIW,EAAGC,IAAIrC,IAAUoC,EAAGE,IAAItC,GACtE,CAMI,WAAAuC,GACI,MAAO,CACHhC,QAASE,KAAKF,QACdC,MAAOC,KAAKD,MAAM2B,QAE9B,CAOI,oBAAOK,CAAclB,GACjB,OAAO,IAAIjB,EACPiB,EAAUf,mBAAmBN,GAEF,MAArBqB,EAAUf,QADVe,EAAUf,QAGV,EAEa,MAAnBe,EAAUd,MAAgBc,EAAUd,MAAQ,EAExD,CAKI,QAAAgB,GACI,MAAMiB,EAAkBC,OAAOjC,KAAKD,OAAOmC,SAAS,EAAG,KACvD,MAAO,GAAGlC,KAAKF,QAAQiB,cAAciB,GAC7C,CAMI,OAAAG,CAAQC,GACJ,MAAMC,EAAarC,KAAKF,QAAQqC,QAAQC,EAAMtC,SAE9C,OAAkB,GAAduC,EACOA,EAGJrC,KAAKD,MAAMoC,QAAQC,EAAMrC,MACxC"}
1
+ {"version":3,"file":"Timestamp.js","sources":["../src/Timestamp.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Long from \"long\";\nimport Cache from \"./Cache.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITimestamp} HieroProto.proto.ITimestamp\n */\n\nconst MAX_NS = Long.fromNumber(1000000000);\nconst generatedIds = new Set();\n\n/**\n * Represents a point in time with seconds and nanoseconds precision.\n *\n * The `Timestamp` class provides methods for creating, manipulating, and converting\n * timestamps. It supports operations such as addition of nanoseconds, conversion to\n * JavaScript Date objects, and generation of timestamps based on the current time.\n */\nexport default class Timestamp {\n /**\n * @param {Long | number} seconds\n * @param {Long | number} nanos\n */\n constructor(seconds, nanos) {\n /**\n * @readonly\n * @type {Long}\n */\n this.seconds =\n seconds instanceof Long ? seconds : Long.fromNumber(seconds);\n\n /**\n * @readonly\n * @type {Long}\n */\n this.nanos = nanos instanceof Long ? nanos : Long.fromNumber(nanos);\n\n Object.freeze(this);\n }\n\n /**\n * @param {boolean} hasJitter\n * @returns {Timestamp}\n */\n static generate(hasJitter = true) {\n let jitter;\n if (hasJitter) {\n jitter = Math.floor(Math.random() * 5000) + 3000;\n } else {\n jitter = 0;\n }\n const now = Date.now() - jitter;\n const seconds = Math.floor(now / 1000) + Cache.timeDrift;\n const nanos =\n Math.floor(now % 1000) * 1000000 +\n Math.floor(Math.random() * 1000000);\n\n const timestamp = new Timestamp(seconds, nanos);\n if (generatedIds.has(timestamp.toString())) {\n return this.generate();\n } else {\n generatedIds.add(timestamp.toString());\n return timestamp;\n }\n }\n\n /**\n * @param {string | number | Date} date\n * @returns {Timestamp}\n */\n static fromDate(date) {\n let nanos;\n\n if (typeof date === \"number\") {\n nanos = Long.fromNumber(date);\n } else if (typeof date === \"string\") {\n nanos = Long.fromNumber(Date.parse(date)).mul(1000000);\n } else if (date instanceof Date) {\n nanos = Long.fromNumber(date.getTime()).mul(1000000);\n } else {\n throw new TypeError(\n `invalid type '${typeof date}' for 'data', expected 'Date'`,\n );\n }\n\n return new Timestamp(0, 0).plusNanos(nanos);\n }\n\n /**\n * @returns {Date}\n */\n toDate() {\n return new Date(\n this.seconds.toNumber() * 1000 +\n Math.floor(this.nanos.toInt() / 1000000),\n );\n }\n\n /**\n * @param {Long | number} nanos\n * @returns {Timestamp}\n */\n plusNanos(nanos) {\n const ns = this.nanos.add(nanos);\n\n return new Timestamp(this.seconds.add(ns.div(MAX_NS)), ns.mod(MAX_NS));\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.ITimestamp}\n */\n _toProtobuf() {\n return {\n seconds: this.seconds,\n nanos: this.nanos.toInt(),\n };\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ITimestamp} timestamp\n * @returns {Timestamp}\n */\n static _fromProtobuf(timestamp) {\n return new Timestamp(\n timestamp.seconds instanceof Long\n ? timestamp.seconds\n : timestamp.seconds != null\n ? timestamp.seconds\n : 0,\n\n timestamp.nanos != null ? timestamp.nanos : 0,\n );\n }\n\n /**\n * @returns {string}\n */\n toString() {\n const zeroPaddedNanos = String(this.nanos).padStart(9, \"0\");\n return `${this.seconds.toString()}.${zeroPaddedNanos}`;\n }\n\n /**\n * @param {Timestamp} other\n * @returns {number}\n */\n compare(other) {\n const comparison = this.seconds.compare(other.seconds);\n\n if (comparison != 0) {\n return comparison;\n }\n\n return this.nanos.compare(other.nanos);\n }\n}\n"],"names":["MAX_NS","Long","fromNumber","generatedIds","Set","Timestamp","constructor","seconds","nanos","this","Object","freeze","generate","hasJitter","jitter","Math","floor","random","now","Date","Cache","timeDrift","timestamp","has","toString","add","fromDate","date","parse","mul","TypeError","getTime","plusNanos","toDate","toNumber","toInt","ns","div","mod","_toProtobuf","_fromProtobuf","zeroPaddedNanos","String","padStart","compare","other","comparison"],"mappings":"8CAUA,MAAMA,EAASC,EAAKC,WAAW,KACzBC,EAAe,IAAIC,IASV,MAAMC,EAKjB,WAAAC,CAAYC,EAASC,GAKjBC,KAAKF,QACDA,aAAmBN,EAAOM,EAAUN,EAAKC,WAAWK,GAMxDE,KAAKD,MAAQA,aAAiBP,EAAOO,EAAQP,EAAKC,WAAWM,GAE7DE,OAAOC,OAAOF,KAClB,CAMA,eAAOG,CAASC,GAAY,GACxB,IAAIC,EAEAA,EADAD,EACSE,KAAKC,MAAsB,IAAhBD,KAAKE,UAAmB,IAEnC,EAEb,MAAMC,EAAMC,KAAKD,MAAQJ,EACnBP,EAAUQ,KAAKC,MAAME,EAAM,KAAQE,EAAMC,UACzCb,EACuB,IAAzBO,KAAKC,MAAME,EAAM,KACjBH,KAAKC,MAAsB,IAAhBD,KAAKE,UAEdK,EAAY,IAAIjB,EAAUE,EAASC,GACzC,OAAIL,EAAaoB,IAAID,EAAUE,YACpBf,KAAKG,YAEZT,EAAasB,IAAIH,EAAUE,YACpBF,EAEf,CAMA,eAAOI,CAASC,GACZ,IAAInB,EAEJ,GAAoB,iBAATmB,EACPnB,EAAQP,EAAKC,WAAWyB,QACrB,GAAoB,iBAATA,EACdnB,EAAQP,EAAKC,WAAWiB,KAAKS,MAAMD,IAAOE,IAAI,SAC3C,MAAIF,aAAgBR,MAGvB,MAAM,IAAIW,UACN,wBAAwBH,kCAH5BnB,EAAQP,EAAKC,WAAWyB,EAAKI,WAAWF,IAAI,IAKhD,CAEA,OAAO,IAAIxB,EAAU,EAAG,GAAG2B,UAAUxB,EACzC,CAKA,MAAAyB,GACI,OAAO,IAAId,KACmB,IAA1BV,KAAKF,QAAQ2B,WACTnB,KAAKC,MAAMP,KAAKD,MAAM2B,QAAU,KAE5C,CAMA,SAAAH,CAAUxB,GACN,MAAM4B,EAAK3B,KAAKD,MAAMiB,IAAIjB,GAE1B,OAAO,IAAIH,EAAUI,KAAKF,QAAQkB,IAAIW,EAAGC,IAAIrC,IAAUoC,EAAGE,IAAItC,GAClE,CAMA,WAAAuC,GACI,MAAO,CACHhC,QAASE,KAAKF,QACdC,MAAOC,KAAKD,MAAM2B,QAE1B,CAOA,oBAAOK,CAAclB,GACjB,OAAO,IAAIjB,EACPiB,EAAUf,mBAAmBN,GAEF,MAArBqB,EAAUf,QADVe,EAAUf,QAGV,EAEa,MAAnBe,EAAUd,MAAgBc,EAAUd,MAAQ,EAEpD,CAKA,QAAAgB,GACI,MAAMiB,EAAkBC,OAAOjC,KAAKD,OAAOmC,SAAS,EAAG,KACvD,MAAO,GAAGlC,KAAKF,QAAQiB,cAAciB,GACzC,CAMA,OAAAG,CAAQC,GACJ,MAAMC,EAAarC,KAAKF,QAAQqC,QAAQC,EAAMtC,SAE9C,OAAkB,GAAduC,EACOA,EAGJrC,KAAKD,MAAMoC,QAAQC,EAAMrC,MACpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionFeeSchedule.js","sources":["../src/TransactionFeeSchedule.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport RequestType from \"./RequestType.js\";\nimport FeeData from \"./FeeData.js\";\n\nexport default class TransactionFeeSchedule {\n /**\n * @param {object} [props]\n * @param {RequestType} [props.hederaFunctionality]\n * @param {FeeData} [props.feeData]\n * @param {FeeData[]} [props.fees]\n */\n constructor(props = {}) {\n /*\n * A particular transaction or query\n *\n * @type {RequestType}\n */\n this.hederaFunctionality = props.hederaFunctionality;\n\n /*\n * Resource price coefficients\n *\n * @type {FeeData}\n */\n this.feeData = props.feeData;\n\n /*\n * Resource price coefficients\n *\n * @type {FeeData[]}\n */\n this.fees = props.fees;\n }\n\n /**\n * @param {Uint8Array} bytes\n * @returns {TransactionFeeSchedule}\n */\n static fromBytes(bytes) {\n return TransactionFeeSchedule._fromProtobuf(\n HieroProto.proto.TransactionFeeSchedule.decode(bytes),\n );\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ITransactionFeeSchedule} transactionFeeSchedule\n * @returns {TransactionFeeSchedule}\n */\n static _fromProtobuf(transactionFeeSchedule) {\n return new TransactionFeeSchedule({\n hederaFunctionality:\n transactionFeeSchedule.hederaFunctionality != null\n ? RequestType._fromCode(\n transactionFeeSchedule.hederaFunctionality,\n )\n : undefined,\n feeData:\n transactionFeeSchedule.feeData != null\n ? FeeData._fromProtobuf(transactionFeeSchedule.feeData)\n : undefined,\n fees:\n transactionFeeSchedule.fees != null\n ? transactionFeeSchedule.fees.map((fee) =>\n FeeData._fromProtobuf(fee),\n )\n : undefined,\n });\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.ITransactionFeeSchedule}\n */\n _toProtobuf() {\n return {\n hederaFunctionality:\n this.hederaFunctionality != null\n ? this.hederaFunctionality.valueOf()\n : undefined,\n feeData:\n this.feeData != null ? this.feeData._toProtobuf() : undefined,\n fees:\n this.fees != null\n ? this.fees.map((fee) => fee._toProtobuf())\n : undefined,\n };\n }\n\n /**\n * @returns {Uint8Array}\n */\n toBytes() {\n return HieroProto.proto.TransactionFeeSchedule.encode(\n this._toProtobuf(),\n ).finish();\n }\n}\n"],"names":["TransactionFeeSchedule","constructor","props","this","hederaFunctionality","feeData","fees","fromBytes","bytes","_fromProtobuf","HieroProto","proto","decode","transactionFeeSchedule","RequestType","_fromCode","undefined","FeeData","map","fee","_toProtobuf","valueOf","toBytes","encode","finish"],"mappings":"kGAMe,MAAMA,EAOjB,WAAAC,CAAYC,EAAQ,IAMhBC,KAAKC,oBAAsBF,EAAME,oBAOjCD,KAAKE,QAAUH,EAAMG,QAOrBF,KAAKG,KAAOJ,EAAMI,IAC1B,CAMI,gBAAOC,CAAUC,GACb,OAAOR,EAAuBS,cAC1BC,EAAWC,MAAMX,uBAAuBY,OAAOJ,GAE3D,CAOI,oBAAOC,CAAcI,GACjB,OAAO,IAAIb,EAAuB,CAC9BI,oBACkD,MAA9CS,EAAuBT,oBACjBU,EAAYC,UACRF,EAAuBT,0BAE3BY,EACVX,QACsC,MAAlCQ,EAAuBR,QACjBY,EAAQR,cAAcI,EAAuBR,cAC7CW,EACVV,KACmC,MAA/BO,EAAuBP,KACjBO,EAAuBP,KAAKY,IAAKC,GAC7BF,EAAQR,cAAcU,SAE1BH,GAEtB,CAMI,WAAAI,GACI,MAAO,CACHhB,oBACgC,MAA5BD,KAAKC,oBACCD,KAAKC,oBAAoBiB,eACzBL,EACVX,QACoB,MAAhBF,KAAKE,QAAkBF,KAAKE,QAAQe,mBAAgBJ,EACxDV,KACiB,MAAbH,KAAKG,KACCH,KAAKG,KAAKY,IAAKC,GAAQA,EAAIC,oBAC3BJ,EAEtB,CAKI,OAAAM,GACI,OAAOZ,EAAWC,MAAMX,uBAAuBuB,OAC3CpB,KAAKiB,eACPI,QACV"}
1
+ {"version":3,"file":"TransactionFeeSchedule.js","sources":["../src/TransactionFeeSchedule.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport RequestType from \"./RequestType.js\";\nimport FeeData from \"./FeeData.js\";\n\nexport default class TransactionFeeSchedule {\n /**\n * @param {object} [props]\n * @param {RequestType} [props.hederaFunctionality]\n * @param {FeeData} [props.feeData]\n * @param {FeeData[]} [props.fees]\n */\n constructor(props = {}) {\n /*\n * A particular transaction or query\n *\n * @type {RequestType}\n */\n this.hederaFunctionality = props.hederaFunctionality;\n\n /*\n * Resource price coefficients\n *\n * @type {FeeData}\n */\n this.feeData = props.feeData;\n\n /*\n * Resource price coefficients\n *\n * @type {FeeData[]}\n */\n this.fees = props.fees;\n }\n\n /**\n * @param {Uint8Array} bytes\n * @returns {TransactionFeeSchedule}\n */\n static fromBytes(bytes) {\n return TransactionFeeSchedule._fromProtobuf(\n HieroProto.proto.TransactionFeeSchedule.decode(bytes),\n );\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ITransactionFeeSchedule} transactionFeeSchedule\n * @returns {TransactionFeeSchedule}\n */\n static _fromProtobuf(transactionFeeSchedule) {\n return new TransactionFeeSchedule({\n hederaFunctionality:\n transactionFeeSchedule.hederaFunctionality != null\n ? RequestType._fromCode(\n transactionFeeSchedule.hederaFunctionality,\n )\n : undefined,\n feeData:\n transactionFeeSchedule.feeData != null\n ? FeeData._fromProtobuf(transactionFeeSchedule.feeData)\n : undefined,\n fees:\n transactionFeeSchedule.fees != null\n ? transactionFeeSchedule.fees.map((fee) =>\n FeeData._fromProtobuf(fee),\n )\n : undefined,\n });\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.ITransactionFeeSchedule}\n */\n _toProtobuf() {\n return {\n hederaFunctionality:\n this.hederaFunctionality != null\n ? this.hederaFunctionality.valueOf()\n : undefined,\n feeData:\n this.feeData != null ? this.feeData._toProtobuf() : undefined,\n fees:\n this.fees != null\n ? this.fees.map((fee) => fee._toProtobuf())\n : undefined,\n };\n }\n\n /**\n * @returns {Uint8Array}\n */\n toBytes() {\n return HieroProto.proto.TransactionFeeSchedule.encode(\n this._toProtobuf(),\n ).finish();\n }\n}\n"],"names":["TransactionFeeSchedule","constructor","props","this","hederaFunctionality","feeData","fees","fromBytes","bytes","_fromProtobuf","HieroProto","proto","decode","transactionFeeSchedule","RequestType","_fromCode","undefined","FeeData","map","fee","_toProtobuf","valueOf","toBytes","encode","finish"],"mappings":"kGAMe,MAAMA,EAOjB,WAAAC,CAAYC,EAAQ,IAMhBC,KAAKC,oBAAsBF,EAAME,oBAOjCD,KAAKE,QAAUH,EAAMG,QAOrBF,KAAKG,KAAOJ,EAAMI,IACtB,CAMA,gBAAOC,CAAUC,GACb,OAAOR,EAAuBS,cAC1BC,EAAWC,MAAMX,uBAAuBY,OAAOJ,GAEvD,CAOA,oBAAOC,CAAcI,GACjB,OAAO,IAAIb,EAAuB,CAC9BI,oBACkD,MAA9CS,EAAuBT,oBACjBU,EAAYC,UACRF,EAAuBT,0BAE3BY,EACVX,QACsC,MAAlCQ,EAAuBR,QACjBY,EAAQR,cAAcI,EAAuBR,cAC7CW,EACVV,KACmC,MAA/BO,EAAuBP,KACjBO,EAAuBP,KAAKY,IAAKC,GAC7BF,EAAQR,cAAcU,SAE1BH,GAElB,CAMA,WAAAI,GACI,MAAO,CACHhB,oBACgC,MAA5BD,KAAKC,oBACCD,KAAKC,oBAAoBiB,eACzBL,EACVX,QACoB,MAAhBF,KAAKE,QAAkBF,KAAKE,QAAQe,mBAAgBJ,EACxDV,KACiB,MAAbH,KAAKG,KACCH,KAAKG,KAAKY,IAAKC,GAAQA,EAAIC,oBAC3BJ,EAElB,CAKA,OAAAM,GACI,OAAOZ,EAAWC,MAAMX,uBAAuBuB,OAC3CpB,KAAKiB,eACPI,QACN"}
@@ -1 +1 @@
1
- {"version":3,"file":"Transfer.js","sources":["../src/Transfer.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport AccountId from \"./account/AccountId.js\";\nimport Hbar from \"./Hbar.js\";\n\n/**\n * @typedef {object} TransferJSON\n * @property {string} accountId\n * @property {string} amount\n * @property {boolean} isApproved\n */\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountAmount} HieroProto.proto.IAccountAmount\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountID} HieroProto.proto.IAccountID\n */\n\n/**\n * @typedef {import(\"bignumber.js\").default} BigNumber\n * @typedef {import(\"long\")} Long\n */\n\n/**\n * An account, and the amount that it sends or receives during a cryptocurrency transfer.\n */\nexport default class Transfer {\n /**\n * @internal\n * @param {object} props\n * @param {AccountId | string} props.accountId\n * @param {number | string | Long | BigNumber | Hbar} props.amount\n * @param {boolean} props.isApproved\n */\n constructor(props) {\n /**\n * The Account ID that sends or receives cryptocurrency.\n *\n * @readonly\n */\n this.accountId =\n props.accountId instanceof AccountId\n ? props.accountId\n : AccountId.fromString(props.accountId);\n\n /**\n * The amount of tinybars that the account sends(negative) or receives(positive).\n */\n this.amount =\n props.amount instanceof Hbar\n ? props.amount\n : new Hbar(props.amount);\n\n this.isApproved = props.isApproved;\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IAccountAmount[]} accountAmounts\n * @returns {Transfer[]}\n */\n static _fromProtobuf(accountAmounts) {\n const transfers = [];\n\n for (const transfer of accountAmounts) {\n transfers.push(\n new Transfer({\n accountId: AccountId._fromProtobuf(\n /** @type {HieroProto.proto.IAccountID} */ (\n transfer.accountID\n ),\n ),\n amount: Hbar.fromTinybars(\n transfer.amount != null ? transfer.amount : 0,\n ),\n isApproved: /** @type {boolean} */ (transfer.isApproval),\n }),\n );\n }\n\n return transfers;\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.IAccountAmount}\n */\n _toProtobuf() {\n return {\n accountID: this.accountId._toProtobuf(),\n amount: this.amount.toTinybars(),\n isApproval: this.isApproved,\n };\n }\n\n /**\n * @returns {TransferJSON}\n */\n toJSON() {\n return {\n accountId: this.accountId.toString(),\n amount: this.amount.toTinybars().toString(),\n isApproved: this.isApproved,\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this.toJSON());\n }\n}\n"],"names":["Transfer","constructor","props","this","accountId","AccountId","fromString","amount","Hbar","isApproved","_fromProtobuf","accountAmounts","transfers","transfer","push","fromTinybars","_toProtobuf","accountID","toTinybars","isApproval","toJSON","toString","JSON","stringify"],"mappings":"+DA0Be,MAAMA,EAQjB,WAAAC,CAAYC,GAMRC,KAAKC,UACDF,EAAME,qBAAqBC,EACrBH,EAAME,UACNC,EAAUC,WAAWJ,EAAME,WAKrCD,KAAKI,OACDL,EAAMK,kBAAkBC,EAClBN,EAAMK,OACN,IAAIC,EAAKN,EAAMK,QAEzBJ,KAAKM,WAAaP,EAAMO,UAChC,CAOI,oBAAOC,CAAcC,GACjB,MAAMC,EAAY,GAElB,IAAK,MAAMC,KAAYF,EACnBC,EAAUE,KACN,IAAId,EAAS,CACTI,UAAWC,EAAUK,cAEbG,EAC5B,WAEoBN,OAAQC,EAAKO,aACU,MAAnBF,EAASN,OAAiBM,EAASN,OAAS,GAEhDE,WAAoCI,EAAmB,cAKnE,OAAOD,CACf,CAMI,WAAAI,GACI,MAAO,CACHC,UAAWd,KAAKC,UAAUY,cAC1BT,OAAQJ,KAAKI,OAAOW,aACpBC,WAAYhB,KAAKM,WAE7B,CAKI,MAAAW,GACI,MAAO,CACHhB,UAAWD,KAAKC,UAAUiB,WAC1Bd,OAAQJ,KAAKI,OAAOW,aAAaG,WACjCZ,WAAYN,KAAKM,WAE7B,CAKI,QAAAY,GACI,OAAOC,KAAKC,UAAUpB,KAAKiB,SACnC"}
1
+ {"version":3,"file":"Transfer.js","sources":["../src/Transfer.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport AccountId from \"./account/AccountId.js\";\nimport Hbar from \"./Hbar.js\";\n\n/**\n * @typedef {object} TransferJSON\n * @property {string} accountId\n * @property {string} amount\n * @property {boolean} isApproved\n */\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountAmount} HieroProto.proto.IAccountAmount\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountID} HieroProto.proto.IAccountID\n */\n\n/**\n * @typedef {import(\"bignumber.js\").default} BigNumber\n * @typedef {import(\"long\")} Long\n */\n\n/**\n * An account, and the amount that it sends or receives during a cryptocurrency transfer.\n */\nexport default class Transfer {\n /**\n * @internal\n * @param {object} props\n * @param {AccountId | string} props.accountId\n * @param {number | string | Long | BigNumber | Hbar} props.amount\n * @param {boolean} props.isApproved\n */\n constructor(props) {\n /**\n * The Account ID that sends or receives cryptocurrency.\n *\n * @readonly\n */\n this.accountId =\n props.accountId instanceof AccountId\n ? props.accountId\n : AccountId.fromString(props.accountId);\n\n /**\n * The amount of tinybars that the account sends(negative) or receives(positive).\n */\n this.amount =\n props.amount instanceof Hbar\n ? props.amount\n : new Hbar(props.amount);\n\n this.isApproved = props.isApproved;\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IAccountAmount[]} accountAmounts\n * @returns {Transfer[]}\n */\n static _fromProtobuf(accountAmounts) {\n const transfers = [];\n\n for (const transfer of accountAmounts) {\n transfers.push(\n new Transfer({\n accountId: AccountId._fromProtobuf(\n /** @type {HieroProto.proto.IAccountID} */ (\n transfer.accountID\n ),\n ),\n amount: Hbar.fromTinybars(\n transfer.amount != null ? transfer.amount : 0,\n ),\n isApproved: /** @type {boolean} */ (transfer.isApproval),\n }),\n );\n }\n\n return transfers;\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.IAccountAmount}\n */\n _toProtobuf() {\n return {\n accountID: this.accountId._toProtobuf(),\n amount: this.amount.toTinybars(),\n isApproval: this.isApproved,\n };\n }\n\n /**\n * @returns {TransferJSON}\n */\n toJSON() {\n return {\n accountId: this.accountId.toString(),\n amount: this.amount.toTinybars().toString(),\n isApproved: this.isApproved,\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this.toJSON());\n }\n}\n"],"names":["Transfer","constructor","props","this","accountId","AccountId","fromString","amount","Hbar","isApproved","_fromProtobuf","accountAmounts","transfers","transfer","push","fromTinybars","_toProtobuf","accountID","toTinybars","isApproval","toJSON","toString","JSON","stringify"],"mappings":"+DA0Be,MAAMA,EAQjB,WAAAC,CAAYC,GAMRC,KAAKC,UACDF,EAAME,qBAAqBC,EACrBH,EAAME,UACNC,EAAUC,WAAWJ,EAAME,WAKrCD,KAAKI,OACDL,EAAMK,kBAAkBC,EAClBN,EAAMK,OACN,IAAIC,EAAKN,EAAMK,QAEzBJ,KAAKM,WAAaP,EAAMO,UAC5B,CAOA,oBAAOC,CAAcC,GACjB,MAAMC,EAAY,GAElB,IAAK,MAAMC,KAAYF,EACnBC,EAAUE,KACN,IAAId,EAAS,CACTI,UAAWC,EAAUK,cAEbG,EAC5B,WAEoBN,OAAQC,EAAKO,aACU,MAAnBF,EAASN,OAAiBM,EAASN,OAAS,GAEhDE,WAAoCI,EAAmB,cAKnE,OAAOD,CACX,CAMA,WAAAI,GACI,MAAO,CACHC,UAAWd,KAAKC,UAAUY,cAC1BT,OAAQJ,KAAKI,OAAOW,aACpBC,WAAYhB,KAAKM,WAEzB,CAKA,MAAAW,GACI,MAAO,CACHhB,UAAWD,KAAKC,UAAUiB,WAC1Bd,OAAQJ,KAAKI,OAAOW,aAAaG,WACjCZ,WAAYN,KAAKM,WAEzB,CAKA,QAAAY,GACI,OAAOC,KAAKC,UAAUpB,KAAKiB,SAC/B"}
package/lib/Wallet.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Wallet.js","sources":["../src/Wallet.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport PrivateKey from \"./PrivateKey.js\";\nimport AccountId from \"./account/AccountId.js\";\nimport SignerSignature from \"./SignerSignature.js\";\nimport AccountBalanceQuery from \"./account/AccountBalanceQuery.js\";\nimport AccountInfoQuery from \"./account/AccountInfoQuery.js\";\nimport AccountRecordsQuery from \"./account/AccountRecordsQuery.js\";\nimport TransactionId from \"./transaction/TransactionId.js\";\nimport * as util from \"./util.js\";\n\n/**\n * @template RequestT\n * @template ResponseT\n * @template OutputT\n * @typedef {import(\"./Executable.js\").default<RequestT, ResponseT, OutputT>} Executable<RequestT, ResponseT, OutputT>\n */\n\n/**\n * @typedef {import(\"./Signer.js\").Signer} Signer\n * @typedef {import(\"./Provider.js\").Provider} Provider\n * @typedef {import(\"./LedgerId.js\").default} LedgerId\n * @typedef {import(\"./Key.js\").default} Key\n * @typedef {import(\"./transaction/Transaction.js\").default} Transaction\n * @typedef {import(\"./transaction/TransactionResponse.js\").default} TransactionResponse\n * @typedef {import(\"./transaction/TransactionReceipt.js\").default} TransactionReceipt\n * @typedef {import(\"./transaction/TransactionRecord.js\").default} TransactionRecord\n * @typedef {import(\"./account/AccountBalance.js\").default} AccountBalance\n * @typedef {import(\"./account/AccountInfo.js\").default} AccountInfo\n */\n\n/**\n * @template {any} O\n * @typedef {import(\"./query/Query.js\").default<O>} Query<O>\n */\n\n/**\n * @implements {Signer}\n */\nexport default class Wallet {\n /**\n * NOTE: When using string for private key, the string needs to contain DER headers\n *\n * @param {AccountId | string} accountId\n * @param {PrivateKey | string} privateKey\n * @param {Provider=} provider\n */\n constructor(accountId, privateKey, provider) {\n /*\n TODO: deprecate on a major version \n the following lines were added because we didnt have\n a way to check the algorithm of a der encoded private key\n We need to keep the old behavior for the transition period.\n */\n let key;\n if (typeof privateKey === \"string\" && PrivateKey.isDerKey(privateKey)) {\n key = PrivateKey.fromStringDer(privateKey);\n } else if (typeof privateKey === \"string\") {\n // eslint-disable-next-line deprecation/deprecation\n key = PrivateKey.fromString(privateKey);\n } else {\n key = privateKey;\n }\n\n this.publicKey = key.publicKey;\n /**\n * @type {(message: Uint8Array) => Promise<Uint8Array>}\n */\n this.signer = (message) => Promise.resolve(key.sign(message));\n this.provider = provider;\n this.accountId =\n typeof accountId === \"string\"\n ? AccountId.fromString(accountId)\n : accountId;\n }\n\n /**\n * @returns {Promise<Wallet>}\n * @deprecated\n */\n static createRandomED25519() {\n const privateKey = PrivateKey.generateED25519();\n const publicKey = privateKey.publicKey;\n const accountId = publicKey.toAccountId(0, 0);\n return Promise.resolve(new Wallet(accountId, privateKey));\n }\n\n /**\n * @returns {Promise<Wallet>}\n * @deprecated\n */\n static createRandomECDSA() {\n const privateKey = PrivateKey.generateECDSA();\n const publicKey = privateKey.publicKey;\n const accountId = publicKey.toAccountId(0, 0);\n return Promise.resolve(new Wallet(accountId, privateKey));\n }\n\n /**\n * @returns {Provider=}\n */\n getProvider() {\n return this.provider;\n }\n\n /**\n * @abstract\n * @returns {AccountId}\n */\n getAccountId() {\n return this.accountId;\n }\n\n /**\n * @returns {Key}\n */\n getAccountKey() {\n return this.publicKey;\n }\n\n /**\n * @returns {LedgerId?}\n */\n getLedgerId() {\n return this.provider == null ? null : this.provider.getLedgerId();\n }\n\n /**\n * @abstract\n * @returns {{[key: string]: (string | AccountId)}}\n */\n getNetwork() {\n return this.provider == null ? {} : this.provider.getNetwork();\n }\n\n /**\n * @abstract\n * @returns {string[]}\n */\n getMirrorNetwork() {\n return this.provider == null ? [] : this.provider.getMirrorNetwork();\n }\n\n /**\n * @param {Uint8Array[]} messages\n * @returns {Promise<SignerSignature[]>}\n */\n async sign(messages) {\n const sigantures = [];\n\n for (const message of messages) {\n sigantures.push(\n new SignerSignature({\n publicKey: this.publicKey,\n signature: await this.signer(message),\n accountId: this.accountId,\n }),\n );\n }\n\n return sigantures;\n }\n\n /**\n * @returns {Promise<AccountBalance>}\n */\n getAccountBalance() {\n return this.call(\n new AccountBalanceQuery().setAccountId(this.accountId),\n );\n }\n\n /**\n * @abstract\n * @returns {Promise<AccountInfo>}\n */\n getAccountInfo() {\n return this.call(new AccountInfoQuery().setAccountId(this.accountId));\n }\n\n /**\n * @abstract\n * @returns {Promise<TransactionRecord[]>}\n */\n getAccountRecords() {\n return this.call(\n new AccountRecordsQuery().setAccountId(this.accountId),\n );\n }\n\n /**\n * @template {Transaction} T\n * @param {T} transaction\n * @returns {Promise<T>}\n */\n signTransaction(transaction) {\n return transaction.signWith(this.publicKey, this.signer);\n }\n\n /**\n * @template {Transaction} T\n * @param {T} transaction\n * @returns {Promise<T>}\n */\n checkTransaction(transaction) {\n const transactionId = transaction.transactionId;\n if (\n transactionId != null &&\n transactionId.accountId != null &&\n transactionId.accountId.compare(this.accountId) != 0\n ) {\n throw new Error(\n \"transaction's ID constructed with a different account ID\",\n );\n }\n\n if (this.provider == null) {\n return Promise.resolve(transaction);\n }\n\n const nodeAccountIds = (\n transaction.nodeAccountIds != null ? transaction.nodeAccountIds : []\n ).map((nodeAccountId) => nodeAccountId.toString());\n const network = Object.values(this.provider.getNetwork()).map(\n (nodeAccountId) => nodeAccountId.toString(),\n );\n\n if (\n !nodeAccountIds.reduce(\n (previous, current) => previous && network.includes(current),\n true,\n )\n ) {\n throw new Error(\n \"Transaction already set node account IDs to values not within the current network\",\n );\n }\n\n return Promise.resolve(transaction);\n }\n\n /**\n * @template {Transaction} T\n * @param {T} transaction\n * @returns {Promise<T>}\n */\n populateTransaction(transaction) {\n transaction._freezeWithAccountId(this.accountId);\n\n if (transaction.transactionId == null) {\n transaction.setTransactionId(\n TransactionId.generate(this.accountId),\n );\n }\n\n if (\n transaction.nodeAccountIds != null &&\n transaction.nodeAccountIds.length != 0\n ) {\n return Promise.resolve(transaction.freeze());\n }\n\n if (this.provider == null) {\n return Promise.resolve(transaction);\n }\n\n const nodeAccountIds = Object.values(this.provider.getNetwork()).map(\n (id) => (typeof id === \"string\" ? AccountId.fromString(id) : id),\n );\n util.shuffle(nodeAccountIds);\n transaction.setNodeAccountIds(\n nodeAccountIds.slice(0, (nodeAccountIds.length + 3 - 1) / 3),\n );\n\n return Promise.resolve(transaction.freeze());\n }\n\n /**\n * @template RequestT\n * @template ResponseT\n * @template OutputT\n * @param {Executable<RequestT, ResponseT, OutputT>} request\n * @returns {Promise<OutputT>}\n */\n call(request) {\n if (this.provider == null) {\n throw new Error(\n \"cannot send request with an wallet that doesn't contain a provider\",\n );\n }\n\n return this.provider.call(\n request._setOperatorWith(\n this.accountId,\n this.publicKey,\n this.signer,\n ),\n );\n }\n}\n"],"names":["Wallet","constructor","accountId","privateKey","provider","key","PrivateKey","isDerKey","fromStringDer","fromString","this","publicKey","signer","message","Promise","resolve","sign","AccountId","createRandomED25519","generateED25519","toAccountId","createRandomECDSA","generateECDSA","getProvider","getAccountId","getAccountKey","getLedgerId","getNetwork","getMirrorNetwork","messages","sigantures","push","SignerSignature","signature","getAccountBalance","call","AccountBalanceQuery","setAccountId","getAccountInfo","AccountInfoQuery","getAccountRecords","AccountRecordsQuery","signTransaction","transaction","signWith","checkTransaction","transactionId","compare","Error","nodeAccountIds","map","nodeAccountId","toString","network","Object","values","reduce","previous","current","includes","populateTransaction","_freezeWithAccountId","setTransactionId","TransactionId","generate","length","freeze","id","util.shuffle","setNodeAccountIds","slice","request","_setOperatorWith"],"mappings":"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"}
1
+ {"version":3,"file":"Wallet.js","sources":["../src/Wallet.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport PrivateKey from \"./PrivateKey.js\";\nimport AccountId from \"./account/AccountId.js\";\nimport SignerSignature from \"./SignerSignature.js\";\nimport AccountBalanceQuery from \"./account/AccountBalanceQuery.js\";\nimport AccountInfoQuery from \"./account/AccountInfoQuery.js\";\nimport AccountRecordsQuery from \"./account/AccountRecordsQuery.js\";\nimport TransactionId from \"./transaction/TransactionId.js\";\nimport * as util from \"./util.js\";\n\n/**\n * @template RequestT\n * @template ResponseT\n * @template OutputT\n * @typedef {import(\"./Executable.js\").default<RequestT, ResponseT, OutputT>} Executable<RequestT, ResponseT, OutputT>\n */\n\n/**\n * @typedef {import(\"./Signer.js\").Signer} Signer\n * @typedef {import(\"./Provider.js\").Provider} Provider\n * @typedef {import(\"./LedgerId.js\").default} LedgerId\n * @typedef {import(\"./Key.js\").default} Key\n * @typedef {import(\"./transaction/Transaction.js\").default} Transaction\n * @typedef {import(\"./transaction/TransactionResponse.js\").default} TransactionResponse\n * @typedef {import(\"./transaction/TransactionReceipt.js\").default} TransactionReceipt\n * @typedef {import(\"./transaction/TransactionRecord.js\").default} TransactionRecord\n * @typedef {import(\"./account/AccountBalance.js\").default} AccountBalance\n * @typedef {import(\"./account/AccountInfo.js\").default} AccountInfo\n */\n\n/**\n * @template {any} O\n * @typedef {import(\"./query/Query.js\").default<O>} Query<O>\n */\n\n/**\n * @implements {Signer}\n */\nexport default class Wallet {\n /**\n * NOTE: When using string for private key, the string needs to contain DER headers\n *\n * @param {AccountId | string} accountId\n * @param {PrivateKey | string} privateKey\n * @param {Provider=} provider\n */\n constructor(accountId, privateKey, provider) {\n /*\n TODO: deprecate on a major version \n the following lines were added because we didnt have\n a way to check the algorithm of a der encoded private key\n We need to keep the old behavior for the transition period.\n */\n let key;\n if (typeof privateKey === \"string\" && PrivateKey.isDerKey(privateKey)) {\n key = PrivateKey.fromStringDer(privateKey);\n } else if (typeof privateKey === \"string\") {\n // eslint-disable-next-line deprecation/deprecation\n key = PrivateKey.fromString(privateKey);\n } else {\n key = privateKey;\n }\n\n this.publicKey = key.publicKey;\n /**\n * @type {(message: Uint8Array) => Promise<Uint8Array>}\n */\n this.signer = (message) => Promise.resolve(key.sign(message));\n this.provider = provider;\n this.accountId =\n typeof accountId === \"string\"\n ? AccountId.fromString(accountId)\n : accountId;\n }\n\n /**\n * @returns {Promise<Wallet>}\n * @deprecated\n */\n static createRandomED25519() {\n const privateKey = PrivateKey.generateED25519();\n const publicKey = privateKey.publicKey;\n const accountId = publicKey.toAccountId(0, 0);\n return Promise.resolve(new Wallet(accountId, privateKey));\n }\n\n /**\n * @returns {Promise<Wallet>}\n * @deprecated\n */\n static createRandomECDSA() {\n const privateKey = PrivateKey.generateECDSA();\n const publicKey = privateKey.publicKey;\n const accountId = publicKey.toAccountId(0, 0);\n return Promise.resolve(new Wallet(accountId, privateKey));\n }\n\n /**\n * @returns {Provider=}\n */\n getProvider() {\n return this.provider;\n }\n\n /**\n * @abstract\n * @returns {AccountId}\n */\n getAccountId() {\n return this.accountId;\n }\n\n /**\n * @returns {Key}\n */\n getAccountKey() {\n return this.publicKey;\n }\n\n /**\n * @returns {LedgerId?}\n */\n getLedgerId() {\n return this.provider == null ? null : this.provider.getLedgerId();\n }\n\n /**\n * @abstract\n * @returns {{[key: string]: (string | AccountId)}}\n */\n getNetwork() {\n return this.provider == null ? {} : this.provider.getNetwork();\n }\n\n /**\n * @abstract\n * @returns {string[]}\n */\n getMirrorNetwork() {\n return this.provider == null ? [] : this.provider.getMirrorNetwork();\n }\n\n /**\n * @param {Uint8Array[]} messages\n * @returns {Promise<SignerSignature[]>}\n */\n async sign(messages) {\n const sigantures = [];\n\n for (const message of messages) {\n sigantures.push(\n new SignerSignature({\n publicKey: this.publicKey,\n signature: await this.signer(message),\n accountId: this.accountId,\n }),\n );\n }\n\n return sigantures;\n }\n\n /**\n * @returns {Promise<AccountBalance>}\n */\n getAccountBalance() {\n return this.call(\n new AccountBalanceQuery().setAccountId(this.accountId),\n );\n }\n\n /**\n * @abstract\n * @returns {Promise<AccountInfo>}\n */\n getAccountInfo() {\n return this.call(new AccountInfoQuery().setAccountId(this.accountId));\n }\n\n /**\n * @abstract\n * @returns {Promise<TransactionRecord[]>}\n */\n getAccountRecords() {\n return this.call(\n new AccountRecordsQuery().setAccountId(this.accountId),\n );\n }\n\n /**\n * @template {Transaction} T\n * @param {T} transaction\n * @returns {Promise<T>}\n */\n signTransaction(transaction) {\n return transaction.signWith(this.publicKey, this.signer);\n }\n\n /**\n * @template {Transaction} T\n * @param {T} transaction\n * @returns {Promise<T>}\n */\n checkTransaction(transaction) {\n const transactionId = transaction.transactionId;\n if (\n transactionId != null &&\n transactionId.accountId != null &&\n transactionId.accountId.compare(this.accountId) != 0\n ) {\n throw new Error(\n \"transaction's ID constructed with a different account ID\",\n );\n }\n\n if (this.provider == null) {\n return Promise.resolve(transaction);\n }\n\n const nodeAccountIds = (\n transaction.nodeAccountIds != null ? transaction.nodeAccountIds : []\n ).map((nodeAccountId) => nodeAccountId.toString());\n const network = Object.values(this.provider.getNetwork()).map(\n (nodeAccountId) => nodeAccountId.toString(),\n );\n\n if (\n !nodeAccountIds.reduce(\n (previous, current) => previous && network.includes(current),\n true,\n )\n ) {\n throw new Error(\n \"Transaction already set node account IDs to values not within the current network\",\n );\n }\n\n return Promise.resolve(transaction);\n }\n\n /**\n * @template {Transaction} T\n * @param {T} transaction\n * @returns {Promise<T>}\n */\n populateTransaction(transaction) {\n transaction._freezeWithAccountId(this.accountId);\n\n if (transaction.transactionId == null) {\n transaction.setTransactionId(\n TransactionId.generate(this.accountId),\n );\n }\n\n if (\n transaction.nodeAccountIds != null &&\n transaction.nodeAccountIds.length != 0\n ) {\n return Promise.resolve(transaction.freeze());\n }\n\n if (this.provider == null) {\n return Promise.resolve(transaction);\n }\n\n const nodeAccountIds = Object.values(this.provider.getNetwork()).map(\n (id) => (typeof id === \"string\" ? AccountId.fromString(id) : id),\n );\n util.shuffle(nodeAccountIds);\n transaction.setNodeAccountIds(\n nodeAccountIds.slice(0, (nodeAccountIds.length + 3 - 1) / 3),\n );\n\n return Promise.resolve(transaction.freeze());\n }\n\n /**\n * @template RequestT\n * @template ResponseT\n * @template OutputT\n * @param {Executable<RequestT, ResponseT, OutputT>} request\n * @returns {Promise<OutputT>}\n */\n call(request) {\n if (this.provider == null) {\n throw new Error(\n \"cannot send request with an wallet that doesn't contain a provider\",\n );\n }\n\n return this.provider.call(\n request._setOperatorWith(\n this.accountId,\n this.publicKey,\n this.signer,\n ),\n );\n }\n}\n"],"names":["Wallet","constructor","accountId","privateKey","provider","key","PrivateKey","isDerKey","fromStringDer","fromString","this","publicKey","signer","message","Promise","resolve","sign","AccountId","createRandomED25519","generateED25519","toAccountId","createRandomECDSA","generateECDSA","getProvider","getAccountId","getAccountKey","getLedgerId","getNetwork","getMirrorNetwork","messages","sigantures","push","SignerSignature","signature","getAccountBalance","call","AccountBalanceQuery","setAccountId","getAccountInfo","AccountInfoQuery","getAccountRecords","AccountRecordsQuery","signTransaction","transaction","signWith","checkTransaction","transactionId","compare","Error","nodeAccountIds","map","nodeAccountId","toString","network","Object","values","reduce","previous","current","includes","populateTransaction","_freezeWithAccountId","setTransactionId","TransactionId","generate","length","freeze","id","util.shuffle","setNodeAccountIds","slice","request","_setOperatorWith"],"mappings":"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"}
@@ -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
  * @typedef {import("bignumber.js").default} BigNumber
38
39
  * @typedef {import("../long.js").LongObject} LongObject
@@ -10,7 +10,8 @@
10
10
  */
11
11
  /**
12
12
  * @typedef {import("../channel/Channel.js").default} Channel
13
- * @typedef {import("../client/Client.js").default<*, *>} Client
13
+ * @typedef {import("../channel/MirrorChannel.js").default} MirrorChannel
14
+ * @typedef {import("../client/Client.js").default<Channel, MirrorChannel>} Client
14
15
  * @typedef {import("../transaction/TransactionId.js").default} TransactionId
15
16
  * @typedef {import("bignumber.js").default} BigNumber
16
17
  * @typedef {import("../long.js").LongObject} LongObject
@@ -192,7 +193,8 @@ export namespace HieroProto {
192
193
  }
193
194
  }
194
195
  export type Channel = import("../channel/Channel.js").default;
195
- export type Client = import("../client/Client.js").default<any, any>;
196
+ export type MirrorChannel = import("../channel/MirrorChannel.js").default;
197
+ export type Client = import("../client/Client.js").default<Channel, MirrorChannel>;
196
198
  export type TransactionId = import("../transaction/TransactionId.js").default;
197
199
  export type BigNumber = import("bignumber.js").default;
198
200
  export type LongObject = import("../long.js").LongObject;
@@ -1 +1 @@
1
- {"version":3,"file":"AccountAllowanceAdjustTransaction.js","sources":["../../src/account/AccountAllowanceAdjustTransaction.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Transaction from \"../transaction/Transaction.js\";\nimport AccountId from \"./AccountId.js\";\nimport ContractId from \"../contract/ContractId.js\";\nimport TokenId from \"../token/TokenId.js\";\nimport NftId from \"../token/NftId.js\";\nimport Long from \"long\";\nimport Hbar from \"../Hbar.js\";\nimport HbarAllowance from \"./HbarAllowance.js\";\nimport TokenAllowance from \"./TokenAllowance.js\";\nimport TokenNftAllowance from \"./TokenNftAllowance.js\";\nimport * as util from \"../util.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransaction} HieroProto.proto.ITransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.TransactionBody} HieroProto.proto.TransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionBody} HieroProto.proto.ITransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountID} HieroProto.proto.IAccountID\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n */\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../client/Client.js\").default<*, *>} Client\n * @typedef {import(\"../transaction/TransactionId.js\").default} TransactionId\n * @typedef {import(\"bignumber.js\").default} BigNumber\n * @typedef {import(\"../long.js\").LongObject} LongObject\n */\n\n/**\n * @deprecated - No longer supported via Hedera Protobufs\n * Change properties for the given account.\n */\nexport default class AccountAllowanceAdjustTransaction extends Transaction {\n /**\n * @param {object} [props]\n * @param {HbarAllowance[]} [props.hbarAllowances]\n * @param {TokenAllowance[]} [props.tokenAllowances]\n * @param {TokenNftAllowance[]} [props.nftAllowances]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {HbarAllowance[]}\n */\n this._hbarAllowances =\n props.hbarAllowances != null ? props.hbarAllowances : [];\n\n /**\n * @private\n * @type {TokenAllowance[]}\n */\n this._tokenAllowances =\n props.tokenAllowances != null ? props.tokenAllowances : [];\n\n /**\n * @private\n * @type {TokenNftAllowance[]}\n */\n this._nftAllowances =\n props.nftAllowances != null ? props.nftAllowances : [];\n }\n\n /**\n * @returns {HbarAllowance[]}\n */\n get hbarAllowances() {\n return this._hbarAllowances;\n }\n\n /**\n * @deprecated\n * @param {AccountId | string} spenderAccountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n addHbarAllowance(spenderAccountId, amount) {\n const value = amount instanceof Hbar ? amount : new Hbar(amount);\n return this._adjustHbarAllowance(\n null,\n spenderAccountId,\n util.requireNotNegative(value),\n );\n }\n\n /**\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {Hbar} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n _adjustHbarAllowance(ownerAccountId, spenderAccountId, amount) {\n this._requireNotFrozen();\n\n this._hbarAllowances.push(\n new HbarAllowance({\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n amount: amount,\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n grantHbarAllowance(ownerAccountId, spenderAccountId, amount) {\n const value = amount instanceof Hbar ? amount : new Hbar(amount);\n return this._adjustHbarAllowance(\n ownerAccountId,\n spenderAccountId,\n util.requireNotNegative(value),\n );\n }\n\n /**\n * @deprecated\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n revokeHbarAllowance(ownerAccountId, spenderAccountId, amount) {\n const value = amount instanceof Hbar ? amount : new Hbar(amount);\n return this._adjustHbarAllowance(\n ownerAccountId,\n spenderAccountId,\n util.requireNotNegative(value).negated(),\n );\n }\n\n /**\n * @returns {TokenAllowance[]}\n */\n get tokenAllowances() {\n return this._tokenAllowances;\n }\n\n /**\n * @deprecated\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} spenderAccountId\n * @param {Long | number} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n addTokenAllowance(tokenId, spenderAccountId, amount) {\n return this._adjustTokenAllowance(\n tokenId,\n null,\n spenderAccountId,\n util.requireNotNegative(Long.fromValue(amount)),\n );\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {Long | number} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n _adjustTokenAllowance(tokenId, ownerAccountId, spenderAccountId, amount) {\n this._requireNotFrozen();\n\n this._tokenAllowances.push(\n new TokenAllowance({\n tokenId:\n typeof tokenId === \"string\"\n ? TokenId.fromString(tokenId)\n : tokenId,\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n amount:\n typeof amount === \"number\"\n ? Long.fromNumber(amount)\n : amount,\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @param {Long | number} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n grantTokenAllowance(tokenId, ownerAccountId, spenderAccountId, amount) {\n return this._adjustTokenAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n util.requireNotNegative(Long.fromValue(amount)),\n );\n }\n\n /**\n * @deprecated\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @param {Long | number} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n revokeTokenAllowance(tokenId, ownerAccountId, spenderAccountId, amount) {\n return this._adjustTokenAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n util.requireNotNegative(Long.fromValue(amount)),\n );\n }\n\n /**\n * @deprecated\n * @param {NftId | string} nftId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n addTokenNftAllowance(nftId, spenderAccountId) {\n const id = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n return this._adjustTokenNftAllowance(id, null, spenderAccountId);\n }\n\n /**\n * @param {NftId} nftId\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n _adjustTokenNftAllowance(nftId, ownerAccountId, spenderAccountId) {\n this._requireNotFrozen();\n\n const spender =\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId;\n const owner =\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId;\n let found = false;\n\n for (const allowance of this._nftAllowances) {\n if (\n allowance.tokenId.compare(nftId.tokenId) === 0 &&\n allowance.spenderAccountId != null &&\n allowance.spenderAccountId.compare(spender) === 0\n ) {\n if (allowance.serialNumbers != null) {\n allowance.serialNumbers.push(nftId.serial);\n }\n found = true;\n break;\n }\n }\n\n if (!found) {\n this._nftAllowances.push(\n new TokenNftAllowance({\n tokenId: nftId.tokenId,\n spenderAccountId: spender,\n serialNumbers: [nftId.serial],\n ownerAccountId: owner,\n allSerials: false,\n delegatingSpender: null,\n }),\n );\n }\n\n return this;\n }\n\n /**\n * @deprecated\n * @param {NftId | string} nftId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n grantTokenNftAllowance(nftId, ownerAccountId, spenderAccountId) {\n const id = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n\n util.requireNotNegative(id.serial);\n\n return this._adjustTokenNftAllowance(\n id,\n ownerAccountId,\n spenderAccountId,\n );\n }\n\n /**\n * @deprecated\n * @param {NftId | string} nftId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n revokeTokenNftAllowance(nftId, ownerAccountId, spenderAccountId) {\n const id = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n\n util.requireNotNegative(id.serial);\n return this._adjustTokenNftAllowance(\n new NftId(id.tokenId, id.serial.negate()),\n ownerAccountId,\n spenderAccountId,\n );\n }\n\n /**\n * @deprecated - use `grantTokenNftAllowanceAllSerials()` instead\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n addAllTokenNftAllowance(tokenId, spenderAccountId) {\n return this._adjustTokenNftAllowanceAllSerials(\n tokenId,\n null,\n spenderAccountId,\n true,\n );\n }\n\n /**\n * @deprecated\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n grantTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n ) {\n return this._adjustTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n true,\n );\n }\n\n /**\n * @deprecated\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n revokeTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n ) {\n return this._adjustTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n false,\n );\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {boolean} allSerials\n * @returns {AccountAllowanceAdjustTransaction}\n */\n _adjustTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n allSerials,\n ) {\n this._requireNotFrozen();\n\n this._nftAllowances.push(\n new TokenNftAllowance({\n tokenId:\n typeof tokenId === \"string\"\n ? TokenId.fromString(tokenId)\n : tokenId,\n ownerAccountId:\n ownerAccountId != null\n ? typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId\n : null,\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n serialNumbers: null,\n allSerials,\n delegatingSpender: null,\n }),\n );\n\n return this;\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n this._hbarAllowances.map((allowance) =>\n allowance._validateChecksums(client),\n );\n this._tokenAllowances.map((allowance) =>\n allowance._validateChecksums(client),\n );\n this._nftAllowances.map((allowance) =>\n allowance._validateChecksums(client),\n );\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.ITransaction} request\n * @returns {Promise<HieroProto.proto.ITransactionResponse>}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _execute(channel, request) {\n return Promise.reject(\n new Error(\"This feature has been deprecated for this class.\"),\n );\n }\n\n // eslint-disable-next-line jsdoc/require-returns-check\n /**\n * @deprecated\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n throw new Error(\"This feature has been deprecated for this class.\");\n }\n\n // eslint-disable-next-line jsdoc/require-returns-check\n /**\n * @override\n * @protected\n * @returns {object}\n */\n _makeTransactionData() {\n throw new Error(\"This feature has been deprecated.\");\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp = /** @type {import(\"../Timestamp.js\").default} */ (\n this._transactionIds.current.validStart\n );\n return `AccountAllowanceAdjustTransaction:${timestamp.toString()}`;\n }\n}\n"],"names":["AccountAllowanceAdjustTransaction","Transaction","constructor","props","super","this","_hbarAllowances","hbarAllowances","_tokenAllowances","tokenAllowances","_nftAllowances","nftAllowances","addHbarAllowance","spenderAccountId","amount","value","Hbar","_adjustHbarAllowance","util.requireNotNegative","ownerAccountId","_requireNotFrozen","push","HbarAllowance","AccountId","fromString","ContractId","fromEvmAddress","shard","realm","toEvmAddress","grantHbarAllowance","revokeHbarAllowance","negated","addTokenAllowance","tokenId","_adjustTokenAllowance","Long","fromValue","TokenAllowance","TokenId","fromNumber","grantTokenAllowance","revokeTokenAllowance","addTokenNftAllowance","nftId","id","NftId","_adjustTokenNftAllowance","spender","owner","found","allowance","compare","serialNumbers","serial","TokenNftAllowance","allSerials","delegatingSpender","grantTokenNftAllowance","revokeTokenNftAllowance","negate","addAllTokenNftAllowance","_adjustTokenNftAllowanceAllSerials","grantTokenNftAllowanceAllSerials","revokeTokenNftAllowanceAllSerials","_validateChecksums","client","map","_execute","channel","request","Promise","reject","Error","_getTransactionDataCase","_makeTransactionData","_getLogId","_transactionIds","current","toString"],"mappings":"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"}
1
+ {"version":3,"file":"AccountAllowanceAdjustTransaction.js","sources":["../../src/account/AccountAllowanceAdjustTransaction.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Transaction from \"../transaction/Transaction.js\";\nimport AccountId from \"./AccountId.js\";\nimport ContractId from \"../contract/ContractId.js\";\nimport TokenId from \"../token/TokenId.js\";\nimport NftId from \"../token/NftId.js\";\nimport Long from \"long\";\nimport Hbar from \"../Hbar.js\";\nimport HbarAllowance from \"./HbarAllowance.js\";\nimport TokenAllowance from \"./TokenAllowance.js\";\nimport TokenNftAllowance from \"./TokenNftAllowance.js\";\nimport * as util from \"../util.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransaction} HieroProto.proto.ITransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.TransactionBody} HieroProto.proto.TransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionBody} HieroProto.proto.ITransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountID} HieroProto.proto.IAccountID\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n */\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../channel/MirrorChannel.js\").default} MirrorChannel\n * @typedef {import(\"../client/Client.js\").default<Channel, MirrorChannel>} Client\n * @typedef {import(\"../transaction/TransactionId.js\").default} TransactionId\n * @typedef {import(\"bignumber.js\").default} BigNumber\n * @typedef {import(\"../long.js\").LongObject} LongObject\n */\n\n/**\n * @deprecated - No longer supported via Hedera Protobufs\n * Change properties for the given account.\n */\nexport default class AccountAllowanceAdjustTransaction extends Transaction {\n /**\n * @param {object} [props]\n * @param {HbarAllowance[]} [props.hbarAllowances]\n * @param {TokenAllowance[]} [props.tokenAllowances]\n * @param {TokenNftAllowance[]} [props.nftAllowances]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {HbarAllowance[]}\n */\n this._hbarAllowances =\n props.hbarAllowances != null ? props.hbarAllowances : [];\n\n /**\n * @private\n * @type {TokenAllowance[]}\n */\n this._tokenAllowances =\n props.tokenAllowances != null ? props.tokenAllowances : [];\n\n /**\n * @private\n * @type {TokenNftAllowance[]}\n */\n this._nftAllowances =\n props.nftAllowances != null ? props.nftAllowances : [];\n }\n\n /**\n * @returns {HbarAllowance[]}\n */\n get hbarAllowances() {\n return this._hbarAllowances;\n }\n\n /**\n * @deprecated\n * @param {AccountId | string} spenderAccountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n addHbarAllowance(spenderAccountId, amount) {\n const value = amount instanceof Hbar ? amount : new Hbar(amount);\n return this._adjustHbarAllowance(\n null,\n spenderAccountId,\n util.requireNotNegative(value),\n );\n }\n\n /**\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {Hbar} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n _adjustHbarAllowance(ownerAccountId, spenderAccountId, amount) {\n this._requireNotFrozen();\n\n this._hbarAllowances.push(\n new HbarAllowance({\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n amount: amount,\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n grantHbarAllowance(ownerAccountId, spenderAccountId, amount) {\n const value = amount instanceof Hbar ? amount : new Hbar(amount);\n return this._adjustHbarAllowance(\n ownerAccountId,\n spenderAccountId,\n util.requireNotNegative(value),\n );\n }\n\n /**\n * @deprecated\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n revokeHbarAllowance(ownerAccountId, spenderAccountId, amount) {\n const value = amount instanceof Hbar ? amount : new Hbar(amount);\n return this._adjustHbarAllowance(\n ownerAccountId,\n spenderAccountId,\n util.requireNotNegative(value).negated(),\n );\n }\n\n /**\n * @returns {TokenAllowance[]}\n */\n get tokenAllowances() {\n return this._tokenAllowances;\n }\n\n /**\n * @deprecated\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} spenderAccountId\n * @param {Long | number} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n addTokenAllowance(tokenId, spenderAccountId, amount) {\n return this._adjustTokenAllowance(\n tokenId,\n null,\n spenderAccountId,\n util.requireNotNegative(Long.fromValue(amount)),\n );\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {Long | number} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n _adjustTokenAllowance(tokenId, ownerAccountId, spenderAccountId, amount) {\n this._requireNotFrozen();\n\n this._tokenAllowances.push(\n new TokenAllowance({\n tokenId:\n typeof tokenId === \"string\"\n ? TokenId.fromString(tokenId)\n : tokenId,\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n amount:\n typeof amount === \"number\"\n ? Long.fromNumber(amount)\n : amount,\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @param {Long | number} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n grantTokenAllowance(tokenId, ownerAccountId, spenderAccountId, amount) {\n return this._adjustTokenAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n util.requireNotNegative(Long.fromValue(amount)),\n );\n }\n\n /**\n * @deprecated\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @param {Long | number} amount\n * @returns {AccountAllowanceAdjustTransaction}\n */\n revokeTokenAllowance(tokenId, ownerAccountId, spenderAccountId, amount) {\n return this._adjustTokenAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n util.requireNotNegative(Long.fromValue(amount)),\n );\n }\n\n /**\n * @deprecated\n * @param {NftId | string} nftId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n addTokenNftAllowance(nftId, spenderAccountId) {\n const id = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n return this._adjustTokenNftAllowance(id, null, spenderAccountId);\n }\n\n /**\n * @param {NftId} nftId\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n _adjustTokenNftAllowance(nftId, ownerAccountId, spenderAccountId) {\n this._requireNotFrozen();\n\n const spender =\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId;\n const owner =\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId;\n let found = false;\n\n for (const allowance of this._nftAllowances) {\n if (\n allowance.tokenId.compare(nftId.tokenId) === 0 &&\n allowance.spenderAccountId != null &&\n allowance.spenderAccountId.compare(spender) === 0\n ) {\n if (allowance.serialNumbers != null) {\n allowance.serialNumbers.push(nftId.serial);\n }\n found = true;\n break;\n }\n }\n\n if (!found) {\n this._nftAllowances.push(\n new TokenNftAllowance({\n tokenId: nftId.tokenId,\n spenderAccountId: spender,\n serialNumbers: [nftId.serial],\n ownerAccountId: owner,\n allSerials: false,\n delegatingSpender: null,\n }),\n );\n }\n\n return this;\n }\n\n /**\n * @deprecated\n * @param {NftId | string} nftId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n grantTokenNftAllowance(nftId, ownerAccountId, spenderAccountId) {\n const id = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n\n util.requireNotNegative(id.serial);\n\n return this._adjustTokenNftAllowance(\n id,\n ownerAccountId,\n spenderAccountId,\n );\n }\n\n /**\n * @deprecated\n * @param {NftId | string} nftId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n revokeTokenNftAllowance(nftId, ownerAccountId, spenderAccountId) {\n const id = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n\n util.requireNotNegative(id.serial);\n return this._adjustTokenNftAllowance(\n new NftId(id.tokenId, id.serial.negate()),\n ownerAccountId,\n spenderAccountId,\n );\n }\n\n /**\n * @deprecated - use `grantTokenNftAllowanceAllSerials()` instead\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n addAllTokenNftAllowance(tokenId, spenderAccountId) {\n return this._adjustTokenNftAllowanceAllSerials(\n tokenId,\n null,\n spenderAccountId,\n true,\n );\n }\n\n /**\n * @deprecated\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n grantTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n ) {\n return this._adjustTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n true,\n );\n }\n\n /**\n * @deprecated\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceAdjustTransaction}\n */\n revokeTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n ) {\n return this._adjustTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n false,\n );\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {boolean} allSerials\n * @returns {AccountAllowanceAdjustTransaction}\n */\n _adjustTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n allSerials,\n ) {\n this._requireNotFrozen();\n\n this._nftAllowances.push(\n new TokenNftAllowance({\n tokenId:\n typeof tokenId === \"string\"\n ? TokenId.fromString(tokenId)\n : tokenId,\n ownerAccountId:\n ownerAccountId != null\n ? typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId\n : null,\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n serialNumbers: null,\n allSerials,\n delegatingSpender: null,\n }),\n );\n\n return this;\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n this._hbarAllowances.map((allowance) =>\n allowance._validateChecksums(client),\n );\n this._tokenAllowances.map((allowance) =>\n allowance._validateChecksums(client),\n );\n this._nftAllowances.map((allowance) =>\n allowance._validateChecksums(client),\n );\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.ITransaction} request\n * @returns {Promise<HieroProto.proto.ITransactionResponse>}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _execute(channel, request) {\n return Promise.reject(\n new Error(\"This feature has been deprecated for this class.\"),\n );\n }\n\n // eslint-disable-next-line jsdoc/require-returns-check\n /**\n * @deprecated\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n throw new Error(\"This feature has been deprecated for this class.\");\n }\n\n // eslint-disable-next-line jsdoc/require-returns-check\n /**\n * @override\n * @protected\n * @returns {object}\n */\n _makeTransactionData() {\n throw new Error(\"This feature has been deprecated.\");\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp = /** @type {import(\"../Timestamp.js\").default} */ (\n this._transactionIds.current.validStart\n );\n return `AccountAllowanceAdjustTransaction:${timestamp.toString()}`;\n }\n}\n"],"names":["AccountAllowanceAdjustTransaction","Transaction","constructor","props","super","this","_hbarAllowances","hbarAllowances","_tokenAllowances","tokenAllowances","_nftAllowances","nftAllowances","addHbarAllowance","spenderAccountId","amount","value","Hbar","_adjustHbarAllowance","util.requireNotNegative","ownerAccountId","_requireNotFrozen","push","HbarAllowance","AccountId","fromString","ContractId","fromEvmAddress","shard","realm","toEvmAddress","grantHbarAllowance","revokeHbarAllowance","negated","addTokenAllowance","tokenId","_adjustTokenAllowance","Long","fromValue","TokenAllowance","TokenId","fromNumber","grantTokenAllowance","revokeTokenAllowance","addTokenNftAllowance","nftId","id","NftId","_adjustTokenNftAllowance","spender","owner","found","allowance","compare","serialNumbers","serial","TokenNftAllowance","allSerials","delegatingSpender","grantTokenNftAllowance","revokeTokenNftAllowance","negate","addAllTokenNftAllowance","_adjustTokenNftAllowanceAllSerials","grantTokenNftAllowanceAllSerials","revokeTokenNftAllowanceAllSerials","_validateChecksums","client","map","_execute","channel","request","Promise","reject","Error","_getTransactionDataCase","_makeTransactionData","_getLogId","_transactionIds","current","toString"],"mappings":"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"}
@@ -32,7 +32,8 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
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
  * @typedef {import("bignumber.js").default} BigNumber
38
39
  * @typedef {import("../long.js").LongObject} LongObject
@@ -11,7 +11,8 @@
11
11
  */
12
12
  /**
13
13
  * @typedef {import("../channel/Channel.js").default} Channel
14
- * @typedef {import("../client/Client.js").default<*, *>} Client
14
+ * @typedef {import("../channel/MirrorChannel.js").default} MirrorChannel
15
+ * @typedef {import("../client/Client.js").default<Channel, MirrorChannel>} Client
15
16
  * @typedef {import("../transaction/TransactionId.js").default} TransactionId
16
17
  * @typedef {import("bignumber.js").default} BigNumber
17
18
  * @typedef {import("../long.js").LongObject} LongObject
@@ -178,7 +179,8 @@ export namespace HieroProto {
178
179
  }
179
180
  }
180
181
  export type Channel = import("../channel/Channel.js").default;
181
- export type Client = import("../client/Client.js").default<any, any>;
182
+ export type MirrorChannel = import("../channel/MirrorChannel.js").default;
183
+ export type Client = import("../client/Client.js").default<Channel, MirrorChannel>;
182
184
  export type TransactionId = import("../transaction/TransactionId.js").default;
183
185
  export type BigNumber = import("bignumber.js").default;
184
186
  export type LongObject = import("../long.js").LongObject;
@@ -1 +1 @@
1
- {"version":3,"file":"AccountAllowanceApproveTransaction.js","sources":["../../src/account/AccountAllowanceApproveTransaction.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Transaction, {\n TRANSACTION_REGISTRY,\n} from \"../transaction/Transaction.js\";\nimport AccountId from \"./AccountId.js\";\nimport ContractId from \"../contract/ContractId.js\";\nimport TokenId from \"../token/TokenId.js\";\nimport NftId from \"../token/NftId.js\";\nimport Hbar from \"../Hbar.js\";\nimport HbarAllowance from \"./HbarAllowance.js\";\nimport TokenAllowance from \"./TokenAllowance.js\";\nimport TokenNftAllowance from \"./TokenNftAllowance.js\";\nimport { convertAmountToLong } from \"../util.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransaction} HieroProto.proto.ITransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.TransactionBody} HieroProto.proto.TransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionBody} HieroProto.proto.ITransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.ICryptoApproveAllowanceTransactionBody} HieroProto.proto.ICryptoApproveAllowanceTransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountID} HieroProto.proto.IAccountID\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n */\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../client/Client.js\").default<*, *>} Client\n * @typedef {import(\"../transaction/TransactionId.js\").default} TransactionId\n * @typedef {import(\"bignumber.js\").default} BigNumber\n * @typedef {import(\"../long.js\").LongObject} LongObject\n */\n\n/**\n * Change properties for the given account.\n */\nexport default class AccountAllowanceApproveTransaction extends Transaction {\n /**\n * @param {object} [props]\n * @param {HbarAllowance[]} [props.hbarApprovals]\n * @param {TokenAllowance[]} [props.tokenApprovals]\n * @param {TokenNftAllowance[]} [props.nftApprovals]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {HbarAllowance[]}\n */\n this._hbarApprovals =\n props.hbarApprovals != null ? props.hbarApprovals : [];\n\n /**\n * @private\n * @type {TokenAllowance[]}\n */\n this._tokenApprovals =\n props.tokenApprovals != null ? props.tokenApprovals : [];\n\n /**\n * @private\n * @type {TokenNftAllowance[]}\n */\n this._nftApprovals =\n props.nftApprovals != null ? props.nftApprovals : [];\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ITransaction[]} transactions\n * @param {HieroProto.proto.ISignedTransaction[]} signedTransactions\n * @param {TransactionId[]} transactionIds\n * @param {AccountId[]} nodeIds\n * @param {HieroProto.proto.ITransactionBody[]} bodies\n * @returns {AccountAllowanceApproveTransaction}\n */\n static _fromProtobuf(\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n ) {\n const body = bodies[0];\n const allowanceApproval =\n /** @type {HieroProto.proto.ICryptoApproveAllowanceTransactionBody} */ (\n body.cryptoApproveAllowance\n );\n\n return Transaction._fromProtobufTransactions(\n new AccountAllowanceApproveTransaction({\n hbarApprovals: (allowanceApproval.cryptoAllowances != null\n ? allowanceApproval.cryptoAllowances\n : []\n ).map((approval) => HbarAllowance._fromProtobuf(approval)),\n tokenApprovals: (allowanceApproval.tokenAllowances != null\n ? allowanceApproval.tokenAllowances\n : []\n ).map((approval) => TokenAllowance._fromProtobuf(approval)),\n nftApprovals: (allowanceApproval.nftAllowances != null\n ? allowanceApproval.nftAllowances\n : []\n ).map((approval) => TokenNftAllowance._fromProtobuf(approval)),\n }),\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n );\n }\n\n /**\n * @returns {HbarAllowance[]}\n */\n get hbarApprovals() {\n return this._hbarApprovals;\n }\n\n /**\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {AccountAllowanceApproveTransaction}\n */\n approveHbarAllowance(ownerAccountId, spenderAccountId, amount) {\n this._requireNotFrozen();\n\n this._hbarApprovals.push(\n new HbarAllowance({\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n amount: amount instanceof Hbar ? amount : new Hbar(amount),\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated - Use `approveHbarAllowance()` instead\n * @param {AccountId | string} spenderAccountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {AccountAllowanceApproveTransaction}\n */\n addHbarAllowance(spenderAccountId, amount) {\n this._requireNotFrozen();\n\n this._hbarApprovals.push(\n new HbarAllowance({\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId,\n amount: amount instanceof Hbar ? amount : new Hbar(amount),\n ownerAccountId: null,\n }),\n );\n\n return this;\n }\n\n /**\n * @returns {TokenAllowance[]}\n */\n get tokenApprovals() {\n return this._tokenApprovals;\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {Long | number | BigNumber | bigint} amount\n * @returns {AccountAllowanceApproveTransaction}\n */\n approveTokenAllowance(tokenId, ownerAccountId, spenderAccountId, amount) {\n this._requireNotFrozen();\n\n // Convert amount to Long\n const amountLong = convertAmountToLong(amount);\n\n this._tokenApprovals.push(\n new TokenAllowance({\n tokenId:\n typeof tokenId === \"string\"\n ? TokenId.fromString(tokenId)\n : tokenId,\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n amount: amountLong,\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated - Use `approveTokenAllowance()` instead\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} spenderAccountId\n * @param {Long | number | BigNumber | bigint} amount\n * @returns {AccountAllowanceApproveTransaction}\n */\n addTokenAllowance(tokenId, spenderAccountId, amount) {\n this._requireNotFrozen();\n\n // Convert amount to Long\n const amountLong = convertAmountToLong(amount);\n\n this._tokenApprovals.push(\n new TokenAllowance({\n tokenId:\n typeof tokenId === \"string\"\n ? TokenId.fromString(tokenId)\n : tokenId,\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId,\n amount: amountLong,\n ownerAccountId: null,\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated - Use `approveTokenNftAllowance()` instead\n * @param {NftId | string} nftId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @returns {AccountAllowanceApproveTransaction}\n */\n addTokenNftAllowance(nftId, spenderAccountId) {\n return this._approveTokenNftAllowance(\n nftId,\n null,\n spenderAccountId,\n null,\n );\n }\n\n /**\n * @returns {TokenNftAllowance[]}\n */\n get tokenNftApprovals() {\n return this._nftApprovals;\n }\n\n /**\n * @param {NftId | string} nftId\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {AccountId | string | null} delegatingSpender\n * @returns {AccountAllowanceApproveTransaction}\n */\n _approveTokenNftAllowance(\n nftId,\n ownerAccountId,\n spenderAccountId,\n delegatingSpender,\n ) {\n this._requireNotFrozen();\n\n const id = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n const spender =\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId;\n let found = false;\n\n for (const allowance of this._nftApprovals) {\n if (\n allowance.tokenId.compare(id.tokenId) === 0 &&\n allowance.spenderAccountId != null &&\n allowance.spenderAccountId.compare(spender) === 0\n ) {\n if (allowance.serialNumbers != null) {\n allowance.serialNumbers.push(id.serial);\n }\n found = true;\n break;\n }\n }\n\n if (!found) {\n this._nftApprovals.push(\n new TokenNftAllowance({\n tokenId: id.tokenId,\n spenderAccountId: spender,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n serialNumbers: [id.serial],\n allSerials: false,\n delegatingSpender:\n typeof delegatingSpender === \"string\"\n ? AccountId.fromString(delegatingSpender)\n : delegatingSpender,\n }),\n );\n }\n\n return this;\n }\n\n /**\n * @param {NftId | string} nftId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @returns {AccountAllowanceApproveTransaction}\n */\n approveTokenNftAllowance(nftId, ownerAccountId, spenderAccountId) {\n return this._approveTokenNftAllowance(\n nftId,\n ownerAccountId,\n spenderAccountId,\n null,\n );\n }\n\n /**\n * @param {NftId | string} nftId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {AccountId | string} delegatingSpender\n * @returns {AccountAllowanceApproveTransaction}\n */\n approveTokenNftAllowanceWithDelegatingSpender(\n nftId,\n ownerAccountId,\n spenderAccountId,\n delegatingSpender,\n ) {\n return this._approveTokenNftAllowance(\n nftId,\n ownerAccountId,\n spenderAccountId,\n delegatingSpender,\n );\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {boolean} allSerials\n * @returns {AccountAllowanceApproveTransaction}\n */\n _approveAllTokenNftAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n allSerials,\n ) {\n this._requireNotFrozen();\n\n this._nftApprovals.push(\n new TokenNftAllowance({\n tokenId:\n typeof tokenId === \"string\"\n ? TokenId.fromString(tokenId)\n : tokenId,\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n serialNumbers: null,\n allSerials,\n delegatingSpender: null,\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated - Use `approveTokenNftAllowanceAllSerials()` instead\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceApproveTransaction}\n */\n addAllTokenNftAllowance(tokenId, ownerAccountId, spenderAccountId) {\n return this._approveAllTokenNftAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n true,\n );\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @returns {AccountAllowanceApproveTransaction}\n */\n approveTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n ) {\n return this._approveAllTokenNftAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n true,\n );\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @returns {AccountAllowanceApproveTransaction}\n */\n deleteTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n ) {\n return this._approveAllTokenNftAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n false,\n );\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n this._hbarApprovals.map((approval) =>\n approval._validateChecksums(client),\n );\n this._tokenApprovals.map((approval) =>\n approval._validateChecksums(client),\n );\n this._nftApprovals.map((approval) =>\n approval._validateChecksums(client),\n );\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.ITransaction} request\n * @returns {Promise<HieroProto.proto.ITransactionResponse>}\n */\n _execute(channel, request) {\n return channel.crypto.approveAllowances(request);\n }\n\n /**\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n return \"cryptoApproveAllowance\";\n }\n\n /**\n * @override\n * @protected\n * @returns {HieroProto.proto.ICryptoApproveAllowanceTransactionBody}\n */\n _makeTransactionData() {\n return {\n cryptoAllowances: this._hbarApprovals.map((approval) =>\n approval._toProtobuf(),\n ),\n tokenAllowances: this._tokenApprovals.map((approval) =>\n approval._toProtobuf(),\n ),\n nftAllowances: this._nftApprovals.map((approval) =>\n approval._toProtobuf(),\n ),\n };\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp = /** @type {import(\"../Timestamp.js\").default} */ (\n this._transactionIds.current.validStart\n );\n return `AccountAllowanceApproveTransaction:${timestamp.toString()}`;\n }\n}\n\nTRANSACTION_REGISTRY.set(\n \"cryptoApproveAllowance\",\n // eslint-disable-next-line @typescript-eslint/unbound-method\n AccountAllowanceApproveTransaction._fromProtobuf,\n);\n"],"names":["AccountAllowanceApproveTransaction","Transaction","constructor","props","super","this","_hbarApprovals","hbarApprovals","_tokenApprovals","tokenApprovals","_nftApprovals","nftApprovals","_fromProtobuf","transactions","signedTransactions","transactionIds","nodeIds","bodies","allowanceApproval","_fromProtobufTransactions","cryptoAllowances","map","approval","HbarAllowance","tokenAllowances","TokenAllowance","nftAllowances","TokenNftAllowance","approveHbarAllowance","ownerAccountId","spenderAccountId","amount","_requireNotFrozen","push","AccountId","fromString","ContractId","fromEvmAddress","shard","realm","toEvmAddress","Hbar","addHbarAllowance","approveTokenAllowance","tokenId","amountLong","convertAmountToLong","TokenId","addTokenAllowance","addTokenNftAllowance","nftId","_approveTokenNftAllowance","tokenNftApprovals","delegatingSpender","id","NftId","spender","found","allowance","compare","serialNumbers","serial","allSerials","approveTokenNftAllowance","approveTokenNftAllowanceWithDelegatingSpender","_approveAllTokenNftAllowance","addAllTokenNftAllowance","approveTokenNftAllowanceAllSerials","deleteTokenNftAllowanceAllSerials","_validateChecksums","client","_execute","channel","request","crypto","approveAllowances","_getTransactionDataCase","_makeTransactionData","_toProtobuf","_getLogId","_transactionIds","current","toString","TRANSACTION_REGISTRY","set"],"mappings":"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"}
1
+ {"version":3,"file":"AccountAllowanceApproveTransaction.js","sources":["../../src/account/AccountAllowanceApproveTransaction.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Transaction, {\n TRANSACTION_REGISTRY,\n} from \"../transaction/Transaction.js\";\nimport AccountId from \"./AccountId.js\";\nimport ContractId from \"../contract/ContractId.js\";\nimport TokenId from \"../token/TokenId.js\";\nimport NftId from \"../token/NftId.js\";\nimport Hbar from \"../Hbar.js\";\nimport HbarAllowance from \"./HbarAllowance.js\";\nimport TokenAllowance from \"./TokenAllowance.js\";\nimport TokenNftAllowance from \"./TokenNftAllowance.js\";\nimport { convertAmountToLong } from \"../util.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransaction} HieroProto.proto.ITransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.TransactionBody} HieroProto.proto.TransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionBody} HieroProto.proto.ITransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.ICryptoApproveAllowanceTransactionBody} HieroProto.proto.ICryptoApproveAllowanceTransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountID} HieroProto.proto.IAccountID\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n */\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../channel/MirrorChannel.js\").default} MirrorChannel\n * @typedef {import(\"../client/Client.js\").default<Channel, MirrorChannel>} Client\n * @typedef {import(\"../transaction/TransactionId.js\").default} TransactionId\n * @typedef {import(\"bignumber.js\").default} BigNumber\n * @typedef {import(\"../long.js\").LongObject} LongObject\n */\n\n/**\n * Change properties for the given account.\n */\nexport default class AccountAllowanceApproveTransaction extends Transaction {\n /**\n * @param {object} [props]\n * @param {HbarAllowance[]} [props.hbarApprovals]\n * @param {TokenAllowance[]} [props.tokenApprovals]\n * @param {TokenNftAllowance[]} [props.nftApprovals]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {HbarAllowance[]}\n */\n this._hbarApprovals =\n props.hbarApprovals != null ? props.hbarApprovals : [];\n\n /**\n * @private\n * @type {TokenAllowance[]}\n */\n this._tokenApprovals =\n props.tokenApprovals != null ? props.tokenApprovals : [];\n\n /**\n * @private\n * @type {TokenNftAllowance[]}\n */\n this._nftApprovals =\n props.nftApprovals != null ? props.nftApprovals : [];\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ITransaction[]} transactions\n * @param {HieroProto.proto.ISignedTransaction[]} signedTransactions\n * @param {TransactionId[]} transactionIds\n * @param {AccountId[]} nodeIds\n * @param {HieroProto.proto.ITransactionBody[]} bodies\n * @returns {AccountAllowanceApproveTransaction}\n */\n static _fromProtobuf(\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n ) {\n const body = bodies[0];\n const allowanceApproval =\n /** @type {HieroProto.proto.ICryptoApproveAllowanceTransactionBody} */ (\n body.cryptoApproveAllowance\n );\n\n return Transaction._fromProtobufTransactions(\n new AccountAllowanceApproveTransaction({\n hbarApprovals: (allowanceApproval.cryptoAllowances != null\n ? allowanceApproval.cryptoAllowances\n : []\n ).map((approval) => HbarAllowance._fromProtobuf(approval)),\n tokenApprovals: (allowanceApproval.tokenAllowances != null\n ? allowanceApproval.tokenAllowances\n : []\n ).map((approval) => TokenAllowance._fromProtobuf(approval)),\n nftApprovals: (allowanceApproval.nftAllowances != null\n ? allowanceApproval.nftAllowances\n : []\n ).map((approval) => TokenNftAllowance._fromProtobuf(approval)),\n }),\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n );\n }\n\n /**\n * @returns {HbarAllowance[]}\n */\n get hbarApprovals() {\n return this._hbarApprovals;\n }\n\n /**\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {AccountAllowanceApproveTransaction}\n */\n approveHbarAllowance(ownerAccountId, spenderAccountId, amount) {\n this._requireNotFrozen();\n\n this._hbarApprovals.push(\n new HbarAllowance({\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n amount: amount instanceof Hbar ? amount : new Hbar(amount),\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated - Use `approveHbarAllowance()` instead\n * @param {AccountId | string} spenderAccountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {AccountAllowanceApproveTransaction}\n */\n addHbarAllowance(spenderAccountId, amount) {\n this._requireNotFrozen();\n\n this._hbarApprovals.push(\n new HbarAllowance({\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId,\n amount: amount instanceof Hbar ? amount : new Hbar(amount),\n ownerAccountId: null,\n }),\n );\n\n return this;\n }\n\n /**\n * @returns {TokenAllowance[]}\n */\n get tokenApprovals() {\n return this._tokenApprovals;\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {Long | number | BigNumber | bigint} amount\n * @returns {AccountAllowanceApproveTransaction}\n */\n approveTokenAllowance(tokenId, ownerAccountId, spenderAccountId, amount) {\n this._requireNotFrozen();\n\n // Convert amount to Long\n const amountLong = convertAmountToLong(amount);\n\n this._tokenApprovals.push(\n new TokenAllowance({\n tokenId:\n typeof tokenId === \"string\"\n ? TokenId.fromString(tokenId)\n : tokenId,\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n amount: amountLong,\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated - Use `approveTokenAllowance()` instead\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} spenderAccountId\n * @param {Long | number | BigNumber | bigint} amount\n * @returns {AccountAllowanceApproveTransaction}\n */\n addTokenAllowance(tokenId, spenderAccountId, amount) {\n this._requireNotFrozen();\n\n // Convert amount to Long\n const amountLong = convertAmountToLong(amount);\n\n this._tokenApprovals.push(\n new TokenAllowance({\n tokenId:\n typeof tokenId === \"string\"\n ? TokenId.fromString(tokenId)\n : tokenId,\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId,\n amount: amountLong,\n ownerAccountId: null,\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated - Use `approveTokenNftAllowance()` instead\n * @param {NftId | string} nftId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @returns {AccountAllowanceApproveTransaction}\n */\n addTokenNftAllowance(nftId, spenderAccountId) {\n return this._approveTokenNftAllowance(\n nftId,\n null,\n spenderAccountId,\n null,\n );\n }\n\n /**\n * @returns {TokenNftAllowance[]}\n */\n get tokenNftApprovals() {\n return this._nftApprovals;\n }\n\n /**\n * @param {NftId | string} nftId\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {AccountId | string | null} delegatingSpender\n * @returns {AccountAllowanceApproveTransaction}\n */\n _approveTokenNftAllowance(\n nftId,\n ownerAccountId,\n spenderAccountId,\n delegatingSpender,\n ) {\n this._requireNotFrozen();\n\n const id = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n const spender =\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId;\n let found = false;\n\n for (const allowance of this._nftApprovals) {\n if (\n allowance.tokenId.compare(id.tokenId) === 0 &&\n allowance.spenderAccountId != null &&\n allowance.spenderAccountId.compare(spender) === 0\n ) {\n if (allowance.serialNumbers != null) {\n allowance.serialNumbers.push(id.serial);\n }\n found = true;\n break;\n }\n }\n\n if (!found) {\n this._nftApprovals.push(\n new TokenNftAllowance({\n tokenId: id.tokenId,\n spenderAccountId: spender,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n serialNumbers: [id.serial],\n allSerials: false,\n delegatingSpender:\n typeof delegatingSpender === \"string\"\n ? AccountId.fromString(delegatingSpender)\n : delegatingSpender,\n }),\n );\n }\n\n return this;\n }\n\n /**\n * @param {NftId | string} nftId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @returns {AccountAllowanceApproveTransaction}\n */\n approveTokenNftAllowance(nftId, ownerAccountId, spenderAccountId) {\n return this._approveTokenNftAllowance(\n nftId,\n ownerAccountId,\n spenderAccountId,\n null,\n );\n }\n\n /**\n * @param {NftId | string} nftId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {AccountId | string} delegatingSpender\n * @returns {AccountAllowanceApproveTransaction}\n */\n approveTokenNftAllowanceWithDelegatingSpender(\n nftId,\n ownerAccountId,\n spenderAccountId,\n delegatingSpender,\n ) {\n return this._approveTokenNftAllowance(\n nftId,\n ownerAccountId,\n spenderAccountId,\n delegatingSpender,\n );\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string | null} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @param {boolean} allSerials\n * @returns {AccountAllowanceApproveTransaction}\n */\n _approveAllTokenNftAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n allSerials,\n ) {\n this._requireNotFrozen();\n\n this._nftApprovals.push(\n new TokenNftAllowance({\n tokenId:\n typeof tokenId === \"string\"\n ? TokenId.fromString(tokenId)\n : tokenId,\n spenderAccountId:\n typeof spenderAccountId === \"string\"\n ? AccountId.fromString(spenderAccountId)\n : spenderAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n spenderAccountId.shard,\n spenderAccountId.realm,\n spenderAccountId.toEvmAddress(),\n )\n : spenderAccountId,\n ownerAccountId:\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId instanceof ContractId\n ? AccountId.fromEvmAddress(\n ownerAccountId.shard,\n ownerAccountId.realm,\n ownerAccountId.toEvmAddress(),\n )\n : ownerAccountId,\n serialNumbers: null,\n allSerials,\n delegatingSpender: null,\n }),\n );\n\n return this;\n }\n\n /**\n * @deprecated - Use `approveTokenNftAllowanceAllSerials()` instead\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | string} spenderAccountId\n * @returns {AccountAllowanceApproveTransaction}\n */\n addAllTokenNftAllowance(tokenId, ownerAccountId, spenderAccountId) {\n return this._approveAllTokenNftAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n true,\n );\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @returns {AccountAllowanceApproveTransaction}\n */\n approveTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n ) {\n return this._approveAllTokenNftAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n true,\n );\n }\n\n /**\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} ownerAccountId\n * @param {AccountId | ContractId | string} spenderAccountId\n * @returns {AccountAllowanceApproveTransaction}\n */\n deleteTokenNftAllowanceAllSerials(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n ) {\n return this._approveAllTokenNftAllowance(\n tokenId,\n ownerAccountId,\n spenderAccountId,\n false,\n );\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n this._hbarApprovals.map((approval) =>\n approval._validateChecksums(client),\n );\n this._tokenApprovals.map((approval) =>\n approval._validateChecksums(client),\n );\n this._nftApprovals.map((approval) =>\n approval._validateChecksums(client),\n );\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.ITransaction} request\n * @returns {Promise<HieroProto.proto.ITransactionResponse>}\n */\n _execute(channel, request) {\n return channel.crypto.approveAllowances(request);\n }\n\n /**\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n return \"cryptoApproveAllowance\";\n }\n\n /**\n * @override\n * @protected\n * @returns {HieroProto.proto.ICryptoApproveAllowanceTransactionBody}\n */\n _makeTransactionData() {\n return {\n cryptoAllowances: this._hbarApprovals.map((approval) =>\n approval._toProtobuf(),\n ),\n tokenAllowances: this._tokenApprovals.map((approval) =>\n approval._toProtobuf(),\n ),\n nftAllowances: this._nftApprovals.map((approval) =>\n approval._toProtobuf(),\n ),\n };\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp = /** @type {import(\"../Timestamp.js\").default} */ (\n this._transactionIds.current.validStart\n );\n return `AccountAllowanceApproveTransaction:${timestamp.toString()}`;\n }\n}\n\nTRANSACTION_REGISTRY.set(\n \"cryptoApproveAllowance\",\n // eslint-disable-next-line @typescript-eslint/unbound-method\n AccountAllowanceApproveTransaction._fromProtobuf,\n);\n"],"names":["AccountAllowanceApproveTransaction","Transaction","constructor","props","super","this","_hbarApprovals","hbarApprovals","_tokenApprovals","tokenApprovals","_nftApprovals","nftApprovals","_fromProtobuf","transactions","signedTransactions","transactionIds","nodeIds","bodies","allowanceApproval","_fromProtobufTransactions","cryptoAllowances","map","approval","HbarAllowance","tokenAllowances","TokenAllowance","nftAllowances","TokenNftAllowance","approveHbarAllowance","ownerAccountId","spenderAccountId","amount","_requireNotFrozen","push","AccountId","fromString","ContractId","fromEvmAddress","shard","realm","toEvmAddress","Hbar","addHbarAllowance","approveTokenAllowance","tokenId","amountLong","convertAmountToLong","TokenId","addTokenAllowance","addTokenNftAllowance","nftId","_approveTokenNftAllowance","tokenNftApprovals","delegatingSpender","id","NftId","spender","found","allowance","compare","serialNumbers","serial","allSerials","approveTokenNftAllowance","approveTokenNftAllowanceWithDelegatingSpender","_approveAllTokenNftAllowance","addAllTokenNftAllowance","approveTokenNftAllowanceAllSerials","deleteTokenNftAllowanceAllSerials","_validateChecksums","client","_execute","channel","request","crypto","approveAllowances","_getTransactionDataCase","_makeTransactionData","_toProtobuf","_getLogId","_transactionIds","current","toString","TRANSACTION_REGISTRY","set"],"mappings":"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"}
@@ -27,7 +27,8 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
27
27
  * @typedef {import("./HbarAllowance.js").default} HbarAllowance
28
28
  * @typedef {import("./TokenAllowance.js").default} TokenAllowance
29
29
  * @typedef {import("../channel/Channel.js").default} Channel
30
- * @typedef {import("../client/Client.js").default<*, *>} Client
30
+ * @typedef {import("../channel/MirrorChannel.js").default} MirrorChannel
31
+ * @typedef {import("../client/Client.js").default<Channel, MirrorChannel>} Client
31
32
  * @typedef {import("../transaction/TransactionId.js").default} TransactionId
32
33
  * @typedef {import("bignumber.js").default} BigNumber
33
34
  * @typedef {import("../long.js").LongObject} LongObject
@@ -12,7 +12,8 @@
12
12
  * @typedef {import("./HbarAllowance.js").default} HbarAllowance
13
13
  * @typedef {import("./TokenAllowance.js").default} TokenAllowance
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
  * @typedef {import("bignumber.js").default} BigNumber
18
19
  * @typedef {import("../long.js").LongObject} LongObject
@@ -80,7 +81,8 @@ export namespace HieroProto {
80
81
  export type HbarAllowance = import("./HbarAllowance.js").default;
81
82
  export type TokenAllowance = import("./TokenAllowance.js").default;
82
83
  export type Channel = import("../channel/Channel.js").default;
83
- export type Client = import("../client/Client.js").default<any, any>;
84
+ export type MirrorChannel = import("../channel/MirrorChannel.js").default;
85
+ export type Client = import("../client/Client.js").default<Channel, MirrorChannel>;
84
86
  export type TransactionId = import("../transaction/TransactionId.js").default;
85
87
  export type BigNumber = import("bignumber.js").default;
86
88
  export type LongObject = import("../long.js").LongObject;
@@ -1 +1 @@
1
- {"version":3,"file":"AccountAllowanceDeleteTransaction.js","sources":["../../src/account/AccountAllowanceDeleteTransaction.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Transaction, {\n TRANSACTION_REGISTRY,\n} from \"../transaction/Transaction.js\";\nimport AccountId from \"./AccountId.js\";\nimport NftId from \"../token/NftId.js\";\nimport TokenNftAllowance from \"./TokenNftAllowance.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransaction} HieroProto.proto.ITransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.TransactionBody} HieroProto.proto.TransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionBody} HieroProto.proto.ITransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.ICryptoDeleteAllowanceTransactionBody} HieroProto.proto.ICryptoDeleteAllowanceTransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountID} HieroProto.proto.IAccountID\n */\n\n/**\n * @typedef {import(\"./HbarAllowance.js\").default} HbarAllowance\n * @typedef {import(\"./TokenAllowance.js\").default} TokenAllowance\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../client/Client.js\").default<*, *>} Client\n * @typedef {import(\"../transaction/TransactionId.js\").default} TransactionId\n * @typedef {import(\"bignumber.js\").default} BigNumber\n * @typedef {import(\"../long.js\").LongObject} LongObject\n */\n\n/**\n * Change properties for the given account.\n */\nexport default class AccountAllowanceDeleteTransaction extends Transaction {\n /**\n * @param {object} [props]\n * @param {HbarAllowance[]} [props.hbarAllowances]\n * @param {TokenAllowance[]} [props.tokenAllowances]\n * @param {TokenNftAllowance[]} [props.nftAllowances]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {TokenNftAllowance[]}\n */\n this._nftAllowances =\n props.nftAllowances != null ? props.nftAllowances : [];\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ITransaction[]} transactions\n * @param {HieroProto.proto.ISignedTransaction[]} signedTransactions\n * @param {TransactionId[]} transactionIds\n * @param {AccountId[]} nodeIds\n * @param {HieroProto.proto.ITransactionBody[]} bodies\n * @returns {AccountAllowanceDeleteTransaction}\n */\n static _fromProtobuf(\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n ) {\n const body = bodies[0];\n const allowance =\n /** @type {HieroProto.proto.ICryptoDeleteAllowanceTransactionBody} */ (\n body.cryptoDeleteAllowance\n );\n\n return Transaction._fromProtobufTransactions(\n new AccountAllowanceDeleteTransaction({\n nftAllowances: (allowance.nftAllowances != null\n ? allowance.nftAllowances\n : []\n ).map((allowance) =>\n TokenNftAllowance._fromProtobuf(allowance),\n ),\n }),\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n );\n }\n\n /**\n * @returns {TokenNftAllowance[]}\n */\n get tokenNftAllowanceDeletions() {\n return this._nftAllowances;\n }\n\n /**\n * @description If you want to remove allowance for all serials of a NFT\n * - use AccountAllowanceApproveTransaction().deleteTokenNftAllowanceAllSerials()\n * @param {NftId | string} nftId\n * @param {AccountId | string} ownerAccountId\n * @returns {AccountAllowanceDeleteTransaction}\n */\n deleteAllTokenNftAllowances(nftId, ownerAccountId) {\n this._requireNotFrozen();\n\n const id = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n\n const owner =\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId;\n let found = false;\n\n for (const allowance of this._nftAllowances) {\n if (allowance.tokenId.compare(id.tokenId) === 0) {\n if (allowance.serialNumbers != null) {\n allowance.serialNumbers.push(id.serial);\n }\n found = true;\n break;\n }\n }\n\n if (!found) {\n this._nftAllowances.push(\n new TokenNftAllowance({\n tokenId: id.tokenId,\n spenderAccountId: null,\n serialNumbers: [id.serial],\n ownerAccountId: owner,\n allSerials: false,\n delegatingSpender: null,\n }),\n );\n }\n\n return this;\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n this._nftAllowances.map((allowance) =>\n allowance._validateChecksums(client),\n );\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.ITransaction} request\n * @returns {Promise<HieroProto.proto.ITransactionResponse>}\n */\n _execute(channel, request) {\n return channel.crypto.deleteAllowances(request);\n }\n\n /**\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n return \"cryptoDeleteAllowance\";\n }\n\n /**\n * @override\n * @protected\n * @returns {HieroProto.proto.ICryptoDeleteAllowanceTransactionBody}\n */\n _makeTransactionData() {\n return {\n nftAllowances: this._nftAllowances.map((allowance) =>\n allowance._toProtobuf(),\n ),\n };\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp = /** @type {import(\"../Timestamp.js\").default} */ (\n this._transactionIds.current.validStart\n );\n return `AccountAllowanceDeleteTransaction:${timestamp.toString()}`;\n }\n}\n\nTRANSACTION_REGISTRY.set(\n \"cryptoDeleteAllowance\",\n // eslint-disable-next-line @typescript-eslint/unbound-method\n AccountAllowanceDeleteTransaction._fromProtobuf,\n);\n"],"names":["AccountAllowanceDeleteTransaction","Transaction","constructor","props","super","this","_nftAllowances","nftAllowances","_fromProtobuf","transactions","signedTransactions","transactionIds","nodeIds","bodies","allowance","_fromProtobufTransactions","map","TokenNftAllowance","tokenNftAllowanceDeletions","deleteAllTokenNftAllowances","nftId","ownerAccountId","_requireNotFrozen","id","NftId","fromString","owner","AccountId","found","tokenId","compare","serialNumbers","push","serial","spenderAccountId","allSerials","delegatingSpender","_validateChecksums","client","_execute","channel","request","crypto","deleteAllowances","_getTransactionDataCase","_makeTransactionData","_toProtobuf","_getLogId","_transactionIds","current","toString","TRANSACTION_REGISTRY","set"],"mappings":"6KAiCe,MAAMA,UAA0CC,EAO3D,WAAAC,CAAYC,EAAQ,IAChBC,QAMAC,KAAKC,eACsB,MAAvBH,EAAMI,cAAwBJ,EAAMI,cAAgB,EAChE,CAWI,oBAAOC,CACHC,EACAC,EACAC,EACAC,EACAC,GAEA,MACMC,EADOD,EAAO,GAIf,sBAEL,OAAOZ,EAAYc,0BACf,IAAIf,EAAkC,CAClCO,eAA2C,MAA3BO,EAAUP,cACpBO,EAAUP,cACV,IACJS,IAAKF,GACHG,EAAkBT,cAAcM,MAGxCL,EACAC,EACAC,EACAC,EACAC,EAEZ,CAKI,8BAAIK,GACA,OAAOb,KAAKC,cACpB,CASI,2BAAAa,CAA4BC,EAAOC,GAC/BhB,KAAKiB,oBAEL,MAAMC,EAAsB,iBAAVH,EAAqBI,EAAMC,WAAWL,GAASA,EAE3DM,EACwB,iBAAnBL,EACDM,EAAUF,WAAWJ,GACrBA,EACV,IAAIO,GAAQ,EAEZ,IAAK,MAAMd,KAAaT,KAAKC,eACzB,GAA8C,IAA1CQ,EAAUe,QAAQC,QAAQP,EAAGM,SAAgB,CACd,MAA3Bf,EAAUiB,eACVjB,EAAUiB,cAAcC,KAAKT,EAAGU,QAEpCL,GAAQ,EACR,KAChB,CAgBQ,OAbKA,GACDvB,KAAKC,eAAe0B,KAChB,IAAIf,EAAkB,CAClBY,QAASN,EAAGM,QACZK,iBAAkB,KAClBH,cAAe,CAACR,EAAGU,QACnBZ,eAAgBK,EAChBS,YAAY,EACZC,kBAAmB,QAKxB/B,IACf,CAKI,kBAAAgC,CAAmBC,GACfjC,KAAKC,eAAeU,IAAKF,GACrBA,EAAUuB,mBAAmBC,GAEzC,CASI,QAAAC,CAASC,EAASC,GACd,OAAOD,EAAQE,OAAOC,iBAAiBF,EAC/C,CAOI,uBAAAG,GACI,MAAO,uBACf,CAOI,oBAAAC,GACI,MAAO,CACHtC,cAAeF,KAAKC,eAAeU,IAAKF,GACpCA,EAAUgC,eAG1B,CAKI,SAAAC,GAII,MAAO,qCAFH1C,KAAK2C,gBAAgBC,QACxB,WACqDC,YAC9D,EAGAC,EAAqBC,IACjB,wBAEApD,EAAkCQ"}
1
+ {"version":3,"file":"AccountAllowanceDeleteTransaction.js","sources":["../../src/account/AccountAllowanceDeleteTransaction.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Transaction, {\n TRANSACTION_REGISTRY,\n} from \"../transaction/Transaction.js\";\nimport AccountId from \"./AccountId.js\";\nimport NftId from \"../token/NftId.js\";\nimport TokenNftAllowance from \"./TokenNftAllowance.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransaction} HieroProto.proto.ITransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction\n * @typedef {import(\"@hiero-ledger/proto\").proto.TransactionBody} HieroProto.proto.TransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionBody} HieroProto.proto.ITransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.ICryptoDeleteAllowanceTransactionBody} HieroProto.proto.ICryptoDeleteAllowanceTransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountID} HieroProto.proto.IAccountID\n */\n\n/**\n * @typedef {import(\"./HbarAllowance.js\").default} HbarAllowance\n * @typedef {import(\"./TokenAllowance.js\").default} TokenAllowance\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../channel/MirrorChannel.js\").default} MirrorChannel\n * @typedef {import(\"../client/Client.js\").default<Channel, MirrorChannel>} Client\n * @typedef {import(\"../transaction/TransactionId.js\").default} TransactionId\n * @typedef {import(\"bignumber.js\").default} BigNumber\n * @typedef {import(\"../long.js\").LongObject} LongObject\n */\n\n/**\n * Change properties for the given account.\n */\nexport default class AccountAllowanceDeleteTransaction extends Transaction {\n /**\n * @param {object} [props]\n * @param {HbarAllowance[]} [props.hbarAllowances]\n * @param {TokenAllowance[]} [props.tokenAllowances]\n * @param {TokenNftAllowance[]} [props.nftAllowances]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {TokenNftAllowance[]}\n */\n this._nftAllowances =\n props.nftAllowances != null ? props.nftAllowances : [];\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ITransaction[]} transactions\n * @param {HieroProto.proto.ISignedTransaction[]} signedTransactions\n * @param {TransactionId[]} transactionIds\n * @param {AccountId[]} nodeIds\n * @param {HieroProto.proto.ITransactionBody[]} bodies\n * @returns {AccountAllowanceDeleteTransaction}\n */\n static _fromProtobuf(\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n ) {\n const body = bodies[0];\n const allowance =\n /** @type {HieroProto.proto.ICryptoDeleteAllowanceTransactionBody} */ (\n body.cryptoDeleteAllowance\n );\n\n return Transaction._fromProtobufTransactions(\n new AccountAllowanceDeleteTransaction({\n nftAllowances: (allowance.nftAllowances != null\n ? allowance.nftAllowances\n : []\n ).map((allowance) =>\n TokenNftAllowance._fromProtobuf(allowance),\n ),\n }),\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n );\n }\n\n /**\n * @returns {TokenNftAllowance[]}\n */\n get tokenNftAllowanceDeletions() {\n return this._nftAllowances;\n }\n\n /**\n * @description If you want to remove allowance for all serials of a NFT\n * - use AccountAllowanceApproveTransaction().deleteTokenNftAllowanceAllSerials()\n * @param {NftId | string} nftId\n * @param {AccountId | string} ownerAccountId\n * @returns {AccountAllowanceDeleteTransaction}\n */\n deleteAllTokenNftAllowances(nftId, ownerAccountId) {\n this._requireNotFrozen();\n\n const id = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n\n const owner =\n typeof ownerAccountId === \"string\"\n ? AccountId.fromString(ownerAccountId)\n : ownerAccountId;\n let found = false;\n\n for (const allowance of this._nftAllowances) {\n if (allowance.tokenId.compare(id.tokenId) === 0) {\n if (allowance.serialNumbers != null) {\n allowance.serialNumbers.push(id.serial);\n }\n found = true;\n break;\n }\n }\n\n if (!found) {\n this._nftAllowances.push(\n new TokenNftAllowance({\n tokenId: id.tokenId,\n spenderAccountId: null,\n serialNumbers: [id.serial],\n ownerAccountId: owner,\n allSerials: false,\n delegatingSpender: null,\n }),\n );\n }\n\n return this;\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n this._nftAllowances.map((allowance) =>\n allowance._validateChecksums(client),\n );\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.ITransaction} request\n * @returns {Promise<HieroProto.proto.ITransactionResponse>}\n */\n _execute(channel, request) {\n return channel.crypto.deleteAllowances(request);\n }\n\n /**\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n return \"cryptoDeleteAllowance\";\n }\n\n /**\n * @override\n * @protected\n * @returns {HieroProto.proto.ICryptoDeleteAllowanceTransactionBody}\n */\n _makeTransactionData() {\n return {\n nftAllowances: this._nftAllowances.map((allowance) =>\n allowance._toProtobuf(),\n ),\n };\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp = /** @type {import(\"../Timestamp.js\").default} */ (\n this._transactionIds.current.validStart\n );\n return `AccountAllowanceDeleteTransaction:${timestamp.toString()}`;\n }\n}\n\nTRANSACTION_REGISTRY.set(\n \"cryptoDeleteAllowance\",\n // eslint-disable-next-line @typescript-eslint/unbound-method\n AccountAllowanceDeleteTransaction._fromProtobuf,\n);\n"],"names":["AccountAllowanceDeleteTransaction","Transaction","constructor","props","super","this","_nftAllowances","nftAllowances","_fromProtobuf","transactions","signedTransactions","transactionIds","nodeIds","bodies","allowance","_fromProtobufTransactions","map","TokenNftAllowance","tokenNftAllowanceDeletions","deleteAllTokenNftAllowances","nftId","ownerAccountId","_requireNotFrozen","id","NftId","fromString","owner","AccountId","found","tokenId","compare","serialNumbers","push","serial","spenderAccountId","allSerials","delegatingSpender","_validateChecksums","client","_execute","channel","request","crypto","deleteAllowances","_getTransactionDataCase","_makeTransactionData","_toProtobuf","_getLogId","_transactionIds","current","toString","TRANSACTION_REGISTRY","set"],"mappings":"6KAkCe,MAAMA,UAA0CC,EAO3D,WAAAC,CAAYC,EAAQ,IAChBC,QAMAC,KAAKC,eACsB,MAAvBH,EAAMI,cAAwBJ,EAAMI,cAAgB,EAC5D,CAWA,oBAAOC,CACHC,EACAC,EACAC,EACAC,EACAC,GAEA,MACMC,EADOD,EAAO,GAI5B,sBAEQ,OAAOZ,EAAYc,0BACf,IAAIf,EAAkC,CAClCO,eAA2C,MAA3BO,EAAUP,cACpBO,EAAUP,cACV,IACJS,IAAKF,GACHG,EAAkBT,cAAcM,MAGxCL,EACAC,EACAC,EACAC,EACAC,EAER,CAKA,8BAAIK,GACA,OAAOb,KAAKC,cAChB,CASA,2BAAAa,CAA4BC,EAAOC,GAC/BhB,KAAKiB,oBAEL,MAAMC,EAAsB,iBAAVH,EAAqBI,EAAMC,WAAWL,GAASA,EAE3DM,EACwB,iBAAnBL,EACDM,EAAUF,WAAWJ,GACrBA,EACV,IAAIO,GAAQ,EAEZ,IAAK,MAAMd,KAAaT,KAAKC,eACzB,GAA8C,IAA1CQ,EAAUe,QAAQC,QAAQP,EAAGM,SAAgB,CACd,MAA3Bf,EAAUiB,eACVjB,EAAUiB,cAAcC,KAAKT,EAAGU,QAEpCL,GAAQ,EACR,KACJ,CAgBJ,OAbKA,GACDvB,KAAKC,eAAe0B,KAChB,IAAIf,EAAkB,CAClBY,QAASN,EAAGM,QACZK,iBAAkB,KAClBH,cAAe,CAACR,EAAGU,QACnBZ,eAAgBK,EAChBS,YAAY,EACZC,kBAAmB,QAKxB/B,IACX,CAKA,kBAAAgC,CAAmBC,GACfjC,KAAKC,eAAeU,IAAKF,GACrBA,EAAUuB,mBAAmBC,GAErC,CASA,QAAAC,CAASC,EAASC,GACd,OAAOD,EAAQE,OAAOC,iBAAiBF,EAC3C,CAOA,uBAAAG,GACI,MAAO,uBACX,CAOA,oBAAAC,GACI,MAAO,CACHtC,cAAeF,KAAKC,eAAeU,IAAKF,GACpCA,EAAUgC,eAGtB,CAKA,SAAAC,GAII,MAAO,qCAFH1C,KAAK2C,gBAAgBC,QACjC,WAC8DC,YAC1D,EAGJC,EAAqBC,IACjB,wBAEApD,EAAkCQ"}