@hiero-ledger/sdk 2.80.0 → 2.81.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/README.md +34 -7
  2. package/dist/umd.js +2213 -318
  3. package/dist/umd.js.map +1 -0
  4. package/dist/umd.min.js +6 -5
  5. package/dist/umd.min.js.map +1 -0
  6. package/lib/Executable.cjs +7 -4
  7. package/lib/Executable.js +1 -1
  8. package/lib/Executable.js.map +1 -1
  9. package/lib/PublicKey.cjs +45 -26
  10. package/lib/PublicKey.d.ts +12 -0
  11. package/lib/PublicKey.js +1 -1
  12. package/lib/PublicKey.js.map +1 -1
  13. package/lib/RequestType.cjs +19 -1
  14. package/lib/RequestType.d.ts +2 -0
  15. package/lib/RequestType.js +1 -1
  16. package/lib/RequestType.js.map +1 -1
  17. package/lib/Status.cjs +203 -252
  18. package/lib/Status.d.ts +8 -6
  19. package/lib/Status.js +1 -1
  20. package/lib/Status.js.map +1 -1
  21. package/lib/Transfer.cjs +25 -2
  22. package/lib/Transfer.d.ts +4 -0
  23. package/lib/Transfer.js +1 -1
  24. package/lib/Transfer.js.map +1 -1
  25. package/lib/account/AccountCreateTransaction.cjs +38 -0
  26. package/lib/account/AccountCreateTransaction.d.ts +21 -0
  27. package/lib/account/AccountCreateTransaction.js +1 -1
  28. package/lib/account/AccountCreateTransaction.js.map +1 -1
  29. package/lib/account/AccountUpdateTransaction.cjs +74 -1
  30. package/lib/account/AccountUpdateTransaction.d.ts +43 -0
  31. package/lib/account/AccountUpdateTransaction.js +1 -1
  32. package/lib/account/AccountUpdateTransaction.js.map +1 -1
  33. package/lib/account/TransferTransaction.cjs +57 -9
  34. package/lib/account/TransferTransaction.d.ts +31 -1
  35. package/lib/account/TransferTransaction.js +1 -1
  36. package/lib/account/TransferTransaction.js.map +1 -1
  37. package/lib/browser.js +1 -1
  38. package/lib/client/Client.cjs +38 -0
  39. package/lib/client/Client.d.ts +30 -0
  40. package/lib/client/Client.js +1 -1
  41. package/lib/client/Client.js.map +1 -1
  42. package/lib/client/addressbooks/mainnet.cjs +1 -1
  43. package/lib/client/addressbooks/mainnet.d.ts +1 -1
  44. package/lib/client/addressbooks/mainnet.js +1 -1
  45. package/lib/client/addressbooks/mainnet.js.map +1 -1
  46. package/lib/client/addressbooks/previewnet.cjs +1 -1
  47. package/lib/client/addressbooks/previewnet.d.ts +1 -1
  48. package/lib/client/addressbooks/previewnet.js +1 -1
  49. package/lib/client/addressbooks/previewnet.js.map +1 -1
  50. package/lib/client/addressbooks/testnet.cjs +1 -1
  51. package/lib/client/addressbooks/testnet.d.ts +1 -1
  52. package/lib/client/addressbooks/testnet.js +1 -1
  53. package/lib/client/addressbooks/testnet.js.map +1 -1
  54. package/lib/contract/ContractCreateTransaction.cjs +37 -1
  55. package/lib/contract/ContractCreateTransaction.d.ts +21 -0
  56. package/lib/contract/ContractCreateTransaction.js +1 -1
  57. package/lib/contract/ContractCreateTransaction.js.map +1 -1
  58. package/lib/contract/ContractUpdateTransaction.cjs +74 -1
  59. package/lib/contract/ContractUpdateTransaction.d.ts +43 -0
  60. package/lib/contract/ContractUpdateTransaction.js +1 -1
  61. package/lib/contract/ContractUpdateTransaction.js.map +1 -1
  62. package/lib/exports.cjs +103 -0
  63. package/lib/exports.d.ts +13 -0
  64. package/lib/exports.js +1 -1
  65. package/lib/exports.js.map +1 -1
  66. package/lib/hooks/EvmHook.cjs +84 -0
  67. package/lib/hooks/EvmHook.d.ts +51 -0
  68. package/lib/hooks/EvmHook.js +2 -0
  69. package/lib/hooks/EvmHook.js.map +1 -0
  70. package/lib/hooks/EvmHookCall.cjs +103 -0
  71. package/lib/hooks/EvmHookCall.d.ts +69 -0
  72. package/lib/hooks/EvmHookCall.js +2 -0
  73. package/lib/hooks/EvmHookCall.js.map +1 -0
  74. package/lib/hooks/EvmHookMappingEntry.cjs +135 -0
  75. package/lib/hooks/EvmHookMappingEntry.d.ts +84 -0
  76. package/lib/hooks/EvmHookMappingEntry.js +2 -0
  77. package/lib/hooks/EvmHookMappingEntry.js.map +1 -0
  78. package/lib/hooks/EvmHookStorageUpdate.cjs +238 -0
  79. package/lib/hooks/EvmHookStorageUpdate.d.ts +144 -0
  80. package/lib/hooks/EvmHookStorageUpdate.js +2 -0
  81. package/lib/hooks/EvmHookStorageUpdate.js.map +1 -0
  82. package/lib/hooks/FungibleHookCall.cjs +67 -0
  83. package/lib/hooks/FungibleHookCall.d.ts +50 -0
  84. package/lib/hooks/FungibleHookCall.js +2 -0
  85. package/lib/hooks/FungibleHookCall.js.map +1 -0
  86. package/lib/hooks/FungibleHookType.cjs +11 -0
  87. package/lib/hooks/FungibleHookType.d.ts +5 -0
  88. package/lib/hooks/FungibleHookType.js +2 -0
  89. package/lib/hooks/FungibleHookType.js.map +1 -0
  90. package/lib/hooks/HookCall.cjs +99 -0
  91. package/lib/hooks/HookCall.d.ts +64 -0
  92. package/lib/hooks/HookCall.js +2 -0
  93. package/lib/hooks/HookCall.js.map +1 -0
  94. package/lib/hooks/HookCreationDetails.cjs +149 -0
  95. package/lib/hooks/HookCreationDetails.d.ts +91 -0
  96. package/lib/hooks/HookCreationDetails.js +2 -0
  97. package/lib/hooks/HookCreationDetails.js.map +1 -0
  98. package/lib/hooks/HookEntityId.cjs +67 -0
  99. package/lib/hooks/HookEntityId.d.ts +41 -0
  100. package/lib/hooks/HookEntityId.js +2 -0
  101. package/lib/hooks/HookEntityId.js.map +1 -0
  102. package/lib/hooks/HookExtensionPoint.cjs +31 -0
  103. package/lib/hooks/HookExtensionPoint.d.ts +16 -0
  104. package/lib/hooks/HookExtensionPoint.js +2 -0
  105. package/lib/hooks/HookExtensionPoint.js.map +1 -0
  106. package/lib/hooks/HookId.cjs +101 -0
  107. package/lib/hooks/HookId.d.ts +63 -0
  108. package/lib/hooks/HookId.js +2 -0
  109. package/lib/hooks/HookId.js.map +1 -0
  110. package/lib/hooks/HookStoreTransaction.cjs +157 -0
  111. package/lib/hooks/HookStoreTransaction.d.ts +77 -0
  112. package/lib/hooks/HookStoreTransaction.js +2 -0
  113. package/lib/hooks/HookStoreTransaction.js.map +1 -0
  114. package/lib/hooks/NftHookCall.cjs +67 -0
  115. package/lib/hooks/NftHookCall.d.ts +50 -0
  116. package/lib/hooks/NftHookCall.js +2 -0
  117. package/lib/hooks/NftHookCall.js.map +1 -0
  118. package/lib/hooks/NftHookType.cjs +13 -0
  119. package/lib/hooks/NftHookType.d.ts +7 -0
  120. package/lib/hooks/NftHookType.js +2 -0
  121. package/lib/hooks/NftHookType.js.map +1 -0
  122. package/lib/index.js +1 -1
  123. package/lib/native.js +1 -1
  124. package/lib/token/AbstractTokenTransferTransaction.cjs +17 -5
  125. package/lib/token/AbstractTokenTransferTransaction.d.ts +13 -2
  126. package/lib/token/AbstractTokenTransferTransaction.js +1 -1
  127. package/lib/token/AbstractTokenTransferTransaction.js.map +1 -1
  128. package/lib/token/TokenAirdropTransaction.cjs +1 -1
  129. package/lib/token/TokenAirdropTransaction.js +1 -1
  130. package/lib/token/TokenAirdropTransaction.js.map +1 -1
  131. package/lib/token/TokenNftTransfer.cjs +51 -2
  132. package/lib/token/TokenNftTransfer.d.ts +7 -0
  133. package/lib/token/TokenNftTransfer.js +1 -1
  134. package/lib/token/TokenNftTransfer.js.map +1 -1
  135. package/lib/token/TokenTransfer.cjs +26 -2
  136. package/lib/token/TokenTransfer.d.ts +4 -0
  137. package/lib/token/TokenTransfer.js +1 -1
  138. package/lib/token/TokenTransfer.js.map +1 -1
  139. package/lib/transaction/Transaction.cjs +2 -1
  140. package/lib/transaction/Transaction.js +1 -1
  141. package/lib/transaction/Transaction.js.map +1 -1
  142. package/lib/transaction/TransactionResponse.cjs +82 -9
  143. package/lib/transaction/TransactionResponse.d.ts +33 -2
  144. package/lib/transaction/TransactionResponse.js +1 -1
  145. package/lib/transaction/TransactionResponse.js.map +1 -1
  146. package/lib/version.js +1 -1
  147. package/package.json +15 -13
  148. package/src/Executable.js +10 -7
  149. package/src/PublicKey.js +53 -36
  150. package/src/RequestType.js +18 -0
  151. package/src/Status.js +201 -252
  152. package/src/Transfer.js +33 -1
  153. package/src/account/AccountCreateTransaction.js +39 -0
  154. package/src/account/AccountUpdateTransaction.js +78 -0
  155. package/src/account/TransferTransaction.js +84 -8
  156. package/src/client/Client.js +38 -0
  157. package/src/client/addressbooks/mainnet.js +1 -1
  158. package/src/client/addressbooks/previewnet.js +1 -1
  159. package/src/client/addressbooks/testnet.js +1 -1
  160. package/src/contract/ContractCreateTransaction.js +37 -0
  161. package/src/contract/ContractUpdateTransaction.js +80 -0
  162. package/src/exports.js +17 -0
  163. package/src/hooks/EvmHook.js +83 -0
  164. package/src/hooks/EvmHookCall.js +100 -0
  165. package/src/hooks/EvmHookMappingEntry.js +140 -0
  166. package/src/hooks/EvmHookStorageUpdate.js +257 -0
  167. package/src/hooks/FungibleHookCall.js +65 -0
  168. package/src/hooks/FungibleHookType.js +6 -0
  169. package/src/hooks/HookCall.js +97 -0
  170. package/src/hooks/HookCreationDetails.js +155 -0
  171. package/src/hooks/HookEntityId.js +67 -0
  172. package/src/hooks/HookExtensionPoint.js +25 -0
  173. package/src/hooks/HookId.js +102 -0
  174. package/src/hooks/HookStoreTransaction.js +185 -0
  175. package/src/hooks/NftHookCall.js +64 -0
  176. package/src/hooks/NftHookType.js +8 -0
  177. package/src/token/AbstractTokenTransferTransaction.js +16 -1
  178. package/src/token/TokenAirdropTransaction.js +1 -0
  179. package/src/token/TokenNftTransfer.js +68 -1
  180. package/src/token/TokenTransfer.js +34 -1
  181. package/src/transaction/Transaction.js +3 -0
  182. package/src/transaction/TransactionResponse.js +98 -13
@@ -1 +1 @@
1
- {"version":3,"file":"AccountUpdateTransaction.js","sources":["../../src/account/AccountUpdateTransaction.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 Timestamp from \"../Timestamp.js\";\nimport Duration from \"../Duration.js\";\nimport Long from \"long\";\nimport Key from \"../Key.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.ICryptoUpdateTransactionBody} HieroProto.proto.ICryptoUpdateTransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountID} HieroProto.proto.IAccountID\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 */\n\n/**\n * Change properties for the given account.\n */\nexport default class AccountUpdateTransaction extends Transaction {\n /**\n * @param {object} props\n * @param {AccountId} [props.accountId]\n * @param {Key} [props.key]\n * @param {?boolean} [props.receiverSignatureRequired]\n * @param {AccountId} [props.proxyAccountId]\n * @param {Duration | Long | number} [props.autoRenewPeriod]\n * @param {Timestamp | Date} [props.expirationTime]\n * @param {?string} [props.accountMemo]\n * @param {Long | number} [props.maxAutomaticTokenAssociations]\n * @param {Key} [props.aliasKey]\n * @param {AccountId | string} [props.stakedAccountId]\n * @param {Long | number} [props.stakedNodeId]\n * @param {?boolean} [props.declineStakingReward]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {?AccountId}\n */\n this._accountId = null;\n\n /**\n * @private\n * @type {?Key}\n */\n this._key = null;\n\n /**\n * @private\n * @type {?boolean}\n */\n this._receiverSignatureRequired = null;\n\n /**\n * @private\n * @type {?AccountId}\n */\n this._proxyAccountId = null;\n\n /**\n * @private\n * @type {?Duration}\n */\n this._autoRenewPeriod = null;\n\n /**\n * @private\n * @type {?Timestamp}\n */\n this._expirationTime = null;\n\n /**\n * @private\n * @type {?string}\n */\n this._accountMemo = null;\n\n /**\n * @private\n * @type {?Long}\n */\n this._maxAutomaticTokenAssociations = null;\n\n /**\n * @private\n * @type {?Key}\n */\n this._aliasKey = null;\n\n /**\n * @private\n * @type {?AccountId}\n */\n this._stakedAccountId = null;\n\n /**\n * @private\n * @type {?Long}\n */\n this._stakedNodeId = null;\n\n /**\n * @private\n * @type {?boolean}\n */\n this._declineStakingReward = null;\n\n if (props.accountId != null) {\n this.setAccountId(props.accountId);\n }\n\n if (props.key != null) {\n this.setKey(props.key);\n }\n\n if (props.receiverSignatureRequired != null) {\n this.setReceiverSignatureRequired(props.receiverSignatureRequired);\n }\n\n if (props.proxyAccountId != null) {\n // eslint-disable-next-line deprecation/deprecation\n this.setProxyAccountId(props.proxyAccountId);\n }\n\n if (props.autoRenewPeriod != null) {\n this.setAutoRenewPeriod(props.autoRenewPeriod);\n }\n\n if (props.expirationTime != null) {\n this.setExpirationTime(props.expirationTime);\n }\n\n if (props.accountMemo != null) {\n this.setAccountMemo(props.accountMemo);\n }\n\n if (props.maxAutomaticTokenAssociations != null) {\n this.setMaxAutomaticTokenAssociations(\n props.maxAutomaticTokenAssociations,\n );\n }\n\n if (props.stakedAccountId != null) {\n this.setStakedAccountId(props.stakedAccountId);\n }\n\n if (props.stakedNodeId != null) {\n this.setStakedNodeId(props.stakedNodeId);\n }\n\n if (props.declineStakingReward != null) {\n this.setDeclineStakingReward(props.declineStakingReward);\n }\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 {AccountUpdateTransaction}\n */\n static _fromProtobuf(\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n ) {\n const body = bodies[0];\n const update =\n /** @type {HieroProto.proto.ICryptoUpdateTransactionBody} */ (\n body.cryptoUpdateAccount\n );\n\n return Transaction._fromProtobufTransactions(\n new AccountUpdateTransaction({\n accountId:\n update.accountIDToUpdate != null\n ? AccountId._fromProtobuf(\n /** @type {HieroProto.proto.IAccountID} */ (\n update.accountIDToUpdate\n ),\n )\n : undefined,\n key:\n update.key != null\n ? Key._fromProtobufKey(update.key)\n : undefined,\n receiverSignatureRequired:\n update.receiverSigRequiredWrapper != null\n ? Object.hasOwn(\n update.receiverSigRequiredWrapper,\n \"value\",\n )\n ? update.receiverSigRequiredWrapper.value\n : undefined\n : undefined,\n proxyAccountId:\n update.proxyAccountID != null\n ? AccountId._fromProtobuf(\n /** @type {HieroProto.proto.IAccountID} */ (\n update.proxyAccountID\n ),\n )\n : undefined,\n autoRenewPeriod:\n update.autoRenewPeriod != null\n ? update.autoRenewPeriod.seconds != null\n ? update.autoRenewPeriod.seconds\n : undefined\n : undefined,\n expirationTime:\n update.expirationTime != null\n ? Timestamp._fromProtobuf(update.expirationTime)\n : undefined,\n accountMemo:\n update.memo != null\n ? Object.hasOwn(update.memo, \"value\")\n ? update.memo.value\n : undefined\n : undefined,\n maxAutomaticTokenAssociations:\n update.maxAutomaticTokenAssociations != null &&\n update.maxAutomaticTokenAssociations.value != null &&\n Object.hasOwn(update.maxAutomaticTokenAssociations, \"value\")\n ? Long.fromNumber(\n update.maxAutomaticTokenAssociations.value,\n )\n : undefined,\n stakedAccountId:\n update.stakedAccountId != null\n ? AccountId._fromProtobuf(update.stakedAccountId)\n : undefined,\n stakedNodeId:\n update.stakedNodeId != null\n ? update.stakedNodeId\n : undefined,\n declineStakingReward:\n update.declineReward != null\n ? Object.hasOwn(update.declineReward, \"value\")\n ? update.declineReward.value\n : undefined\n : undefined,\n }),\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n );\n }\n\n /**\n * @returns {?AccountId}\n */\n get accountId() {\n return this._accountId;\n }\n\n /**\n * Sets the account ID which is being updated in this transaction.\n *\n * @param {AccountId | string} accountId\n * @returns {AccountUpdateTransaction}\n */\n setAccountId(accountId) {\n this._requireNotFrozen();\n this._accountId =\n typeof accountId === \"string\"\n ? AccountId.fromString(accountId)\n : accountId.clone();\n\n return this;\n }\n\n /**\n * @returns {?Key}\n */\n get key() {\n return this._key;\n }\n\n /**\n * @param {Key} key\n * @returns {this}\n */\n setKey(key) {\n this._requireNotFrozen();\n this._key = key;\n\n return this;\n }\n\n /**\n * @returns {?boolean}\n */\n get receiverSignatureRequired() {\n return this._receiverSignatureRequired;\n }\n\n /**\n * @param {boolean} receiverSignatureRequired\n * @returns {this}\n */\n setReceiverSignatureRequired(receiverSignatureRequired) {\n this._requireNotFrozen();\n this._receiverSignatureRequired = receiverSignatureRequired;\n\n return this;\n }\n\n /**\n * @deprecated\n * @returns {?AccountId}\n */\n get proxyAccountId() {\n return this._proxyAccountId;\n }\n\n /**\n * @deprecated\n * @param {AccountId} proxyAccountId\n * @returns {this}\n */\n setProxyAccountId(proxyAccountId) {\n this._requireNotFrozen();\n this._proxyAccountId = proxyAccountId;\n\n return this;\n }\n\n /**\n * @returns {?Duration}\n */\n get autoRenewPeriod() {\n return this._autoRenewPeriod;\n }\n\n /**\n * @param {Duration | Long | number} autoRenewPeriod\n * @returns {this}\n */\n setAutoRenewPeriod(autoRenewPeriod) {\n this._requireNotFrozen();\n this._autoRenewPeriod =\n autoRenewPeriod instanceof Duration\n ? autoRenewPeriod\n : new Duration(autoRenewPeriod);\n\n return this;\n }\n\n /**\n * @returns {?Timestamp}\n */\n get expirationTime() {\n return this._expirationTime;\n }\n\n /**\n * @param {Timestamp | Date} expirationTime\n * @returns {this}\n */\n setExpirationTime(expirationTime) {\n this._requireNotFrozen();\n this._expirationTime =\n expirationTime instanceof Date\n ? Timestamp.fromDate(expirationTime)\n : expirationTime;\n\n return this;\n }\n\n /**\n * @returns {?string}\n */\n get accountMemo() {\n return this._accountMemo;\n }\n\n /**\n * @param {string} memo\n * @returns {this}\n */\n setAccountMemo(memo) {\n this._requireNotFrozen();\n this._accountMemo = memo;\n\n return this;\n }\n\n /**\n * @returns {this}\n */\n clearAccountMemo() {\n this._requireNotFrozen();\n this._accountMemo = null;\n\n return this;\n }\n\n /**\n * @returns {?Long}\n */\n get maxAutomaticTokenAssociations() {\n return this._maxAutomaticTokenAssociations;\n }\n\n /**\n * @param {Long | number} maxAutomaticTokenAssociations\n * @returns {this}\n */\n setMaxAutomaticTokenAssociations(maxAutomaticTokenAssociations) {\n this._requireNotFrozen();\n this._maxAutomaticTokenAssociations =\n typeof maxAutomaticTokenAssociations === \"number\"\n ? Long.fromNumber(maxAutomaticTokenAssociations)\n : maxAutomaticTokenAssociations;\n\n return this;\n }\n\n /**\n * @deprecated - no longer supported\n * @returns {?Key}\n */\n get aliasKey() {\n return null;\n }\n\n /**\n * @deprecated - no longer supported\n * @param {Key} _\n * @returns {this}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setAliasKey(_) {\n return this;\n }\n\n /**\n * @returns {?AccountId}\n */\n get stakedAccountId() {\n return this._stakedAccountId;\n }\n\n /**\n * @param {AccountId | string} stakedAccountId\n * @returns {this}\n */\n setStakedAccountId(stakedAccountId) {\n this._requireNotFrozen();\n this._stakedAccountId =\n typeof stakedAccountId === \"string\"\n ? AccountId.fromString(stakedAccountId)\n : stakedAccountId;\n\n return this;\n }\n\n /**\n * @returns {this}\n */\n clearStakedAccountId() {\n this._requireNotFrozen();\n this._stakedAccountId = new AccountId(0, 0, 0);\n\n return this;\n }\n\n /**\n * @returns {?Long}\n */\n get stakedNodeId() {\n return this._stakedNodeId;\n }\n\n /**\n * @param {Long | number} stakedNodeId\n * @returns {this}\n */\n setStakedNodeId(stakedNodeId) {\n this._requireNotFrozen();\n this._stakedNodeId = Long.fromValue(stakedNodeId);\n\n return this;\n }\n\n /**\n * @returns {this}\n */\n clearStakedNodeId() {\n this._requireNotFrozen();\n this._stakedNodeId = Long.fromNumber(-1);\n\n return this;\n }\n\n /**\n * @returns {?boolean}\n */\n get declineStakingRewards() {\n return this._declineStakingReward;\n }\n\n /**\n * @param {boolean} declineStakingReward\n * @returns {this}\n */\n setDeclineStakingReward(declineStakingReward) {\n this._requireNotFrozen();\n this._declineStakingReward = declineStakingReward;\n\n return this;\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n if (this._accountId != null) {\n this._accountId.validateChecksum(client);\n }\n\n if (this._proxyAccountId != null) {\n this._proxyAccountId.validateChecksum(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.updateAccount(request);\n }\n\n /**\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n return \"cryptoUpdateAccount\";\n }\n\n /**\n * @override\n * @protected\n * @returns {HieroProto.proto.ICryptoUpdateTransactionBody}\n */\n _makeTransactionData() {\n return {\n accountIDToUpdate:\n this._accountId != null ? this._accountId._toProtobuf() : null,\n key: this._key != null ? this._key._toProtobufKey() : null,\n expirationTime:\n this._expirationTime != null\n ? this._expirationTime._toProtobuf()\n : null,\n proxyAccountID:\n this._proxyAccountId != null\n ? this._proxyAccountId._toProtobuf()\n : null,\n autoRenewPeriod:\n this._autoRenewPeriod != null\n ? this._autoRenewPeriod._toProtobuf()\n : null,\n receiverSigRequiredWrapper:\n this._receiverSignatureRequired == null\n ? null\n : {\n value: this._receiverSignatureRequired,\n },\n memo:\n this._accountMemo != null\n ? {\n value: this._accountMemo,\n }\n : null,\n maxAutomaticTokenAssociations:\n this._maxAutomaticTokenAssociations != null\n ? { value: this._maxAutomaticTokenAssociations.toInt() }\n : null,\n stakedAccountId:\n this.stakedAccountId != null\n ? this.stakedAccountId._toProtobuf()\n : null,\n stakedNodeId: this.stakedNodeId,\n declineReward:\n this.declineStakingRewards != null\n ? { value: this.declineStakingRewards }\n : null,\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 `AccountUpdateTransaction:${timestamp.toString()}`;\n }\n}\n\nTRANSACTION_REGISTRY.set(\n \"cryptoUpdateAccount\",\n // eslint-disable-next-line @typescript-eslint/unbound-method\n AccountUpdateTransaction._fromProtobuf,\n);\n"],"names":["AccountUpdateTransaction","Transaction","constructor","props","super","this","_accountId","_key","_receiverSignatureRequired","_proxyAccountId","_autoRenewPeriod","_expirationTime","_accountMemo","_maxAutomaticTokenAssociations","_aliasKey","_stakedAccountId","_stakedNodeId","_declineStakingReward","accountId","setAccountId","key","setKey","receiverSignatureRequired","setReceiverSignatureRequired","proxyAccountId","setProxyAccountId","autoRenewPeriod","setAutoRenewPeriod","expirationTime","setExpirationTime","accountMemo","setAccountMemo","maxAutomaticTokenAssociations","setMaxAutomaticTokenAssociations","stakedAccountId","setStakedAccountId","stakedNodeId","setStakedNodeId","declineStakingReward","setDeclineStakingReward","_fromProtobuf","transactions","signedTransactions","transactionIds","nodeIds","bodies","update","_fromProtobufTransactions","accountIDToUpdate","AccountId","undefined","Key","_fromProtobufKey","receiverSigRequiredWrapper","Object","hasOwn","value","proxyAccountID","seconds","Timestamp","memo","Long","fromNumber","declineReward","_requireNotFrozen","fromString","clone","Duration","Date","fromDate","clearAccountMemo","aliasKey","setAliasKey","_","clearStakedAccountId","fromValue","clearStakedNodeId","declineStakingRewards","_validateChecksums","client","validateChecksum","_execute","channel","request","crypto","updateAccount","_getTransactionDataCase","_makeTransactionData","_toProtobuf","_toProtobufKey","toInt","_getLogId","_transactionIds","current","toString","TRANSACTION_REGISTRY","set"],"mappings":"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"}
1
+ {"version":3,"file":"AccountUpdateTransaction.js","sources":["../../src/account/AccountUpdateTransaction.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 Timestamp from \"../Timestamp.js\";\nimport Duration from \"../Duration.js\";\nimport Long from \"long\";\nimport Key from \"../Key.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.ICryptoUpdateTransactionBody} HieroProto.proto.ICryptoUpdateTransactionBody\n * @typedef {import(\"@hiero-ledger/proto\").proto.IAccountID} HieroProto.proto.IAccountID\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 */\n\n/**\n * Change properties for the given account.\n */\nexport default class AccountUpdateTransaction extends Transaction {\n /**\n * @param {object} props\n * @param {AccountId} [props.accountId]\n * @param {Key} [props.key]\n * @param {?boolean} [props.receiverSignatureRequired]\n * @param {AccountId} [props.proxyAccountId]\n * @param {Duration | Long | number} [props.autoRenewPeriod]\n * @param {Timestamp | Date} [props.expirationTime]\n * @param {?string} [props.accountMemo]\n * @param {Long | number} [props.maxAutomaticTokenAssociations]\n * @param {Key} [props.aliasKey]\n * @param {AccountId | string} [props.stakedAccountId]\n * @param {Long | number} [props.stakedNodeId]\n * @param {?boolean} [props.declineStakingReward]\n * @param {import(\"../hooks/HookCreationDetails.js\").default[]} [props.hooksToBeCreated]\n * @param {Long[]} [props.hooksToBeDeleted]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {?AccountId}\n */\n this._accountId = null;\n\n /**\n * @private\n * @type {?Key}\n */\n this._key = null;\n\n /**\n * @private\n * @type {?boolean}\n */\n this._receiverSignatureRequired = null;\n\n /**\n * @private\n * @type {?AccountId}\n */\n this._proxyAccountId = null;\n\n /**\n * @private\n * @type {?Duration}\n */\n this._autoRenewPeriod = null;\n\n /**\n * @private\n * @type {?Timestamp}\n */\n this._expirationTime = null;\n\n /**\n * @private\n * @type {?string}\n */\n this._accountMemo = null;\n\n /**\n * @private\n * @type {?Long}\n */\n this._maxAutomaticTokenAssociations = null;\n\n /**\n * @private\n * @type {?Key}\n */\n this._aliasKey = null;\n\n /**\n * @private\n * @type {?AccountId}\n */\n this._stakedAccountId = null;\n\n /**\n * @private\n * @type {?Long}\n */\n this._stakedNodeId = null;\n\n /**\n * @private\n * @type {?boolean}\n */\n this._declineStakingReward = null;\n\n /**\n * @private\n * @type {import(\"../hooks/HookCreationDetails.js\").default[]}\n */\n this._hooksToBeCreated = [];\n\n /**\n * @private\n * @type {Long[]}\n */\n this._hooksToBeDeleted = [];\n\n if (props.accountId != null) {\n this.setAccountId(props.accountId);\n }\n\n if (props.key != null) {\n this.setKey(props.key);\n }\n\n if (props.receiverSignatureRequired != null) {\n this.setReceiverSignatureRequired(props.receiverSignatureRequired);\n }\n\n if (props.proxyAccountId != null) {\n // eslint-disable-next-line deprecation/deprecation\n this.setProxyAccountId(props.proxyAccountId);\n }\n\n if (props.autoRenewPeriod != null) {\n this.setAutoRenewPeriod(props.autoRenewPeriod);\n }\n\n if (props.expirationTime != null) {\n this.setExpirationTime(props.expirationTime);\n }\n\n if (props.accountMemo != null) {\n this.setAccountMemo(props.accountMemo);\n }\n\n if (props.maxAutomaticTokenAssociations != null) {\n this.setMaxAutomaticTokenAssociations(\n props.maxAutomaticTokenAssociations,\n );\n }\n\n if (props.stakedAccountId != null) {\n this.setStakedAccountId(props.stakedAccountId);\n }\n\n if (props.stakedNodeId != null) {\n this.setStakedNodeId(props.stakedNodeId);\n }\n\n if (props.declineStakingReward != null) {\n this.setDeclineStakingReward(props.declineStakingReward);\n }\n\n if (props.hooksToBeCreated != null) {\n this.setHooksToCreate(props.hooksToBeCreated);\n }\n\n if (props.hooksToBeDeleted != null) {\n this.setHooksToDelete(props.hooksToBeDeleted);\n }\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 {AccountUpdateTransaction}\n */\n static _fromProtobuf(\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n ) {\n const body = bodies[0];\n const update =\n /** @type {HieroProto.proto.ICryptoUpdateTransactionBody} */ (\n body.cryptoUpdateAccount\n );\n\n return Transaction._fromProtobufTransactions(\n new AccountUpdateTransaction({\n accountId:\n update.accountIDToUpdate != null\n ? AccountId._fromProtobuf(\n /** @type {HieroProto.proto.IAccountID} */ (\n update.accountIDToUpdate\n ),\n )\n : undefined,\n key:\n update.key != null\n ? Key._fromProtobufKey(update.key)\n : undefined,\n receiverSignatureRequired:\n update.receiverSigRequiredWrapper != null\n ? Object.hasOwn(\n update.receiverSigRequiredWrapper,\n \"value\",\n )\n ? update.receiverSigRequiredWrapper.value\n : undefined\n : undefined,\n proxyAccountId:\n update.proxyAccountID != null\n ? AccountId._fromProtobuf(\n /** @type {HieroProto.proto.IAccountID} */ (\n update.proxyAccountID\n ),\n )\n : undefined,\n autoRenewPeriod:\n update.autoRenewPeriod != null\n ? update.autoRenewPeriod.seconds != null\n ? update.autoRenewPeriod.seconds\n : undefined\n : undefined,\n expirationTime:\n update.expirationTime != null\n ? Timestamp._fromProtobuf(update.expirationTime)\n : undefined,\n accountMemo:\n update.memo != null\n ? Object.hasOwn(update.memo, \"value\")\n ? update.memo.value\n : undefined\n : undefined,\n maxAutomaticTokenAssociations:\n update.maxAutomaticTokenAssociations != null &&\n update.maxAutomaticTokenAssociations.value != null &&\n Object.hasOwn(update.maxAutomaticTokenAssociations, \"value\")\n ? Long.fromNumber(\n update.maxAutomaticTokenAssociations.value,\n )\n : undefined,\n stakedAccountId:\n update.stakedAccountId != null\n ? AccountId._fromProtobuf(update.stakedAccountId)\n : undefined,\n stakedNodeId:\n update.stakedNodeId != null\n ? update.stakedNodeId\n : undefined,\n declineStakingReward:\n update.declineReward != null\n ? Object.hasOwn(update.declineReward, \"value\")\n ? update.declineReward.value\n : undefined\n : undefined,\n }),\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n );\n }\n\n /**\n * @returns {?AccountId}\n */\n get accountId() {\n return this._accountId;\n }\n\n /**\n * Sets the account ID which is being updated in this transaction.\n *\n * @param {AccountId | string} accountId\n * @returns {AccountUpdateTransaction}\n */\n setAccountId(accountId) {\n this._requireNotFrozen();\n this._accountId =\n typeof accountId === \"string\"\n ? AccountId.fromString(accountId)\n : accountId.clone();\n\n return this;\n }\n\n /**\n * @returns {?Key}\n */\n get key() {\n return this._key;\n }\n\n /**\n * @param {Key} key\n * @returns {this}\n */\n setKey(key) {\n this._requireNotFrozen();\n this._key = key;\n\n return this;\n }\n\n /**\n * @returns {?boolean}\n */\n get receiverSignatureRequired() {\n return this._receiverSignatureRequired;\n }\n\n /**\n * @param {boolean} receiverSignatureRequired\n * @returns {this}\n */\n setReceiverSignatureRequired(receiverSignatureRequired) {\n this._requireNotFrozen();\n this._receiverSignatureRequired = receiverSignatureRequired;\n\n return this;\n }\n\n /**\n * @deprecated\n * @returns {?AccountId}\n */\n get proxyAccountId() {\n return this._proxyAccountId;\n }\n\n /**\n * @deprecated\n * @param {AccountId} proxyAccountId\n * @returns {this}\n */\n setProxyAccountId(proxyAccountId) {\n this._requireNotFrozen();\n this._proxyAccountId = proxyAccountId;\n\n return this;\n }\n\n /**\n * @returns {?Duration}\n */\n get autoRenewPeriod() {\n return this._autoRenewPeriod;\n }\n\n /**\n * @param {Duration | Long | number} autoRenewPeriod\n * @returns {this}\n */\n setAutoRenewPeriod(autoRenewPeriod) {\n this._requireNotFrozen();\n this._autoRenewPeriod =\n autoRenewPeriod instanceof Duration\n ? autoRenewPeriod\n : new Duration(autoRenewPeriod);\n\n return this;\n }\n\n /**\n * @returns {?Timestamp}\n */\n get expirationTime() {\n return this._expirationTime;\n }\n\n /**\n * @param {Timestamp | Date} expirationTime\n * @returns {this}\n */\n setExpirationTime(expirationTime) {\n this._requireNotFrozen();\n this._expirationTime =\n expirationTime instanceof Date\n ? Timestamp.fromDate(expirationTime)\n : expirationTime;\n\n return this;\n }\n\n /**\n * @returns {?string}\n */\n get accountMemo() {\n return this._accountMemo;\n }\n\n /**\n * @param {string} memo\n * @returns {this}\n */\n setAccountMemo(memo) {\n this._requireNotFrozen();\n this._accountMemo = memo;\n\n return this;\n }\n\n /**\n * @returns {this}\n */\n clearAccountMemo() {\n this._requireNotFrozen();\n this._accountMemo = null;\n\n return this;\n }\n\n /**\n * @returns {?Long}\n */\n get maxAutomaticTokenAssociations() {\n return this._maxAutomaticTokenAssociations;\n }\n\n /**\n * @param {Long | number} maxAutomaticTokenAssociations\n * @returns {this}\n */\n setMaxAutomaticTokenAssociations(maxAutomaticTokenAssociations) {\n this._requireNotFrozen();\n this._maxAutomaticTokenAssociations =\n typeof maxAutomaticTokenAssociations === \"number\"\n ? Long.fromNumber(maxAutomaticTokenAssociations)\n : maxAutomaticTokenAssociations;\n\n return this;\n }\n\n /**\n * @deprecated - no longer supported\n * @returns {?Key}\n */\n get aliasKey() {\n return null;\n }\n\n /**\n * @deprecated - no longer supported\n * @param {Key} _\n * @returns {this}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setAliasKey(_) {\n return this;\n }\n\n /**\n * @returns {?AccountId}\n */\n get stakedAccountId() {\n return this._stakedAccountId;\n }\n\n /**\n * @param {AccountId | string} stakedAccountId\n * @returns {this}\n */\n setStakedAccountId(stakedAccountId) {\n this._requireNotFrozen();\n this._stakedAccountId =\n typeof stakedAccountId === \"string\"\n ? AccountId.fromString(stakedAccountId)\n : stakedAccountId;\n\n return this;\n }\n\n /**\n * @returns {this}\n */\n clearStakedAccountId() {\n this._requireNotFrozen();\n this._stakedAccountId = new AccountId(0, 0, 0);\n\n return this;\n }\n\n /**\n * @returns {?Long}\n */\n get stakedNodeId() {\n return this._stakedNodeId;\n }\n\n /**\n * @param {Long | number} stakedNodeId\n * @returns {this}\n */\n setStakedNodeId(stakedNodeId) {\n this._requireNotFrozen();\n this._stakedNodeId = Long.fromValue(stakedNodeId);\n\n return this;\n }\n\n /**\n * @returns {this}\n */\n clearStakedNodeId() {\n this._requireNotFrozen();\n this._stakedNodeId = Long.fromNumber(-1);\n\n return this;\n }\n\n /**\n * @returns {?boolean}\n */\n get declineStakingRewards() {\n return this._declineStakingReward;\n }\n\n /**\n * @param {boolean} declineStakingReward\n * @returns {this}\n */\n setDeclineStakingReward(declineStakingReward) {\n this._requireNotFrozen();\n this._declineStakingReward = declineStakingReward;\n\n return this;\n }\n\n /**\n * @param {import(\"../hooks/HookCreationDetails.js\").default} hook\n * @returns {this}\n */\n addHookToCreate(hook) {\n this._hooksToBeCreated.push(hook);\n return this;\n }\n\n /**\n * @param {import(\"../hooks/HookCreationDetails.js\").default[]} hooks\n * @returns {this}\n */\n setHooksToCreate(hooks) {\n this._hooksToBeCreated = hooks;\n return this;\n }\n\n /**\n * @returns {import(\"../hooks/HookCreationDetails.js\").default[]}\n */\n get hooksToCreate() {\n return this._hooksToBeCreated;\n }\n\n /**\n *\n * @param {Long} hook\n * @returns {this}\n */\n addHookToDelete(hook) {\n this._hooksToBeDeleted.push(hook);\n return this;\n }\n\n /**\n * @param {Long[]} hookIds\n * @returns {this}\n */\n setHooksToDelete(hookIds) {\n this._hooksToBeDeleted = hookIds;\n return this;\n }\n\n /**\n * @returns {Long[]}\n */\n get hooksToDelete() {\n return this._hooksToBeDeleted;\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n if (this._accountId != null) {\n this._accountId.validateChecksum(client);\n }\n\n if (this._proxyAccountId != null) {\n this._proxyAccountId.validateChecksum(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.updateAccount(request);\n }\n\n /**\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n return \"cryptoUpdateAccount\";\n }\n\n /**\n * @override\n * @protected\n * @returns {HieroProto.proto.ICryptoUpdateTransactionBody}\n */\n _makeTransactionData() {\n return {\n accountIDToUpdate:\n this._accountId != null ? this._accountId._toProtobuf() : null,\n key: this._key != null ? this._key._toProtobufKey() : null,\n expirationTime:\n this._expirationTime != null\n ? this._expirationTime._toProtobuf()\n : null,\n proxyAccountID:\n this._proxyAccountId != null\n ? this._proxyAccountId._toProtobuf()\n : null,\n autoRenewPeriod:\n this._autoRenewPeriod != null\n ? this._autoRenewPeriod._toProtobuf()\n : null,\n receiverSigRequiredWrapper:\n this._receiverSignatureRequired == null\n ? null\n : {\n value: this._receiverSignatureRequired,\n },\n memo:\n this._accountMemo != null\n ? {\n value: this._accountMemo,\n }\n : null,\n maxAutomaticTokenAssociations:\n this._maxAutomaticTokenAssociations != null\n ? { value: this._maxAutomaticTokenAssociations.toInt() }\n : null,\n stakedAccountId:\n this.stakedAccountId != null\n ? this.stakedAccountId._toProtobuf()\n : null,\n stakedNodeId: this.stakedNodeId,\n declineReward:\n this.declineStakingRewards != null\n ? { value: this.declineStakingRewards }\n : null,\n\n hookIdsToDelete: this._hooksToBeDeleted,\n hookCreationDetails: this._hooksToBeCreated.map((hook) =>\n hook._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 `AccountUpdateTransaction:${timestamp.toString()}`;\n }\n}\n\nTRANSACTION_REGISTRY.set(\n \"cryptoUpdateAccount\",\n // eslint-disable-next-line @typescript-eslint/unbound-method\n AccountUpdateTransaction._fromProtobuf,\n);\n"],"names":["AccountUpdateTransaction","Transaction","constructor","props","super","this","_accountId","_key","_receiverSignatureRequired","_proxyAccountId","_autoRenewPeriod","_expirationTime","_accountMemo","_maxAutomaticTokenAssociations","_aliasKey","_stakedAccountId","_stakedNodeId","_declineStakingReward","_hooksToBeCreated","_hooksToBeDeleted","accountId","setAccountId","key","setKey","receiverSignatureRequired","setReceiverSignatureRequired","proxyAccountId","setProxyAccountId","autoRenewPeriod","setAutoRenewPeriod","expirationTime","setExpirationTime","accountMemo","setAccountMemo","maxAutomaticTokenAssociations","setMaxAutomaticTokenAssociations","stakedAccountId","setStakedAccountId","stakedNodeId","setStakedNodeId","declineStakingReward","setDeclineStakingReward","hooksToBeCreated","setHooksToCreate","hooksToBeDeleted","setHooksToDelete","_fromProtobuf","transactions","signedTransactions","transactionIds","nodeIds","bodies","update","_fromProtobufTransactions","accountIDToUpdate","AccountId","undefined","Key","_fromProtobufKey","receiverSigRequiredWrapper","Object","hasOwn","value","proxyAccountID","seconds","Timestamp","memo","Long","fromNumber","declineReward","_requireNotFrozen","fromString","clone","Duration","Date","fromDate","clearAccountMemo","aliasKey","setAliasKey","_","clearStakedAccountId","fromValue","clearStakedNodeId","declineStakingRewards","addHookToCreate","hook","push","hooks","hooksToCreate","addHookToDelete","hookIds","hooksToDelete","_validateChecksums","client","validateChecksum","_execute","channel","request","crypto","updateAccount","_getTransactionDataCase","_makeTransactionData","_toProtobuf","_toProtobufKey","toInt","hookIdsToDelete","hookCreationDetails","map","_getLogId","_transactionIds","current","toString","TRANSACTION_REGISTRY","set"],"mappings":"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"}
@@ -14,6 +14,8 @@ var _HbarTransferMap = _interopRequireDefault(require("./HbarTransferMap.cjs"));
14
14
  var _TokenNftTransfer = _interopRequireDefault(require("../token/TokenNftTransfer.cjs"));
15
15
  var _NftId = _interopRequireDefault(require("../token/NftId.cjs"));
16
16
  var _AbstractTokenTransferTransaction = _interopRequireDefault(require("../token/AbstractTokenTransferTransaction.cjs"));
17
+ var _FungibleHookCall = _interopRequireDefault(require("../hooks/FungibleHookCall.cjs"));
18
+ var _NftHookCall = _interopRequireDefault(require("../hooks/NftHookCall.cjs"));
17
19
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
21
  // SPDX-License-Identifier: Apache-2.0
@@ -134,9 +136,10 @@ class TransferTransaction extends _AbstractTokenTransferTransaction.default {
134
136
  * @param {AccountId | string} accountId
135
137
  * @param {number | string | Long | LongObject | BigNumber | Hbar} amount
136
138
  * @param {boolean} isApproved
139
+ * @param {FungibleHookCall} [hookCall]
137
140
  * @returns {TransferTransaction}
138
141
  */
139
- _addHbarTransfer(accountId, amount, isApproved) {
142
+ _addHbarTransfer(accountId, amount, isApproved, hookCall) {
140
143
  this._requireNotFrozen();
141
144
  const account = accountId instanceof _AccountId.default ? accountId.clone() : _AccountId.default.fromString(accountId);
142
145
  const hbars = amount instanceof _Hbar.default ? amount : new _Hbar.default(amount);
@@ -149,7 +152,8 @@ class TransferTransaction extends _AbstractTokenTransferTransaction.default {
149
152
  this._hbarTransfers.push(new _Transfer.default({
150
153
  accountId: account,
151
154
  amount: hbars,
152
- isApproved
155
+ isApproved,
156
+ hookCall
153
157
  }));
154
158
  return this;
155
159
  }
@@ -243,6 +247,56 @@ class TransferTransaction extends _AbstractTokenTransferTransaction.default {
243
247
  return this;
244
248
  }
245
249
 
250
+ /**
251
+ *
252
+ * @param {AccountId} accountId
253
+ * @param {Long} amount
254
+ * @param {FungibleHookCall} hook
255
+ * @returns {TransferTransaction}
256
+ */
257
+ addHbarTransferWithHook(accountId, amount, hook) {
258
+ const isApproved = false; // this is not approved transfer, adding comment for clarity
259
+ return this._addHbarTransfer(accountId, amount, isApproved, new _FungibleHookCall.default({
260
+ hookId: hook.hookId,
261
+ evmHookCall: hook.evmHookCall,
262
+ type: hook.type
263
+ }));
264
+ }
265
+
266
+ /**
267
+ *
268
+ * @param {NftId} nftId
269
+ * @param {AccountId} sender
270
+ * @param {AccountId} receiver
271
+ * @param {NftHookCall} senderHookCall
272
+ * @param {NftHookCall} receiverHookCall
273
+ * @returns {TransferTransaction}
274
+ */
275
+ addNftTransferWithHook(nftId, sender, receiver, senderHookCall, receiverHookCall) {
276
+ return this._addNftTransfer(false, nftId, sender, receiver, undefined,
277
+ // receiver
278
+ senderHookCall, receiverHookCall);
279
+ }
280
+
281
+ /**
282
+ *
283
+ * @param {TokenId} tokenId
284
+ * @param {AccountId} accountId
285
+ * @param {Long} amount
286
+ * @param {FungibleHookCall} hook
287
+ * @returns {TransferTransaction}
288
+ */
289
+ addTokenTransferWithHook(tokenId, accountId, amount, hook) {
290
+ const fungibleHook = new _FungibleHookCall.default({
291
+ hookId: hook.hookId != null ? hook.hookId : undefined,
292
+ evmHookCall: hook.evmHookCall != null ? hook.evmHookCall : undefined,
293
+ type: hook.type
294
+ });
295
+ const isApproved = false; // this is not approved transfer, adding comment for clarity
296
+ const expectedDecimals = null; // we don't expect decimals here, adding comment for clarity
297
+
298
+ return this._addTokenTransfer(tokenId, accountId, amount, isApproved, expectedDecimals, fungibleHook);
299
+ }
246
300
  /**
247
301
  * @override
248
302
  * @internal
@@ -275,13 +329,7 @@ class TransferTransaction extends _AbstractTokenTransferTransaction.default {
275
329
  this._hbarTransfers.sort((a, b) => a.accountId.compare(b.accountId));
276
330
  return {
277
331
  transfers: {
278
- accountAmounts: this._hbarTransfers.map(transfer => {
279
- return {
280
- accountID: transfer.accountId._toProtobuf(),
281
- amount: transfer.amount.toTinybars(),
282
- isApproval: transfer.isApproved
283
- };
284
- })
332
+ accountAmounts: this._hbarTransfers.map(transfer => transfer._toProtobuf())
285
333
  },
286
334
  tokenTransfers
287
335
  };
@@ -83,9 +83,10 @@ export default class TransferTransaction extends AbstractTokenTransferTransactio
83
83
  * @param {AccountId | string} accountId
84
84
  * @param {number | string | Long | LongObject | BigNumber | Hbar} amount
85
85
  * @param {boolean} isApproved
86
+ * @param {FungibleHookCall} [hookCall]
86
87
  * @returns {TransferTransaction}
87
88
  */
88
- _addHbarTransfer(accountId: AccountId | string, amount: number | string | Long | LongObject | BigNumber | Hbar, isApproved: boolean): TransferTransaction;
89
+ _addHbarTransfer(accountId: AccountId | string, amount: number | string | Long | LongObject | BigNumber | Hbar, isApproved: boolean, hookCall?: FungibleHookCall): TransferTransaction;
89
90
  /**
90
91
  * @internal
91
92
  * @param {AccountId | string} accountId
@@ -122,6 +123,33 @@ export default class TransferTransaction extends AbstractTokenTransferTransactio
122
123
  * @returns {TransferTransaction}
123
124
  */
124
125
  setNftTransferApproval(nftId: NftId | string, isApproved: boolean): TransferTransaction;
126
+ /**
127
+ *
128
+ * @param {AccountId} accountId
129
+ * @param {Long} amount
130
+ * @param {FungibleHookCall} hook
131
+ * @returns {TransferTransaction}
132
+ */
133
+ addHbarTransferWithHook(accountId: AccountId, amount: Long, hook: FungibleHookCall): TransferTransaction;
134
+ /**
135
+ *
136
+ * @param {NftId} nftId
137
+ * @param {AccountId} sender
138
+ * @param {AccountId} receiver
139
+ * @param {NftHookCall} senderHookCall
140
+ * @param {NftHookCall} receiverHookCall
141
+ * @returns {TransferTransaction}
142
+ */
143
+ addNftTransferWithHook(nftId: NftId, sender: AccountId, receiver: AccountId, senderHookCall: NftHookCall, receiverHookCall: NftHookCall): TransferTransaction;
144
+ /**
145
+ *
146
+ * @param {TokenId} tokenId
147
+ * @param {AccountId} accountId
148
+ * @param {Long} amount
149
+ * @param {FungibleHookCall} hook
150
+ * @returns {TransferTransaction}
151
+ */
152
+ addTokenTransferWithHook(tokenId: TokenId, accountId: AccountId, amount: Long, hook: FungibleHookCall): TransferTransaction;
125
153
  /**
126
154
  * @override
127
155
  * @protected
@@ -169,5 +197,7 @@ import HbarTransferMap from "./HbarTransferMap.js";
169
197
  import Transfer from "../Transfer.js";
170
198
  import AccountId from "./AccountId.js";
171
199
  import Hbar from "../Hbar.js";
200
+ import FungibleHookCall from "../hooks/FungibleHookCall.js";
172
201
  import TokenId from "../token/TokenId.js";
173
202
  import NftId from "../token/NftId.js";
203
+ import NftHookCall from "../hooks/NftHookCall.js";
@@ -1,2 +1,2 @@
1
- import r from"../Hbar.js";import t from"../token/TokenId.js";import s from"./AccountId.js";import n,{TRANSACTION_REGISTRY as o}from"../transaction/Transaction.js";import a from"../Transfer.js";import e from"../token/TokenTransfer.js";import f from"./HbarTransferMap.js";import c from"../token/TokenNftTransfer.js";import i from"../token/NftId.js";import u from"../token/AbstractTokenTransferTransaction.js";class T extends u{constructor(t={}){super(),this._hbarTransfers=[],this._defaultMaxTransactionFee=new r(1);for(const r of null!=t.hbarTransfers?t.hbarTransfers:[])this.addHbarTransfer(r.accountId,r.amount)}static _fromProtobuf(r,t,s,o,f){const i=f[0].cryptoTransfer,u=new T;return u._tokenTransfers=e._fromProtobuf(null!=i.tokenTransfers?i.tokenTransfers:[]),u._hbarTransfers=a._fromProtobuf(null!=i.transfers&&null!=i.transfers.accountAmounts?i.transfers.accountAmounts:[]),u._nftTransfers=c._fromProtobuf(null!=i.tokenTransfers?i.tokenTransfers:[]),n._fromProtobufTransactions(u,r,t,s,o,f)}get hbarTransfers(){const r=new f;for(const t of this._hbarTransfers)r._set(t.accountId,t.amount);return r}get hbarTransfersList(){return this._hbarTransfers}_addHbarTransfer(t,n,o){this._requireNotFrozen();const e=t instanceof s?t.clone():s.fromString(t),f=n instanceof r?n:new r(n);for(const t of this._hbarTransfers)if(0===t.accountId.compare(e))return t.amount=r.fromTinybars(t.amount.toTinybars().add(f.toTinybars())),this;return this._hbarTransfers.push(new a({accountId:e,amount:f,isApproved:o})),this}addHbarTransfer(r,t){return this._addHbarTransfer(r,t,!1)}addApprovedHbarTransfer(r,t){return this._addHbarTransfer(r,t,!0)}_validateChecksums(r){for(const t of this._hbarTransfers)t.accountId.validateChecksum(r);for(const t of this._tokenTransfers)t.tokenId.validateChecksum(r),t.accountId.validateChecksum(r);for(const t of this._nftTransfers)t.tokenId.validateChecksum(r),t.senderAccountId.validateChecksum(r),t.receiverAccountId.validateChecksum(r)}setHbarTransferApproval(r,t){const n="string"==typeof r?s.fromString(r):r;for(const r of this._hbarTransfers)0===r.accountId.compare(n)&&(r.isApproved=t);return this}setTokenTransferApproval(r,n,o){const a="string"==typeof r?t.fromString(r):r,e="string"==typeof n?s.fromString(n):n;for(const r of this._tokenTransfers)0===r.tokenId.compare(a)&&0===r.accountId.compare(e)&&(r.isApproved=o);return this}setNftTransferApproval(r,t){const s="string"==typeof r?i.fromString(r):r;for(const r of this._nftTransfers)0===r.tokenId.compare(s.tokenId)&&0===r.serialNumber.compare(s.serial)&&(r.isApproved=t);return this}_execute(r,t){return r.crypto.cryptoTransfer(t)}_getTransactionDataCase(){return"cryptoTransfer"}_makeTransactionData(){const{tokenTransfers:r}=super._makeTransactionData();return this._hbarTransfers.sort((r,t)=>r.accountId.compare(t.accountId)),{transfers:{accountAmounts:this._hbarTransfers.map(r=>({accountID:r.accountId._toProtobuf(),amount:r.amount.toTinybars(),isApproval:r.isApproved}))},tokenTransfers:r}}_getLogId(){return`TransferTransaction:${this._transactionIds.current.validStart.toString()}`}}o.set("cryptoTransfer",T._fromProtobuf);export{T as default};
1
+ import r from"../Hbar.js";import o from"../token/TokenId.js";import t from"./AccountId.js";import n,{TRANSACTION_REGISTRY as s}from"../transaction/Transaction.js";import a from"../Transfer.js";import e from"../token/TokenTransfer.js";import f from"./HbarTransferMap.js";import i from"../token/TokenNftTransfer.js";import c from"../token/NftId.js";import u from"../token/AbstractTokenTransferTransaction.js";import d from"../hooks/FungibleHookCall.js";import"long";class T extends u{constructor(o={}){super(),this._hbarTransfers=[],this._defaultMaxTransactionFee=new r(1);for(const r of null!=o.hbarTransfers?o.hbarTransfers:[])this.addHbarTransfer(r.accountId,r.amount)}static _fromProtobuf(r,o,t,s,f){const c=f[0].cryptoTransfer,u=new T;return u._tokenTransfers=e._fromProtobuf(null!=c.tokenTransfers?c.tokenTransfers:[]),u._hbarTransfers=a._fromProtobuf(null!=c.transfers&&null!=c.transfers.accountAmounts?c.transfers.accountAmounts:[]),u._nftTransfers=i._fromProtobuf(null!=c.tokenTransfers?c.tokenTransfers:[]),n._fromProtobufTransactions(u,r,o,t,s,f)}get hbarTransfers(){const r=new f;for(const o of this._hbarTransfers)r._set(o.accountId,o.amount);return r}get hbarTransfersList(){return this._hbarTransfers}_addHbarTransfer(o,n,s,e){this._requireNotFrozen();const f=o instanceof t?o.clone():t.fromString(o),i=n instanceof r?n:new r(n);for(const o of this._hbarTransfers)if(0===o.accountId.compare(f))return o.amount=r.fromTinybars(o.amount.toTinybars().add(i.toTinybars())),this;return this._hbarTransfers.push(new a({accountId:f,amount:i,isApproved:s,hookCall:e})),this}addHbarTransfer(r,o){return this._addHbarTransfer(r,o,!1)}addApprovedHbarTransfer(r,o){return this._addHbarTransfer(r,o,!0)}_validateChecksums(r){for(const o of this._hbarTransfers)o.accountId.validateChecksum(r);for(const o of this._tokenTransfers)o.tokenId.validateChecksum(r),o.accountId.validateChecksum(r);for(const o of this._nftTransfers)o.tokenId.validateChecksum(r),o.senderAccountId.validateChecksum(r),o.receiverAccountId.validateChecksum(r)}setHbarTransferApproval(r,o){const n="string"==typeof r?t.fromString(r):r;for(const r of this._hbarTransfers)0===r.accountId.compare(n)&&(r.isApproved=o);return this}setTokenTransferApproval(r,n,s){const a="string"==typeof r?o.fromString(r):r,e="string"==typeof n?t.fromString(n):n;for(const r of this._tokenTransfers)0===r.tokenId.compare(a)&&0===r.accountId.compare(e)&&(r.isApproved=s);return this}setNftTransferApproval(r,o){const t="string"==typeof r?c.fromString(r):r;for(const r of this._nftTransfers)0===r.tokenId.compare(t.tokenId)&&0===r.serialNumber.compare(t.serial)&&(r.isApproved=o);return this}addHbarTransferWithHook(r,o,t){return this._addHbarTransfer(r,o,!1,new d({hookId:t.hookId,evmHookCall:t.evmHookCall,type:t.type}))}addNftTransferWithHook(r,o,t,n,s){return this._addNftTransfer(!1,r,o,t,void 0,n,s)}addTokenTransferWithHook(r,o,t,n){const s=new d({hookId:null!=n.hookId?n.hookId:void 0,evmHookCall:null!=n.evmHookCall?n.evmHookCall:void 0,type:n.type});return this._addTokenTransfer(r,o,t,!1,null,s)}_execute(r,o){return r.crypto.cryptoTransfer(o)}_getTransactionDataCase(){return"cryptoTransfer"}_makeTransactionData(){const{tokenTransfers:r}=super._makeTransactionData();return this._hbarTransfers.sort((r,o)=>r.accountId.compare(o.accountId)),{transfers:{accountAmounts:this._hbarTransfers.map(r=>r._toProtobuf())},tokenTransfers:r}}_getLogId(){return`TransferTransaction:${this._transactionIds.current.validStart.toString()}`}}s.set("cryptoTransfer",T._fromProtobuf);export{T as default};
2
2
  //# sourceMappingURL=TransferTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransferTransaction.js","sources":["../../src/account/TransferTransaction.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Hbar from \"../Hbar.js\";\nimport TokenId from \"../token/TokenId.js\";\nimport AccountId from \"./AccountId.js\";\nimport Transaction, {\n TRANSACTION_REGISTRY,\n} from \"../transaction/Transaction.js\";\nimport Transfer from \"../Transfer.js\";\nimport TokenTransfer from \"../token/TokenTransfer.js\";\nimport HbarTransferMap from \"./HbarTransferMap.js\";\nimport TokenNftTransfer from \"../token/TokenNftTransfer.js\";\nimport NftId from \"../token/NftId.js\";\nimport AbstractTokenTransferTransaction from \"../token/AbstractTokenTransferTransaction.js\";\n\n/**\n * @typedef {import(\"../long.js\").LongObject} LongObject\n * @typedef {import(\"bignumber.js\").default} BigNumber\n */\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.ICryptoTransferTransactionBody} HieroProto.proto.ICryptoTransferTransactionBody\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 */\n\n/**\n * @typedef {object} TransferTokensInput\n * @property {TokenId | string} tokenId\n * @property {AccountId | string} accountId\n * @property {Long | number} amount\n */\n\n/**\n * @typedef {object} TransferTokenObject\n * @property {TokenId} tokenId\n * @property {AccountId} accountId\n * @property {Long} amount\n */\n\n/**\n * @typedef {object} TransferHbarInput\n * @property {AccountId | string} accountId\n * @property {number | string | Long | BigNumber | Hbar} amount\n */\n\n/**\n * @typedef {object} TransferNftInput\n * @property {TokenId | string} tokenId\n * @property {AccountId | string} sender\n * @property {AccountId | string} recipient\n * @property {Long | number} serial\n */\n\n/**\n * Transfers a new Hedera™ crypto-currency token.\n */\nexport default class TransferTransaction extends AbstractTokenTransferTransaction {\n /**\n * @param {object} [props]\n * @param {(TransferTokensInput)[]} [props.tokenTransfers]\n * @param {(TransferHbarInput)[]} [props.hbarTransfers]\n * @param {(TransferNftInput)[]} [props.nftTransfers]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {Transfer[]}\n */\n this._hbarTransfers = [];\n\n this._defaultMaxTransactionFee = new Hbar(1);\n\n for (const transfer of props.hbarTransfers != null\n ? props.hbarTransfers\n : []) {\n this.addHbarTransfer(transfer.accountId, transfer.amount);\n }\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 {TransferTransaction}\n */\n static _fromProtobuf(\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n ) {\n const body = bodies[0];\n const cryptoTransfer =\n /** @type {HieroProto.proto.ICryptoTransferTransactionBody} */ (\n body.cryptoTransfer\n );\n\n const transfers = new TransferTransaction();\n\n transfers._tokenTransfers = TokenTransfer._fromProtobuf(\n cryptoTransfer.tokenTransfers != null\n ? cryptoTransfer.tokenTransfers\n : [],\n );\n\n transfers._hbarTransfers = Transfer._fromProtobuf(\n cryptoTransfer.transfers != null\n ? cryptoTransfer.transfers.accountAmounts != null\n ? cryptoTransfer.transfers.accountAmounts\n : []\n : [],\n );\n\n transfers._nftTransfers = TokenNftTransfer._fromProtobuf(\n cryptoTransfer.tokenTransfers != null\n ? cryptoTransfer.tokenTransfers\n : [],\n );\n\n return Transaction._fromProtobufTransactions(\n transfers,\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n );\n }\n\n /**\n * @returns {HbarTransferMap}\n */\n get hbarTransfers() {\n const map = new HbarTransferMap();\n\n for (const transfer of this._hbarTransfers) {\n map._set(transfer.accountId, transfer.amount);\n }\n\n return map;\n }\n\n /**\n * @returns {Transfer[]}\n */\n get hbarTransfersList() {\n return this._hbarTransfers;\n }\n\n /**\n * @internal\n * @param {AccountId | string} accountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @param {boolean} isApproved\n * @returns {TransferTransaction}\n */\n _addHbarTransfer(accountId, amount, isApproved) {\n this._requireNotFrozen();\n\n const account =\n accountId instanceof AccountId\n ? accountId.clone()\n : AccountId.fromString(accountId);\n const hbars = amount instanceof Hbar ? amount : new Hbar(amount);\n\n for (const transfer of this._hbarTransfers) {\n if (transfer.accountId.compare(account) === 0) {\n transfer.amount = Hbar.fromTinybars(\n transfer.amount.toTinybars().add(hbars.toTinybars()),\n );\n return this;\n }\n }\n\n this._hbarTransfers.push(\n new Transfer({\n accountId: account,\n amount: hbars,\n isApproved,\n }),\n );\n\n return this;\n }\n\n /**\n * @internal\n * @param {AccountId | string} accountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {TransferTransaction}\n */\n addHbarTransfer(accountId, amount) {\n return this._addHbarTransfer(accountId, amount, false);\n }\n\n /**\n * @internal\n * @param {AccountId | string} accountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {TransferTransaction}\n */\n addApprovedHbarTransfer(accountId, amount) {\n return this._addHbarTransfer(accountId, amount, true);\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const transfer of this._hbarTransfers) {\n transfer.accountId.validateChecksum(client);\n }\n\n for (const transfer of this._tokenTransfers) {\n transfer.tokenId.validateChecksum(client);\n transfer.accountId.validateChecksum(client);\n }\n\n for (const transfer of this._nftTransfers) {\n transfer.tokenId.validateChecksum(client);\n transfer.senderAccountId.validateChecksum(client);\n transfer.receiverAccountId.validateChecksum(client);\n }\n }\n\n /**\n * @deprecated - Use `addApprovedHbarTransfer()` instead\n * @param {AccountId | string} accountId\n * @param {boolean} isApproved\n * @returns {TransferTransaction}\n */\n setHbarTransferApproval(accountId, isApproved) {\n const account =\n typeof accountId === \"string\"\n ? AccountId.fromString(accountId)\n : accountId;\n\n for (const transfer of this._hbarTransfers) {\n if (transfer.accountId.compare(account) === 0) {\n transfer.isApproved = isApproved;\n }\n }\n\n return this;\n }\n\n /**\n * @deprecated - Use `addApprovedTokenTransfer()` instead\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} accountId\n * @param {boolean} isApproved\n * @returns {TransferTransaction}\n */\n setTokenTransferApproval(tokenId, accountId, isApproved) {\n const token =\n typeof tokenId === \"string\" ? TokenId.fromString(tokenId) : tokenId;\n const account =\n typeof accountId === \"string\"\n ? AccountId.fromString(accountId)\n : accountId;\n\n for (const tokenTransfer of this._tokenTransfers) {\n if (\n tokenTransfer.tokenId.compare(token) === 0 &&\n tokenTransfer.accountId.compare(account) === 0\n ) {\n tokenTransfer.isApproved = isApproved;\n }\n }\n\n return this;\n }\n\n /**\n * @deprecated - Use `addApprovedNftTransfer()` instead\n * @param {NftId | string} nftId\n * @param {boolean} isApproved\n * @returns {TransferTransaction}\n */\n setNftTransferApproval(nftId, isApproved) {\n const nft = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n\n for (const transfer of this._nftTransfers) {\n if (\n transfer.tokenId.compare(nft.tokenId) === 0 &&\n transfer.serialNumber.compare(nft.serial) === 0\n ) {\n transfer.isApproved = isApproved;\n }\n }\n\n return this;\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.cryptoTransfer(request);\n }\n\n /**\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n return \"cryptoTransfer\";\n }\n\n /**\n * @override\n * @protected\n * @returns {HieroProto.proto.ICryptoTransferTransactionBody}\n */\n _makeTransactionData() {\n const { tokenTransfers } = super._makeTransactionData();\n\n this._hbarTransfers.sort((a, b) => a.accountId.compare(b.accountId));\n\n return {\n transfers: {\n accountAmounts: this._hbarTransfers.map((transfer) => {\n return {\n accountID: transfer.accountId._toProtobuf(),\n amount: transfer.amount.toTinybars(),\n isApproval: transfer.isApproved,\n };\n }),\n },\n tokenTransfers,\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 `TransferTransaction:${timestamp.toString()}`;\n }\n}\n\nTRANSACTION_REGISTRY.set(\n \"cryptoTransfer\",\n // eslint-disable-next-line @typescript-eslint/unbound-method\n TransferTransaction._fromProtobuf,\n);\n"],"names":["TransferTransaction","AbstractTokenTransferTransaction","constructor","props","super","this","_hbarTransfers","_defaultMaxTransactionFee","Hbar","transfer","hbarTransfers","addHbarTransfer","accountId","amount","_fromProtobuf","transactions","signedTransactions","transactionIds","nodeIds","bodies","cryptoTransfer","transfers","_tokenTransfers","TokenTransfer","tokenTransfers","Transfer","accountAmounts","_nftTransfers","TokenNftTransfer","Transaction","_fromProtobufTransactions","map","HbarTransferMap","_set","hbarTransfersList","_addHbarTransfer","isApproved","_requireNotFrozen","account","AccountId","clone","fromString","hbars","compare","fromTinybars","toTinybars","add","push","addApprovedHbarTransfer","_validateChecksums","client","validateChecksum","tokenId","senderAccountId","receiverAccountId","setHbarTransferApproval","setTokenTransferApproval","token","TokenId","tokenTransfer","setNftTransferApproval","nftId","nft","NftId","serialNumber","serial","_execute","channel","request","crypto","_getTransactionDataCase","_makeTransactionData","sort","a","b","accountID","_toProtobuf","isApproval","_getLogId","_transactionIds","current","toString","TRANSACTION_REGISTRY","set"],"mappings":"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"}
1
+ {"version":3,"file":"TransferTransaction.js","sources":["../../src/account/TransferTransaction.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Hbar from \"../Hbar.js\";\nimport TokenId from \"../token/TokenId.js\";\nimport AccountId from \"./AccountId.js\";\nimport Transaction, {\n TRANSACTION_REGISTRY,\n} from \"../transaction/Transaction.js\";\nimport Transfer from \"../Transfer.js\";\nimport TokenTransfer from \"../token/TokenTransfer.js\";\nimport HbarTransferMap from \"./HbarTransferMap.js\";\nimport TokenNftTransfer from \"../token/TokenNftTransfer.js\";\nimport NftId from \"../token/NftId.js\";\nimport AbstractTokenTransferTransaction from \"../token/AbstractTokenTransferTransaction.js\";\nimport FungibleHookCall from \"../hooks/FungibleHookCall.js\";\nimport NftHookCall from \"../hooks/NftHookCall.js\";\n\n/**\n * @typedef {import(\"../long.js\").LongObject} LongObject\n * @typedef {import(\"bignumber.js\").default} BigNumber\n */\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.ICryptoTransferTransactionBody} HieroProto.proto.ICryptoTransferTransactionBody\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 */\n\n/**\n * @typedef {object} TransferTokensInput\n * @property {TokenId | string} tokenId\n * @property {AccountId | string} accountId\n * @property {Long | number} amount\n */\n\n/**\n * @typedef {object} TransferTokenObject\n * @property {TokenId} tokenId\n * @property {AccountId} accountId\n * @property {Long} amount\n */\n\n/**\n * @typedef {object} TransferHbarInput\n * @property {AccountId | string} accountId\n * @property {number | string | Long | BigNumber | Hbar} amount\n */\n\n/**\n * @typedef {object} TransferNftInput\n * @property {TokenId | string} tokenId\n * @property {AccountId | string} sender\n * @property {AccountId | string} recipient\n * @property {Long | number} serial\n */\n\n/**\n * Transfers a new Hedera™ crypto-currency token.\n */\nexport default class TransferTransaction extends AbstractTokenTransferTransaction {\n /**\n * @param {object} [props]\n * @param {(TransferTokensInput)[]} [props.tokenTransfers]\n * @param {(TransferHbarInput)[]} [props.hbarTransfers]\n * @param {(TransferNftInput)[]} [props.nftTransfers]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @private\n * @type {Transfer[]}\n */\n this._hbarTransfers = [];\n\n this._defaultMaxTransactionFee = new Hbar(1);\n\n for (const transfer of props.hbarTransfers != null\n ? props.hbarTransfers\n : []) {\n this.addHbarTransfer(transfer.accountId, transfer.amount);\n }\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 {TransferTransaction}\n */\n static _fromProtobuf(\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n ) {\n const body = bodies[0];\n const cryptoTransfer =\n /** @type {HieroProto.proto.ICryptoTransferTransactionBody} */ (\n body.cryptoTransfer\n );\n\n const transfers = new TransferTransaction();\n\n transfers._tokenTransfers = TokenTransfer._fromProtobuf(\n cryptoTransfer.tokenTransfers != null\n ? cryptoTransfer.tokenTransfers\n : [],\n );\n\n transfers._hbarTransfers = Transfer._fromProtobuf(\n cryptoTransfer.transfers != null\n ? cryptoTransfer.transfers.accountAmounts != null\n ? cryptoTransfer.transfers.accountAmounts\n : []\n : [],\n );\n\n transfers._nftTransfers = TokenNftTransfer._fromProtobuf(\n cryptoTransfer.tokenTransfers != null\n ? cryptoTransfer.tokenTransfers\n : [],\n );\n\n return Transaction._fromProtobufTransactions(\n transfers,\n transactions,\n signedTransactions,\n transactionIds,\n nodeIds,\n bodies,\n );\n }\n\n /**\n * @returns {HbarTransferMap}\n */\n get hbarTransfers() {\n const map = new HbarTransferMap();\n\n for (const transfer of this._hbarTransfers) {\n map._set(transfer.accountId, transfer.amount);\n }\n\n return map;\n }\n\n /**\n * @returns {Transfer[]}\n */\n get hbarTransfersList() {\n return this._hbarTransfers;\n }\n\n /**\n * @internal\n * @param {AccountId | string} accountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @param {boolean} isApproved\n * @param {FungibleHookCall} [hookCall]\n * @returns {TransferTransaction}\n */\n _addHbarTransfer(accountId, amount, isApproved, hookCall) {\n this._requireNotFrozen();\n\n const account =\n accountId instanceof AccountId\n ? accountId.clone()\n : AccountId.fromString(accountId);\n const hbars = amount instanceof Hbar ? amount : new Hbar(amount);\n\n for (const transfer of this._hbarTransfers) {\n if (transfer.accountId.compare(account) === 0) {\n transfer.amount = Hbar.fromTinybars(\n transfer.amount.toTinybars().add(hbars.toTinybars()),\n );\n return this;\n }\n }\n\n this._hbarTransfers.push(\n new Transfer({\n accountId: account,\n amount: hbars,\n isApproved,\n hookCall,\n }),\n );\n\n return this;\n }\n\n /**\n * @internal\n * @param {AccountId | string} accountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {TransferTransaction}\n */\n addHbarTransfer(accountId, amount) {\n return this._addHbarTransfer(accountId, amount, false);\n }\n\n /**\n * @internal\n * @param {AccountId | string} accountId\n * @param {number | string | Long | LongObject | BigNumber | Hbar} amount\n * @returns {TransferTransaction}\n */\n addApprovedHbarTransfer(accountId, amount) {\n return this._addHbarTransfer(accountId, amount, true);\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const transfer of this._hbarTransfers) {\n transfer.accountId.validateChecksum(client);\n }\n\n for (const transfer of this._tokenTransfers) {\n transfer.tokenId.validateChecksum(client);\n transfer.accountId.validateChecksum(client);\n }\n\n for (const transfer of this._nftTransfers) {\n transfer.tokenId.validateChecksum(client);\n transfer.senderAccountId.validateChecksum(client);\n transfer.receiverAccountId.validateChecksum(client);\n }\n }\n\n /**\n * @deprecated - Use `addApprovedHbarTransfer()` instead\n * @param {AccountId | string} accountId\n * @param {boolean} isApproved\n * @returns {TransferTransaction}\n */\n setHbarTransferApproval(accountId, isApproved) {\n const account =\n typeof accountId === \"string\"\n ? AccountId.fromString(accountId)\n : accountId;\n\n for (const transfer of this._hbarTransfers) {\n if (transfer.accountId.compare(account) === 0) {\n transfer.isApproved = isApproved;\n }\n }\n\n return this;\n }\n\n /**\n * @deprecated - Use `addApprovedTokenTransfer()` instead\n * @param {TokenId | string} tokenId\n * @param {AccountId | string} accountId\n * @param {boolean} isApproved\n * @returns {TransferTransaction}\n */\n setTokenTransferApproval(tokenId, accountId, isApproved) {\n const token =\n typeof tokenId === \"string\" ? TokenId.fromString(tokenId) : tokenId;\n const account =\n typeof accountId === \"string\"\n ? AccountId.fromString(accountId)\n : accountId;\n\n for (const tokenTransfer of this._tokenTransfers) {\n if (\n tokenTransfer.tokenId.compare(token) === 0 &&\n tokenTransfer.accountId.compare(account) === 0\n ) {\n tokenTransfer.isApproved = isApproved;\n }\n }\n\n return this;\n }\n\n /**\n * @deprecated - Use `addApprovedNftTransfer()` instead\n * @param {NftId | string} nftId\n * @param {boolean} isApproved\n * @returns {TransferTransaction}\n */\n setNftTransferApproval(nftId, isApproved) {\n const nft = typeof nftId === \"string\" ? NftId.fromString(nftId) : nftId;\n\n for (const transfer of this._nftTransfers) {\n if (\n transfer.tokenId.compare(nft.tokenId) === 0 &&\n transfer.serialNumber.compare(nft.serial) === 0\n ) {\n transfer.isApproved = isApproved;\n }\n }\n\n return this;\n }\n\n /**\n *\n * @param {AccountId} accountId\n * @param {Long} amount\n * @param {FungibleHookCall} hook\n * @returns {TransferTransaction}\n */\n addHbarTransferWithHook(accountId, amount, hook) {\n const isApproved = false; // this is not approved transfer, adding comment for clarity\n return this._addHbarTransfer(\n accountId,\n amount,\n isApproved,\n new FungibleHookCall({\n hookId: hook.hookId,\n evmHookCall: hook.evmHookCall,\n type: hook.type,\n }),\n );\n }\n\n /**\n *\n * @param {NftId} nftId\n * @param {AccountId} sender\n * @param {AccountId} receiver\n * @param {NftHookCall} senderHookCall\n * @param {NftHookCall} receiverHookCall\n * @returns {TransferTransaction}\n */\n addNftTransferWithHook(\n nftId,\n sender,\n receiver,\n senderHookCall,\n receiverHookCall,\n ) {\n return this._addNftTransfer(\n false,\n nftId,\n sender,\n receiver,\n undefined, // receiver\n senderHookCall,\n receiverHookCall,\n );\n }\n\n /**\n *\n * @param {TokenId} tokenId\n * @param {AccountId} accountId\n * @param {Long} amount\n * @param {FungibleHookCall} hook\n * @returns {TransferTransaction}\n */\n addTokenTransferWithHook(tokenId, accountId, amount, hook) {\n const fungibleHook = new FungibleHookCall({\n hookId: hook.hookId != null ? hook.hookId : undefined,\n evmHookCall:\n hook.evmHookCall != null ? hook.evmHookCall : undefined,\n type: hook.type,\n });\n\n const isApproved = false; // this is not approved transfer, adding comment for clarity\n const expectedDecimals = null; // we don't expect decimals here, adding comment for clarity\n\n return this._addTokenTransfer(\n tokenId,\n accountId,\n amount,\n isApproved,\n expectedDecimals,\n fungibleHook,\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.cryptoTransfer(request);\n }\n\n /**\n * @override\n * @protected\n * @returns {NonNullable<HieroProto.proto.TransactionBody[\"data\"]>}\n */\n _getTransactionDataCase() {\n return \"cryptoTransfer\";\n }\n\n /**\n * @override\n * @protected\n * @returns {HieroProto.proto.ICryptoTransferTransactionBody}\n */\n _makeTransactionData() {\n const { tokenTransfers } = super._makeTransactionData();\n\n this._hbarTransfers.sort((a, b) => a.accountId.compare(b.accountId));\n\n return {\n transfers: {\n accountAmounts: this._hbarTransfers.map((transfer) =>\n transfer._toProtobuf(),\n ),\n },\n tokenTransfers,\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 `TransferTransaction:${timestamp.toString()}`;\n }\n}\n\nTRANSACTION_REGISTRY.set(\n \"cryptoTransfer\",\n // eslint-disable-next-line @typescript-eslint/unbound-method\n TransferTransaction._fromProtobuf,\n);\n"],"names":["TransferTransaction","AbstractTokenTransferTransaction","constructor","props","super","this","_hbarTransfers","_defaultMaxTransactionFee","Hbar","transfer","hbarTransfers","addHbarTransfer","accountId","amount","_fromProtobuf","transactions","signedTransactions","transactionIds","nodeIds","bodies","cryptoTransfer","transfers","_tokenTransfers","TokenTransfer","tokenTransfers","Transfer","accountAmounts","_nftTransfers","TokenNftTransfer","Transaction","_fromProtobufTransactions","map","HbarTransferMap","_set","hbarTransfersList","_addHbarTransfer","isApproved","hookCall","_requireNotFrozen","account","AccountId","clone","fromString","hbars","compare","fromTinybars","toTinybars","add","push","addApprovedHbarTransfer","_validateChecksums","client","validateChecksum","tokenId","senderAccountId","receiverAccountId","setHbarTransferApproval","setTokenTransferApproval","token","TokenId","tokenTransfer","setNftTransferApproval","nftId","nft","NftId","serialNumber","serial","addHbarTransferWithHook","hook","FungibleHookCall","hookId","evmHookCall","type","addNftTransferWithHook","sender","receiver","senderHookCall","receiverHookCall","_addNftTransfer","undefined","addTokenTransferWithHook","fungibleHook","_addTokenTransfer","_execute","channel","request","crypto","_getTransactionDataCase","_makeTransactionData","sort","a","b","_toProtobuf","_getLogId","_transactionIds","current","toString","TRANSACTION_REGISTRY","set"],"mappings":"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"}
package/lib/browser.js CHANGED
@@ -1,2 +1,2 @@
1
- export{NetworkName}from"./exports.js";export{default as Client,default as WebClient}from"./client/WebClient.js";export{default as LocalProvider}from"./LocalProviderWeb.js";export{default as AddressBookQuery}from"./network/AddressBookQueryWeb.js";export{default as Cache}from"./Cache.js";export{default as PrivateKey}from"./PrivateKey.js";export{default as PublicKey}from"./PublicKey.js";export{default as KeyList}from"./KeyList.js";export{default as Key}from"./Key.js";export{default as Mnemonic}from"./Mnemonic.js";export{default as TokenAirdropTransaction}from"./token/TokenAirdropTransaction.js";export{default as TokenClaimAirdropTransaction}from"./token/TokenClaimAirdropTransaction.js";export{default as TokenCancelAirdropTransaction}from"./token/TokenCancelAirdropTransaction.js";export{default as AccountAllowanceAdjustTransaction}from"./account/AccountAllowanceAdjustTransaction.js";export{default as AccountAllowanceApproveTransaction}from"./account/AccountAllowanceApproveTransaction.js";export{default as AccountAllowanceDeleteTransaction}from"./account/AccountAllowanceDeleteTransaction.js";export{default as AccountBalance}from"./account/AccountBalance.js";export{default as AccountBalanceQuery}from"./account/AccountBalanceQuery.js";export{default as AccountCreateTransaction}from"./account/AccountCreateTransaction.js";export{default as AccountDeleteTransaction}from"./account/AccountDeleteTransaction.js";export{default as AccountId}from"./account/AccountId.js";export{default as AccountInfo}from"./account/AccountInfo.js";export{default as AccountInfoFlow}from"./account/AccountInfoFlow.js";export{default as AccountInfoQuery}from"./account/AccountInfoQuery.js";export{default as AccountRecordsQuery}from"./account/AccountRecordsQuery.js";export{default as AccountUpdateTransaction}from"./account/AccountUpdateTransaction.js";export{default as AssessedCustomFee}from"./token/AssessedCustomFee.js";export{default as BatchTransaction}from"./transaction/BatchTransaction.js";export{default as ContractByteCodeQuery}from"./contract/ContractByteCodeQuery.js";export{default as ContractCallQuery}from"./contract/ContractCallQuery.js";export{default as ContractCreateFlow}from"./contract/ContractCreateFlow.js";export{default as ContractCreateTransaction}from"./contract/ContractCreateTransaction.js";export{default as ContractDeleteTransaction}from"./contract/ContractDeleteTransaction.js";export{default as ContractExecuteTransaction}from"./contract/ContractExecuteTransaction.js";export{default as ContractFunctionParameters}from"./contract/ContractFunctionParameters.js";export{default as ContractFunctionResult}from"./contract/ContractFunctionResult.js";export{default as ContractFunctionSelector}from"./contract/ContractFunctionSelector.js";export{default as ContractId}from"./contract/ContractId.js";export{default as ContractInfo}from"./contract/ContractInfo.js";export{default as ContractInfoQuery}from"./contract/ContractInfoQuery.js";export{default as ContractLogInfo}from"./contract/ContractLogInfo.js";export{default as ContractNonceInfo}from"./contract/ContractNonceInfo.js";export{default as ContractUpdateTransaction}from"./contract/ContractUpdateTransaction.js";export{default as CustomFee}from"./token/CustomFee.js";export{default as CustomFixedFee}from"./token/CustomFixedFee.js";export{default as CustomFractionalFee}from"./token/CustomFractionalFee.js";export{default as CustomRoyaltyFee}from"./token/CustomRoyaltyFee.js";export{default as DelegateContractId}from"./contract/DelegateContractId.js";export{default as EthereumTransaction}from"./EthereumTransaction.js";export{default as EthereumTransactionDataLegacy}from"./EthereumTransactionDataLegacy.js";export{default as EthereumTransactionDataEip1559}from"./EthereumTransactionDataEip1559.js";export{default as EthereumTransactionDataEip2930}from"./EthereumTransactionDataEip2930.js";export{default as EthereumTransactionDataEip7702}from"./EthereumTransactionDataEip7702.js";export{default as EthereumTransactionData}from"./EthereumTransactionData.js";export{default as EthereumFlow}from"./EthereumFlow.js";export{default as EvmAddress}from"./EvmAddress.js";export{default as ExchangeRate}from"./ExchangeRate.js";export{default as ExchangeRates}from"./ExchangeRates.js";export{default as Executable}from"./Executable.js";export{default as FeeAssessmentMethod}from"./token/FeeAssessmentMethod.js";export{default as FeeComponents}from"./FeeComponents.js";export{default as FeeData}from"./FeeData.js";export{default as FeeDataType}from"./FeeDataType.js";export{default as FeeSchedule}from"./FeeSchedule.js";export{default as FeeSchedules}from"./FeeSchedules.js";export{default as FileAppendTransaction}from"./file/FileAppendTransaction.js";export{default as FileContentsQuery}from"./file/FileContentsQuery.js";export{default as FileCreateTransaction}from"./file/FileCreateTransaction.js";export{default as FileDeleteTransaction}from"./file/FileDeleteTransaction.js";export{default as FileId}from"./file/FileId.js";export{default as FileInfo}from"./file/FileInfo.js";export{default as FileInfoQuery}from"./file/FileInfoQuery.js";export{default as FileUpdateTransaction}from"./file/FileUpdateTransaction.js";export{default as FreezeTransaction}from"./system/FreezeTransaction.js";export{default as Hbar}from"./Hbar.js";export{default as HbarAllowance}from"./account/HbarAllowance.js";export{default as HbarUnit}from"./HbarUnit.js";export{default as LiveHash}from"./account/LiveHash.js";export{default as LiveHashAddTransaction}from"./account/LiveHashAddTransaction.js";export{default as LiveHashDeleteTransaction}from"./account/LiveHashDeleteTransaction.js";export{default as LiveHashQuery}from"./account/LiveHashQuery.js";export{default as MaxQueryPaymentExceeded}from"./MaxQueryPaymentExceeded.js";export{default as MirrorNodeContractCallQuery}from"./query/MirrorNodeContractCallQuery.js";export{default as MirrorNodeContractEstimateQuery}from"./query/MirrorNodeContractEstimateQuery.js";export{default as NodeAddressBook}from"./address_book/NodeAddressBook.js";export{default as NetworkVersionInfo}from"./network/NetworkVersionInfo.js";export{default as NetworkVersionInfoQuery}from"./network/NetworkVersionInfoQuery.js";export{default as NftId}from"./token/NftId.js";export{default as PendingAirdropId}from"./token/PendingAirdropId.js";export{default as PrngTransaction}from"./PrngTransaction.js";export{default as ProxyStaker}from"./account/ProxyStaker.js";export{default as Query}from"./query/Query.js";export{default as RequestType}from"./RequestType.js";export{default as ScheduleCreateTransaction}from"./schedule/ScheduleCreateTransaction.js";export{default as ScheduleDeleteTransaction}from"./schedule/ScheduleDeleteTransaction.js";export{default as ScheduleId}from"./schedule/ScheduleId.js";export{default as ScheduleInfo}from"./schedule/ScheduleInfo.js";export{default as ScheduleInfoQuery}from"./schedule/ScheduleInfoQuery.js";export{default as ScheduleSignTransaction}from"./schedule/ScheduleSignTransaction.js";export{default as SemanticVersion}from"./network/SemanticVersion.js";export{default as SignatureMap}from"./transaction/SignatureMap.js";export{default as SignerSignature}from"./SignerSignature.js";export{default as Status}from"./Status.js";export{default as SubscriptionHandle}from"./topic/SubscriptionHandle.js";export{default as SystemDeleteTransaction}from"./system/SystemDeleteTransaction.js";export{default as SystemUndeleteTransaction}from"./system/SystemUndeleteTransaction.js";export{default as Timestamp}from"./Timestamp.js";export{default as TokenAllowance}from"./account/TokenAllowance.js";export{default as TokenAssociateTransaction}from"./token/TokenAssociateTransaction.js";export{default as TokenBurnTransaction}from"./token/TokenBurnTransaction.js";export{default as TokenRejectTransaction}from"./token/TokenRejectTransaction.js";export{default as TokenRejectFlow}from"./token/TokenRejectFlow.js";export{default as TokenCreateTransaction}from"./token/TokenCreateTransaction.js";export{default as TokenDeleteTransaction}from"./token/TokenDeleteTransaction.js";export{default as TokenDissociateTransaction}from"./token/TokenDissociateTransaction.js";export{default as TokenFeeScheduleUpdateTransaction}from"./token/TokenFeeScheduleUpdateTransaction.js";export{default as TokenFreezeTransaction}from"./token/TokenFreezeTransaction.js";export{default as TokenGrantKycTransaction}from"./token/TokenGrantKycTransaction.js";export{default as TokenId}from"./token/TokenId.js";export{default as TokenInfo}from"./token/TokenInfo.js";export{default as TokenInfoQuery}from"./token/TokenInfoQuery.js";export{default as TokenMintTransaction}from"./token/TokenMintTransaction.js";export{default as TokenNftAllowance}from"./account/TokenNftAllowance.js";export{default as TokenNftInfo}from"./token/TokenNftInfo.js";export{default as TokenNftInfoQuery}from"./token/TokenNftInfoQuery.js";export{default as TokenPauseTransaction}from"./token/TokenPauseTransaction.js";export{default as TokenRevokeKycTransaction}from"./token/TokenRevokeKycTransaction.js";export{default as TokenSupplyType}from"./token/TokenSupplyType.js";export{default as TokenType}from"./token/TokenType.js";export{default as TokenUnfreezeTransaction}from"./token/TokenUnfreezeTransaction.js";export{default as TokenUnpauseTransaction}from"./token/TokenUnpauseTransaction.js";export{default as TokenUpdateTransaction}from"./token/TokenUpdateTransaction.js";export{default as TokenWipeTransaction}from"./token/TokenWipeTransaction.js";export{default as TopicCreateTransaction}from"./topic/TopicCreateTransaction.js";export{default as TopicDeleteTransaction}from"./topic/TopicDeleteTransaction.js";export{default as TopicId}from"./topic/TopicId.js";export{default as TopicInfo}from"./topic/TopicInfo.js";export{default as TopicInfoQuery}from"./topic/TopicInfoQuery.js";export{default as TopicMessage}from"./topic/TopicMessage.js";export{default as TopicMessageChunk}from"./topic/TopicMessageChunk.js";export{default as TopicMessageQuery}from"./topic/TopicMessageQuery.js";export{default as TopicMessageSubmitTransaction}from"./topic/TopicMessageSubmitTransaction.js";export{default as TopicUpdateTransaction}from"./topic/TopicUpdateTransaction.js";export{default as CustomFeeLimit}from"./transaction/CustomFeeLimit.js";export{default as Transaction}from"./transaction/Transaction.js";export{default as TransactionFeeSchedule}from"./TransactionFeeSchedule.js";export{default as TransactionId}from"./transaction/TransactionId.js";export{default as TransactionReceipt}from"./transaction/TransactionReceipt.js";export{default as TransactionReceiptQuery}from"./transaction/TransactionReceiptQuery.js";export{default as TransactionRecord}from"./transaction/TransactionRecord.js";export{default as TransactionRecordQuery}from"./transaction/TransactionRecordQuery.js";export{default as TransactionResponse}from"./transaction/TransactionResponse.js";export{default as Transfer}from"./Transfer.js";export{default as TransferTransaction}from"./account/TransferTransaction.js";export{default as Wallet}from"./Wallet.js";export{default as Logger}from"./logger/Logger.js";export{default as LogLevel}from"./logger/LogLevel.js";export{default as FreezeType}from"./FreezeType.js";export{default as TokenKeyValidation}from"./token/TokenKeyValidation.js";export{default as StatusError}from"./StatusError.js";export{default as MaxAttemptsOrTimeoutError}from"./MaxAttemptsOrTimeoutError.js";export{default as PrecheckStatusError}from"./PrecheckStatusError.js";export{default as ReceiptStatusError}from"./ReceiptStatusError.js";export{default as LedgerId}from"./LedgerId.js";export{default as TokenUpdateNftsTransaction}from"./token/TokenUpdateNftsTransaction.js";export{default as NodeCreateTransaction}from"./node/NodeCreateTransaction.js";export{default as ServiceEndpoint}from"./node/ServiceEndpoint.js";export{default as NodeDeleteTransaction}from"./node/NodeDeleteTransaction.js";export{default as NodeUpdateTransaction}from"./node/NodeUpdateTransaction.js";export{BadKeyError,BadMnemonicError,BadMnemonicReason,HEDERA_PATH,SLIP44_ECDSA_ETH_PATH,SLIP44_ECDSA_HEDERA_PATH}from"@hiero-ledger/cryptography";export{default as Provider}from"./Provider.js";export{default as Signer}from"./Signer.js";export{default as Long}from"long";import*as e from"./EntityIdHelper.js";export{e as EntityIdHelper};
1
+ export{NetworkName}from"./exports.js";export{default as Client,default as WebClient}from"./client/WebClient.js";export{default as LocalProvider}from"./LocalProviderWeb.js";export{default as AddressBookQuery}from"./network/AddressBookQueryWeb.js";export{default as Cache}from"./Cache.js";export{default as PrivateKey}from"./PrivateKey.js";export{default as PublicKey}from"./PublicKey.js";export{default as KeyList}from"./KeyList.js";export{default as Key}from"./Key.js";export{default as Mnemonic}from"./Mnemonic.js";export{default as TokenAirdropTransaction}from"./token/TokenAirdropTransaction.js";export{default as TokenClaimAirdropTransaction}from"./token/TokenClaimAirdropTransaction.js";export{default as TokenCancelAirdropTransaction}from"./token/TokenCancelAirdropTransaction.js";export{default as AccountAllowanceAdjustTransaction}from"./account/AccountAllowanceAdjustTransaction.js";export{default as AccountAllowanceApproveTransaction}from"./account/AccountAllowanceApproveTransaction.js";export{default as AccountAllowanceDeleteTransaction}from"./account/AccountAllowanceDeleteTransaction.js";export{default as AccountBalance}from"./account/AccountBalance.js";export{default as AccountBalanceQuery}from"./account/AccountBalanceQuery.js";export{default as AccountCreateTransaction}from"./account/AccountCreateTransaction.js";export{default as AccountDeleteTransaction}from"./account/AccountDeleteTransaction.js";export{default as AccountId}from"./account/AccountId.js";export{default as AccountInfo}from"./account/AccountInfo.js";export{default as AccountInfoFlow}from"./account/AccountInfoFlow.js";export{default as AccountInfoQuery}from"./account/AccountInfoQuery.js";export{default as AccountRecordsQuery}from"./account/AccountRecordsQuery.js";export{default as AccountUpdateTransaction}from"./account/AccountUpdateTransaction.js";export{default as AssessedCustomFee}from"./token/AssessedCustomFee.js";export{default as BatchTransaction}from"./transaction/BatchTransaction.js";export{default as ContractByteCodeQuery}from"./contract/ContractByteCodeQuery.js";export{default as ContractCallQuery}from"./contract/ContractCallQuery.js";export{default as ContractCreateFlow}from"./contract/ContractCreateFlow.js";export{default as ContractCreateTransaction}from"./contract/ContractCreateTransaction.js";export{default as ContractDeleteTransaction}from"./contract/ContractDeleteTransaction.js";export{default as ContractExecuteTransaction}from"./contract/ContractExecuteTransaction.js";export{default as ContractFunctionParameters}from"./contract/ContractFunctionParameters.js";export{default as ContractFunctionResult}from"./contract/ContractFunctionResult.js";export{default as ContractFunctionSelector}from"./contract/ContractFunctionSelector.js";export{default as ContractId}from"./contract/ContractId.js";export{default as ContractInfo}from"./contract/ContractInfo.js";export{default as ContractInfoQuery}from"./contract/ContractInfoQuery.js";export{default as ContractLogInfo}from"./contract/ContractLogInfo.js";export{default as ContractNonceInfo}from"./contract/ContractNonceInfo.js";export{default as ContractUpdateTransaction}from"./contract/ContractUpdateTransaction.js";export{default as CustomFee}from"./token/CustomFee.js";export{default as CustomFixedFee}from"./token/CustomFixedFee.js";export{default as CustomFractionalFee}from"./token/CustomFractionalFee.js";export{default as CustomRoyaltyFee}from"./token/CustomRoyaltyFee.js";export{default as DelegateContractId}from"./contract/DelegateContractId.js";export{default as EthereumTransaction}from"./EthereumTransaction.js";export{default as EthereumTransactionDataLegacy}from"./EthereumTransactionDataLegacy.js";export{default as EthereumTransactionDataEip1559}from"./EthereumTransactionDataEip1559.js";export{default as EthereumTransactionDataEip2930}from"./EthereumTransactionDataEip2930.js";export{default as EthereumTransactionDataEip7702}from"./EthereumTransactionDataEip7702.js";export{default as EthereumTransactionData}from"./EthereumTransactionData.js";export{default as EthereumFlow}from"./EthereumFlow.js";export{default as EvmAddress}from"./EvmAddress.js";export{default as ExchangeRate}from"./ExchangeRate.js";export{default as ExchangeRates}from"./ExchangeRates.js";export{default as Executable}from"./Executable.js";export{default as FeeAssessmentMethod}from"./token/FeeAssessmentMethod.js";export{default as FeeComponents}from"./FeeComponents.js";export{default as FeeData}from"./FeeData.js";export{default as FeeDataType}from"./FeeDataType.js";export{default as FeeSchedule}from"./FeeSchedule.js";export{default as FeeSchedules}from"./FeeSchedules.js";export{default as FileAppendTransaction}from"./file/FileAppendTransaction.js";export{default as HookCreationDetails}from"./hooks/HookCreationDetails.js";export{default as EvmHook}from"./hooks/EvmHook.js";export{default as FungibleHookCall}from"./hooks/FungibleHookCall.js";export{default as NftHookCall}from"./hooks/NftHookCall.js";export{default as EvmHookCall}from"./hooks/EvmHookCall.js";export{default as FungibleHookType}from"./hooks/FungibleHookType.js";export{default as NftHookType}from"./hooks/NftHookType.js";export{default as HookId}from"./hooks/HookId.js";export{default as HookEntityId}from"./hooks/HookEntityId.js";export{default as HookStoreTransaction}from"./hooks/HookStoreTransaction.js";export{default as EvmHookMappingEntry}from"./hooks/EvmHookMappingEntry.js";export{default as FileContentsQuery}from"./file/FileContentsQuery.js";export{default as FileCreateTransaction}from"./file/FileCreateTransaction.js";export{default as FileDeleteTransaction}from"./file/FileDeleteTransaction.js";export{default as FileId}from"./file/FileId.js";export{default as FileInfo}from"./file/FileInfo.js";export{default as FileInfoQuery}from"./file/FileInfoQuery.js";export{default as FileUpdateTransaction}from"./file/FileUpdateTransaction.js";export{default as FreezeTransaction}from"./system/FreezeTransaction.js";export{default as Hbar}from"./Hbar.js";export{default as HbarAllowance}from"./account/HbarAllowance.js";export{default as HbarUnit}from"./HbarUnit.js";export{default as LiveHash}from"./account/LiveHash.js";export{default as LiveHashAddTransaction}from"./account/LiveHashAddTransaction.js";export{default as LiveHashDeleteTransaction}from"./account/LiveHashDeleteTransaction.js";export{default as LiveHashQuery}from"./account/LiveHashQuery.js";export{default as MaxQueryPaymentExceeded}from"./MaxQueryPaymentExceeded.js";export{default as MirrorNodeContractCallQuery}from"./query/MirrorNodeContractCallQuery.js";export{default as MirrorNodeContractEstimateQuery}from"./query/MirrorNodeContractEstimateQuery.js";export{default as NodeAddressBook}from"./address_book/NodeAddressBook.js";export{default as NetworkVersionInfo}from"./network/NetworkVersionInfo.js";export{default as NetworkVersionInfoQuery}from"./network/NetworkVersionInfoQuery.js";export{default as NftId}from"./token/NftId.js";export{default as PendingAirdropId}from"./token/PendingAirdropId.js";export{default as PrngTransaction}from"./PrngTransaction.js";export{default as ProxyStaker}from"./account/ProxyStaker.js";export{default as Query}from"./query/Query.js";export{default as RequestType}from"./RequestType.js";export{default as ScheduleCreateTransaction}from"./schedule/ScheduleCreateTransaction.js";export{default as ScheduleDeleteTransaction}from"./schedule/ScheduleDeleteTransaction.js";export{default as ScheduleId}from"./schedule/ScheduleId.js";export{default as ScheduleInfo}from"./schedule/ScheduleInfo.js";export{default as ScheduleInfoQuery}from"./schedule/ScheduleInfoQuery.js";export{default as ScheduleSignTransaction}from"./schedule/ScheduleSignTransaction.js";export{default as SemanticVersion}from"./network/SemanticVersion.js";export{default as SignatureMap}from"./transaction/SignatureMap.js";export{default as SignerSignature}from"./SignerSignature.js";export{default as Status}from"./Status.js";export{default as SubscriptionHandle}from"./topic/SubscriptionHandle.js";export{default as SystemDeleteTransaction}from"./system/SystemDeleteTransaction.js";export{default as SystemUndeleteTransaction}from"./system/SystemUndeleteTransaction.js";export{default as Timestamp}from"./Timestamp.js";export{default as TokenAllowance}from"./account/TokenAllowance.js";export{default as TokenAssociateTransaction}from"./token/TokenAssociateTransaction.js";export{default as TokenBurnTransaction}from"./token/TokenBurnTransaction.js";export{default as TokenRejectTransaction}from"./token/TokenRejectTransaction.js";export{default as TokenRejectFlow}from"./token/TokenRejectFlow.js";export{default as TokenCreateTransaction}from"./token/TokenCreateTransaction.js";export{default as TokenDeleteTransaction}from"./token/TokenDeleteTransaction.js";export{default as TokenDissociateTransaction}from"./token/TokenDissociateTransaction.js";export{default as TokenFeeScheduleUpdateTransaction}from"./token/TokenFeeScheduleUpdateTransaction.js";export{default as TokenFreezeTransaction}from"./token/TokenFreezeTransaction.js";export{default as TokenGrantKycTransaction}from"./token/TokenGrantKycTransaction.js";export{default as TokenId}from"./token/TokenId.js";export{default as TokenInfo}from"./token/TokenInfo.js";export{default as TokenInfoQuery}from"./token/TokenInfoQuery.js";export{default as TokenMintTransaction}from"./token/TokenMintTransaction.js";export{default as TokenNftAllowance}from"./account/TokenNftAllowance.js";export{default as TokenNftInfo}from"./token/TokenNftInfo.js";export{default as TokenNftInfoQuery}from"./token/TokenNftInfoQuery.js";export{default as TokenPauseTransaction}from"./token/TokenPauseTransaction.js";export{default as TokenRevokeKycTransaction}from"./token/TokenRevokeKycTransaction.js";export{default as TokenSupplyType}from"./token/TokenSupplyType.js";export{default as TokenType}from"./token/TokenType.js";export{default as TokenUnfreezeTransaction}from"./token/TokenUnfreezeTransaction.js";export{default as TokenUnpauseTransaction}from"./token/TokenUnpauseTransaction.js";export{default as TokenUpdateTransaction}from"./token/TokenUpdateTransaction.js";export{default as TokenWipeTransaction}from"./token/TokenWipeTransaction.js";export{default as TopicCreateTransaction}from"./topic/TopicCreateTransaction.js";export{default as TopicDeleteTransaction}from"./topic/TopicDeleteTransaction.js";export{default as TopicId}from"./topic/TopicId.js";export{default as TopicInfo}from"./topic/TopicInfo.js";export{default as TopicInfoQuery}from"./topic/TopicInfoQuery.js";export{default as TopicMessage}from"./topic/TopicMessage.js";export{default as TopicMessageChunk}from"./topic/TopicMessageChunk.js";export{default as TopicMessageQuery}from"./topic/TopicMessageQuery.js";export{default as TopicMessageSubmitTransaction}from"./topic/TopicMessageSubmitTransaction.js";export{default as TopicUpdateTransaction}from"./topic/TopicUpdateTransaction.js";export{default as CustomFeeLimit}from"./transaction/CustomFeeLimit.js";export{default as Transaction}from"./transaction/Transaction.js";export{default as TransactionFeeSchedule}from"./TransactionFeeSchedule.js";export{default as TransactionId}from"./transaction/TransactionId.js";export{default as TransactionReceipt}from"./transaction/TransactionReceipt.js";export{default as TransactionReceiptQuery}from"./transaction/TransactionReceiptQuery.js";export{default as TransactionRecord}from"./transaction/TransactionRecord.js";export{default as TransactionRecordQuery}from"./transaction/TransactionRecordQuery.js";export{default as TransactionResponse}from"./transaction/TransactionResponse.js";export{default as Transfer}from"./Transfer.js";export{default as TransferTransaction}from"./account/TransferTransaction.js";export{default as Wallet}from"./Wallet.js";export{default as Logger}from"./logger/Logger.js";export{default as LogLevel}from"./logger/LogLevel.js";export{default as FreezeType}from"./FreezeType.js";export{default as TokenKeyValidation}from"./token/TokenKeyValidation.js";export{default as StatusError}from"./StatusError.js";export{default as MaxAttemptsOrTimeoutError}from"./MaxAttemptsOrTimeoutError.js";export{default as PrecheckStatusError}from"./PrecheckStatusError.js";export{default as ReceiptStatusError}from"./ReceiptStatusError.js";export{default as LedgerId}from"./LedgerId.js";export{default as TokenUpdateNftsTransaction}from"./token/TokenUpdateNftsTransaction.js";export{default as NodeCreateTransaction}from"./node/NodeCreateTransaction.js";export{default as ServiceEndpoint}from"./node/ServiceEndpoint.js";export{default as NodeDeleteTransaction}from"./node/NodeDeleteTransaction.js";export{default as NodeUpdateTransaction}from"./node/NodeUpdateTransaction.js";export{BadKeyError,BadMnemonicError,BadMnemonicReason,HEDERA_PATH,SLIP44_ECDSA_ETH_PATH,SLIP44_ECDSA_HEDERA_PATH}from"@hiero-ledger/cryptography";export{HookExtensionPoint}from"./hooks/HookExtensionPoint.js";export{EvmHookMappingEntries,EvmHookStorageSlot,EvmHookStorageUpdate}from"./hooks/EvmHookStorageUpdate.js";export{default as Provider}from"./Provider.js";export{default as Signer}from"./Signer.js";export{default as Long}from"long";import*as e from"./EntityIdHelper.js";export{e as EntityIdHelper};
2
2
  //# sourceMappingURL=browser.js.map
@@ -131,6 +131,18 @@ class Client {
131
131
  /** @private */
132
132
  this._defaultRegenerateTransactionId = true;
133
133
 
134
+ /**
135
+ * When enabled, allows receipt queries to fail over to other nodes
136
+ * if the submitting node is unresponsive. Default is false to preserve
137
+ * existing semantics where receipt queries are pinned to the submitting node.
138
+ *
139
+ * Tradeoff: Improved availability vs the rare case where only the submitting
140
+ * node may have final failure information.
141
+ *
142
+ * @private
143
+ */
144
+ this._allowReceiptNodeFailover = false;
145
+
134
146
  /** @private */
135
147
  this._requestTimeout = _ClientConstants.DEFAULT_REQUEST_TIMEOUT;
136
148
 
@@ -446,6 +458,32 @@ class Client {
446
458
  return this;
447
459
  }
448
460
 
461
+ /**
462
+ * @returns {boolean}
463
+ */
464
+ get allowReceiptNodeFailover() {
465
+ return this._allowReceiptNodeFailover;
466
+ }
467
+
468
+ /**
469
+ * Enable or disable receipt query failover to other nodes when the submitting node
470
+ * is unresponsive. When enabled, receipt queries will start with the submitting node
471
+ * but can fail over to other nodes in the network if needed.
472
+ *
473
+ * Default is `false` to preserve existing behavior where receipt queries are pinned
474
+ * to the submitting node only.
475
+ *
476
+ * **Tradeoff**: Enabling this improves availability for high-throughput/relay use cases,
477
+ * but in rare cases only the submitting node may have the final failure information.
478
+ *
479
+ * @param {boolean} allowReceiptNodeFailover
480
+ * @returns {this}
481
+ */
482
+ setAllowReceiptNodeFailover(allowReceiptNodeFailover) {
483
+ this._allowReceiptNodeFailover = allowReceiptNodeFailover;
484
+ return this;
485
+ }
486
+
449
487
  /**
450
488
  * @returns {Hbar}
451
489
  */
@@ -108,6 +108,17 @@ export default class Client<ChannelT extends Channel, MirrorChannelT extends Mir
108
108
  private _maxBackoff;
109
109
  /** @private */
110
110
  private _defaultRegenerateTransactionId;
111
+ /**
112
+ * When enabled, allows receipt queries to fail over to other nodes
113
+ * if the submitting node is unresponsive. Default is false to preserve
114
+ * existing semantics where receipt queries are pinned to the submitting node.
115
+ *
116
+ * Tradeoff: Improved availability vs the rare case where only the submitting
117
+ * node may have final failure information.
118
+ *
119
+ * @private
120
+ */
121
+ private _allowReceiptNodeFailover;
111
122
  /** @private */
112
123
  private _requestTimeout;
113
124
  /** @private */
@@ -286,6 +297,25 @@ export default class Client<ChannelT extends Channel, MirrorChannelT extends Mir
286
297
  * @returns {this}
287
298
  */
288
299
  setDefaultRegenerateTransactionId(defaultRegenerateTransactionId: boolean): this;
300
+ /**
301
+ * @returns {boolean}
302
+ */
303
+ get allowReceiptNodeFailover(): boolean;
304
+ /**
305
+ * Enable or disable receipt query failover to other nodes when the submitting node
306
+ * is unresponsive. When enabled, receipt queries will start with the submitting node
307
+ * but can fail over to other nodes in the network if needed.
308
+ *
309
+ * Default is `false` to preserve existing behavior where receipt queries are pinned
310
+ * to the submitting node only.
311
+ *
312
+ * **Tradeoff**: Enabling this improves availability for high-throughput/relay use cases,
313
+ * but in rare cases only the submitting node may have the final failure information.
314
+ *
315
+ * @param {boolean} allowReceiptNodeFailover
316
+ * @returns {this}
317
+ */
318
+ setAllowReceiptNodeFailover(allowReceiptNodeFailover: boolean): this;
289
319
  /**
290
320
  * @returns {Hbar}
291
321
  */
@@ -1,2 +1,2 @@
1
- import e from"../account/AccountId.js";import t from"../account/AccountBalanceQuery.js";import r from"../Hbar.js";import s from"./Network.js";import i from"./MirrorNetwork.js";import n from"../PublicKey.js";import o from"../PrivateKey.js";import a from"../LedgerId.js";import u from"../file/FileId.js";import"pino";import"../logger/LogLevel.js";import{convertToNumber as h}from"../util.js";import l from"../network/AddressBookQuery.js";import{DEFAULT_REQUEST_TIMEOUT as d,DEFAULT_GRPC_DEADLINE as m}from"../constants/ClientConstants.js";class c{constructor(e){this._mirrorNetwork=new i(this._createMirrorNetworkChannel()),this._network=new s(this._createNetworkChannel()),this._operator=null,this._defaultMaxTransactionFee=null,this._defaultMaxQueryPayment=new r(1),null!=e&&null!=e.operator&&this.setOperator(e.operator.accountId,e.operator.privateKey),this._maxAttempts=null,this._signOnDemand=!1,this._autoValidateChecksums=!1,this._minBackoff=250,this._maxBackoff=8e3,this._defaultRegenerateTransactionId=!0,this._requestTimeout=d,this._grpcDeadline=m,this._isUpdatingNetwork=!1,this._networkUpdatePeriod=864e5,this._isShutdown=!1,this._shard=0,this._realm=0,null!=e&&!1!==e.scheduleNetworkUpdate&&this._scheduleNetworkUpdate(),null!=e&&null!=e.shard&&(this._shard=e.shard),null!=e&&null!=e.realm&&(this._realm=e.realm),null!=e&&null!=e.grpcDeadline&&this.setGrpcDeadline(e.grpcDeadline),null!=e&&null!=e.requestTimeout&&this.setRequestTimeout(e.requestTimeout),this._requestTimeout<=this._grpcDeadline&&console.warn(`DEPRECATION WARNING: requestTimeout (${this._requestTimeout}ms) should be larger than grpcDeadline (${this._grpcDeadline}ms). This configuration may cause operations to fail unexpectedly. This will throw an error in the next major version. Please adjust your timeout values.`),this._timer,this._logger=null}setNetworkName(e){return console.warn("Deprecated: Use `setLedgerId` instead"),this.setLedgerId(e)}get networkName(){return console.warn("Deprecated: Use `ledgerId` instead"),null!=this.ledgerId?this.ledgerId.toString():null}setLedgerId(e){return this._network.setLedgerId("string"==typeof e?a.fromString(e):e),this}get ledgerId(){return null!=this._network._ledgerId?this._network.ledgerId:null}setNetwork(e){throw new Error("not implemented")}setNetworkFromAddressBook(e){return this._network.setNetworkFromAddressBook(e),this}get network(){return this._network.network}get shard(){return this._shard}get realm(){return this._realm}setMirrorNetwork(e){throw new Error("not implemented")}get mirrorNetwork(){return this._mirrorNetwork.network}get mirrorRestApiBaseUrl(){return this._mirrorNetwork.mirrorRestApiBaseUrl}get signOnDemand(){return this._signOnDemand}setSignOnDemand(e){this._signOnDemand=e}isTransportSecurity(){return this._network.isTransportSecurity()}setTransportSecurity(e){return this._network.setTransportSecurity(e),this}setOperator(e,t){const r="string"==typeof t?o.fromStringDer(t):t;return this.setOperatorWith(e,r.publicKey,e=>Promise.resolve(r.sign(e)))}getOperator(){return this._operator}setOperatorWith(t,r,s){const i=t instanceof e?t:e.fromString(t);return null!=this._network._ledgerId&&i.validateChecksum(this),this._operator={transactionSigner:s,accountId:i,publicKey:r instanceof n?r:n.fromString(r)},this}setAutoValidateChecksums(e){return this._autoValidateChecksums=e,this}isAutoValidateChecksumsEnabled(){return this._autoValidateChecksums}get operatorAccountId(){return null!=this._operator?this._operator.accountId:null}get operatorPublicKey(){return null!=this._operator?this._operator.publicKey:null}get defaultMaxTransactionFee(){return this._defaultMaxTransactionFee}get maxTransactionFee(){return this.defaultMaxTransactionFee}setDefaultMaxTransactionFee(e){if(e.toTinybars().toInt()<0)throw new Error("defaultMaxTransactionFee must be non-negative");return this._defaultMaxTransactionFee=e,this}setMaxTransactionFee(e){return this.setDefaultMaxTransactionFee(e)}get defaultRegenerateTransactionId(){return this._defaultRegenerateTransactionId}setDefaultRegenerateTransactionId(e){return this._defaultRegenerateTransactionId=e,this}get defaultMaxQueryPayment(){return this._defaultMaxQueryPayment}get maxQueryPayment(){return this.defaultMaxQueryPayment}setDefaultMaxQueryPayment(e){if(h(e.toTinybars())<0)throw new Error("defaultMaxQueryPayment must be non-negative");return this._defaultMaxQueryPayment=e,this}setMaxQueryPayment(e){return this.setDefaultMaxQueryPayment(e)}get maxAttempts(){return null!=this._maxAttempts?this._maxAttempts:10}setMaxAttempts(e){return this._maxAttempts=e,this}get maxNodeAttempts(){return this._network.maxNodeAttempts}setMaxNodeAttempts(e){return this._network.setMaxNodeAttempts(e),this}get nodeWaitTime(){return this._network.minBackoff}setNodeWaitTime(e){return this._network.setMinBackoff(e),this}get maxNodesPerTransaction(){return this._network.maxNodesPerTransaction}setMaxNodesPerTransaction(e){return this._network.setMaxNodesPerTransaction(e),this}setMinBackoff(e){if(null==e)throw new Error("minBackoff cannot be null.");if(e>this._maxBackoff)throw new Error("minBackoff cannot be larger than maxBackoff.");return this._minBackoff=e,this}get minBackoff(){return this._minBackoff}setMaxBackoff(e){if(null==e)throw new Error("maxBackoff cannot be null.");if(e<this._minBackoff)throw new Error("maxBackoff cannot be smaller than minBackoff.");return this._maxBackoff=e,this}get maxBackoff(){return this._maxBackoff}setNodeMinBackoff(e){return this._network.setMinBackoff(e),this}get nodeMinBackoff(){return this._network.minBackoff}setNodeMaxBackoff(e){return this._network.setMaxBackoff(e),this}get nodeMaxBackoff(){return this._network.maxBackoff}setNodeMinReadmitPeriod(e){return this._network.setNodeMinReadmitPeriod(e),this}get nodeMinReadmitPeriod(){return this._network.nodeMinReadmitPeriod}setNodeMaxReadmitPeriod(e){return this._network.setNodeMaxReadmitPeriod(e),this}get nodeMaxReadmitPeriod(){return this._network.nodeMaxReadmitPeriod}setRequestTimeout(e){if(e<=0)throw new Error("requestTimeout must be a positive number");return e<=this._grpcDeadline&&console.warn(`DEPRECATION WARNING: requestTimeout (${e}ms) should be larger than grpcDeadline (${this._grpcDeadline}ms). This configuration may cause operations to fail unexpectedly. This will throw an error in the next major version. Please adjust your timeout values.`),this._requestTimeout=e,this}get requestTimeout(){return this._requestTimeout}setGrpcDeadline(e){if(e<=0)throw new Error("grpcDeadline must be a positive number");return e>=this._requestTimeout&&console.warn(`DEPRECATION WARNING: grpcDeadline (${e}ms) should be smaller than requestTimeout (${this._requestTimeout}ms). This configuration may cause operations to fail unexpectedly. This will throw an error in the next major version. Please adjust your timeout values.`),this._grpcDeadline=e,this}get grpcDeadline(){return this._grpcDeadline}get networkUpdatePeriod(){return this._networkUpdatePeriod}setNetworkUpdatePeriod(e){return clearTimeout(this._timer),this._networkUpdatePeriod=e,this._scheduleNetworkUpdate(),this}setLogger(e){return this._logger=e,this}get logger(){return this._logger}async ping(r){await new t({accountId:r}).setNodeAccountIds([r instanceof e?r:e.fromString(r)]).execute(this)}async pingAll(){for(const e of Object.values(this._network.network))await this.ping(e)}async updateNetwork(){if(this._isUpdatingNetwork)return this;this._isUpdatingNetwork=!0;try{const e=await(new l).setFileId(u.getAddressBookFileIdFor(this._shard,this._realm)).execute(this);this.setNetworkFromAddressBook(e)}catch(e){this._logger&&this._logger.trace(`failed to update client address book: ${e.toString()}`)}finally{this._isUpdatingNetwork=!1}return this}close(){this._network.close(),this._mirrorNetwork.close(),this._isShutdown=!0,clearTimeout(this._timer)}_createNetworkChannel(){return()=>{throw new Error("not implemented")}}_createMirrorNetworkChannel(){return()=>{throw new Error("not implemented")}}_scheduleNetworkUpdate(){this._timer=setTimeout(async()=>{await this.updateNetwork(),this._isShutdown||this._scheduleNetworkUpdate()},this._networkUpdatePeriod)}get isClientShutDown(){return this._isShutdown}static _validateNetworkConsistency(e){if(0===Object.keys(e).length)return;const[,t]=Object.entries(e)[0],r=t.toString(),[s,i]=r.split(".").map(Number),n=Object.values(e).every(e=>{const t=e.toString(),[r,n]=t.split(".").map(Number);return r===s&&n===i});if(!n)throw new Error("Network is not valid, all nodes must be in the same shard and realm")}static _extractShardRealm(e){const t=Object.entries(e);if(0===t.length)return{shard:0,realm:0};const[,r]=t[0],s=r.toString(),[i,n]=s.split(".").map(Number);return{shard:i,realm:n}}}export{c as default};
1
+ import e from"../account/AccountId.js";import t from"../account/AccountBalanceQuery.js";import r from"../Hbar.js";import i from"./Network.js";import s from"./MirrorNetwork.js";import o from"../PublicKey.js";import n from"../PrivateKey.js";import a from"../LedgerId.js";import u from"../file/FileId.js";import"pino";import"../logger/LogLevel.js";import{convertToNumber as l}from"../util.js";import h from"../network/AddressBookQuery.js";import{DEFAULT_REQUEST_TIMEOUT as d,DEFAULT_GRPC_DEADLINE as m}from"../constants/ClientConstants.js";class c{constructor(e){this._mirrorNetwork=new s(this._createMirrorNetworkChannel()),this._network=new i(this._createNetworkChannel()),this._operator=null,this._defaultMaxTransactionFee=null,this._defaultMaxQueryPayment=new r(1),null!=e&&null!=e.operator&&this.setOperator(e.operator.accountId,e.operator.privateKey),this._maxAttempts=null,this._signOnDemand=!1,this._autoValidateChecksums=!1,this._minBackoff=250,this._maxBackoff=8e3,this._defaultRegenerateTransactionId=!0,this._allowReceiptNodeFailover=!1,this._requestTimeout=d,this._grpcDeadline=m,this._isUpdatingNetwork=!1,this._networkUpdatePeriod=864e5,this._isShutdown=!1,this._shard=0,this._realm=0,null!=e&&!1!==e.scheduleNetworkUpdate&&this._scheduleNetworkUpdate(),null!=e&&null!=e.shard&&(this._shard=e.shard),null!=e&&null!=e.realm&&(this._realm=e.realm),null!=e&&null!=e.grpcDeadline&&this.setGrpcDeadline(e.grpcDeadline),null!=e&&null!=e.requestTimeout&&this.setRequestTimeout(e.requestTimeout),this._requestTimeout<=this._grpcDeadline&&console.warn(`DEPRECATION WARNING: requestTimeout (${this._requestTimeout}ms) should be larger than grpcDeadline (${this._grpcDeadline}ms). This configuration may cause operations to fail unexpectedly. This will throw an error in the next major version. Please adjust your timeout values.`),this._timer,this._logger=null}setNetworkName(e){return console.warn("Deprecated: Use `setLedgerId` instead"),this.setLedgerId(e)}get networkName(){return console.warn("Deprecated: Use `ledgerId` instead"),null!=this.ledgerId?this.ledgerId.toString():null}setLedgerId(e){return this._network.setLedgerId("string"==typeof e?a.fromString(e):e),this}get ledgerId(){return null!=this._network._ledgerId?this._network.ledgerId:null}setNetwork(e){throw new Error("not implemented")}setNetworkFromAddressBook(e){return this._network.setNetworkFromAddressBook(e),this}get network(){return this._network.network}get shard(){return this._shard}get realm(){return this._realm}setMirrorNetwork(e){throw new Error("not implemented")}get mirrorNetwork(){return this._mirrorNetwork.network}get mirrorRestApiBaseUrl(){return this._mirrorNetwork.mirrorRestApiBaseUrl}get signOnDemand(){return this._signOnDemand}setSignOnDemand(e){this._signOnDemand=e}isTransportSecurity(){return this._network.isTransportSecurity()}setTransportSecurity(e){return this._network.setTransportSecurity(e),this}setOperator(e,t){const r="string"==typeof t?n.fromStringDer(t):t;return this.setOperatorWith(e,r.publicKey,e=>Promise.resolve(r.sign(e)))}getOperator(){return this._operator}setOperatorWith(t,r,i){const s=t instanceof e?t:e.fromString(t);return null!=this._network._ledgerId&&s.validateChecksum(this),this._operator={transactionSigner:i,accountId:s,publicKey:r instanceof o?r:o.fromString(r)},this}setAutoValidateChecksums(e){return this._autoValidateChecksums=e,this}isAutoValidateChecksumsEnabled(){return this._autoValidateChecksums}get operatorAccountId(){return null!=this._operator?this._operator.accountId:null}get operatorPublicKey(){return null!=this._operator?this._operator.publicKey:null}get defaultMaxTransactionFee(){return this._defaultMaxTransactionFee}get maxTransactionFee(){return this.defaultMaxTransactionFee}setDefaultMaxTransactionFee(e){if(e.toTinybars().toInt()<0)throw new Error("defaultMaxTransactionFee must be non-negative");return this._defaultMaxTransactionFee=e,this}setMaxTransactionFee(e){return this.setDefaultMaxTransactionFee(e)}get defaultRegenerateTransactionId(){return this._defaultRegenerateTransactionId}setDefaultRegenerateTransactionId(e){return this._defaultRegenerateTransactionId=e,this}get allowReceiptNodeFailover(){return this._allowReceiptNodeFailover}setAllowReceiptNodeFailover(e){return this._allowReceiptNodeFailover=e,this}get defaultMaxQueryPayment(){return this._defaultMaxQueryPayment}get maxQueryPayment(){return this.defaultMaxQueryPayment}setDefaultMaxQueryPayment(e){if(l(e.toTinybars())<0)throw new Error("defaultMaxQueryPayment must be non-negative");return this._defaultMaxQueryPayment=e,this}setMaxQueryPayment(e){return this.setDefaultMaxQueryPayment(e)}get maxAttempts(){return null!=this._maxAttempts?this._maxAttempts:10}setMaxAttempts(e){return this._maxAttempts=e,this}get maxNodeAttempts(){return this._network.maxNodeAttempts}setMaxNodeAttempts(e){return this._network.setMaxNodeAttempts(e),this}get nodeWaitTime(){return this._network.minBackoff}setNodeWaitTime(e){return this._network.setMinBackoff(e),this}get maxNodesPerTransaction(){return this._network.maxNodesPerTransaction}setMaxNodesPerTransaction(e){return this._network.setMaxNodesPerTransaction(e),this}setMinBackoff(e){if(null==e)throw new Error("minBackoff cannot be null.");if(e>this._maxBackoff)throw new Error("minBackoff cannot be larger than maxBackoff.");return this._minBackoff=e,this}get minBackoff(){return this._minBackoff}setMaxBackoff(e){if(null==e)throw new Error("maxBackoff cannot be null.");if(e<this._minBackoff)throw new Error("maxBackoff cannot be smaller than minBackoff.");return this._maxBackoff=e,this}get maxBackoff(){return this._maxBackoff}setNodeMinBackoff(e){return this._network.setMinBackoff(e),this}get nodeMinBackoff(){return this._network.minBackoff}setNodeMaxBackoff(e){return this._network.setMaxBackoff(e),this}get nodeMaxBackoff(){return this._network.maxBackoff}setNodeMinReadmitPeriod(e){return this._network.setNodeMinReadmitPeriod(e),this}get nodeMinReadmitPeriod(){return this._network.nodeMinReadmitPeriod}setNodeMaxReadmitPeriod(e){return this._network.setNodeMaxReadmitPeriod(e),this}get nodeMaxReadmitPeriod(){return this._network.nodeMaxReadmitPeriod}setRequestTimeout(e){if(e<=0)throw new Error("requestTimeout must be a positive number");return e<=this._grpcDeadline&&console.warn(`DEPRECATION WARNING: requestTimeout (${e}ms) should be larger than grpcDeadline (${this._grpcDeadline}ms). This configuration may cause operations to fail unexpectedly. This will throw an error in the next major version. Please adjust your timeout values.`),this._requestTimeout=e,this}get requestTimeout(){return this._requestTimeout}setGrpcDeadline(e){if(e<=0)throw new Error("grpcDeadline must be a positive number");return e>=this._requestTimeout&&console.warn(`DEPRECATION WARNING: grpcDeadline (${e}ms) should be smaller than requestTimeout (${this._requestTimeout}ms). This configuration may cause operations to fail unexpectedly. This will throw an error in the next major version. Please adjust your timeout values.`),this._grpcDeadline=e,this}get grpcDeadline(){return this._grpcDeadline}get networkUpdatePeriod(){return this._networkUpdatePeriod}setNetworkUpdatePeriod(e){return clearTimeout(this._timer),this._networkUpdatePeriod=e,this._scheduleNetworkUpdate(),this}setLogger(e){return this._logger=e,this}get logger(){return this._logger}async ping(r){await new t({accountId:r}).setNodeAccountIds([r instanceof e?r:e.fromString(r)]).execute(this)}async pingAll(){for(const e of Object.values(this._network.network))await this.ping(e)}async updateNetwork(){if(this._isUpdatingNetwork)return this;this._isUpdatingNetwork=!0;try{const e=await(new h).setFileId(u.getAddressBookFileIdFor(this._shard,this._realm)).execute(this);this.setNetworkFromAddressBook(e)}catch(e){this._logger&&this._logger.trace(`failed to update client address book: ${e.toString()}`)}finally{this._isUpdatingNetwork=!1}return this}close(){this._network.close(),this._mirrorNetwork.close(),this._isShutdown=!0,clearTimeout(this._timer)}_createNetworkChannel(){return()=>{throw new Error("not implemented")}}_createMirrorNetworkChannel(){return()=>{throw new Error("not implemented")}}_scheduleNetworkUpdate(){this._timer=setTimeout(async()=>{await this.updateNetwork(),this._isShutdown||this._scheduleNetworkUpdate()},this._networkUpdatePeriod)}get isClientShutDown(){return this._isShutdown}static _validateNetworkConsistency(e){if(0===Object.keys(e).length)return;const[,t]=Object.entries(e)[0],r=t.toString(),[i,s]=r.split(".").map(Number),o=Object.values(e).every(e=>{const t=e.toString(),[r,o]=t.split(".").map(Number);return r===i&&o===s});if(!o)throw new Error("Network is not valid, all nodes must be in the same shard and realm")}static _extractShardRealm(e){const t=Object.entries(e);if(0===t.length)return{shard:0,realm:0};const[,r]=t[0],i=r.toString(),[s,o]=i.split(".").map(Number);return{shard:s,realm:o}}}export{c as default};
2
2
  //# sourceMappingURL=Client.js.map