@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.
- package/README.md +34 -7
- package/dist/umd.js +2213 -318
- package/dist/umd.js.map +1 -0
- package/dist/umd.min.js +6 -5
- package/dist/umd.min.js.map +1 -0
- package/lib/Executable.cjs +7 -4
- package/lib/Executable.js +1 -1
- package/lib/Executable.js.map +1 -1
- package/lib/PublicKey.cjs +45 -26
- package/lib/PublicKey.d.ts +12 -0
- package/lib/PublicKey.js +1 -1
- package/lib/PublicKey.js.map +1 -1
- package/lib/RequestType.cjs +19 -1
- package/lib/RequestType.d.ts +2 -0
- package/lib/RequestType.js +1 -1
- package/lib/RequestType.js.map +1 -1
- package/lib/Status.cjs +203 -252
- package/lib/Status.d.ts +8 -6
- package/lib/Status.js +1 -1
- package/lib/Status.js.map +1 -1
- package/lib/Transfer.cjs +25 -2
- package/lib/Transfer.d.ts +4 -0
- package/lib/Transfer.js +1 -1
- package/lib/Transfer.js.map +1 -1
- package/lib/account/AccountCreateTransaction.cjs +38 -0
- package/lib/account/AccountCreateTransaction.d.ts +21 -0
- package/lib/account/AccountCreateTransaction.js +1 -1
- package/lib/account/AccountCreateTransaction.js.map +1 -1
- package/lib/account/AccountUpdateTransaction.cjs +74 -1
- package/lib/account/AccountUpdateTransaction.d.ts +43 -0
- package/lib/account/AccountUpdateTransaction.js +1 -1
- package/lib/account/AccountUpdateTransaction.js.map +1 -1
- package/lib/account/TransferTransaction.cjs +57 -9
- package/lib/account/TransferTransaction.d.ts +31 -1
- package/lib/account/TransferTransaction.js +1 -1
- package/lib/account/TransferTransaction.js.map +1 -1
- package/lib/browser.js +1 -1
- package/lib/client/Client.cjs +38 -0
- package/lib/client/Client.d.ts +30 -0
- package/lib/client/Client.js +1 -1
- package/lib/client/Client.js.map +1 -1
- package/lib/client/addressbooks/mainnet.cjs +1 -1
- package/lib/client/addressbooks/mainnet.d.ts +1 -1
- package/lib/client/addressbooks/mainnet.js +1 -1
- package/lib/client/addressbooks/mainnet.js.map +1 -1
- package/lib/client/addressbooks/previewnet.cjs +1 -1
- package/lib/client/addressbooks/previewnet.d.ts +1 -1
- package/lib/client/addressbooks/previewnet.js +1 -1
- package/lib/client/addressbooks/previewnet.js.map +1 -1
- package/lib/client/addressbooks/testnet.cjs +1 -1
- package/lib/client/addressbooks/testnet.d.ts +1 -1
- package/lib/client/addressbooks/testnet.js +1 -1
- package/lib/client/addressbooks/testnet.js.map +1 -1
- package/lib/contract/ContractCreateTransaction.cjs +37 -1
- package/lib/contract/ContractCreateTransaction.d.ts +21 -0
- package/lib/contract/ContractCreateTransaction.js +1 -1
- package/lib/contract/ContractCreateTransaction.js.map +1 -1
- package/lib/contract/ContractUpdateTransaction.cjs +74 -1
- package/lib/contract/ContractUpdateTransaction.d.ts +43 -0
- package/lib/contract/ContractUpdateTransaction.js +1 -1
- package/lib/contract/ContractUpdateTransaction.js.map +1 -1
- package/lib/exports.cjs +103 -0
- package/lib/exports.d.ts +13 -0
- package/lib/exports.js +1 -1
- package/lib/exports.js.map +1 -1
- package/lib/hooks/EvmHook.cjs +84 -0
- package/lib/hooks/EvmHook.d.ts +51 -0
- package/lib/hooks/EvmHook.js +2 -0
- package/lib/hooks/EvmHook.js.map +1 -0
- package/lib/hooks/EvmHookCall.cjs +103 -0
- package/lib/hooks/EvmHookCall.d.ts +69 -0
- package/lib/hooks/EvmHookCall.js +2 -0
- package/lib/hooks/EvmHookCall.js.map +1 -0
- package/lib/hooks/EvmHookMappingEntry.cjs +135 -0
- package/lib/hooks/EvmHookMappingEntry.d.ts +84 -0
- package/lib/hooks/EvmHookMappingEntry.js +2 -0
- package/lib/hooks/EvmHookMappingEntry.js.map +1 -0
- package/lib/hooks/EvmHookStorageUpdate.cjs +238 -0
- package/lib/hooks/EvmHookStorageUpdate.d.ts +144 -0
- package/lib/hooks/EvmHookStorageUpdate.js +2 -0
- package/lib/hooks/EvmHookStorageUpdate.js.map +1 -0
- package/lib/hooks/FungibleHookCall.cjs +67 -0
- package/lib/hooks/FungibleHookCall.d.ts +50 -0
- package/lib/hooks/FungibleHookCall.js +2 -0
- package/lib/hooks/FungibleHookCall.js.map +1 -0
- package/lib/hooks/FungibleHookType.cjs +11 -0
- package/lib/hooks/FungibleHookType.d.ts +5 -0
- package/lib/hooks/FungibleHookType.js +2 -0
- package/lib/hooks/FungibleHookType.js.map +1 -0
- package/lib/hooks/HookCall.cjs +99 -0
- package/lib/hooks/HookCall.d.ts +64 -0
- package/lib/hooks/HookCall.js +2 -0
- package/lib/hooks/HookCall.js.map +1 -0
- package/lib/hooks/HookCreationDetails.cjs +149 -0
- package/lib/hooks/HookCreationDetails.d.ts +91 -0
- package/lib/hooks/HookCreationDetails.js +2 -0
- package/lib/hooks/HookCreationDetails.js.map +1 -0
- package/lib/hooks/HookEntityId.cjs +67 -0
- package/lib/hooks/HookEntityId.d.ts +41 -0
- package/lib/hooks/HookEntityId.js +2 -0
- package/lib/hooks/HookEntityId.js.map +1 -0
- package/lib/hooks/HookExtensionPoint.cjs +31 -0
- package/lib/hooks/HookExtensionPoint.d.ts +16 -0
- package/lib/hooks/HookExtensionPoint.js +2 -0
- package/lib/hooks/HookExtensionPoint.js.map +1 -0
- package/lib/hooks/HookId.cjs +101 -0
- package/lib/hooks/HookId.d.ts +63 -0
- package/lib/hooks/HookId.js +2 -0
- package/lib/hooks/HookId.js.map +1 -0
- package/lib/hooks/HookStoreTransaction.cjs +157 -0
- package/lib/hooks/HookStoreTransaction.d.ts +77 -0
- package/lib/hooks/HookStoreTransaction.js +2 -0
- package/lib/hooks/HookStoreTransaction.js.map +1 -0
- package/lib/hooks/NftHookCall.cjs +67 -0
- package/lib/hooks/NftHookCall.d.ts +50 -0
- package/lib/hooks/NftHookCall.js +2 -0
- package/lib/hooks/NftHookCall.js.map +1 -0
- package/lib/hooks/NftHookType.cjs +13 -0
- package/lib/hooks/NftHookType.d.ts +7 -0
- package/lib/hooks/NftHookType.js +2 -0
- package/lib/hooks/NftHookType.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/native.js +1 -1
- package/lib/token/AbstractTokenTransferTransaction.cjs +17 -5
- package/lib/token/AbstractTokenTransferTransaction.d.ts +13 -2
- package/lib/token/AbstractTokenTransferTransaction.js +1 -1
- package/lib/token/AbstractTokenTransferTransaction.js.map +1 -1
- package/lib/token/TokenAirdropTransaction.cjs +1 -1
- package/lib/token/TokenAirdropTransaction.js +1 -1
- package/lib/token/TokenAirdropTransaction.js.map +1 -1
- package/lib/token/TokenNftTransfer.cjs +51 -2
- package/lib/token/TokenNftTransfer.d.ts +7 -0
- package/lib/token/TokenNftTransfer.js +1 -1
- package/lib/token/TokenNftTransfer.js.map +1 -1
- package/lib/token/TokenTransfer.cjs +26 -2
- package/lib/token/TokenTransfer.d.ts +4 -0
- package/lib/token/TokenTransfer.js +1 -1
- package/lib/token/TokenTransfer.js.map +1 -1
- package/lib/transaction/Transaction.cjs +2 -1
- package/lib/transaction/Transaction.js +1 -1
- package/lib/transaction/Transaction.js.map +1 -1
- package/lib/transaction/TransactionResponse.cjs +82 -9
- package/lib/transaction/TransactionResponse.d.ts +33 -2
- package/lib/transaction/TransactionResponse.js +1 -1
- package/lib/transaction/TransactionResponse.js.map +1 -1
- package/lib/version.js +1 -1
- package/package.json +15 -13
- package/src/Executable.js +10 -7
- package/src/PublicKey.js +53 -36
- package/src/RequestType.js +18 -0
- package/src/Status.js +201 -252
- package/src/Transfer.js +33 -1
- package/src/account/AccountCreateTransaction.js +39 -0
- package/src/account/AccountUpdateTransaction.js +78 -0
- package/src/account/TransferTransaction.js +84 -8
- package/src/client/Client.js +38 -0
- package/src/client/addressbooks/mainnet.js +1 -1
- package/src/client/addressbooks/previewnet.js +1 -1
- package/src/client/addressbooks/testnet.js +1 -1
- package/src/contract/ContractCreateTransaction.js +37 -0
- package/src/contract/ContractUpdateTransaction.js +80 -0
- package/src/exports.js +17 -0
- package/src/hooks/EvmHook.js +83 -0
- package/src/hooks/EvmHookCall.js +100 -0
- package/src/hooks/EvmHookMappingEntry.js +140 -0
- package/src/hooks/EvmHookStorageUpdate.js +257 -0
- package/src/hooks/FungibleHookCall.js +65 -0
- package/src/hooks/FungibleHookType.js +6 -0
- package/src/hooks/HookCall.js +97 -0
- package/src/hooks/HookCreationDetails.js +155 -0
- package/src/hooks/HookEntityId.js +67 -0
- package/src/hooks/HookExtensionPoint.js +25 -0
- package/src/hooks/HookId.js +102 -0
- package/src/hooks/HookStoreTransaction.js +185 -0
- package/src/hooks/NftHookCall.js +64 -0
- package/src/hooks/NftHookType.js +8 -0
- package/src/token/AbstractTokenTransferTransaction.js +16 -1
- package/src/token/TokenAirdropTransaction.js +1 -0
- package/src/token/TokenNftTransfer.js +68 -1
- package/src/token/TokenTransfer.js +34 -1
- package/src/transaction/Transaction.js +3 -0
- 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
|
|
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":"uZAmEe,MAAMA,UAA4BC,EAO7C,WAAAC,CAAYC,EAAQ,IAChBC,QAMAC,KAAKC,eAAiB,GAEtBD,KAAKE,0BAA4B,IAAIC,EAAK,GAE1C,IAAK,MAAMC,KAAmC,MAAvBN,EAAMO,cACvBP,EAAMO,cACN,GACFL,KAAKM,gBAAgBF,EAASG,UAAWH,EAASI,OAE9D,CAWI,oBAAOC,CACHC,EACAC,EACAC,EACAC,EACAC,GAEA,MACMC,EADOD,EAAO,GAIf,eAECE,EAAY,IAAIrB,EAsBtB,OApBAqB,EAAUC,gBAAkBC,EAAcT,cACL,MAAjCM,EAAeI,eACTJ,EAAeI,eACf,IAGVH,EAAUf,eAAiBmB,EAASX,cACJ,MAA5BM,EAAeC,WACkC,MAA3CD,EAAeC,UAAUK,eACrBN,EAAeC,UAAUK,eAE7B,IAGVL,EAAUM,cAAgBC,EAAiBd,cACN,MAAjCM,EAAeI,eACTJ,EAAeI,eACf,IAGHK,EAAYC,0BACfT,EACAN,EACAC,EACAC,EACAC,EACAC,EAEZ,CAKI,iBAAIT,GACA,MAAMqB,EAAM,IAAIC,EAEhB,IAAK,MAAMvB,KAAYJ,KAAKC,eACxByB,EAAIE,KAAKxB,EAASG,UAAWH,EAASI,QAG1C,OAAOkB,CACf,CAKI,qBAAIG,GACA,OAAO7B,KAAKC,cACpB,CASI,gBAAA6B,CAAiBvB,EAAWC,EAAQuB,GAChC/B,KAAKgC,oBAEL,MAAMC,EACF1B,aAAqB2B,EACf3B,EAAU4B,QACVD,EAAUE,WAAW7B,GACzB8B,EAAQ7B,aAAkBL,EAAOK,EAAS,IAAIL,EAAKK,GAEzD,IAAK,MAAMJ,KAAYJ,KAAKC,eACxB,GAA4C,IAAxCG,EAASG,UAAU+B,QAAQL,GAI3B,OAHA7B,EAASI,OAASL,EAAKoC,aACnBnC,EAASI,OAAOgC,aAAaC,IAAIJ,EAAMG,eAEpCxC,KAYf,OARAA,KAAKC,eAAeyC,KAChB,IAAItB,EAAS,CACTb,UAAW0B,EACXzB,OAAQ6B,EACRN,gBAID/B,IACf,CAQI,eAAAM,CAAgBC,EAAWC,GACvB,OAAOR,KAAK8B,iBAAiBvB,EAAWC,GAAQ,EACxD,CAQI,uBAAAmC,CAAwBpC,EAAWC,GAC/B,OAAOR,KAAK8B,iBAAiBvB,EAAWC,GAAQ,EACxD,CAKI,kBAAAoC,CAAmBC,GAEf,IAAK,MAAMzC,KAAYJ,KAAKC,eACxBG,EAASG,UAAUuC,iBAAiBD,GAGxC,IAAK,MAAMzC,KAAYJ,KAAKiB,gBACxBb,EAAS2C,QAAQD,iBAAiBD,GAClCzC,EAASG,UAAUuC,iBAAiBD,GAGxC,IAAK,MAAMzC,KAAYJ,KAAKsB,cACxBlB,EAAS2C,QAAQD,iBAAiBD,GAClCzC,EAAS4C,gBAAgBF,iBAAiBD,GAC1CzC,EAAS6C,kBAAkBH,iBAAiBD,EAExD,CAQI,uBAAAK,CAAwB3C,EAAWwB,GAC/B,MAAME,EACmB,iBAAd1B,EACD2B,EAAUE,WAAW7B,GACrBA,EAEV,IAAK,MAAMH,KAAYJ,KAAKC,eACoB,IAAxCG,EAASG,UAAU+B,QAAQL,KAC3B7B,EAAS2B,WAAaA,GAI9B,OAAO/B,IACf,CASI,wBAAAmD,CAAyBJ,EAASxC,EAAWwB,GACzC,MAAMqB,EACiB,iBAAZL,EAAuBM,EAAQjB,WAAWW,GAAWA,EAC1Dd,EACmB,iBAAd1B,EACD2B,EAAUE,WAAW7B,GACrBA,EAEV,IAAK,MAAM+C,KAAiBtD,KAAKiB,gBAEgB,IAAzCqC,EAAcP,QAAQT,QAAQc,IACe,IAA7CE,EAAc/C,UAAU+B,QAAQL,KAEhCqB,EAAcvB,WAAaA,GAInC,OAAO/B,IACf,CAQI,sBAAAuD,CAAuBC,EAAOzB,GAC1B,MAAM0B,EAAuB,iBAAVD,EAAqBE,EAAMtB,WAAWoB,GAASA,EAElE,IAAK,MAAMpD,KAAYJ,KAAKsB,cAEsB,IAA1ClB,EAAS2C,QAAQT,QAAQmB,EAAIV,UACiB,IAA9C3C,EAASuD,aAAarB,QAAQmB,EAAIG,UAElCxD,EAAS2B,WAAaA,GAI9B,OAAO/B,IACf,CASI,QAAA6D,CAASC,EAASC,GACd,OAAOD,EAAQE,OAAOjD,eAAegD,EAC7C,CAOI,uBAAAE,GACI,MAAO,gBACf,CAOI,oBAAAC,GACI,MAAM/C,eAAEA,GAAmBpB,MAAMmE,uBAIjC,OAFAlE,KAAKC,eAAekE,KAAK,CAACC,EAAGC,IAAMD,EAAE7D,UAAU+B,QAAQ+B,EAAE9D,YAElD,CACHS,UAAW,CACPK,eAAgBrB,KAAKC,eAAeyB,IAAKtB,IAC9B,CACHkE,UAAWlE,EAASG,UAAUgE,cAC9B/D,OAAQJ,EAASI,OAAOgC,aACxBgC,WAAYpE,EAAS2B,eAIjCZ,iBAEZ,CAKI,SAAAsD,GAII,MAAO,uBAFHzE,KAAK0E,gBAAgBC,QACxB,WACuCC,YAChD,EAGAC,EAAqBC,IACjB,iBAEAnF,EAAoBc"}
|
|
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
|
package/lib/client/Client.cjs
CHANGED
|
@@ -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
|
*/
|
package/lib/client/Client.d.ts
CHANGED
|
@@ -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
|
*/
|
package/lib/client/Client.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"../account/AccountId.js";import t from"../account/AccountBalanceQuery.js";import r from"../Hbar.js";import
|
|
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
|