@hiero-ledger/sdk 2.76.0 → 2.78.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/dist/umd.js +1017 -673
- package/dist/umd.min.js +14 -14
- package/lib/Cache.cjs +6 -6
- package/lib/Cache.d.ts +12 -12
- package/lib/Cache.js.map +1 -1
- package/lib/Duration.cjs +1 -1
- package/lib/Duration.d.ts +2 -2
- package/lib/Duration.js.map +1 -1
- package/lib/EntityIdHelper.cjs +1 -1
- package/lib/EntityIdHelper.js +1 -1
- package/lib/EntityIdHelper.js.map +1 -1
- package/lib/EthereumFlow.cjs +7 -7
- package/lib/EthereumFlow.d.ts +14 -14
- package/lib/EthereumFlow.js.map +1 -1
- package/lib/EthereumTransaction.cjs +7 -7
- package/lib/EthereumTransaction.d.ts +14 -14
- package/lib/EthereumTransaction.js.map +1 -1
- package/lib/EvmAddress.cjs +1 -1
- package/lib/EvmAddress.d.ts +2 -2
- package/lib/EvmAddress.js.map +1 -1
- package/lib/ExchangeRate.cjs +2 -2
- package/lib/ExchangeRate.d.ts +4 -4
- package/lib/ExchangeRate.js.map +1 -1
- package/lib/ExchangeRates.cjs +1 -1
- package/lib/ExchangeRates.d.ts +1 -1
- package/lib/ExchangeRates.js +1 -1
- package/lib/ExchangeRates.js.map +1 -1
- package/lib/Executable.cjs +13 -3
- package/lib/Executable.js +1 -1
- package/lib/Executable.js.map +1 -1
- package/lib/FeeComponents.cjs +1 -1
- package/lib/FeeComponents.d.ts +1 -1
- package/lib/FeeComponents.js +1 -1
- package/lib/FeeComponents.js.map +1 -1
- package/lib/FeeData.cjs +1 -1
- package/lib/FeeData.d.ts +1 -1
- package/lib/FeeData.js +1 -1
- package/lib/FeeData.js.map +1 -1
- package/lib/FeeDataType.cjs +1 -1
- package/lib/FeeDataType.d.ts +2 -2
- package/lib/FeeDataType.js.map +1 -1
- package/lib/FeeSchedule.cjs +1 -1
- package/lib/FeeSchedule.d.ts +1 -1
- package/lib/FeeSchedule.js +1 -1
- package/lib/FeeSchedule.js.map +1 -1
- package/lib/FeeSchedules.cjs +1 -1
- package/lib/FeeSchedules.d.ts +1 -1
- package/lib/FeeSchedules.js +1 -1
- package/lib/FeeSchedules.js.map +1 -1
- package/lib/FreezeType.cjs +1 -1
- package/lib/FreezeType.d.ts +2 -2
- package/lib/FreezeType.js.map +1 -1
- package/lib/Key.cjs +1 -1
- package/lib/Key.d.ts +2 -2
- package/lib/Key.js.map +1 -1
- package/lib/KeyList.cjs +3 -3
- package/lib/KeyList.d.ts +6 -6
- package/lib/KeyList.js.map +1 -1
- package/lib/Mnemonic.cjs +1 -1
- package/lib/Mnemonic.d.ts +1 -1
- package/lib/Mnemonic.js +1 -1
- package/lib/Mnemonic.js.map +1 -1
- package/lib/PrivateKey.cjs +7 -7
- package/lib/PrivateKey.d.ts +11 -11
- package/lib/PrivateKey.js +1 -1
- package/lib/PrivateKey.js.map +1 -1
- package/lib/PrngTransaction.cjs +9 -9
- package/lib/PrngTransaction.d.ts +18 -18
- package/lib/PrngTransaction.js.map +1 -1
- package/lib/PublicKey.cjs +5 -5
- package/lib/PublicKey.d.ts +9 -9
- package/lib/PublicKey.js +1 -1
- package/lib/PublicKey.js.map +1 -1
- package/lib/RequestType.cjs +1 -1
- package/lib/RequestType.d.ts +2 -2
- package/lib/RequestType.js.map +1 -1
- package/lib/StakingInfo.cjs +1 -1
- package/lib/StakingInfo.d.ts +1 -1
- package/lib/StakingInfo.js +1 -1
- package/lib/StakingInfo.js.map +1 -1
- package/lib/Status.cjs +1 -1
- package/lib/Status.d.ts +2 -2
- package/lib/Status.js.map +1 -1
- package/lib/Timestamp.cjs +1 -1
- package/lib/Timestamp.d.ts +1 -1
- package/lib/Timestamp.js.map +1 -1
- package/lib/TransactionFeeSchedule.cjs +1 -1
- package/lib/TransactionFeeSchedule.d.ts +1 -1
- package/lib/TransactionFeeSchedule.js +1 -1
- package/lib/TransactionFeeSchedule.js.map +1 -1
- package/lib/Transfer.cjs +2 -2
- package/lib/Transfer.d.ts +4 -4
- package/lib/Transfer.js.map +1 -1
- package/lib/account/AccountAllowanceAdjustTransaction.cjs +7 -7
- package/lib/account/AccountAllowanceAdjustTransaction.d.ts +14 -14
- package/lib/account/AccountAllowanceAdjustTransaction.js.map +1 -1
- package/lib/account/AccountAllowanceApproveTransaction.cjs +8 -8
- package/lib/account/AccountAllowanceApproveTransaction.d.ts +16 -16
- package/lib/account/AccountAllowanceApproveTransaction.js.map +1 -1
- package/lib/account/AccountAllowanceDeleteTransaction.cjs +7 -7
- package/lib/account/AccountAllowanceDeleteTransaction.d.ts +14 -14
- package/lib/account/AccountAllowanceDeleteTransaction.js.map +1 -1
- package/lib/account/AccountBalance.cjs +1 -1
- package/lib/account/AccountBalance.d.ts +1 -1
- package/lib/account/AccountBalance.js +1 -1
- package/lib/account/AccountBalance.js.map +1 -1
- package/lib/account/AccountBalanceQuery.cjs +6 -6
- package/lib/account/AccountBalanceQuery.d.ts +12 -12
- package/lib/account/AccountBalanceQuery.js.map +1 -1
- package/lib/account/AccountCreateTransaction.cjs +1 -1
- package/lib/account/AccountCreateTransaction.d.ts +1 -1
- package/lib/account/AccountCreateTransaction.js +1 -1
- package/lib/account/AccountCreateTransaction.js.map +1 -1
- package/lib/account/AccountDeleteTransaction.cjs +7 -7
- package/lib/account/AccountDeleteTransaction.d.ts +14 -14
- package/lib/account/AccountDeleteTransaction.js.map +1 -1
- package/lib/account/AccountId.cjs +1 -1
- package/lib/account/AccountId.d.ts +1 -1
- package/lib/account/AccountId.js +1 -1
- package/lib/account/AccountId.js.map +1 -1
- package/lib/account/AccountInfo.cjs +1 -1
- package/lib/account/AccountInfo.d.ts +1 -1
- package/lib/account/AccountInfo.js +1 -1
- package/lib/account/AccountInfo.js.map +1 -1
- package/lib/account/AccountInfoQuery.cjs +7 -7
- package/lib/account/AccountInfoQuery.d.ts +14 -14
- package/lib/account/AccountInfoQuery.js.map +1 -1
- package/lib/account/AccountRecordsQuery.cjs +7 -7
- package/lib/account/AccountRecordsQuery.d.ts +14 -14
- package/lib/account/AccountRecordsQuery.js.map +1 -1
- package/lib/account/AccountUpdateTransaction.cjs +7 -7
- package/lib/account/AccountUpdateTransaction.d.ts +14 -14
- package/lib/account/AccountUpdateTransaction.js.map +1 -1
- package/lib/account/HbarAllowance.cjs +3 -3
- package/lib/account/HbarAllowance.d.ts +6 -6
- package/lib/account/HbarAllowance.js.map +1 -1
- package/lib/account/HbarTransferMap.cjs +2 -2
- package/lib/account/HbarTransferMap.d.ts +4 -4
- package/lib/account/HbarTransferMap.js.map +1 -1
- package/lib/account/LiveHash.cjs +3 -3
- package/lib/account/LiveHash.d.ts +6 -6
- package/lib/account/LiveHash.js.map +1 -1
- package/lib/account/LiveHashAddTransaction.cjs +7 -7
- package/lib/account/LiveHashAddTransaction.d.ts +14 -14
- package/lib/account/LiveHashAddTransaction.js.map +1 -1
- package/lib/account/LiveHashDeleteTransaction.cjs +6 -6
- package/lib/account/LiveHashDeleteTransaction.d.ts +12 -12
- package/lib/account/LiveHashDeleteTransaction.js.map +1 -1
- package/lib/account/LiveHashQuery.cjs +7 -7
- package/lib/account/LiveHashQuery.d.ts +14 -14
- package/lib/account/LiveHashQuery.js.map +1 -1
- package/lib/account/NullableTokenDecimalMap.cjs +2 -2
- package/lib/account/NullableTokenDecimalMap.d.ts +4 -4
- package/lib/account/NullableTokenDecimalMap.js.map +1 -1
- package/lib/account/ProxyStaker.cjs +2 -2
- package/lib/account/ProxyStaker.d.ts +4 -4
- package/lib/account/ProxyStaker.js.map +1 -1
- package/lib/account/TokenAllowance.cjs +4 -4
- package/lib/account/TokenAllowance.d.ts +8 -8
- package/lib/account/TokenAllowance.js.map +1 -1
- package/lib/account/TokenBalanceMap.cjs +2 -2
- package/lib/account/TokenBalanceMap.d.ts +4 -4
- package/lib/account/TokenBalanceMap.js.map +1 -1
- package/lib/account/TokenDecimalMap.cjs +2 -2
- package/lib/account/TokenDecimalMap.d.ts +4 -4
- package/lib/account/TokenDecimalMap.js.map +1 -1
- package/lib/account/TokenNftAllowance.cjs +5 -5
- package/lib/account/TokenNftAllowance.d.ts +10 -10
- package/lib/account/TokenNftAllowance.js.map +1 -1
- package/lib/account/TokenNftTransferMap.cjs +5 -5
- package/lib/account/TokenNftTransferMap.d.ts +10 -10
- package/lib/account/TokenNftTransferMap.js.map +1 -1
- package/lib/account/TokenRelationship.cjs +4 -4
- package/lib/account/TokenRelationship.d.ts +8 -8
- package/lib/account/TokenRelationship.js.map +1 -1
- package/lib/account/TokenRelationshipMap.cjs +2 -2
- package/lib/account/TokenRelationshipMap.d.ts +4 -4
- package/lib/account/TokenRelationshipMap.js.map +1 -1
- package/lib/account/TokenTransferMap.cjs +4 -4
- package/lib/account/TokenTransferMap.d.ts +8 -8
- package/lib/account/TokenTransferMap.js.map +1 -1
- package/lib/account/TransferTransaction.cjs +6 -6
- package/lib/account/TransferTransaction.d.ts +12 -12
- package/lib/account/TransferTransaction.js.map +1 -1
- package/lib/address_book/AddressBooks.cjs +1 -1
- package/lib/address_book/AddressBooks.js +1 -1
- package/lib/address_book/AddressBooks.js.map +1 -1
- package/lib/address_book/Endpoint.cjs +1 -1
- package/lib/address_book/Endpoint.d.ts +2 -2
- package/lib/address_book/Endpoint.js.map +1 -1
- package/lib/address_book/NodeAddress.cjs +1 -1
- package/lib/address_book/NodeAddress.d.ts +2 -2
- package/lib/address_book/NodeAddress.js.map +1 -1
- package/lib/address_book/NodeAddressBook.cjs +1 -1
- package/lib/address_book/NodeAddressBook.d.ts +1 -1
- package/lib/address_book/NodeAddressBook.js +1 -1
- package/lib/address_book/NodeAddressBook.js.map +1 -1
- package/lib/browser.js +1 -1
- package/lib/channel/Channel.cjs +26 -2
- package/lib/channel/Channel.d.ts +21 -1
- package/lib/channel/Channel.js +1 -1
- package/lib/channel/Channel.js.map +1 -1
- package/lib/channel/NativeChannel.cjs +96 -2
- package/lib/channel/NativeChannel.d.ts +21 -1
- package/lib/channel/NativeChannel.js +1 -1
- package/lib/channel/NativeChannel.js.map +1 -1
- package/lib/channel/NodeChannel.cjs +4 -5
- package/lib/channel/NodeChannel.d.ts +2 -3
- package/lib/channel/NodeChannel.js +1 -1
- package/lib/channel/NodeChannel.js.map +1 -1
- package/lib/channel/WebChannel.cjs +163 -13
- package/lib/channel/WebChannel.d.ts +51 -1
- package/lib/channel/WebChannel.js +1 -1
- package/lib/channel/WebChannel.js.map +1 -1
- package/lib/client/Client.cjs +62 -5
- package/lib/client/Client.d.ts +26 -3
- package/lib/client/Client.js +1 -1
- package/lib/client/Client.js.map +1 -1
- package/lib/client/NativeClient.cjs +1 -1
- package/lib/client/NativeClient.js +1 -1
- package/lib/client/NativeClient.js.map +1 -1
- package/lib/client/NodeClient.cjs +7 -6
- package/lib/client/NodeClient.d.ts +3 -3
- package/lib/client/NodeClient.js +1 -1
- package/lib/client/NodeClient.js.map +1 -1
- package/lib/client/WebClient.cjs +55 -27
- package/lib/client/WebClient.d.ts +6 -0
- package/lib/client/WebClient.js +1 -1
- package/lib/client/WebClient.js.map +1 -1
- package/lib/client/addressbooks/mainnet.cjs +1 -1
- package/lib/client/addressbooks/mainnet.d.ts +1 -1
- package/lib/client/addressbooks/mainnet.js +1 -1
- package/lib/client/addressbooks/mainnet.js.map +1 -1
- package/lib/client/addressbooks/previewnet.cjs +1 -1
- package/lib/client/addressbooks/previewnet.d.ts +1 -1
- package/lib/client/addressbooks/previewnet.js +1 -1
- package/lib/client/addressbooks/previewnet.js.map +1 -1
- package/lib/client/addressbooks/testnet.cjs +1 -1
- package/lib/client/addressbooks/testnet.d.ts +1 -1
- package/lib/client/addressbooks/testnet.js +1 -1
- package/lib/client/addressbooks/testnet.js.map +1 -1
- package/lib/constants/ClientConstants.cjs +17 -1
- package/lib/constants/ClientConstants.d.ts +14 -0
- package/lib/constants/ClientConstants.js +1 -1
- package/lib/constants/ClientConstants.js.map +1 -1
- package/lib/contract/ContractByteCodeQuery.cjs +6 -6
- package/lib/contract/ContractByteCodeQuery.d.ts +12 -12
- package/lib/contract/ContractByteCodeQuery.js.map +1 -1
- package/lib/contract/ContractCallQuery.cjs +1 -1
- package/lib/contract/ContractCallQuery.d.ts +1 -1
- package/lib/contract/ContractCallQuery.js +1 -1
- package/lib/contract/ContractCallQuery.js.map +1 -1
- package/lib/contract/ContractCreateTransaction.cjs +8 -8
- package/lib/contract/ContractCreateTransaction.d.ts +16 -16
- package/lib/contract/ContractCreateTransaction.js.map +1 -1
- package/lib/contract/ContractDeleteTransaction.cjs +8 -8
- package/lib/contract/ContractDeleteTransaction.d.ts +16 -16
- package/lib/contract/ContractDeleteTransaction.js.map +1 -1
- package/lib/contract/ContractExecuteTransaction.cjs +9 -9
- package/lib/contract/ContractExecuteTransaction.d.ts +18 -18
- package/lib/contract/ContractExecuteTransaction.js.map +1 -1
- package/lib/contract/ContractFunctionResult.cjs +2 -2
- package/lib/contract/ContractFunctionResult.d.ts +4 -4
- package/lib/contract/ContractFunctionResult.js.map +1 -1
- package/lib/contract/ContractId.cjs +1 -1
- package/lib/contract/ContractId.d.ts +1 -1
- package/lib/contract/ContractId.js +1 -1
- package/lib/contract/ContractId.js.map +1 -1
- package/lib/contract/ContractInfo.cjs +1 -1
- package/lib/contract/ContractInfo.d.ts +1 -1
- package/lib/contract/ContractInfo.js +1 -1
- package/lib/contract/ContractInfo.js.map +1 -1
- package/lib/contract/ContractInfoQuery.cjs +7 -7
- package/lib/contract/ContractInfoQuery.d.ts +14 -14
- package/lib/contract/ContractInfoQuery.js.map +1 -1
- package/lib/contract/ContractLogInfo.cjs +2 -2
- package/lib/contract/ContractLogInfo.d.ts +4 -4
- package/lib/contract/ContractLogInfo.js.map +1 -1
- package/lib/contract/ContractNonceInfo.cjs +3 -3
- package/lib/contract/ContractNonceInfo.d.ts +4 -4
- package/lib/contract/ContractNonceInfo.js +1 -1
- package/lib/contract/ContractNonceInfo.js.map +1 -1
- package/lib/contract/ContractStateChange.cjs +1 -1
- package/lib/contract/ContractStateChange.d.ts +1 -1
- package/lib/contract/ContractUpdateTransaction.cjs +10 -10
- package/lib/contract/ContractUpdateTransaction.d.ts +18 -18
- package/lib/contract/ContractUpdateTransaction.js +1 -1
- package/lib/contract/ContractUpdateTransaction.js.map +1 -1
- package/lib/contract/DelegateContractId.cjs +2 -2
- package/lib/contract/DelegateContractId.d.ts +4 -4
- package/lib/contract/DelegateContractId.js.map +1 -1
- package/lib/contract/StorageChange.cjs +1 -1
- package/lib/contract/StorageChange.d.ts +1 -1
- package/lib/exports.cjs +1 -1
- package/lib/exports.d.ts +1 -1
- package/lib/exports.js +1 -1
- package/lib/exports.js.map +1 -1
- package/lib/file/FileAppendTransaction.cjs +7 -7
- package/lib/file/FileAppendTransaction.d.ts +14 -14
- package/lib/file/FileAppendTransaction.js.map +1 -1
- package/lib/file/FileContentsQuery.cjs +7 -7
- package/lib/file/FileContentsQuery.d.ts +14 -14
- package/lib/file/FileContentsQuery.js.map +1 -1
- package/lib/file/FileCreateTransaction.cjs +6 -6
- package/lib/file/FileCreateTransaction.d.ts +12 -12
- package/lib/file/FileCreateTransaction.js.map +1 -1
- package/lib/file/FileDeleteTransaction.cjs +7 -7
- package/lib/file/FileDeleteTransaction.d.ts +14 -14
- package/lib/file/FileDeleteTransaction.js.map +1 -1
- package/lib/file/FileId.cjs +1 -1
- package/lib/file/FileId.d.ts +1 -1
- package/lib/file/FileId.js +1 -1
- package/lib/file/FileId.js.map +1 -1
- package/lib/file/FileInfo.cjs +1 -1
- package/lib/file/FileInfo.d.ts +1 -1
- package/lib/file/FileInfo.js +1 -1
- package/lib/file/FileInfo.js.map +1 -1
- package/lib/file/FileInfoQuery.cjs +7 -7
- package/lib/file/FileInfoQuery.d.ts +14 -14
- package/lib/file/FileInfoQuery.js.map +1 -1
- package/lib/file/FileUpdateTransaction.cjs +6 -6
- package/lib/file/FileUpdateTransaction.d.ts +12 -12
- package/lib/file/FileUpdateTransaction.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/native.js +1 -1
- package/lib/network/AddressBookQuery.cjs +1 -5
- package/lib/network/AddressBookQuery.js +1 -1
- package/lib/network/AddressBookQuery.js.map +1 -1
- package/lib/network/AddressBookQueryWeb.cjs +1 -5
- package/lib/network/AddressBookQueryWeb.js +1 -1
- package/lib/network/AddressBookQueryWeb.js.map +1 -1
- package/lib/network/NetworkVersionInfo.cjs +1 -1
- package/lib/network/NetworkVersionInfo.d.ts +1 -1
- package/lib/network/NetworkVersionInfo.js +1 -1
- package/lib/network/NetworkVersionInfo.js.map +1 -1
- package/lib/network/NetworkVersionInfoQuery.cjs +6 -6
- package/lib/network/NetworkVersionInfoQuery.d.ts +12 -12
- package/lib/network/NetworkVersionInfoQuery.js.map +1 -1
- package/lib/network/SemanticVersion.cjs +1 -1
- package/lib/network/SemanticVersion.d.ts +1 -1
- package/lib/network/SemanticVersion.js +1 -1
- package/lib/network/SemanticVersion.js.map +1 -1
- package/lib/node/NodeCreateTransaction.cjs +6 -6
- package/lib/node/NodeCreateTransaction.d.ts +12 -12
- package/lib/node/NodeCreateTransaction.js.map +1 -1
- package/lib/node/NodeDeleteTransaction.cjs +6 -6
- package/lib/node/NodeDeleteTransaction.d.ts +12 -12
- package/lib/node/NodeDeleteTransaction.js.map +1 -1
- package/lib/node/NodeUpdateTransaction.cjs +6 -6
- package/lib/node/NodeUpdateTransaction.d.ts +12 -12
- package/lib/node/NodeUpdateTransaction.js.map +1 -1
- package/lib/node/ServiceEndpoint.cjs +1 -1
- package/lib/node/ServiceEndpoint.d.ts +2 -2
- package/lib/node/ServiceEndpoint.js.map +1 -1
- package/lib/query/CostQuery.cjs +1 -1
- package/lib/query/CostQuery.d.ts +1 -1
- package/lib/query/CostQuery.js +1 -1
- package/lib/query/CostQuery.js.map +1 -1
- package/lib/query/Query.cjs +1 -1
- package/lib/query/Query.d.ts +1 -1
- package/lib/query/Query.js +1 -1
- package/lib/query/Query.js.map +1 -1
- package/lib/query/QueryBase.cjs +1 -1
- package/lib/query/QueryBase.d.ts +1 -1
- package/lib/query/QueryBase.js +1 -1
- package/lib/query/QueryBase.js.map +1 -1
- package/lib/schedule/ScheduleCreateTransaction.cjs +1 -1
- package/lib/schedule/ScheduleCreateTransaction.d.ts +1 -1
- package/lib/schedule/ScheduleCreateTransaction.js +1 -1
- package/lib/schedule/ScheduleCreateTransaction.js.map +1 -1
- package/lib/schedule/ScheduleDeleteTransaction.cjs +8 -8
- package/lib/schedule/ScheduleDeleteTransaction.d.ts +16 -16
- package/lib/schedule/ScheduleDeleteTransaction.js.map +1 -1
- package/lib/schedule/ScheduleId.cjs +1 -1
- package/lib/schedule/ScheduleId.d.ts +1 -1
- package/lib/schedule/ScheduleId.js +1 -1
- package/lib/schedule/ScheduleId.js.map +1 -1
- package/lib/schedule/ScheduleInfo.cjs +1 -1
- package/lib/schedule/ScheduleInfo.d.ts +1 -1
- package/lib/schedule/ScheduleInfo.js +1 -1
- package/lib/schedule/ScheduleInfo.js.map +1 -1
- package/lib/schedule/ScheduleInfoQuery.cjs +7 -7
- package/lib/schedule/ScheduleInfoQuery.d.ts +14 -14
- package/lib/schedule/ScheduleInfoQuery.js.map +1 -1
- package/lib/schedule/ScheduleSignTransaction.cjs +10 -10
- package/lib/schedule/ScheduleSignTransaction.d.ts +20 -20
- package/lib/schedule/ScheduleSignTransaction.js.map +1 -1
- package/lib/system/FreezeTransaction.cjs +6 -6
- package/lib/system/FreezeTransaction.d.ts +12 -12
- package/lib/system/FreezeTransaction.js.map +1 -1
- package/lib/system/SystemDeleteTransaction.cjs +8 -8
- package/lib/system/SystemDeleteTransaction.d.ts +16 -16
- package/lib/system/SystemDeleteTransaction.js.map +1 -1
- package/lib/system/SystemUndeleteTransaction.cjs +8 -8
- package/lib/system/SystemUndeleteTransaction.d.ts +16 -16
- package/lib/system/SystemUndeleteTransaction.js.map +1 -1
- package/lib/token/AbstractTokenTransferTransaction.cjs +1 -1
- package/lib/token/AbstractTokenTransferTransaction.d.ts +2 -2
- package/lib/token/AbstractTokenTransferTransaction.js.map +1 -1
- package/lib/token/AssessedCustomFee.cjs +1 -1
- package/lib/token/AssessedCustomFee.d.ts +2 -2
- package/lib/token/AssessedCustomFee.js.map +1 -1
- package/lib/token/CustomFee.cjs +1 -1
- package/lib/token/CustomFee.d.ts +2 -2
- package/lib/token/CustomFee.js.map +1 -1
- package/lib/token/CustomFixedFee.cjs +3 -3
- package/lib/token/CustomFixedFee.d.ts +6 -6
- package/lib/token/CustomFixedFee.js.map +1 -1
- package/lib/token/CustomFractionalFee.cjs +3 -3
- package/lib/token/CustomFractionalFee.d.ts +6 -6
- package/lib/token/CustomFractionalFee.js.map +1 -1
- package/lib/token/CustomRoyaltyFee.cjs +4 -4
- package/lib/token/CustomRoyaltyFee.d.ts +8 -8
- package/lib/token/CustomRoyaltyFee.js.map +1 -1
- package/lib/token/NftId.cjs +1 -1
- package/lib/token/NftId.d.ts +1 -1
- package/lib/token/NftId.js +1 -1
- package/lib/token/NftId.js.map +1 -1
- package/lib/token/PendingAirdropId.cjs +1 -1
- package/lib/token/PendingAirdropId.d.ts +1 -1
- package/lib/token/PendingAirdropId.js.map +1 -1
- package/lib/token/PendingAirdropRecord.cjs +1 -1
- package/lib/token/PendingAirdropRecord.d.ts +1 -1
- package/lib/token/PendingAirdropRecord.js.map +1 -1
- package/lib/token/TokenAirdropTransaction.cjs +8 -8
- package/lib/token/TokenAirdropTransaction.d.ts +16 -16
- package/lib/token/TokenAirdropTransaction.js.map +1 -1
- package/lib/token/TokenAssociateTransaction.cjs +7 -7
- package/lib/token/TokenAssociateTransaction.d.ts +14 -14
- package/lib/token/TokenAssociateTransaction.js.map +1 -1
- package/lib/token/TokenAssociation.cjs +1 -1
- package/lib/token/TokenAssociation.d.ts +2 -2
- package/lib/token/TokenAssociation.js.map +1 -1
- package/lib/token/TokenBurnTransaction.cjs +7 -7
- package/lib/token/TokenBurnTransaction.d.ts +14 -14
- package/lib/token/TokenBurnTransaction.js.map +1 -1
- package/lib/token/TokenCancelAirdropTransaction.cjs +6 -6
- package/lib/token/TokenCancelAirdropTransaction.d.ts +12 -12
- package/lib/token/TokenCancelAirdropTransaction.js.map +1 -1
- package/lib/token/TokenClaimAirdropTransaction.cjs +6 -6
- package/lib/token/TokenClaimAirdropTransaction.d.ts +12 -12
- package/lib/token/TokenClaimAirdropTransaction.js.map +1 -1
- package/lib/token/TokenCreateTransaction.cjs +7 -7
- package/lib/token/TokenCreateTransaction.d.ts +14 -14
- package/lib/token/TokenCreateTransaction.js.map +1 -1
- package/lib/token/TokenDeleteTransaction.cjs +7 -7
- package/lib/token/TokenDeleteTransaction.d.ts +14 -14
- package/lib/token/TokenDeleteTransaction.js.map +1 -1
- package/lib/token/TokenDissociateTransaction.cjs +7 -7
- package/lib/token/TokenDissociateTransaction.d.ts +14 -14
- package/lib/token/TokenDissociateTransaction.js.map +1 -1
- package/lib/token/TokenFeeScheduleUpdateTransaction.cjs +7 -7
- package/lib/token/TokenFeeScheduleUpdateTransaction.d.ts +14 -14
- package/lib/token/TokenFeeScheduleUpdateTransaction.js.map +1 -1
- package/lib/token/TokenFreezeTransaction.cjs +7 -7
- package/lib/token/TokenFreezeTransaction.d.ts +14 -14
- package/lib/token/TokenFreezeTransaction.js.map +1 -1
- package/lib/token/TokenGrantKycTransaction.cjs +7 -7
- package/lib/token/TokenGrantKycTransaction.d.ts +14 -14
- package/lib/token/TokenGrantKycTransaction.js.map +1 -1
- package/lib/token/TokenId.cjs +1 -1
- package/lib/token/TokenId.d.ts +1 -1
- package/lib/token/TokenId.js +1 -1
- package/lib/token/TokenId.js.map +1 -1
- package/lib/token/TokenInfo.cjs +1 -1
- package/lib/token/TokenInfo.d.ts +1 -1
- package/lib/token/TokenInfo.js +1 -1
- package/lib/token/TokenInfo.js.map +1 -1
- package/lib/token/TokenInfoQuery.cjs +7 -7
- package/lib/token/TokenInfoQuery.d.ts +14 -14
- package/lib/token/TokenInfoQuery.js.map +1 -1
- package/lib/token/TokenKeyValidation.cjs +1 -1
- package/lib/token/TokenKeyValidation.d.ts +2 -2
- package/lib/token/TokenKeyValidation.js.map +1 -1
- package/lib/token/TokenMintTransaction.cjs +7 -7
- package/lib/token/TokenMintTransaction.d.ts +14 -14
- package/lib/token/TokenMintTransaction.js.map +1 -1
- package/lib/token/TokenNftInfo.cjs +10 -10
- package/lib/token/TokenNftInfo.d.ts +20 -20
- package/lib/token/TokenNftInfo.js.map +1 -1
- package/lib/token/TokenNftInfoQuery.cjs +11 -11
- package/lib/token/TokenNftInfoQuery.d.ts +22 -22
- package/lib/token/TokenNftInfoQuery.js.map +1 -1
- package/lib/token/TokenNftTransfer.cjs +5 -5
- package/lib/token/TokenNftTransfer.d.ts +10 -10
- package/lib/token/TokenNftTransfer.js.map +1 -1
- package/lib/token/TokenNftsUpdateTransaction.cjs +7 -7
- package/lib/token/TokenNftsUpdateTransaction.d.ts +14 -14
- package/lib/token/TokenPauseTransaction.cjs +7 -7
- package/lib/token/TokenPauseTransaction.d.ts +14 -14
- package/lib/token/TokenPauseTransaction.js.map +1 -1
- package/lib/token/TokenReference.cjs +1 -1
- package/lib/token/TokenReference.d.ts +2 -2
- package/lib/token/TokenReference.js.map +1 -1
- package/lib/token/TokenRejectTransaction.cjs +7 -7
- package/lib/token/TokenRejectTransaction.d.ts +14 -14
- package/lib/token/TokenRejectTransaction.js.map +1 -1
- package/lib/token/TokenRevokeKycTransaction.cjs +7 -7
- package/lib/token/TokenRevokeKycTransaction.d.ts +14 -14
- package/lib/token/TokenRevokeKycTransaction.js.map +1 -1
- package/lib/token/TokenSupplyType.cjs +1 -1
- package/lib/token/TokenSupplyType.d.ts +2 -2
- package/lib/token/TokenSupplyType.js.map +1 -1
- package/lib/token/TokenTransfer.cjs +4 -4
- package/lib/token/TokenTransfer.d.ts +8 -8
- package/lib/token/TokenTransfer.js.map +1 -1
- package/lib/token/TokenType.cjs +1 -1
- package/lib/token/TokenType.d.ts +2 -2
- package/lib/token/TokenType.js.map +1 -1
- package/lib/token/TokenUnfreezeTransaction.cjs +7 -7
- package/lib/token/TokenUnfreezeTransaction.d.ts +14 -14
- package/lib/token/TokenUnfreezeTransaction.js.map +1 -1
- package/lib/token/TokenUnpauseTransaction.cjs +7 -7
- package/lib/token/TokenUnpauseTransaction.d.ts +14 -14
- package/lib/token/TokenUnpauseTransaction.js.map +1 -1
- package/lib/token/TokenUpdateNftsTransaction.cjs +7 -7
- package/lib/token/TokenUpdateNftsTransaction.d.ts +14 -14
- package/lib/token/TokenUpdateNftsTransaction.js.map +1 -1
- package/lib/token/TokenUpdateTransaction.cjs +7 -7
- package/lib/token/TokenUpdateTransaction.d.ts +14 -14
- package/lib/token/TokenUpdateTransaction.js.map +1 -1
- package/lib/token/TokenWipeTransaction.cjs +7 -7
- package/lib/token/TokenWipeTransaction.d.ts +14 -14
- package/lib/token/TokenWipeTransaction.js.map +1 -1
- package/lib/topic/TopicCreateTransaction.cjs +6 -6
- package/lib/topic/TopicCreateTransaction.d.ts +12 -12
- package/lib/topic/TopicCreateTransaction.js.map +1 -1
- package/lib/topic/TopicDeleteTransaction.cjs +6 -6
- package/lib/topic/TopicDeleteTransaction.d.ts +12 -12
- package/lib/topic/TopicDeleteTransaction.js.map +1 -1
- package/lib/topic/TopicId.cjs +1 -1
- package/lib/topic/TopicId.d.ts +1 -1
- package/lib/topic/TopicId.js +1 -1
- package/lib/topic/TopicId.js.map +1 -1
- package/lib/topic/TopicInfo.cjs +1 -1
- package/lib/topic/TopicInfo.d.ts +1 -1
- package/lib/topic/TopicInfo.js +1 -1
- package/lib/topic/TopicInfo.js.map +1 -1
- package/lib/topic/TopicInfoQuery.cjs +7 -7
- package/lib/topic/TopicInfoQuery.d.ts +14 -14
- package/lib/topic/TopicInfoQuery.js.map +1 -1
- package/lib/topic/TopicMessage.cjs +2 -2
- package/lib/topic/TopicMessage.d.ts +4 -4
- package/lib/topic/TopicMessage.js.map +1 -1
- package/lib/topic/TopicMessageChunk.cjs +2 -2
- package/lib/topic/TopicMessageChunk.d.ts +4 -4
- package/lib/topic/TopicMessageChunk.js.map +1 -1
- package/lib/topic/TopicMessageQuery.cjs +1 -1
- package/lib/topic/TopicMessageQuery.js +1 -1
- package/lib/topic/TopicMessageQuery.js.map +1 -1
- package/lib/topic/TopicMessageSubmitTransaction.cjs +9 -9
- package/lib/topic/TopicMessageSubmitTransaction.d.ts +18 -18
- package/lib/topic/TopicMessageSubmitTransaction.js.map +1 -1
- package/lib/topic/TopicUpdateTransaction.cjs +6 -6
- package/lib/topic/TopicUpdateTransaction.d.ts +12 -12
- package/lib/topic/TopicUpdateTransaction.js.map +1 -1
- package/lib/transaction/BatchTransaction.cjs +5 -5
- package/lib/transaction/BatchTransaction.d.ts +9 -9
- package/lib/transaction/BatchTransaction.js +1 -1
- package/lib/transaction/BatchTransaction.js.map +1 -1
- package/lib/transaction/CustomFeeLimit.cjs +2 -2
- package/lib/transaction/CustomFeeLimit.d.ts +4 -4
- package/lib/transaction/CustomFeeLimit.js.map +1 -1
- package/lib/transaction/NodeAccountIdSignatureMap.cjs +2 -2
- package/lib/transaction/NodeAccountIdSignatureMap.d.ts +2 -2
- package/lib/transaction/NodeAccountIdSignatureMap.js +1 -1
- package/lib/transaction/NodeAccountIdSignatureMap.js.map +1 -1
- package/lib/transaction/NodeAccountIdSignatureMapLegacy.cjs +1 -1
- package/lib/transaction/NodeAccountIdSignatureMapLegacy.d.ts +2 -2
- package/lib/transaction/NodeAccountIdSignatureMapLegacy.js.map +1 -1
- package/lib/transaction/SignatureMap.cjs +1 -1
- package/lib/transaction/SignatureMap.js.map +1 -1
- package/lib/transaction/SignaturePairMap.cjs +1 -1
- package/lib/transaction/SignaturePairMap.d.ts +2 -2
- package/lib/transaction/SignaturePairMap.js.map +1 -1
- package/lib/transaction/Transaction.cjs +1 -1
- package/lib/transaction/Transaction.d.ts +1 -1
- package/lib/transaction/Transaction.js +1 -1
- package/lib/transaction/Transaction.js.map +1 -1
- package/lib/transaction/TransactionHashMap.cjs +1 -1
- package/lib/transaction/TransactionHashMap.d.ts +2 -2
- package/lib/transaction/TransactionHashMap.js.map +1 -1
- package/lib/transaction/TransactionId.cjs +1 -1
- package/lib/transaction/TransactionId.d.ts +1 -1
- package/lib/transaction/TransactionId.js +1 -1
- package/lib/transaction/TransactionId.js.map +1 -1
- package/lib/transaction/TransactionReceipt.cjs +1 -1
- package/lib/transaction/TransactionReceipt.d.ts +1 -1
- package/lib/transaction/TransactionReceipt.js +1 -1
- package/lib/transaction/TransactionReceipt.js.map +1 -1
- package/lib/transaction/TransactionReceiptQuery.cjs +1 -1
- package/lib/transaction/TransactionReceiptQuery.d.ts +1 -1
- package/lib/transaction/TransactionReceiptQuery.js +1 -1
- package/lib/transaction/TransactionReceiptQuery.js.map +1 -1
- package/lib/transaction/TransactionRecord.cjs +1 -1
- package/lib/transaction/TransactionRecord.d.ts +1 -1
- package/lib/transaction/TransactionRecord.js +1 -1
- package/lib/transaction/TransactionRecord.js.map +1 -1
- package/lib/transaction/TransactionRecordQuery.cjs +1 -1
- package/lib/transaction/TransactionRecordQuery.d.ts +1 -1
- package/lib/transaction/TransactionRecordQuery.js +1 -1
- package/lib/transaction/TransactionRecordQuery.js.map +1 -1
- package/lib/util/ASN1-Decoder.cjs +1 -1
- package/lib/util/ASN1-Decoder.js +1 -1
- package/lib/util/ASN1-Decoder.js.map +1 -1
- package/lib/version.js +1 -1
- package/package.json +6 -8
- package/src/Cache.js +6 -6
- package/src/Duration.js +1 -1
- package/src/EntityIdHelper.js +1 -1
- package/src/EthereumFlow.js +7 -7
- package/src/EthereumTransaction.js +7 -7
- package/src/EvmAddress.js +1 -1
- package/src/ExchangeRate.js +2 -2
- package/src/ExchangeRates.js +1 -1
- package/src/Executable.js +18 -2
- package/src/FeeComponents.js +1 -1
- package/src/FeeData.js +1 -1
- package/src/FeeDataType.js +1 -1
- package/src/FeeSchedule.js +1 -1
- package/src/FeeSchedules.js +1 -1
- package/src/FreezeType.js +1 -1
- package/src/Key.js +1 -1
- package/src/KeyList.js +3 -3
- package/src/Mnemonic.js +1 -1
- package/src/PrivateKey.js +7 -7
- package/src/PrngTransaction.js +9 -9
- package/src/PublicKey.js +5 -5
- package/src/RequestType.js +1 -1
- package/src/StakingInfo.js +1 -1
- package/src/Status.js +1 -1
- package/src/Timestamp.js +1 -1
- package/src/TransactionFeeSchedule.js +1 -1
- package/src/Transfer.js +2 -2
- package/src/account/AccountAllowanceAdjustTransaction.js +7 -7
- package/src/account/AccountAllowanceApproveTransaction.js +8 -8
- package/src/account/AccountAllowanceDeleteTransaction.js +7 -7
- package/src/account/AccountBalance.js +1 -1
- package/src/account/AccountBalanceQuery.js +6 -6
- package/src/account/AccountCreateTransaction.js +1 -1
- package/src/account/AccountDeleteTransaction.js +7 -7
- package/src/account/AccountId.js +1 -1
- package/src/account/AccountInfo.js +1 -1
- package/src/account/AccountInfoQuery.js +7 -7
- package/src/account/AccountRecordsQuery.js +7 -7
- package/src/account/AccountUpdateTransaction.js +7 -7
- package/src/account/HbarAllowance.js +3 -3
- package/src/account/HbarTransferMap.js +2 -2
- package/src/account/LiveHash.js +3 -3
- package/src/account/LiveHashAddTransaction.js +7 -7
- package/src/account/LiveHashDeleteTransaction.js +6 -6
- package/src/account/LiveHashQuery.js +7 -7
- package/src/account/NullableTokenDecimalMap.js +2 -2
- package/src/account/ProxyStaker.js +2 -2
- package/src/account/TokenAllowance.js +4 -4
- package/src/account/TokenBalanceMap.js +2 -2
- package/src/account/TokenDecimalMap.js +2 -2
- package/src/account/TokenNftAllowance.js +5 -5
- package/src/account/TokenNftTransferMap.js +5 -5
- package/src/account/TokenRelationship.js +4 -4
- package/src/account/TokenRelationshipMap.js +2 -2
- package/src/account/TokenTransferMap.js +4 -4
- package/src/account/TransferTransaction.js +6 -6
- package/src/address_book/AddressBooks.js +1 -1
- package/src/address_book/Endpoint.js +1 -1
- package/src/address_book/NodeAddress.js +1 -1
- package/src/address_book/NodeAddressBook.js +1 -1
- package/src/channel/Channel.js +26 -2
- package/src/channel/NativeChannel.js +111 -2
- package/src/channel/NodeChannel.js +4 -7
- package/src/channel/WebChannel.js +189 -21
- package/src/client/Client.js +79 -5
- package/src/client/NativeClient.js +1 -1
- package/src/client/NodeClient.js +7 -6
- package/src/client/WebClient.js +64 -31
- package/src/client/addressbooks/mainnet.js +1 -1
- package/src/client/addressbooks/previewnet.js +1 -1
- package/src/client/addressbooks/testnet.js +1 -1
- package/src/constants/ClientConstants.js +16 -0
- package/src/contract/ContractByteCodeQuery.js +6 -6
- package/src/contract/ContractCallQuery.js +1 -1
- package/src/contract/ContractCreateTransaction.js +8 -8
- package/src/contract/ContractDeleteTransaction.js +8 -8
- package/src/contract/ContractExecuteTransaction.js +9 -9
- package/src/contract/ContractFunctionResult.js +2 -2
- package/src/contract/ContractId.js +1 -1
- package/src/contract/ContractInfo.js +1 -1
- package/src/contract/ContractInfoQuery.js +7 -7
- package/src/contract/ContractLogInfo.js +2 -2
- package/src/contract/ContractNonceInfo.js +3 -3
- package/src/contract/ContractStateChange.js +1 -1
- package/src/contract/ContractUpdateTransaction.js +10 -10
- package/src/contract/DelegateContractId.js +2 -2
- package/src/contract/StorageChange.js +1 -1
- package/src/exports.js +1 -1
- package/src/file/FileAppendTransaction.js +7 -7
- package/src/file/FileContentsQuery.js +7 -7
- package/src/file/FileCreateTransaction.js +6 -6
- package/src/file/FileDeleteTransaction.js +7 -7
- package/src/file/FileId.js +1 -1
- package/src/file/FileInfo.js +1 -1
- package/src/file/FileInfoQuery.js +7 -7
- package/src/file/FileUpdateTransaction.js +6 -6
- package/src/network/AddressBookQuery.js +1 -8
- package/src/network/AddressBookQueryWeb.js +1 -8
- package/src/network/NetworkVersionInfo.js +1 -1
- package/src/network/NetworkVersionInfoQuery.js +6 -6
- package/src/network/SemanticVersion.js +1 -1
- package/src/node/NodeCreateTransaction.js +6 -6
- package/src/node/NodeDeleteTransaction.js +6 -6
- package/src/node/NodeUpdateTransaction.js +6 -6
- package/src/node/ServiceEndpoint.js +1 -1
- package/src/query/CostQuery.js +1 -1
- package/src/query/Query.js +1 -1
- package/src/query/QueryBase.js +1 -1
- package/src/schedule/ScheduleCreateTransaction.js +1 -1
- package/src/schedule/ScheduleDeleteTransaction.js +8 -8
- package/src/schedule/ScheduleId.js +1 -1
- package/src/schedule/ScheduleInfo.js +1 -1
- package/src/schedule/ScheduleInfoQuery.js +7 -7
- package/src/schedule/ScheduleSignTransaction.js +10 -10
- package/src/system/FreezeTransaction.js +6 -6
- package/src/system/SystemDeleteTransaction.js +8 -8
- package/src/system/SystemUndeleteTransaction.js +8 -8
- package/src/token/AbstractTokenTransferTransaction.js +1 -1
- package/src/token/AssessedCustomFee.js +1 -1
- package/src/token/CustomFee.js +1 -1
- package/src/token/CustomFixedFee.js +3 -3
- package/src/token/CustomFractionalFee.js +3 -3
- package/src/token/CustomRoyaltyFee.js +4 -4
- package/src/token/NftId.js +1 -1
- package/src/token/PendingAirdropId.js +1 -1
- package/src/token/PendingAirdropRecord.js +1 -1
- package/src/token/TokenAirdropTransaction.js +8 -8
- package/src/token/TokenAssociateTransaction.js +7 -7
- package/src/token/TokenAssociation.js +1 -1
- package/src/token/TokenBurnTransaction.js +7 -7
- package/src/token/TokenCancelAirdropTransaction.js +6 -6
- package/src/token/TokenClaimAirdropTransaction.js +6 -6
- package/src/token/TokenCreateTransaction.js +7 -7
- package/src/token/TokenDeleteTransaction.js +7 -7
- package/src/token/TokenDissociateTransaction.js +7 -7
- package/src/token/TokenFeeScheduleUpdateTransaction.js +7 -7
- package/src/token/TokenFreezeTransaction.js +7 -7
- package/src/token/TokenGrantKycTransaction.js +7 -7
- package/src/token/TokenId.js +1 -1
- package/src/token/TokenInfo.js +1 -1
- package/src/token/TokenInfoQuery.js +7 -7
- package/src/token/TokenKeyValidation.js +1 -1
- package/src/token/TokenMintTransaction.js +7 -7
- package/src/token/TokenNftInfo.js +10 -10
- package/src/token/TokenNftInfoQuery.js +11 -11
- package/src/token/TokenNftTransfer.js +5 -5
- package/src/token/TokenNftsUpdateTransaction.js +7 -7
- package/src/token/TokenPauseTransaction.js +7 -7
- package/src/token/TokenReference.js +1 -1
- package/src/token/TokenRejectTransaction.js +7 -7
- package/src/token/TokenRevokeKycTransaction.js +7 -7
- package/src/token/TokenSupplyType.js +1 -1
- package/src/token/TokenTransfer.js +4 -4
- package/src/token/TokenType.js +1 -1
- package/src/token/TokenUnfreezeTransaction.js +7 -7
- package/src/token/TokenUnpauseTransaction.js +7 -7
- package/src/token/TokenUpdateNftsTransaction.js +7 -7
- package/src/token/TokenUpdateTransaction.js +7 -7
- package/src/token/TokenWipeTransaction.js +7 -7
- package/src/topic/TopicCreateTransaction.js +6 -6
- package/src/topic/TopicDeleteTransaction.js +6 -6
- package/src/topic/TopicId.js +1 -1
- package/src/topic/TopicInfo.js +1 -1
- package/src/topic/TopicInfoQuery.js +7 -7
- package/src/topic/TopicMessage.js +2 -2
- package/src/topic/TopicMessageChunk.js +2 -2
- package/src/topic/TopicMessageQuery.js +1 -1
- package/src/topic/TopicMessageSubmitTransaction.js +9 -9
- package/src/topic/TopicUpdateTransaction.js +6 -6
- package/src/transaction/BatchTransaction.js +5 -5
- package/src/transaction/CustomFeeLimit.js +2 -2
- package/src/transaction/NodeAccountIdSignatureMap.js +2 -2
- package/src/transaction/NodeAccountIdSignatureMapLegacy.js +1 -1
- package/src/transaction/SignatureMap.js +1 -1
- package/src/transaction/SignaturePairMap.js +1 -1
- package/src/transaction/Transaction.js +1 -1
- package/src/transaction/TransactionHashMap.js +1 -1
- package/src/transaction/TransactionId.js +1 -1
- package/src/transaction/TransactionReceipt.js +1 -1
- package/src/transaction/TransactionReceiptQuery.js +1 -1
- package/src/transaction/TransactionRecord.js +1 -1
- package/src/transaction/TransactionRecordQuery.js +1 -1
- package/src/util/ASN1-Decoder.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeAddressBook.js","sources":["../../src/address_book/NodeAddressBook.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport NodeAddress from \"./NodeAddress.js\";\nimport * as HieroProto from \"@
|
|
1
|
+
{"version":3,"file":"NodeAddressBook.js","sources":["../../src/address_book/NodeAddressBook.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport NodeAddress from \"./NodeAddress.js\";\nimport * as HieroProto from \"@hiero-ledger/proto\";\n\n/**\n * @typedef {import(\"./NodeAddress.js\").NodeAddressJson} NodeAddressJson\n */\n\n/**\n * @typedef {object} NodeAddressBookJson\n * @property {NodeAddressJson[]} nodeAddresses\n */\n\n/**\n * Represents a collection of node addresses in the Hedera network.\n *\n * The NodeAddressBook contains information about the nodes in the Hedera network,\n * including their network addresses, account IDs, and node IDs. This class is used\n * to manage and access the network's node information.\n */\nexport default class NodeAddressBook {\n /**\n * @param {object} props\n * @param {NodeAddress[]} [props.nodeAddresses]\n */\n constructor(props = {}) {\n /**\n * @type {NodeAddress[]}\n */\n this._nodeAddresses = [];\n\n if (props.nodeAddresses != null) {\n this.setNodeAddresses(props.nodeAddresses);\n }\n }\n\n /**\n * @returns {NodeAddress[]}\n */\n get nodeAddresses() {\n return this._nodeAddresses;\n }\n\n /**\n * @param {NodeAddress[]} nodeAddresses\n * @returns {this}\n */\n setNodeAddresses(nodeAddresses) {\n this._nodeAddresses = nodeAddresses;\n return this;\n }\n\n /**\n * @param {Uint8Array} bytes\n * @returns {NodeAddressBook}\n */\n static fromBytes(bytes) {\n return NodeAddressBook._fromProtobuf(\n HieroProto.proto.NodeAddressBook.decode(bytes),\n );\n }\n\n /**\n * @internal\n * @param {HieroProto.proto.INodeAddressBook} nodeAddressBook\n * @returns {NodeAddressBook}\n */\n static _fromProtobuf(nodeAddressBook) {\n return new NodeAddressBook({\n nodeAddresses:\n nodeAddressBook.nodeAddress != null\n ? nodeAddressBook.nodeAddress.map((nodeAddress) =>\n NodeAddress._fromProtobuf(nodeAddress),\n )\n : undefined,\n });\n }\n\n /**\n * @returns {HieroProto.proto.INodeAddressBook}\n */\n _toProtobuf() {\n return {\n nodeAddress: this._nodeAddresses.map((nodeAddress) =>\n nodeAddress._toProtobuf(),\n ),\n };\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this.toJSON());\n }\n\n /**\n * @returns {NodeAddressBookJson}\n */\n toJSON() {\n return {\n nodeAddresses: this._nodeAddresses.map((nodeAddress) =>\n nodeAddress.toJSON(),\n ),\n };\n }\n\n toBytes() {\n return HieroProto.proto.NodeAddressBook.encode(\n this._toProtobuf(),\n ).finish();\n }\n}\n"],"names":["NodeAddressBook","constructor","props","this","_nodeAddresses","nodeAddresses","setNodeAddresses","fromBytes","bytes","_fromProtobuf","HieroProto","proto","decode","nodeAddressBook","nodeAddress","map","NodeAddress","undefined","_toProtobuf","toString","JSON","stringify","toJSON","toBytes","encode","finish"],"mappings":"sEAqBe,MAAMA,EAKjB,WAAAC,CAAYC,EAAQ,IAIhBC,KAAKC,eAAiB,GAEK,MAAvBF,EAAMG,eACNF,KAAKG,iBAAiBJ,EAAMG,cAExC,CAKI,iBAAIA,GACA,OAAOF,KAAKC,cACpB,CAMI,gBAAAE,CAAiBD,GAEb,OADAF,KAAKC,eAAiBC,EACfF,IACf,CAMI,gBAAOI,CAAUC,GACb,OAAOR,EAAgBS,cACnBC,EAAWC,MAAMX,gBAAgBY,OAAOJ,GAEpD,CAOI,oBAAOC,CAAcI,GACjB,OAAO,IAAIb,EAAgB,CACvBK,cACmC,MAA/BQ,EAAgBC,YACVD,EAAgBC,YAAYC,IAAKD,GAC7BE,EAAYP,cAAcK,SAE9BG,GAEtB,CAKI,WAAAC,GACI,MAAO,CACHJ,YAAaX,KAAKC,eAAeW,IAAKD,GAClCA,EAAYI,eAG5B,CAKI,QAAAC,GACI,OAAOC,KAAKC,UAAUlB,KAAKmB,SACnC,CAKI,MAAAA,GACI,MAAO,CACHjB,cAAeF,KAAKC,eAAeW,IAAKD,GACpCA,EAAYQ,UAG5B,CAEI,OAAAC,GACI,OAAOb,EAAWC,MAAMX,gBAAgBwB,OACpCrB,KAAKe,eACPO,QACV"}
|
package/lib/browser.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{NetworkName}from"./exports.js";export{default as Client,default as WebClient}from"./client/WebClient.js";export{default as LocalProvider}from"./LocalProviderWeb.js";export{default as AddressBookQuery}from"./network/AddressBookQueryWeb.js";export{default as Cache}from"./Cache.js";export{default as PrivateKey}from"./PrivateKey.js";export{default as PublicKey}from"./PublicKey.js";export{default as KeyList}from"./KeyList.js";export{default as Key}from"./Key.js";export{default as Mnemonic}from"./Mnemonic.js";export{default as TokenAirdropTransaction}from"./token/TokenAirdropTransaction.js";export{default as TokenClaimAirdropTransaction}from"./token/TokenClaimAirdropTransaction.js";export{default as TokenCancelAirdropTransaction}from"./token/TokenCancelAirdropTransaction.js";export{default as AccountAllowanceAdjustTransaction}from"./account/AccountAllowanceAdjustTransaction.js";export{default as AccountAllowanceApproveTransaction}from"./account/AccountAllowanceApproveTransaction.js";export{default as AccountAllowanceDeleteTransaction}from"./account/AccountAllowanceDeleteTransaction.js";export{default as AccountBalance}from"./account/AccountBalance.js";export{default as AccountBalanceQuery}from"./account/AccountBalanceQuery.js";export{default as AccountCreateTransaction}from"./account/AccountCreateTransaction.js";export{default as AccountDeleteTransaction}from"./account/AccountDeleteTransaction.js";export{default as AccountId}from"./account/AccountId.js";export{default as AccountInfo}from"./account/AccountInfo.js";export{default as AccountInfoFlow}from"./account/AccountInfoFlow.js";export{default as AccountInfoQuery}from"./account/AccountInfoQuery.js";export{default as AccountRecordsQuery}from"./account/AccountRecordsQuery.js";export{default as AccountUpdateTransaction}from"./account/AccountUpdateTransaction.js";export{default as AssessedCustomFee}from"./token/AssessedCustomFee.js";export{default as BatchTransaction}from"./transaction/BatchTransaction.js";export{default as ContractByteCodeQuery}from"./contract/ContractByteCodeQuery.js";export{default as ContractCallQuery}from"./contract/ContractCallQuery.js";export{default as ContractCreateFlow}from"./contract/ContractCreateFlow.js";export{default as ContractCreateTransaction}from"./contract/ContractCreateTransaction.js";export{default as ContractDeleteTransaction}from"./contract/ContractDeleteTransaction.js";export{default as ContractExecuteTransaction}from"./contract/ContractExecuteTransaction.js";export{default as ContractFunctionParameters}from"./contract/ContractFunctionParameters.js";export{default as ContractFunctionResult}from"./contract/ContractFunctionResult.js";export{default as ContractFunctionSelector}from"./contract/ContractFunctionSelector.js";export{default as ContractId}from"./contract/ContractId.js";export{default as ContractInfo}from"./contract/ContractInfo.js";export{default as ContractInfoQuery}from"./contract/ContractInfoQuery.js";export{default as ContractLogInfo}from"./contract/ContractLogInfo.js";export{default as ContractNonceInfo}from"./contract/ContractNonceInfo.js";export{default as ContractUpdateTransaction}from"./contract/ContractUpdateTransaction.js";export{default as CustomFee}from"./token/CustomFee.js";export{default as CustomFixedFee}from"./token/CustomFixedFee.js";export{default as CustomFractionalFee}from"./token/CustomFractionalFee.js";export{default as CustomRoyaltyFee}from"./token/CustomRoyaltyFee.js";export{default as DelegateContractId}from"./contract/DelegateContractId.js";export{default as EthereumTransaction}from"./EthereumTransaction.js";export{default as EthereumTransactionDataLegacy}from"./EthereumTransactionDataLegacy.js";export{default as EthereumTransactionDataEip1559}from"./EthereumTransactionDataEip1559.js";export{default as EthereumTransactionDataEip2930}from"./EthereumTransactionDataEip2930.js";export{default as EthereumTransactionData}from"./EthereumTransactionData.js";export{default as EthereumFlow}from"./EthereumFlow.js";export{default as EvmAddress}from"./EvmAddress.js";export{default as ExchangeRate}from"./ExchangeRate.js";export{default as ExchangeRates}from"./ExchangeRates.js";export{default as Executable}from"./Executable.js";export{default as FeeAssessmentMethod}from"./token/FeeAssessmentMethod.js";export{default as FeeComponents}from"./FeeComponents.js";export{default as FeeData}from"./FeeData.js";export{default as FeeDataType}from"./FeeDataType.js";export{default as FeeSchedule}from"./FeeSchedule.js";export{default as FeeSchedules}from"./FeeSchedules.js";export{default as FileAppendTransaction}from"./file/FileAppendTransaction.js";export{default as FileContentsQuery}from"./file/FileContentsQuery.js";export{default as FileCreateTransaction}from"./file/FileCreateTransaction.js";export{default as FileDeleteTransaction}from"./file/FileDeleteTransaction.js";export{default as FileId}from"./file/FileId.js";export{default as FileInfo}from"./file/FileInfo.js";export{default as FileInfoQuery}from"./file/FileInfoQuery.js";export{default as FileUpdateTransaction}from"./file/FileUpdateTransaction.js";export{default as FreezeTransaction}from"./system/FreezeTransaction.js";export{default as Hbar}from"./Hbar.js";export{default as HbarAllowance}from"./account/HbarAllowance.js";export{default as HbarUnit}from"./HbarUnit.js";export{default as LiveHash}from"./account/LiveHash.js";export{default as LiveHashAddTransaction}from"./account/LiveHashAddTransaction.js";export{default as LiveHashDeleteTransaction}from"./account/LiveHashDeleteTransaction.js";export{default as LiveHashQuery}from"./account/LiveHashQuery.js";export{default as MaxQueryPaymentExceeded}from"./MaxQueryPaymentExceeded.js";export{default as MirrorNodeContractCallQuery}from"./query/MirrorNodeContractCallQuery.js";export{default as MirrorNodeContractEstimateQuery}from"./query/MirrorNodeContractEstimateQuery.js";export{default as NodeAddressBook}from"./address_book/NodeAddressBook.js";export{default as NetworkVersionInfo}from"./network/NetworkVersionInfo.js";export{default as NetworkVersionInfoQuery}from"./network/NetworkVersionInfoQuery.js";export{default as NftId}from"./token/NftId.js";export{default as PendingAirdropId}from"./token/PendingAirdropId.js";export{default as PrngTransaction}from"./PrngTransaction.js";export{default as ProxyStaker}from"./account/ProxyStaker.js";export{default as Query}from"./query/Query.js";export{default as RequestType}from"./RequestType.js";export{default as ScheduleCreateTransaction}from"./schedule/ScheduleCreateTransaction.js";export{default as ScheduleDeleteTransaction}from"./schedule/ScheduleDeleteTransaction.js";export{default as ScheduleId}from"./schedule/ScheduleId.js";export{default as ScheduleInfo}from"./schedule/ScheduleInfo.js";export{default as ScheduleInfoQuery}from"./schedule/ScheduleInfoQuery.js";export{default as ScheduleSignTransaction}from"./schedule/ScheduleSignTransaction.js";export{default as SemanticVersion}from"./network/SemanticVersion.js";export{default as SignatureMap}from"./transaction/SignatureMap.js";export{default as SignerSignature}from"./SignerSignature.js";export{default as Status}from"./Status.js";export{default as SubscriptionHandle}from"./topic/SubscriptionHandle.js";export{default as SystemDeleteTransaction}from"./system/SystemDeleteTransaction.js";export{default as SystemUndeleteTransaction}from"./system/SystemUndeleteTransaction.js";export{default as Timestamp}from"./Timestamp.js";export{default as TokenAllowance}from"./account/TokenAllowance.js";export{default as TokenAssociateTransaction}from"./token/TokenAssociateTransaction.js";export{default as TokenBurnTransaction}from"./token/TokenBurnTransaction.js";export{default as TokenRejectTransaction}from"./token/TokenRejectTransaction.js";export{default as TokenRejectFlow}from"./token/TokenRejectFlow.js";export{default as TokenCreateTransaction}from"./token/TokenCreateTransaction.js";export{default as TokenDeleteTransaction}from"./token/TokenDeleteTransaction.js";export{default as TokenDissociateTransaction}from"./token/TokenDissociateTransaction.js";export{default as TokenFeeScheduleUpdateTransaction}from"./token/TokenFeeScheduleUpdateTransaction.js";export{default as TokenFreezeTransaction}from"./token/TokenFreezeTransaction.js";export{default as TokenGrantKycTransaction}from"./token/TokenGrantKycTransaction.js";export{default as TokenId}from"./token/TokenId.js";export{default as TokenInfo}from"./token/TokenInfo.js";export{default as TokenInfoQuery}from"./token/TokenInfoQuery.js";export{default as TokenMintTransaction}from"./token/TokenMintTransaction.js";export{default as TokenNftAllowance}from"./account/TokenNftAllowance.js";export{default as TokenNftInfo}from"./token/TokenNftInfo.js";export{default as TokenNftInfoQuery}from"./token/TokenNftInfoQuery.js";export{default as TokenPauseTransaction}from"./token/TokenPauseTransaction.js";export{default as TokenRevokeKycTransaction}from"./token/TokenRevokeKycTransaction.js";export{default as TokenSupplyType}from"./token/TokenSupplyType.js";export{default as TokenType}from"./token/TokenType.js";export{default as TokenUnfreezeTransaction}from"./token/TokenUnfreezeTransaction.js";export{default as TokenUnpauseTransaction}from"./token/TokenUnpauseTransaction.js";export{default as TokenUpdateTransaction}from"./token/TokenUpdateTransaction.js";export{default as TokenWipeTransaction}from"./token/TokenWipeTransaction.js";export{default as TopicCreateTransaction}from"./topic/TopicCreateTransaction.js";export{default as TopicDeleteTransaction}from"./topic/TopicDeleteTransaction.js";export{default as TopicId}from"./topic/TopicId.js";export{default as TopicInfo}from"./topic/TopicInfo.js";export{default as TopicInfoQuery}from"./topic/TopicInfoQuery.js";export{default as TopicMessage}from"./topic/TopicMessage.js";export{default as TopicMessageChunk}from"./topic/TopicMessageChunk.js";export{default as TopicMessageQuery}from"./topic/TopicMessageQuery.js";export{default as TopicMessageSubmitTransaction}from"./topic/TopicMessageSubmitTransaction.js";export{default as TopicUpdateTransaction}from"./topic/TopicUpdateTransaction.js";export{default as CustomFeeLimit}from"./transaction/CustomFeeLimit.js";export{default as Transaction}from"./transaction/Transaction.js";export{default as TransactionFeeSchedule}from"./TransactionFeeSchedule.js";export{default as TransactionId}from"./transaction/TransactionId.js";export{default as TransactionReceipt}from"./transaction/TransactionReceipt.js";export{default as TransactionReceiptQuery}from"./transaction/TransactionReceiptQuery.js";export{default as TransactionRecord}from"./transaction/TransactionRecord.js";export{default as TransactionRecordQuery}from"./transaction/TransactionRecordQuery.js";export{default as TransactionResponse}from"./transaction/TransactionResponse.js";export{default as Transfer}from"./Transfer.js";export{default as TransferTransaction}from"./account/TransferTransaction.js";export{default as Wallet}from"./Wallet.js";export{default as Logger}from"./logger/Logger.js";export{default as LogLevel}from"./logger/LogLevel.js";export{default as FreezeType}from"./FreezeType.js";export{default as TokenKeyValidation}from"./token/TokenKeyValidation.js";export{default as StatusError}from"./StatusError.js";export{default as MaxAttemptsOrTimeoutError}from"./MaxAttemptsOrTimeoutError.js";export{default as PrecheckStatusError}from"./PrecheckStatusError.js";export{default as ReceiptStatusError}from"./ReceiptStatusError.js";export{default as LedgerId}from"./LedgerId.js";export{default as TokenUpdateNftsTransaction}from"./token/TokenUpdateNftsTransaction.js";export{default as NodeCreateTransaction}from"./node/NodeCreateTransaction.js";export{default as ServiceEndpoint}from"./node/ServiceEndpoint.js";export{default as NodeDeleteTransaction}from"./node/NodeDeleteTransaction.js";export{default as NodeUpdateTransaction}from"./node/NodeUpdateTransaction.js";export{BadKeyError,BadMnemonicError,BadMnemonicReason,HEDERA_PATH,SLIP44_ECDSA_ETH_PATH,SLIP44_ECDSA_HEDERA_PATH}from"@hashgraph/cryptography";export{default as Provider}from"./Provider.js";export{default as Signer}from"./Signer.js";export{default as Long}from"long";import*as e from"./EntityIdHelper.js";export{e as EntityIdHelper};
|
|
1
|
+
export{NetworkName}from"./exports.js";export{default as Client,default as WebClient}from"./client/WebClient.js";export{default as LocalProvider}from"./LocalProviderWeb.js";export{default as AddressBookQuery}from"./network/AddressBookQueryWeb.js";export{default as Cache}from"./Cache.js";export{default as PrivateKey}from"./PrivateKey.js";export{default as PublicKey}from"./PublicKey.js";export{default as KeyList}from"./KeyList.js";export{default as Key}from"./Key.js";export{default as Mnemonic}from"./Mnemonic.js";export{default as TokenAirdropTransaction}from"./token/TokenAirdropTransaction.js";export{default as TokenClaimAirdropTransaction}from"./token/TokenClaimAirdropTransaction.js";export{default as TokenCancelAirdropTransaction}from"./token/TokenCancelAirdropTransaction.js";export{default as AccountAllowanceAdjustTransaction}from"./account/AccountAllowanceAdjustTransaction.js";export{default as AccountAllowanceApproveTransaction}from"./account/AccountAllowanceApproveTransaction.js";export{default as AccountAllowanceDeleteTransaction}from"./account/AccountAllowanceDeleteTransaction.js";export{default as AccountBalance}from"./account/AccountBalance.js";export{default as AccountBalanceQuery}from"./account/AccountBalanceQuery.js";export{default as AccountCreateTransaction}from"./account/AccountCreateTransaction.js";export{default as AccountDeleteTransaction}from"./account/AccountDeleteTransaction.js";export{default as AccountId}from"./account/AccountId.js";export{default as AccountInfo}from"./account/AccountInfo.js";export{default as AccountInfoFlow}from"./account/AccountInfoFlow.js";export{default as AccountInfoQuery}from"./account/AccountInfoQuery.js";export{default as AccountRecordsQuery}from"./account/AccountRecordsQuery.js";export{default as AccountUpdateTransaction}from"./account/AccountUpdateTransaction.js";export{default as AssessedCustomFee}from"./token/AssessedCustomFee.js";export{default as BatchTransaction}from"./transaction/BatchTransaction.js";export{default as ContractByteCodeQuery}from"./contract/ContractByteCodeQuery.js";export{default as ContractCallQuery}from"./contract/ContractCallQuery.js";export{default as ContractCreateFlow}from"./contract/ContractCreateFlow.js";export{default as ContractCreateTransaction}from"./contract/ContractCreateTransaction.js";export{default as ContractDeleteTransaction}from"./contract/ContractDeleteTransaction.js";export{default as ContractExecuteTransaction}from"./contract/ContractExecuteTransaction.js";export{default as ContractFunctionParameters}from"./contract/ContractFunctionParameters.js";export{default as ContractFunctionResult}from"./contract/ContractFunctionResult.js";export{default as ContractFunctionSelector}from"./contract/ContractFunctionSelector.js";export{default as ContractId}from"./contract/ContractId.js";export{default as ContractInfo}from"./contract/ContractInfo.js";export{default as ContractInfoQuery}from"./contract/ContractInfoQuery.js";export{default as ContractLogInfo}from"./contract/ContractLogInfo.js";export{default as ContractNonceInfo}from"./contract/ContractNonceInfo.js";export{default as ContractUpdateTransaction}from"./contract/ContractUpdateTransaction.js";export{default as CustomFee}from"./token/CustomFee.js";export{default as CustomFixedFee}from"./token/CustomFixedFee.js";export{default as CustomFractionalFee}from"./token/CustomFractionalFee.js";export{default as CustomRoyaltyFee}from"./token/CustomRoyaltyFee.js";export{default as DelegateContractId}from"./contract/DelegateContractId.js";export{default as EthereumTransaction}from"./EthereumTransaction.js";export{default as EthereumTransactionDataLegacy}from"./EthereumTransactionDataLegacy.js";export{default as EthereumTransactionDataEip1559}from"./EthereumTransactionDataEip1559.js";export{default as EthereumTransactionDataEip2930}from"./EthereumTransactionDataEip2930.js";export{default as EthereumTransactionData}from"./EthereumTransactionData.js";export{default as EthereumFlow}from"./EthereumFlow.js";export{default as EvmAddress}from"./EvmAddress.js";export{default as ExchangeRate}from"./ExchangeRate.js";export{default as ExchangeRates}from"./ExchangeRates.js";export{default as Executable}from"./Executable.js";export{default as FeeAssessmentMethod}from"./token/FeeAssessmentMethod.js";export{default as FeeComponents}from"./FeeComponents.js";export{default as FeeData}from"./FeeData.js";export{default as FeeDataType}from"./FeeDataType.js";export{default as FeeSchedule}from"./FeeSchedule.js";export{default as FeeSchedules}from"./FeeSchedules.js";export{default as FileAppendTransaction}from"./file/FileAppendTransaction.js";export{default as FileContentsQuery}from"./file/FileContentsQuery.js";export{default as FileCreateTransaction}from"./file/FileCreateTransaction.js";export{default as FileDeleteTransaction}from"./file/FileDeleteTransaction.js";export{default as FileId}from"./file/FileId.js";export{default as FileInfo}from"./file/FileInfo.js";export{default as FileInfoQuery}from"./file/FileInfoQuery.js";export{default as FileUpdateTransaction}from"./file/FileUpdateTransaction.js";export{default as FreezeTransaction}from"./system/FreezeTransaction.js";export{default as Hbar}from"./Hbar.js";export{default as HbarAllowance}from"./account/HbarAllowance.js";export{default as HbarUnit}from"./HbarUnit.js";export{default as LiveHash}from"./account/LiveHash.js";export{default as LiveHashAddTransaction}from"./account/LiveHashAddTransaction.js";export{default as LiveHashDeleteTransaction}from"./account/LiveHashDeleteTransaction.js";export{default as LiveHashQuery}from"./account/LiveHashQuery.js";export{default as MaxQueryPaymentExceeded}from"./MaxQueryPaymentExceeded.js";export{default as MirrorNodeContractCallQuery}from"./query/MirrorNodeContractCallQuery.js";export{default as MirrorNodeContractEstimateQuery}from"./query/MirrorNodeContractEstimateQuery.js";export{default as NodeAddressBook}from"./address_book/NodeAddressBook.js";export{default as NetworkVersionInfo}from"./network/NetworkVersionInfo.js";export{default as NetworkVersionInfoQuery}from"./network/NetworkVersionInfoQuery.js";export{default as NftId}from"./token/NftId.js";export{default as PendingAirdropId}from"./token/PendingAirdropId.js";export{default as PrngTransaction}from"./PrngTransaction.js";export{default as ProxyStaker}from"./account/ProxyStaker.js";export{default as Query}from"./query/Query.js";export{default as RequestType}from"./RequestType.js";export{default as ScheduleCreateTransaction}from"./schedule/ScheduleCreateTransaction.js";export{default as ScheduleDeleteTransaction}from"./schedule/ScheduleDeleteTransaction.js";export{default as ScheduleId}from"./schedule/ScheduleId.js";export{default as ScheduleInfo}from"./schedule/ScheduleInfo.js";export{default as ScheduleInfoQuery}from"./schedule/ScheduleInfoQuery.js";export{default as ScheduleSignTransaction}from"./schedule/ScheduleSignTransaction.js";export{default as SemanticVersion}from"./network/SemanticVersion.js";export{default as SignatureMap}from"./transaction/SignatureMap.js";export{default as SignerSignature}from"./SignerSignature.js";export{default as Status}from"./Status.js";export{default as SubscriptionHandle}from"./topic/SubscriptionHandle.js";export{default as SystemDeleteTransaction}from"./system/SystemDeleteTransaction.js";export{default as SystemUndeleteTransaction}from"./system/SystemUndeleteTransaction.js";export{default as Timestamp}from"./Timestamp.js";export{default as TokenAllowance}from"./account/TokenAllowance.js";export{default as TokenAssociateTransaction}from"./token/TokenAssociateTransaction.js";export{default as TokenBurnTransaction}from"./token/TokenBurnTransaction.js";export{default as TokenRejectTransaction}from"./token/TokenRejectTransaction.js";export{default as TokenRejectFlow}from"./token/TokenRejectFlow.js";export{default as TokenCreateTransaction}from"./token/TokenCreateTransaction.js";export{default as TokenDeleteTransaction}from"./token/TokenDeleteTransaction.js";export{default as TokenDissociateTransaction}from"./token/TokenDissociateTransaction.js";export{default as TokenFeeScheduleUpdateTransaction}from"./token/TokenFeeScheduleUpdateTransaction.js";export{default as TokenFreezeTransaction}from"./token/TokenFreezeTransaction.js";export{default as TokenGrantKycTransaction}from"./token/TokenGrantKycTransaction.js";export{default as TokenId}from"./token/TokenId.js";export{default as TokenInfo}from"./token/TokenInfo.js";export{default as TokenInfoQuery}from"./token/TokenInfoQuery.js";export{default as TokenMintTransaction}from"./token/TokenMintTransaction.js";export{default as TokenNftAllowance}from"./account/TokenNftAllowance.js";export{default as TokenNftInfo}from"./token/TokenNftInfo.js";export{default as TokenNftInfoQuery}from"./token/TokenNftInfoQuery.js";export{default as TokenPauseTransaction}from"./token/TokenPauseTransaction.js";export{default as TokenRevokeKycTransaction}from"./token/TokenRevokeKycTransaction.js";export{default as TokenSupplyType}from"./token/TokenSupplyType.js";export{default as TokenType}from"./token/TokenType.js";export{default as TokenUnfreezeTransaction}from"./token/TokenUnfreezeTransaction.js";export{default as TokenUnpauseTransaction}from"./token/TokenUnpauseTransaction.js";export{default as TokenUpdateTransaction}from"./token/TokenUpdateTransaction.js";export{default as TokenWipeTransaction}from"./token/TokenWipeTransaction.js";export{default as TopicCreateTransaction}from"./topic/TopicCreateTransaction.js";export{default as TopicDeleteTransaction}from"./topic/TopicDeleteTransaction.js";export{default as TopicId}from"./topic/TopicId.js";export{default as TopicInfo}from"./topic/TopicInfo.js";export{default as TopicInfoQuery}from"./topic/TopicInfoQuery.js";export{default as TopicMessage}from"./topic/TopicMessage.js";export{default as TopicMessageChunk}from"./topic/TopicMessageChunk.js";export{default as TopicMessageQuery}from"./topic/TopicMessageQuery.js";export{default as TopicMessageSubmitTransaction}from"./topic/TopicMessageSubmitTransaction.js";export{default as TopicUpdateTransaction}from"./topic/TopicUpdateTransaction.js";export{default as CustomFeeLimit}from"./transaction/CustomFeeLimit.js";export{default as Transaction}from"./transaction/Transaction.js";export{default as TransactionFeeSchedule}from"./TransactionFeeSchedule.js";export{default as TransactionId}from"./transaction/TransactionId.js";export{default as TransactionReceipt}from"./transaction/TransactionReceipt.js";export{default as TransactionReceiptQuery}from"./transaction/TransactionReceiptQuery.js";export{default as TransactionRecord}from"./transaction/TransactionRecord.js";export{default as TransactionRecordQuery}from"./transaction/TransactionRecordQuery.js";export{default as TransactionResponse}from"./transaction/TransactionResponse.js";export{default as Transfer}from"./Transfer.js";export{default as TransferTransaction}from"./account/TransferTransaction.js";export{default as Wallet}from"./Wallet.js";export{default as Logger}from"./logger/Logger.js";export{default as LogLevel}from"./logger/LogLevel.js";export{default as FreezeType}from"./FreezeType.js";export{default as TokenKeyValidation}from"./token/TokenKeyValidation.js";export{default as StatusError}from"./StatusError.js";export{default as MaxAttemptsOrTimeoutError}from"./MaxAttemptsOrTimeoutError.js";export{default as PrecheckStatusError}from"./PrecheckStatusError.js";export{default as ReceiptStatusError}from"./ReceiptStatusError.js";export{default as LedgerId}from"./LedgerId.js";export{default as TokenUpdateNftsTransaction}from"./token/TokenUpdateNftsTransaction.js";export{default as NodeCreateTransaction}from"./node/NodeCreateTransaction.js";export{default as ServiceEndpoint}from"./node/ServiceEndpoint.js";export{default as NodeDeleteTransaction}from"./node/NodeDeleteTransaction.js";export{default as NodeUpdateTransaction}from"./node/NodeUpdateTransaction.js";export{BadKeyError,BadMnemonicError,BadMnemonicReason,HEDERA_PATH,SLIP44_ECDSA_ETH_PATH,SLIP44_ECDSA_HEDERA_PATH}from"@hiero-ledger/cryptography";export{default as Provider}from"./Provider.js";export{default as Signer}from"./Signer.js";export{default as Long}from"long";import*as e from"./EntityIdHelper.js";export{e as EntityIdHelper};
|
|
2
2
|
//# sourceMappingURL=browser.js.map
|
package/lib/channel/Channel.cjs
CHANGED
|
@@ -6,8 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.decodeUnaryResponse = decodeUnaryResponse;
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
exports.encodeRequest = encodeRequest;
|
|
9
|
-
var HieroProto = _interopRequireWildcard(require("@
|
|
9
|
+
var HieroProto = _interopRequireWildcard(require("@hiero-ledger/proto"));
|
|
10
10
|
var utf8 = _interopRequireWildcard(require("../encoding/utf8.cjs"));
|
|
11
|
+
var _ClientConstants = require("../constants/ClientConstants.cjs");
|
|
11
12
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
13
|
// SPDX-License-Identifier: Apache-2.0
|
|
13
14
|
|
|
@@ -22,8 +23,9 @@ const {
|
|
|
22
23
|
class Channel {
|
|
23
24
|
/**
|
|
24
25
|
* @protected
|
|
26
|
+
* @param {number} [grpcDeadline] - The gRPC deadline in milliseconds
|
|
25
27
|
*/
|
|
26
|
-
constructor() {
|
|
28
|
+
constructor(grpcDeadline = _ClientConstants.DEFAULT_GRPC_DEADLINE) {
|
|
27
29
|
/**
|
|
28
30
|
* @protected
|
|
29
31
|
* @type {?HieroProto.proto.CryptoService}
|
|
@@ -83,6 +85,28 @@ class Channel {
|
|
|
83
85
|
* @type {?HieroProto.proto.AddressBookService}
|
|
84
86
|
*/
|
|
85
87
|
this._addressBook = null;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* @protected
|
|
91
|
+
* @type {number}
|
|
92
|
+
*/
|
|
93
|
+
this._grpcDeadline = grpcDeadline;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Set the gRPC deadline for this channel
|
|
98
|
+
* @param {number} deadline - The deadline in milliseconds, or null to clear
|
|
99
|
+
*/
|
|
100
|
+
setGrpcDeadline(deadline) {
|
|
101
|
+
this._grpcDeadline = deadline;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Get the gRPC deadline for this channel
|
|
106
|
+
* @returns {number}
|
|
107
|
+
*/
|
|
108
|
+
get grpcDeadline() {
|
|
109
|
+
return this._grpcDeadline;
|
|
86
110
|
}
|
|
87
111
|
|
|
88
112
|
/**
|
package/lib/channel/Channel.d.ts
CHANGED
|
@@ -15,6 +15,11 @@ export function decodeUnaryResponse(data: ArrayBuffer, byteOffset?: number, byte
|
|
|
15
15
|
* @abstract
|
|
16
16
|
*/
|
|
17
17
|
export default class Channel {
|
|
18
|
+
/**
|
|
19
|
+
* @protected
|
|
20
|
+
* @param {number} [grpcDeadline] - The gRPC deadline in milliseconds
|
|
21
|
+
*/
|
|
22
|
+
protected constructor();
|
|
18
23
|
/**
|
|
19
24
|
* @protected
|
|
20
25
|
* @type {?HieroProto.proto.CryptoService}
|
|
@@ -65,6 +70,21 @@ export default class Channel {
|
|
|
65
70
|
* @type {?HieroProto.proto.AddressBookService}
|
|
66
71
|
*/
|
|
67
72
|
protected _addressBook: HieroProto.proto.AddressBookService | null;
|
|
73
|
+
/**
|
|
74
|
+
* @protected
|
|
75
|
+
* @type {number}
|
|
76
|
+
*/
|
|
77
|
+
protected _grpcDeadline: number;
|
|
78
|
+
/**
|
|
79
|
+
* Set the gRPC deadline for this channel
|
|
80
|
+
* @param {number} deadline - The deadline in milliseconds, or null to clear
|
|
81
|
+
*/
|
|
82
|
+
setGrpcDeadline(deadline: number): void;
|
|
83
|
+
/**
|
|
84
|
+
* Get the gRPC deadline for this channel
|
|
85
|
+
* @returns {number}
|
|
86
|
+
*/
|
|
87
|
+
get grpcDeadline(): number;
|
|
68
88
|
/**
|
|
69
89
|
* @abstract
|
|
70
90
|
* @returns {void}
|
|
@@ -118,4 +138,4 @@ export default class Channel {
|
|
|
118
138
|
*/
|
|
119
139
|
protected _createUnaryClient(serviceName: string): import("protobufjs").RPCImpl;
|
|
120
140
|
}
|
|
121
|
-
import * as HieroProto from "@
|
|
141
|
+
import * as HieroProto from "@hiero-ledger/proto";
|
package/lib/channel/Channel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"@
|
|
1
|
+
import*as e from"@hiero-ledger/proto";import{decode as t}from"../encoding/utf8.js";import{DEFAULT_GRPC_DEADLINE as r}from"../constants/ClientConstants.js";const{proto:n}=e;class i{constructor(e=r){this._crypto=null,this._smartContract=null,this._file=null,this._consensus=null,this._freeze=null,this._network=null,this._token=null,this._schedule=null,this._util=null,this._addressBook=null,this._grpcDeadline=e}setGrpcDeadline(e){this._grpcDeadline=e}get grpcDeadline(){return this._grpcDeadline}close(){throw new Error("not implemented")}get crypto(){return null!=this._crypto||(this._crypto=n.CryptoService.create(this._createUnaryClient("CryptoService"))),this._crypto}get smartContract(){return null!=this._smartContract||(this._smartContract=n.SmartContractService.create(this._createUnaryClient("SmartContractService"))),this._smartContract}get file(){return null!=this._file||(this._file=n.FileService.create(this._createUnaryClient("FileService"))),this._file}get consensus(){return null!=this._consensus||(this._consensus=n.ConsensusService.create(this._createUnaryClient("ConsensusService"))),this._consensus}get freeze(){return null!=this._freeze||(this._freeze=n.FreezeService.create(this._createUnaryClient("FreezeService"))),this._freeze}get network(){return null!=this._network||(this._network=n.NetworkService.create(this._createUnaryClient("NetworkService"))),this._network}get token(){return null!=this._token||(this._token=n.TokenService.create(this._createUnaryClient("TokenService"))),this._token}get schedule(){return null!=this._schedule||(this._schedule=n.ScheduleService.create(this._createUnaryClient("ScheduleService"))),this._schedule}get util(){return null!=this._util||(this._util=n.UtilService.create(this._createUnaryClient("UtilService"))),this._util}get addressBook(){return null!=this._addressBook||(this._addressBook=n.AddressBookService.create(this._createUnaryClient("AddressBookService"))),this._addressBook}_createUnaryClient(e){throw new Error("not implemented")}}function s(e){const t=new ArrayBuffer(e.byteLength+5);return new DataView(t,1,4).setUint32(0,e.length),new Uint8Array(t,5).set(e),t}function l(e,r=0,n=e.byteLength){const i=new DataView(e,r,n);let s=0,l=null,o=0;for(;s<i.byteLength;){const r=i.getUint8(s+0)>>7,n=i.getUint32(s+1),c=s+5;if(c+n>i.byteLength)throw new Error("(BUG) unexpected frame length past the boundary");const a=new Uint8Array(e,i.byteOffset+c,n);if(0===r){if(null!=l)throw new Error("(BUG) unexpectedly received more than one data frame");l=a}else{if(1!==r)throw new Error(`(BUG) unexpected frame type: ${r}`);{const e=t(a),[r,n]=e.split(":");if("grpc-status"!==r)throw new Error(`(BUG) unhandled trailer, ${e}`);o=parseInt(n)}}s+=n+5}if(0!==o)throw new Error(`(BUG) unhandled grpc-status: ${o}`);if(null==l)throw new Error("(BUG) unexpectedly received no response");return l}export{l as decodeUnaryResponse,i as default,s as encodeRequest};
|
|
2
2
|
//# sourceMappingURL=Channel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.js","sources":["../../src/channel/Channel.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport * as HieroProto from \"@hashgraph/proto\";\nimport * as utf8 from \"../encoding/utf8.js\";\n\nconst { proto } = HieroProto;\n\n/**\n * @internal\n * @abstract\n */\nexport default class Channel {\n /**\n * @protected\n */\n constructor() {\n /**\n * @protected\n * @type {?HieroProto.proto.CryptoService}\n */\n this._crypto = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.SmartContractService}\n */\n this._smartContract = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.FileService}\n */\n this._file = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.ConsensusService}\n */\n this._consensus = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.FreezeService}\n */\n this._freeze = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.NetworkService}\n */\n this._network = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.TokenService}\n */\n this._token = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.ScheduleService}\n */\n this._schedule = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.UtilService}\n */\n this._util = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.AddressBookService}\n */\n this._addressBook = null;\n }\n\n /**\n * @abstract\n * @returns {void}\n */\n close() {\n throw new Error(\"not implemented\");\n }\n\n /**\n * @returns {HieroProto.proto.CryptoService}\n */\n get crypto() {\n if (this._crypto != null) {\n return this._crypto;\n }\n\n this._crypto = proto.CryptoService.create(\n this._createUnaryClient(\"CryptoService\"),\n );\n\n return this._crypto;\n }\n\n /**\n * @returns {HieroProto.proto.SmartContractService}\n */\n get smartContract() {\n if (this._smartContract != null) {\n return this._smartContract;\n }\n\n this._smartContract = proto.SmartContractService.create(\n this._createUnaryClient(\"SmartContractService\"),\n );\n\n return this._smartContract;\n }\n\n /**\n * @returns {HieroProto.proto.FileService}\n */\n get file() {\n if (this._file != null) {\n return this._file;\n }\n\n this._file = proto.FileService.create(\n this._createUnaryClient(\"FileService\"),\n );\n\n return this._file;\n }\n\n /**\n * @returns {HieroProto.proto.ConsensusService}\n */\n get consensus() {\n if (this._consensus != null) {\n return this._consensus;\n }\n\n this._consensus = proto.ConsensusService.create(\n this._createUnaryClient(\"ConsensusService\"),\n );\n\n return this._consensus;\n }\n\n /**\n * @returns {HieroProto.proto.FreezeService}\n */\n get freeze() {\n if (this._freeze != null) {\n return this._freeze;\n }\n\n this._freeze = proto.FreezeService.create(\n this._createUnaryClient(\"FreezeService\"),\n );\n\n return this._freeze;\n }\n\n /**\n * @returns {HieroProto.proto.NetworkService}\n */\n get network() {\n if (this._network != null) {\n return this._network;\n }\n\n this._network = proto.NetworkService.create(\n this._createUnaryClient(\"NetworkService\"),\n );\n\n return this._network;\n }\n\n /**\n * @returns {HieroProto.proto.TokenService}\n */\n get token() {\n if (this._token != null) {\n return this._token;\n }\n\n this._token = proto.TokenService.create(\n this._createUnaryClient(\"TokenService\"),\n );\n\n return this._token;\n }\n\n /**\n * @returns {HieroProto.proto.ScheduleService}\n */\n get schedule() {\n if (this._schedule != null) {\n return this._schedule;\n }\n\n this._schedule = proto.ScheduleService.create(\n this._createUnaryClient(\"ScheduleService\"),\n );\n\n return this._schedule;\n }\n\n /**\n * @returns {HieroProto.proto.UtilService}\n */\n get util() {\n if (this._util != null) {\n return this._util;\n }\n\n this._util = proto.UtilService.create(\n this._createUnaryClient(\"UtilService\"),\n );\n\n return this._util;\n }\n\n /**\n * @returns {HieroProto.proto.AddressBookService}\n */\n get addressBook() {\n if (this._addressBook != null) {\n return this._addressBook;\n }\n\n this._addressBook = proto.AddressBookService.create(\n this._createUnaryClient(\"AddressBookService\"),\n );\n\n return this._addressBook;\n }\n\n /**\n * @abstract\n * @protected\n * @param {string} serviceName\n * @returns {import(\"protobufjs\").RPCImpl}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _createUnaryClient(serviceName) {\n throw new Error(\"not implemented\");\n }\n}\n\n// grpc-web+proto is a series of data or trailer frames\n\n// a frame is identified by a single byte (0 = data or 1 = trailer) followed by 4 bytes for the\n// length of the frame, followed by the frame data\n\n/**\n * @param {Uint8Array} data\n * @returns {ArrayBuffer}\n */\nexport function encodeRequest(data) {\n // for our requests, we want to transfer a single data frame\n\n const frame = new ArrayBuffer(data.byteLength + 5);\n\n // the frame type (data) is zero and can be left default-initialized\n\n // the length of the frame data\n new DataView(frame, 1, 4).setUint32(0, data.length);\n\n // copy in the frame data\n new Uint8Array(frame, 5).set(data);\n\n return frame;\n}\n\n/**\n * @param {ArrayBuffer} data\n * @param {number} byteOffset\n * @param {number} byteLength\n * @returns {Uint8Array}\n */\nexport function decodeUnaryResponse(\n data,\n byteOffset = 0,\n byteLength = data.byteLength,\n) {\n const dataView = new DataView(data, byteOffset, byteLength);\n let dataOffset = 0;\n\n /** @type {?Uint8Array} */\n let unaryResponse = null;\n\n // 0 = successful\n let status = 0;\n\n while (dataOffset < dataView.byteLength) {\n const frameByte = dataView.getUint8(dataOffset + 0);\n const frameType = frameByte >> 7;\n const frameByteLength = dataView.getUint32(dataOffset + 1);\n const frameOffset = dataOffset + 5; // offset from the start of the dataView\n if (frameOffset + frameByteLength > dataView.byteLength) {\n throw new Error(\"(BUG) unexpected frame length past the boundary\");\n }\n const frameData = new Uint8Array(\n data,\n dataView.byteOffset + frameOffset,\n frameByteLength,\n );\n\n if (frameType === 0) {\n if (unaryResponse != null) {\n throw new Error(\n \"(BUG) unexpectedly received more than one data frame\",\n );\n }\n\n unaryResponse = frameData;\n } else if (frameType === 1) {\n const trailer = utf8.decode(frameData);\n const [trailerName, trailerValue] = trailer.split(\":\");\n\n if (trailerName === \"grpc-status\") {\n status = parseInt(trailerValue);\n } else {\n throw new Error(`(BUG) unhandled trailer, ${trailer}`);\n }\n } else {\n throw new Error(`(BUG) unexpected frame type: ${frameType}`);\n }\n\n dataOffset += frameByteLength + 5;\n }\n\n if (status !== 0) {\n throw new Error(`(BUG) unhandled grpc-status: ${status}`);\n }\n\n if (unaryResponse == null) {\n throw new Error(\"(BUG) unexpectedly received no response\");\n }\n\n return unaryResponse;\n}\n"],"names":["proto","HieroProto","Channel","constructor","this","_crypto","_smartContract","_file","_consensus","_freeze","_network","_token","_schedule","_util","_addressBook","close","Error","crypto","CryptoService","create","_createUnaryClient","smartContract","SmartContractService","file","FileService","consensus","ConsensusService","freeze","FreezeService","network","NetworkService","token","TokenService","schedule","ScheduleService","util","UtilService","addressBook","AddressBookService","serviceName","encodeRequest","data","frame","ArrayBuffer","byteLength","DataView","setUint32","length","Uint8Array","set","decodeUnaryResponse","byteOffset","dataView","dataOffset","unaryResponse","status","frameType","getUint8","frameByteLength","getUint32","frameOffset","frameData","trailer","utf8.decode","trailerName","trailerValue","split","parseInt"],"mappings":"gFAKA,MAAMA,MAAEA,GAAUC,EAMH,MAAMC,EAIjB,WAAAC,GAKIC,KAAKC,QAAU,KAMfD,KAAKE,eAAiB,KAMtBF,KAAKG,MAAQ,KAMbH,KAAKI,WAAa,KAMlBJ,KAAKK,QAAU,KAMfL,KAAKM,SAAW,KAMhBN,KAAKO,OAAS,KAMdP,KAAKQ,UAAY,KAMjBR,KAAKS,MAAQ,KAMbT,KAAKU,aAAe,IAC5B,CAMI,KAAAC,GACI,MAAM,IAAIC,MAAM,kBACxB,CAKI,UAAIC,GACA,OAAoB,MAAhBb,KAAKC,UAITD,KAAKC,QAAUL,EAAMkB,cAAcC,OAC/Bf,KAAKgB,mBAAmB,mBAJjBhB,KAAKC,OAQxB,CAKI,iBAAIgB,GACA,OAA2B,MAAvBjB,KAAKE,iBAITF,KAAKE,eAAiBN,EAAMsB,qBAAqBH,OAC7Cf,KAAKgB,mBAAmB,0BAJjBhB,KAAKE,cAQxB,CAKI,QAAIiB,GACA,OAAkB,MAAdnB,KAAKG,QAITH,KAAKG,MAAQP,EAAMwB,YAAYL,OAC3Bf,KAAKgB,mBAAmB,iBAJjBhB,KAAKG,KAQxB,CAKI,aAAIkB,GACA,OAAuB,MAAnBrB,KAAKI,aAITJ,KAAKI,WAAaR,EAAM0B,iBAAiBP,OACrCf,KAAKgB,mBAAmB,sBAJjBhB,KAAKI,UAQxB,CAKI,UAAImB,GACA,OAAoB,MAAhBvB,KAAKK,UAITL,KAAKK,QAAUT,EAAM4B,cAAcT,OAC/Bf,KAAKgB,mBAAmB,mBAJjBhB,KAAKK,OAQxB,CAKI,WAAIoB,GACA,OAAqB,MAAjBzB,KAAKM,WAITN,KAAKM,SAAWV,EAAM8B,eAAeX,OACjCf,KAAKgB,mBAAmB,oBAJjBhB,KAAKM,QAQxB,CAKI,SAAIqB,GACA,OAAmB,MAAf3B,KAAKO,SAITP,KAAKO,OAASX,EAAMgC,aAAab,OAC7Bf,KAAKgB,mBAAmB,kBAJjBhB,KAAKO,MAQxB,CAKI,YAAIsB,GACA,OAAsB,MAAlB7B,KAAKQ,YAITR,KAAKQ,UAAYZ,EAAMkC,gBAAgBf,OACnCf,KAAKgB,mBAAmB,qBAJjBhB,KAAKQ,SAQxB,CAKI,QAAIuB,GACA,OAAkB,MAAd/B,KAAKS,QAITT,KAAKS,MAAQb,EAAMoC,YAAYjB,OAC3Bf,KAAKgB,mBAAmB,iBAJjBhB,KAAKS,KAQxB,CAKI,eAAIwB,GACA,OAAyB,MAArBjC,KAAKU,eAITV,KAAKU,aAAed,EAAMsC,mBAAmBnB,OACzCf,KAAKgB,mBAAmB,wBAJjBhB,KAAKU,YAQxB,CASI,kBAAAM,CAAmBmB,GACf,MAAM,IAAIvB,MAAM,kBACxB,EAYO,SAASwB,EAAcC,GAG1B,MAAMC,EAAQ,IAAIC,YAAYF,EAAKG,WAAa,GAUhD,OALA,IAAIC,SAASH,EAAO,EAAG,GAAGI,UAAU,EAAGL,EAAKM,QAG5C,IAAIC,WAAWN,EAAO,GAAGO,IAAIR,GAEtBC,CACX,CAQO,SAASQ,EACZT,EACAU,EAAa,EACbP,EAAaH,EAAKG,YAElB,MAAMQ,EAAW,IAAIP,SAASJ,EAAMU,EAAYP,GAChD,IAAIS,EAAa,EAGbC,EAAgB,KAGhBC,EAAS,EAEb,KAAOF,EAAaD,EAASR,YAAY,CACrC,MACMY,EADYJ,EAASK,SAASJ,EAAa,IAClB,EACzBK,EAAkBN,EAASO,UAAUN,EAAa,GAClDO,EAAcP,EAAa,EACjC,GAAIO,EAAcF,EAAkBN,EAASR,WACzC,MAAM,IAAI5B,MAAM,mDAEpB,MAAM6C,EAAY,IAAIb,WAClBP,EACAW,EAASD,WAAaS,EACtBF,GAGJ,GAAkB,IAAdF,EAAiB,CACjB,GAAqB,MAAjBF,EACA,MAAM,IAAItC,MACN,wDAIRsC,EAAgBO,CAC5B,KAAe,IAAkB,IAAdL,EAUP,MAAM,IAAIxC,MAAM,gCAAgCwC,KAVxB,CACxB,MAAMM,EAAUC,EAAYF,IACrBG,EAAaC,GAAgBH,EAAQI,MAAM,KAElD,GAAoB,gBAAhBF,EAGA,MAAM,IAAIhD,MAAM,4BAA4B8C,KAF5CP,EAASY,SAASF,EAIlC,CAEA,CAEQZ,GAAcK,EAAkB,CACxC,CAEI,GAAe,IAAXH,EACA,MAAM,IAAIvC,MAAM,gCAAgCuC,KAGpD,GAAqB,MAAjBD,EACA,MAAM,IAAItC,MAAM,2CAGpB,OAAOsC,CACX"}
|
|
1
|
+
{"version":3,"file":"Channel.js","sources":["../../src/channel/Channel.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\nimport * as HieroProto from \"@hiero-ledger/proto\";\nimport * as utf8 from \"../encoding/utf8.js\";\nimport { DEFAULT_GRPC_DEADLINE } from \"../constants/ClientConstants.js\";\n\nconst { proto } = HieroProto;\n\n/**\n * @internal\n * @abstract\n */\nexport default class Channel {\n /**\n * @protected\n * @param {number} [grpcDeadline] - The gRPC deadline in milliseconds\n */\n constructor(grpcDeadline = DEFAULT_GRPC_DEADLINE) {\n /**\n * @protected\n * @type {?HieroProto.proto.CryptoService}\n */\n this._crypto = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.SmartContractService}\n */\n this._smartContract = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.FileService}\n */\n this._file = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.ConsensusService}\n */\n this._consensus = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.FreezeService}\n */\n this._freeze = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.NetworkService}\n */\n this._network = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.TokenService}\n */\n this._token = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.ScheduleService}\n */\n this._schedule = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.UtilService}\n */\n this._util = null;\n\n /**\n * @protected\n * @type {?HieroProto.proto.AddressBookService}\n */\n this._addressBook = null;\n\n /**\n * @protected\n * @type {number}\n */\n this._grpcDeadline = grpcDeadline;\n }\n\n /**\n * Set the gRPC deadline for this channel\n * @param {number} deadline - The deadline in milliseconds, or null to clear\n */\n setGrpcDeadline(deadline) {\n this._grpcDeadline = deadline;\n }\n\n /**\n * Get the gRPC deadline for this channel\n * @returns {number}\n */\n get grpcDeadline() {\n return this._grpcDeadline;\n }\n\n /**\n * @abstract\n * @returns {void}\n */\n close() {\n throw new Error(\"not implemented\");\n }\n\n /**\n * @returns {HieroProto.proto.CryptoService}\n */\n get crypto() {\n if (this._crypto != null) {\n return this._crypto;\n }\n\n this._crypto = proto.CryptoService.create(\n this._createUnaryClient(\"CryptoService\"),\n );\n\n return this._crypto;\n }\n\n /**\n * @returns {HieroProto.proto.SmartContractService}\n */\n get smartContract() {\n if (this._smartContract != null) {\n return this._smartContract;\n }\n\n this._smartContract = proto.SmartContractService.create(\n this._createUnaryClient(\"SmartContractService\"),\n );\n\n return this._smartContract;\n }\n\n /**\n * @returns {HieroProto.proto.FileService}\n */\n get file() {\n if (this._file != null) {\n return this._file;\n }\n\n this._file = proto.FileService.create(\n this._createUnaryClient(\"FileService\"),\n );\n\n return this._file;\n }\n\n /**\n * @returns {HieroProto.proto.ConsensusService}\n */\n get consensus() {\n if (this._consensus != null) {\n return this._consensus;\n }\n\n this._consensus = proto.ConsensusService.create(\n this._createUnaryClient(\"ConsensusService\"),\n );\n\n return this._consensus;\n }\n\n /**\n * @returns {HieroProto.proto.FreezeService}\n */\n get freeze() {\n if (this._freeze != null) {\n return this._freeze;\n }\n\n this._freeze = proto.FreezeService.create(\n this._createUnaryClient(\"FreezeService\"),\n );\n\n return this._freeze;\n }\n\n /**\n * @returns {HieroProto.proto.NetworkService}\n */\n get network() {\n if (this._network != null) {\n return this._network;\n }\n\n this._network = proto.NetworkService.create(\n this._createUnaryClient(\"NetworkService\"),\n );\n\n return this._network;\n }\n\n /**\n * @returns {HieroProto.proto.TokenService}\n */\n get token() {\n if (this._token != null) {\n return this._token;\n }\n\n this._token = proto.TokenService.create(\n this._createUnaryClient(\"TokenService\"),\n );\n\n return this._token;\n }\n\n /**\n * @returns {HieroProto.proto.ScheduleService}\n */\n get schedule() {\n if (this._schedule != null) {\n return this._schedule;\n }\n\n this._schedule = proto.ScheduleService.create(\n this._createUnaryClient(\"ScheduleService\"),\n );\n\n return this._schedule;\n }\n\n /**\n * @returns {HieroProto.proto.UtilService}\n */\n get util() {\n if (this._util != null) {\n return this._util;\n }\n\n this._util = proto.UtilService.create(\n this._createUnaryClient(\"UtilService\"),\n );\n\n return this._util;\n }\n\n /**\n * @returns {HieroProto.proto.AddressBookService}\n */\n get addressBook() {\n if (this._addressBook != null) {\n return this._addressBook;\n }\n\n this._addressBook = proto.AddressBookService.create(\n this._createUnaryClient(\"AddressBookService\"),\n );\n\n return this._addressBook;\n }\n\n /**\n * @abstract\n * @protected\n * @param {string} serviceName\n * @returns {import(\"protobufjs\").RPCImpl}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _createUnaryClient(serviceName) {\n throw new Error(\"not implemented\");\n }\n}\n\n// grpc-web+proto is a series of data or trailer frames\n\n// a frame is identified by a single byte (0 = data or 1 = trailer) followed by 4 bytes for the\n// length of the frame, followed by the frame data\n\n/**\n * @param {Uint8Array} data\n * @returns {ArrayBuffer}\n */\nexport function encodeRequest(data) {\n // for our requests, we want to transfer a single data frame\n\n const frame = new ArrayBuffer(data.byteLength + 5);\n\n // the frame type (data) is zero and can be left default-initialized\n\n // the length of the frame data\n new DataView(frame, 1, 4).setUint32(0, data.length);\n\n // copy in the frame data\n new Uint8Array(frame, 5).set(data);\n\n return frame;\n}\n\n/**\n * @param {ArrayBuffer} data\n * @param {number} byteOffset\n * @param {number} byteLength\n * @returns {Uint8Array}\n */\nexport function decodeUnaryResponse(\n data,\n byteOffset = 0,\n byteLength = data.byteLength,\n) {\n const dataView = new DataView(data, byteOffset, byteLength);\n let dataOffset = 0;\n\n /** @type {?Uint8Array} */\n let unaryResponse = null;\n\n // 0 = successful\n let status = 0;\n\n while (dataOffset < dataView.byteLength) {\n const frameByte = dataView.getUint8(dataOffset + 0);\n const frameType = frameByte >> 7;\n const frameByteLength = dataView.getUint32(dataOffset + 1);\n const frameOffset = dataOffset + 5; // offset from the start of the dataView\n if (frameOffset + frameByteLength > dataView.byteLength) {\n throw new Error(\"(BUG) unexpected frame length past the boundary\");\n }\n const frameData = new Uint8Array(\n data,\n dataView.byteOffset + frameOffset,\n frameByteLength,\n );\n\n if (frameType === 0) {\n if (unaryResponse != null) {\n throw new Error(\n \"(BUG) unexpectedly received more than one data frame\",\n );\n }\n\n unaryResponse = frameData;\n } else if (frameType === 1) {\n const trailer = utf8.decode(frameData);\n const [trailerName, trailerValue] = trailer.split(\":\");\n\n if (trailerName === \"grpc-status\") {\n status = parseInt(trailerValue);\n } else {\n throw new Error(`(BUG) unhandled trailer, ${trailer}`);\n }\n } else {\n throw new Error(`(BUG) unexpected frame type: ${frameType}`);\n }\n\n dataOffset += frameByteLength + 5;\n }\n\n if (status !== 0) {\n throw new Error(`(BUG) unhandled grpc-status: ${status}`);\n }\n\n if (unaryResponse == null) {\n throw new Error(\"(BUG) unexpectedly received no response\");\n }\n\n return unaryResponse;\n}\n"],"names":["proto","HieroProto","Channel","constructor","grpcDeadline","DEFAULT_GRPC_DEADLINE","this","_crypto","_smartContract","_file","_consensus","_freeze","_network","_token","_schedule","_util","_addressBook","_grpcDeadline","setGrpcDeadline","deadline","close","Error","crypto","CryptoService","create","_createUnaryClient","smartContract","SmartContractService","file","FileService","consensus","ConsensusService","freeze","FreezeService","network","NetworkService","token","TokenService","schedule","ScheduleService","util","UtilService","addressBook","AddressBookService","serviceName","encodeRequest","data","frame","ArrayBuffer","byteLength","DataView","setUint32","length","Uint8Array","set","decodeUnaryResponse","byteOffset","dataView","dataOffset","unaryResponse","status","frameType","getUint8","frameByteLength","getUint32","frameOffset","frameData","trailer","utf8.decode","trailerName","trailerValue","split","parseInt"],"mappings":"2JAMA,MAAMA,MAAEA,GAAUC,EAMH,MAAMC,EAKjB,WAAAC,CAAYC,EAAeC,GAKvBC,KAAKC,QAAU,KAMfD,KAAKE,eAAiB,KAMtBF,KAAKG,MAAQ,KAMbH,KAAKI,WAAa,KAMlBJ,KAAKK,QAAU,KAMfL,KAAKM,SAAW,KAMhBN,KAAKO,OAAS,KAMdP,KAAKQ,UAAY,KAMjBR,KAAKS,MAAQ,KAMbT,KAAKU,aAAe,KAMpBV,KAAKW,cAAgBb,CAC7B,CAMI,eAAAc,CAAgBC,GACZb,KAAKW,cAAgBE,CAC7B,CAMI,gBAAIf,GACA,OAAOE,KAAKW,aACpB,CAMI,KAAAG,GACI,MAAM,IAAIC,MAAM,kBACxB,CAKI,UAAIC,GACA,OAAoB,MAAhBhB,KAAKC,UAITD,KAAKC,QAAUP,EAAMuB,cAAcC,OAC/BlB,KAAKmB,mBAAmB,mBAJjBnB,KAAKC,OAQxB,CAKI,iBAAImB,GACA,OAA2B,MAAvBpB,KAAKE,iBAITF,KAAKE,eAAiBR,EAAM2B,qBAAqBH,OAC7ClB,KAAKmB,mBAAmB,0BAJjBnB,KAAKE,cAQxB,CAKI,QAAIoB,GACA,OAAkB,MAAdtB,KAAKG,QAITH,KAAKG,MAAQT,EAAM6B,YAAYL,OAC3BlB,KAAKmB,mBAAmB,iBAJjBnB,KAAKG,KAQxB,CAKI,aAAIqB,GACA,OAAuB,MAAnBxB,KAAKI,aAITJ,KAAKI,WAAaV,EAAM+B,iBAAiBP,OACrClB,KAAKmB,mBAAmB,sBAJjBnB,KAAKI,UAQxB,CAKI,UAAIsB,GACA,OAAoB,MAAhB1B,KAAKK,UAITL,KAAKK,QAAUX,EAAMiC,cAAcT,OAC/BlB,KAAKmB,mBAAmB,mBAJjBnB,KAAKK,OAQxB,CAKI,WAAIuB,GACA,OAAqB,MAAjB5B,KAAKM,WAITN,KAAKM,SAAWZ,EAAMmC,eAAeX,OACjClB,KAAKmB,mBAAmB,oBAJjBnB,KAAKM,QAQxB,CAKI,SAAIwB,GACA,OAAmB,MAAf9B,KAAKO,SAITP,KAAKO,OAASb,EAAMqC,aAAab,OAC7BlB,KAAKmB,mBAAmB,kBAJjBnB,KAAKO,MAQxB,CAKI,YAAIyB,GACA,OAAsB,MAAlBhC,KAAKQ,YAITR,KAAKQ,UAAYd,EAAMuC,gBAAgBf,OACnClB,KAAKmB,mBAAmB,qBAJjBnB,KAAKQ,SAQxB,CAKI,QAAI0B,GACA,OAAkB,MAAdlC,KAAKS,QAITT,KAAKS,MAAQf,EAAMyC,YAAYjB,OAC3BlB,KAAKmB,mBAAmB,iBAJjBnB,KAAKS,KAQxB,CAKI,eAAI2B,GACA,OAAyB,MAArBpC,KAAKU,eAITV,KAAKU,aAAehB,EAAM2C,mBAAmBnB,OACzClB,KAAKmB,mBAAmB,wBAJjBnB,KAAKU,YAQxB,CASI,kBAAAS,CAAmBmB,GACf,MAAM,IAAIvB,MAAM,kBACxB,EAYO,SAASwB,EAAcC,GAG1B,MAAMC,EAAQ,IAAIC,YAAYF,EAAKG,WAAa,GAUhD,OALA,IAAIC,SAASH,EAAO,EAAG,GAAGI,UAAU,EAAGL,EAAKM,QAG5C,IAAIC,WAAWN,EAAO,GAAGO,IAAIR,GAEtBC,CACX,CAQO,SAASQ,EACZT,EACAU,EAAa,EACbP,EAAaH,EAAKG,YAElB,MAAMQ,EAAW,IAAIP,SAASJ,EAAMU,EAAYP,GAChD,IAAIS,EAAa,EAGbC,EAAgB,KAGhBC,EAAS,EAEb,KAAOF,EAAaD,EAASR,YAAY,CACrC,MACMY,EADYJ,EAASK,SAASJ,EAAa,IAClB,EACzBK,EAAkBN,EAASO,UAAUN,EAAa,GAClDO,EAAcP,EAAa,EACjC,GAAIO,EAAcF,EAAkBN,EAASR,WACzC,MAAM,IAAI5B,MAAM,mDAEpB,MAAM6C,EAAY,IAAIb,WAClBP,EACAW,EAASD,WAAaS,EACtBF,GAGJ,GAAkB,IAAdF,EAAiB,CACjB,GAAqB,MAAjBF,EACA,MAAM,IAAItC,MACN,wDAIRsC,EAAgBO,CAC5B,KAAe,IAAkB,IAAdL,EAUP,MAAM,IAAIxC,MAAM,gCAAgCwC,KAVxB,CACxB,MAAMM,EAAUC,EAAYF,IACrBG,EAAaC,GAAgBH,EAAQI,MAAM,KAElD,GAAoB,gBAAhBF,EAGA,MAAM,IAAIhD,MAAM,4BAA4B8C,KAF5CP,EAASY,SAASF,EAIlC,CAEA,CAEQZ,GAAcK,EAAkB,CACxC,CAEI,GAAe,IAAXH,EACA,MAAM,IAAIvC,MAAM,gCAAgCuC,KAGpD,GAAqB,MAAjBD,EACA,MAAM,IAAItC,MAAM,2CAGpB,OAAOsC,CACX"}
|
|
@@ -9,6 +9,8 @@ var base64 = _interopRequireWildcard(require("../encoding/base64.native.cjs"));
|
|
|
9
9
|
var _HttpError = _interopRequireDefault(require("../http/HttpError.cjs"));
|
|
10
10
|
var _HttpStatus = _interopRequireDefault(require("../http/HttpStatus.cjs"));
|
|
11
11
|
var _version = require("../version.cjs");
|
|
12
|
+
var _GrpcServiceError = _interopRequireDefault(require("../grpc/GrpcServiceError.cjs"));
|
|
13
|
+
var _GrpcStatus = _interopRequireDefault(require("../grpc/GrpcStatus.cjs"));
|
|
12
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
15
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -16,15 +18,25 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
16
18
|
class NativeChannel extends _Channel.default {
|
|
17
19
|
/**
|
|
18
20
|
* @param {string} address
|
|
21
|
+
* @param {number=} grpcDeadline
|
|
19
22
|
*/
|
|
20
|
-
constructor(address) {
|
|
21
|
-
super();
|
|
23
|
+
constructor(address, grpcDeadline) {
|
|
24
|
+
super(grpcDeadline);
|
|
22
25
|
|
|
23
26
|
/**
|
|
24
27
|
* @type {string}
|
|
25
28
|
* @private
|
|
26
29
|
*/
|
|
27
30
|
this._address = address;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Flag indicating if the connection is ready (health check has passed)
|
|
34
|
+
* Set to true after the first successful health check
|
|
35
|
+
*
|
|
36
|
+
* @type {boolean}
|
|
37
|
+
* @private
|
|
38
|
+
*/
|
|
39
|
+
this._isReady = false;
|
|
28
40
|
}
|
|
29
41
|
|
|
30
42
|
/**
|
|
@@ -35,6 +47,78 @@ class NativeChannel extends _Channel.default {
|
|
|
35
47
|
// do nothing
|
|
36
48
|
}
|
|
37
49
|
|
|
50
|
+
/**
|
|
51
|
+
* Check if the gRPC-Web proxy is reachable and healthy
|
|
52
|
+
* Performs a POST request and verifies the response has gRPC-Web headers,
|
|
53
|
+
* which indicates the proxy is running and processing gRPC requests.
|
|
54
|
+
* Results are cached per address for the entire lifecycle.
|
|
55
|
+
*
|
|
56
|
+
* @param {Date} deadline - Deadline for the health check
|
|
57
|
+
* @returns {Promise<void>}
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
async _waitForReady(deadline) {
|
|
61
|
+
// Check if we've already validated this address
|
|
62
|
+
if (this._isReady) {
|
|
63
|
+
return; // Health check already passed for this address
|
|
64
|
+
}
|
|
65
|
+
const shouldUseHttps = !(this._address.includes("localhost") || this._address.includes("127.0.0.1"));
|
|
66
|
+
const address = shouldUseHttps ? `https://${this._address}` : `http://${this._address}`;
|
|
67
|
+
|
|
68
|
+
// Calculate remaining time until deadline
|
|
69
|
+
const timeoutMs = deadline.getTime() - Date.now();
|
|
70
|
+
if (timeoutMs <= 0) {
|
|
71
|
+
throw new _GrpcServiceError.default(_GrpcStatus.default.Timeout);
|
|
72
|
+
}
|
|
73
|
+
const abortController = new AbortController();
|
|
74
|
+
const timeoutId = setTimeout(() => abortController.abort(), timeoutMs);
|
|
75
|
+
try {
|
|
76
|
+
// Make a POST request to verify the gRPC-Web proxy is running
|
|
77
|
+
// We use a minimal gRPC-Web compatible request
|
|
78
|
+
//eslint-disable-next-line n/no-unsupported-features/node-builtins
|
|
79
|
+
const response = await fetch(address, {
|
|
80
|
+
method: "POST",
|
|
81
|
+
headers: {
|
|
82
|
+
"content-type": "application/grpc-web-text",
|
|
83
|
+
"x-user-agent": `${_version.SDK_NAME}/${_version.SDK_VERSION}`,
|
|
84
|
+
"x-grpc-web": "1"
|
|
85
|
+
},
|
|
86
|
+
body: base64.encode(new Uint8Array(0)),
|
|
87
|
+
// Empty body for health check
|
|
88
|
+
signal: abortController.signal
|
|
89
|
+
});
|
|
90
|
+
clearTimeout(timeoutId);
|
|
91
|
+
|
|
92
|
+
// Check if response is successful (200) and has gRPC headers
|
|
93
|
+
if (response.status === 200) {
|
|
94
|
+
const grpcStatus = response.headers.get("grpc-status");
|
|
95
|
+
const grpcMessage = response.headers.get("grpc-message");
|
|
96
|
+
|
|
97
|
+
// If gRPC headers exist, the proxy is running and processing requests
|
|
98
|
+
if (grpcStatus != null || grpcMessage != null) {
|
|
99
|
+
// Mark this connection as ready
|
|
100
|
+
this._isReady = true;
|
|
101
|
+
return; // Healthy - gRPC-Web proxy is responding
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// If we get here, either status isn't 200 or no gRPC headers present
|
|
106
|
+
// This means the proxy might not be configured correctly or not running
|
|
107
|
+
throw new _GrpcServiceError.default(_GrpcStatus.default.Unavailable);
|
|
108
|
+
} catch (error) {
|
|
109
|
+
clearTimeout(timeoutId);
|
|
110
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
111
|
+
throw new _GrpcServiceError.default(_GrpcStatus.default.Timeout);
|
|
112
|
+
}
|
|
113
|
+
if (error instanceof _GrpcServiceError.default) {
|
|
114
|
+
throw error;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Network error - server is not reachable
|
|
118
|
+
throw new _GrpcServiceError.default(_GrpcStatus.default.Unavailable);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
38
122
|
/**
|
|
39
123
|
* @override
|
|
40
124
|
* @protected
|
|
@@ -44,7 +128,13 @@ class NativeChannel extends _Channel.default {
|
|
|
44
128
|
_createUnaryClient(serviceName) {
|
|
45
129
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
46
130
|
return async (method, requestData, callback) => {
|
|
131
|
+
// Calculate deadline for connection check
|
|
132
|
+
const deadline = new Date();
|
|
133
|
+
const milliseconds = this._grpcDeadline;
|
|
134
|
+
deadline.setMilliseconds(deadline.getMilliseconds() + milliseconds);
|
|
47
135
|
try {
|
|
136
|
+
// Wait for connection to be ready (similar to gRPC waitForReady)
|
|
137
|
+
await this._waitForReady(deadline);
|
|
48
138
|
const data = base64.encode(new Uint8Array((0, _Channel.encodeRequest)(requestData)));
|
|
49
139
|
const shouldUseHttps = !(this._address.includes("localhost") || this._address.includes("127.0.0.1"));
|
|
50
140
|
const address = shouldUseHttps ? `https://${this._address}` : `http://${this._address}`;
|
|
@@ -89,6 +179,10 @@ class NativeChannel extends _Channel.default {
|
|
|
89
179
|
responseBuffer.buffer, responseBuffer.byteOffset, responseBuffer.byteLength);
|
|
90
180
|
callback(null, unaryResponse);
|
|
91
181
|
} catch (error) {
|
|
182
|
+
if (error instanceof _GrpcServiceError.default) {
|
|
183
|
+
callback(error, null);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
92
186
|
callback(/** @type {Error} */error, null);
|
|
93
187
|
}
|
|
94
188
|
};
|
|
@@ -1,12 +1,32 @@
|
|
|
1
1
|
export default class NativeChannel extends Channel {
|
|
2
2
|
/**
|
|
3
3
|
* @param {string} address
|
|
4
|
+
* @param {number=} grpcDeadline
|
|
4
5
|
*/
|
|
5
|
-
constructor(address: string);
|
|
6
|
+
constructor(address: string, grpcDeadline?: number | undefined);
|
|
6
7
|
/**
|
|
7
8
|
* @type {string}
|
|
8
9
|
* @private
|
|
9
10
|
*/
|
|
10
11
|
private _address;
|
|
12
|
+
/**
|
|
13
|
+
* Flag indicating if the connection is ready (health check has passed)
|
|
14
|
+
* Set to true after the first successful health check
|
|
15
|
+
*
|
|
16
|
+
* @type {boolean}
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
private _isReady;
|
|
20
|
+
/**
|
|
21
|
+
* Check if the gRPC-Web proxy is reachable and healthy
|
|
22
|
+
* Performs a POST request and verifies the response has gRPC-Web headers,
|
|
23
|
+
* which indicates the proxy is running and processing gRPC requests.
|
|
24
|
+
* Results are cached per address for the entire lifecycle.
|
|
25
|
+
*
|
|
26
|
+
* @param {Date} deadline - Deadline for the health check
|
|
27
|
+
* @returns {Promise<void>}
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
private _waitForReady;
|
|
11
31
|
}
|
|
12
32
|
import Channel from "./Channel.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t,{encodeRequest as e,decodeUnaryResponse as a}from"./Channel.js";import{encode as s,decode as r}from"../encoding/base64.native.js";import o from"../http/HttpError.js";import
|
|
1
|
+
import t,{encodeRequest as e,decodeUnaryResponse as a}from"./Channel.js";import{encode as s,decode as r}from"../encoding/base64.native.js";import o from"../http/HttpError.js";import i from"../http/HttpStatus.js";import{SDK_NAME as n,SDK_VERSION as c}from"../version.js";import p from"../grpc/GrpcServiceError.js";import d from"../grpc/GrpcStatus.js";class l extends t{constructor(t,e){super(e),this._address=t,this._isReady=!1}close(){}async _waitForReady(t){if(this._isReady)return;const e=!(this._address.includes("localhost")||this._address.includes("127.0.0.1"))?`https://${this._address}`:`http://${this._address}`,a=t.getTime()-Date.now();if(a<=0)throw new p(d.Timeout);const r=new AbortController,o=setTimeout(()=>r.abort(),a);try{const t=await fetch(e,{method:"POST",headers:{"content-type":"application/grpc-web-text","x-user-agent":`${n}/${c}`,"x-grpc-web":"1"},body:s(new Uint8Array(0)),signal:r.signal});if(clearTimeout(o),200===t.status){const e=t.headers.get("grpc-status"),a=t.headers.get("grpc-message");if(null!=e||null!=a)return void(this._isReady=!0)}throw new p(d.Unavailable)}catch(t){if(clearTimeout(o),t instanceof Error&&"AbortError"===t.name)throw new p(d.Timeout);if(t instanceof p)throw t;throw new p(d.Unavailable)}}_createUnaryClient(t){return async(d,l,h)=>{const u=new Date,w=this._grpcDeadline;u.setMilliseconds(u.getMilliseconds()+w);try{await this._waitForReady(u);const p=s(new Uint8Array(e(l))),w=!(this._address.includes("localhost")||this._address.includes("127.0.0.1"))?`https://${this._address}`:`http://${this._address}`,f=await fetch(`${w}/proto.${t}/${d.name}`,{method:"POST",headers:{"content-type":"application/grpc-web-text","x-user-agent":`${n}/${c}`,"x-accept-content-transfer-encoding":"base64","x-grpc-web":"1"},body:p});if(!f.ok){h(new o(i._fromValue(f.status)),null)}const b=await f.blob(),m=await new Promise((t,e)=>{const a=new FileReader;a.readAsDataURL(b),a.onloadend=()=>{t(a.result)},a.onerror=e});let g;if(m.startsWith("data:application/octet-stream;base64,"))g=r(m.split("data:application/octet-stream;base64,")[1]);else{if(!m.startsWith("data:application/grpc-web+proto;base64,"))throw new Error(`Expected response data to be base64 encode with a 'data:application/octet-stream;base64,' or 'data:application/grpc-web+proto;base64,' prefix, but found: ${m}`);g=r(m.split("data:application/grpc-web+proto;base64,")[1])}h(null,a(g.buffer,g.byteOffset,g.byteLength))}catch(t){if(t instanceof p)return void h(t,null);h(t,null)}}}}export{l as default};
|
|
2
2
|
//# sourceMappingURL=NativeChannel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeChannel.js","sources":["../../src/channel/NativeChannel.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\nimport Channel, { encodeRequest, decodeUnaryResponse } from \"./Channel.js\";\nimport * as base64 from \"../encoding/base64.native.js\";\nimport HttpError from \"../http/HttpError.js\";\nimport HttpStatus from \"../http/HttpStatus.js\";\nimport { SDK_NAME, SDK_VERSION } from \"../version.js\";\n\nexport default class NativeChannel extends Channel {\n /**\n * @param {string} address\n */\n constructor(address) {\n super();\n\n /**\n * @type {string}\n * @private\n */\n this._address = address;\n }\n\n /**\n * @override\n * @returns {void}\n */\n close() {\n // do nothing\n }\n\n /**\n * @override\n * @protected\n * @param {string} serviceName\n * @returns {import(\"protobufjs\").RPCImpl}\n */\n _createUnaryClient(serviceName) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return async (method, requestData, callback) => {\n try {\n const data = base64.encode(\n new Uint8Array(encodeRequest(requestData)),\n );\n\n const shouldUseHttps = !(\n this._address.includes(\"localhost\") ||\n this._address.includes(\"127.0.0.1\")\n );\n\n const address = shouldUseHttps\n ? `https://${this._address}`\n : `http://${this._address}`;\n // this will be executed in react native environment sho\n // fetch should be available\n //eslint-disable-next-line n/no-unsupported-features/node-builtins\n const response = await fetch(\n `${address}/proto.${serviceName}/${method.name}`,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/grpc-web-text\",\n \"x-user-agent\": `${SDK_NAME}/${SDK_VERSION}`,\n \"x-accept-content-transfer-encoding\": \"base64\",\n \"x-grpc-web\": \"1\",\n },\n body: data,\n },\n );\n\n if (!response.ok) {\n const error = new HttpError(\n HttpStatus._fromValue(response.status),\n );\n callback(error, null);\n }\n\n const blob = await response.blob();\n\n /** @type {string} */\n const responseData = await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n resolve(/** @type {string} */ (reader.result));\n };\n reader.onerror = reject;\n });\n\n let responseBuffer;\n if (\n responseData.startsWith(\n \"data:application/octet-stream;base64,\",\n )\n ) {\n responseBuffer = base64.decode(\n responseData.split(\n \"data:application/octet-stream;base64,\",\n )[1],\n );\n } else if (\n responseData.startsWith(\n \"data:application/grpc-web+proto;base64,\",\n )\n ) {\n responseBuffer = base64.decode(\n responseData.split(\n \"data:application/grpc-web+proto;base64,\",\n )[1],\n );\n } else {\n throw new Error(\n `Expected response data to be base64 encode with a 'data:application/octet-stream;base64,' or 'data:application/grpc-web+proto;base64,' prefix, but found: ${responseData}`,\n );\n }\n\n const unaryResponse = decodeUnaryResponse(\n // @ts-ignore\n responseBuffer.buffer,\n responseBuffer.byteOffset,\n responseBuffer.byteLength,\n );\n\n callback(null, unaryResponse);\n } catch (error) {\n callback(/** @type {Error} */ (error), null);\n }\n };\n }\n}\n"],"names":["NativeChannel","Channel","constructor","address","super","this","_address","close","_createUnaryClient","serviceName","async","method","requestData","callback","data","base64.encode","Uint8Array","encodeRequest","includes","response","fetch","name","headers","SDK_NAME","SDK_VERSION","body","ok","HttpError","HttpStatus","_fromValue","status","blob","responseData","Promise","resolve","reject","reader","FileReader","readAsDataURL","onloadend","onerror","responseBuffer","startsWith","base64.decode","split","Error","decodeUnaryResponse","buffer","byteOffset","byteLength","error"],"mappings":"8QAOe,MAAMA,UAAsBC,EAIvC,WAAAC,CAAYC,GACRC,QAMAC,KAAKC,SAAWH,CACxB,CAMI,KAAAI,GAEJ,CAQI,kBAAAC,CAAmBC,GAEf,OAAOC,MAAOC,EAAQC,EAAaC,KAC/B,IACI,MAAMC,EAAOC,EACT,IAAIC,WAAWC,EAAcL,KAQ3BT,IAJFE,KAAKC,SAASY,SAAS,cACvBb,KAAKC,SAASY,SAAS,cAIrB,WAAWb,KAAKC,WAChB,UAAUD,KAAKC,WAIfa,QAAiBC,MACnB,GAAGjB,WAAiBM,KAAeE,EAAOU,OAC1C,CACIV,OAAQ,OACRW,QAAS,CACL,eAAgB,4BAChB,eAAgB,GAAGC,KAAYC,IAC/B,qCAAsC,SACtC,aAAc,KAElBC,KAAMX,IAId,IAAKK,EAASO,GAAI,CAIdb,EAHc,IAAIc,EACdC,EAAWC,WAAWV,EAASW,SAEnB,KACpC,CAEgB,MAAMC,QAAaZ,EAASY,OAGtBC,QAAqB,IAAIC,QAAQ,CAACC,EAASC,KAC7C,MAAMC,EAAS,IAAIC,WACnBD,EAAOE,cAAcP,GACrBK,EAAOG,UAAY,KACfL,EAA+BE,EAAa,SAEhDA,EAAOI,QAAUL,IAGrB,IAAIM,EACJ,GACIT,EAAaU,WACT,yCAGJD,EAAiBE,EACbX,EAAaY,MACT,yCACF,QAEH,KACHZ,EAAaU,WACT,2CASJ,MAAM,IAAIG,MACN,6JAA6Jb,KAPjKS,EAAiBE,EACbX,EAAaY,MACT,2CACF,GAM1B,CASgB/B,EAAS,KAPaiC,EAElBL,EAAeM,OACfN,EAAeO,WACfP,EAAeQ,YAItB,CAAC,MAAOC,GACLrC,EAAQ,EAA+B,KACvD,EAEA"}
|
|
1
|
+
{"version":3,"file":"NativeChannel.js","sources":["../../src/channel/NativeChannel.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\nimport Channel, { encodeRequest, decodeUnaryResponse } from \"./Channel.js\";\nimport * as base64 from \"../encoding/base64.native.js\";\nimport HttpError from \"../http/HttpError.js\";\nimport HttpStatus from \"../http/HttpStatus.js\";\nimport { SDK_NAME, SDK_VERSION } from \"../version.js\";\nimport GrpcServiceError from \"../grpc/GrpcServiceError.js\";\nimport GrpcStatus from \"../grpc/GrpcStatus.js\";\n\nexport default class NativeChannel extends Channel {\n /**\n * @param {string} address\n * @param {number=} grpcDeadline\n */\n constructor(address, grpcDeadline) {\n super(grpcDeadline);\n\n /**\n * @type {string}\n * @private\n */\n this._address = address;\n\n /**\n * Flag indicating if the connection is ready (health check has passed)\n * Set to true after the first successful health check\n *\n * @type {boolean}\n * @private\n */\n this._isReady = false;\n }\n\n /**\n * @override\n * @returns {void}\n */\n close() {\n // do nothing\n }\n\n /**\n * Check if the gRPC-Web proxy is reachable and healthy\n * Performs a POST request and verifies the response has gRPC-Web headers,\n * which indicates the proxy is running and processing gRPC requests.\n * Results are cached per address for the entire lifecycle.\n *\n * @param {Date} deadline - Deadline for the health check\n * @returns {Promise<void>}\n * @private\n */\n async _waitForReady(deadline) {\n // Check if we've already validated this address\n if (this._isReady) {\n return; // Health check already passed for this address\n }\n\n const shouldUseHttps = !(\n this._address.includes(\"localhost\") ||\n this._address.includes(\"127.0.0.1\")\n );\n\n const address = shouldUseHttps\n ? `https://${this._address}`\n : `http://${this._address}`;\n\n // Calculate remaining time until deadline\n const timeoutMs = deadline.getTime() - Date.now();\n if (timeoutMs <= 0) {\n throw new GrpcServiceError(GrpcStatus.Timeout);\n }\n\n const abortController = new AbortController();\n const timeoutId = setTimeout(() => abortController.abort(), timeoutMs);\n\n try {\n // Make a POST request to verify the gRPC-Web proxy is running\n // We use a minimal gRPC-Web compatible request\n //eslint-disable-next-line n/no-unsupported-features/node-builtins\n const response = await fetch(address, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/grpc-web-text\",\n \"x-user-agent\": `${SDK_NAME}/${SDK_VERSION}`,\n \"x-grpc-web\": \"1\",\n },\n body: base64.encode(new Uint8Array(0)), // Empty body for health check\n signal: abortController.signal,\n });\n\n clearTimeout(timeoutId);\n\n // Check if response is successful (200) and has gRPC headers\n if (response.status === 200) {\n const grpcStatus = response.headers.get(\"grpc-status\");\n const grpcMessage = response.headers.get(\"grpc-message\");\n\n // If gRPC headers exist, the proxy is running and processing requests\n if (grpcStatus != null || grpcMessage != null) {\n // Mark this connection as ready\n this._isReady = true;\n return; // Healthy - gRPC-Web proxy is responding\n }\n }\n\n // If we get here, either status isn't 200 or no gRPC headers present\n // This means the proxy might not be configured correctly or not running\n throw new GrpcServiceError(GrpcStatus.Unavailable);\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error instanceof Error && error.name === \"AbortError\") {\n throw new GrpcServiceError(GrpcStatus.Timeout);\n }\n\n if (error instanceof GrpcServiceError) {\n throw error;\n }\n\n // Network error - server is not reachable\n throw new GrpcServiceError(GrpcStatus.Unavailable);\n }\n }\n\n /**\n * @override\n * @protected\n * @param {string} serviceName\n * @returns {import(\"protobufjs\").RPCImpl}\n */\n _createUnaryClient(serviceName) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return async (method, requestData, callback) => {\n // Calculate deadline for connection check\n const deadline = new Date();\n const milliseconds = this._grpcDeadline;\n\n deadline.setMilliseconds(deadline.getMilliseconds() + milliseconds);\n\n try {\n // Wait for connection to be ready (similar to gRPC waitForReady)\n await this._waitForReady(deadline);\n\n const data = base64.encode(\n new Uint8Array(encodeRequest(requestData)),\n );\n\n const shouldUseHttps = !(\n this._address.includes(\"localhost\") ||\n this._address.includes(\"127.0.0.1\")\n );\n\n const address = shouldUseHttps\n ? `https://${this._address}`\n : `http://${this._address}`;\n // this will be executed in react native environment sho\n // fetch should be available\n //eslint-disable-next-line n/no-unsupported-features/node-builtins\n const response = await fetch(\n `${address}/proto.${serviceName}/${method.name}`,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/grpc-web-text\",\n \"x-user-agent\": `${SDK_NAME}/${SDK_VERSION}`,\n \"x-accept-content-transfer-encoding\": \"base64\",\n \"x-grpc-web\": \"1\",\n },\n body: data,\n },\n );\n\n if (!response.ok) {\n const error = new HttpError(\n HttpStatus._fromValue(response.status),\n );\n callback(error, null);\n }\n\n const blob = await response.blob();\n\n /** @type {string} */\n const responseData = await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n resolve(/** @type {string} */ (reader.result));\n };\n reader.onerror = reject;\n });\n\n let responseBuffer;\n if (\n responseData.startsWith(\n \"data:application/octet-stream;base64,\",\n )\n ) {\n responseBuffer = base64.decode(\n responseData.split(\n \"data:application/octet-stream;base64,\",\n )[1],\n );\n } else if (\n responseData.startsWith(\n \"data:application/grpc-web+proto;base64,\",\n )\n ) {\n responseBuffer = base64.decode(\n responseData.split(\n \"data:application/grpc-web+proto;base64,\",\n )[1],\n );\n } else {\n throw new Error(\n `Expected response data to be base64 encode with a 'data:application/octet-stream;base64,' or 'data:application/grpc-web+proto;base64,' prefix, but found: ${responseData}`,\n );\n }\n\n const unaryResponse = decodeUnaryResponse(\n // @ts-ignore\n responseBuffer.buffer,\n responseBuffer.byteOffset,\n responseBuffer.byteLength,\n );\n\n callback(null, unaryResponse);\n } catch (error) {\n if (error instanceof GrpcServiceError) {\n callback(error, null);\n return;\n }\n\n callback(/** @type {Error} */ (error), null);\n }\n };\n }\n}\n"],"names":["NativeChannel","Channel","constructor","address","grpcDeadline","super","this","_address","_isReady","close","_waitForReady","deadline","includes","timeoutMs","getTime","Date","now","GrpcServiceError","GrpcStatus","Timeout","abortController","AbortController","timeoutId","setTimeout","abort","response","fetch","method","headers","SDK_NAME","SDK_VERSION","body","base64.encode","Uint8Array","signal","clearTimeout","status","grpcStatus","get","grpcMessage","Unavailable","error","Error","name","_createUnaryClient","serviceName","async","requestData","callback","milliseconds","_grpcDeadline","setMilliseconds","getMilliseconds","data","encodeRequest","ok","HttpError","HttpStatus","_fromValue","blob","responseData","Promise","resolve","reject","reader","FileReader","readAsDataURL","onloadend","onerror","responseBuffer","startsWith","base64.decode","split","decodeUnaryResponse","buffer","byteOffset","byteLength"],"mappings":"8VASe,MAAMA,UAAsBC,EAKvC,WAAAC,CAAYC,EAASC,GACjBC,MAAMD,GAMNE,KAAKC,SAAWJ,EAShBG,KAAKE,UAAW,CACxB,CAMI,KAAAC,GAEJ,CAYI,mBAAMC,CAAcC,GAEhB,GAAIL,KAAKE,SACL,OAGJ,MAKML,IAJFG,KAAKC,SAASK,SAAS,cACvBN,KAAKC,SAASK,SAAS,cAIrB,WAAWN,KAAKC,WAChB,UAAUD,KAAKC,WAGfM,EAAYF,EAASG,UAAYC,KAAKC,MAC5C,GAAIH,GAAa,EACb,MAAM,IAAII,EAAiBC,EAAWC,SAG1C,MAAMC,EAAkB,IAAIC,gBACtBC,EAAYC,WAAW,IAAMH,EAAgBI,QAASX,GAE5D,IAII,MAAMY,QAAiBC,MAAMvB,EAAS,CAClCwB,OAAQ,OACRC,QAAS,CACL,eAAgB,4BAChB,eAAgB,GAAGC,KAAYC,IAC/B,aAAc,KAElBC,KAAMC,EAAc,IAAIC,WAAW,IACnCC,OAAQd,EAAgBc,SAM5B,GAHAC,aAAab,GAGW,MAApBG,EAASW,OAAgB,CACzB,MAAMC,EAAaZ,EAASG,QAAQU,IAAI,eAClCC,EAAcd,EAASG,QAAQU,IAAI,gBAGzC,GAAkB,MAAdD,GAAqC,MAAfE,EAGtB,YADAjC,KAAKE,UAAW,EAGpC,CAIY,MAAM,IAAIS,EAAiBC,EAAWsB,YACzC,CAAC,MAAOC,GAGL,GAFAN,aAAab,GAETmB,aAAiBC,OAAwB,eAAfD,EAAME,KAChC,MAAM,IAAI1B,EAAiBC,EAAWC,SAG1C,GAAIsB,aAAiBxB,EACjB,MAAMwB,EAIV,MAAM,IAAIxB,EAAiBC,EAAWsB,YAClD,CACA,CAQI,kBAAAI,CAAmBC,GAEf,OAAOC,MAAOnB,EAAQoB,EAAaC,KAE/B,MAAMrC,EAAW,IAAII,KACfkC,EAAe3C,KAAK4C,cAE1BvC,EAASwC,gBAAgBxC,EAASyC,kBAAoBH,GAEtD,UAEU3C,KAAKI,cAAcC,GAEzB,MAAM0C,EAAOrB,EACT,IAAIC,WAAWqB,EAAcP,KAQ3B5C,IAJFG,KAAKC,SAASK,SAAS,cACvBN,KAAKC,SAASK,SAAS,cAIrB,WAAWN,KAAKC,WAChB,UAAUD,KAAKC,WAIfkB,QAAiBC,MACnB,GAAGvB,WAAiB0C,KAAelB,EAAOgB,OAC1C,CACIhB,OAAQ,OACRC,QAAS,CACL,eAAgB,4BAChB,eAAgB,GAAGC,KAAYC,IAC/B,qCAAsC,SACtC,aAAc,KAElBC,KAAMsB,IAId,IAAK5B,EAAS8B,GAAI,CAIdP,EAHc,IAAIQ,EACdC,EAAWC,WAAWjC,EAASW,SAEnB,KACpC,CAEgB,MAAMuB,QAAalC,EAASkC,OAGtBC,QAAqB,IAAIC,QAAQ,CAACC,EAASC,KAC7C,MAAMC,EAAS,IAAIC,WACnBD,EAAOE,cAAcP,GACrBK,EAAOG,UAAY,KACfL,EAA+BE,EAAa,SAEhDA,EAAOI,QAAUL,IAGrB,IAAIM,EACJ,GACIT,EAAaU,WACT,yCAGJD,EAAiBE,EACbX,EAAaY,MACT,yCACF,QAEH,KACHZ,EAAaU,WACT,2CASJ,MAAM,IAAI5B,MACN,6JAA6JkB,KAPjKS,EAAiBE,EACbX,EAAaY,MACT,2CACF,GAM1B,CASgBxB,EAAS,KAPayB,EAElBJ,EAAeK,OACfL,EAAeM,WACfN,EAAeO,YAItB,CAAC,MAAOnC,GACL,GAAIA,aAAiBxB,EAEjB,YADA+B,EAASP,EAAO,MAIpBO,EAAQ,EAA+B,KACvD,EAEA"}
|
|
@@ -20,15 +20,14 @@ class NodeChannel extends _Channel.default {
|
|
|
20
20
|
/**
|
|
21
21
|
* @internal
|
|
22
22
|
* @param {string} address
|
|
23
|
-
* @param {number=}
|
|
23
|
+
* @param {number=} grpcDeadline
|
|
24
24
|
*/
|
|
25
|
-
constructor(address,
|
|
26
|
-
super();
|
|
25
|
+
constructor(address, grpcDeadline) {
|
|
26
|
+
super(grpcDeadline);
|
|
27
27
|
|
|
28
28
|
/** @type {Client | null} */
|
|
29
29
|
this._client = null;
|
|
30
30
|
this.address = address;
|
|
31
|
-
this.maxExecutionTime = maxExecutionTime;
|
|
32
31
|
const {
|
|
33
32
|
ip,
|
|
34
33
|
port
|
|
@@ -144,7 +143,7 @@ class NodeChannel extends _Channel.default {
|
|
|
144
143
|
return (method, requestData, callback) => {
|
|
145
144
|
this._initializeClient().then(() => {
|
|
146
145
|
const deadline = new Date();
|
|
147
|
-
const milliseconds = this.
|
|
146
|
+
const milliseconds = this.grpcDeadline;
|
|
148
147
|
deadline.setMilliseconds(deadline.getMilliseconds() + milliseconds);
|
|
149
148
|
this._client?.waitForReady(deadline, err => {
|
|
150
149
|
if (err) {
|
|
@@ -2,13 +2,12 @@ export default class NodeChannel extends Channel {
|
|
|
2
2
|
/**
|
|
3
3
|
* @internal
|
|
4
4
|
* @param {string} address
|
|
5
|
-
* @param {number=}
|
|
5
|
+
* @param {number=} grpcDeadline
|
|
6
6
|
*/
|
|
7
|
-
constructor(address: string,
|
|
7
|
+
constructor(address: string, grpcDeadline?: number | undefined);
|
|
8
8
|
/** @type {Client | null} */
|
|
9
9
|
_client: Client | null;
|
|
10
10
|
address: string;
|
|
11
|
-
maxExecutionTime: number | undefined;
|
|
12
11
|
nodeIp: string;
|
|
13
12
|
nodePort: string;
|
|
14
13
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"tls";import{credentials as t,Client as r,Metadata as
|
|
1
|
+
import e from"tls";import{credentials as t,Client as r,Metadata as s}from"@grpc/grpc-js";import i from"./Channel.js";import n from"../grpc/GrpcServiceError.js";import o from"../grpc/GrpcStatus.js";import{ALL_NETWORK_IPS as c}from"../constants/ClientConstants.js";import{SDK_NAME as a,SDK_VERSION as l}from"../version.js";const d={};class p extends i{constructor(e,t){super(t),this._client=null,this.address=e;const{ip:r,port:s}=this.parseAddress(e);this.nodeIp=r,this.nodePort=s}bytesToPem(e){const t=e.toString("base64");return`-----BEGIN CERTIFICATE-----\n${t.match(/.{1,64}/g)?.join("\n")||""}\n-----END CERTIFICATE-----`}parseAddress(e){const[t,r]=e.split(":");if(!t||!r)throw new Error("Invalid address format. Expected format: 'IP:Port'");return{ip:t,port:r}}async _retrieveCertificate(){return new Promise((t,r)=>{const s=e.connect({host:this.nodeIp,port:Number(this.nodePort),rejectUnauthorized:!1},()=>{try{const e=s.getPeerCertificate();e&&e.raw?t(this.bytesToPem(e.raw)):r(new Error("No certificate retrieved."))}catch(e){r(e)}finally{s.end()}});s.on("error",r)})}async _initializeClient(){if(d[this.address])return void(this._client=d[this.address]);let e;if("50212"===this.nodePort){const r=Buffer.from(await this._retrieveCertificate());e=t.createSsl(r)}else e=t.createInsecure();this._client=new r(this.address,e,{"grpc.ssl_target_name_override":"127.0.0.1","grpc.default_authority":"127.0.0.1","grpc.http_connect_creds":"0","grpc.keepalive_time_ms":1e5,"grpc.keepalive_timeout_ms":1e4,"grpc.keepalive_permit_without_calls":1,"grpc.enable_retries":1}),d[this.address]=this._client}close(){this._client&&(this._client.close(),delete d[this.address])}_createUnaryClient(e){return(t,r,i)=>{this._initializeClient().then(()=>{const d=new Date,p=this.grpcDeadline;d.setMilliseconds(d.getMilliseconds()+p),this._client?.waitForReady(d,d=>{if(d)i(new n(o.Timeout,c[`${this.nodeIp}:`]));else{const n=new s;n.set("x-user-agent",`${a}/${l}`),this._client?.makeUnaryRequest(`/proto.${e}/${t.name}`,e=>e,e=>e,Buffer.from(r),n,(e,t)=>{i(e,t)})}})}).catch(e=>{e instanceof Error?i(e):i(new Error("An unexpected error occurred"))})}}}export{p as default};
|
|
2
2
|
//# sourceMappingURL=NodeChannel.js.map
|