@hiero-ledger/sdk 2.80.0 → 2.81.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +107 -64
- package/dist/umd.js +444 -217
- package/dist/umd.js.map +1 -0
- package/dist/umd.min.js +8 -7
- package/dist/umd.min.js.map +1 -0
- package/lib/BadEntityIdError.js.map +1 -1
- package/lib/Cache.js.map +1 -1
- package/lib/Duration.js.map +1 -1
- package/lib/EntityIdHelper.js.map +1 -1
- package/lib/EthereumFlow.js.map +1 -1
- package/lib/EthereumTransaction.d.ts +4 -0
- package/lib/EthereumTransaction.js.map +1 -1
- package/lib/EthereumTransactionData.js.map +1 -1
- package/lib/EthereumTransactionDataEip1559.js.map +1 -1
- package/lib/EthereumTransactionDataEip2930.js.map +1 -1
- package/lib/EthereumTransactionDataEip7702.js.map +1 -1
- package/lib/EthereumTransactionDataLegacy.js.map +1 -1
- package/lib/EvmAddress.js.map +1 -1
- package/lib/ExchangeRate.js.map +1 -1
- package/lib/ExchangeRates.js.map +1 -1
- package/lib/Executable.cjs +8 -5
- package/lib/Executable.js +1 -1
- package/lib/Executable.js.map +1 -1
- package/lib/FeeComponents.js.map +1 -1
- package/lib/FeeData.js.map +1 -1
- package/lib/FeeDataType.js.map +1 -1
- package/lib/FeeSchedule.js.map +1 -1
- package/lib/FeeSchedules.js.map +1 -1
- package/lib/FreezeType.js.map +1 -1
- package/lib/Hbar.js.map +1 -1
- package/lib/HbarUnit.js.map +1 -1
- package/lib/Key.js.map +1 -1
- package/lib/KeyList.js.map +1 -1
- package/lib/LedgerId.js.map +1 -1
- package/lib/LocalProvider.js.map +1 -1
- package/lib/LocalProviderWeb.js.map +1 -1
- package/lib/ManagedNode.js.map +1 -1
- package/lib/ManagedNodeAddress.js.map +1 -1
- package/lib/MaxAttemptsOrTimeoutError.js.map +1 -1
- package/lib/MaxQueryPaymentExceeded.js.map +1 -1
- package/lib/MirrorNode.js.map +1 -1
- package/lib/Mnemonic.js.map +1 -1
- package/lib/Node.js.map +1 -1
- package/lib/ObjectMap.js.map +1 -1
- package/lib/PrecheckStatusError.js.map +1 -1
- package/lib/PrivateKey.js.map +1 -1
- package/lib/PrngTransaction.d.ts +4 -0
- package/lib/PrngTransaction.js.map +1 -1
- package/lib/Provider.js.map +1 -1
- package/lib/PublicKey.js.map +1 -1
- package/lib/ReceiptStatusError.js.map +1 -1
- package/lib/RecordStatusError.js.map +1 -1
- package/lib/RequestType.js.map +1 -1
- package/lib/Signer.js.map +1 -1
- package/lib/SignerSignature.js.map +1 -1
- package/lib/StakingInfo.js.map +1 -1
- package/lib/Status.js.map +1 -1
- package/lib/StatusError.js.map +1 -1
- package/lib/Timestamp.js.map +1 -1
- package/lib/TransactionFeeSchedule.js.map +1 -1
- package/lib/Transfer.js.map +1 -1
- package/lib/Wallet.js.map +1 -1
- package/lib/account/AccountAllowanceAdjustTransaction.cjs +2 -1
- package/lib/account/AccountAllowanceAdjustTransaction.d.ts +4 -2
- package/lib/account/AccountAllowanceAdjustTransaction.js.map +1 -1
- package/lib/account/AccountAllowanceApproveTransaction.cjs +2 -1
- package/lib/account/AccountAllowanceApproveTransaction.d.ts +4 -2
- package/lib/account/AccountAllowanceApproveTransaction.js.map +1 -1
- package/lib/account/AccountAllowanceDeleteTransaction.cjs +2 -1
- package/lib/account/AccountAllowanceDeleteTransaction.d.ts +4 -2
- package/lib/account/AccountAllowanceDeleteTransaction.js.map +1 -1
- package/lib/account/AccountBalance.cjs +6 -15
- package/lib/account/AccountBalance.d.ts +2 -2
- package/lib/account/AccountBalance.js +1 -1
- package/lib/account/AccountBalance.js.map +1 -1
- package/lib/account/AccountBalanceQuery.cjs +5 -10
- package/lib/account/AccountBalanceQuery.d.ts +15 -2
- package/lib/account/AccountBalanceQuery.js +1 -1
- package/lib/account/AccountBalanceQuery.js.map +1 -1
- package/lib/account/AccountCreateTransaction.cjs +2 -1
- package/lib/account/AccountCreateTransaction.d.ts +4 -2
- package/lib/account/AccountCreateTransaction.js.map +1 -1
- package/lib/account/AccountDeleteTransaction.cjs +2 -1
- package/lib/account/AccountDeleteTransaction.d.ts +4 -2
- package/lib/account/AccountDeleteTransaction.js.map +1 -1
- package/lib/account/AccountId.js.map +1 -1
- package/lib/account/AccountInfo.js.map +1 -1
- package/lib/account/AccountInfoFlow.js.map +1 -1
- package/lib/account/AccountInfoQuery.cjs +2 -1
- package/lib/account/AccountInfoQuery.d.ts +8 -2
- package/lib/account/AccountInfoQuery.js.map +1 -1
- package/lib/account/AccountRecordsQuery.cjs +2 -1
- package/lib/account/AccountRecordsQuery.d.ts +8 -2
- package/lib/account/AccountRecordsQuery.js.map +1 -1
- package/lib/account/AccountUpdateTransaction.cjs +2 -1
- package/lib/account/AccountUpdateTransaction.d.ts +4 -2
- package/lib/account/AccountUpdateTransaction.js.map +1 -1
- package/lib/account/HbarAllowance.cjs +3 -1
- package/lib/account/HbarAllowance.d.ts +6 -2
- package/lib/account/HbarAllowance.js.map +1 -1
- package/lib/account/HbarTransferMap.js.map +1 -1
- package/lib/account/LiveHash.js.map +1 -1
- package/lib/account/LiveHashAddTransaction.cjs +2 -1
- package/lib/account/LiveHashAddTransaction.d.ts +4 -2
- package/lib/account/LiveHashAddTransaction.js.map +1 -1
- package/lib/account/LiveHashDeleteTransaction.cjs +2 -1
- package/lib/account/LiveHashDeleteTransaction.d.ts +4 -2
- package/lib/account/LiveHashDeleteTransaction.js.map +1 -1
- package/lib/account/LiveHashQuery.cjs +2 -1
- package/lib/account/LiveHashQuery.d.ts +8 -2
- package/lib/account/LiveHashQuery.js.map +1 -1
- package/lib/account/NullableTokenDecimalMap.js.map +1 -1
- package/lib/account/ProxyStaker.js.map +1 -1
- package/lib/account/TokenAllowance.cjs +3 -1
- package/lib/account/TokenAllowance.d.ts +6 -2
- package/lib/account/TokenAllowance.js.map +1 -1
- package/lib/account/TokenBalanceMap.js.map +1 -1
- package/lib/account/TokenDecimalMap.js.map +1 -1
- package/lib/account/TokenNftAllowance.cjs +3 -1
- package/lib/account/TokenNftAllowance.d.ts +6 -2
- package/lib/account/TokenNftAllowance.js.map +1 -1
- package/lib/account/TokenNftTransferMap.js.map +1 -1
- package/lib/account/TokenRelationship.js.map +1 -1
- package/lib/account/TokenRelationshipMap.js.map +1 -1
- package/lib/account/TokenTransferAccountMap.js.map +1 -1
- package/lib/account/TokenTransferMap.js.map +1 -1
- package/lib/account/TransferTransaction.cjs +6 -5
- package/lib/account/TransferTransaction.d.ts +6 -2
- package/lib/account/TransferTransaction.js +1 -1
- package/lib/account/TransferTransaction.js.map +1 -1
- package/lib/address_book/Endpoint.js.map +1 -1
- package/lib/address_book/IPv4Address.js.map +1 -1
- package/lib/address_book/IPv4AddressPart.js.map +1 -1
- package/lib/address_book/NodeAddress.js.map +1 -1
- package/lib/address_book/NodeAddressBook.js.map +1 -1
- package/lib/base32.js.map +1 -1
- package/lib/browser.js +1 -1
- package/lib/channel/Channel.js.map +1 -1
- package/lib/channel/MirrorChannel.js.map +1 -1
- package/lib/channel/NativeChannel.js.map +1 -1
- package/lib/channel/NodeChannel.js.map +1 -1
- package/lib/channel/NodeMirrorChannel.js.map +1 -1
- package/lib/channel/WebChannel.js.map +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/ManagedNetwork.js.map +1 -1
- package/lib/client/MirrorNetwork.js.map +1 -1
- package/lib/client/NativeClient.js.map +1 -1
- package/lib/client/Network.js.map +1 -1
- package/lib/client/NodeClient.js.map +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.js.map +1 -1
- package/lib/contract/ContractByteCodeQuery.js.map +1 -1
- package/lib/contract/ContractCallQuery.js.map +1 -1
- package/lib/contract/ContractCreateFlow.js.map +1 -1
- package/lib/contract/ContractCreateTransaction.cjs +2 -1
- package/lib/contract/ContractCreateTransaction.d.ts +4 -2
- package/lib/contract/ContractCreateTransaction.js.map +1 -1
- package/lib/contract/ContractDeleteTransaction.cjs +2 -1
- package/lib/contract/ContractDeleteTransaction.d.ts +4 -2
- package/lib/contract/ContractDeleteTransaction.js.map +1 -1
- package/lib/contract/ContractExecuteTransaction.d.ts +4 -0
- package/lib/contract/ContractExecuteTransaction.js.map +1 -1
- package/lib/contract/ContractFunctionParameters.js.map +1 -1
- package/lib/contract/ContractFunctionResult.js.map +1 -1
- package/lib/contract/ContractFunctionSelector.js.map +1 -1
- package/lib/contract/ContractId.js.map +1 -1
- package/lib/contract/ContractInfo.js.map +1 -1
- package/lib/contract/ContractInfoQuery.js.map +1 -1
- package/lib/contract/ContractLogInfo.js.map +1 -1
- package/lib/contract/ContractNonceInfo.js.map +1 -1
- package/lib/contract/ContractUpdateTransaction.cjs +2 -1
- package/lib/contract/ContractUpdateTransaction.d.ts +4 -2
- package/lib/contract/ContractUpdateTransaction.js.map +1 -1
- package/lib/contract/DelegateContractId.js.map +1 -1
- package/lib/cryptography/keccak.js.map +1 -1
- package/lib/encoding/hex.js.map +1 -1
- package/lib/file/FileAppendTransaction.cjs +5 -4
- package/lib/file/FileAppendTransaction.d.ts +10 -12
- package/lib/file/FileAppendTransaction.js.map +1 -1
- package/lib/file/FileContentsQuery.js.map +1 -1
- package/lib/file/FileCreateTransaction.js.map +1 -1
- package/lib/file/FileDeleteTransaction.d.ts +4 -0
- package/lib/file/FileDeleteTransaction.js.map +1 -1
- package/lib/file/FileId.js.map +1 -1
- package/lib/file/FileInfo.js.map +1 -1
- package/lib/file/FileInfoQuery.js.map +1 -1
- package/lib/file/FileUpdateTransaction.d.ts +4 -0
- package/lib/file/FileUpdateTransaction.js.map +1 -1
- package/lib/grpc/GrpcServiceError.js.map +1 -1
- package/lib/grpc/GrpcStatus.js.map +1 -1
- package/lib/http/HttpError.js.map +1 -1
- package/lib/http/HttpStatus.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/logger/LogLevel.js.map +1 -1
- package/lib/logger/Logger.js.map +1 -1
- package/lib/native.js +1 -1
- package/lib/network/AddressBookQuery.js.map +1 -1
- package/lib/network/AddressBookQueryWeb.js.map +1 -1
- package/lib/network/NetworkVersionInfo.js.map +1 -1
- package/lib/network/NetworkVersionInfoQuery.js.map +1 -1
- package/lib/network/SemanticVersion.js.map +1 -1
- package/lib/node/NodeCreateTransaction.js.map +1 -1
- package/lib/node/NodeDeleteTransaction.js.map +1 -1
- package/lib/node/NodeUpdateTransaction.js.map +1 -1
- package/lib/node/ServiceEndpoint.js.map +1 -1
- package/lib/query/CostQuery.js.map +1 -1
- package/lib/query/MirrorNodeContractCallQuery.js.map +1 -1
- package/lib/query/MirrorNodeContractEstimateQuery.js.map +1 -1
- package/lib/query/MirrorNodeContractQuery.js.map +1 -1
- package/lib/query/Query.js.map +1 -1
- package/lib/query/QueryBase.js.map +1 -1
- package/lib/schedule/ScheduleCreateTransaction.cjs +2 -1
- package/lib/schedule/ScheduleCreateTransaction.d.ts +4 -2
- package/lib/schedule/ScheduleCreateTransaction.js.map +1 -1
- package/lib/schedule/ScheduleDeleteTransaction.d.ts +4 -0
- package/lib/schedule/ScheduleDeleteTransaction.js.map +1 -1
- package/lib/schedule/ScheduleId.js.map +1 -1
- package/lib/schedule/ScheduleInfo.js.map +1 -1
- package/lib/schedule/ScheduleInfoQuery.js.map +1 -1
- package/lib/schedule/ScheduleSignTransaction.d.ts +4 -0
- package/lib/schedule/ScheduleSignTransaction.js.map +1 -1
- package/lib/system/FreezeTransaction.js.map +1 -1
- package/lib/system/SystemDeleteTransaction.js.map +1 -1
- package/lib/system/SystemUndeleteTransaction.js.map +1 -1
- package/lib/token/AbstractTokenTransferTransaction.js.map +1 -1
- package/lib/token/AirdropPendingTransaction.js.map +1 -1
- package/lib/token/AssessedCustomFee.js.map +1 -1
- package/lib/token/CustomFee.js.map +1 -1
- package/lib/token/CustomFixedFee.js.map +1 -1
- package/lib/token/CustomFractionalFee.js.map +1 -1
- package/lib/token/CustomRoyaltyFee.js.map +1 -1
- package/lib/token/FeeAssessmentMethod.js.map +1 -1
- package/lib/token/NftId.js.map +1 -1
- package/lib/token/PendingAirdropId.js.map +1 -1
- package/lib/token/PendingAirdropRecord.js.map +1 -1
- package/lib/token/TokenAirdropTransaction.js.map +1 -1
- package/lib/token/TokenAssociateTransaction.cjs +2 -1
- package/lib/token/TokenAssociateTransaction.d.ts +4 -2
- package/lib/token/TokenAssociateTransaction.js.map +1 -1
- package/lib/token/TokenAssociation.js.map +1 -1
- package/lib/token/TokenBurnTransaction.d.ts +4 -0
- package/lib/token/TokenBurnTransaction.js.map +1 -1
- package/lib/token/TokenCancelAirdropTransaction.js.map +1 -1
- package/lib/token/TokenClaimAirdropTransaction.js.map +1 -1
- package/lib/token/TokenCreateTransaction.cjs +2 -1
- package/lib/token/TokenCreateTransaction.d.ts +4 -2
- package/lib/token/TokenCreateTransaction.js.map +1 -1
- package/lib/token/TokenDeleteTransaction.d.ts +4 -0
- package/lib/token/TokenDeleteTransaction.js.map +1 -1
- package/lib/token/TokenDissociateTransaction.cjs +2 -1
- package/lib/token/TokenDissociateTransaction.d.ts +4 -2
- package/lib/token/TokenDissociateTransaction.js.map +1 -1
- package/lib/token/TokenFeeScheduleUpdateTransaction.js.map +1 -1
- package/lib/token/TokenFreezeTransaction.cjs +2 -1
- package/lib/token/TokenFreezeTransaction.d.ts +4 -2
- package/lib/token/TokenFreezeTransaction.js.map +1 -1
- package/lib/token/TokenGrantKycTransaction.cjs +2 -1
- package/lib/token/TokenGrantKycTransaction.d.ts +4 -2
- package/lib/token/TokenGrantKycTransaction.js.map +1 -1
- package/lib/token/TokenId.js.map +1 -1
- package/lib/token/TokenInfo.js.map +1 -1
- package/lib/token/TokenInfoQuery.js.map +1 -1
- package/lib/token/TokenKeyValidation.js.map +1 -1
- package/lib/token/TokenMintTransaction.d.ts +4 -0
- package/lib/token/TokenMintTransaction.js.map +1 -1
- package/lib/token/TokenNftInfo.js.map +1 -1
- package/lib/token/TokenNftInfoQuery.js.map +1 -1
- package/lib/token/TokenNftTransfer.js.map +1 -1
- package/lib/token/TokenNftsUpdateTransaction.d.ts +4 -0
- package/lib/token/TokenPauseTransaction.d.ts +4 -0
- package/lib/token/TokenPauseTransaction.js.map +1 -1
- package/lib/token/TokenReference.js.map +1 -1
- package/lib/token/TokenRejectFlow.cjs +3 -1
- package/lib/token/TokenRejectFlow.d.ts +6 -2
- package/lib/token/TokenRejectFlow.js.map +1 -1
- package/lib/token/TokenRejectTransaction.js.map +1 -1
- package/lib/token/TokenRevokeKycTransaction.cjs +2 -1
- package/lib/token/TokenRevokeKycTransaction.d.ts +4 -2
- package/lib/token/TokenRevokeKycTransaction.js.map +1 -1
- package/lib/token/TokenSupplyType.js.map +1 -1
- package/lib/token/TokenTransfer.js.map +1 -1
- package/lib/token/TokenType.js.map +1 -1
- package/lib/token/TokenUnfreezeTransaction.cjs +2 -1
- package/lib/token/TokenUnfreezeTransaction.d.ts +4 -2
- package/lib/token/TokenUnfreezeTransaction.js.map +1 -1
- package/lib/token/TokenUnpauseTransaction.d.ts +4 -0
- package/lib/token/TokenUnpauseTransaction.js.map +1 -1
- package/lib/token/TokenUpdateNftsTransaction.d.ts +4 -0
- package/lib/token/TokenUpdateNftsTransaction.js.map +1 -1
- package/lib/token/TokenUpdateTransaction.cjs +2 -1
- package/lib/token/TokenUpdateTransaction.d.ts +4 -2
- package/lib/token/TokenUpdateTransaction.js.map +1 -1
- package/lib/token/TokenWipeTransaction.cjs +2 -1
- package/lib/token/TokenWipeTransaction.d.ts +4 -2
- package/lib/token/TokenWipeTransaction.js.map +1 -1
- package/lib/topic/SubscriptionHandle.js.map +1 -1
- package/lib/topic/TopicCreateTransaction.cjs +2 -1
- package/lib/topic/TopicCreateTransaction.d.ts +4 -2
- package/lib/topic/TopicCreateTransaction.js.map +1 -1
- package/lib/topic/TopicDeleteTransaction.d.ts +4 -0
- package/lib/topic/TopicDeleteTransaction.js.map +1 -1
- package/lib/topic/TopicId.js.map +1 -1
- package/lib/topic/TopicInfo.js.map +1 -1
- package/lib/topic/TopicInfoQuery.js.map +1 -1
- package/lib/topic/TopicMessage.js.map +1 -1
- package/lib/topic/TopicMessageChunk.js.map +1 -1
- package/lib/topic/TopicMessageQuery.js.map +1 -1
- package/lib/topic/TopicMessageSubmitTransaction.js.map +1 -1
- package/lib/topic/TopicUpdateTransaction.cjs +2 -1
- package/lib/topic/TopicUpdateTransaction.d.ts +4 -2
- package/lib/topic/TopicUpdateTransaction.js.map +1 -1
- package/lib/transaction/BatchTransaction.js.map +1 -1
- package/lib/transaction/CustomFeeLimit.js.map +1 -1
- package/lib/transaction/List.js.map +1 -1
- package/lib/transaction/NodeAccountIdSignatureMap.js.map +1 -1
- package/lib/transaction/NodeAccountIdSignatureMapLegacy.js.map +1 -1
- package/lib/transaction/SignableNodeTransactionBodyBytes.js.map +1 -1
- package/lib/transaction/SignatureMap.js.map +1 -1
- package/lib/transaction/SignatureMapLegacy.js.map +1 -1
- package/lib/transaction/SignaturePairMap.js.map +1 -1
- package/lib/transaction/Transaction.cjs +83 -15
- package/lib/transaction/Transaction.d.ts +33 -4
- package/lib/transaction/Transaction.js +1 -1
- package/lib/transaction/Transaction.js.map +1 -1
- package/lib/transaction/TransactionHashMap.js.map +1 -1
- package/lib/transaction/TransactionId.js.map +1 -1
- package/lib/transaction/TransactionReceipt.js.map +1 -1
- package/lib/transaction/TransactionReceiptQuery.cjs +2 -1
- package/lib/transaction/TransactionReceiptQuery.d.ts +8 -2
- package/lib/transaction/TransactionReceiptQuery.js.map +1 -1
- package/lib/transaction/TransactionRecord.js.map +1 -1
- package/lib/transaction/TransactionRecordQuery.cjs +2 -1
- package/lib/transaction/TransactionRecordQuery.d.ts +8 -2
- package/lib/transaction/TransactionRecordQuery.js.map +1 -1
- package/lib/transaction/TransactionResponse.cjs +85 -10
- package/lib/transaction/TransactionResponse.d.ts +39 -4
- package/lib/transaction/TransactionResponse.js +1 -1
- package/lib/transaction/TransactionResponse.js.map +1 -1
- package/lib/util/ASN1-Decoder.js.map +1 -1
- package/lib/util.js.map +1 -1
- package/lib/version.js +1 -1
- package/package.json +21 -19
- package/src/Executable.js +13 -8
- package/src/account/AccountAllowanceAdjustTransaction.js +2 -1
- package/src/account/AccountAllowanceApproveTransaction.js +2 -1
- package/src/account/AccountAllowanceDeleteTransaction.js +2 -1
- package/src/account/AccountBalance.js +7 -15
- package/src/account/AccountBalanceQuery.js +5 -9
- package/src/account/AccountCreateTransaction.js +2 -1
- package/src/account/AccountDeleteTransaction.js +2 -1
- package/src/account/AccountInfoQuery.js +2 -1
- package/src/account/AccountRecordsQuery.js +2 -1
- package/src/account/AccountUpdateTransaction.js +2 -1
- package/src/account/HbarAllowance.js +3 -1
- package/src/account/LiveHashAddTransaction.js +2 -1
- package/src/account/LiveHashDeleteTransaction.js +2 -1
- package/src/account/LiveHashQuery.js +2 -1
- package/src/account/TokenAllowance.js +3 -1
- package/src/account/TokenNftAllowance.js +3 -1
- package/src/account/TransferTransaction.js +6 -4
- 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 +2 -1
- package/src/contract/ContractDeleteTransaction.js +2 -1
- package/src/contract/ContractUpdateTransaction.js +2 -1
- package/src/file/FileAppendTransaction.js +5 -4
- package/src/schedule/ScheduleCreateTransaction.js +2 -1
- package/src/token/TokenAssociateTransaction.js +2 -1
- package/src/token/TokenCreateTransaction.js +2 -1
- package/src/token/TokenDissociateTransaction.js +2 -1
- package/src/token/TokenFreezeTransaction.js +2 -1
- package/src/token/TokenGrantKycTransaction.js +2 -1
- package/src/token/TokenRejectFlow.js +3 -1
- package/src/token/TokenRevokeKycTransaction.js +2 -1
- package/src/token/TokenUnfreezeTransaction.js +2 -1
- package/src/token/TokenUpdateTransaction.js +2 -1
- package/src/token/TokenWipeTransaction.js +2 -1
- package/src/topic/TopicCreateTransaction.js +2 -1
- package/src/topic/TopicUpdateTransaction.js +2 -1
- package/src/transaction/Transaction.js +139 -19
- package/src/transaction/TransactionReceiptQuery.js +2 -1
- package/src/transaction/TransactionRecordQuery.js +2 -1
- package/src/transaction/TransactionResponse.js +101 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractFunctionSelector.js","sources":["../../src/contract/ContractFunctionSelector.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport { keccak256 } from \"../cryptography/keccak.js\";\nimport * as hex from \"../encoding/hex.js\";\nimport * as utf8 from \"../encoding/utf8.js\";\n\n/**\n * @enum {number}\n */\nexport const ArgumentType = {\n uint8: 0,\n int8: 1,\n uint16: 2,\n int16: 3,\n uint24: 4,\n int24: 5,\n uint32: 6,\n int32: 7,\n uint40: 8,\n int40: 9,\n uint48: 10,\n int48: 11,\n uint56: 12,\n int56: 13,\n uint64: 14,\n int64: 15,\n uint72: 16,\n int72: 17,\n uint80: 18,\n int80: 19,\n uint88: 20,\n int88: 21,\n uint96: 22,\n int96: 23,\n uint104: 24,\n int104: 25,\n uint112: 26,\n int112: 27,\n uint120: 28,\n int120: 29,\n uint128: 30,\n int128: 31,\n uint136: 32,\n int136: 33,\n uint144: 34,\n int144: 35,\n uint152: 36,\n int152: 37,\n uint160: 38,\n int160: 39,\n uint168: 40,\n int168: 41,\n uint176: 42,\n int176: 43,\n uint184: 44,\n int184: 45,\n uint192: 46,\n int192: 47,\n uint200: 48,\n int200: 49,\n uint208: 50,\n int208: 51,\n uint216: 52,\n int216: 53,\n uint224: 54,\n int224: 55,\n uint232: 56,\n int232: 57,\n uint240: 58,\n int240: 59,\n uint248: 60,\n int248: 61,\n uint256: 62,\n int256: 63,\n string: 64,\n bool: 65,\n bytes: 66,\n bytes32: 67,\n address: 68,\n func: 69,\n};\n\n/**\n * @typedef {object} Argument\n * @property {boolean} dynamic\n * @property {Uint8Array} value\n */\n\n/**\n * @typedef {object} SolidityType\n * @property {ArgumentType} ty\n * @property {boolean} array\n */\n\n/**\n * Class to help construct function selectors for Hedera smart contract function calls.\n * Function selectors are the first 4 bytes of the Keccak-256 hash of the function's signature.\n *\n * This class provides methods to build function signatures by adding parameters of various Solidity types.\n * It supports all standard Solidity parameter types and their array variants.\n */\nexport default class ContractFunctionSelector {\n /**\n * @param {string} [name]\n */\n constructor(name) {\n /**\n * @type {?string}\n */\n this.name = null;\n\n /**\n * @type {string}\n */\n this._params = \"\";\n\n /**\n * @type {SolidityType[]}\n */\n this._paramTypes = [];\n\n if (name != null) {\n this._name = name;\n }\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addString() {\n return this._addParam({ ty: ArgumentType.string, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addStringArray() {\n return this._addParam({ ty: ArgumentType.string, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes() {\n return this._addParam({ ty: ArgumentType.bytes, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes32() {\n return this._addParam({ ty: ArgumentType.bytes32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytesArray() {\n return this._addParam({ ty: ArgumentType.bytes, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes32Array() {\n return this._addParam({ ty: ArgumentType.bytes32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt8() {\n return this._addParam({ ty: ArgumentType.int8, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint8() {\n return this._addParam({ ty: ArgumentType.uint8, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt16() {\n return this._addParam({ ty: ArgumentType.int16, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint16() {\n return this._addParam({ ty: ArgumentType.uint16, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt24() {\n return this._addParam({ ty: ArgumentType.int24, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint24() {\n return this._addParam({ ty: ArgumentType.uint24, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt32() {\n return this._addParam({ ty: ArgumentType.int32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint32() {\n return this._addParam({ ty: ArgumentType.uint32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt40() {\n return this._addParam({ ty: ArgumentType.int40, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint40() {\n return this._addParam({ ty: ArgumentType.uint40, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt48() {\n return this._addParam({ ty: ArgumentType.int48, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint48() {\n return this._addParam({ ty: ArgumentType.uint48, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt56() {\n return this._addParam({ ty: ArgumentType.int56, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint56() {\n return this._addParam({ ty: ArgumentType.uint56, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt64() {\n return this._addParam({ ty: ArgumentType.int64, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint64() {\n return this._addParam({ ty: ArgumentType.uint64, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt72() {\n return this._addParam({ ty: ArgumentType.int72, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint72() {\n return this._addParam({ ty: ArgumentType.uint72, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt80() {\n return this._addParam({ ty: ArgumentType.int80, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint80() {\n return this._addParam({ ty: ArgumentType.uint80, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt88() {\n return this._addParam({ ty: ArgumentType.int88, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint88() {\n return this._addParam({ ty: ArgumentType.uint88, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt96() {\n return this._addParam({ ty: ArgumentType.int96, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint96() {\n return this._addParam({ ty: ArgumentType.uint96, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt104() {\n return this._addParam({ ty: ArgumentType.int104, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint104() {\n return this._addParam({ ty: ArgumentType.uint104, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt112() {\n return this._addParam({ ty: ArgumentType.int112, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint112() {\n return this._addParam({ ty: ArgumentType.uint112, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt120() {\n return this._addParam({ ty: ArgumentType.int120, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint120() {\n return this._addParam({ ty: ArgumentType.uint120, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt128() {\n return this._addParam({ ty: ArgumentType.int128, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint128() {\n return this._addParam({ ty: ArgumentType.uint128, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt136() {\n return this._addParam({ ty: ArgumentType.int136, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint136() {\n return this._addParam({ ty: ArgumentType.uint136, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt144() {\n return this._addParam({ ty: ArgumentType.int144, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint144() {\n return this._addParam({ ty: ArgumentType.uint144, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt152() {\n return this._addParam({ ty: ArgumentType.int152, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint152() {\n return this._addParam({ ty: ArgumentType.uint152, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt160() {\n return this._addParam({ ty: ArgumentType.int160, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint160() {\n return this._addParam({ ty: ArgumentType.uint160, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt168() {\n return this._addParam({ ty: ArgumentType.int168, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint168() {\n return this._addParam({ ty: ArgumentType.uint168, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt176() {\n return this._addParam({ ty: ArgumentType.int176, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint176() {\n return this._addParam({ ty: ArgumentType.uint176, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt184() {\n return this._addParam({ ty: ArgumentType.int184, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint184() {\n return this._addParam({ ty: ArgumentType.uint184, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt192() {\n return this._addParam({ ty: ArgumentType.int192, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint192() {\n return this._addParam({ ty: ArgumentType.uint192, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt200() {\n return this._addParam({ ty: ArgumentType.int200, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint200() {\n return this._addParam({ ty: ArgumentType.uint200, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt208() {\n return this._addParam({ ty: ArgumentType.int208, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint208() {\n return this._addParam({ ty: ArgumentType.uint208, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt216() {\n return this._addParam({ ty: ArgumentType.int216, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint216() {\n return this._addParam({ ty: ArgumentType.uint216, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt224() {\n return this._addParam({ ty: ArgumentType.int224, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint224() {\n return this._addParam({ ty: ArgumentType.uint224, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt232() {\n return this._addParam({ ty: ArgumentType.int232, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint232() {\n return this._addParam({ ty: ArgumentType.uint232, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt240() {\n return this._addParam({ ty: ArgumentType.int240, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint240() {\n return this._addParam({ ty: ArgumentType.uint240, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt248() {\n return this._addParam({ ty: ArgumentType.int248, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint248() {\n return this._addParam({ ty: ArgumentType.uint248, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt256() {\n return this._addParam({ ty: ArgumentType.int256, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint256() {\n return this._addParam({ ty: ArgumentType.uint256, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt8Array() {\n return this._addParam({ ty: ArgumentType.int8, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint8Array() {\n return this._addParam({ ty: ArgumentType.uint8, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt16Array() {\n return this._addParam({ ty: ArgumentType.int16, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint16Array() {\n return this._addParam({ ty: ArgumentType.uint16, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt24Array() {\n return this._addParam({ ty: ArgumentType.int24, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint24Array() {\n return this._addParam({ ty: ArgumentType.uint24, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt32Array() {\n return this._addParam({ ty: ArgumentType.int32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint32Array() {\n return this._addParam({ ty: ArgumentType.uint32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt40Array() {\n return this._addParam({ ty: ArgumentType.int40, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint40Array() {\n return this._addParam({ ty: ArgumentType.uint40, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt48Array() {\n return this._addParam({ ty: ArgumentType.int48, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint48Array() {\n return this._addParam({ ty: ArgumentType.uint48, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt56Array() {\n return this._addParam({ ty: ArgumentType.int56, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint56Array() {\n return this._addParam({ ty: ArgumentType.uint56, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt64Array() {\n return this._addParam({ ty: ArgumentType.int64, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint64Array() {\n return this._addParam({ ty: ArgumentType.uint64, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt72Array() {\n return this._addParam({ ty: ArgumentType.int72, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint72Array() {\n return this._addParam({ ty: ArgumentType.uint72, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt80Array() {\n return this._addParam({ ty: ArgumentType.int80, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint80Array() {\n return this._addParam({ ty: ArgumentType.uint80, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt88Array() {\n return this._addParam({ ty: ArgumentType.int88, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint88Array() {\n return this._addParam({ ty: ArgumentType.uint88, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt96Array() {\n return this._addParam({ ty: ArgumentType.int96, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint96Array() {\n return this._addParam({ ty: ArgumentType.uint96, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt104Array() {\n return this._addParam({ ty: ArgumentType.int104, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint104Array() {\n return this._addParam({ ty: ArgumentType.uint104, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt112Array() {\n return this._addParam({ ty: ArgumentType.int112, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint112Array() {\n return this._addParam({ ty: ArgumentType.uint112, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt120Array() {\n return this._addParam({ ty: ArgumentType.int120, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint120Array() {\n return this._addParam({ ty: ArgumentType.uint120, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt128Array() {\n return this._addParam({ ty: ArgumentType.int128, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint128Array() {\n return this._addParam({ ty: ArgumentType.uint128, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt136Array() {\n return this._addParam({ ty: ArgumentType.int136, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint136Array() {\n return this._addParam({ ty: ArgumentType.uint136, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt144Array() {\n return this._addParam({ ty: ArgumentType.int144, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint144Array() {\n return this._addParam({ ty: ArgumentType.uint144, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt152Array() {\n return this._addParam({ ty: ArgumentType.int152, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint152Array() {\n return this._addParam({ ty: ArgumentType.uint152, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt160Array() {\n return this._addParam({ ty: ArgumentType.int160, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint160Array() {\n return this._addParam({ ty: ArgumentType.uint160, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt168Array() {\n return this._addParam({ ty: ArgumentType.int168, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint168Array() {\n return this._addParam({ ty: ArgumentType.uint168, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt176Array() {\n return this._addParam({ ty: ArgumentType.int176, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint176Array() {\n return this._addParam({ ty: ArgumentType.uint176, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt184Array() {\n return this._addParam({ ty: ArgumentType.int184, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint184Array() {\n return this._addParam({ ty: ArgumentType.uint184, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt192Array() {\n return this._addParam({ ty: ArgumentType.int192, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint192Array() {\n return this._addParam({ ty: ArgumentType.uint192, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt200Array() {\n return this._addParam({ ty: ArgumentType.int200, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint200Array() {\n return this._addParam({ ty: ArgumentType.uint200, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt208Array() {\n return this._addParam({ ty: ArgumentType.int208, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint208Array() {\n return this._addParam({ ty: ArgumentType.uint208, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt216Array() {\n return this._addParam({ ty: ArgumentType.int216, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint216Array() {\n return this._addParam({ ty: ArgumentType.uint216, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt224Array() {\n return this._addParam({ ty: ArgumentType.int224, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint224Array() {\n return this._addParam({ ty: ArgumentType.uint224, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt232Array() {\n return this._addParam({ ty: ArgumentType.int232, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint232Array() {\n return this._addParam({ ty: ArgumentType.uint232, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt240Array() {\n return this._addParam({ ty: ArgumentType.int240, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint240Array() {\n return this._addParam({ ty: ArgumentType.uint240, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt248Array() {\n return this._addParam({ ty: ArgumentType.int248, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint248Array() {\n return this._addParam({ ty: ArgumentType.uint248, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt256Array() {\n return this._addParam({ ty: ArgumentType.int256, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint256Array() {\n return this._addParam({ ty: ArgumentType.uint256, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBool() {\n return this._addParam({ ty: ArgumentType.bool, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addAddress() {\n return this._addParam({ ty: ArgumentType.address, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addAddressArray() {\n return this._addParam({ ty: ArgumentType.address, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addFunction() {\n return this._addParam({ ty: ArgumentType.func, array: false });\n }\n\n /**\n * @param {SolidityType} ty\n * @returns {ContractFunctionSelector}\n */\n _addParam(ty) {\n if (this._paramTypes.length > 0) {\n this._params += \",\";\n }\n\n this._params += solidityTypeToString(ty);\n this._paramTypes.push(ty);\n\n return this;\n }\n\n /**\n * @param {string} [name]\n * @returns {Uint8Array}\n */\n _build(name) {\n if (name != null) {\n this._name = name;\n } else if (this._name == null) {\n throw new Error(\"`name` required for ContractFunctionSelector\");\n }\n\n const func = hex.encode(utf8.encode(this.toString()));\n return hex.decode(keccak256(`0x${func}`)).slice(0, 4);\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return `${this._name != null ? this._name.toString() : \"\"}(${\n this._params\n })`;\n }\n}\n\n/**\n * @param {SolidityType} ty\n * @returns {string}\n */\nexport function solidityTypeToString(ty) {\n let s = \"\";\n switch (ty.ty) {\n case ArgumentType.uint8:\n s = \"uint8\";\n break;\n case ArgumentType.int8:\n s = \"int8\";\n break;\n case ArgumentType.uint16:\n s = \"uint16\";\n break;\n case ArgumentType.int16:\n s = \"int16\";\n break;\n case ArgumentType.uint24:\n s = \"uint24\";\n break;\n case ArgumentType.int24:\n s = \"int24\";\n break;\n case ArgumentType.uint32:\n s = \"uint32\";\n break;\n case ArgumentType.int32:\n s = \"int32\";\n break;\n case ArgumentType.uint40:\n s = \"uint40\";\n break;\n case ArgumentType.int40:\n s = \"int40\";\n break;\n case ArgumentType.uint48:\n s = \"uint48\";\n break;\n case ArgumentType.int48:\n s = \"int48\";\n break;\n case ArgumentType.uint56:\n s = \"uint56\";\n break;\n case ArgumentType.int56:\n s = \"int56\";\n break;\n case ArgumentType.uint64:\n s = \"uint64\";\n break;\n case ArgumentType.int64:\n s = \"int64\";\n break;\n case ArgumentType.uint72:\n s = \"uint72\";\n break;\n case ArgumentType.int72:\n s = \"int72\";\n break;\n case ArgumentType.uint80:\n s = \"uint80\";\n break;\n case ArgumentType.int80:\n s = \"int80\";\n break;\n case ArgumentType.uint88:\n s = \"uint88\";\n break;\n case ArgumentType.int88:\n s = \"int88\";\n break;\n case ArgumentType.uint96:\n s = \"uint96\";\n break;\n case ArgumentType.int96:\n s = \"int96\";\n break;\n case ArgumentType.uint104:\n s = \"uint104\";\n break;\n case ArgumentType.int104:\n s = \"int104\";\n break;\n case ArgumentType.uint112:\n s = \"uint112\";\n break;\n case ArgumentType.int112:\n s = \"int112\";\n break;\n case ArgumentType.uint120:\n s = \"uint120\";\n break;\n case ArgumentType.int120:\n s = \"int120\";\n break;\n case ArgumentType.uint128:\n s = \"uint128\";\n break;\n case ArgumentType.int128:\n s = \"int128\";\n break;\n case ArgumentType.uint136:\n s = \"uint136\";\n break;\n case ArgumentType.int136:\n s = \"int136\";\n break;\n case ArgumentType.uint144:\n s = \"uint144\";\n break;\n case ArgumentType.int144:\n s = \"int144\";\n break;\n case ArgumentType.uint152:\n s = \"uint152\";\n break;\n case ArgumentType.int152:\n s = \"int152\";\n break;\n case ArgumentType.uint160:\n s = \"uint160\";\n break;\n case ArgumentType.int160:\n s = \"int160\";\n break;\n case ArgumentType.uint168:\n s = \"uint168\";\n break;\n case ArgumentType.int168:\n s = \"int168\";\n break;\n case ArgumentType.uint176:\n s = \"uint176\";\n break;\n case ArgumentType.int176:\n s = \"int176\";\n break;\n case ArgumentType.uint184:\n s = \"uint184\";\n break;\n case ArgumentType.int184:\n s = \"int184\";\n break;\n case ArgumentType.uint192:\n s = \"uint192\";\n break;\n case ArgumentType.int192:\n s = \"int192\";\n break;\n case ArgumentType.uint200:\n s = \"uint200\";\n break;\n case ArgumentType.int200:\n s = \"int200\";\n break;\n case ArgumentType.uint208:\n s = \"uint208\";\n break;\n case ArgumentType.int208:\n s = \"int208\";\n break;\n case ArgumentType.uint216:\n s = \"uint216\";\n break;\n case ArgumentType.int216:\n s = \"int216\";\n break;\n case ArgumentType.uint224:\n s = \"uint224\";\n break;\n case ArgumentType.int224:\n s = \"int224\";\n break;\n case ArgumentType.uint232:\n s = \"uint232\";\n break;\n case ArgumentType.int232:\n s = \"int232\";\n break;\n case ArgumentType.uint240:\n s = \"uint240\";\n break;\n case ArgumentType.int240:\n s = \"int240\";\n break;\n case ArgumentType.uint248:\n s = \"uint248\";\n break;\n case ArgumentType.int248:\n s = \"int248\";\n break;\n case ArgumentType.uint256:\n s = \"uint256\";\n break;\n case ArgumentType.int256:\n s = \"int256\";\n break;\n case ArgumentType.string:\n s = \"string\";\n break;\n case ArgumentType.bool:\n s = \"bool\";\n break;\n case ArgumentType.bytes:\n s = \"bytes\";\n break;\n case ArgumentType.bytes32:\n s = \"bytes32\";\n break;\n case ArgumentType.address:\n s = \"address\";\n break;\n case ArgumentType.func:\n s = \"function\";\n break;\n default:\n s = \"\";\n break;\n }\n\n if (ty.array) {\n s += \"[]\";\n }\n\n return s;\n}\n"],"names":["ArgumentType","uint8","int8","uint16","int16","uint24","int24","uint32","int32","uint40","int40","uint48","int48","uint56","int56","uint64","int64","uint72","int72","uint80","int80","uint88","int88","uint96","int96","uint104","int104","uint112","int112","uint120","int120","uint128","int128","uint136","int136","uint144","int144","uint152","int152","uint160","int160","uint168","int168","uint176","int176","uint184","int184","uint192","int192","uint200","int200","uint208","int208","uint216","int216","uint224","int224","uint232","int232","uint240","int240","uint248","int248","uint256","int256","string","bool","bytes","bytes32","address","func","ContractFunctionSelector","constructor","name","this","_params","_paramTypes","_name","addString","_addParam","ty","array","addStringArray","addBytes","addBytes32","addBytesArray","addBytes32Array","addInt8","addUint8","addInt16","addUint16","addInt24","addUint24","addInt32","addUint32","addInt40","addUint40","addInt48","addUint48","addInt56","addUint56","addInt64","addUint64","addInt72","addUint72","addInt80","addUint80","addInt88","addUint88","addInt96","addUint96","addInt104","addUint104","addInt112","addUint112","addInt120","addUint120","addInt128","addUint128","addInt136","addUint136","addInt144","addUint144","addInt152","addUint152","addInt160","addUint160","addInt168","addUint168","addInt176","addUint176","addInt184","addUint184","addInt192","addUint192","addInt200","addUint200","addInt208","addUint208","addInt216","addUint216","addInt224","addUint224","addInt232","addUint232","addInt240","addUint240","addInt248","addUint248","addInt256","addUint256","addInt8Array","addUint8Array","addInt16Array","addUint16Array","addInt24Array","addUint24Array","addInt32Array","addUint32Array","addInt40Array","addUint40Array","addInt48Array","addUint48Array","addInt56Array","addUint56Array","addInt64Array","addUint64Array","addInt72Array","addUint72Array","addInt80Array","addUint80Array","addInt88Array","addUint88Array","addInt96Array","addUint96Array","addInt104Array","addUint104Array","addInt112Array","addUint112Array","addInt120Array","addUint120Array","addInt128Array","addUint128Array","addInt136Array","addUint136Array","addInt144Array","addUint144Array","addInt152Array","addUint152Array","addInt160Array","addUint160Array","addInt168Array","addUint168Array","addInt176Array","addUint176Array","addInt184Array","addUint184Array","addInt192Array","addUint192Array","addInt200Array","addUint200Array","addInt208Array","addUint208Array","addInt216Array","addUint216Array","addInt224Array","addUint224Array","addInt232Array","addUint232Array","addInt240Array","addUint240Array","addInt248Array","addUint248Array","addInt256Array","addUint256Array","addBool","addAddress","addAddressArray","addFunction","length","solidityTypeToString","push","_build","Error","hex.encode","utf8.encode","toString","hex.decode","keccak256","slice","s"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContractFunctionSelector.js","sources":["../../src/contract/ContractFunctionSelector.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport { keccak256 } from \"../cryptography/keccak.js\";\nimport * as hex from \"../encoding/hex.js\";\nimport * as utf8 from \"../encoding/utf8.js\";\n\n/**\n * @enum {number}\n */\nexport const ArgumentType = {\n uint8: 0,\n int8: 1,\n uint16: 2,\n int16: 3,\n uint24: 4,\n int24: 5,\n uint32: 6,\n int32: 7,\n uint40: 8,\n int40: 9,\n uint48: 10,\n int48: 11,\n uint56: 12,\n int56: 13,\n uint64: 14,\n int64: 15,\n uint72: 16,\n int72: 17,\n uint80: 18,\n int80: 19,\n uint88: 20,\n int88: 21,\n uint96: 22,\n int96: 23,\n uint104: 24,\n int104: 25,\n uint112: 26,\n int112: 27,\n uint120: 28,\n int120: 29,\n uint128: 30,\n int128: 31,\n uint136: 32,\n int136: 33,\n uint144: 34,\n int144: 35,\n uint152: 36,\n int152: 37,\n uint160: 38,\n int160: 39,\n uint168: 40,\n int168: 41,\n uint176: 42,\n int176: 43,\n uint184: 44,\n int184: 45,\n uint192: 46,\n int192: 47,\n uint200: 48,\n int200: 49,\n uint208: 50,\n int208: 51,\n uint216: 52,\n int216: 53,\n uint224: 54,\n int224: 55,\n uint232: 56,\n int232: 57,\n uint240: 58,\n int240: 59,\n uint248: 60,\n int248: 61,\n uint256: 62,\n int256: 63,\n string: 64,\n bool: 65,\n bytes: 66,\n bytes32: 67,\n address: 68,\n func: 69,\n};\n\n/**\n * @typedef {object} Argument\n * @property {boolean} dynamic\n * @property {Uint8Array} value\n */\n\n/**\n * @typedef {object} SolidityType\n * @property {ArgumentType} ty\n * @property {boolean} array\n */\n\n/**\n * Class to help construct function selectors for Hedera smart contract function calls.\n * Function selectors are the first 4 bytes of the Keccak-256 hash of the function's signature.\n *\n * This class provides methods to build function signatures by adding parameters of various Solidity types.\n * It supports all standard Solidity parameter types and their array variants.\n */\nexport default class ContractFunctionSelector {\n /**\n * @param {string} [name]\n */\n constructor(name) {\n /**\n * @type {?string}\n */\n this.name = null;\n\n /**\n * @type {string}\n */\n this._params = \"\";\n\n /**\n * @type {SolidityType[]}\n */\n this._paramTypes = [];\n\n if (name != null) {\n this._name = name;\n }\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addString() {\n return this._addParam({ ty: ArgumentType.string, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addStringArray() {\n return this._addParam({ ty: ArgumentType.string, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes() {\n return this._addParam({ ty: ArgumentType.bytes, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes32() {\n return this._addParam({ ty: ArgumentType.bytes32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytesArray() {\n return this._addParam({ ty: ArgumentType.bytes, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBytes32Array() {\n return this._addParam({ ty: ArgumentType.bytes32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt8() {\n return this._addParam({ ty: ArgumentType.int8, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint8() {\n return this._addParam({ ty: ArgumentType.uint8, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt16() {\n return this._addParam({ ty: ArgumentType.int16, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint16() {\n return this._addParam({ ty: ArgumentType.uint16, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt24() {\n return this._addParam({ ty: ArgumentType.int24, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint24() {\n return this._addParam({ ty: ArgumentType.uint24, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt32() {\n return this._addParam({ ty: ArgumentType.int32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint32() {\n return this._addParam({ ty: ArgumentType.uint32, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt40() {\n return this._addParam({ ty: ArgumentType.int40, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint40() {\n return this._addParam({ ty: ArgumentType.uint40, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt48() {\n return this._addParam({ ty: ArgumentType.int48, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint48() {\n return this._addParam({ ty: ArgumentType.uint48, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt56() {\n return this._addParam({ ty: ArgumentType.int56, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint56() {\n return this._addParam({ ty: ArgumentType.uint56, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt64() {\n return this._addParam({ ty: ArgumentType.int64, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint64() {\n return this._addParam({ ty: ArgumentType.uint64, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt72() {\n return this._addParam({ ty: ArgumentType.int72, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint72() {\n return this._addParam({ ty: ArgumentType.uint72, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt80() {\n return this._addParam({ ty: ArgumentType.int80, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint80() {\n return this._addParam({ ty: ArgumentType.uint80, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt88() {\n return this._addParam({ ty: ArgumentType.int88, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint88() {\n return this._addParam({ ty: ArgumentType.uint88, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt96() {\n return this._addParam({ ty: ArgumentType.int96, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint96() {\n return this._addParam({ ty: ArgumentType.uint96, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt104() {\n return this._addParam({ ty: ArgumentType.int104, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint104() {\n return this._addParam({ ty: ArgumentType.uint104, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt112() {\n return this._addParam({ ty: ArgumentType.int112, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint112() {\n return this._addParam({ ty: ArgumentType.uint112, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt120() {\n return this._addParam({ ty: ArgumentType.int120, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint120() {\n return this._addParam({ ty: ArgumentType.uint120, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt128() {\n return this._addParam({ ty: ArgumentType.int128, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint128() {\n return this._addParam({ ty: ArgumentType.uint128, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt136() {\n return this._addParam({ ty: ArgumentType.int136, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint136() {\n return this._addParam({ ty: ArgumentType.uint136, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt144() {\n return this._addParam({ ty: ArgumentType.int144, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint144() {\n return this._addParam({ ty: ArgumentType.uint144, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt152() {\n return this._addParam({ ty: ArgumentType.int152, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint152() {\n return this._addParam({ ty: ArgumentType.uint152, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt160() {\n return this._addParam({ ty: ArgumentType.int160, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint160() {\n return this._addParam({ ty: ArgumentType.uint160, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt168() {\n return this._addParam({ ty: ArgumentType.int168, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint168() {\n return this._addParam({ ty: ArgumentType.uint168, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt176() {\n return this._addParam({ ty: ArgumentType.int176, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint176() {\n return this._addParam({ ty: ArgumentType.uint176, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt184() {\n return this._addParam({ ty: ArgumentType.int184, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint184() {\n return this._addParam({ ty: ArgumentType.uint184, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt192() {\n return this._addParam({ ty: ArgumentType.int192, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint192() {\n return this._addParam({ ty: ArgumentType.uint192, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt200() {\n return this._addParam({ ty: ArgumentType.int200, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint200() {\n return this._addParam({ ty: ArgumentType.uint200, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt208() {\n return this._addParam({ ty: ArgumentType.int208, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint208() {\n return this._addParam({ ty: ArgumentType.uint208, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt216() {\n return this._addParam({ ty: ArgumentType.int216, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint216() {\n return this._addParam({ ty: ArgumentType.uint216, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt224() {\n return this._addParam({ ty: ArgumentType.int224, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint224() {\n return this._addParam({ ty: ArgumentType.uint224, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt232() {\n return this._addParam({ ty: ArgumentType.int232, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint232() {\n return this._addParam({ ty: ArgumentType.uint232, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt240() {\n return this._addParam({ ty: ArgumentType.int240, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint240() {\n return this._addParam({ ty: ArgumentType.uint240, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt248() {\n return this._addParam({ ty: ArgumentType.int248, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint248() {\n return this._addParam({ ty: ArgumentType.uint248, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt256() {\n return this._addParam({ ty: ArgumentType.int256, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint256() {\n return this._addParam({ ty: ArgumentType.uint256, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt8Array() {\n return this._addParam({ ty: ArgumentType.int8, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint8Array() {\n return this._addParam({ ty: ArgumentType.uint8, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt16Array() {\n return this._addParam({ ty: ArgumentType.int16, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint16Array() {\n return this._addParam({ ty: ArgumentType.uint16, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt24Array() {\n return this._addParam({ ty: ArgumentType.int24, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint24Array() {\n return this._addParam({ ty: ArgumentType.uint24, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt32Array() {\n return this._addParam({ ty: ArgumentType.int32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint32Array() {\n return this._addParam({ ty: ArgumentType.uint32, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt40Array() {\n return this._addParam({ ty: ArgumentType.int40, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint40Array() {\n return this._addParam({ ty: ArgumentType.uint40, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt48Array() {\n return this._addParam({ ty: ArgumentType.int48, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint48Array() {\n return this._addParam({ ty: ArgumentType.uint48, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt56Array() {\n return this._addParam({ ty: ArgumentType.int56, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint56Array() {\n return this._addParam({ ty: ArgumentType.uint56, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt64Array() {\n return this._addParam({ ty: ArgumentType.int64, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint64Array() {\n return this._addParam({ ty: ArgumentType.uint64, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt72Array() {\n return this._addParam({ ty: ArgumentType.int72, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint72Array() {\n return this._addParam({ ty: ArgumentType.uint72, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt80Array() {\n return this._addParam({ ty: ArgumentType.int80, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint80Array() {\n return this._addParam({ ty: ArgumentType.uint80, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt88Array() {\n return this._addParam({ ty: ArgumentType.int88, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint88Array() {\n return this._addParam({ ty: ArgumentType.uint88, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt96Array() {\n return this._addParam({ ty: ArgumentType.int96, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint96Array() {\n return this._addParam({ ty: ArgumentType.uint96, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt104Array() {\n return this._addParam({ ty: ArgumentType.int104, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint104Array() {\n return this._addParam({ ty: ArgumentType.uint104, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt112Array() {\n return this._addParam({ ty: ArgumentType.int112, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint112Array() {\n return this._addParam({ ty: ArgumentType.uint112, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt120Array() {\n return this._addParam({ ty: ArgumentType.int120, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint120Array() {\n return this._addParam({ ty: ArgumentType.uint120, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt128Array() {\n return this._addParam({ ty: ArgumentType.int128, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint128Array() {\n return this._addParam({ ty: ArgumentType.uint128, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt136Array() {\n return this._addParam({ ty: ArgumentType.int136, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint136Array() {\n return this._addParam({ ty: ArgumentType.uint136, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt144Array() {\n return this._addParam({ ty: ArgumentType.int144, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint144Array() {\n return this._addParam({ ty: ArgumentType.uint144, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt152Array() {\n return this._addParam({ ty: ArgumentType.int152, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint152Array() {\n return this._addParam({ ty: ArgumentType.uint152, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt160Array() {\n return this._addParam({ ty: ArgumentType.int160, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint160Array() {\n return this._addParam({ ty: ArgumentType.uint160, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt168Array() {\n return this._addParam({ ty: ArgumentType.int168, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint168Array() {\n return this._addParam({ ty: ArgumentType.uint168, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt176Array() {\n return this._addParam({ ty: ArgumentType.int176, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint176Array() {\n return this._addParam({ ty: ArgumentType.uint176, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt184Array() {\n return this._addParam({ ty: ArgumentType.int184, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint184Array() {\n return this._addParam({ ty: ArgumentType.uint184, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt192Array() {\n return this._addParam({ ty: ArgumentType.int192, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint192Array() {\n return this._addParam({ ty: ArgumentType.uint192, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt200Array() {\n return this._addParam({ ty: ArgumentType.int200, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint200Array() {\n return this._addParam({ ty: ArgumentType.uint200, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt208Array() {\n return this._addParam({ ty: ArgumentType.int208, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint208Array() {\n return this._addParam({ ty: ArgumentType.uint208, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt216Array() {\n return this._addParam({ ty: ArgumentType.int216, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint216Array() {\n return this._addParam({ ty: ArgumentType.uint216, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt224Array() {\n return this._addParam({ ty: ArgumentType.int224, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint224Array() {\n return this._addParam({ ty: ArgumentType.uint224, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt232Array() {\n return this._addParam({ ty: ArgumentType.int232, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint232Array() {\n return this._addParam({ ty: ArgumentType.uint232, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt240Array() {\n return this._addParam({ ty: ArgumentType.int240, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint240Array() {\n return this._addParam({ ty: ArgumentType.uint240, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt248Array() {\n return this._addParam({ ty: ArgumentType.int248, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint248Array() {\n return this._addParam({ ty: ArgumentType.uint248, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addInt256Array() {\n return this._addParam({ ty: ArgumentType.int256, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addUint256Array() {\n return this._addParam({ ty: ArgumentType.uint256, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addBool() {\n return this._addParam({ ty: ArgumentType.bool, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addAddress() {\n return this._addParam({ ty: ArgumentType.address, array: false });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addAddressArray() {\n return this._addParam({ ty: ArgumentType.address, array: true });\n }\n\n /**\n * @returns {ContractFunctionSelector}\n */\n addFunction() {\n return this._addParam({ ty: ArgumentType.func, array: false });\n }\n\n /**\n * @param {SolidityType} ty\n * @returns {ContractFunctionSelector}\n */\n _addParam(ty) {\n if (this._paramTypes.length > 0) {\n this._params += \",\";\n }\n\n this._params += solidityTypeToString(ty);\n this._paramTypes.push(ty);\n\n return this;\n }\n\n /**\n * @param {string} [name]\n * @returns {Uint8Array}\n */\n _build(name) {\n if (name != null) {\n this._name = name;\n } else if (this._name == null) {\n throw new Error(\"`name` required for ContractFunctionSelector\");\n }\n\n const func = hex.encode(utf8.encode(this.toString()));\n return hex.decode(keccak256(`0x${func}`)).slice(0, 4);\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return `${this._name != null ? this._name.toString() : \"\"}(${\n this._params\n })`;\n }\n}\n\n/**\n * @param {SolidityType} ty\n * @returns {string}\n */\nexport function solidityTypeToString(ty) {\n let s = \"\";\n switch (ty.ty) {\n case ArgumentType.uint8:\n s = \"uint8\";\n break;\n case ArgumentType.int8:\n s = \"int8\";\n break;\n case ArgumentType.uint16:\n s = \"uint16\";\n break;\n case ArgumentType.int16:\n s = \"int16\";\n break;\n case ArgumentType.uint24:\n s = \"uint24\";\n break;\n case ArgumentType.int24:\n s = \"int24\";\n break;\n case ArgumentType.uint32:\n s = \"uint32\";\n break;\n case ArgumentType.int32:\n s = \"int32\";\n break;\n case ArgumentType.uint40:\n s = \"uint40\";\n break;\n case ArgumentType.int40:\n s = \"int40\";\n break;\n case ArgumentType.uint48:\n s = \"uint48\";\n break;\n case ArgumentType.int48:\n s = \"int48\";\n break;\n case ArgumentType.uint56:\n s = \"uint56\";\n break;\n case ArgumentType.int56:\n s = \"int56\";\n break;\n case ArgumentType.uint64:\n s = \"uint64\";\n break;\n case ArgumentType.int64:\n s = \"int64\";\n break;\n case ArgumentType.uint72:\n s = \"uint72\";\n break;\n case ArgumentType.int72:\n s = \"int72\";\n break;\n case ArgumentType.uint80:\n s = \"uint80\";\n break;\n case ArgumentType.int80:\n s = \"int80\";\n break;\n case ArgumentType.uint88:\n s = \"uint88\";\n break;\n case ArgumentType.int88:\n s = \"int88\";\n break;\n case ArgumentType.uint96:\n s = \"uint96\";\n break;\n case ArgumentType.int96:\n s = \"int96\";\n break;\n case ArgumentType.uint104:\n s = \"uint104\";\n break;\n case ArgumentType.int104:\n s = \"int104\";\n break;\n case ArgumentType.uint112:\n s = \"uint112\";\n break;\n case ArgumentType.int112:\n s = \"int112\";\n break;\n case ArgumentType.uint120:\n s = \"uint120\";\n break;\n case ArgumentType.int120:\n s = \"int120\";\n break;\n case ArgumentType.uint128:\n s = \"uint128\";\n break;\n case ArgumentType.int128:\n s = \"int128\";\n break;\n case ArgumentType.uint136:\n s = \"uint136\";\n break;\n case ArgumentType.int136:\n s = \"int136\";\n break;\n case ArgumentType.uint144:\n s = \"uint144\";\n break;\n case ArgumentType.int144:\n s = \"int144\";\n break;\n case ArgumentType.uint152:\n s = \"uint152\";\n break;\n case ArgumentType.int152:\n s = \"int152\";\n break;\n case ArgumentType.uint160:\n s = \"uint160\";\n break;\n case ArgumentType.int160:\n s = \"int160\";\n break;\n case ArgumentType.uint168:\n s = \"uint168\";\n break;\n case ArgumentType.int168:\n s = \"int168\";\n break;\n case ArgumentType.uint176:\n s = \"uint176\";\n break;\n case ArgumentType.int176:\n s = \"int176\";\n break;\n case ArgumentType.uint184:\n s = \"uint184\";\n break;\n case ArgumentType.int184:\n s = \"int184\";\n break;\n case ArgumentType.uint192:\n s = \"uint192\";\n break;\n case ArgumentType.int192:\n s = \"int192\";\n break;\n case ArgumentType.uint200:\n s = \"uint200\";\n break;\n case ArgumentType.int200:\n s = \"int200\";\n break;\n case ArgumentType.uint208:\n s = \"uint208\";\n break;\n case ArgumentType.int208:\n s = \"int208\";\n break;\n case ArgumentType.uint216:\n s = \"uint216\";\n break;\n case ArgumentType.int216:\n s = \"int216\";\n break;\n case ArgumentType.uint224:\n s = \"uint224\";\n break;\n case ArgumentType.int224:\n s = \"int224\";\n break;\n case ArgumentType.uint232:\n s = \"uint232\";\n break;\n case ArgumentType.int232:\n s = \"int232\";\n break;\n case ArgumentType.uint240:\n s = \"uint240\";\n break;\n case ArgumentType.int240:\n s = \"int240\";\n break;\n case ArgumentType.uint248:\n s = \"uint248\";\n break;\n case ArgumentType.int248:\n s = \"int248\";\n break;\n case ArgumentType.uint256:\n s = \"uint256\";\n break;\n case ArgumentType.int256:\n s = \"int256\";\n break;\n case ArgumentType.string:\n s = \"string\";\n break;\n case ArgumentType.bool:\n s = \"bool\";\n break;\n case ArgumentType.bytes:\n s = \"bytes\";\n break;\n case ArgumentType.bytes32:\n s = \"bytes32\";\n break;\n case ArgumentType.address:\n s = \"address\";\n break;\n case ArgumentType.func:\n s = \"function\";\n break;\n default:\n s = \"\";\n break;\n }\n\n if (ty.array) {\n s += \"[]\";\n }\n\n return s;\n}\n"],"names":["ArgumentType","uint8","int8","uint16","int16","uint24","int24","uint32","int32","uint40","int40","uint48","int48","uint56","int56","uint64","int64","uint72","int72","uint80","int80","uint88","int88","uint96","int96","uint104","int104","uint112","int112","uint120","int120","uint128","int128","uint136","int136","uint144","int144","uint152","int152","uint160","int160","uint168","int168","uint176","int176","uint184","int184","uint192","int192","uint200","int200","uint208","int208","uint216","int216","uint224","int224","uint232","int232","uint240","int240","uint248","int248","uint256","int256","string","bool","bytes","bytes32","address","func","ContractFunctionSelector","constructor","name","this","_params","_paramTypes","_name","addString","_addParam","ty","array","addStringArray","addBytes","addBytes32","addBytesArray","addBytes32Array","addInt8","addUint8","addInt16","addUint16","addInt24","addUint24","addInt32","addUint32","addInt40","addUint40","addInt48","addUint48","addInt56","addUint56","addInt64","addUint64","addInt72","addUint72","addInt80","addUint80","addInt88","addUint88","addInt96","addUint96","addInt104","addUint104","addInt112","addUint112","addInt120","addUint120","addInt128","addUint128","addInt136","addUint136","addInt144","addUint144","addInt152","addUint152","addInt160","addUint160","addInt168","addUint168","addInt176","addUint176","addInt184","addUint184","addInt192","addUint192","addInt200","addUint200","addInt208","addUint208","addInt216","addUint216","addInt224","addUint224","addInt232","addUint232","addInt240","addUint240","addInt248","addUint248","addInt256","addUint256","addInt8Array","addUint8Array","addInt16Array","addUint16Array","addInt24Array","addUint24Array","addInt32Array","addUint32Array","addInt40Array","addUint40Array","addInt48Array","addUint48Array","addInt56Array","addUint56Array","addInt64Array","addUint64Array","addInt72Array","addUint72Array","addInt80Array","addUint80Array","addInt88Array","addUint88Array","addInt96Array","addUint96Array","addInt104Array","addUint104Array","addInt112Array","addUint112Array","addInt120Array","addUint120Array","addInt128Array","addUint128Array","addInt136Array","addUint136Array","addInt144Array","addUint144Array","addInt152Array","addUint152Array","addInt160Array","addUint160Array","addInt168Array","addUint168Array","addInt176Array","addUint176Array","addInt184Array","addUint184Array","addInt192Array","addUint192Array","addInt200Array","addUint200Array","addInt208Array","addUint208Array","addInt216Array","addUint216Array","addInt224Array","addUint224Array","addInt232Array","addUint232Array","addInt240Array","addUint240Array","addInt248Array","addUint248Array","addInt256Array","addUint256Array","addBool","addAddress","addAddressArray","addFunction","length","solidityTypeToString","push","_build","Error","hex.encode","utf8.encode","toString","hex.decode","keccak256","slice","s"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractId.js","sources":["../../src/contract/ContractId.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport * as EntityIdHelper from \"../EntityIdHelper.js\";\nimport Key from \"../Key.js\";\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport CACHE from \"../Cache.js\";\nimport * as hex from \"../encoding/hex.js\";\nimport { arrayEqual } from \"../array.js\";\nimport Long from \"long\";\nimport { isLongZeroAddress } from \"../util.js\";\nimport EvmAddress from \"../EvmAddress.js\";\n\n/**\n * @typedef {import(\"../client/Client.js\").default<*, *>} Client\n */\n\n/**\n * The ID for a crypto-currency contract on Hedera.\n */\nexport default class ContractId extends Key {\n /**\n * @param {number | Long | import(\"../EntityIdHelper\").IEntityId} props\n * @param {(number | Long)=} realm\n * @param {(number | Long)=} num\n * @param {Uint8Array=} evmAddress\n */\n constructor(props, realm, num, evmAddress) {\n super();\n\n const result = EntityIdHelper.constructor(props, realm, num);\n\n this.shard = result.shard;\n this.realm = result.realm;\n this.num = result.num;\n\n this.evmAddress = evmAddress != null ? evmAddress : null;\n\n /**\n * @type {string | null}\n */\n this._checksum = null;\n }\n\n /**\n * @description This handles both long-zero format and evm address format addresses.\n * If an actual evm address is passed, please use `ContractId.populateAccountNum(client)` method\n * to get the actual `num` value, since there is no cryptographic relation to the evm address\n * and cannot be populated directly\n * @param {Long | number} shard\n * @param {Long | number} realm\n * @param {string} evmAddress\n * @returns {ContractId}\n */\n static fromEvmAddress(shard, realm, evmAddress) {\n const evmAddressObj = EvmAddress.fromString(evmAddress);\n\n const [shardLong, realmLong, num, address] =\n EntityIdHelper.fromEvmAddress(\n shard,\n realm,\n evmAddressObj.toString(),\n );\n\n return new ContractId(shardLong, realmLong, num, address?.toBytes());\n }\n\n /**\n * @param {string} text\n * @returns {ContractId}\n */\n static fromString(text) {\n const result = EntityIdHelper.fromStringSplitter(text);\n\n if (Number.isNaN(result.shard) || Number.isNaN(result.realm)) {\n throw new Error(\"invalid format for entity ID\");\n }\n\n const shard =\n result.shard != null ? Long.fromString(result.shard) : Long.ZERO;\n const realm =\n result.realm != null ? Long.fromString(result.realm) : Long.ZERO;\n const [num, evmAddress] =\n result.numOrHex.length < 40\n ? [Long.fromString(result.numOrHex), undefined]\n : [Long.ZERO, hex.decode(result.numOrHex)];\n\n return new ContractId(shard, realm, num, evmAddress);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IContractID} id\n * @returns {ContractId}\n */\n static _fromProtobuf(id) {\n const contractId = new ContractId(\n id.shardNum != null ? id.shardNum : 0,\n id.realmNum != null ? id.realmNum : 0,\n id.contractNum != null ? id.contractNum : 0,\n );\n\n return contractId;\n }\n\n /**\n * @returns {string | null}\n */\n get checksum() {\n return this._checksum;\n }\n\n /**\n * @description Gets the actual `num` field of the `ContractId` from the Mirror Node.\n * Should be used after generating `ContractId.fromEvmAddress()` because it sets the `num` field to `0`\n * automatically since there is no connection between the `num` and the `evmAddress`\n * @param {Client} client\n * @returns {Promise<ContractId>}\n */\n async populateAccountNum(client) {\n const mirrorRestApiBaseUrl = client.mirrorRestApiBaseUrl;\n const url = `${mirrorRestApiBaseUrl}/contracts/${this.toEvmAddress()}`;\n\n /* eslint-disable */\n const response = await fetch(url);\n const data = await response.json();\n const mirrorAccountId = data.contract_id;\n\n this.num = Long.fromString(\n mirrorAccountId.slice(mirrorAccountId.lastIndexOf(\".\") + 1),\n );\n /* eslint-enable */\n\n return this;\n }\n\n /**\n * @deprecated - Use `validateChecksum` instead\n * @param {Client} client\n */\n validate(client) {\n console.warn(\"Deprecated: Use `validateChecksum` instead\");\n this.validateChecksum(client);\n }\n\n /**\n * @param {Client} client\n */\n validateChecksum(client) {\n EntityIdHelper.validateChecksum(\n this.shard,\n this.realm,\n this.num,\n this._checksum,\n client,\n );\n }\n\n /**\n * @param {Uint8Array} bytes\n * @returns {ContractId}\n */\n static fromBytes(bytes) {\n return ContractId._fromProtobuf(\n HieroProto.proto.ContractID.decode(bytes),\n );\n }\n\n /**\n * @deprecated - Use `fromEvmAddress` instead\n * @param {string} address\n * @returns {ContractId}\n */\n static fromSolidityAddress(address) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (isLongZeroAddress(hex.decode(address))) {\n return new ContractId(\n ...EntityIdHelper.fromSolidityAddress(address),\n );\n } else {\n return this.fromEvmAddress(0, 0, address);\n }\n }\n\n /**\n * @deprecated - Use `toEvmAddress` instead\n * @returns {string}\n */\n toSolidityAddress() {\n if (this.evmAddress != null) {\n return hex.encode(this.evmAddress);\n } else {\n return EntityIdHelper.toSolidityAddress([\n this.shard,\n this.realm,\n this.num,\n ]);\n }\n }\n\n /**\n * @returns {string} EVM-compatible address representation of the entity\n */\n toEvmAddress() {\n if (this.evmAddress != null) {\n return EntityIdHelper.toEvmAddress(this.evmAddress);\n }\n\n return EntityIdHelper.toEvmAddress(this.num);\n }\n /**\n * @internal\n * @returns {HieroProto.proto.IContractID}\n */\n _toProtobuf() {\n return {\n contractNum: this.num,\n shardNum: this.shard,\n realmNum: this.realm,\n evmAddress: this.evmAddress,\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n if (this.evmAddress != null) {\n return `${this.shard.toString()}.${this.realm.toString()}.${hex.encode(\n this.evmAddress,\n )}`;\n } else {\n return `${this.shard.toString()}.${this.realm.toString()}.${this.num.toString()}`;\n }\n }\n\n /**\n * @param {Client} client\n * @returns {string}\n */\n toStringWithChecksum(client) {\n return EntityIdHelper.toStringWithChecksum(this.toString(), client);\n }\n\n /**\n * @returns {Uint8Array}\n */\n toBytes() {\n return HieroProto.proto.ContractID.encode(this._toProtobuf()).finish();\n }\n\n /**\n * @returns {ContractId}\n */\n clone() {\n const id = new ContractId(this);\n id._checksum = this._checksum;\n id.evmAddress = this.evmAddress;\n return id;\n }\n\n /**\n * @param {ContractId} other\n * @returns {number}\n */\n compare(other) {\n return EntityIdHelper.compare(\n [this.shard, this.realm, this.num],\n [other.shard, other.realm, other.num],\n );\n }\n\n /**\n * @param {this} other\n * @returns {boolean}\n */\n equals(other) {\n let evmAddresses = false;\n if (this.evmAddress != null && other.evmAddress != null) {\n evmAddresses = arrayEqual(this.evmAddress, other.evmAddress);\n }\n\n return (\n this.shard.eq(other.shard) &&\n this.realm.eq(other.realm) &&\n this.num.eq(other.num) &&\n evmAddresses\n );\n }\n\n /**\n * @returns {HieroProto.proto.IKey}\n */\n _toProtobufKey() {\n return {\n contractID: this._toProtobuf(),\n };\n }\n\n /**\n * @param {HieroProto.proto.IContractID} key\n * @returns {ContractId}\n */\n static __fromProtobufKey(key) {\n return ContractId._fromProtobuf(key);\n }\n}\n\nCACHE.setContractId((key) => ContractId.__fromProtobufKey(key));\n"],"names":["ContractId","Key","constructor","props","realm","num","evmAddress","super","result","EntityIdHelper.constructor","this","shard","_checksum","fromEvmAddress","evmAddressObj","EvmAddress","fromString","shardLong","realmLong","address","EntityIdHelper.fromEvmAddress","toString","toBytes","text","EntityIdHelper.fromStringSplitter","Number","isNaN","Error","Long","ZERO","numOrHex","length","undefined","hex.decode","_fromProtobuf","id","shardNum","realmNum","contractNum","checksum","populateAccountNum","client","url","mirrorRestApiBaseUrl","toEvmAddress","response","fetch","mirrorAccountId","json","contract_id","slice","lastIndexOf","validate","console","warn","validateChecksum","EntityIdHelper.validateChecksum","fromBytes","bytes","HieroProto","proto","ContractID","decode","fromSolidityAddress","isLongZeroAddress","EntityIdHelper.fromSolidityAddress","toSolidityAddress","hex.encode","EntityIdHelper.toSolidityAddress","EntityIdHelper.toEvmAddress","_toProtobuf","toStringWithChecksum","EntityIdHelper.toStringWithChecksum","encode","finish","clone","compare","other","EntityIdHelper.compare","equals","evmAddresses","arrayEqual","eq","_toProtobufKey","contractID","__fromProtobufKey","key","CACHE","setContractId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContractId.js","sources":["../../src/contract/ContractId.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport * as EntityIdHelper from \"../EntityIdHelper.js\";\nimport Key from \"../Key.js\";\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport CACHE from \"../Cache.js\";\nimport * as hex from \"../encoding/hex.js\";\nimport { arrayEqual } from \"../array.js\";\nimport Long from \"long\";\nimport { isLongZeroAddress } from \"../util.js\";\nimport EvmAddress from \"../EvmAddress.js\";\n\n/**\n * @typedef {import(\"../client/Client.js\").default<*, *>} Client\n */\n\n/**\n * The ID for a crypto-currency contract on Hedera.\n */\nexport default class ContractId extends Key {\n /**\n * @param {number | Long | import(\"../EntityIdHelper\").IEntityId} props\n * @param {(number | Long)=} realm\n * @param {(number | Long)=} num\n * @param {Uint8Array=} evmAddress\n */\n constructor(props, realm, num, evmAddress) {\n super();\n\n const result = EntityIdHelper.constructor(props, realm, num);\n\n this.shard = result.shard;\n this.realm = result.realm;\n this.num = result.num;\n\n this.evmAddress = evmAddress != null ? evmAddress : null;\n\n /**\n * @type {string | null}\n */\n this._checksum = null;\n }\n\n /**\n * @description This handles both long-zero format and evm address format addresses.\n * If an actual evm address is passed, please use `ContractId.populateAccountNum(client)` method\n * to get the actual `num` value, since there is no cryptographic relation to the evm address\n * and cannot be populated directly\n * @param {Long | number} shard\n * @param {Long | number} realm\n * @param {string} evmAddress\n * @returns {ContractId}\n */\n static fromEvmAddress(shard, realm, evmAddress) {\n const evmAddressObj = EvmAddress.fromString(evmAddress);\n\n const [shardLong, realmLong, num, address] =\n EntityIdHelper.fromEvmAddress(\n shard,\n realm,\n evmAddressObj.toString(),\n );\n\n return new ContractId(shardLong, realmLong, num, address?.toBytes());\n }\n\n /**\n * @param {string} text\n * @returns {ContractId}\n */\n static fromString(text) {\n const result = EntityIdHelper.fromStringSplitter(text);\n\n if (Number.isNaN(result.shard) || Number.isNaN(result.realm)) {\n throw new Error(\"invalid format for entity ID\");\n }\n\n const shard =\n result.shard != null ? Long.fromString(result.shard) : Long.ZERO;\n const realm =\n result.realm != null ? Long.fromString(result.realm) : Long.ZERO;\n const [num, evmAddress] =\n result.numOrHex.length < 40\n ? [Long.fromString(result.numOrHex), undefined]\n : [Long.ZERO, hex.decode(result.numOrHex)];\n\n return new ContractId(shard, realm, num, evmAddress);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IContractID} id\n * @returns {ContractId}\n */\n static _fromProtobuf(id) {\n const contractId = new ContractId(\n id.shardNum != null ? id.shardNum : 0,\n id.realmNum != null ? id.realmNum : 0,\n id.contractNum != null ? id.contractNum : 0,\n );\n\n return contractId;\n }\n\n /**\n * @returns {string | null}\n */\n get checksum() {\n return this._checksum;\n }\n\n /**\n * @description Gets the actual `num` field of the `ContractId` from the Mirror Node.\n * Should be used after generating `ContractId.fromEvmAddress()` because it sets the `num` field to `0`\n * automatically since there is no connection between the `num` and the `evmAddress`\n * @param {Client} client\n * @returns {Promise<ContractId>}\n */\n async populateAccountNum(client) {\n const mirrorRestApiBaseUrl = client.mirrorRestApiBaseUrl;\n const url = `${mirrorRestApiBaseUrl}/contracts/${this.toEvmAddress()}`;\n\n /* eslint-disable */\n const response = await fetch(url);\n const data = await response.json();\n const mirrorAccountId = data.contract_id;\n\n this.num = Long.fromString(\n mirrorAccountId.slice(mirrorAccountId.lastIndexOf(\".\") + 1),\n );\n /* eslint-enable */\n\n return this;\n }\n\n /**\n * @deprecated - Use `validateChecksum` instead\n * @param {Client} client\n */\n validate(client) {\n console.warn(\"Deprecated: Use `validateChecksum` instead\");\n this.validateChecksum(client);\n }\n\n /**\n * @param {Client} client\n */\n validateChecksum(client) {\n EntityIdHelper.validateChecksum(\n this.shard,\n this.realm,\n this.num,\n this._checksum,\n client,\n );\n }\n\n /**\n * @param {Uint8Array} bytes\n * @returns {ContractId}\n */\n static fromBytes(bytes) {\n return ContractId._fromProtobuf(\n HieroProto.proto.ContractID.decode(bytes),\n );\n }\n\n /**\n * @deprecated - Use `fromEvmAddress` instead\n * @param {string} address\n * @returns {ContractId}\n */\n static fromSolidityAddress(address) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (isLongZeroAddress(hex.decode(address))) {\n return new ContractId(\n ...EntityIdHelper.fromSolidityAddress(address),\n );\n } else {\n return this.fromEvmAddress(0, 0, address);\n }\n }\n\n /**\n * @deprecated - Use `toEvmAddress` instead\n * @returns {string}\n */\n toSolidityAddress() {\n if (this.evmAddress != null) {\n return hex.encode(this.evmAddress);\n } else {\n return EntityIdHelper.toSolidityAddress([\n this.shard,\n this.realm,\n this.num,\n ]);\n }\n }\n\n /**\n * @returns {string} EVM-compatible address representation of the entity\n */\n toEvmAddress() {\n if (this.evmAddress != null) {\n return EntityIdHelper.toEvmAddress(this.evmAddress);\n }\n\n return EntityIdHelper.toEvmAddress(this.num);\n }\n /**\n * @internal\n * @returns {HieroProto.proto.IContractID}\n */\n _toProtobuf() {\n return {\n contractNum: this.num,\n shardNum: this.shard,\n realmNum: this.realm,\n evmAddress: this.evmAddress,\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n if (this.evmAddress != null) {\n return `${this.shard.toString()}.${this.realm.toString()}.${hex.encode(\n this.evmAddress,\n )}`;\n } else {\n return `${this.shard.toString()}.${this.realm.toString()}.${this.num.toString()}`;\n }\n }\n\n /**\n * @param {Client} client\n * @returns {string}\n */\n toStringWithChecksum(client) {\n return EntityIdHelper.toStringWithChecksum(this.toString(), client);\n }\n\n /**\n * @returns {Uint8Array}\n */\n toBytes() {\n return HieroProto.proto.ContractID.encode(this._toProtobuf()).finish();\n }\n\n /**\n * @returns {ContractId}\n */\n clone() {\n const id = new ContractId(this);\n id._checksum = this._checksum;\n id.evmAddress = this.evmAddress;\n return id;\n }\n\n /**\n * @param {ContractId} other\n * @returns {number}\n */\n compare(other) {\n return EntityIdHelper.compare(\n [this.shard, this.realm, this.num],\n [other.shard, other.realm, other.num],\n );\n }\n\n /**\n * @param {this} other\n * @returns {boolean}\n */\n equals(other) {\n let evmAddresses = false;\n if (this.evmAddress != null && other.evmAddress != null) {\n evmAddresses = arrayEqual(this.evmAddress, other.evmAddress);\n }\n\n return (\n this.shard.eq(other.shard) &&\n this.realm.eq(other.realm) &&\n this.num.eq(other.num) &&\n evmAddresses\n );\n }\n\n /**\n * @returns {HieroProto.proto.IKey}\n */\n _toProtobufKey() {\n return {\n contractID: this._toProtobuf(),\n };\n }\n\n /**\n * @param {HieroProto.proto.IContractID} key\n * @returns {ContractId}\n */\n static __fromProtobufKey(key) {\n return ContractId._fromProtobuf(key);\n }\n}\n\nCACHE.setContractId((key) => ContractId.__fromProtobufKey(key));\n"],"names":["ContractId","Key","constructor","props","realm","num","evmAddress","super","result","EntityIdHelper.constructor","this","shard","_checksum","fromEvmAddress","evmAddressObj","EvmAddress","fromString","shardLong","realmLong","address","EntityIdHelper.fromEvmAddress","toString","toBytes","text","EntityIdHelper.fromStringSplitter","Number","isNaN","Error","Long","ZERO","numOrHex","length","undefined","hex.decode","_fromProtobuf","id","shardNum","realmNum","contractNum","checksum","populateAccountNum","client","url","mirrorRestApiBaseUrl","toEvmAddress","response","fetch","mirrorAccountId","json","contract_id","slice","lastIndexOf","validate","console","warn","validateChecksum","EntityIdHelper.validateChecksum","fromBytes","bytes","HieroProto","proto","ContractID","decode","fromSolidityAddress","isLongZeroAddress","EntityIdHelper.fromSolidityAddress","toSolidityAddress","hex.encode","EntityIdHelper.toSolidityAddress","EntityIdHelper.toEvmAddress","_toProtobuf","toStringWithChecksum","EntityIdHelper.toStringWithChecksum","encode","finish","clone","compare","other","EntityIdHelper.compare","equals","evmAddresses","arrayEqual","eq","_toProtobufKey","contractID","__fromProtobufKey","key","CACHE","setContractId"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractInfo.js","sources":["../../src/contract/ContractInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\nimport AccountId from \"../account/AccountId.js\";\nimport StakingInfo from \"../StakingInfo.js\";\nimport Timestamp from \"../Timestamp.js\";\nimport Duration from \"../Duration.js\";\nimport Hbar from \"../Hbar.js\";\nimport Long from \"long\";\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport TokenRelationshipMap from \"../account/TokenRelationshipMap.js\";\nimport Key from \"../Key.js\";\nimport LedgerId from \"../LedgerId.js\";\n\nconst { proto } = HieroProto;\n\n/**\n * @typedef {import(\"../StakingInfo.js\").StakingInfoJson} StakingInfoJson\n */\n\n/**\n * Response when the client sends the node CryptoGetInfoQuery.\n */\nexport default class ContractInfo {\n /**\n * @private\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {AccountId} props.accountId\n * @param {string} props.contractAccountId\n * @param {?Key} props.adminKey\n * @param {Timestamp} props.expirationTime\n * @param {Duration} props.autoRenewPeriod\n * @param {?AccountId} props.autoRenewAccountId\n * @param {Long} props.storage\n * @param {string} props.contractMemo\n * @param {Hbar} props.balance\n * @param {boolean} props.isDeleted\n * @param {TokenRelationshipMap} props.tokenRelationships\n * @param {LedgerId|null} props.ledgerId\n * @param {?StakingInfo} props.stakingInfo\n * @param {Long} props.maxAutomaticTokenAssociations\n */\n constructor(props) {\n /**\n * ID of the contract instance, in the format used in transactions.\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * ID of the cryptocurrency account owned by the contract instance,\n * in the format used in transactions.\n *\n * @readonly\n */\n this.accountId = props.accountId;\n\n /**\n * ID of both the contract instance and the cryptocurrency account owned by the contract\n * instance, in the format used by Solidity.\n *\n * @readonly\n */\n this.contractAccountId = props.contractAccountId;\n\n /**\n * The state of the instance and its fields can be modified arbitrarily if this key signs a\n * transaction to modify it. If this is null, then such modifications are not possible,\n * and there is no administrator that can override the normal operation of this smart\n * contract instance. Note that if it is created with no admin keys, then there is no\n * administrator to authorize changing the admin keys, so there can never be any admin keys\n * for that instance.\n *\n * @readonly\n */\n this.adminKey = props.adminKey != null ? props.adminKey : null;\n\n /**\n * The current time at which this contract instance (and its account) is set to expire.\n *\n * @readonly\n */\n this.expirationTime = props.expirationTime;\n\n /**\n * The expiration time will extend every this many seconds. If there are insufficient funds,\n * then it extends as long as possible. If the account is empty when it expires,\n * then it is deleted.\n *\n * @readonly\n */\n this.autoRenewPeriod = props.autoRenewPeriod;\n\n /**\n * ID of the an account to charge for auto-renewal of this contract. If not set, or set\n * to an account with zero hbar balance, the contract's own hbar balance will be used\n * to cover auto-renewal fees.\n *\n * @readonly\n */\n this.autoRenewAccountId = props.autoRenewAccountId;\n\n /**\n * Number of bytes of storage being used by this instance (which affects the cost to\n * extend the expiration time).\n *\n * @readonly\n */\n this.storage = props.storage;\n\n /**\n * The memo associated with the contract (max 100 bytes).\n *\n * @readonly\n */\n this.contractMemo = props.contractMemo;\n\n /**\n * The current balance of the contract.\n *\n * @readonly\n */\n this.balance = props.balance;\n\n /**\n * Whether the contract has been deleted\n *\n * @readonly\n */\n this.isDeleted = props.isDeleted;\n\n /**\n * The tokens associated to the contract\n *\n * @readonly\n */\n this.tokenRelationships = props.tokenRelationships;\n\n /**\n * The maximum number of automatic token associations allowed for this contract.\n * @readonly\n */\n this.maxAutomaticTokenAssociations =\n props.maxAutomaticTokenAssociations;\n\n /**\n * The ledger ID the response was returned from; please see <a href=\"https://github.com/hashgraph/hedera-improvement-proposal/blob/master/HIP/hip-198.md\">HIP-198</a> for the network-specific IDs.\n */\n this.ledgerId = props.ledgerId;\n\n /**\n * Staking metadata for this account.\n */\n this.stakingInfo = props.stakingInfo;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ContractGetInfoResponse.IContractInfo} info\n * @returns {ContractInfo}\n */\n static _fromProtobuf(info) {\n const autoRenewPeriod = /** @type {Long | number} */ (\n /** @type {HieroProto.proto.IDuration} */ (info.autoRenewPeriod)\n .seconds\n );\n\n return new ContractInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (info.contractID),\n ),\n accountId: AccountId._fromProtobuf(\n /** @type {HieroProto.proto.IAccountID} */ (info.accountID),\n ),\n contractAccountId:\n info.contractAccountID != null ? info.contractAccountID : \"\",\n adminKey:\n info.adminKey != null\n ? Key._fromProtobufKey(info.adminKey)\n : null,\n expirationTime: Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */ (\n info.expirationTime\n ),\n ),\n autoRenewPeriod: new Duration(autoRenewPeriod),\n autoRenewAccountId:\n info.autoRenewAccountId != null\n ? AccountId._fromProtobuf(info.autoRenewAccountId)\n : null,\n storage:\n info.storage != null\n ? info.storage instanceof Long\n ? info.storage\n : Long.fromValue(info.storage)\n : Long.ZERO,\n contractMemo: info.memo != null ? info.memo : \"\",\n balance: Hbar.fromTinybars(info.balance != null ? info.balance : 0),\n isDeleted: /** @type {boolean} */ (info.deleted),\n tokenRelationships: TokenRelationshipMap._fromProtobuf(\n info.tokenRelationships != null ? info.tokenRelationships : [],\n ),\n ledgerId:\n info.ledgerId != null\n ? LedgerId.fromBytes(info.ledgerId)\n : null,\n stakingInfo:\n info.stakingInfo != null\n ? StakingInfo._fromProtobuf(info.stakingInfo)\n : null,\n maxAutomaticTokenAssociations:\n info.maxAutomaticTokenAssociations != null\n ? Long.isLong(info.maxAutomaticTokenAssociations)\n ? info.maxAutomaticTokenAssociations\n : Long.fromValue(info.maxAutomaticTokenAssociations)\n : Long.ZERO,\n });\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.ContractGetInfoResponse.IContractInfo}\n */\n _toProtobuf() {\n return {\n contractID: this.contractId._toProtobuf(),\n accountID: this.accountId._toProtobuf(),\n contractAccountID: this.contractAccountId,\n adminKey:\n this.adminKey != null ? this.adminKey._toProtobufKey() : null,\n expirationTime: this.expirationTime._toProtobuf(),\n autoRenewPeriod:\n this.autoRenewPeriod != null\n ? this.autoRenewPeriod._toProtobuf()\n : null,\n autoRenewAccountId:\n this.autoRenewAccountId != null\n ? this.autoRenewAccountId._toProtobuf()\n : null,\n storage: this.storage,\n memo: this.contractMemo,\n balance: this.balance.toTinybars(),\n deleted: this.isDeleted,\n tokenRelationships:\n this.tokenRelationships != null\n ? this.tokenRelationships._toProtobuf()\n : null,\n ledgerId: this.ledgerId != null ? this.ledgerId.toBytes() : null,\n stakingInfo:\n this.stakingInfo != null\n ? this.stakingInfo._toProtobuf()\n : null,\n maxAutomaticTokenAssociations:\n this.maxAutomaticTokenAssociations.toNumber(),\n };\n }\n\n /**\n * @param {Uint8Array} bytes\n * @returns {ContractInfo}\n */\n static fromBytes(bytes) {\n return ContractInfo._fromProtobuf(\n proto.ContractGetInfoResponse.ContractInfo.decode(bytes),\n );\n }\n\n /**\n * @returns {Uint8Array}\n */\n toBytes() {\n return proto.ContractGetInfoResponse.ContractInfo.encode(\n this._toProtobuf(),\n ).finish();\n }\n}\n"],"names":["proto","HieroProto","ContractInfo","constructor","props","this","contractId","accountId","contractAccountId","adminKey","expirationTime","autoRenewPeriod","autoRenewAccountId","storage","contractMemo","balance","isDeleted","tokenRelationships","maxAutomaticTokenAssociations","ledgerId","stakingInfo","Object","freeze","_fromProtobuf","info","ContractId","AccountId","contractAccountID","Key","_fromProtobufKey","Timestamp","Duration","Long","fromValue","ZERO","memo","Hbar","fromTinybars","TokenRelationshipMap","LedgerId","fromBytes","StakingInfo","isLong","_toProtobuf","contractID","accountID","_toProtobufKey","toTinybars","deleted","toBytes","toNumber","bytes","ContractGetInfoResponse","decode","encode","finish"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContractInfo.js","sources":["../../src/contract/ContractInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\nimport AccountId from \"../account/AccountId.js\";\nimport StakingInfo from \"../StakingInfo.js\";\nimport Timestamp from \"../Timestamp.js\";\nimport Duration from \"../Duration.js\";\nimport Hbar from \"../Hbar.js\";\nimport Long from \"long\";\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport TokenRelationshipMap from \"../account/TokenRelationshipMap.js\";\nimport Key from \"../Key.js\";\nimport LedgerId from \"../LedgerId.js\";\n\nconst { proto } = HieroProto;\n\n/**\n * @typedef {import(\"../StakingInfo.js\").StakingInfoJson} StakingInfoJson\n */\n\n/**\n * Response when the client sends the node CryptoGetInfoQuery.\n */\nexport default class ContractInfo {\n /**\n * @private\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {AccountId} props.accountId\n * @param {string} props.contractAccountId\n * @param {?Key} props.adminKey\n * @param {Timestamp} props.expirationTime\n * @param {Duration} props.autoRenewPeriod\n * @param {?AccountId} props.autoRenewAccountId\n * @param {Long} props.storage\n * @param {string} props.contractMemo\n * @param {Hbar} props.balance\n * @param {boolean} props.isDeleted\n * @param {TokenRelationshipMap} props.tokenRelationships\n * @param {LedgerId|null} props.ledgerId\n * @param {?StakingInfo} props.stakingInfo\n * @param {Long} props.maxAutomaticTokenAssociations\n */\n constructor(props) {\n /**\n * ID of the contract instance, in the format used in transactions.\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * ID of the cryptocurrency account owned by the contract instance,\n * in the format used in transactions.\n *\n * @readonly\n */\n this.accountId = props.accountId;\n\n /**\n * ID of both the contract instance and the cryptocurrency account owned by the contract\n * instance, in the format used by Solidity.\n *\n * @readonly\n */\n this.contractAccountId = props.contractAccountId;\n\n /**\n * The state of the instance and its fields can be modified arbitrarily if this key signs a\n * transaction to modify it. If this is null, then such modifications are not possible,\n * and there is no administrator that can override the normal operation of this smart\n * contract instance. Note that if it is created with no admin keys, then there is no\n * administrator to authorize changing the admin keys, so there can never be any admin keys\n * for that instance.\n *\n * @readonly\n */\n this.adminKey = props.adminKey != null ? props.adminKey : null;\n\n /**\n * The current time at which this contract instance (and its account) is set to expire.\n *\n * @readonly\n */\n this.expirationTime = props.expirationTime;\n\n /**\n * The expiration time will extend every this many seconds. If there are insufficient funds,\n * then it extends as long as possible. If the account is empty when it expires,\n * then it is deleted.\n *\n * @readonly\n */\n this.autoRenewPeriod = props.autoRenewPeriod;\n\n /**\n * ID of the an account to charge for auto-renewal of this contract. If not set, or set\n * to an account with zero hbar balance, the contract's own hbar balance will be used\n * to cover auto-renewal fees.\n *\n * @readonly\n */\n this.autoRenewAccountId = props.autoRenewAccountId;\n\n /**\n * Number of bytes of storage being used by this instance (which affects the cost to\n * extend the expiration time).\n *\n * @readonly\n */\n this.storage = props.storage;\n\n /**\n * The memo associated with the contract (max 100 bytes).\n *\n * @readonly\n */\n this.contractMemo = props.contractMemo;\n\n /**\n * The current balance of the contract.\n *\n * @readonly\n */\n this.balance = props.balance;\n\n /**\n * Whether the contract has been deleted\n *\n * @readonly\n */\n this.isDeleted = props.isDeleted;\n\n /**\n * The tokens associated to the contract\n *\n * @readonly\n */\n this.tokenRelationships = props.tokenRelationships;\n\n /**\n * The maximum number of automatic token associations allowed for this contract.\n * @readonly\n */\n this.maxAutomaticTokenAssociations =\n props.maxAutomaticTokenAssociations;\n\n /**\n * The ledger ID the response was returned from; please see <a href=\"https://github.com/hashgraph/hedera-improvement-proposal/blob/master/HIP/hip-198.md\">HIP-198</a> for the network-specific IDs.\n */\n this.ledgerId = props.ledgerId;\n\n /**\n * Staking metadata for this account.\n */\n this.stakingInfo = props.stakingInfo;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.ContractGetInfoResponse.IContractInfo} info\n * @returns {ContractInfo}\n */\n static _fromProtobuf(info) {\n const autoRenewPeriod = /** @type {Long | number} */ (\n /** @type {HieroProto.proto.IDuration} */ (info.autoRenewPeriod)\n .seconds\n );\n\n return new ContractInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (info.contractID),\n ),\n accountId: AccountId._fromProtobuf(\n /** @type {HieroProto.proto.IAccountID} */ (info.accountID),\n ),\n contractAccountId:\n info.contractAccountID != null ? info.contractAccountID : \"\",\n adminKey:\n info.adminKey != null\n ? Key._fromProtobufKey(info.adminKey)\n : null,\n expirationTime: Timestamp._fromProtobuf(\n /** @type {HieroProto.proto.ITimestamp} */ (\n info.expirationTime\n ),\n ),\n autoRenewPeriod: new Duration(autoRenewPeriod),\n autoRenewAccountId:\n info.autoRenewAccountId != null\n ? AccountId._fromProtobuf(info.autoRenewAccountId)\n : null,\n storage:\n info.storage != null\n ? info.storage instanceof Long\n ? info.storage\n : Long.fromValue(info.storage)\n : Long.ZERO,\n contractMemo: info.memo != null ? info.memo : \"\",\n balance: Hbar.fromTinybars(info.balance != null ? info.balance : 0),\n isDeleted: /** @type {boolean} */ (info.deleted),\n tokenRelationships: TokenRelationshipMap._fromProtobuf(\n info.tokenRelationships != null ? info.tokenRelationships : [],\n ),\n ledgerId:\n info.ledgerId != null\n ? LedgerId.fromBytes(info.ledgerId)\n : null,\n stakingInfo:\n info.stakingInfo != null\n ? StakingInfo._fromProtobuf(info.stakingInfo)\n : null,\n maxAutomaticTokenAssociations:\n info.maxAutomaticTokenAssociations != null\n ? Long.isLong(info.maxAutomaticTokenAssociations)\n ? info.maxAutomaticTokenAssociations\n : Long.fromValue(info.maxAutomaticTokenAssociations)\n : Long.ZERO,\n });\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.ContractGetInfoResponse.IContractInfo}\n */\n _toProtobuf() {\n return {\n contractID: this.contractId._toProtobuf(),\n accountID: this.accountId._toProtobuf(),\n contractAccountID: this.contractAccountId,\n adminKey:\n this.adminKey != null ? this.adminKey._toProtobufKey() : null,\n expirationTime: this.expirationTime._toProtobuf(),\n autoRenewPeriod:\n this.autoRenewPeriod != null\n ? this.autoRenewPeriod._toProtobuf()\n : null,\n autoRenewAccountId:\n this.autoRenewAccountId != null\n ? this.autoRenewAccountId._toProtobuf()\n : null,\n storage: this.storage,\n memo: this.contractMemo,\n balance: this.balance.toTinybars(),\n deleted: this.isDeleted,\n tokenRelationships:\n this.tokenRelationships != null\n ? this.tokenRelationships._toProtobuf()\n : null,\n ledgerId: this.ledgerId != null ? this.ledgerId.toBytes() : null,\n stakingInfo:\n this.stakingInfo != null\n ? this.stakingInfo._toProtobuf()\n : null,\n maxAutomaticTokenAssociations:\n this.maxAutomaticTokenAssociations.toNumber(),\n };\n }\n\n /**\n * @param {Uint8Array} bytes\n * @returns {ContractInfo}\n */\n static fromBytes(bytes) {\n return ContractInfo._fromProtobuf(\n proto.ContractGetInfoResponse.ContractInfo.decode(bytes),\n );\n }\n\n /**\n * @returns {Uint8Array}\n */\n toBytes() {\n return proto.ContractGetInfoResponse.ContractInfo.encode(\n this._toProtobuf(),\n ).finish();\n }\n}\n"],"names":["proto","HieroProto","ContractInfo","constructor","props","this","contractId","accountId","contractAccountId","adminKey","expirationTime","autoRenewPeriod","autoRenewAccountId","storage","contractMemo","balance","isDeleted","tokenRelationships","maxAutomaticTokenAssociations","ledgerId","stakingInfo","Object","freeze","_fromProtobuf","info","ContractId","AccountId","contractAccountID","Key","_fromProtobufKey","Timestamp","Duration","Long","fromValue","ZERO","memo","Hbar","fromTinybars","TokenRelationshipMap","LedgerId","fromBytes","StakingInfo","isLong","_toProtobuf","contractID","accountID","_toProtobufKey","toTinybars","deleted","toBytes","toNumber","bytes","ContractGetInfoResponse","decode","encode","finish"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractInfoQuery.js","sources":["../../src/contract/ContractInfoQuery.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Query, { QUERY_REGISTRY } from \"../query/Query.js\";\nimport ContractId from \"./ContractId.js\";\nimport ContractInfo from \"./ContractInfo.js\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport Hbar from \"../Hbar.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IQuery} HieroProto.proto.IQuery\n * @typedef {import(\"@hiero-ledger/proto\").proto.IQueryHeader} HieroProto.proto.IQueryHeader\n * @typedef {import(\"@hiero-ledger/proto\").proto.IResponse} HieroProto.proto.IResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.IResponseHeader} HieroProto.proto.IResponseHeader\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractGetInfoQuery} HieroProto.proto.IContractGetInfoQuery\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractGetInfoResponse} HieroProto.proto.IContractGetInfoResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.ContractGetInfoResponse.IContractInfo} HieroProto.proto.ContractGetInfoResponse.IContractInfo\n */\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../client/Client.js\").default<*, *>} Client\n * @typedef {import(\"../account/AccountId.js\").default} AccountId\n */\n\n/**\n * A query that returns information about a smart contract instance.\n * This includes the account that it owns, the contract's bytecode, and the timestamp when it will expire.\n * @augments {Query<ContractInfo>}\n */\nexport default class ContractInfoQuery extends Query {\n /**\n * @param {object} [props]\n * @param {ContractId | string} [props.contractId]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @type {?ContractId}\n * @private\n */\n this._contractId = null;\n if (props.contractId != null) {\n this.setContractId(props.contractId);\n }\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IQuery} query\n * @returns {ContractInfoQuery}\n */\n static _fromProtobuf(query) {\n const info = /** @type {HieroProto.proto.IContractGetInfoQuery} */ (\n query.contractGetInfo\n );\n\n return new ContractInfoQuery({\n contractId:\n info.contractID != null\n ? ContractId._fromProtobuf(info.contractID)\n : undefined,\n });\n }\n\n /**\n * @returns {?ContractId}\n */\n get contractId() {\n return this._contractId;\n }\n\n /**\n * Set the contract ID for which the info is being requested.\n *\n * @param {ContractId | string} contractId\n * @returns {ContractInfoQuery}\n */\n setContractId(contractId) {\n this._contractId =\n typeof contractId === \"string\"\n ? ContractId.fromString(contractId)\n : contractId.clone();\n\n return this;\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n if (this._contractId != null) {\n this._contractId.validateChecksum(client);\n }\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.IQuery} request\n * @returns {Promise<HieroProto.proto.IResponse>}\n */\n _execute(channel, request) {\n return channel.smartContract.getContractInfo(request);\n }\n\n /**\n * @override\n * @param {import(\"../client/Client.js\").default<Channel, *>} client\n * @returns {Promise<Hbar>}\n */\n async getCost(client) {\n return super.getCost(client);\n }\n\n /**\n * @override\n * @internal\n * @param {HieroProto.proto.IResponse} response\n * @returns {HieroProto.proto.IResponseHeader}\n */\n _mapResponseHeader(response) {\n const contractGetInfo =\n /** @type {HieroProto.proto.IContractGetInfoResponse} */ (\n response.contractGetInfo\n );\n return /** @type {HieroProto.proto.IResponseHeader} */ (\n contractGetInfo.header\n );\n }\n\n /**\n * @protected\n * @override\n * @param {HieroProto.proto.IResponse} response\n * @param {AccountId} nodeAccountId\n * @param {HieroProto.proto.IQuery} request\n * @returns {Promise<ContractInfo>}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _mapResponse(response, nodeAccountId, request) {\n const info = /** @type {HieroProto.proto.IContractGetInfoResponse} */ (\n response.contractGetInfo\n );\n\n return Promise.resolve(\n ContractInfo._fromProtobuf(\n /** @type {HieroProto.proto.ContractGetInfoResponse.IContractInfo} */ (\n info.contractInfo\n ),\n ),\n );\n }\n\n /**\n * @override\n * @internal\n * @param {HieroProto.proto.IQueryHeader} header\n * @returns {HieroProto.proto.IQuery}\n */\n _onMakeRequest(header) {\n return {\n contractGetInfo: {\n header,\n contractID:\n this._contractId != null\n ? this._contractId._toProtobuf()\n : null,\n },\n };\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp =\n this._paymentTransactionId != null &&\n this._paymentTransactionId.validStart != null\n ? this._paymentTransactionId.validStart\n : this._timestamp;\n\n return `ContractInfoQuery:${timestamp.toString()}`;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nQUERY_REGISTRY.set(\"contractGetInfo\", ContractInfoQuery._fromProtobuf);\n"],"names":["ContractInfoQuery","Query","constructor","props","super","this","_contractId","contractId","setContractId","_fromProtobuf","query","info","contractID","ContractId","undefined","fromString","clone","_validateChecksums","client","validateChecksum","_execute","channel","request","smartContract","getContractInfo","getCost","_mapResponseHeader","response","_mapResponse","nodeAccountId","Promise","resolve","ContractInfo","_onMakeRequest","header","contractGetInfo","_toProtobuf","_getLogId","_paymentTransactionId","validStart","_timestamp","toString","QUERY_REGISTRY","set"],"mappings":"+KA8Be,MAAMA,UAA0BC,EAK3C,WAAAC,CAAYC,EAAQ,IAChBC,QAMAC,KAAKC,YAAc,KACK,MAApBH,EAAMI,YACNF,KAAKG,cAAcL,EAAMI,
|
|
1
|
+
{"version":3,"file":"ContractInfoQuery.js","sources":["../../src/contract/ContractInfoQuery.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport Query, { QUERY_REGISTRY } from \"../query/Query.js\";\nimport ContractId from \"./ContractId.js\";\nimport ContractInfo from \"./ContractInfo.js\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport Hbar from \"../Hbar.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IQuery} HieroProto.proto.IQuery\n * @typedef {import(\"@hiero-ledger/proto\").proto.IQueryHeader} HieroProto.proto.IQueryHeader\n * @typedef {import(\"@hiero-ledger/proto\").proto.IResponse} HieroProto.proto.IResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.IResponseHeader} HieroProto.proto.IResponseHeader\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractGetInfoQuery} HieroProto.proto.IContractGetInfoQuery\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractGetInfoResponse} HieroProto.proto.IContractGetInfoResponse\n * @typedef {import(\"@hiero-ledger/proto\").proto.ContractGetInfoResponse.IContractInfo} HieroProto.proto.ContractGetInfoResponse.IContractInfo\n */\n\n/**\n * @typedef {import(\"../channel/Channel.js\").default} Channel\n * @typedef {import(\"../client/Client.js\").default<*, *>} Client\n * @typedef {import(\"../account/AccountId.js\").default} AccountId\n */\n\n/**\n * A query that returns information about a smart contract instance.\n * This includes the account that it owns, the contract's bytecode, and the timestamp when it will expire.\n * @augments {Query<ContractInfo>}\n */\nexport default class ContractInfoQuery extends Query {\n /**\n * @param {object} [props]\n * @param {ContractId | string} [props.contractId]\n */\n constructor(props = {}) {\n super();\n\n /**\n * @type {?ContractId}\n * @private\n */\n this._contractId = null;\n if (props.contractId != null) {\n this.setContractId(props.contractId);\n }\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IQuery} query\n * @returns {ContractInfoQuery}\n */\n static _fromProtobuf(query) {\n const info = /** @type {HieroProto.proto.IContractGetInfoQuery} */ (\n query.contractGetInfo\n );\n\n return new ContractInfoQuery({\n contractId:\n info.contractID != null\n ? ContractId._fromProtobuf(info.contractID)\n : undefined,\n });\n }\n\n /**\n * @returns {?ContractId}\n */\n get contractId() {\n return this._contractId;\n }\n\n /**\n * Set the contract ID for which the info is being requested.\n *\n * @param {ContractId | string} contractId\n * @returns {ContractInfoQuery}\n */\n setContractId(contractId) {\n this._contractId =\n typeof contractId === \"string\"\n ? ContractId.fromString(contractId)\n : contractId.clone();\n\n return this;\n }\n\n /**\n * @param {Client} client\n */\n _validateChecksums(client) {\n if (this._contractId != null) {\n this._contractId.validateChecksum(client);\n }\n }\n\n /**\n * @override\n * @internal\n * @param {Channel} channel\n * @param {HieroProto.proto.IQuery} request\n * @returns {Promise<HieroProto.proto.IResponse>}\n */\n _execute(channel, request) {\n return channel.smartContract.getContractInfo(request);\n }\n\n /**\n * @override\n * @param {import(\"../client/Client.js\").default<Channel, *>} client\n * @returns {Promise<Hbar>}\n */\n async getCost(client) {\n return super.getCost(client);\n }\n\n /**\n * @override\n * @internal\n * @param {HieroProto.proto.IResponse} response\n * @returns {HieroProto.proto.IResponseHeader}\n */\n _mapResponseHeader(response) {\n const contractGetInfo =\n /** @type {HieroProto.proto.IContractGetInfoResponse} */ (\n response.contractGetInfo\n );\n return /** @type {HieroProto.proto.IResponseHeader} */ (\n contractGetInfo.header\n );\n }\n\n /**\n * @protected\n * @override\n * @param {HieroProto.proto.IResponse} response\n * @param {AccountId} nodeAccountId\n * @param {HieroProto.proto.IQuery} request\n * @returns {Promise<ContractInfo>}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _mapResponse(response, nodeAccountId, request) {\n const info = /** @type {HieroProto.proto.IContractGetInfoResponse} */ (\n response.contractGetInfo\n );\n\n return Promise.resolve(\n ContractInfo._fromProtobuf(\n /** @type {HieroProto.proto.ContractGetInfoResponse.IContractInfo} */ (\n info.contractInfo\n ),\n ),\n );\n }\n\n /**\n * @override\n * @internal\n * @param {HieroProto.proto.IQueryHeader} header\n * @returns {HieroProto.proto.IQuery}\n */\n _onMakeRequest(header) {\n return {\n contractGetInfo: {\n header,\n contractID:\n this._contractId != null\n ? this._contractId._toProtobuf()\n : null,\n },\n };\n }\n\n /**\n * @returns {string}\n */\n _getLogId() {\n const timestamp =\n this._paymentTransactionId != null &&\n this._paymentTransactionId.validStart != null\n ? this._paymentTransactionId.validStart\n : this._timestamp;\n\n return `ContractInfoQuery:${timestamp.toString()}`;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nQUERY_REGISTRY.set(\"contractGetInfo\", ContractInfoQuery._fromProtobuf);\n"],"names":["ContractInfoQuery","Query","constructor","props","super","this","_contractId","contractId","setContractId","_fromProtobuf","query","info","contractID","ContractId","undefined","fromString","clone","_validateChecksums","client","validateChecksum","_execute","channel","request","smartContract","getContractInfo","getCost","_mapResponseHeader","response","_mapResponse","nodeAccountId","Promise","resolve","ContractInfo","_onMakeRequest","header","contractGetInfo","_toProtobuf","_getLogId","_paymentTransactionId","validStart","_timestamp","toString","QUERY_REGISTRY","set"],"mappings":"+KA8Be,MAAMA,UAA0BC,EAK3C,WAAAC,CAAYC,EAAQ,IAChBC,QAMAC,KAAKC,YAAc,KACK,MAApBH,EAAMI,YACNF,KAAKG,cAAcL,EAAMI,WAEjC,CAOA,oBAAOE,CAAcC,GACjB,MAAMC,EACFD,EACZ,gBAEQ,OAAO,IAAIV,EAAkB,CACzBO,WACuB,MAAnBI,EAAKC,WACCC,EAAWJ,cAAcE,EAAKC,iBAC9BE,GAElB,CAKA,cAAIP,GACA,OAAOF,KAAKC,WAChB,CAQA,aAAAE,CAAcD,GAMV,OALAF,KAAKC,YACqB,iBAAfC,EACDM,EAAWE,WAAWR,GACtBA,EAAWS,QAEdX,IACX,CAKA,kBAAAY,CAAmBC,GACS,MAApBb,KAAKC,aACLD,KAAKC,YAAYa,iBAAiBD,EAE1C,CASA,QAAAE,CAASC,EAASC,GACd,OAAOD,EAAQE,cAAcC,gBAAgBF,EACjD,CAOA,aAAMG,CAAQP,GACV,OAAOd,MAAMqB,QAAQP,EACzB,CAQA,kBAAAQ,CAAmBC,GAKf,OAFQA,EAChB,gBAGA,MACI,CAWA,YAAAC,CAAaD,EAAUE,EAAeP,GAClC,MAAMX,EACFgB,EACZ,gBAEQ,OAAOG,QAAQC,QACXC,EAAavB,cAELE,EACpB,cAGI,CAQA,cAAAsB,CAAeC,GACX,MAAO,CACHC,gBAAiB,CACbD,SACAtB,WACwB,MAApBP,KAAKC,YACCD,KAAKC,YAAY8B,cACjB,MAGtB,CAKA,SAAAC,GAOI,MAAO,sBAL2B,MAA9BhC,KAAKiC,uBACoC,MAAzCjC,KAAKiC,sBAAsBC,WACrBlC,KAAKiC,sBAAsBC,WAC3BlC,KAAKmC,YAEuBC,YAC1C,EAIJC,EAAeC,IAAI,kBAAmB3C,EAAkBS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractLogInfo.js","sources":["../../src/contract/ContractLogInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractLoginfo} HieroProto.proto.IContractLoginfo\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n */\n\n/**\n * The log information for an event returned by a smart contract function call. One function call\n * may return several such events.\n */\nexport default class ContractLogInfo {\n /**\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {Uint8Array} props.bloom\n * @param {Uint8Array[]} props.topics\n * @param {Uint8Array} props.data\n */\n constructor(props) {\n /**\n * Address of a contract that emitted the event.\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * Bloom filter for a particular log.\n *\n * @readonly\n */\n this.bloom = props.bloom;\n\n /**\n * Topics of a particular event.\n *\n * @readonly\n */\n this.topics = props.topics;\n\n /**\n * Event data.\n *\n * @readonly\n */\n this.data = props.data;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IContractLoginfo} info\n * @returns {ContractLogInfo}\n */\n static _fromProtobuf(info) {\n return new ContractLogInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (info.contractID),\n ),\n bloom: info.bloom != null ? info.bloom : new Uint8Array(),\n topics: info.topic != null ? info.topic : [],\n data: info.data != null ? info.data : new Uint8Array(),\n });\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.IContractLoginfo}\n */\n _toProtobuf() {\n return {\n contractID: this.contractId._toProtobuf(),\n bloom: this.bloom,\n topic: this.topics,\n data: this.data,\n };\n }\n}\n"],"names":["ContractLogInfo","constructor","props","this","contractId","bloom","topics","data","Object","freeze","_fromProtobuf","info","ContractId","Uint8Array","topic","_toProtobuf","contractID"],"mappings":"+BAce,MAAMA,EAQjB,WAAAC,CAAYC,GAMRC,KAAKC,WAAaF,EAAME,WAOxBD,KAAKE,MAAQH,EAAMG,MAOnBF,KAAKG,OAASJ,EAAMI,OAOpBH,KAAKI,KAAOL,EAAMK,KAElBC,OAAOC,OAAON,
|
|
1
|
+
{"version":3,"file":"ContractLogInfo.js","sources":["../../src/contract/ContractLogInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractLoginfo} HieroProto.proto.IContractLoginfo\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n */\n\n/**\n * The log information for an event returned by a smart contract function call. One function call\n * may return several such events.\n */\nexport default class ContractLogInfo {\n /**\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {Uint8Array} props.bloom\n * @param {Uint8Array[]} props.topics\n * @param {Uint8Array} props.data\n */\n constructor(props) {\n /**\n * Address of a contract that emitted the event.\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * Bloom filter for a particular log.\n *\n * @readonly\n */\n this.bloom = props.bloom;\n\n /**\n * Topics of a particular event.\n *\n * @readonly\n */\n this.topics = props.topics;\n\n /**\n * Event data.\n *\n * @readonly\n */\n this.data = props.data;\n\n Object.freeze(this);\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.IContractLoginfo} info\n * @returns {ContractLogInfo}\n */\n static _fromProtobuf(info) {\n return new ContractLogInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (info.contractID),\n ),\n bloom: info.bloom != null ? info.bloom : new Uint8Array(),\n topics: info.topic != null ? info.topic : [],\n data: info.data != null ? info.data : new Uint8Array(),\n });\n }\n\n /**\n * @internal\n * @returns {HieroProto.proto.IContractLoginfo}\n */\n _toProtobuf() {\n return {\n contractID: this.contractId._toProtobuf(),\n bloom: this.bloom,\n topic: this.topics,\n data: this.data,\n };\n }\n}\n"],"names":["ContractLogInfo","constructor","props","this","contractId","bloom","topics","data","Object","freeze","_fromProtobuf","info","ContractId","Uint8Array","topic","_toProtobuf","contractID"],"mappings":"+BAce,MAAMA,EAQjB,WAAAC,CAAYC,GAMRC,KAAKC,WAAaF,EAAME,WAOxBD,KAAKE,MAAQH,EAAMG,MAOnBF,KAAKG,OAASJ,EAAMI,OAOpBH,KAAKI,KAAOL,EAAMK,KAElBC,OAAOC,OAAON,KAClB,CAOA,oBAAOO,CAAcC,GACjB,OAAO,IAAIX,EAAgB,CACvBI,WAAYQ,EAAWF,cAC0BC,EAAe,YAEhEN,MAAqB,MAAdM,EAAKN,MAAgBM,EAAKN,MAAQ,IAAIQ,WAC7CP,OAAsB,MAAdK,EAAKG,MAAgBH,EAAKG,MAAQ,GAC1CP,KAAmB,MAAbI,EAAKJ,KAAeI,EAAKJ,KAAO,IAAIM,YAElD,CAMA,WAAAE,GACI,MAAO,CACHC,WAAYb,KAAKC,WAAWW,cAC5BV,MAAOF,KAAKE,MACZS,MAAOX,KAAKG,OACZC,KAAMJ,KAAKI,KAEnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractNonceInfo.js","sources":["../../src/contract/ContractNonceInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\nimport Long from \"long\";\nimport * as protos from \"@hiero-ledger/proto\";\nconst { proto } = protos;\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractNonceInfo} HieroProto.proto.IContractNonceInfo\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n * @typedef {object} ContractNonceInfoJSON\n * @property {string} contractId\n * @property {number} nonce\n */\n\n/**\n * Info about a contract account's nonce value.\n * A nonce of a contract is only incremented when that contract creates another contract.\n */\nexport default class ContractNonceInfo {\n /**\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {Long} props.nonce\n */\n constructor(props) {\n /**\n * Id of the contract\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * The current value of the contract account's nonce property\n *\n * @readonly\n */\n this.nonce = props.nonce;\n\n Object.freeze(this);\n }\n\n /**\n * Extract the contractNonce from the protobuf.\n *\n * @internal\n * @param {HieroProto.proto.IContractNonceInfo} contractNonceInfo the protobuf\n * @returns {ContractNonceInfo} the contract object\n */\n static _fromProtobuf(contractNonceInfo) {\n return new ContractNonceInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (\n contractNonceInfo.contractId\n ),\n ),\n nonce:\n contractNonceInfo.nonce != null\n ? contractNonceInfo.nonce\n : Long.ZERO,\n });\n }\n\n /**\n * Build the protobuf\n *\n * @internal\n * @returns {HieroProto.proto.IContractNonceInfo} the protobuf representation\n */\n _toProtobuf() {\n return {\n contractId: this.contractId._toProtobuf(),\n nonce: this.nonce,\n };\n }\n\n /**\n * Extract the contractNonce from a byte array.\n *\n * @param {Uint8Array} bytes the byte array\n * @returns {ContractNonceInfo} the extracted contract nonce info\n */\n static fromBytes(bytes) {\n return ContractNonceInfo._fromProtobuf(\n proto.ContractNonceInfo.decode(bytes),\n );\n }\n\n /**\n * Create a byte array representation.\n *\n * @returns {Uint8Array} the byte array representation\n */\n toBytes() {\n return proto.ContractNonceInfo.encode(this._toProtobuf()).finish();\n }\n\n /**\n * Create a JSON representation.\n *\n * @returns {ContractNonceInfoJSON} the JSON representation\n */\n toJSON() {\n return {\n contractId: this.contractId.toString(),\n nonce: this.nonce.toNumber(),\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this.toJSON());\n }\n\n /**\n * @param {this} other\n * @returns {boolean}\n */\n equals(other) {\n return (\n this.contractId.equals(other.contractId) &&\n this.nonce.eq(other.nonce)\n );\n }\n}\n"],"names":["proto","protos","ContractNonceInfo","constructor","props","this","contractId","nonce","Object","freeze","_fromProtobuf","contractNonceInfo","ContractId","Long","ZERO","_toProtobuf","fromBytes","bytes","decode","toBytes","encode","finish","toJSON","toString","toNumber","JSON","stringify","equals","other","eq"],"mappings":"yFAKA,MAAMA,MAAEA,GAAUC,EAeH,MAAMC,EAMjB,WAAAC,CAAYC,GAMRC,KAAKC,WAAaF,EAAME,WAOxBD,KAAKE,MAAQH,EAAMG,MAEnBC,OAAOC,OAAOJ,
|
|
1
|
+
{"version":3,"file":"ContractNonceInfo.js","sources":["../../src/contract/ContractNonceInfo.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport ContractId from \"./ContractId.js\";\nimport Long from \"long\";\nimport * as protos from \"@hiero-ledger/proto\";\nconst { proto } = protos;\n\n/**\n * @namespace proto\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractNonceInfo} HieroProto.proto.IContractNonceInfo\n * @typedef {import(\"@hiero-ledger/proto\").proto.IContractID} HieroProto.proto.IContractID\n * @typedef {object} ContractNonceInfoJSON\n * @property {string} contractId\n * @property {number} nonce\n */\n\n/**\n * Info about a contract account's nonce value.\n * A nonce of a contract is only incremented when that contract creates another contract.\n */\nexport default class ContractNonceInfo {\n /**\n * @param {object} props\n * @param {ContractId} props.contractId\n * @param {Long} props.nonce\n */\n constructor(props) {\n /**\n * Id of the contract\n *\n * @readonly\n */\n this.contractId = props.contractId;\n\n /**\n * The current value of the contract account's nonce property\n *\n * @readonly\n */\n this.nonce = props.nonce;\n\n Object.freeze(this);\n }\n\n /**\n * Extract the contractNonce from the protobuf.\n *\n * @internal\n * @param {HieroProto.proto.IContractNonceInfo} contractNonceInfo the protobuf\n * @returns {ContractNonceInfo} the contract object\n */\n static _fromProtobuf(contractNonceInfo) {\n return new ContractNonceInfo({\n contractId: ContractId._fromProtobuf(\n /** @type {HieroProto.proto.IContractID} */ (\n contractNonceInfo.contractId\n ),\n ),\n nonce:\n contractNonceInfo.nonce != null\n ? contractNonceInfo.nonce\n : Long.ZERO,\n });\n }\n\n /**\n * Build the protobuf\n *\n * @internal\n * @returns {HieroProto.proto.IContractNonceInfo} the protobuf representation\n */\n _toProtobuf() {\n return {\n contractId: this.contractId._toProtobuf(),\n nonce: this.nonce,\n };\n }\n\n /**\n * Extract the contractNonce from a byte array.\n *\n * @param {Uint8Array} bytes the byte array\n * @returns {ContractNonceInfo} the extracted contract nonce info\n */\n static fromBytes(bytes) {\n return ContractNonceInfo._fromProtobuf(\n proto.ContractNonceInfo.decode(bytes),\n );\n }\n\n /**\n * Create a byte array representation.\n *\n * @returns {Uint8Array} the byte array representation\n */\n toBytes() {\n return proto.ContractNonceInfo.encode(this._toProtobuf()).finish();\n }\n\n /**\n * Create a JSON representation.\n *\n * @returns {ContractNonceInfoJSON} the JSON representation\n */\n toJSON() {\n return {\n contractId: this.contractId.toString(),\n nonce: this.nonce.toNumber(),\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this.toJSON());\n }\n\n /**\n * @param {this} other\n * @returns {boolean}\n */\n equals(other) {\n return (\n this.contractId.equals(other.contractId) &&\n this.nonce.eq(other.nonce)\n );\n }\n}\n"],"names":["proto","protos","ContractNonceInfo","constructor","props","this","contractId","nonce","Object","freeze","_fromProtobuf","contractNonceInfo","ContractId","Long","ZERO","_toProtobuf","fromBytes","bytes","decode","toBytes","encode","finish","toJSON","toString","toNumber","JSON","stringify","equals","other","eq"],"mappings":"yFAKA,MAAMA,MAAEA,GAAUC,EAeH,MAAMC,EAMjB,WAAAC,CAAYC,GAMRC,KAAKC,WAAaF,EAAME,WAOxBD,KAAKE,MAAQH,EAAMG,MAEnBC,OAAOC,OAAOJ,KAClB,CASA,oBAAOK,CAAcC,GACjB,OAAO,IAAIT,EAAkB,CACzBI,WAAYM,EAAWF,cAEfC,EACpB,YAEYJ,MAC+B,MAA3BI,EAAkBJ,MACZI,EAAkBJ,MAClBM,EAAKC,MAEvB,CAQA,WAAAC,GACI,MAAO,CACHT,WAAYD,KAAKC,WAAWS,cAC5BR,MAAOF,KAAKE,MAEpB,CAQA,gBAAOS,CAAUC,GACb,OAAOf,EAAkBQ,cACrBV,EAAME,kBAAkBgB,OAAOD,GAEvC,CAOA,OAAAE,GACI,OAAOnB,EAAME,kBAAkBkB,OAAOf,KAAKU,eAAeM,QAC9D,CAOA,MAAAC,GACI,MAAO,CACHhB,WAAYD,KAAKC,WAAWiB,WAC5BhB,MAAOF,KAAKE,MAAMiB,WAE1B,CAKA,QAAAD,GACI,OAAOE,KAAKC,UAAUrB,KAAKiB,SAC/B,CAMA,MAAAK,CAAOC,GACH,OACIvB,KAAKC,WAAWqB,OAAOC,EAAMtB,aAC7BD,KAAKE,MAAMsB,GAAGD,EAAMrB,MAE5B"}
|
|
@@ -32,7 +32,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* @typedef {import("../channel/Channel.js").default} Channel
|
|
35
|
-
* @typedef {import("../
|
|
35
|
+
* @typedef {import("../channel/MirrorChannel.js").default} MirrorChannel
|
|
36
|
+
* @typedef {import("../client/Client.js").default<Channel, MirrorChannel>} Client
|
|
36
37
|
* @typedef {import("../transaction/TransactionId.js").default} TransactionId
|
|
37
38
|
*/
|
|
38
39
|
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
*/
|
|
13
13
|
/**
|
|
14
14
|
* @typedef {import("../channel/Channel.js").default} Channel
|
|
15
|
-
* @typedef {import("../
|
|
15
|
+
* @typedef {import("../channel/MirrorChannel.js").default} MirrorChannel
|
|
16
|
+
* @typedef {import("../client/Client.js").default<Channel, MirrorChannel>} Client
|
|
16
17
|
* @typedef {import("../transaction/TransactionId.js").default} TransactionId
|
|
17
18
|
*/
|
|
18
19
|
/**
|
|
@@ -268,7 +269,8 @@ export namespace HieroProto {
|
|
|
268
269
|
}
|
|
269
270
|
}
|
|
270
271
|
export type Channel = import("../channel/Channel.js").default;
|
|
271
|
-
export type
|
|
272
|
+
export type MirrorChannel = import("../channel/MirrorChannel.js").default;
|
|
273
|
+
export type Client = import("../client/Client.js").default<Channel, MirrorChannel>;
|
|
272
274
|
export type TransactionId = import("../transaction/TransactionId.js").default;
|
|
273
275
|
import Transaction from "../transaction/Transaction.js";
|
|
274
276
|
import AccountId from "../account/AccountId.js";
|