@hiero-ledger/sdk 2.72.0 → 2.73.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/dist/umd.js +648 -338
- package/dist/umd.min.js +16 -15
- package/lib/EntityIdHelper.cjs +1 -2
- package/lib/EntityIdHelper.js +1 -1
- package/lib/EntityIdHelper.js.map +1 -1
- package/lib/EthereumFlow.cjs +1 -2
- package/lib/EthereumTransaction.cjs +1 -2
- package/lib/EthereumTransactionDataEip1559.cjs +1 -2
- package/lib/EthereumTransactionDataEip1559.js +1 -1
- package/lib/EthereumTransactionDataEip1559.js.map +1 -1
- package/lib/EthereumTransactionDataEip2930.cjs +1 -2
- package/lib/EthereumTransactionDataEip2930.js +1 -1
- package/lib/EthereumTransactionDataEip2930.js.map +1 -1
- package/lib/EthereumTransactionDataLegacy.cjs +1 -2
- package/lib/EthereumTransactionDataLegacy.js +1 -1
- package/lib/EthereumTransactionDataLegacy.js.map +1 -1
- package/lib/EvmAddress.cjs +1 -2
- package/lib/ExchangeRates.cjs +1 -2
- package/lib/Executable.cjs +1 -2
- package/lib/Executable.js +1 -1
- package/lib/Executable.js.map +1 -1
- package/lib/FeeComponents.cjs +1 -2
- package/lib/FeeData.cjs +1 -2
- package/lib/FeeSchedule.cjs +1 -2
- package/lib/FeeSchedule.js +1 -1
- package/lib/FeeSchedule.js.map +1 -1
- package/lib/FeeSchedules.cjs +1 -2
- package/lib/KeyList.js +1 -1
- package/lib/KeyList.js.map +1 -1
- package/lib/LedgerId.cjs +1 -2
- package/lib/LocalProviderWeb.cjs +165 -0
- package/lib/LocalProviderWeb.d.ts +127 -0
- package/lib/LocalProviderWeb.js +2 -0
- package/lib/LocalProviderWeb.js.map +1 -0
- package/lib/ManagedNode.js +1 -1
- package/lib/ManagedNode.js.map +1 -1
- package/lib/ObjectMap.js +1 -1
- package/lib/ObjectMap.js.map +1 -1
- package/lib/PrivateKey.js +1 -1
- package/lib/PrivateKey.js.map +1 -1
- package/lib/PrngTransaction.cjs +1 -2
- package/lib/PublicKey.js +1 -1
- package/lib/PublicKey.js.map +1 -1
- package/lib/StakingInfo.cjs +1 -2
- package/lib/Timestamp.js.map +1 -1
- package/lib/TransactionFeeSchedule.cjs +1 -2
- package/lib/TransactionFeeSchedule.js +1 -1
- package/lib/TransactionFeeSchedule.js.map +1 -1
- package/lib/Wallet.cjs +1 -2
- package/lib/Wallet.js +1 -1
- package/lib/Wallet.js.map +1 -1
- package/lib/account/AccountAllowanceAdjustTransaction.cjs +1 -2
- package/lib/account/AccountAllowanceAdjustTransaction.js +1 -1
- package/lib/account/AccountAllowanceAdjustTransaction.js.map +1 -1
- package/lib/account/AccountAllowanceApproveTransaction.cjs +1 -2
- package/lib/account/AccountAllowanceApproveTransaction.js +1 -1
- package/lib/account/AccountAllowanceApproveTransaction.js.map +1 -1
- package/lib/account/AccountAllowanceDeleteTransaction.cjs +1 -2
- package/lib/account/AccountAllowanceDeleteTransaction.js +1 -1
- package/lib/account/AccountAllowanceDeleteTransaction.js.map +1 -1
- package/lib/account/AccountBalance.cjs +1 -2
- package/lib/account/AccountBalanceQuery.cjs +1 -2
- package/lib/account/AccountCreateTransaction.cjs +1 -2
- package/lib/account/AccountDeleteTransaction.cjs +1 -2
- package/lib/account/AccountId.cjs +1 -2
- package/lib/account/AccountId.js +1 -1
- package/lib/account/AccountId.js.map +1 -1
- package/lib/account/AccountInfo.cjs +1 -2
- package/lib/account/AccountInfo.js +1 -1
- package/lib/account/AccountInfo.js.map +1 -1
- package/lib/account/AccountInfoQuery.cjs +1 -2
- package/lib/account/AccountRecordsQuery.cjs +1 -2
- package/lib/account/AccountRecordsQuery.js +1 -1
- package/lib/account/AccountRecordsQuery.js.map +1 -1
- package/lib/account/AccountUpdateTransaction.cjs +1 -2
- package/lib/account/HbarTransferMap.js +1 -1
- package/lib/account/HbarTransferMap.js.map +1 -1
- package/lib/account/LiveHashAddTransaction.cjs +1 -2
- package/lib/account/LiveHashAddTransaction.js +1 -1
- package/lib/account/LiveHashAddTransaction.js.map +1 -1
- package/lib/account/LiveHashDeleteTransaction.cjs +1 -2
- package/lib/account/LiveHashQuery.cjs +1 -2
- package/lib/account/NullableTokenDecimalMap.js +1 -1
- package/lib/account/NullableTokenDecimalMap.js.map +1 -1
- package/lib/account/TokenBalanceMap.js +1 -1
- package/lib/account/TokenBalanceMap.js.map +1 -1
- package/lib/account/TokenDecimalMap.js +1 -1
- package/lib/account/TokenDecimalMap.js.map +1 -1
- package/lib/account/TokenNftAllowance.js +1 -1
- package/lib/account/TokenNftAllowance.js.map +1 -1
- package/lib/account/TokenNftTransferMap.js +1 -1
- package/lib/account/TokenNftTransferMap.js.map +1 -1
- package/lib/account/TokenRelationshipMap.js +1 -1
- package/lib/account/TokenRelationshipMap.js.map +1 -1
- package/lib/account/TokenTransferAccountMap.js +1 -1
- package/lib/account/TokenTransferAccountMap.js.map +1 -1
- package/lib/account/TokenTransferMap.js +1 -1
- package/lib/account/TokenTransferMap.js.map +1 -1
- package/lib/account/TransferTransaction.cjs +1 -2
- package/lib/account/TransferTransaction.js +1 -1
- package/lib/account/TransferTransaction.js.map +1 -1
- package/lib/address_book/AddressBooks.cjs +1 -2
- package/lib/address_book/NodeAddress.cjs +1 -2
- package/lib/address_book/NodeAddress.js +1 -1
- package/lib/address_book/NodeAddress.js.map +1 -1
- package/lib/address_book/NodeAddressBook.cjs +1 -2
- package/lib/address_book/NodeAddressBook.js +1 -1
- package/lib/address_book/NodeAddressBook.js.map +1 -1
- package/lib/browser.cjs +8 -0
- package/lib/browser.d.ts +1 -0
- package/lib/browser.js +1 -1
- package/lib/channel/Channel.cjs +1 -2
- package/lib/channel/NativeChannel.cjs +1 -2
- package/lib/channel/NativeChannel.js +1 -1
- package/lib/channel/NativeChannel.js.map +1 -1
- package/lib/channel/NodeChannel.js +1 -1
- package/lib/channel/NodeChannel.js.map +1 -1
- package/lib/channel/NodeMirrorChannel.cjs +1 -2
- package/lib/channel/NodeMirrorChannel.js +1 -1
- package/lib/channel/NodeMirrorChannel.js.map +1 -1
- package/lib/channel/WebChannel.cjs +1 -2
- package/lib/client/Client.js +1 -1
- package/lib/client/Client.js.map +1 -1
- package/lib/client/ManagedNetwork.cjs +1 -2
- package/lib/client/ManagedNetwork.js +1 -1
- package/lib/client/ManagedNetwork.js.map +1 -1
- package/lib/client/MirrorNetwork.js +1 -1
- package/lib/client/MirrorNetwork.js.map +1 -1
- package/lib/client/NativeClient.js.map +1 -1
- package/lib/client/Network.js +1 -1
- package/lib/client/Network.js.map +1 -1
- package/lib/client/NodeClient.cjs +4 -11
- package/lib/client/NodeClient.d.ts +5 -6
- package/lib/client/NodeClient.js +1 -1
- package/lib/client/NodeClient.js.map +1 -1
- package/lib/client/WebClient.cjs +32 -7
- package/lib/client/WebClient.d.ts +10 -0
- package/lib/client/WebClient.js +1 -1
- package/lib/client/WebClient.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/constants/ClientConstants.cjs +21 -2
- package/lib/constants/ClientConstants.d.ts +17 -0
- package/lib/constants/ClientConstants.js +1 -1
- package/lib/constants/ClientConstants.js.map +1 -1
- package/lib/contract/ContractByteCodeQuery.cjs +1 -2
- package/lib/contract/ContractCallQuery.cjs +1 -2
- package/lib/contract/ContractCreateFlow.cjs +1 -2
- package/lib/contract/ContractCreateFlow.js +1 -1
- package/lib/contract/ContractCreateFlow.js.map +1 -1
- package/lib/contract/ContractCreateTransaction.cjs +1 -2
- package/lib/contract/ContractDeleteTransaction.cjs +1 -2
- package/lib/contract/ContractExecuteTransaction.cjs +1 -2
- package/lib/contract/ContractFunctionParameters.cjs +1 -2
- package/lib/contract/ContractFunctionParameters.js +1 -1
- package/lib/contract/ContractFunctionParameters.js.map +1 -1
- package/lib/contract/ContractFunctionResult.cjs +1 -2
- package/lib/contract/ContractFunctionResult.js +1 -1
- package/lib/contract/ContractFunctionResult.js.map +1 -1
- package/lib/contract/ContractFunctionSelector.cjs +1 -2
- package/lib/contract/ContractId.cjs +1 -2
- package/lib/contract/ContractId.js +1 -1
- package/lib/contract/ContractId.js.map +1 -1
- package/lib/contract/ContractInfo.cjs +1 -2
- package/lib/contract/ContractInfoQuery.cjs +1 -2
- package/lib/contract/ContractNonceInfo.cjs +1 -2
- package/lib/contract/ContractStateChange.cjs +1 -2
- package/lib/contract/ContractUpdateTransaction.cjs +1 -2
- package/lib/contract/DelegateContractId.js +1 -1
- package/lib/contract/DelegateContractId.js.map +1 -1
- package/lib/contract/StorageChange.cjs +1 -2
- package/lib/cryptography/keccak.js +1 -1
- package/lib/cryptography/keccak.js.map +1 -1
- package/lib/cryptography/sha384.native.cjs +1 -2
- package/lib/encoding/base64.native.js +1 -1
- package/lib/encoding/base64.native.js.map +1 -1
- package/lib/encoding/hex.browser.js +1 -1
- package/lib/encoding/hex.browser.js.map +1 -1
- package/lib/encoding/utf8.native.cjs +1 -2
- package/lib/exports.cjs +1 -2
- package/lib/file/FileAppendTransaction.cjs +1 -2
- package/lib/file/FileContentsQuery.cjs +1 -2
- package/lib/file/FileCreateTransaction.cjs +1 -2
- package/lib/file/FileCreateTransaction.js +1 -1
- package/lib/file/FileCreateTransaction.js.map +1 -1
- package/lib/file/FileDeleteTransaction.cjs +1 -2
- package/lib/file/FileId.cjs +1 -2
- package/lib/file/FileInfo.cjs +1 -2
- package/lib/file/FileInfoQuery.cjs +1 -2
- package/lib/file/FileUpdateTransaction.cjs +1 -2
- package/lib/file/FileUpdateTransaction.js +1 -1
- package/lib/file/FileUpdateTransaction.js.map +1 -1
- package/lib/network/AddressBookQuery.cjs +1 -2
- package/lib/network/AddressBookQuery.js +1 -1
- package/lib/network/AddressBookQuery.js.map +1 -1
- package/lib/network/AddressBookQueryWeb.js +1 -1
- package/lib/network/AddressBookQueryWeb.js.map +1 -1
- package/lib/network/NetworkVersionInfo.cjs +1 -2
- package/lib/network/NetworkVersionInfoQuery.cjs +1 -2
- package/lib/network/SemanticVersion.cjs +1 -2
- package/lib/node/NodeCreateTransaction.cjs +1 -2
- package/lib/node/NodeCreateTransaction.js +1 -1
- package/lib/node/NodeCreateTransaction.js.map +1 -1
- package/lib/node/NodeDeleteTransaction.cjs +15 -3
- package/lib/node/NodeDeleteTransaction.d.ts +2 -1
- package/lib/node/NodeDeleteTransaction.js +1 -1
- package/lib/node/NodeDeleteTransaction.js.map +1 -1
- package/lib/node/NodeUpdateTransaction.cjs +13 -3
- package/lib/node/NodeUpdateTransaction.d.ts +2 -1
- package/lib/node/NodeUpdateTransaction.js +1 -1
- package/lib/node/NodeUpdateTransaction.js.map +1 -1
- package/lib/query/CostQuery.cjs +1 -2
- package/lib/query/MirrorNodeContractCallQuery.cjs +1 -2
- package/lib/query/MirrorNodeContractEstimateQuery.cjs +1 -2
- package/lib/query/MirrorNodeContractQuery.cjs +2 -1
- package/lib/query/MirrorNodeContractQuery.js +1 -1
- package/lib/query/MirrorNodeContractQuery.js.map +1 -1
- package/lib/query/Query.cjs +1 -2
- package/lib/query/Query.js +1 -1
- package/lib/query/Query.js.map +1 -1
- package/lib/query/QueryBase.cjs +1 -2
- package/lib/schedule/ScheduleCreateTransaction.cjs +1 -2
- package/lib/schedule/ScheduleCreateTransaction.js +1 -1
- package/lib/schedule/ScheduleCreateTransaction.js.map +1 -1
- package/lib/schedule/ScheduleDeleteTransaction.cjs +1 -2
- package/lib/schedule/ScheduleId.cjs +1 -2
- package/lib/schedule/ScheduleInfo.cjs +1 -2
- package/lib/schedule/ScheduleInfoQuery.cjs +1 -2
- package/lib/schedule/ScheduleSignTransaction.cjs +1 -2
- package/lib/system/FreezeTransaction.cjs +1 -2
- package/lib/system/SystemDeleteTransaction.cjs +1 -2
- package/lib/system/SystemUndeleteTransaction.cjs +1 -2
- package/lib/token/AbstractTokenTransferTransaction.js +1 -1
- package/lib/token/AbstractTokenTransferTransaction.js.map +1 -1
- package/lib/token/AssessedCustomFee.js +1 -1
- package/lib/token/AssessedCustomFee.js.map +1 -1
- package/lib/token/NftId.cjs +1 -2
- package/lib/token/TokenAirdropTransaction.cjs +1 -2
- package/lib/token/TokenAssociateTransaction.cjs +1 -2
- package/lib/token/TokenAssociateTransaction.js +1 -1
- package/lib/token/TokenAssociateTransaction.js.map +1 -1
- package/lib/token/TokenBurnTransaction.cjs +1 -2
- package/lib/token/TokenBurnTransaction.js +1 -1
- package/lib/token/TokenBurnTransaction.js.map +1 -1
- package/lib/token/TokenCancelAirdropTransaction.cjs +1 -2
- package/lib/token/TokenCancelAirdropTransaction.js +1 -1
- package/lib/token/TokenCancelAirdropTransaction.js.map +1 -1
- package/lib/token/TokenClaimAirdropTransaction.cjs +1 -2
- package/lib/token/TokenClaimAirdropTransaction.js +1 -1
- package/lib/token/TokenClaimAirdropTransaction.js.map +1 -1
- package/lib/token/TokenCreateTransaction.cjs +1 -2
- package/lib/token/TokenCreateTransaction.js +1 -1
- package/lib/token/TokenCreateTransaction.js.map +1 -1
- package/lib/token/TokenDeleteTransaction.cjs +1 -2
- package/lib/token/TokenDissociateTransaction.cjs +1 -2
- package/lib/token/TokenDissociateTransaction.js +1 -1
- package/lib/token/TokenDissociateTransaction.js.map +1 -1
- package/lib/token/TokenFeeScheduleUpdateTransaction.cjs +1 -2
- package/lib/token/TokenFeeScheduleUpdateTransaction.js +1 -1
- package/lib/token/TokenFeeScheduleUpdateTransaction.js.map +1 -1
- package/lib/token/TokenFreezeTransaction.cjs +1 -2
- package/lib/token/TokenGrantKycTransaction.cjs +1 -2
- package/lib/token/TokenId.cjs +1 -2
- package/lib/token/TokenInfo.cjs +1 -2
- package/lib/token/TokenInfo.js +1 -1
- package/lib/token/TokenInfo.js.map +1 -1
- package/lib/token/TokenInfoQuery.cjs +1 -2
- package/lib/token/TokenMintTransaction.cjs +1 -2
- package/lib/token/TokenMintTransaction.js +1 -1
- package/lib/token/TokenMintTransaction.js.map +1 -1
- package/lib/token/TokenNftInfo.cjs +1 -2
- package/lib/token/TokenNftInfoQuery.cjs +1 -2
- package/lib/token/TokenNftInfoQuery.js +1 -1
- package/lib/token/TokenNftInfoQuery.js.map +1 -1
- package/lib/token/TokenNftsUpdateTransaction.cjs +1 -2
- package/lib/token/TokenPauseTransaction.cjs +1 -2
- package/lib/token/TokenRejectFlow.js +1 -1
- package/lib/token/TokenRejectFlow.js.map +1 -1
- package/lib/token/TokenRejectTransaction.cjs +1 -2
- package/lib/token/TokenRejectTransaction.js +1 -1
- package/lib/token/TokenRejectTransaction.js.map +1 -1
- package/lib/token/TokenRevokeKycTransaction.cjs +1 -2
- package/lib/token/TokenUnfreezeTransaction.cjs +1 -2
- package/lib/token/TokenUnpauseTransaction.cjs +1 -2
- package/lib/token/TokenUpdateNftsTransaction.cjs +1 -2
- package/lib/token/TokenUpdateTransaction.cjs +1 -2
- package/lib/token/TokenWipeTransaction.cjs +1 -2
- package/lib/token/TokenWipeTransaction.js +1 -1
- package/lib/token/TokenWipeTransaction.js.map +1 -1
- package/lib/topic/TopicCreateTransaction.cjs +1 -2
- package/lib/topic/TopicCreateTransaction.js +1 -1
- package/lib/topic/TopicCreateTransaction.js.map +1 -1
- package/lib/topic/TopicDeleteTransaction.cjs +1 -2
- package/lib/topic/TopicId.cjs +1 -2
- package/lib/topic/TopicInfo.cjs +1 -2
- package/lib/topic/TopicInfo.js +1 -1
- package/lib/topic/TopicInfo.js.map +1 -1
- package/lib/topic/TopicInfoQuery.cjs +1 -2
- package/lib/topic/TopicMessage.js +1 -1
- package/lib/topic/TopicMessage.js.map +1 -1
- package/lib/topic/TopicMessageQuery.cjs +1 -2
- package/lib/topic/TopicMessageQuery.js +1 -1
- package/lib/topic/TopicMessageQuery.js.map +1 -1
- package/lib/topic/TopicMessageSubmitTransaction.cjs +1 -2
- package/lib/topic/TopicUpdateTransaction.cjs +1 -2
- package/lib/topic/TopicUpdateTransaction.js +1 -1
- package/lib/topic/TopicUpdateTransaction.js.map +1 -1
- package/lib/transaction/BatchTransaction.cjs +1 -2
- package/lib/transaction/BatchTransaction.js +1 -1
- package/lib/transaction/BatchTransaction.js.map +1 -1
- package/lib/transaction/CustomFeeLimit.js +1 -1
- package/lib/transaction/CustomFeeLimit.js.map +1 -1
- package/lib/transaction/NodeAccountIdSignatureMap.cjs +1 -2
- package/lib/transaction/NodeAccountIdSignatureMap.js +1 -1
- package/lib/transaction/NodeAccountIdSignatureMap.js.map +1 -1
- package/lib/transaction/NodeAccountIdSignatureMapLegacy.js +1 -1
- package/lib/transaction/NodeAccountIdSignatureMapLegacy.js.map +1 -1
- package/lib/transaction/SignatureMap.js +1 -1
- package/lib/transaction/SignatureMap.js.map +1 -1
- package/lib/transaction/SignatureMapLegacy.js +1 -1
- package/lib/transaction/SignatureMapLegacy.js.map +1 -1
- package/lib/transaction/SignaturePairMap.js +1 -1
- package/lib/transaction/SignaturePairMap.js.map +1 -1
- package/lib/transaction/Transaction.cjs +1 -2
- package/lib/transaction/Transaction.js +1 -1
- package/lib/transaction/Transaction.js.map +1 -1
- package/lib/transaction/TransactionHashMap.cjs +1 -2
- package/lib/transaction/TransactionHashMap.js +1 -1
- package/lib/transaction/TransactionHashMap.js.map +1 -1
- package/lib/transaction/TransactionId.cjs +1 -2
- package/lib/transaction/TransactionReceipt.cjs +1 -2
- package/lib/transaction/TransactionReceipt.js +1 -1
- package/lib/transaction/TransactionReceipt.js.map +1 -1
- package/lib/transaction/TransactionReceiptQuery.cjs +1 -2
- package/lib/transaction/TransactionRecord.cjs +1 -2
- package/lib/transaction/TransactionRecord.js +1 -1
- package/lib/transaction/TransactionRecord.js.map +1 -1
- package/lib/transaction/TransactionRecordQuery.cjs +1 -2
- package/lib/transaction/TransactionResponse.cjs +1 -2
- package/lib/transaction/TransactionResponse.js.map +1 -1
- package/lib/util/ASN1-Decoder.js +1 -1
- package/lib/util/ASN1-Decoder.js.map +1 -1
- package/lib/util.js +1 -1
- package/lib/util.js.map +1 -1
- package/lib/version.js +1 -1
- package/package.json +75 -71
- package/src/Executable.js +10 -4
- package/src/LocalProviderWeb.js +165 -0
- package/src/Timestamp.js +2 -2
- package/src/account/AccountAllowanceAdjustTransaction.js +48 -48
- package/src/account/AccountAllowanceApproveTransaction.js +48 -48
- package/src/account/TokenNftAllowance.js +4 -4
- package/src/browser.js +1 -0
- package/src/client/NodeClient.js +6 -9
- package/src/client/WebClient.js +33 -8
- 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/constants/ClientConstants.js +25 -0
- package/src/network/AddressBookQueryWeb.js +8 -2
- package/src/node/NodeDeleteTransaction.js +20 -1
- package/src/node/NodeUpdateTransaction.js +19 -1
- package/src/query/MirrorNodeContractQuery.js +8 -1
- package/src/token/TokenInfo.js +4 -4
- package/src/topic/TopicMessageQuery.js +7 -5
- package/src/transaction/TransactionRecord.js +5 -5
- package/src/transaction/TransactionResponse.js +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractCreateFlow.js","sources":["../../src/contract/ContractCreateFlow.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport FileCreateTransaction from \"../file/FileCreateTransaction.js\";\nimport FileAppendTransaction from \"../file/FileAppendTransaction.js\";\nimport FileDeleteTransaction from \"../file/FileDeleteTransaction.js\";\nimport ContractCreateTransaction from \"./ContractCreateTransaction.js\";\nimport * as utf8 from \"../encoding/utf8.js\";\nimport * as hex from \"../encoding/hex.js\";\nimport PublicKey from \"../PublicKey.js\";\n\n/**\n * @typedef {import(\"../account/AccountId.js\").default} AccountId\n * @typedef {import(\"../file/FileId.js\").default} FileId\n * @typedef {import(\"../Key.js\").default} Key\n * @typedef {import(\"./ContractFunctionParameters.js\").default} ContractFunctionParameters\n * @typedef {import(\"../Hbar.js\").default} Hbar\n * @typedef {import(\"../Duration.js\").default} Duration\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../channel/MirrorChannel.js\").default} MirrorChannel\n * @typedef {import(\"../transaction/TransactionId.js\").default} TransactionId\n * @typedef {import(\"../transaction/TransactionResponse.js\").default} TransactionResponse\n * @typedef {import(\"../transaction/TransactionReceipt.js\").default} TransactionReceipt\n * @typedef {import(\"../client/Client.js\").ClientOperator} ClientOperator\n * @typedef {import(\"../Signer.js\").Signer} Signer\n * @typedef {import(\"../PrivateKey.js\").default} PrivateKey\n * @typedef {import(\"../transaction/Transaction.js\").default} Transaction\n */\n\n/**\n * @typedef {import(\"bignumber.js\").BigNumber} BigNumber\n * @typedef {import(\"long\")} Long\n */\n\n/**\n * A convenience flow that handles the creation of a smart contract on the Hedera network.\n * This flow abstracts away the complexity of the contract creation process by:\n *\n * 1. Creating a file to store the contract bytecode\n * 2. Uploading the contract bytecode in chunks if necessary\n * 3. Creating the contract instance using the uploaded bytecode\n * 4. Cleaning up by deleting the bytecode file (if operator key is available)\n *\n * This flow is particularly useful when deploying large contracts that exceed the 2048 byte\n * limit of a single transaction.\n */\nexport default class ContractCreateFlow {\n constructor() {\n /** @type {Uint8Array | null} */\n this._bytecode = null;\n this._contractCreate = new ContractCreateTransaction();\n\n /**\n * Read `Transaction._signerPublicKeys`\n *\n * @internal\n * @type {Set<string>}\n */\n this._signerPublicKeys = new Set();\n\n /**\n * Read `Transaction._publicKeys`\n *\n * @private\n * @type {PublicKey[]}\n */\n this._publicKeys = [];\n\n /**\n * Read `Transaction._transactionSigners`\n *\n * @private\n * @type {((message: Uint8Array) => Promise<Uint8Array>)[]}\n */\n this._transactionSigners = [];\n\n this._maxChunks = null;\n }\n\n /**\n * @returns {number | null}\n */\n get maxChunks() {\n return this._maxChunks;\n }\n\n /**\n * @param {number} maxChunks\n * @returns {this}\n */\n setMaxChunks(maxChunks) {\n this._maxChunks = maxChunks;\n return this;\n }\n\n /**\n * @returns {?Uint8Array}\n */\n get bytecode() {\n return this._bytecode;\n }\n\n /**\n * @param {string | Uint8Array} bytecode\n * @returns {this}\n */\n setBytecode(bytecode) {\n this._bytecode =\n bytecode instanceof Uint8Array ? bytecode : utf8.encode(bytecode);\n\n return this;\n }\n\n /**\n * @returns {?Key}\n */\n get adminKey() {\n return this._contractCreate.adminKey;\n }\n\n /**\n * @param {Key} adminKey\n * @returns {this}\n */\n setAdminKey(adminKey) {\n this._contractCreate.setAdminKey(adminKey);\n return this;\n }\n\n /**\n * @returns {?Long}\n */\n get gas() {\n return this._contractCreate.gas;\n }\n\n /**\n * @param {number | Long} gas\n * @returns {this}\n */\n setGas(gas) {\n this._contractCreate.setGas(gas);\n return this;\n }\n\n /**\n * @returns {?Hbar}\n */\n get initialBalance() {\n return this._contractCreate.initialBalance;\n }\n\n /**\n * Set the initial amount to transfer into this contract.\n *\n * @param {number | string | Long | BigNumber | Hbar} initialBalance\n * @returns {this}\n */\n setInitialBalance(initialBalance) {\n this._contractCreate.setInitialBalance(initialBalance);\n return this;\n }\n\n /**\n * @deprecated\n * @returns {?AccountId}\n */\n get proxyAccountId() {\n // eslint-disable-next-line deprecation/deprecation\n return this._contractCreate.proxyAccountId;\n }\n\n /**\n * @deprecated\n * @param {AccountId | string} proxyAccountId\n * @returns {this}\n */\n setProxyAccountId(proxyAccountId) {\n // eslint-disable-next-line deprecation/deprecation\n this._contractCreate.setProxyAccountId(proxyAccountId);\n return this;\n }\n\n /**\n * @returns {Duration}\n */\n get autoRenewPeriod() {\n return this._contractCreate.autoRenewPeriod;\n }\n\n /**\n * @param {Duration | Long | number} autoRenewPeriod\n * @returns {this}\n */\n setAutoRenewPeriod(autoRenewPeriod) {\n this._contractCreate.setAutoRenewPeriod(autoRenewPeriod);\n return this;\n }\n\n /**\n * @returns {?Uint8Array}\n */\n get constructorParameters() {\n return this._contractCreate.constructorParameters;\n }\n\n /**\n * @param {Uint8Array | ContractFunctionParameters} constructorParameters\n * @returns {this}\n */\n setConstructorParameters(constructorParameters) {\n this._contractCreate.setConstructorParameters(constructorParameters);\n return this;\n }\n\n /**\n * @returns {?string}\n */\n get contractMemo() {\n return this._contractCreate.contractMemo;\n }\n\n /**\n * @param {string} contractMemo\n * @returns {this}\n */\n setContractMemo(contractMemo) {\n this._contractCreate.setContractMemo(contractMemo);\n return this;\n }\n\n /**\n * @returns {?number}\n */\n get maxAutomaticTokenAssociation() {\n return this._contractCreate.maxAutomaticTokenAssociations;\n }\n\n /**\n * @param {number} maxAutomaticTokenAssociation\n * @returns {this}\n */\n setMaxAutomaticTokenAssociations(maxAutomaticTokenAssociation) {\n this._contractCreate.setMaxAutomaticTokenAssociations(\n maxAutomaticTokenAssociation,\n );\n\n return this;\n }\n\n /**\n * @returns {?AccountId}\n */\n get stakedAccountId() {\n return this._contractCreate.stakedAccountId;\n }\n\n /**\n * @param {AccountId | string} stakedAccountId\n * @returns {this}\n */\n setStakedAccountId(stakedAccountId) {\n this._contractCreate.setStakedAccountId(stakedAccountId);\n return this;\n }\n\n /**\n * @returns {?Long}\n */\n get stakedNodeId() {\n return this._contractCreate.stakedNodeId;\n }\n\n /**\n * @param {Long | number} stakedNodeId\n * @returns {this}\n */\n setStakedNodeId(stakedNodeId) {\n this._contractCreate.setStakedNodeId(stakedNodeId);\n return this;\n }\n\n /**\n * @returns {boolean}\n */\n get declineStakingRewards() {\n return this._contractCreate.declineStakingRewards;\n }\n\n /**\n * @param {boolean} declineStakingReward\n * @returns {this}\n */\n setDeclineStakingReward(declineStakingReward) {\n this._contractCreate.setDeclineStakingReward(declineStakingReward);\n return this;\n }\n\n /**\n * @returns {?AccountId}\n */\n get autoRenewAccountId() {\n return this._contractCreate.autoRenewAccountId;\n }\n\n /**\n * @param {string | AccountId} autoRenewAccountId\n * @returns {this}\n */\n setAutoRenewAccountId(autoRenewAccountId) {\n this._contractCreate.setAutoRenewAccountId(autoRenewAccountId);\n return this;\n }\n\n /**\n * Sign the transaction with the private key\n * **NOTE**: This is a thin wrapper around `.signWith()`\n *\n * @param {PrivateKey} privateKey\n * @returns {this}\n */\n sign(privateKey) {\n return this.signWith(privateKey.publicKey, (message) =>\n Promise.resolve(privateKey.sign(message)),\n );\n }\n\n /**\n * Sign the transaction with the public key and signer function\n *\n * If sign on demand is enabled no signing will be done immediately, instead\n * the private key signing function and public key are saved to be used when\n * a user calls an exit condition method (not sure what a better name for this is)\n * such as `toBytes[Async]()`, `getTransactionHash[PerNode]()` or `execute()`.\n *\n * @param {PublicKey} publicKey\n * @param {(message: Uint8Array) => Promise<Uint8Array>} transactionSigner\n * @returns {this}\n */\n signWith(publicKey, transactionSigner) {\n const publicKeyData = publicKey.toBytesRaw();\n const publicKeyHex = hex.encode(publicKeyData);\n\n if (this._signerPublicKeys.has(publicKeyHex)) {\n // this public key has already signed this transaction\n return this;\n }\n\n this._publicKeys.push(publicKey);\n this._transactionSigners.push(transactionSigner);\n\n return this;\n }\n\n /**\n * @template {Channel} ChannelT\n * @template {MirrorChannel} MirrorChannelT\n * @param {import(\"../client/Client.js\").default<ChannelT, MirrorChannelT>} client\n * @param {number=} requestTimeout\n * @returns {Promise<TransactionResponse>}\n */\n async execute(client, requestTimeout) {\n if (this._bytecode == null) {\n throw new Error(\"cannot create contract with no bytecode\");\n }\n\n const key = client.operatorPublicKey;\n\n const fileCreateTransaction = new FileCreateTransaction()\n .setKeys(key != null ? [key] : [])\n .setContents(\n this._bytecode.subarray(\n 0,\n Math.min(this._bytecode.length, 2048),\n ),\n )\n .freezeWith(client);\n await addSignersToTransaction(\n fileCreateTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n\n let response = await fileCreateTransaction.execute(\n client,\n requestTimeout,\n );\n const receipt = await response.getReceipt(client);\n\n const fileId = /** @type {FileId} */ (receipt.fileId);\n\n if (this._bytecode.length > 2048) {\n const fileAppendTransaction = new FileAppendTransaction()\n .setFileId(fileId)\n .setContents(this._bytecode.subarray(2048))\n .freezeWith(client);\n await addSignersToTransaction(\n fileAppendTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n await fileAppendTransaction.execute(client, requestTimeout);\n }\n\n this._contractCreate.setBytecodeFileId(fileId).freezeWith(client);\n\n await addSignersToTransaction(\n this._contractCreate,\n this._publicKeys,\n this._transactionSigners,\n );\n\n response = await this._contractCreate.execute(client, requestTimeout);\n await response.getReceipt(client);\n\n if (key != null) {\n const fileDeleteTransaction = new FileDeleteTransaction()\n .setFileId(fileId)\n .freezeWith(client);\n await addSignersToTransaction(\n fileDeleteTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n await (\n await fileDeleteTransaction.execute(client, requestTimeout)\n ).getReceipt(client);\n }\n\n return response;\n }\n\n /**\n * @param {Signer} signer\n * @returns {Promise<TransactionResponse>}\n */\n async executeWithSigner(signer) {\n if (this._bytecode == null) {\n throw new Error(\"cannot create contract with no bytecode\");\n }\n\n if (signer.getAccountKey == null) {\n throw new Error(\n \"`Signer.getAccountKey()` is not implemented, but is required for `ContractCreateFlow`\",\n );\n }\n // eslint-disable-next-line @typescript-eslint/await-thenable\n const key = await signer.getAccountKey();\n let formattedPublicKey;\n\n if (key instanceof PublicKey) {\n formattedPublicKey = key;\n } else {\n const propertyValues = Object.values(\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n key._key._key._keyData,\n );\n const keyArray = new Uint8Array(propertyValues);\n\n formattedPublicKey = PublicKey.fromBytes(keyArray);\n }\n\n const fileCreateTransaction = await new FileCreateTransaction()\n .setKeys(formattedPublicKey != null ? [formattedPublicKey] : [])\n .setContents(\n this._bytecode.subarray(\n 0,\n Math.min(this._bytecode.length, 2048),\n ),\n )\n .freezeWithSigner(signer);\n await fileCreateTransaction.signWithSigner(signer);\n await addSignersToTransaction(\n fileCreateTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n\n let response = await fileCreateTransaction.executeWithSigner(signer);\n const receipt = await response.getReceiptWithSigner(signer);\n\n const fileId = /** @type {FileId} */ (receipt.fileId);\n\n if (this._bytecode.length > 2048) {\n let fileAppendTransaction = new FileAppendTransaction()\n .setFileId(fileId)\n .setContents(this._bytecode.subarray(2048));\n if (this._maxChunks != null) {\n fileAppendTransaction.setMaxChunks(this._maxChunks);\n }\n fileAppendTransaction =\n await fileAppendTransaction.freezeWithSigner(signer);\n await fileAppendTransaction.signWithSigner(signer);\n await addSignersToTransaction(\n fileAppendTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n await fileAppendTransaction.executeWithSigner(signer);\n }\n\n this._contractCreate = await this._contractCreate\n .setBytecodeFileId(fileId)\n .freezeWithSigner(signer);\n this._contractCreate =\n await this._contractCreate.signWithSigner(signer);\n await addSignersToTransaction(\n this._contractCreate,\n this._publicKeys,\n this._transactionSigners,\n );\n\n response = await this._contractCreate.executeWithSigner(signer);\n\n await response.getReceiptWithSigner(signer);\n\n if (key != null) {\n const fileDeleteTransaction = await new FileDeleteTransaction()\n .setFileId(fileId)\n .freezeWithSigner(signer);\n await fileDeleteTransaction.signWithSigner(signer);\n await addSignersToTransaction(\n fileDeleteTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n await (\n await fileDeleteTransaction.executeWithSigner(signer)\n ).getReceiptWithSigner(signer);\n }\n\n return response;\n }\n}\n\n/**\n * @template {Transaction} T\n * @param {T} transaction\n * @param {PublicKey[]} publicKeys\n * @param {((message: Uint8Array) => Promise<Uint8Array>)[]} transactionSigners\n * @returns {Promise<void>}\n */\nasync function addSignersToTransaction(\n transaction,\n publicKeys,\n transactionSigners,\n) {\n for (let i = 0; i < publicKeys.length; i++) {\n await transaction.signWith(publicKeys[i], transactionSigners[i]);\n }\n}\n"],"names":["ContractCreateFlow","constructor","this","_bytecode","_contractCreate","ContractCreateTransaction","_signerPublicKeys","Set","_publicKeys","_transactionSigners","_maxChunks","maxChunks","setMaxChunks","bytecode","setBytecode","Uint8Array","utf8.encode","adminKey","setAdminKey","gas","setGas","initialBalance","setInitialBalance","proxyAccountId","setProxyAccountId","autoRenewPeriod","setAutoRenewPeriod","constructorParameters","setConstructorParameters","contractMemo","setContractMemo","maxAutomaticTokenAssociation","maxAutomaticTokenAssociations","setMaxAutomaticTokenAssociations","stakedAccountId","setStakedAccountId","stakedNodeId","setStakedNodeId","declineStakingRewards","setDeclineStakingReward","declineStakingReward","autoRenewAccountId","setAutoRenewAccountId","sign","privateKey","signWith","publicKey","message","Promise","resolve","transactionSigner","publicKeyData","toBytesRaw","publicKeyHex","hex.encode","has","push","execute","client","requestTimeout","Error","key","operatorPublicKey","fileCreateTransaction","FileCreateTransaction","setKeys","setContents","subarray","Math","min","length","freezeWith","addSignersToTransaction","response","fileId","getReceipt","fileAppendTransaction","FileAppendTransaction","setFileId","setBytecodeFileId","fileDeleteTransaction","FileDeleteTransaction","executeWithSigner","signer","getAccountKey","formattedPublicKey","PublicKey","propertyValues","Object","values","_key","_keyData","keyArray","fromBytes","freezeWithSigner","signWithSigner","getReceiptWithSigner","async","transaction","publicKeys","transactionSigners","i"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContractCreateFlow.js","sources":["../../src/contract/ContractCreateFlow.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport FileCreateTransaction from \"../file/FileCreateTransaction.js\";\nimport FileAppendTransaction from \"../file/FileAppendTransaction.js\";\nimport FileDeleteTransaction from \"../file/FileDeleteTransaction.js\";\nimport ContractCreateTransaction from \"./ContractCreateTransaction.js\";\nimport * as utf8 from \"../encoding/utf8.js\";\nimport * as hex from \"../encoding/hex.js\";\nimport PublicKey from \"../PublicKey.js\";\n\n/**\n * @typedef {import(\"../account/AccountId.js\").default} AccountId\n * @typedef {import(\"../file/FileId.js\").default} FileId\n * @typedef {import(\"../Key.js\").default} Key\n * @typedef {import(\"./ContractFunctionParameters.js\").default} ContractFunctionParameters\n * @typedef {import(\"../Hbar.js\").default} Hbar\n * @typedef {import(\"../Duration.js\").default} Duration\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../channel/MirrorChannel.js\").default} MirrorChannel\n * @typedef {import(\"../transaction/TransactionId.js\").default} TransactionId\n * @typedef {import(\"../transaction/TransactionResponse.js\").default} TransactionResponse\n * @typedef {import(\"../transaction/TransactionReceipt.js\").default} TransactionReceipt\n * @typedef {import(\"../client/Client.js\").ClientOperator} ClientOperator\n * @typedef {import(\"../Signer.js\").Signer} Signer\n * @typedef {import(\"../PrivateKey.js\").default} PrivateKey\n * @typedef {import(\"../transaction/Transaction.js\").default} Transaction\n */\n\n/**\n * @typedef {import(\"bignumber.js\").BigNumber} BigNumber\n * @typedef {import(\"long\")} Long\n */\n\n/**\n * A convenience flow that handles the creation of a smart contract on the Hedera network.\n * This flow abstracts away the complexity of the contract creation process by:\n *\n * 1. Creating a file to store the contract bytecode\n * 2. Uploading the contract bytecode in chunks if necessary\n * 3. Creating the contract instance using the uploaded bytecode\n * 4. Cleaning up by deleting the bytecode file (if operator key is available)\n *\n * This flow is particularly useful when deploying large contracts that exceed the 2048 byte\n * limit of a single transaction.\n */\nexport default class ContractCreateFlow {\n constructor() {\n /** @type {Uint8Array | null} */\n this._bytecode = null;\n this._contractCreate = new ContractCreateTransaction();\n\n /**\n * Read `Transaction._signerPublicKeys`\n *\n * @internal\n * @type {Set<string>}\n */\n this._signerPublicKeys = new Set();\n\n /**\n * Read `Transaction._publicKeys`\n *\n * @private\n * @type {PublicKey[]}\n */\n this._publicKeys = [];\n\n /**\n * Read `Transaction._transactionSigners`\n *\n * @private\n * @type {((message: Uint8Array) => Promise<Uint8Array>)[]}\n */\n this._transactionSigners = [];\n\n this._maxChunks = null;\n }\n\n /**\n * @returns {number | null}\n */\n get maxChunks() {\n return this._maxChunks;\n }\n\n /**\n * @param {number} maxChunks\n * @returns {this}\n */\n setMaxChunks(maxChunks) {\n this._maxChunks = maxChunks;\n return this;\n }\n\n /**\n * @returns {?Uint8Array}\n */\n get bytecode() {\n return this._bytecode;\n }\n\n /**\n * @param {string | Uint8Array} bytecode\n * @returns {this}\n */\n setBytecode(bytecode) {\n this._bytecode =\n bytecode instanceof Uint8Array ? bytecode : utf8.encode(bytecode);\n\n return this;\n }\n\n /**\n * @returns {?Key}\n */\n get adminKey() {\n return this._contractCreate.adminKey;\n }\n\n /**\n * @param {Key} adminKey\n * @returns {this}\n */\n setAdminKey(adminKey) {\n this._contractCreate.setAdminKey(adminKey);\n return this;\n }\n\n /**\n * @returns {?Long}\n */\n get gas() {\n return this._contractCreate.gas;\n }\n\n /**\n * @param {number | Long} gas\n * @returns {this}\n */\n setGas(gas) {\n this._contractCreate.setGas(gas);\n return this;\n }\n\n /**\n * @returns {?Hbar}\n */\n get initialBalance() {\n return this._contractCreate.initialBalance;\n }\n\n /**\n * Set the initial amount to transfer into this contract.\n *\n * @param {number | string | Long | BigNumber | Hbar} initialBalance\n * @returns {this}\n */\n setInitialBalance(initialBalance) {\n this._contractCreate.setInitialBalance(initialBalance);\n return this;\n }\n\n /**\n * @deprecated\n * @returns {?AccountId}\n */\n get proxyAccountId() {\n // eslint-disable-next-line deprecation/deprecation\n return this._contractCreate.proxyAccountId;\n }\n\n /**\n * @deprecated\n * @param {AccountId | string} proxyAccountId\n * @returns {this}\n */\n setProxyAccountId(proxyAccountId) {\n // eslint-disable-next-line deprecation/deprecation\n this._contractCreate.setProxyAccountId(proxyAccountId);\n return this;\n }\n\n /**\n * @returns {Duration}\n */\n get autoRenewPeriod() {\n return this._contractCreate.autoRenewPeriod;\n }\n\n /**\n * @param {Duration | Long | number} autoRenewPeriod\n * @returns {this}\n */\n setAutoRenewPeriod(autoRenewPeriod) {\n this._contractCreate.setAutoRenewPeriod(autoRenewPeriod);\n return this;\n }\n\n /**\n * @returns {?Uint8Array}\n */\n get constructorParameters() {\n return this._contractCreate.constructorParameters;\n }\n\n /**\n * @param {Uint8Array | ContractFunctionParameters} constructorParameters\n * @returns {this}\n */\n setConstructorParameters(constructorParameters) {\n this._contractCreate.setConstructorParameters(constructorParameters);\n return this;\n }\n\n /**\n * @returns {?string}\n */\n get contractMemo() {\n return this._contractCreate.contractMemo;\n }\n\n /**\n * @param {string} contractMemo\n * @returns {this}\n */\n setContractMemo(contractMemo) {\n this._contractCreate.setContractMemo(contractMemo);\n return this;\n }\n\n /**\n * @returns {?number}\n */\n get maxAutomaticTokenAssociation() {\n return this._contractCreate.maxAutomaticTokenAssociations;\n }\n\n /**\n * @param {number} maxAutomaticTokenAssociation\n * @returns {this}\n */\n setMaxAutomaticTokenAssociations(maxAutomaticTokenAssociation) {\n this._contractCreate.setMaxAutomaticTokenAssociations(\n maxAutomaticTokenAssociation,\n );\n\n return this;\n }\n\n /**\n * @returns {?AccountId}\n */\n get stakedAccountId() {\n return this._contractCreate.stakedAccountId;\n }\n\n /**\n * @param {AccountId | string} stakedAccountId\n * @returns {this}\n */\n setStakedAccountId(stakedAccountId) {\n this._contractCreate.setStakedAccountId(stakedAccountId);\n return this;\n }\n\n /**\n * @returns {?Long}\n */\n get stakedNodeId() {\n return this._contractCreate.stakedNodeId;\n }\n\n /**\n * @param {Long | number} stakedNodeId\n * @returns {this}\n */\n setStakedNodeId(stakedNodeId) {\n this._contractCreate.setStakedNodeId(stakedNodeId);\n return this;\n }\n\n /**\n * @returns {boolean}\n */\n get declineStakingRewards() {\n return this._contractCreate.declineStakingRewards;\n }\n\n /**\n * @param {boolean} declineStakingReward\n * @returns {this}\n */\n setDeclineStakingReward(declineStakingReward) {\n this._contractCreate.setDeclineStakingReward(declineStakingReward);\n return this;\n }\n\n /**\n * @returns {?AccountId}\n */\n get autoRenewAccountId() {\n return this._contractCreate.autoRenewAccountId;\n }\n\n /**\n * @param {string | AccountId} autoRenewAccountId\n * @returns {this}\n */\n setAutoRenewAccountId(autoRenewAccountId) {\n this._contractCreate.setAutoRenewAccountId(autoRenewAccountId);\n return this;\n }\n\n /**\n * Sign the transaction with the private key\n * **NOTE**: This is a thin wrapper around `.signWith()`\n *\n * @param {PrivateKey} privateKey\n * @returns {this}\n */\n sign(privateKey) {\n return this.signWith(privateKey.publicKey, (message) =>\n Promise.resolve(privateKey.sign(message)),\n );\n }\n\n /**\n * Sign the transaction with the public key and signer function\n *\n * If sign on demand is enabled no signing will be done immediately, instead\n * the private key signing function and public key are saved to be used when\n * a user calls an exit condition method (not sure what a better name for this is)\n * such as `toBytes[Async]()`, `getTransactionHash[PerNode]()` or `execute()`.\n *\n * @param {PublicKey} publicKey\n * @param {(message: Uint8Array) => Promise<Uint8Array>} transactionSigner\n * @returns {this}\n */\n signWith(publicKey, transactionSigner) {\n const publicKeyData = publicKey.toBytesRaw();\n const publicKeyHex = hex.encode(publicKeyData);\n\n if (this._signerPublicKeys.has(publicKeyHex)) {\n // this public key has already signed this transaction\n return this;\n }\n\n this._publicKeys.push(publicKey);\n this._transactionSigners.push(transactionSigner);\n\n return this;\n }\n\n /**\n * @template {Channel} ChannelT\n * @template {MirrorChannel} MirrorChannelT\n * @param {import(\"../client/Client.js\").default<ChannelT, MirrorChannelT>} client\n * @param {number=} requestTimeout\n * @returns {Promise<TransactionResponse>}\n */\n async execute(client, requestTimeout) {\n if (this._bytecode == null) {\n throw new Error(\"cannot create contract with no bytecode\");\n }\n\n const key = client.operatorPublicKey;\n\n const fileCreateTransaction = new FileCreateTransaction()\n .setKeys(key != null ? [key] : [])\n .setContents(\n this._bytecode.subarray(\n 0,\n Math.min(this._bytecode.length, 2048),\n ),\n )\n .freezeWith(client);\n await addSignersToTransaction(\n fileCreateTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n\n let response = await fileCreateTransaction.execute(\n client,\n requestTimeout,\n );\n const receipt = await response.getReceipt(client);\n\n const fileId = /** @type {FileId} */ (receipt.fileId);\n\n if (this._bytecode.length > 2048) {\n const fileAppendTransaction = new FileAppendTransaction()\n .setFileId(fileId)\n .setContents(this._bytecode.subarray(2048))\n .freezeWith(client);\n await addSignersToTransaction(\n fileAppendTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n await fileAppendTransaction.execute(client, requestTimeout);\n }\n\n this._contractCreate.setBytecodeFileId(fileId).freezeWith(client);\n\n await addSignersToTransaction(\n this._contractCreate,\n this._publicKeys,\n this._transactionSigners,\n );\n\n response = await this._contractCreate.execute(client, requestTimeout);\n await response.getReceipt(client);\n\n if (key != null) {\n const fileDeleteTransaction = new FileDeleteTransaction()\n .setFileId(fileId)\n .freezeWith(client);\n await addSignersToTransaction(\n fileDeleteTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n await (\n await fileDeleteTransaction.execute(client, requestTimeout)\n ).getReceipt(client);\n }\n\n return response;\n }\n\n /**\n * @param {Signer} signer\n * @returns {Promise<TransactionResponse>}\n */\n async executeWithSigner(signer) {\n if (this._bytecode == null) {\n throw new Error(\"cannot create contract with no bytecode\");\n }\n\n if (signer.getAccountKey == null) {\n throw new Error(\n \"`Signer.getAccountKey()` is not implemented, but is required for `ContractCreateFlow`\",\n );\n }\n // eslint-disable-next-line @typescript-eslint/await-thenable\n const key = await signer.getAccountKey();\n let formattedPublicKey;\n\n if (key instanceof PublicKey) {\n formattedPublicKey = key;\n } else {\n const propertyValues = Object.values(\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n key._key._key._keyData,\n );\n const keyArray = new Uint8Array(propertyValues);\n\n formattedPublicKey = PublicKey.fromBytes(keyArray);\n }\n\n const fileCreateTransaction = await new FileCreateTransaction()\n .setKeys(formattedPublicKey != null ? [formattedPublicKey] : [])\n .setContents(\n this._bytecode.subarray(\n 0,\n Math.min(this._bytecode.length, 2048),\n ),\n )\n .freezeWithSigner(signer);\n await fileCreateTransaction.signWithSigner(signer);\n await addSignersToTransaction(\n fileCreateTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n\n let response = await fileCreateTransaction.executeWithSigner(signer);\n const receipt = await response.getReceiptWithSigner(signer);\n\n const fileId = /** @type {FileId} */ (receipt.fileId);\n\n if (this._bytecode.length > 2048) {\n let fileAppendTransaction = new FileAppendTransaction()\n .setFileId(fileId)\n .setContents(this._bytecode.subarray(2048));\n if (this._maxChunks != null) {\n fileAppendTransaction.setMaxChunks(this._maxChunks);\n }\n fileAppendTransaction =\n await fileAppendTransaction.freezeWithSigner(signer);\n await fileAppendTransaction.signWithSigner(signer);\n await addSignersToTransaction(\n fileAppendTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n await fileAppendTransaction.executeWithSigner(signer);\n }\n\n this._contractCreate = await this._contractCreate\n .setBytecodeFileId(fileId)\n .freezeWithSigner(signer);\n this._contractCreate =\n await this._contractCreate.signWithSigner(signer);\n await addSignersToTransaction(\n this._contractCreate,\n this._publicKeys,\n this._transactionSigners,\n );\n\n response = await this._contractCreate.executeWithSigner(signer);\n\n await response.getReceiptWithSigner(signer);\n\n if (key != null) {\n const fileDeleteTransaction = await new FileDeleteTransaction()\n .setFileId(fileId)\n .freezeWithSigner(signer);\n await fileDeleteTransaction.signWithSigner(signer);\n await addSignersToTransaction(\n fileDeleteTransaction,\n this._publicKeys,\n this._transactionSigners,\n );\n await (\n await fileDeleteTransaction.executeWithSigner(signer)\n ).getReceiptWithSigner(signer);\n }\n\n return response;\n }\n}\n\n/**\n * @template {Transaction} T\n * @param {T} transaction\n * @param {PublicKey[]} publicKeys\n * @param {((message: Uint8Array) => Promise<Uint8Array>)[]} transactionSigners\n * @returns {Promise<void>}\n */\nasync function addSignersToTransaction(\n transaction,\n publicKeys,\n transactionSigners,\n) {\n for (let i = 0; i < publicKeys.length; i++) {\n await transaction.signWith(publicKeys[i], transactionSigners[i]);\n }\n}\n"],"names":["ContractCreateFlow","constructor","this","_bytecode","_contractCreate","ContractCreateTransaction","_signerPublicKeys","Set","_publicKeys","_transactionSigners","_maxChunks","maxChunks","setMaxChunks","bytecode","setBytecode","Uint8Array","utf8.encode","adminKey","setAdminKey","gas","setGas","initialBalance","setInitialBalance","proxyAccountId","setProxyAccountId","autoRenewPeriod","setAutoRenewPeriod","constructorParameters","setConstructorParameters","contractMemo","setContractMemo","maxAutomaticTokenAssociation","maxAutomaticTokenAssociations","setMaxAutomaticTokenAssociations","stakedAccountId","setStakedAccountId","stakedNodeId","setStakedNodeId","declineStakingRewards","setDeclineStakingReward","declineStakingReward","autoRenewAccountId","setAutoRenewAccountId","sign","privateKey","signWith","publicKey","message","Promise","resolve","transactionSigner","publicKeyData","toBytesRaw","publicKeyHex","hex.encode","has","push","execute","client","requestTimeout","Error","key","operatorPublicKey","fileCreateTransaction","FileCreateTransaction","setKeys","setContents","subarray","Math","min","length","freezeWith","addSignersToTransaction","response","fileId","getReceipt","fileAppendTransaction","FileAppendTransaction","setFileId","setBytecodeFileId","fileDeleteTransaction","FileDeleteTransaction","executeWithSigner","signer","getAccountKey","formattedPublicKey","PublicKey","propertyValues","Object","values","_key","_keyData","keyArray","fromBytes","freezeWithSigner","signWithSigner","getReceiptWithSigner","async","transaction","publicKeys","transactionSigners","i"],"mappings":"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"}
|
|
@@ -12,8 +12,7 @@ var _Transaction = _interopRequireWildcard(require("../transaction/Transaction.c
|
|
|
12
12
|
var _long = _interopRequireDefault(require("long"));
|
|
13
13
|
var _Duration = _interopRequireDefault(require("../Duration.cjs"));
|
|
14
14
|
var _Key = _interopRequireDefault(require("../Key.cjs"));
|
|
15
|
-
function
|
|
16
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
+
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); }
|
|
17
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
17
|
// SPDX-License-Identifier: Apache-2.0
|
|
19
18
|
|
|
@@ -8,8 +8,7 @@ var _Transaction = _interopRequireWildcard(require("../transaction/Transaction.c
|
|
|
8
8
|
var _ContractId = _interopRequireDefault(require("./ContractId.cjs"));
|
|
9
9
|
var _AccountId = _interopRequireDefault(require("../account/AccountId.cjs"));
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
function
|
|
12
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
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); }
|
|
13
12
|
// SPDX-License-Identifier: Apache-2.0
|
|
14
13
|
|
|
15
14
|
/**
|
|
@@ -10,8 +10,7 @@ var _ContractId = _interopRequireDefault(require("./ContractId.cjs"));
|
|
|
10
10
|
var _ContractFunctionParameters = _interopRequireDefault(require("./ContractFunctionParameters.cjs"));
|
|
11
11
|
var _long = _interopRequireDefault(require("long"));
|
|
12
12
|
var _HbarUnit = _interopRequireDefault(require("../HbarUnit.cjs"));
|
|
13
|
-
function
|
|
14
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
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); }
|
|
15
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
15
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
16
|
|
|
@@ -13,8 +13,7 @@ var _abi = require("@ethersproject/abi");
|
|
|
13
13
|
var _bytes = require("@ethersproject/bytes");
|
|
14
14
|
var _EvmAddress = _interopRequireDefault(require("../EvmAddress.cjs"));
|
|
15
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
function
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
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
17
|
// SPDX-License-Identifier: Apache-2.0
|
|
19
18
|
|
|
20
19
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t,{ArgumentType as a,solidityTypeToString as r}from"./ContractFunctionSelector.js";import{encode as d}from"../encoding/utf8.js";import{decode as e}from"../encoding/hex.js";import"bignumber.js";import{convertToBigNumber as s,convertToBigNumberArray as n,safeView as i}from"../util.js";import{defaultAbiCoder as c}from"@ethersproject/abi";import{arrayify as h}from"@ethersproject/bytes";class _{constructor(){this._selector=new t,this._arguments=[]}addString(t){return this._selector.addString(),this._addParam(t,!0)}addStringArray(t){return this._selector.addStringArray(),this._addParam(t,!0)}addBytes(t){return this._selector.addBytes(),this._addParam(t,!0)}addBytes32(t){if(32!==t.length)throw new Error(`addBytes32 expected array to be of length 32, but received ${t.length}`);return this._selector.addBytes32(),this._addParam(t,!1)}addBytesArray(t){return this._selector.addBytesArray(),this._addParam(t,!0)}addBytes32Array(t){for(const[a,r]of t.entries())if(32!==r.length)throw new Error(`addBytes32 expected array to be of length 32, but received ${r.length}`);return this._selector.addBytes32Array(),this._addParam(t,!0)}addBool(t){return this._selector.addBool(),this._addParam(t,!1)}addInt8(t){return this._selector.addInt8(),this._addParam(s(t),!1)}addUint8(t){return this._selector.addUint8(),this._addParam(s(t),!1)}addInt16(t){return this._selector.addInt16(),this._addParam(s(t),!1)}addUint16(t){return this._selector.addUint16(),this._addParam(s(t),!1)}addInt24(t){return this._selector.addInt24(),this._addParam(s(t),!1)}addUint24(t){return this._selector.addUint24(),this._addParam(s(t),!1)}addInt32(t){return this._selector.addInt32(),this._addParam(s(t),!1)}addUint32(t){return this._selector.addUint32(),this._addParam(s(t),!1)}addInt40(t){return this._selector.addInt40(),this._addParam(s(t),!1)}addUint40(t){return this._selector.addUint40(),this._addParam(s(t),!1)}addInt48(t){return this._selector.addInt48(),this._addParam(s(t),!1)}addUint48(t){return this._selector.addUint48(),this._addParam(s(t),!1)}addInt56(t){return this._selector.addInt56(),this._addParam(s(t),!1)}addUint56(t){return this._selector.addUint56(),this._addParam(s(t),!1)}addInt64(t){return this._selector.addInt64(),this._addParam(s(t),!1)}addUint64(t){return this._selector.addUint64(),this._addParam(s(t),!1)}addInt72(t){return this._selector.addInt72(),this._addParam(s(t),!1)}addUint72(t){return this._selector.addUint72(),this._addParam(s(t),!1)}addInt80(t){return this._selector.addInt80(),this._addParam(s(t),!1)}addUint80(t){return this._selector.addUint80(),this._addParam(s(t),!1)}addInt88(t){return this._selector.addInt88(),this._addParam(s(t),!1)}addUint88(t){return this._selector.addUint88(),this._addParam(s(t),!1)}addInt96(t){return this._selector.addInt96(),this._addParam(s(t),!1)}addUint96(t){return this._selector.addUint96(),this._addParam(s(t),!1)}addInt104(t){return this._selector.addInt104(),this._addParam(s(t),!1)}addUint104(t){return this._selector.addUint104(),this._addParam(s(t),!1)}addInt112(t){return this._selector.addInt112(),this._addParam(s(t),!1)}addUint112(t){return this._selector.addUint112(),this._addParam(s(t),!1)}addInt120(t){return this._selector.addInt120(),this._addParam(s(t),!1)}addUint120(t){return this._selector.addUint120(),this._addParam(s(t),!1)}addInt128(t){return this._selector.addInt128(),this._addParam(s(t),!1)}addUint128(t){return this._selector.addUint128(),this._addParam(s(t),!1)}addInt136(t){return this._selector.addInt136(),this._addParam(s(t),!1)}addUint136(t){return this._selector.addUint136(),this._addParam(s(t),!1)}addInt144(t){return this._selector.addInt144(),this._addParam(s(t),!1)}addUint144(t){return this._selector.addUint144(),this._addParam(s(t),!1)}addInt152(t){return this._selector.addInt152(),this._addParam(s(t),!1)}addUint152(t){return this._selector.addUint152(),this._addParam(s(t),!1)}addInt160(t){return this._selector.addInt160(),this._addParam(s(t),!1)}addUint160(t){return this._selector.addUint160(),this._addParam(s(t),!1)}addInt168(t){return this._selector.addInt168(),this._addParam(s(t),!1)}addUint168(t){return this._selector.addUint168(),this._addParam(s(t),!1)}addInt176(t){return this._selector.addInt176(),this._addParam(s(t),!1)}addUint176(t){return this._selector.addUint176(),this._addParam(s(t),!1)}addInt184(t){return this._selector.addInt184(),this._addParam(s(t),!1)}addUint184(t){return this._selector.addUint184(),this._addParam(s(t),!1)}addInt192(t){return this._selector.addInt192(),this._addParam(s(t),!1)}addUint192(t){return this._selector.addUint192(),this._addParam(s(t),!1)}addInt200(t){return this._selector.addInt200(),this._addParam(s(t),!1)}addUint200(t){return this._selector.addUint200(),this._addParam(s(t),!1)}addInt208(t){return this._selector.addInt208(),this._addParam(s(t),!1)}addUint208(t){return this._selector.addUint208(),this._addParam(s(t),!1)}addInt216(t){return this._selector.addInt216(),this._addParam(s(t),!1)}addUint216(t){return this._selector.addUint216(),this._addParam(s(t),!1)}addInt224(t){return this._selector.addInt224(),this._addParam(s(t),!1)}addUint224(t){return this._selector.addUint224(),this._addParam(s(t),!1)}addInt232(t){return this._selector.addInt232(),this._addParam(s(t),!1)}addUint232(t){return this._selector.addUint232(),this._addParam(s(t),!1)}addInt240(t){return this._selector.addInt240(),this._addParam(s(t),!1)}addUint240(t){return this._selector.addUint240(),this._addParam(s(t),!1)}addInt248(t){return this._selector.addInt248(),this._addParam(s(t),!1)}addUint248(t){return this._selector.addUint248(),this._addParam(s(t),!1)}addInt256(t){return this._selector.addInt256(),this._addParam(s(t),!1)}addUint256(t){return this._selector.addUint256(),this._addParam(s(t),!1)}addInt8Array(t){return this._selector.addInt8Array(),this._addParam(n(t),!0)}addUint8Array(t){return this._selector.addUint8Array(),this._addParam(n(t),!0)}addInt16Array(t){return this._selector.addInt16Array(),this._addParam(n(t),!0)}addUint16Array(t){return this._selector.addUint16Array(),this._addParam(n(t),!0)}addInt24Array(t){return this._selector.addInt24Array(),this._addParam(n(t),!0)}addUint24Array(t){return this._selector.addUint24Array(),this._addParam(n(t),!0)}addInt32Array(t){return this._selector.addInt32Array(),this._addParam(n(t),!0)}addUint32Array(t){return this._selector.addUint32Array(),this._addParam(n(t),!0)}addInt40Array(t){return this._selector.addInt40Array(),this._addParam(n(t),!0)}addUint40Array(t){return this._selector.addUint40Array(),this._addParam(n(t),!0)}addInt48Array(t){return this._selector.addInt48Array(),this._addParam(n(t),!0)}addUint48Array(t){return this._selector.addUint48Array(),this._addParam(n(t),!0)}addInt56Array(t){return this._selector.addInt56Array(),this._addParam(n(t),!0)}addUint56Array(t){return this._selector.addUint56Array(),this._addParam(n(t),!0)}addInt64Array(t){return this._selector.addInt64Array(),this._addParam(n(t),!0)}addUint64Array(t){return this._selector.addUint64Array(),this._addParam(n(t),!0)}addInt72Array(t){return this._selector.addInt72Array(),this._addParam(n(t),!0)}addUint72Array(t){return this._selector.addUint72Array(),this._addParam(n(t),!0)}addInt80Array(t){return this._selector.addInt80Array(),this._addParam(n(t),!0)}addUint80Array(t){return this._selector.addUint80Array(),this._addParam(n(t),!0)}addInt88Array(t){return this._selector.addInt88Array(),this._addParam(n(t),!0)}addUint88Array(t){return this._selector.addUint88Array(),this._addParam(n(t),!0)}addInt96Array(t){return this._selector.addInt96Array(),this._addParam(n(t),!0)}addUint96Array(t){return this._selector.addUint96Array(),this._addParam(n(t),!0)}addInt104Array(t){return this._selector.addInt104Array(),this._addParam(n(t),!0)}addUint104Array(t){return this._selector.addUint104Array(),this._addParam(n(t),!0)}addInt112Array(t){return this._selector.addInt112Array(),this._addParam(n(t),!0)}addUint112Array(t){return this._selector.addUint112Array(),this._addParam(n(t),!0)}addInt120Array(t){return this._selector.addInt120Array(),this._addParam(n(t),!0)}addUint120Array(t){return this._selector.addUint120Array(),this._addParam(n(t),!0)}addInt128Array(t){return this._selector.addInt128Array(),this._addParam(n(t),!0)}addUint128Array(t){return this._selector.addUint128Array(),this._addParam(n(t),!0)}addInt136Array(t){return this._selector.addInt136Array(),this._addParam(n(t),!0)}addUint136Array(t){return this._selector.addUint136Array(),this._addParam(n(t),!0)}addInt144Array(t){return this._selector.addInt144Array(),this._addParam(n(t),!0)}addUint144Array(t){return this._selector.addUint144Array(),this._addParam(n(t),!0)}addInt152Array(t){return this._selector.addInt152Array(),this._addParam(n(t),!0)}addUint152Array(t){return this._selector.addUint152Array(),this._addParam(n(t),!0)}addInt160Array(t){return this._selector.addInt160Array(),this._addParam(n(t),!0)}addUint160Array(t){return this._selector.addUint160Array(),this._addParam(n(t),!0)}addInt168Array(t){return this._selector.addInt168Array(),this._addParam(n(t),!0)}addUint168Array(t){return this._selector.addUint168Array(),this._addParam(n(t),!0)}addInt176Array(t){return this._selector.addInt176Array(),this._addParam(n(t),!0)}addUint176Array(t){return this._selector.addUint176Array(),this._addParam(n(t),!0)}addInt184Array(t){return this._selector.addInt184Array(),this._addParam(n(t),!0)}addUint184Array(t){return this._selector.addUint184Array(),this._addParam(n(t),!0)}addInt192Array(t){return this._selector.addInt192Array(),this._addParam(n(t),!0)}addUint192Array(t){return this._selector.addUint192Array(),this._addParam(n(t),!0)}addInt200Array(t){return this._selector.addInt200Array(),this._addParam(n(t),!0)}addUint200Array(t){return this._selector.addUint200Array(),this._addParam(n(t),!0)}addInt208Array(t){return this._selector.addInt208Array(),this._addParam(n(t),!0)}addUint208Array(t){return this._selector.addUint208Array(),this._addParam(n(t),!0)}addInt216Array(t){return this._selector.addInt216Array(),this._addParam(n(t),!0)}addUint216Array(t){return this._selector.addUint216Array(),this._addParam(n(t),!0)}addInt224Array(t){return this._selector.addInt224Array(),this._addParam(n(t),!0)}addUint224Array(t){return this._selector.addUint224Array(),this._addParam(n(t),!0)}addInt232Array(t){return this._selector.addInt232Array(),this._addParam(n(t),!0)}addUint232Array(t){return this._selector.addUint232Array(),this._addParam(n(t),!0)}addInt240Array(t){return this._selector.addInt240Array(),this._addParam(n(t),!0)}addUint240Array(t){return this._selector.addUint240Array(),this._addParam(n(t),!0)}addInt248Array(t){return this._selector.addInt248Array(),this._addParam(n(t),!0)}addUint248Array(t){return this._selector.addUint248Array(),this._addParam(n(t),!0)}addInt256Array(t){return this._selector.addInt256Array(),this._addParam(n(t),!0)}addUint256Array(t){return this._selector.addUint256Array(),this._addParam(n(t),!0)}addAddress(t){let a;if("string"==typeof t){if(40!==t.length&&42!==t.length)throw new Error("`address` type requires parameter to be 40 or 42 characters");a=t}else a=t.toString();const r=40===a.length?e(a):e(a.substring(2));return this._selector.addAddress(),this._addParam(r,!1)}addAddressArray(t){const a=[];for(const[r,d]of t.entries()){let t;if("string"==typeof d){if(40!==d.length&&42!==d.length)throw new Error("`address` type requires parameter to be 40 or 42 characters");t=d}else t=d.toString();const r=40===t.length?e(t):e(t.substring(2));a.push(r)}return this._selector.addAddressArray(),this._addParam(a,!0)}addFunction(t,a){const r=e(t),d=a._build();if(20!==r.length)throw new Error("`function` type requires parameter `address` to be exactly 20 bytes");this._selector.addFunction();const s=new Uint8Array(24);return s.set(r,0),s.set(d,20),this._addParam(s,!1)}_addParam(t,a){const r=this._selector._paramTypes.length-1,d=u(t,this._selector._paramTypes[r]);return this._arguments.push({dynamic:a,value:d}),this}_build(t){const a=null!=t,r=a?4:0,d=0===this._arguments.length?r:32*this._arguments.length+this._arguments.map((t=>t.dynamic?t.value.length:0)).reduce(((t,a)=>t+a))+r,e=new Uint8Array(d);a&&e.set(this._selector._build(t),0);let s=32*this._arguments.length;for(const[t,{dynamic:a,value:d}]of this._arguments.entries())if(a){const a=i(e,r+32*t+28);a.setUint32(0,s),e.set(d,a.getUint32(0)+r),s+=d.length}else e.set(d,r+32*t);return e}}function u(t,e){let s,n=new Uint8Array(32),_=i(n);if(e.array){if(!Array.isArray(t))throw new TypeError("SolidityType indicates type is array, but parameter is not an array");const r=[];for(const[a,d]of t.entries()){const t=u(d,{ty:e.ty,array:!1});r.push(t)}const d=r.map((t=>t.length)).reduce(((t,a)=>t+a),0);switch(e.ty){case a.uint8:case a.int8:case a.uint16:case a.int16:case a.uint24:case a.int24:case a.uint32:case a.int32:case a.uint40:case a.int40:case a.uint48:case a.int48:case a.uint56:case a.int56:case a.uint64:case a.int64:case a.uint72:case a.int72:case a.uint80:case a.int80:case a.uint88:case a.int88:case a.uint96:case a.int96:case a.uint104:case a.int104:case a.uint112:case a.int112:case a.uint120:case a.int120:case a.uint128:case a.int128:case a.uint136:case a.int136:case a.uint144:case a.int144:case a.uint152:case a.int152:case a.uint160:case a.int160:case a.uint168:case a.int168:case a.uint176:case a.int176:case a.uint184:case a.int184:case a.uint192:case a.int192:case a.uint200:case a.int200:case a.uint208:case a.int208:case a.uint216:case a.int216:case a.uint224:case a.int224:case a.uint232:case a.int232:case a.uint240:case a.int240:case a.uint248:case a.int248:case a.uint256:case a.int256:case a.bool:case a.bytes32:case a.address:case a.func:n=new Uint8Array(d+32);break;case a.bytes:case a.string:n=new Uint8Array(32*r.length+d+32);break;default:throw new TypeError(`Expected param type to be ArgumentType, but received ${e.ty}`)}_=i(n,28),_.setUint32(0,r.length);let s=32*r.length;for(const[t,d]of r.entries())switch(e.ty){case a.uint8:case a.int8:case a.uint16:case a.int16:case a.uint24:case a.int24:case a.uint32:case a.int32:case a.uint40:case a.int40:case a.uint48:case a.int48:case a.uint56:case a.int56:case a.uint64:case a.int64:case a.uint72:case a.int72:case a.uint80:case a.int80:case a.uint88:case a.int88:case a.uint96:case a.int96:case a.uint104:case a.int104:case a.uint112:case a.int112:case a.uint120:case a.int120:case a.uint128:case a.int128:case a.uint136:case a.int136:case a.uint144:case a.int144:case a.uint152:case a.int152:case a.uint160:case a.int160:case a.uint168:case a.int168:case a.uint176:case a.int176:case a.uint184:case a.int184:case a.uint192:case a.int192:case a.uint200:case a.int200:case a.uint208:case a.int208:case a.uint216:case a.int216:case a.uint224:case a.int224:case a.uint232:case a.int232:case a.uint240:case a.int240:case a.uint248:case a.int248:case a.uint256:case a.int256:case a.bool:case a.bytes32:case a.address:case a.func:n.set(d,32*t+32);break;case a.bytes:case a.string:const r=i(n,32*(t+1)+28);r.setUint32(0,s),n.set(d,r.getUint32(0)+32),s+=d.length;break;default:throw new TypeError(`Expected param type to be ArgumentType, but received ${e.ty}`)}return n}switch(e.ty){case a.uint8:case a.int8:case a.uint16:case a.int16:case a.uint24:case a.int24:case a.uint32:case a.int32:case a.uint40:case a.int40:case a.uint48:case a.int48:case a.uint56:case a.int56:case a.uint64:case a.int64:case a.uint72:case a.int72:case a.uint80:case a.int80:case a.uint88:case a.int88:case a.uint96:case a.int96:case a.uint104:case a.int104:case a.uint112:case a.int112:case a.uint120:case a.int120:case a.uint128:case a.int128:case a.uint136:case a.int136:case a.uint144:case a.int144:case a.uint152:case a.int152:case a.uint160:case a.int160:case a.uint168:case a.int168:case a.uint176:case a.int176:case a.uint184:case a.int184:case a.uint192:case a.int192:case a.uint200:case a.int200:case a.uint208:case a.int208:case a.uint216:case a.int216:case a.uint224:case a.int224:case a.uint232:case a.int232:case a.uint240:case a.int240:case a.uint248:case a.int248:case a.int256:case a.uint256:{let a=t.toString(16);a=t>0||0==t?"0x"+a:a.slice(0,1)+"0x"+a.slice(1);const d=c.encode([r(e)],[a]);return h(d)}case a.address:return n.set(t,12),n;case a.bool:return n[31]=t?1:0,n;case a.func:return n.set(t,8),n;case a.bytes32:return n.set(t,0),n;case a.bytes:case a.string:return s=t instanceof Uint8Array?t:d(t),n=Math.floor(s.length/32)>=0?0!==Math.floor(s.length%32)?new Uint8Array(32*(Math.floor(s.length/32)+1)+32):new Uint8Array(32*Math.floor(s.length/32)+32):new Uint8Array(64),n.set(s,32),_=i(n,28),_.setUint32(0,s.length),n;default:throw new Error(`Unsupported argument type: ${e.toString()}`)}}export{_ as default};
|
|
1
|
+
import t,{ArgumentType as a,solidityTypeToString as r}from"./ContractFunctionSelector.js";import{encode as d}from"../encoding/utf8.js";import{decode as e}from"../encoding/hex.js";import"bignumber.js";import{convertToBigNumber as s,convertToBigNumberArray as n,safeView as i}from"../util.js";import{defaultAbiCoder as c}from"@ethersproject/abi";import{arrayify as h}from"@ethersproject/bytes";class _{constructor(){this._selector=new t,this._arguments=[]}addString(t){return this._selector.addString(),this._addParam(t,!0)}addStringArray(t){return this._selector.addStringArray(),this._addParam(t,!0)}addBytes(t){return this._selector.addBytes(),this._addParam(t,!0)}addBytes32(t){if(32!==t.length)throw new Error(`addBytes32 expected array to be of length 32, but received ${t.length}`);return this._selector.addBytes32(),this._addParam(t,!1)}addBytesArray(t){return this._selector.addBytesArray(),this._addParam(t,!0)}addBytes32Array(t){for(const[a,r]of t.entries())if(32!==r.length)throw new Error(`addBytes32 expected array to be of length 32, but received ${r.length}`);return this._selector.addBytes32Array(),this._addParam(t,!0)}addBool(t){return this._selector.addBool(),this._addParam(t,!1)}addInt8(t){return this._selector.addInt8(),this._addParam(s(t),!1)}addUint8(t){return this._selector.addUint8(),this._addParam(s(t),!1)}addInt16(t){return this._selector.addInt16(),this._addParam(s(t),!1)}addUint16(t){return this._selector.addUint16(),this._addParam(s(t),!1)}addInt24(t){return this._selector.addInt24(),this._addParam(s(t),!1)}addUint24(t){return this._selector.addUint24(),this._addParam(s(t),!1)}addInt32(t){return this._selector.addInt32(),this._addParam(s(t),!1)}addUint32(t){return this._selector.addUint32(),this._addParam(s(t),!1)}addInt40(t){return this._selector.addInt40(),this._addParam(s(t),!1)}addUint40(t){return this._selector.addUint40(),this._addParam(s(t),!1)}addInt48(t){return this._selector.addInt48(),this._addParam(s(t),!1)}addUint48(t){return this._selector.addUint48(),this._addParam(s(t),!1)}addInt56(t){return this._selector.addInt56(),this._addParam(s(t),!1)}addUint56(t){return this._selector.addUint56(),this._addParam(s(t),!1)}addInt64(t){return this._selector.addInt64(),this._addParam(s(t),!1)}addUint64(t){return this._selector.addUint64(),this._addParam(s(t),!1)}addInt72(t){return this._selector.addInt72(),this._addParam(s(t),!1)}addUint72(t){return this._selector.addUint72(),this._addParam(s(t),!1)}addInt80(t){return this._selector.addInt80(),this._addParam(s(t),!1)}addUint80(t){return this._selector.addUint80(),this._addParam(s(t),!1)}addInt88(t){return this._selector.addInt88(),this._addParam(s(t),!1)}addUint88(t){return this._selector.addUint88(),this._addParam(s(t),!1)}addInt96(t){return this._selector.addInt96(),this._addParam(s(t),!1)}addUint96(t){return this._selector.addUint96(),this._addParam(s(t),!1)}addInt104(t){return this._selector.addInt104(),this._addParam(s(t),!1)}addUint104(t){return this._selector.addUint104(),this._addParam(s(t),!1)}addInt112(t){return this._selector.addInt112(),this._addParam(s(t),!1)}addUint112(t){return this._selector.addUint112(),this._addParam(s(t),!1)}addInt120(t){return this._selector.addInt120(),this._addParam(s(t),!1)}addUint120(t){return this._selector.addUint120(),this._addParam(s(t),!1)}addInt128(t){return this._selector.addInt128(),this._addParam(s(t),!1)}addUint128(t){return this._selector.addUint128(),this._addParam(s(t),!1)}addInt136(t){return this._selector.addInt136(),this._addParam(s(t),!1)}addUint136(t){return this._selector.addUint136(),this._addParam(s(t),!1)}addInt144(t){return this._selector.addInt144(),this._addParam(s(t),!1)}addUint144(t){return this._selector.addUint144(),this._addParam(s(t),!1)}addInt152(t){return this._selector.addInt152(),this._addParam(s(t),!1)}addUint152(t){return this._selector.addUint152(),this._addParam(s(t),!1)}addInt160(t){return this._selector.addInt160(),this._addParam(s(t),!1)}addUint160(t){return this._selector.addUint160(),this._addParam(s(t),!1)}addInt168(t){return this._selector.addInt168(),this._addParam(s(t),!1)}addUint168(t){return this._selector.addUint168(),this._addParam(s(t),!1)}addInt176(t){return this._selector.addInt176(),this._addParam(s(t),!1)}addUint176(t){return this._selector.addUint176(),this._addParam(s(t),!1)}addInt184(t){return this._selector.addInt184(),this._addParam(s(t),!1)}addUint184(t){return this._selector.addUint184(),this._addParam(s(t),!1)}addInt192(t){return this._selector.addInt192(),this._addParam(s(t),!1)}addUint192(t){return this._selector.addUint192(),this._addParam(s(t),!1)}addInt200(t){return this._selector.addInt200(),this._addParam(s(t),!1)}addUint200(t){return this._selector.addUint200(),this._addParam(s(t),!1)}addInt208(t){return this._selector.addInt208(),this._addParam(s(t),!1)}addUint208(t){return this._selector.addUint208(),this._addParam(s(t),!1)}addInt216(t){return this._selector.addInt216(),this._addParam(s(t),!1)}addUint216(t){return this._selector.addUint216(),this._addParam(s(t),!1)}addInt224(t){return this._selector.addInt224(),this._addParam(s(t),!1)}addUint224(t){return this._selector.addUint224(),this._addParam(s(t),!1)}addInt232(t){return this._selector.addInt232(),this._addParam(s(t),!1)}addUint232(t){return this._selector.addUint232(),this._addParam(s(t),!1)}addInt240(t){return this._selector.addInt240(),this._addParam(s(t),!1)}addUint240(t){return this._selector.addUint240(),this._addParam(s(t),!1)}addInt248(t){return this._selector.addInt248(),this._addParam(s(t),!1)}addUint248(t){return this._selector.addUint248(),this._addParam(s(t),!1)}addInt256(t){return this._selector.addInt256(),this._addParam(s(t),!1)}addUint256(t){return this._selector.addUint256(),this._addParam(s(t),!1)}addInt8Array(t){return this._selector.addInt8Array(),this._addParam(n(t),!0)}addUint8Array(t){return this._selector.addUint8Array(),this._addParam(n(t),!0)}addInt16Array(t){return this._selector.addInt16Array(),this._addParam(n(t),!0)}addUint16Array(t){return this._selector.addUint16Array(),this._addParam(n(t),!0)}addInt24Array(t){return this._selector.addInt24Array(),this._addParam(n(t),!0)}addUint24Array(t){return this._selector.addUint24Array(),this._addParam(n(t),!0)}addInt32Array(t){return this._selector.addInt32Array(),this._addParam(n(t),!0)}addUint32Array(t){return this._selector.addUint32Array(),this._addParam(n(t),!0)}addInt40Array(t){return this._selector.addInt40Array(),this._addParam(n(t),!0)}addUint40Array(t){return this._selector.addUint40Array(),this._addParam(n(t),!0)}addInt48Array(t){return this._selector.addInt48Array(),this._addParam(n(t),!0)}addUint48Array(t){return this._selector.addUint48Array(),this._addParam(n(t),!0)}addInt56Array(t){return this._selector.addInt56Array(),this._addParam(n(t),!0)}addUint56Array(t){return this._selector.addUint56Array(),this._addParam(n(t),!0)}addInt64Array(t){return this._selector.addInt64Array(),this._addParam(n(t),!0)}addUint64Array(t){return this._selector.addUint64Array(),this._addParam(n(t),!0)}addInt72Array(t){return this._selector.addInt72Array(),this._addParam(n(t),!0)}addUint72Array(t){return this._selector.addUint72Array(),this._addParam(n(t),!0)}addInt80Array(t){return this._selector.addInt80Array(),this._addParam(n(t),!0)}addUint80Array(t){return this._selector.addUint80Array(),this._addParam(n(t),!0)}addInt88Array(t){return this._selector.addInt88Array(),this._addParam(n(t),!0)}addUint88Array(t){return this._selector.addUint88Array(),this._addParam(n(t),!0)}addInt96Array(t){return this._selector.addInt96Array(),this._addParam(n(t),!0)}addUint96Array(t){return this._selector.addUint96Array(),this._addParam(n(t),!0)}addInt104Array(t){return this._selector.addInt104Array(),this._addParam(n(t),!0)}addUint104Array(t){return this._selector.addUint104Array(),this._addParam(n(t),!0)}addInt112Array(t){return this._selector.addInt112Array(),this._addParam(n(t),!0)}addUint112Array(t){return this._selector.addUint112Array(),this._addParam(n(t),!0)}addInt120Array(t){return this._selector.addInt120Array(),this._addParam(n(t),!0)}addUint120Array(t){return this._selector.addUint120Array(),this._addParam(n(t),!0)}addInt128Array(t){return this._selector.addInt128Array(),this._addParam(n(t),!0)}addUint128Array(t){return this._selector.addUint128Array(),this._addParam(n(t),!0)}addInt136Array(t){return this._selector.addInt136Array(),this._addParam(n(t),!0)}addUint136Array(t){return this._selector.addUint136Array(),this._addParam(n(t),!0)}addInt144Array(t){return this._selector.addInt144Array(),this._addParam(n(t),!0)}addUint144Array(t){return this._selector.addUint144Array(),this._addParam(n(t),!0)}addInt152Array(t){return this._selector.addInt152Array(),this._addParam(n(t),!0)}addUint152Array(t){return this._selector.addUint152Array(),this._addParam(n(t),!0)}addInt160Array(t){return this._selector.addInt160Array(),this._addParam(n(t),!0)}addUint160Array(t){return this._selector.addUint160Array(),this._addParam(n(t),!0)}addInt168Array(t){return this._selector.addInt168Array(),this._addParam(n(t),!0)}addUint168Array(t){return this._selector.addUint168Array(),this._addParam(n(t),!0)}addInt176Array(t){return this._selector.addInt176Array(),this._addParam(n(t),!0)}addUint176Array(t){return this._selector.addUint176Array(),this._addParam(n(t),!0)}addInt184Array(t){return this._selector.addInt184Array(),this._addParam(n(t),!0)}addUint184Array(t){return this._selector.addUint184Array(),this._addParam(n(t),!0)}addInt192Array(t){return this._selector.addInt192Array(),this._addParam(n(t),!0)}addUint192Array(t){return this._selector.addUint192Array(),this._addParam(n(t),!0)}addInt200Array(t){return this._selector.addInt200Array(),this._addParam(n(t),!0)}addUint200Array(t){return this._selector.addUint200Array(),this._addParam(n(t),!0)}addInt208Array(t){return this._selector.addInt208Array(),this._addParam(n(t),!0)}addUint208Array(t){return this._selector.addUint208Array(),this._addParam(n(t),!0)}addInt216Array(t){return this._selector.addInt216Array(),this._addParam(n(t),!0)}addUint216Array(t){return this._selector.addUint216Array(),this._addParam(n(t),!0)}addInt224Array(t){return this._selector.addInt224Array(),this._addParam(n(t),!0)}addUint224Array(t){return this._selector.addUint224Array(),this._addParam(n(t),!0)}addInt232Array(t){return this._selector.addInt232Array(),this._addParam(n(t),!0)}addUint232Array(t){return this._selector.addUint232Array(),this._addParam(n(t),!0)}addInt240Array(t){return this._selector.addInt240Array(),this._addParam(n(t),!0)}addUint240Array(t){return this._selector.addUint240Array(),this._addParam(n(t),!0)}addInt248Array(t){return this._selector.addInt248Array(),this._addParam(n(t),!0)}addUint248Array(t){return this._selector.addUint248Array(),this._addParam(n(t),!0)}addInt256Array(t){return this._selector.addInt256Array(),this._addParam(n(t),!0)}addUint256Array(t){return this._selector.addUint256Array(),this._addParam(n(t),!0)}addAddress(t){let a;if("string"==typeof t){if(40!==t.length&&42!==t.length)throw new Error("`address` type requires parameter to be 40 or 42 characters");a=t}else a=t.toString();const r=40===a.length?e(a):e(a.substring(2));return this._selector.addAddress(),this._addParam(r,!1)}addAddressArray(t){const a=[];for(const[r,d]of t.entries()){let t;if("string"==typeof d){if(40!==d.length&&42!==d.length)throw new Error("`address` type requires parameter to be 40 or 42 characters");t=d}else t=d.toString();const r=40===t.length?e(t):e(t.substring(2));a.push(r)}return this._selector.addAddressArray(),this._addParam(a,!0)}addFunction(t,a){const r=e(t),d=a._build();if(20!==r.length)throw new Error("`function` type requires parameter `address` to be exactly 20 bytes");this._selector.addFunction();const s=new Uint8Array(24);return s.set(r,0),s.set(d,20),this._addParam(s,!1)}_addParam(t,a){const r=this._selector._paramTypes.length-1,d=u(t,this._selector._paramTypes[r]);return this._arguments.push({dynamic:a,value:d}),this}_build(t){const a=null!=t,r=a?4:0,d=0===this._arguments.length?r:32*this._arguments.length+this._arguments.map(t=>t.dynamic?t.value.length:0).reduce((t,a)=>t+a)+r,e=new Uint8Array(d);a&&e.set(this._selector._build(t),0);let s=32*this._arguments.length;for(const[t,{dynamic:a,value:d}]of this._arguments.entries())if(a){const a=i(e,r+32*t+28);a.setUint32(0,s),e.set(d,a.getUint32(0)+r),s+=d.length}else e.set(d,r+32*t);return e}}function u(t,e){let s,n=new Uint8Array(32),_=i(n);if(e.array){if(!Array.isArray(t))throw new TypeError("SolidityType indicates type is array, but parameter is not an array");const r=[];for(const[a,d]of t.entries()){const t=u(d,{ty:e.ty,array:!1});r.push(t)}const d=r.map(t=>t.length).reduce((t,a)=>t+a,0);switch(e.ty){case a.uint8:case a.int8:case a.uint16:case a.int16:case a.uint24:case a.int24:case a.uint32:case a.int32:case a.uint40:case a.int40:case a.uint48:case a.int48:case a.uint56:case a.int56:case a.uint64:case a.int64:case a.uint72:case a.int72:case a.uint80:case a.int80:case a.uint88:case a.int88:case a.uint96:case a.int96:case a.uint104:case a.int104:case a.uint112:case a.int112:case a.uint120:case a.int120:case a.uint128:case a.int128:case a.uint136:case a.int136:case a.uint144:case a.int144:case a.uint152:case a.int152:case a.uint160:case a.int160:case a.uint168:case a.int168:case a.uint176:case a.int176:case a.uint184:case a.int184:case a.uint192:case a.int192:case a.uint200:case a.int200:case a.uint208:case a.int208:case a.uint216:case a.int216:case a.uint224:case a.int224:case a.uint232:case a.int232:case a.uint240:case a.int240:case a.uint248:case a.int248:case a.uint256:case a.int256:case a.bool:case a.bytes32:case a.address:case a.func:n=new Uint8Array(d+32);break;case a.bytes:case a.string:n=new Uint8Array(32*r.length+d+32);break;default:throw new TypeError(`Expected param type to be ArgumentType, but received ${e.ty}`)}_=i(n,28),_.setUint32(0,r.length);let s=32*r.length;for(const[t,d]of r.entries())switch(e.ty){case a.uint8:case a.int8:case a.uint16:case a.int16:case a.uint24:case a.int24:case a.uint32:case a.int32:case a.uint40:case a.int40:case a.uint48:case a.int48:case a.uint56:case a.int56:case a.uint64:case a.int64:case a.uint72:case a.int72:case a.uint80:case a.int80:case a.uint88:case a.int88:case a.uint96:case a.int96:case a.uint104:case a.int104:case a.uint112:case a.int112:case a.uint120:case a.int120:case a.uint128:case a.int128:case a.uint136:case a.int136:case a.uint144:case a.int144:case a.uint152:case a.int152:case a.uint160:case a.int160:case a.uint168:case a.int168:case a.uint176:case a.int176:case a.uint184:case a.int184:case a.uint192:case a.int192:case a.uint200:case a.int200:case a.uint208:case a.int208:case a.uint216:case a.int216:case a.uint224:case a.int224:case a.uint232:case a.int232:case a.uint240:case a.int240:case a.uint248:case a.int248:case a.uint256:case a.int256:case a.bool:case a.bytes32:case a.address:case a.func:n.set(d,32*t+32);break;case a.bytes:case a.string:const r=i(n,32*(t+1)+28);r.setUint32(0,s),n.set(d,r.getUint32(0)+32),s+=d.length;break;default:throw new TypeError(`Expected param type to be ArgumentType, but received ${e.ty}`)}return n}switch(e.ty){case a.uint8:case a.int8:case a.uint16:case a.int16:case a.uint24:case a.int24:case a.uint32:case a.int32:case a.uint40:case a.int40:case a.uint48:case a.int48:case a.uint56:case a.int56:case a.uint64:case a.int64:case a.uint72:case a.int72:case a.uint80:case a.int80:case a.uint88:case a.int88:case a.uint96:case a.int96:case a.uint104:case a.int104:case a.uint112:case a.int112:case a.uint120:case a.int120:case a.uint128:case a.int128:case a.uint136:case a.int136:case a.uint144:case a.int144:case a.uint152:case a.int152:case a.uint160:case a.int160:case a.uint168:case a.int168:case a.uint176:case a.int176:case a.uint184:case a.int184:case a.uint192:case a.int192:case a.uint200:case a.int200:case a.uint208:case a.int208:case a.uint216:case a.int216:case a.uint224:case a.int224:case a.uint232:case a.int232:case a.uint240:case a.int240:case a.uint248:case a.int248:case a.int256:case a.uint256:{let a=t.toString(16);a=t>0||0==t?"0x"+a:a.slice(0,1)+"0x"+a.slice(1);const d=c.encode([r(e)],[a]);return h(d)}case a.address:return n.set(t,12),n;case a.bool:return n[31]=t?1:0,n;case a.func:return n.set(t,8),n;case a.bytes32:return n.set(t,0),n;case a.bytes:case a.string:return s=t instanceof Uint8Array?t:d(t),n=Math.floor(s.length/32)>=0?0!==Math.floor(s.length%32)?new Uint8Array(32*(Math.floor(s.length/32)+1)+32):new Uint8Array(32*Math.floor(s.length/32)+32):new Uint8Array(64),n.set(s,32),_=i(n,28),_.setUint32(0,s.length),n;default:throw new Error(`Unsupported argument type: ${e.toString()}`)}}export{_ as default};
|
|
2
2
|
//# sourceMappingURL=ContractFunctionParameters.js.map
|