@stacks/blockchain-api-client 7.13.2 → 8.0.0-beta.2
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 +4 -0
- package/lib/common.d.ts +1 -0
- package/lib/common.js +5 -0
- package/lib/common.js.map +1 -0
- package/lib/index.d.ts +7 -2
- package/lib/index.js +9 -2
- package/lib/index.js.map +1 -1
- package/lib/index.umd.js +4824 -17679
- package/lib/index.umd.js.map +1 -1
- package/lib/socket-io/index.d.ts +1 -1
- package/lib/socket-io/index.js +2 -2
- package/lib/socket-io/index.js.map +1 -1
- package/lib/ws/index.d.ts +1 -1
- package/lib/ws/index.js +5 -5
- package/lib/ws/index.js.map +1 -1
- package/package.json +11 -37
- package/src/common.ts +1 -0
- package/src/generated/schema.d.ts +30938 -0
- package/src/index.ts +12 -2
- package/src/socket-io/index.ts +9 -9
- package/src/types.d.ts +119 -0
- package/src/ws/index.ts +14 -14
- package/lib/generated/apis/AccountsApi.d.ts +0 -325
- package/lib/generated/apis/AccountsApi.js +0 -343
- package/lib/generated/apis/AccountsApi.js.map +0 -1
- package/lib/generated/apis/BlocksApi.d.ts +0 -273
- package/lib/generated/apis/BlocksApi.js +0 -268
- package/lib/generated/apis/BlocksApi.js.map +0 -1
- package/lib/generated/apis/BurnBlocksApi.d.ts +0 -82
- package/lib/generated/apis/BurnBlocksApi.js +0 -80
- package/lib/generated/apis/BurnBlocksApi.js.map +0 -1
- package/lib/generated/apis/FaucetsApi.d.ts +0 -84
- package/lib/generated/apis/FaucetsApi.js +0 -88
- package/lib/generated/apis/FaucetsApi.js.map +0 -1
- package/lib/generated/apis/FeesApi.d.ts +0 -103
- package/lib/generated/apis/FeesApi.js +0 -101
- package/lib/generated/apis/FeesApi.js.map +0 -1
- package/lib/generated/apis/FungibleTokensApi.d.ts +0 -53
- package/lib/generated/apis/FungibleTokensApi.js +0 -51
- package/lib/generated/apis/FungibleTokensApi.js.map +0 -1
- package/lib/generated/apis/InfoApi.d.ts +0 -253
- package/lib/generated/apis/InfoApi.js +0 -250
- package/lib/generated/apis/InfoApi.js.map +0 -1
- package/lib/generated/apis/MempoolApi.d.ts +0 -49
- package/lib/generated/apis/MempoolApi.js +0 -48
- package/lib/generated/apis/MempoolApi.js.map +0 -1
- package/lib/generated/apis/MicroblocksApi.d.ts +0 -105
- package/lib/generated/apis/MicroblocksApi.js +0 -103
- package/lib/generated/apis/MicroblocksApi.js.map +0 -1
- package/lib/generated/apis/NamesApi.d.ts +0 -298
- package/lib/generated/apis/NamesApi.js +0 -291
- package/lib/generated/apis/NamesApi.js.map +0 -1
- package/lib/generated/apis/NonFungibleTokensApi.d.ts +0 -135
- package/lib/generated/apis/NonFungibleTokensApi.js +0 -157
- package/lib/generated/apis/NonFungibleTokensApi.js.map +0 -1
- package/lib/generated/apis/ProofOfTransferApi.d.ts +0 -167
- package/lib/generated/apis/ProofOfTransferApi.js +0 -164
- package/lib/generated/apis/ProofOfTransferApi.js.map +0 -1
- package/lib/generated/apis/RosettaApi.d.ts +0 -454
- package/lib/generated/apis/RosettaApi.js +0 -468
- package/lib/generated/apis/RosettaApi.js.map +0 -1
- package/lib/generated/apis/SearchApi.d.ts +0 -54
- package/lib/generated/apis/SearchApi.js +0 -53
- package/lib/generated/apis/SearchApi.js.map +0 -1
- package/lib/generated/apis/SmartContractsApi.d.ts +0 -290
- package/lib/generated/apis/SmartContractsApi.js +0 -303
- package/lib/generated/apis/SmartContractsApi.js.map +0 -1
- package/lib/generated/apis/StackingApi.d.ts +0 -61
- package/lib/generated/apis/StackingApi.js +0 -63
- package/lib/generated/apis/StackingApi.js.map +0 -1
- package/lib/generated/apis/StackingRewardsApi.d.ts +0 -173
- package/lib/generated/apis/StackingRewardsApi.js +0 -173
- package/lib/generated/apis/StackingRewardsApi.js.map +0 -1
- package/lib/generated/apis/TransactionsApi.d.ts +0 -578
- package/lib/generated/apis/TransactionsApi.js +0 -606
- package/lib/generated/apis/TransactionsApi.js.map +0 -1
- package/lib/generated/apis/index.d.ts +0 -18
- package/lib/generated/apis/index.js +0 -37
- package/lib/generated/apis/index.js.map +0 -1
- package/lib/generated/index.d.ts +0 -3
- package/lib/generated/index.js +0 -22
- package/lib/generated/index.js.map +0 -1
- package/lib/generated/models/AccountDataResponse.d.ts +0 -57
- package/lib/generated/models/AccountDataResponse.js +0 -52
- package/lib/generated/models/AccountDataResponse.js.map +0 -1
- package/lib/generated/models/AddressAssetsListResponse.d.ts +0 -45
- package/lib/generated/models/AddressAssetsListResponse.js +0 -48
- package/lib/generated/models/AddressAssetsListResponse.js.map +0 -1
- package/lib/generated/models/AddressBalanceResponse.d.ts +0 -50
- package/lib/generated/models/AddressBalanceResponse.js +0 -50
- package/lib/generated/models/AddressBalanceResponse.js.map +0 -1
- package/lib/generated/models/AddressNonces.d.ts +0 -51
- package/lib/generated/models/AddressNonces.js +0 -51
- package/lib/generated/models/AddressNonces.js.map +0 -1
- package/lib/generated/models/AddressStxInboundListResponse.d.ts +0 -46
- package/lib/generated/models/AddressStxInboundListResponse.js +0 -49
- package/lib/generated/models/AddressStxInboundListResponse.js.map +0 -1
- package/lib/generated/models/AddressTokenOfferingLocked.d.ts +0 -40
- package/lib/generated/models/AddressTokenOfferingLocked.js +0 -47
- package/lib/generated/models/AddressTokenOfferingLocked.js.map +0 -1
- package/lib/generated/models/AddressTransaction.d.ts +0 -46
- package/lib/generated/models/AddressTransaction.js +0 -50
- package/lib/generated/models/AddressTransaction.js.map +0 -1
- package/lib/generated/models/AddressTransactionEventListResponse.d.ts +0 -45
- package/lib/generated/models/AddressTransactionEventListResponse.js +0 -48
- package/lib/generated/models/AddressTransactionEventListResponse.js.map +0 -1
- package/lib/generated/models/AddressTransactionWithTransfers.d.ts +0 -58
- package/lib/generated/models/AddressTransactionWithTransfers.js +0 -54
- package/lib/generated/models/AddressTransactionWithTransfers.js.map +0 -1
- package/lib/generated/models/AddressTransactionWithTransfersFtTransfers.d.ts +0 -45
- package/lib/generated/models/AddressTransactionWithTransfersFtTransfers.js +0 -49
- package/lib/generated/models/AddressTransactionWithTransfersFtTransfers.js.map +0 -1
- package/lib/generated/models/AddressTransactionWithTransfersNftTransfers.d.ts +0 -46
- package/lib/generated/models/AddressTransactionWithTransfersNftTransfers.js +0 -50
- package/lib/generated/models/AddressTransactionWithTransfersNftTransfers.js.map +0 -1
- package/lib/generated/models/AddressTransactionWithTransfersStxTransfers.d.ts +0 -39
- package/lib/generated/models/AddressTransactionWithTransfersStxTransfers.js +0 -47
- package/lib/generated/models/AddressTransactionWithTransfersStxTransfers.js.map +0 -1
- package/lib/generated/models/AddressTransactionWithTransfersValue.d.ts +0 -33
- package/lib/generated/models/AddressTransactionWithTransfersValue.js +0 -44
- package/lib/generated/models/AddressTransactionWithTransfersValue.js.map +0 -1
- package/lib/generated/models/AddressTransactionsListResponse.d.ts +0 -45
- package/lib/generated/models/AddressTransactionsListResponse.js +0 -48
- package/lib/generated/models/AddressTransactionsListResponse.js.map +0 -1
- package/lib/generated/models/AddressTransactionsV2ListResponse.d.ts +0 -46
- package/lib/generated/models/AddressTransactionsV2ListResponse.js +0 -49
- package/lib/generated/models/AddressTransactionsV2ListResponse.js.map +0 -1
- package/lib/generated/models/AddressTransactionsV2ListResponseEvents.d.ts +0 -40
- package/lib/generated/models/AddressTransactionsV2ListResponseEvents.js +0 -47
- package/lib/generated/models/AddressTransactionsV2ListResponseEvents.js.map +0 -1
- package/lib/generated/models/AddressTransactionsV2ListResponseEventsStx.d.ts +0 -39
- package/lib/generated/models/AddressTransactionsV2ListResponseEventsStx.js +0 -46
- package/lib/generated/models/AddressTransactionsV2ListResponseEventsStx.js.map +0 -1
- package/lib/generated/models/AddressTransactionsWithTransfersListResponse.d.ts +0 -46
- package/lib/generated/models/AddressTransactionsWithTransfersListResponse.js +0 -49
- package/lib/generated/models/AddressTransactionsWithTransfersListResponse.js.map +0 -1
- package/lib/generated/models/AddressUnlockSchedule.d.ts +0 -33
- package/lib/generated/models/AddressUnlockSchedule.js +0 -44
- package/lib/generated/models/AddressUnlockSchedule.js.map +0 -1
- package/lib/generated/models/AverageBlockTimesResponse.d.ts +0 -45
- package/lib/generated/models/AverageBlockTimesResponse.js +0 -48
- package/lib/generated/models/AverageBlockTimesResponse.js.map +0 -1
- package/lib/generated/models/Block.d.ts +0 -161
- package/lib/generated/models/Block.js +0 -86
- package/lib/generated/models/Block.js.map +0 -1
- package/lib/generated/models/BlockListResponse.d.ts +0 -46
- package/lib/generated/models/BlockListResponse.js +0 -49
- package/lib/generated/models/BlockListResponse.js.map +0 -1
- package/lib/generated/models/BnsError.d.ts +0 -27
- package/lib/generated/models/BnsError.js +0 -43
- package/lib/generated/models/BnsError.js.map +0 -1
- package/lib/generated/models/BnsGetAllNamespacesResponse.d.ts +0 -27
- package/lib/generated/models/BnsGetAllNamespacesResponse.js +0 -42
- package/lib/generated/models/BnsGetAllNamespacesResponse.js.map +0 -1
- package/lib/generated/models/BnsGetNameInfoResponse.d.ts +0 -75
- package/lib/generated/models/BnsGetNameInfoResponse.js +0 -59
- package/lib/generated/models/BnsGetNameInfoResponse.js.map +0 -1
- package/lib/generated/models/BnsGetNamePriceResponse.d.ts +0 -33
- package/lib/generated/models/BnsGetNamePriceResponse.js +0 -44
- package/lib/generated/models/BnsGetNamePriceResponse.js.map +0 -1
- package/lib/generated/models/BnsGetNamespacePriceResponse.d.ts +0 -33
- package/lib/generated/models/BnsGetNamespacePriceResponse.js +0 -44
- package/lib/generated/models/BnsGetNamespacePriceResponse.js.map +0 -1
- package/lib/generated/models/BnsNamesOwnByAddressResponse.d.ts +0 -27
- package/lib/generated/models/BnsNamesOwnByAddressResponse.js +0 -42
- package/lib/generated/models/BnsNamesOwnByAddressResponse.js.map +0 -1
- package/lib/generated/models/BurnBlock.d.ts +0 -63
- package/lib/generated/models/BurnBlock.js +0 -54
- package/lib/generated/models/BurnBlock.js.map +0 -1
- package/lib/generated/models/BurnBlockListResponse.d.ts +0 -46
- package/lib/generated/models/BurnBlockListResponse.js +0 -49
- package/lib/generated/models/BurnBlockListResponse.js.map +0 -1
- package/lib/generated/models/BurnchainReward.d.ts +0 -63
- package/lib/generated/models/BurnchainReward.js +0 -54
- package/lib/generated/models/BurnchainReward.js.map +0 -1
- package/lib/generated/models/BurnchainRewardListResponse.d.ts +0 -40
- package/lib/generated/models/BurnchainRewardListResponse.js +0 -47
- package/lib/generated/models/BurnchainRewardListResponse.js.map +0 -1
- package/lib/generated/models/BurnchainRewardSlotHolder.d.ts +0 -51
- package/lib/generated/models/BurnchainRewardSlotHolder.js +0 -50
- package/lib/generated/models/BurnchainRewardSlotHolder.js.map +0 -1
- package/lib/generated/models/BurnchainRewardSlotHolderListResponse.d.ts +0 -46
- package/lib/generated/models/BurnchainRewardSlotHolderListResponse.js +0 -49
- package/lib/generated/models/BurnchainRewardSlotHolderListResponse.js.map +0 -1
- package/lib/generated/models/BurnchainRewardsTotal.d.ts +0 -33
- package/lib/generated/models/BurnchainRewardsTotal.js +0 -44
- package/lib/generated/models/BurnchainRewardsTotal.js.map +0 -1
- package/lib/generated/models/ChainTip.d.ts +0 -57
- package/lib/generated/models/ChainTip.js +0 -53
- package/lib/generated/models/ChainTip.js.map +0 -1
- package/lib/generated/models/ContractInterfaceResponse.d.ts +0 -51
- package/lib/generated/models/ContractInterfaceResponse.js +0 -50
- package/lib/generated/models/ContractInterfaceResponse.js.map +0 -1
- package/lib/generated/models/ContractListResponse.d.ts +0 -40
- package/lib/generated/models/ContractListResponse.js +0 -47
- package/lib/generated/models/ContractListResponse.js.map +0 -1
- package/lib/generated/models/ContractSourceResponse.d.ts +0 -39
- package/lib/generated/models/ContractSourceResponse.js +0 -46
- package/lib/generated/models/ContractSourceResponse.js.map +0 -1
- package/lib/generated/models/CoreNodeInfoResponse.d.ts +0 -99
- package/lib/generated/models/CoreNodeInfoResponse.js +0 -66
- package/lib/generated/models/CoreNodeInfoResponse.js.map +0 -1
- package/lib/generated/models/CoreNodePoxResponse.d.ts +0 -75
- package/lib/generated/models/CoreNodePoxResponse.js +0 -58
- package/lib/generated/models/CoreNodePoxResponse.js.map +0 -1
- package/lib/generated/models/FeeRate.d.ts +0 -27
- package/lib/generated/models/FeeRate.js +0 -42
- package/lib/generated/models/FeeRate.js.map +0 -1
- package/lib/generated/models/FeeRateRequest.d.ts +0 -27
- package/lib/generated/models/FeeRateRequest.js +0 -42
- package/lib/generated/models/FeeRateRequest.js.map +0 -1
- package/lib/generated/models/FtHolderEntry.d.ts +0 -33
- package/lib/generated/models/FtHolderEntry.js +0 -44
- package/lib/generated/models/FtHolderEntry.js.map +0 -1
- package/lib/generated/models/FungibleTokenHolderList.d.ts +0 -52
- package/lib/generated/models/FungibleTokenHolderList.js +0 -51
- package/lib/generated/models/FungibleTokenHolderList.js.map +0 -1
- package/lib/generated/models/GetRawTransactionResult.d.ts +0 -27
- package/lib/generated/models/GetRawTransactionResult.js +0 -42
- package/lib/generated/models/GetRawTransactionResult.js.map +0 -1
- package/lib/generated/models/GetStxSupplyLegacyFormatResponse.d.ts +0 -57
- package/lib/generated/models/GetStxSupplyLegacyFormatResponse.js +0 -52
- package/lib/generated/models/GetStxSupplyLegacyFormatResponse.js.map +0 -1
- package/lib/generated/models/GetStxSupplyResponse.d.ts +0 -45
- package/lib/generated/models/GetStxSupplyResponse.js +0 -48
- package/lib/generated/models/GetStxSupplyResponse.js.map +0 -1
- package/lib/generated/models/InboundStxTransfer.d.ts +0 -72
- package/lib/generated/models/InboundStxTransfer.js +0 -64
- package/lib/generated/models/InboundStxTransfer.js.map +0 -1
- package/lib/generated/models/InlineObject.d.ts +0 -27
- package/lib/generated/models/InlineObject.js +0 -43
- package/lib/generated/models/InlineObject.js.map +0 -1
- package/lib/generated/models/InlineResponse403.d.ts +0 -33
- package/lib/generated/models/InlineResponse403.js +0 -45
- package/lib/generated/models/InlineResponse403.js.map +0 -1
- package/lib/generated/models/MapEntryResponse.d.ts +0 -33
- package/lib/generated/models/MapEntryResponse.js +0 -45
- package/lib/generated/models/MapEntryResponse.js.map +0 -1
- package/lib/generated/models/MempoolFeePriorities.d.ts +0 -46
- package/lib/generated/models/MempoolFeePriorities.js +0 -50
- package/lib/generated/models/MempoolFeePriorities.js.map +0 -1
- package/lib/generated/models/MempoolFeePrioritiesAll.d.ts +0 -45
- package/lib/generated/models/MempoolFeePrioritiesAll.js +0 -48
- package/lib/generated/models/MempoolFeePrioritiesAll.js.map +0 -1
- package/lib/generated/models/MempoolTransactionListResponse.d.ts +0 -45
- package/lib/generated/models/MempoolTransactionListResponse.js +0 -48
- package/lib/generated/models/MempoolTransactionListResponse.js.map +0 -1
- package/lib/generated/models/MempoolTransactionStatsResponse.d.ts +0 -46
- package/lib/generated/models/MempoolTransactionStatsResponse.js +0 -49
- package/lib/generated/models/MempoolTransactionStatsResponse.js.map +0 -1
- package/lib/generated/models/MempoolTransactionStatsResponseTxAges.d.ts +0 -46
- package/lib/generated/models/MempoolTransactionStatsResponseTxAges.js +0 -49
- package/lib/generated/models/MempoolTransactionStatsResponseTxAges.js.map +0 -1
- package/lib/generated/models/MempoolTransactionStatsResponseTxByteSizes.d.ts +0 -46
- package/lib/generated/models/MempoolTransactionStatsResponseTxByteSizes.js +0 -49
- package/lib/generated/models/MempoolTransactionStatsResponseTxByteSizes.js.map +0 -1
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.d.ts +0 -46
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.js +0 -49
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.js.map +0 -1
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.d.ts +0 -45
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.js +0 -48
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.js.map +0 -1
- package/lib/generated/models/MempoolTransactionStatsResponseTxTypeCounts.d.ts +0 -45
- package/lib/generated/models/MempoolTransactionStatsResponseTxTypeCounts.js +0 -48
- package/lib/generated/models/MempoolTransactionStatsResponseTxTypeCounts.js.map +0 -1
- package/lib/generated/models/Microblock.d.ts +0 -105
- package/lib/generated/models/Microblock.js +0 -68
- package/lib/generated/models/Microblock.js.map +0 -1
- package/lib/generated/models/MicroblockListResponse.d.ts +0 -46
- package/lib/generated/models/MicroblockListResponse.js +0 -49
- package/lib/generated/models/MicroblockListResponse.js.map +0 -1
- package/lib/generated/models/NakamotoBlock.d.ts +0 -135
- package/lib/generated/models/NakamotoBlock.js +0 -78
- package/lib/generated/models/NakamotoBlock.js.map +0 -1
- package/lib/generated/models/NakamotoBlockListResponse.d.ts +0 -46
- package/lib/generated/models/NakamotoBlockListResponse.js +0 -49
- package/lib/generated/models/NakamotoBlockListResponse.js.map +0 -1
- package/lib/generated/models/NetworkBlockTimeResponse.d.ts +0 -27
- package/lib/generated/models/NetworkBlockTimeResponse.js +0 -42
- package/lib/generated/models/NetworkBlockTimeResponse.js.map +0 -1
- package/lib/generated/models/NetworkBlockTimesResponse.d.ts +0 -34
- package/lib/generated/models/NetworkBlockTimesResponse.js +0 -45
- package/lib/generated/models/NetworkBlockTimesResponse.js.map +0 -1
- package/lib/generated/models/NetworkIdentifier.d.ts +0 -40
- package/lib/generated/models/NetworkIdentifier.js +0 -48
- package/lib/generated/models/NetworkIdentifier.js.map +0 -1
- package/lib/generated/models/NonFungibleTokenHistoryEventList.d.ts +0 -45
- package/lib/generated/models/NonFungibleTokenHistoryEventList.js +0 -48
- package/lib/generated/models/NonFungibleTokenHistoryEventList.js.map +0 -1
- package/lib/generated/models/NonFungibleTokenHoldingsList.d.ts +0 -45
- package/lib/generated/models/NonFungibleTokenHoldingsList.js +0 -48
- package/lib/generated/models/NonFungibleTokenHoldingsList.js.map +0 -1
- package/lib/generated/models/NonFungibleTokenMintList.d.ts +0 -45
- package/lib/generated/models/NonFungibleTokenMintList.js +0 -48
- package/lib/generated/models/NonFungibleTokenMintList.js.map +0 -1
- package/lib/generated/models/OtherTransactionIdentifier.d.ts +0 -27
- package/lib/generated/models/OtherTransactionIdentifier.js +0 -42
- package/lib/generated/models/OtherTransactionIdentifier.js.map +0 -1
- package/lib/generated/models/PoolDelegation.d.ts +0 -57
- package/lib/generated/models/PoolDelegation.js +0 -53
- package/lib/generated/models/PoolDelegation.js.map +0 -1
- package/lib/generated/models/PoolDelegationsResponse.d.ts +0 -46
- package/lib/generated/models/PoolDelegationsResponse.js +0 -49
- package/lib/generated/models/PoolDelegationsResponse.js.map +0 -1
- package/lib/generated/models/PostCoreNodeTransactionsError.d.ts +0 -45
- package/lib/generated/models/PostCoreNodeTransactionsError.js +0 -48
- package/lib/generated/models/PostCoreNodeTransactionsError.js.map +0 -1
- package/lib/generated/models/PoxCycle.d.ts +0 -57
- package/lib/generated/models/PoxCycle.js +0 -52
- package/lib/generated/models/PoxCycle.js.map +0 -1
- package/lib/generated/models/PoxCycleListResponse.d.ts +0 -46
- package/lib/generated/models/PoxCycleListResponse.js +0 -49
- package/lib/generated/models/PoxCycleListResponse.js.map +0 -1
- package/lib/generated/models/PoxCycleSignerStackersListResponse.d.ts +0 -46
- package/lib/generated/models/PoxCycleSignerStackersListResponse.js +0 -49
- package/lib/generated/models/PoxCycleSignerStackersListResponse.js.map +0 -1
- package/lib/generated/models/PoxCycleSignersListResponse.d.ts +0 -46
- package/lib/generated/models/PoxCycleSignersListResponse.js +0 -49
- package/lib/generated/models/PoxCycleSignersListResponse.js.map +0 -1
- package/lib/generated/models/PoxSigner.d.ts +0 -69
- package/lib/generated/models/PoxSigner.js +0 -56
- package/lib/generated/models/PoxSigner.js.map +0 -1
- package/lib/generated/models/PoxStacker.d.ts +0 -53
- package/lib/generated/models/PoxStacker.js +0 -57
- package/lib/generated/models/PoxStacker.js.map +0 -1
- package/lib/generated/models/ReadOnlyFunctionArgs.d.ts +0 -33
- package/lib/generated/models/ReadOnlyFunctionArgs.js +0 -44
- package/lib/generated/models/ReadOnlyFunctionArgs.js.map +0 -1
- package/lib/generated/models/ReadOnlyFunctionSuccessResponse.d.ts +0 -39
- package/lib/generated/models/ReadOnlyFunctionSuccessResponse.js +0 -47
- package/lib/generated/models/ReadOnlyFunctionSuccessResponse.js.map +0 -1
- package/lib/generated/models/RosettaAccount.d.ts +0 -40
- package/lib/generated/models/RosettaAccount.js +0 -48
- package/lib/generated/models/RosettaAccount.js.map +0 -1
- package/lib/generated/models/RosettaAccountBalanceRequest.d.ts +0 -40
- package/lib/generated/models/RosettaAccountBalanceRequest.js +0 -48
- package/lib/generated/models/RosettaAccountBalanceRequest.js.map +0 -1
- package/lib/generated/models/RosettaAccountBalanceResponse.d.ts +0 -46
- package/lib/generated/models/RosettaAccountBalanceResponse.js +0 -50
- package/lib/generated/models/RosettaAccountBalanceResponse.js.map +0 -1
- package/lib/generated/models/RosettaAccountBalanceResponseCoinIdentifier.d.ts +0 -27
- package/lib/generated/models/RosettaAccountBalanceResponseCoinIdentifier.js +0 -42
- package/lib/generated/models/RosettaAccountBalanceResponseCoinIdentifier.js.map +0 -1
- package/lib/generated/models/RosettaAccountBalanceResponseMetadata.d.ts +0 -27
- package/lib/generated/models/RosettaAccountBalanceResponseMetadata.js +0 -42
- package/lib/generated/models/RosettaAccountBalanceResponseMetadata.js.map +0 -1
- package/lib/generated/models/RosettaAccountIdentifier.d.ts +0 -40
- package/lib/generated/models/RosettaAccountIdentifier.js +0 -48
- package/lib/generated/models/RosettaAccountIdentifier.js.map +0 -1
- package/lib/generated/models/RosettaAmount.d.ts +0 -40
- package/lib/generated/models/RosettaAmount.js +0 -48
- package/lib/generated/models/RosettaAmount.js.map +0 -1
- package/lib/generated/models/RosettaBlock.d.ts +0 -52
- package/lib/generated/models/RosettaBlock.js +0 -51
- package/lib/generated/models/RosettaBlock.js.map +0 -1
- package/lib/generated/models/RosettaBlockMetadata.d.ts +0 -39
- package/lib/generated/models/RosettaBlockMetadata.js +0 -47
- package/lib/generated/models/RosettaBlockMetadata.js.map +0 -1
- package/lib/generated/models/RosettaBlockMetadata1.d.ts +0 -27
- package/lib/generated/models/RosettaBlockMetadata1.js +0 -42
- package/lib/generated/models/RosettaBlockMetadata1.js.map +0 -1
- package/lib/generated/models/RosettaBlockRequest.d.ts +0 -34
- package/lib/generated/models/RosettaBlockRequest.js +0 -45
- package/lib/generated/models/RosettaBlockRequest.js.map +0 -1
- package/lib/generated/models/RosettaBlockResponse.d.ts +0 -34
- package/lib/generated/models/RosettaBlockResponse.js +0 -46
- package/lib/generated/models/RosettaBlockResponse.js.map +0 -1
- package/lib/generated/models/RosettaBlockTransactionRequest.d.ts +0 -40
- package/lib/generated/models/RosettaBlockTransactionRequest.js +0 -47
- package/lib/generated/models/RosettaBlockTransactionRequest.js.map +0 -1
- package/lib/generated/models/RosettaBlockTransactionResponse.d.ts +0 -28
- package/lib/generated/models/RosettaBlockTransactionResponse.js +0 -43
- package/lib/generated/models/RosettaBlockTransactionResponse.js.map +0 -1
- package/lib/generated/models/RosettaCoin.d.ts +0 -34
- package/lib/generated/models/RosettaCoin.js +0 -45
- package/lib/generated/models/RosettaCoin.js.map +0 -1
- package/lib/generated/models/RosettaCoinChange.d.ts +0 -42
- package/lib/generated/models/RosettaCoinChange.js +0 -54
- package/lib/generated/models/RosettaCoinChange.js.map +0 -1
- package/lib/generated/models/RosettaConstructionCombineRequest.d.ts +0 -40
- package/lib/generated/models/RosettaConstructionCombineRequest.js +0 -47
- package/lib/generated/models/RosettaConstructionCombineRequest.js.map +0 -1
- package/lib/generated/models/RosettaConstructionCombineResponse.d.ts +0 -27
- package/lib/generated/models/RosettaConstructionCombineResponse.js +0 -42
- package/lib/generated/models/RosettaConstructionCombineResponse.js.map +0 -1
- package/lib/generated/models/RosettaConstructionDeriveRequest.d.ts +0 -40
- package/lib/generated/models/RosettaConstructionDeriveRequest.js +0 -48
- package/lib/generated/models/RosettaConstructionDeriveRequest.js.map +0 -1
- package/lib/generated/models/RosettaConstructionDeriveResponse.d.ts +0 -40
- package/lib/generated/models/RosettaConstructionDeriveResponse.js +0 -48
- package/lib/generated/models/RosettaConstructionDeriveResponse.js.map +0 -1
- package/lib/generated/models/RosettaConstructionHashRequest.d.ts +0 -34
- package/lib/generated/models/RosettaConstructionHashRequest.js +0 -45
- package/lib/generated/models/RosettaConstructionHashRequest.js.map +0 -1
- package/lib/generated/models/RosettaConstructionHashResponse.d.ts +0 -34
- package/lib/generated/models/RosettaConstructionHashResponse.js +0 -46
- package/lib/generated/models/RosettaConstructionHashResponse.js.map +0 -1
- package/lib/generated/models/RosettaConstructionMetadataRequest.d.ts +0 -40
- package/lib/generated/models/RosettaConstructionMetadataRequest.js +0 -48
- package/lib/generated/models/RosettaConstructionMetadataRequest.js.map +0 -1
- package/lib/generated/models/RosettaConstructionMetadataResponse.d.ts +0 -34
- package/lib/generated/models/RosettaConstructionMetadataResponse.js +0 -46
- package/lib/generated/models/RosettaConstructionMetadataResponse.js.map +0 -1
- package/lib/generated/models/RosettaConstructionMetadataResponseMetadata.d.ts +0 -33
- package/lib/generated/models/RosettaConstructionMetadataResponseMetadata.js +0 -45
- package/lib/generated/models/RosettaConstructionMetadataResponseMetadata.js.map +0 -1
- package/lib/generated/models/RosettaConstructionParseRequest.d.ts +0 -40
- package/lib/generated/models/RosettaConstructionParseRequest.js +0 -47
- package/lib/generated/models/RosettaConstructionParseRequest.js.map +0 -1
- package/lib/generated/models/RosettaConstructionParseResponse.d.ts +0 -46
- package/lib/generated/models/RosettaConstructionParseResponse.js +0 -50
- package/lib/generated/models/RosettaConstructionParseResponse.js.map +0 -1
- package/lib/generated/models/RosettaConstructionPayloadResponse.d.ts +0 -34
- package/lib/generated/models/RosettaConstructionPayloadResponse.js +0 -45
- package/lib/generated/models/RosettaConstructionPayloadResponse.js.map +0 -1
- package/lib/generated/models/RosettaConstructionPayloadsRequest.d.ts +0 -46
- package/lib/generated/models/RosettaConstructionPayloadsRequest.js +0 -50
- package/lib/generated/models/RosettaConstructionPayloadsRequest.js.map +0 -1
- package/lib/generated/models/RosettaConstructionPreprocessRequest.d.ts +0 -52
- package/lib/generated/models/RosettaConstructionPreprocessRequest.js +0 -52
- package/lib/generated/models/RosettaConstructionPreprocessRequest.js.map +0 -1
- package/lib/generated/models/RosettaConstructionPreprocessResponse.d.ts +0 -34
- package/lib/generated/models/RosettaConstructionPreprocessResponse.js +0 -46
- package/lib/generated/models/RosettaConstructionPreprocessResponse.js.map +0 -1
- package/lib/generated/models/RosettaConstructionSubmitRequest.d.ts +0 -34
- package/lib/generated/models/RosettaConstructionSubmitRequest.js +0 -45
- package/lib/generated/models/RosettaConstructionSubmitRequest.js.map +0 -1
- package/lib/generated/models/RosettaConstructionSubmitResponse.d.ts +0 -34
- package/lib/generated/models/RosettaConstructionSubmitResponse.js +0 -46
- package/lib/generated/models/RosettaConstructionSubmitResponse.js.map +0 -1
- package/lib/generated/models/RosettaCurrency.d.ts +0 -39
- package/lib/generated/models/RosettaCurrency.js +0 -47
- package/lib/generated/models/RosettaCurrency.js.map +0 -1
- package/lib/generated/models/RosettaError.d.ts +0 -46
- package/lib/generated/models/RosettaError.js +0 -50
- package/lib/generated/models/RosettaError.js.map +0 -1
- package/lib/generated/models/RosettaErrorDetails.d.ts +0 -33
- package/lib/generated/models/RosettaErrorDetails.js +0 -45
- package/lib/generated/models/RosettaErrorDetails.js.map +0 -1
- package/lib/generated/models/RosettaErrorNoDetails.d.ts +0 -39
- package/lib/generated/models/RosettaErrorNoDetails.js +0 -46
- package/lib/generated/models/RosettaErrorNoDetails.js.map +0 -1
- package/lib/generated/models/RosettaGenesisBlockIdentifier.d.ts +0 -33
- package/lib/generated/models/RosettaGenesisBlockIdentifier.js +0 -44
- package/lib/generated/models/RosettaGenesisBlockIdentifier.js.map +0 -1
- package/lib/generated/models/RosettaMaxFeeAmount.d.ts +0 -40
- package/lib/generated/models/RosettaMaxFeeAmount.js +0 -48
- package/lib/generated/models/RosettaMaxFeeAmount.js.map +0 -1
- package/lib/generated/models/RosettaMempoolRequest.d.ts +0 -34
- package/lib/generated/models/RosettaMempoolRequest.js +0 -46
- package/lib/generated/models/RosettaMempoolRequest.js.map +0 -1
- package/lib/generated/models/RosettaMempoolResponse.d.ts +0 -34
- package/lib/generated/models/RosettaMempoolResponse.js +0 -46
- package/lib/generated/models/RosettaMempoolResponse.js.map +0 -1
- package/lib/generated/models/RosettaMempoolTransactionRequest.d.ts +0 -34
- package/lib/generated/models/RosettaMempoolTransactionRequest.js +0 -45
- package/lib/generated/models/RosettaMempoolTransactionRequest.js.map +0 -1
- package/lib/generated/models/RosettaMempoolTransactionResponse.d.ts +0 -34
- package/lib/generated/models/RosettaMempoolTransactionResponse.js +0 -46
- package/lib/generated/models/RosettaMempoolTransactionResponse.js.map +0 -1
- package/lib/generated/models/RosettaNetworkListResponse.d.ts +0 -28
- package/lib/generated/models/RosettaNetworkListResponse.js +0 -43
- package/lib/generated/models/RosettaNetworkListResponse.js.map +0 -1
- package/lib/generated/models/RosettaNetworkListResponseSubNetworkIdentifier.d.ts +0 -34
- package/lib/generated/models/RosettaNetworkListResponseSubNetworkIdentifier.js +0 -46
- package/lib/generated/models/RosettaNetworkListResponseSubNetworkIdentifier.js.map +0 -1
- package/lib/generated/models/RosettaNetworkListResponseSubNetworkIdentifierMetadata.d.ts +0 -27
- package/lib/generated/models/RosettaNetworkListResponseSubNetworkIdentifierMetadata.js +0 -42
- package/lib/generated/models/RosettaNetworkListResponseSubNetworkIdentifierMetadata.js.map +0 -1
- package/lib/generated/models/RosettaNetworkOptionsResponse.d.ts +0 -34
- package/lib/generated/models/RosettaNetworkOptionsResponse.js +0 -45
- package/lib/generated/models/RosettaNetworkOptionsResponse.js.map +0 -1
- package/lib/generated/models/RosettaNetworkOptionsResponseAllow.d.ts +0 -46
- package/lib/generated/models/RosettaNetworkOptionsResponseAllow.js +0 -49
- package/lib/generated/models/RosettaNetworkOptionsResponseAllow.js.map +0 -1
- package/lib/generated/models/RosettaNetworkOptionsResponseVersion.d.ts +0 -45
- package/lib/generated/models/RosettaNetworkOptionsResponseVersion.js +0 -49
- package/lib/generated/models/RosettaNetworkOptionsResponseVersion.js.map +0 -1
- package/lib/generated/models/RosettaNetworkStatusResponse.d.ts +0 -64
- package/lib/generated/models/RosettaNetworkStatusResponse.js +0 -56
- package/lib/generated/models/RosettaNetworkStatusResponse.js.map +0 -1
- package/lib/generated/models/RosettaOldestBlockIdentifier.d.ts +0 -33
- package/lib/generated/models/RosettaOldestBlockIdentifier.js +0 -44
- package/lib/generated/models/RosettaOldestBlockIdentifier.js.map +0 -1
- package/lib/generated/models/RosettaOperation.d.ts +0 -70
- package/lib/generated/models/RosettaOperation.js +0 -58
- package/lib/generated/models/RosettaOperation.js.map +0 -1
- package/lib/generated/models/RosettaOperationIdentifier.d.ts +0 -33
- package/lib/generated/models/RosettaOperationIdentifier.js +0 -45
- package/lib/generated/models/RosettaOperationIdentifier.js.map +0 -1
- package/lib/generated/models/RosettaOperationStatus.d.ts +0 -33
- package/lib/generated/models/RosettaOperationStatus.js +0 -44
- package/lib/generated/models/RosettaOperationStatus.js.map +0 -1
- package/lib/generated/models/RosettaOptions.d.ts +0 -177
- package/lib/generated/models/RosettaOptions.js +0 -93
- package/lib/generated/models/RosettaOptions.js.map +0 -1
- package/lib/generated/models/RosettaOptionsRequest.d.ts +0 -34
- package/lib/generated/models/RosettaOptionsRequest.js +0 -46
- package/lib/generated/models/RosettaOptionsRequest.js.map +0 -1
- package/lib/generated/models/RosettaParentBlockIdentifier.d.ts +0 -33
- package/lib/generated/models/RosettaParentBlockIdentifier.js +0 -44
- package/lib/generated/models/RosettaParentBlockIdentifier.js.map +0 -1
- package/lib/generated/models/RosettaPeers.d.ts +0 -33
- package/lib/generated/models/RosettaPeers.js +0 -45
- package/lib/generated/models/RosettaPeers.js.map +0 -1
- package/lib/generated/models/RosettaPublicKey.d.ts +0 -41
- package/lib/generated/models/RosettaPublicKey.js +0 -53
- package/lib/generated/models/RosettaPublicKey.js.map +0 -1
- package/lib/generated/models/RosettaRelatedOperation.d.ts +0 -33
- package/lib/generated/models/RosettaRelatedOperation.js +0 -45
- package/lib/generated/models/RosettaRelatedOperation.js.map +0 -1
- package/lib/generated/models/RosettaSignature.d.ts +0 -57
- package/lib/generated/models/RosettaSignature.js +0 -61
- package/lib/generated/models/RosettaSignature.js.map +0 -1
- package/lib/generated/models/RosettaStatusRequest.d.ts +0 -34
- package/lib/generated/models/RosettaStatusRequest.js +0 -46
- package/lib/generated/models/RosettaStatusRequest.js.map +0 -1
- package/lib/generated/models/RosettaSubAccount.d.ts +0 -33
- package/lib/generated/models/RosettaSubAccount.js +0 -45
- package/lib/generated/models/RosettaSubAccount.js.map +0 -1
- package/lib/generated/models/RosettaSyncStatus.d.ts +0 -45
- package/lib/generated/models/RosettaSyncStatus.js +0 -49
- package/lib/generated/models/RosettaSyncStatus.js.map +0 -1
- package/lib/generated/models/RosettaTransaction.d.ts +0 -40
- package/lib/generated/models/RosettaTransaction.js +0 -48
- package/lib/generated/models/RosettaTransaction.js.map +0 -1
- package/lib/generated/models/RunFaucetResponse.d.ts +0 -39
- package/lib/generated/models/RunFaucetResponse.js +0 -47
- package/lib/generated/models/RunFaucetResponse.js.map +0 -1
- package/lib/generated/models/ServerStatusResponse.d.ts +0 -58
- package/lib/generated/models/ServerStatusResponse.js +0 -54
- package/lib/generated/models/ServerStatusResponse.js.map +0 -1
- package/lib/generated/models/SigningPayload.d.ts +0 -57
- package/lib/generated/models/SigningPayload.js +0 -62
- package/lib/generated/models/SigningPayload.js.map +0 -1
- package/lib/generated/models/SmartContract.d.ts +0 -57
- package/lib/generated/models/SmartContract.js +0 -52
- package/lib/generated/models/SmartContract.js.map +0 -1
- package/lib/generated/models/StxBalance.d.ts +0 -81
- package/lib/generated/models/StxBalance.js +0 -60
- package/lib/generated/models/StxBalance.js.map +0 -1
- package/lib/generated/models/TargetBlockTime.d.ts +0 -27
- package/lib/generated/models/TargetBlockTime.js +0 -42
- package/lib/generated/models/TargetBlockTime.js.map +0 -1
- package/lib/generated/models/TransactionEventsResponse.d.ts +0 -39
- package/lib/generated/models/TransactionEventsResponse.js +0 -46
- package/lib/generated/models/TransactionEventsResponse.js.map +0 -1
- package/lib/generated/models/TransactionFeeEstimateRequest.d.ts +0 -33
- package/lib/generated/models/TransactionFeeEstimateRequest.js +0 -45
- package/lib/generated/models/TransactionFeeEstimateRequest.js.map +0 -1
- package/lib/generated/models/TransactionFeeEstimateResponse.d.ts +0 -46
- package/lib/generated/models/TransactionFeeEstimateResponse.js +0 -50
- package/lib/generated/models/TransactionFeeEstimateResponse.js.map +0 -1
- package/lib/generated/models/TransactionFeeEstimateResponseEstimatedCost.d.ts +0 -51
- package/lib/generated/models/TransactionFeeEstimateResponseEstimatedCost.js +0 -50
- package/lib/generated/models/TransactionFeeEstimateResponseEstimatedCost.js.map +0 -1
- package/lib/generated/models/TransactionFeeEstimateResponseEstimations.d.ts +0 -33
- package/lib/generated/models/TransactionFeeEstimateResponseEstimations.js +0 -45
- package/lib/generated/models/TransactionFeeEstimateResponseEstimations.js.map +0 -1
- package/lib/generated/models/TransactionIdentifier.d.ts +0 -27
- package/lib/generated/models/TransactionIdentifier.js +0 -42
- package/lib/generated/models/TransactionIdentifier.js.map +0 -1
- package/lib/generated/models/TransactionResults.d.ts +0 -45
- package/lib/generated/models/TransactionResults.js +0 -48
- package/lib/generated/models/TransactionResults.js.map +0 -1
- package/lib/generated/models/UnanchoredTransactionListResponse.d.ts +0 -33
- package/lib/generated/models/UnanchoredTransactionListResponse.js +0 -44
- package/lib/generated/models/UnanchoredTransactionListResponse.js.map +0 -1
- package/lib/generated/models/index.d.ts +0 -162
- package/lib/generated/models/index.js +0 -181
- package/lib/generated/models/index.js.map +0 -1
- package/lib/generated/runtime.d.ts +0 -140
- package/lib/generated/runtime.js +0 -242
- package/lib/generated/runtime.js.map +0 -1
- package/src/generated/.openapi-generator/FILES +0 -185
- package/src/generated/.openapi-generator/VERSION +0 -1
- package/src/generated/.openapi-generator-ignore +0 -23
- package/src/generated/apis/AccountsApi.ts +0 -694
- package/src/generated/apis/BlocksApi.ts +0 -532
- package/src/generated/apis/BurnBlocksApi.ts +0 -150
- package/src/generated/apis/FaucetsApi.ts +0 -166
- package/src/generated/apis/FeesApi.ts +0 -195
- package/src/generated/apis/FungibleTokensApi.ts +0 -89
- package/src/generated/apis/InfoApi.ts +0 -478
- package/src/generated/apis/MempoolApi.ts +0 -80
- package/src/generated/apis/MicroblocksApi.ts +0 -196
- package/src/generated/apis/NamesApi.ts +0 -581
- package/src/generated/apis/NonFungibleTokensApi.ts +0 -299
- package/src/generated/apis/ProofOfTransferApi.ts +0 -327
- package/src/generated/apis/RosettaApi.ts +0 -998
- package/src/generated/apis/SearchApi.ts +0 -90
- package/src/generated/apis/SmartContractsApi.ts +0 -605
- package/src/generated/apis/StackingApi.ts +0 -113
- package/src/generated/apis/StackingRewardsApi.ts +0 -339
- package/src/generated/apis/TransactionsApi.ts +0 -1148
- package/src/generated/apis/index.ts +0 -20
- package/src/generated/index.ts +0 -5
- package/src/generated/models/AccountDataResponse.ts +0 -96
- package/src/generated/models/AddressAssetsListResponse.ts +0 -80
- package/src/generated/models/AddressBalanceResponse.ts +0 -91
- package/src/generated/models/AddressNonces.ts +0 -88
- package/src/generated/models/AddressStxInboundListResponse.ts +0 -87
- package/src/generated/models/AddressTokenOfferingLocked.ts +0 -79
- package/src/generated/models/AddressTransaction.ts +0 -87
- package/src/generated/models/AddressTransactionEventListResponse.ts +0 -80
- package/src/generated/models/AddressTransactionWithTransfers.ts +0 -111
- package/src/generated/models/AddressTransactionWithTransfersFtTransfers.ts +0 -80
- package/src/generated/models/AddressTransactionWithTransfersNftTransfers.ts +0 -87
- package/src/generated/models/AddressTransactionWithTransfersStxTransfers.ts +0 -72
- package/src/generated/models/AddressTransactionWithTransfersValue.ts +0 -64
- package/src/generated/models/AddressTransactionsListResponse.ts +0 -80
- package/src/generated/models/AddressTransactionsV2ListResponse.ts +0 -87
- package/src/generated/models/AddressTransactionsV2ListResponseEvents.ts +0 -79
- package/src/generated/models/AddressTransactionsV2ListResponseEventsStx.ts +0 -72
- package/src/generated/models/AddressTransactionsWithTransfersListResponse.ts +0 -87
- package/src/generated/models/AddressUnlockSchedule.ts +0 -64
- package/src/generated/models/AverageBlockTimesResponse.ts +0 -80
- package/src/generated/models/Block.ts +0 -232
- package/src/generated/models/BlockListResponse.ts +0 -87
- package/src/generated/models/BnsError.ts +0 -56
- package/src/generated/models/BnsGetAllNamespacesResponse.ts +0 -56
- package/src/generated/models/BnsGetNameInfoResponse.ts +0 -120
- package/src/generated/models/BnsGetNamePriceResponse.ts +0 -64
- package/src/generated/models/BnsGetNamespacePriceResponse.ts +0 -64
- package/src/generated/models/BnsNamesOwnByAddressResponse.ts +0 -56
- package/src/generated/models/BurnBlock.ts +0 -104
- package/src/generated/models/BurnBlockListResponse.ts +0 -87
- package/src/generated/models/BurnchainReward.ts +0 -104
- package/src/generated/models/BurnchainRewardListResponse.ts +0 -79
- package/src/generated/models/BurnchainRewardSlotHolder.ts +0 -88
- package/src/generated/models/BurnchainRewardSlotHolderListResponse.ts +0 -87
- package/src/generated/models/BurnchainRewardsTotal.ts +0 -64
- package/src/generated/models/ChainTip.ts +0 -96
- package/src/generated/models/ContractInterfaceResponse.ts +0 -88
- package/src/generated/models/ContractListResponse.ts +0 -79
- package/src/generated/models/ContractSourceResponse.ts +0 -72
- package/src/generated/models/CoreNodeInfoResponse.ts +0 -152
- package/src/generated/models/CoreNodePoxResponse.ts +0 -120
- package/src/generated/models/FeeRate.ts +0 -56
- package/src/generated/models/FeeRateRequest.ts +0 -56
- package/src/generated/models/FtHolderEntry.ts +0 -64
- package/src/generated/models/FungibleTokenHolderList.ts +0 -95
- package/src/generated/models/GetRawTransactionResult.ts +0 -56
- package/src/generated/models/GetStxSupplyLegacyFormatResponse.ts +0 -96
- package/src/generated/models/GetStxSupplyResponse.ts +0 -80
- package/src/generated/models/InboundStxTransfer.ts +0 -114
- package/src/generated/models/InlineObject.ts +0 -56
- package/src/generated/models/InlineResponse403.ts +0 -64
- package/src/generated/models/MapEntryResponse.ts +0 -64
- package/src/generated/models/MempoolFeePriorities.ts +0 -87
- package/src/generated/models/MempoolFeePrioritiesAll.ts +0 -80
- package/src/generated/models/MempoolTransactionListResponse.ts +0 -80
- package/src/generated/models/MempoolTransactionStatsResponse.ts +0 -99
- package/src/generated/models/MempoolTransactionStatsResponseTxAges.ts +0 -87
- package/src/generated/models/MempoolTransactionStatsResponseTxByteSizes.ts +0 -87
- package/src/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.ts +0 -87
- package/src/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.ts +0 -80
- package/src/generated/models/MempoolTransactionStatsResponseTxTypeCounts.ts +0 -80
- package/src/generated/models/Microblock.ts +0 -160
- package/src/generated/models/MicroblockListResponse.ts +0 -87
- package/src/generated/models/NakamotoBlock.ts +0 -200
- package/src/generated/models/NakamotoBlockListResponse.ts +0 -87
- package/src/generated/models/NetworkBlockTimeResponse.ts +0 -56
- package/src/generated/models/NetworkBlockTimesResponse.ts +0 -71
- package/src/generated/models/NetworkIdentifier.ts +0 -79
- package/src/generated/models/NonFungibleTokenHistoryEventList.ts +0 -80
- package/src/generated/models/NonFungibleTokenHoldingsList.ts +0 -80
- package/src/generated/models/NonFungibleTokenMintList.ts +0 -80
- package/src/generated/models/OtherTransactionIdentifier.ts +0 -56
- package/src/generated/models/PoolDelegation.ts +0 -96
- package/src/generated/models/PoolDelegationsResponse.ts +0 -87
- package/src/generated/models/PostCoreNodeTransactionsError.ts +0 -80
- package/src/generated/models/PoxCycle.ts +0 -96
- package/src/generated/models/PoxCycleListResponse.ts +0 -87
- package/src/generated/models/PoxCycleSignerStackersListResponse.ts +0 -87
- package/src/generated/models/PoxCycleSignersListResponse.ts +0 -87
- package/src/generated/models/PoxSigner.ts +0 -112
- package/src/generated/models/PoxStacker.ts +0 -89
- package/src/generated/models/ReadOnlyFunctionArgs.ts +0 -64
- package/src/generated/models/ReadOnlyFunctionSuccessResponse.ts +0 -72
- package/src/generated/models/RosettaAccount.ts +0 -79
- package/src/generated/models/RosettaAccountBalanceRequest.ts +0 -83
- package/src/generated/models/RosettaAccountBalanceResponse.ts +0 -95
- package/src/generated/models/RosettaAccountBalanceResponseCoinIdentifier.ts +0 -56
- package/src/generated/models/RosettaAccountBalanceResponseMetadata.ts +0 -56
- package/src/generated/models/RosettaAccountIdentifier.ts +0 -79
- package/src/generated/models/RosettaAmount.ts +0 -79
- package/src/generated/models/RosettaBlock.ts +0 -103
- package/src/generated/models/RosettaBlockMetadata.ts +0 -72
- package/src/generated/models/RosettaBlockMetadata1.ts +0 -56
- package/src/generated/models/RosettaBlockRequest.ts +0 -71
- package/src/generated/models/RosettaBlockResponse.ts +0 -75
- package/src/generated/models/RosettaBlockTransactionRequest.ts +0 -83
- package/src/generated/models/RosettaBlockTransactionResponse.ts +0 -63
- package/src/generated/models/RosettaCoin.ts +0 -75
- package/src/generated/models/RosettaCoinChange.ts +0 -80
- package/src/generated/models/RosettaConstructionCombineRequest.ts +0 -83
- package/src/generated/models/RosettaConstructionCombineResponse.ts +0 -56
- package/src/generated/models/RosettaConstructionDeriveRequest.ts +0 -83
- package/src/generated/models/RosettaConstructionDeriveResponse.ts +0 -79
- package/src/generated/models/RosettaConstructionHashRequest.ts +0 -71
- package/src/generated/models/RosettaConstructionHashResponse.ts +0 -71
- package/src/generated/models/RosettaConstructionMetadataRequest.ts +0 -87
- package/src/generated/models/RosettaConstructionMetadataResponse.ts +0 -75
- package/src/generated/models/RosettaConstructionMetadataResponseMetadata.ts +0 -64
- package/src/generated/models/RosettaConstructionParseRequest.ts +0 -79
- package/src/generated/models/RosettaConstructionParseResponse.ts +0 -91
- package/src/generated/models/RosettaConstructionPayloadResponse.ts +0 -71
- package/src/generated/models/RosettaConstructionPayloadsRequest.ts +0 -99
- package/src/generated/models/RosettaConstructionPreprocessRequest.ts +0 -103
- package/src/generated/models/RosettaConstructionPreprocessResponse.ts +0 -75
- package/src/generated/models/RosettaConstructionSubmitRequest.ts +0 -71
- package/src/generated/models/RosettaConstructionSubmitResponse.ts +0 -71
- package/src/generated/models/RosettaCurrency.ts +0 -72
- package/src/generated/models/RosettaError.ts +0 -87
- package/src/generated/models/RosettaErrorDetails.ts +0 -64
- package/src/generated/models/RosettaErrorNoDetails.ts +0 -72
- package/src/generated/models/RosettaGenesisBlockIdentifier.ts +0 -64
- package/src/generated/models/RosettaMaxFeeAmount.ts +0 -79
- package/src/generated/models/RosettaMempoolRequest.ts +0 -71
- package/src/generated/models/RosettaMempoolResponse.ts +0 -71
- package/src/generated/models/RosettaMempoolTransactionRequest.ts +0 -75
- package/src/generated/models/RosettaMempoolTransactionResponse.ts +0 -71
- package/src/generated/models/RosettaNetworkListResponse.ts +0 -63
- package/src/generated/models/RosettaNetworkListResponseSubNetworkIdentifier.ts +0 -71
- package/src/generated/models/RosettaNetworkListResponseSubNetworkIdentifierMetadata.ts +0 -56
- package/src/generated/models/RosettaNetworkOptionsResponse.ts +0 -75
- package/src/generated/models/RosettaNetworkOptionsResponseAllow.ts +0 -91
- package/src/generated/models/RosettaNetworkOptionsResponseVersion.ts +0 -80
- package/src/generated/models/RosettaNetworkStatusResponse.ts +0 -123
- package/src/generated/models/RosettaOldestBlockIdentifier.ts +0 -64
- package/src/generated/models/RosettaOperation.ts +0 -135
- package/src/generated/models/RosettaOperationIdentifier.ts +0 -64
- package/src/generated/models/RosettaOperationStatus.ts +0 -64
- package/src/generated/models/RosettaOptions.ts +0 -256
- package/src/generated/models/RosettaOptionsRequest.ts +0 -71
- package/src/generated/models/RosettaParentBlockIdentifier.ts +0 -64
- package/src/generated/models/RosettaPeers.ts +0 -64
- package/src/generated/models/RosettaPublicKey.ts +0 -73
- package/src/generated/models/RosettaRelatedOperation.ts +0 -64
- package/src/generated/models/RosettaSignature.ts +0 -103
- package/src/generated/models/RosettaStatusRequest.ts +0 -71
- package/src/generated/models/RosettaSubAccount.ts +0 -64
- package/src/generated/models/RosettaSyncStatus.ts +0 -80
- package/src/generated/models/RosettaTransaction.ts +0 -87
- package/src/generated/models/RunFaucetResponse.ts +0 -72
- package/src/generated/models/ServerStatusResponse.ts +0 -103
- package/src/generated/models/SigningPayload.ts +0 -99
- package/src/generated/models/SmartContract.ts +0 -96
- package/src/generated/models/StxBalance.ts +0 -128
- package/src/generated/models/TargetBlockTime.ts +0 -56
- package/src/generated/models/TransactionEventsResponse.ts +0 -72
- package/src/generated/models/TransactionFeeEstimateRequest.ts +0 -64
- package/src/generated/models/TransactionFeeEstimateResponse.ts +0 -91
- package/src/generated/models/TransactionFeeEstimateResponseEstimatedCost.ts +0 -88
- package/src/generated/models/TransactionFeeEstimateResponseEstimations.ts +0 -64
- package/src/generated/models/TransactionIdentifier.ts +0 -56
- package/src/generated/models/TransactionResults.ts +0 -80
- package/src/generated/models/UnanchoredTransactionListResponse.ts +0 -64
- package/src/generated/models/index.ts +0 -164
- package/src/generated/runtime.ts +0 -320
package/lib/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/generated/runtime.ts","../src/generated/models/AccountDataResponse.ts","../src/generated/models/AddressAssetsListResponse.ts","../src/generated/models/AddressBalanceResponse.ts","../src/generated/models/AddressNonces.ts","../src/generated/models/AddressStxInboundListResponse.ts","../src/generated/models/AddressTokenOfferingLocked.ts","../src/generated/models/AddressTransaction.ts","../src/generated/models/AddressTransactionEventListResponse.ts","../src/generated/models/AddressTransactionWithTransfers.ts","../src/generated/models/AddressTransactionWithTransfersFtTransfers.ts","../src/generated/models/AddressTransactionWithTransfersNftTransfers.ts","../src/generated/models/AddressTransactionWithTransfersStxTransfers.ts","../src/generated/models/AddressTransactionWithTransfersValue.ts","../src/generated/models/AddressTransactionsListResponse.ts","../src/generated/models/AddressTransactionsV2ListResponse.ts","../src/generated/models/AddressTransactionsV2ListResponseEvents.ts","../src/generated/models/AddressTransactionsV2ListResponseEventsStx.ts","../src/generated/models/AddressTransactionsWithTransfersListResponse.ts","../src/generated/models/AddressUnlockSchedule.ts","../src/generated/models/AverageBlockTimesResponse.ts","../src/generated/models/Block.ts","../src/generated/models/BlockListResponse.ts","../src/generated/models/BnsError.ts","../src/generated/models/BnsGetAllNamespacesResponse.ts","../src/generated/models/BnsGetNameInfoResponse.ts","../src/generated/models/BnsGetNamePriceResponse.ts","../src/generated/models/BnsGetNamespacePriceResponse.ts","../src/generated/models/BnsNamesOwnByAddressResponse.ts","../src/generated/models/BurnBlock.ts","../src/generated/models/BurnBlockListResponse.ts","../src/generated/models/BurnchainReward.ts","../src/generated/models/BurnchainRewardListResponse.ts","../src/generated/models/BurnchainRewardSlotHolder.ts","../src/generated/models/BurnchainRewardSlotHolderListResponse.ts","../src/generated/models/BurnchainRewardsTotal.ts","../src/generated/models/ChainTip.ts","../src/generated/models/ContractInterfaceResponse.ts","../src/generated/models/ContractListResponse.ts","../src/generated/models/ContractSourceResponse.ts","../src/generated/models/CoreNodeInfoResponse.ts","../src/generated/models/CoreNodePoxResponse.ts","../src/generated/models/FeeRate.ts","../src/generated/models/FeeRateRequest.ts","../src/generated/models/FtHolderEntry.ts","../src/generated/models/FungibleTokenHolderList.ts","../src/generated/models/GetRawTransactionResult.ts","../src/generated/models/GetStxSupplyLegacyFormatResponse.ts","../src/generated/models/GetStxSupplyResponse.ts","../src/generated/models/InboundStxTransfer.ts","../src/generated/models/InlineObject.ts","../src/generated/models/InlineResponse403.ts","../src/generated/models/MapEntryResponse.ts","../src/generated/models/MempoolFeePriorities.ts","../src/generated/models/MempoolFeePrioritiesAll.ts","../src/generated/models/MempoolTransactionListResponse.ts","../src/generated/models/MempoolTransactionStatsResponse.ts","../src/generated/models/MempoolTransactionStatsResponseTxAges.ts","../src/generated/models/MempoolTransactionStatsResponseTxByteSizes.ts","../src/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.ts","../src/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.ts","../src/generated/models/MempoolTransactionStatsResponseTxTypeCounts.ts","../src/generated/models/Microblock.ts","../src/generated/models/MicroblockListResponse.ts","../src/generated/models/NakamotoBlock.ts","../src/generated/models/NakamotoBlockListResponse.ts","../src/generated/models/NetworkBlockTimeResponse.ts","../src/generated/models/NetworkBlockTimesResponse.ts","../src/generated/models/NetworkIdentifier.ts","../src/generated/models/NonFungibleTokenHistoryEventList.ts","../src/generated/models/NonFungibleTokenHoldingsList.ts","../src/generated/models/NonFungibleTokenMintList.ts","../src/generated/models/OtherTransactionIdentifier.ts","../src/generated/models/PoolDelegation.ts","../src/generated/models/PoolDelegationsResponse.ts","../src/generated/models/PostCoreNodeTransactionsError.ts","../src/generated/models/PoxCycle.ts","../src/generated/models/PoxCycleListResponse.ts","../src/generated/models/PoxCycleSignerStackersListResponse.ts","../src/generated/models/PoxCycleSignersListResponse.ts","../src/generated/models/PoxSigner.ts","../src/generated/models/PoxStacker.ts","../src/generated/models/ReadOnlyFunctionArgs.ts","../src/generated/models/ReadOnlyFunctionSuccessResponse.ts","../src/generated/models/RosettaAccount.ts","../src/generated/models/RosettaAccountBalanceRequest.ts","../src/generated/models/RosettaAccountBalanceResponse.ts","../src/generated/models/RosettaAccountBalanceResponseCoinIdentifier.ts","../src/generated/models/RosettaAccountBalanceResponseMetadata.ts","../src/generated/models/RosettaAccountIdentifier.ts","../src/generated/models/RosettaAmount.ts","../src/generated/models/RosettaBlock.ts","../src/generated/models/RosettaBlockMetadata.ts","../src/generated/models/RosettaBlockMetadata1.ts","../src/generated/models/RosettaBlockRequest.ts","../src/generated/models/RosettaBlockResponse.ts","../src/generated/models/RosettaBlockTransactionRequest.ts","../src/generated/models/RosettaBlockTransactionResponse.ts","../src/generated/models/RosettaCoin.ts","../src/generated/models/RosettaCoinChange.ts","../src/generated/models/RosettaConstructionCombineRequest.ts","../src/generated/models/RosettaConstructionCombineResponse.ts","../src/generated/models/RosettaConstructionDeriveRequest.ts","../src/generated/models/RosettaConstructionDeriveResponse.ts","../src/generated/models/RosettaConstructionHashRequest.ts","../src/generated/models/RosettaConstructionHashResponse.ts","../src/generated/models/RosettaConstructionMetadataRequest.ts","../src/generated/models/RosettaConstructionMetadataResponse.ts","../src/generated/models/RosettaConstructionMetadataResponseMetadata.ts","../src/generated/models/RosettaConstructionParseRequest.ts","../src/generated/models/RosettaConstructionParseResponse.ts","../src/generated/models/RosettaConstructionPayloadResponse.ts","../src/generated/models/RosettaConstructionPayloadsRequest.ts","../src/generated/models/RosettaConstructionPreprocessRequest.ts","../src/generated/models/RosettaConstructionPreprocessResponse.ts","../src/generated/models/RosettaConstructionSubmitRequest.ts","../src/generated/models/RosettaConstructionSubmitResponse.ts","../src/generated/models/RosettaCurrency.ts","../src/generated/models/RosettaError.ts","../src/generated/models/RosettaErrorDetails.ts","../src/generated/models/RosettaErrorNoDetails.ts","../src/generated/models/RosettaGenesisBlockIdentifier.ts","../src/generated/models/RosettaMaxFeeAmount.ts","../src/generated/models/RosettaMempoolRequest.ts","../src/generated/models/RosettaMempoolResponse.ts","../src/generated/models/RosettaMempoolTransactionRequest.ts","../src/generated/models/RosettaMempoolTransactionResponse.ts","../src/generated/models/RosettaNetworkListResponse.ts","../src/generated/models/RosettaNetworkListResponseSubNetworkIdentifier.ts","../src/generated/models/RosettaNetworkListResponseSubNetworkIdentifierMetadata.ts","../src/generated/models/RosettaNetworkOptionsResponse.ts","../src/generated/models/RosettaNetworkOptionsResponseAllow.ts","../src/generated/models/RosettaNetworkOptionsResponseVersion.ts","../src/generated/models/RosettaNetworkStatusResponse.ts","../src/generated/models/RosettaOldestBlockIdentifier.ts","../src/generated/models/RosettaOperation.ts","../src/generated/models/RosettaOperationIdentifier.ts","../src/generated/models/RosettaOperationStatus.ts","../src/generated/models/RosettaOptions.ts","../src/generated/models/RosettaOptionsRequest.ts","../src/generated/models/RosettaParentBlockIdentifier.ts","../src/generated/models/RosettaPeers.ts","../src/generated/models/RosettaPublicKey.ts","../src/generated/models/RosettaRelatedOperation.ts","../src/generated/models/RosettaSignature.ts","../src/generated/models/RosettaStatusRequest.ts","../src/generated/models/RosettaSubAccount.ts","../src/generated/models/RosettaSyncStatus.ts","../src/generated/models/RosettaTransaction.ts","../src/generated/models/RunFaucetResponse.ts","../src/generated/models/ServerStatusResponse.ts","../src/generated/models/SigningPayload.ts","../src/generated/models/SmartContract.ts","../src/generated/models/StxBalance.ts","../src/generated/models/TargetBlockTime.ts","../src/generated/models/TransactionEventsResponse.ts","../src/generated/models/TransactionFeeEstimateRequest.ts","../src/generated/models/TransactionFeeEstimateResponse.ts","../src/generated/models/TransactionFeeEstimateResponseEstimatedCost.ts","../src/generated/models/TransactionFeeEstimateResponseEstimations.ts","../src/generated/models/TransactionIdentifier.ts","../src/generated/models/TransactionResults.ts","../src/generated/models/UnanchoredTransactionListResponse.ts","../src/generated/apis/AccountsApi.ts","../src/generated/apis/BlocksApi.ts","../src/generated/apis/BurnBlocksApi.ts","../src/generated/apis/FaucetsApi.ts","../src/generated/apis/FeesApi.ts","../src/generated/apis/FungibleTokensApi.ts","../src/generated/apis/InfoApi.ts","../src/generated/apis/MempoolApi.ts","../src/generated/apis/MicroblocksApi.ts","../src/generated/apis/NamesApi.ts","../src/generated/apis/NonFungibleTokensApi.ts","../src/generated/apis/ProofOfTransferApi.ts","../src/generated/apis/RosettaApi.ts","../src/generated/apis/SearchApi.ts","../src/generated/apis/SmartContractsApi.ts","../src/generated/apis/StackingApi.ts","../src/generated/apis/StackingRewardsApi.ts","../src/generated/apis/TransactionsApi.ts","../node_modules/jsonrpc-lite/dist/esnext/jsonrpc.js","../node_modules/eventemitter3/index.js","../src/ws/index.ts","../node_modules/engine.io-parser/build/esm/commons.js","../node_modules/engine.io-parser/build/esm/encodePacket.browser.js","../node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","../node_modules/engine.io-parser/build/esm/decodePacket.browser.js","../node_modules/engine.io-parser/build/esm/index.js","../node_modules/@socket.io/component-emitter/index.mjs","../node_modules/engine.io-client/build/esm/globalThis.browser.js","../node_modules/engine.io-client/build/esm/util.js","../node_modules/engine.io-client/build/esm/contrib/parseqs.js","../node_modules/engine.io-client/build/esm/transport.js","../node_modules/engine.io-client/build/esm/contrib/yeast.js","../node_modules/engine.io-client/build/esm/contrib/has-cors.js","../node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js","../node_modules/engine.io-client/build/esm/transports/polling.js","../node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js","../node_modules/engine.io-client/build/esm/transports/websocket.js","../node_modules/engine.io-client/build/esm/transports/webtransport.js","../node_modules/engine.io-client/build/esm/transports/index.js","../node_modules/engine.io-client/build/esm/contrib/parseuri.js","../node_modules/engine.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/url.js","../node_modules/socket.io-parser/build/esm/is-binary.js","../node_modules/socket.io-parser/build/esm/binary.js","../node_modules/socket.io-parser/build/esm/index.js","../node_modules/socket.io-client/build/esm/on.js","../node_modules/socket.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/contrib/backo2.js","../node_modules/socket.io-client/build/esm/manager.js","../node_modules/socket.io-client/build/esm/index.js","../src/socket-io/index.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const BASE_PATH = \"https://api.mainnet.hiro.so\".replace(/\\/+$/, \"\");\n\nconst isBlob = (value: any) => typeof Blob !== 'undefined' && value instanceof Blob;\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n\n private middleware: Middleware[];\n\n constructor(protected configuration = new Configuration()) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n const next = this.clone<T>();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {\n const middlewares = preMiddlewares.map((pre) => ({ pre }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {\n const middlewares = postMiddlewares.map((post) => ({ post }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n protected async request(context: RequestOpts, initOverrides?: RequestInit): Promise<Response> {\n const { url, init } = this.createFetchParams(context, initOverrides);\n const response = await this.fetchApi(url, init);\n if (response.status >= 200 && response.status < 300) {\n return response;\n }\n throw response;\n }\n\n private createFetchParams(context: RequestOpts, initOverrides?: RequestInit) {\n let url = this.configuration.basePath + context.path;\n if (context.query !== undefined && Object.keys(context.query).length !== 0) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n const body = ((typeof FormData !== \"undefined\" && context.body instanceof FormData) || context.body instanceof URLSearchParams || isBlob(context.body))\n ? context.body\n : JSON.stringify(context.body);\n\n const headers = Object.assign({}, this.configuration.headers, context.headers);\n const init = {\n method: context.method,\n headers: headers,\n body,\n credentials: this.configuration.credentials,\n ...initOverrides\n };\n return { url, init };\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = { url, init };\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams = await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n }) || fetchParams;\n }\n }\n let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response = await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n }) || response;\n }\n }\n return response;\n }\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone<T extends BaseAPI>(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n};\n\nexport class RequiredError extends Error {\n name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?: string | ((name: string) => string); // parameter for apiKey security\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n get basePath(): string {\n return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken(): ((name?: string, scopes?: string[]) => string | Promise<string>) | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function' ? accessToken : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport type Json = any;\nexport type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';\nexport type HTTPHeaders = { [key: string]: string };\nexport type HTTPQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | HTTPQuery };\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\nexport function exists(json: any, key: string) {\n const value = json[key];\n return value !== null && value !== undefined;\n}\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map((key) => {\n const fullKey = prefix + (prefix.length ? `[${key}]` : key);\n const value = params[key];\n if (value instanceof Array) {\n const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n })\n .filter(part => part.length > 0)\n .join('&');\n}\n\nexport function mapValues(data: any, fn: (item: any) => any) {\n return Object.keys(data).reduce(\n (acc, key) => ({ ...acc, [key]: fn(data[key]) }),\n {}\n );\n}\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise<FetchParams | void>;\n post?(context: ResponseContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n raw: Response;\n value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n constructor(public raw: Response, private transformer: ResponseTransformer<T> = (jsonValue: any) => jsonValue) {}\n\n async value(): Promise<T> {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<void> {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<Blob> {\n return await this.raw.blob();\n };\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<string> {\n return await this.raw.text();\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request for account data\n * @export\n * @interface AccountDataResponse\n */\nexport interface AccountDataResponse {\n /**\n * \n * @type {string}\n * @memberof AccountDataResponse\n */\n balance: string;\n /**\n * \n * @type {string}\n * @memberof AccountDataResponse\n */\n locked: string;\n /**\n * \n * @type {number}\n * @memberof AccountDataResponse\n */\n unlock_height: number;\n /**\n * \n * @type {number}\n * @memberof AccountDataResponse\n */\n nonce: number;\n /**\n * \n * @type {string}\n * @memberof AccountDataResponse\n */\n balance_proof: string;\n /**\n * \n * @type {string}\n * @memberof AccountDataResponse\n */\n nonce_proof: string;\n}\n\nexport function AccountDataResponseFromJSON(json: any): AccountDataResponse {\n return AccountDataResponseFromJSONTyped(json, false);\n}\n\nexport function AccountDataResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountDataResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'balance': json['balance'],\n 'locked': json['locked'],\n 'unlock_height': json['unlock_height'],\n 'nonce': json['nonce'],\n 'balance_proof': json['balance_proof'],\n 'nonce_proof': json['nonce_proof'],\n };\n}\n\nexport function AccountDataResponseToJSON(value?: AccountDataResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'balance': value.balance,\n 'locked': value.locked,\n 'unlock_height': value.unlock_height,\n 'nonce': value.nonce,\n 'balance_proof': value.balance_proof,\n 'nonce_proof': value.nonce_proof,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request that returns address assets\n * @export\n * @interface AddressAssetsListResponse\n */\nexport interface AddressAssetsListResponse {\n /**\n * \n * @type {number}\n * @memberof AddressAssetsListResponse\n */\n limit: number;\n /**\n * \n * @type {number}\n * @memberof AddressAssetsListResponse\n */\n offset: number;\n /**\n * \n * @type {number}\n * @memberof AddressAssetsListResponse\n */\n total: number;\n /**\n * \n * @type {Array<object>}\n * @memberof AddressAssetsListResponse\n */\n results: Array<object>;\n}\n\nexport function AddressAssetsListResponseFromJSON(json: any): AddressAssetsListResponse {\n return AddressAssetsListResponseFromJSONTyped(json, false);\n}\n\nexport function AddressAssetsListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressAssetsListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': json['results'],\n };\n}\n\nexport function AddressAssetsListResponseToJSON(value?: AddressAssetsListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': value.results,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n AddressTokenOfferingLocked,\n AddressTokenOfferingLockedFromJSON,\n AddressTokenOfferingLockedFromJSONTyped,\n AddressTokenOfferingLockedToJSON,\n StxBalance,\n StxBalanceFromJSON,\n StxBalanceFromJSONTyped,\n StxBalanceToJSON,\n} from './';\n\n/**\n * GET request that returns address balances\n * @export\n * @interface AddressBalanceResponse\n */\nexport interface AddressBalanceResponse {\n /**\n * \n * @type {StxBalance}\n * @memberof AddressBalanceResponse\n */\n stx: StxBalance;\n /**\n * \n * @type {{ [key: string]: object; }}\n * @memberof AddressBalanceResponse\n */\n fungible_tokens: { [key: string]: object; };\n /**\n * \n * @type {{ [key: string]: object; }}\n * @memberof AddressBalanceResponse\n */\n non_fungible_tokens: { [key: string]: object; };\n /**\n * \n * @type {AddressTokenOfferingLocked}\n * @memberof AddressBalanceResponse\n */\n token_offering_locked?: AddressTokenOfferingLocked;\n}\n\nexport function AddressBalanceResponseFromJSON(json: any): AddressBalanceResponse {\n return AddressBalanceResponseFromJSONTyped(json, false);\n}\n\nexport function AddressBalanceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressBalanceResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'stx': StxBalanceFromJSON(json['stx']),\n 'fungible_tokens': json['fungible_tokens'],\n 'non_fungible_tokens': json['non_fungible_tokens'],\n 'token_offering_locked': !exists(json, 'token_offering_locked') ? undefined : AddressTokenOfferingLockedFromJSON(json['token_offering_locked']),\n };\n}\n\nexport function AddressBalanceResponseToJSON(value?: AddressBalanceResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'stx': StxBalanceToJSON(value.stx),\n 'fungible_tokens': value.fungible_tokens,\n 'non_fungible_tokens': value.non_fungible_tokens,\n 'token_offering_locked': AddressTokenOfferingLockedToJSON(value.token_offering_locked),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * The latest nonce values used by an account by inspecting the mempool, microblock transactions, and anchored transactions\n * @export\n * @interface AddressNonces\n */\nexport interface AddressNonces {\n /**\n * The latest nonce found within mempool transactions sent by this address. Will be null if there are no current mempool transactions for this address.\n * @type {number}\n * @memberof AddressNonces\n */\n last_mempool_tx_nonce: number | null;\n /**\n * The latest nonce found within transactions sent by this address, including unanchored microblock transactions. Will be null if there are no current transactions for this address.\n * @type {number}\n * @memberof AddressNonces\n */\n last_executed_tx_nonce: number | null;\n /**\n * The likely nonce required for creating the next transaction, based on the last nonces seen by the API. This can be incorrect if the API's mempool or transactions aren't fully synchronized, even by a small amount, or if a previous transaction is still propagating through the Stacks blockchain network when this endpoint is called.\n * @type {number}\n * @memberof AddressNonces\n */\n possible_next_nonce: number;\n /**\n * Nonces that appear to be missing and likely causing a mempool transaction to be stuck.\n * @type {Array<number>}\n * @memberof AddressNonces\n */\n detected_missing_nonces: Array<number>;\n /**\n * Nonces currently in mempool for this address.\n * @type {Array<number>}\n * @memberof AddressNonces\n */\n detected_mempool_nonces?: Array<number>;\n}\n\nexport function AddressNoncesFromJSON(json: any): AddressNonces {\n return AddressNoncesFromJSONTyped(json, false);\n}\n\nexport function AddressNoncesFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressNonces {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'last_mempool_tx_nonce': json['last_mempool_tx_nonce'],\n 'last_executed_tx_nonce': json['last_executed_tx_nonce'],\n 'possible_next_nonce': json['possible_next_nonce'],\n 'detected_missing_nonces': json['detected_missing_nonces'],\n 'detected_mempool_nonces': !exists(json, 'detected_mempool_nonces') ? undefined : json['detected_mempool_nonces'],\n };\n}\n\nexport function AddressNoncesToJSON(value?: AddressNonces | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'last_mempool_tx_nonce': value.last_mempool_tx_nonce,\n 'last_executed_tx_nonce': value.last_executed_tx_nonce,\n 'possible_next_nonce': value.possible_next_nonce,\n 'detected_missing_nonces': value.detected_missing_nonces,\n 'detected_mempool_nonces': value.detected_mempool_nonces,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n InboundStxTransfer,\n InboundStxTransferFromJSON,\n InboundStxTransferFromJSONTyped,\n InboundStxTransferToJSON,\n} from './';\n\n/**\n * GET request that returns a list of inbound STX transfers with a memo\n * @export\n * @interface AddressStxInboundListResponse\n */\nexport interface AddressStxInboundListResponse {\n /**\n * \n * @type {number}\n * @memberof AddressStxInboundListResponse\n */\n limit: number;\n /**\n * \n * @type {number}\n * @memberof AddressStxInboundListResponse\n */\n offset: number;\n /**\n * \n * @type {number}\n * @memberof AddressStxInboundListResponse\n */\n total: number;\n /**\n * \n * @type {Array<InboundStxTransfer>}\n * @memberof AddressStxInboundListResponse\n */\n results: Array<InboundStxTransfer>;\n}\n\nexport function AddressStxInboundListResponseFromJSON(json: any): AddressStxInboundListResponse {\n return AddressStxInboundListResponseFromJSONTyped(json, false);\n}\n\nexport function AddressStxInboundListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressStxInboundListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(InboundStxTransferFromJSON)),\n };\n}\n\nexport function AddressStxInboundListResponseToJSON(value?: AddressStxInboundListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(InboundStxTransferToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n AddressUnlockSchedule,\n AddressUnlockScheduleFromJSON,\n AddressUnlockScheduleFromJSONTyped,\n AddressUnlockScheduleToJSON,\n} from './';\n\n/**\n * Token Offering Locked\n * @export\n * @interface AddressTokenOfferingLocked\n */\nexport interface AddressTokenOfferingLocked {\n /**\n * Micro-STX amount still locked at current block height.\n * @type {string}\n * @memberof AddressTokenOfferingLocked\n */\n total_locked: string;\n /**\n * Micro-STX amount unlocked at current block height.\n * @type {string}\n * @memberof AddressTokenOfferingLocked\n */\n total_unlocked: string;\n /**\n * \n * @type {Array<AddressUnlockSchedule>}\n * @memberof AddressTokenOfferingLocked\n */\n unlock_schedule: Array<AddressUnlockSchedule>;\n}\n\nexport function AddressTokenOfferingLockedFromJSON(json: any): AddressTokenOfferingLocked {\n return AddressTokenOfferingLockedFromJSONTyped(json, false);\n}\n\nexport function AddressTokenOfferingLockedFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTokenOfferingLocked {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'total_locked': json['total_locked'],\n 'total_unlocked': json['total_unlocked'],\n 'unlock_schedule': ((json['unlock_schedule'] as Array<any>).map(AddressUnlockScheduleFromJSON)),\n };\n}\n\nexport function AddressTokenOfferingLockedToJSON(value?: AddressTokenOfferingLocked | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'total_locked': value.total_locked,\n 'total_unlocked': value.total_unlocked,\n 'unlock_schedule': ((value.unlock_schedule as Array<any>).map(AddressUnlockScheduleToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n AddressTransactionsV2ListResponseEvents,\n AddressTransactionsV2ListResponseEventsFromJSON,\n AddressTransactionsV2ListResponseEventsFromJSONTyped,\n AddressTransactionsV2ListResponseEventsToJSON,\n} from './';\n\n/**\n * Address transaction with STX, FT and NFT transfer summaries\n * @export\n * @interface AddressTransaction\n */\nexport interface AddressTransaction {\n /**\n * Describes all transaction types on Stacks 2.0 blockchain\n * @type {object}\n * @memberof AddressTransaction\n */\n tx: object;\n /**\n * Total sent from the given address, including the tx fee, in micro-STX as an integer string.\n * @type {string}\n * @memberof AddressTransaction\n */\n stx_sent: string;\n /**\n * Total received by the given address in micro-STX as an integer string.\n * @type {string}\n * @memberof AddressTransaction\n */\n stx_received: string;\n /**\n * \n * @type {AddressTransactionsV2ListResponseEvents}\n * @memberof AddressTransaction\n */\n events?: AddressTransactionsV2ListResponseEvents;\n}\n\nexport function AddressTransactionFromJSON(json: any): AddressTransaction {\n return AddressTransactionFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransaction {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'tx': json['tx'],\n 'stx_sent': json['stx_sent'],\n 'stx_received': json['stx_received'],\n 'events': !exists(json, 'events') ? undefined : AddressTransactionsV2ListResponseEventsFromJSON(json['events']),\n };\n}\n\nexport function AddressTransactionToJSON(value?: AddressTransaction | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'tx': value.tx,\n 'stx_sent': value.stx_sent,\n 'stx_received': value.stx_received,\n 'events': AddressTransactionsV2ListResponseEventsToJSON(value.events),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET Address Transaction Events\n * @export\n * @interface AddressTransactionEventListResponse\n */\nexport interface AddressTransactionEventListResponse {\n /**\n * \n * @type {number}\n * @memberof AddressTransactionEventListResponse\n */\n limit: number;\n /**\n * \n * @type {number}\n * @memberof AddressTransactionEventListResponse\n */\n offset: number;\n /**\n * \n * @type {number}\n * @memberof AddressTransactionEventListResponse\n */\n total: number;\n /**\n * \n * @type {Array<object>}\n * @memberof AddressTransactionEventListResponse\n */\n results: Array<object>;\n}\n\nexport function AddressTransactionEventListResponseFromJSON(json: any): AddressTransactionEventListResponse {\n return AddressTransactionEventListResponseFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionEventListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransactionEventListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': json['results'],\n };\n}\n\nexport function AddressTransactionEventListResponseToJSON(value?: AddressTransactionEventListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': value.results,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n AddressTransactionWithTransfersFtTransfers,\n AddressTransactionWithTransfersFtTransfersFromJSON,\n AddressTransactionWithTransfersFtTransfersFromJSONTyped,\n AddressTransactionWithTransfersFtTransfersToJSON,\n AddressTransactionWithTransfersNftTransfers,\n AddressTransactionWithTransfersNftTransfersFromJSON,\n AddressTransactionWithTransfersNftTransfersFromJSONTyped,\n AddressTransactionWithTransfersNftTransfersToJSON,\n AddressTransactionWithTransfersStxTransfers,\n AddressTransactionWithTransfersStxTransfersFromJSON,\n AddressTransactionWithTransfersStxTransfersFromJSONTyped,\n AddressTransactionWithTransfersStxTransfersToJSON,\n} from './';\n\n/**\n * Transaction with STX transfers for a given address\n * @export\n * @interface AddressTransactionWithTransfers\n */\nexport interface AddressTransactionWithTransfers {\n /**\n * Describes all transaction types on Stacks 2.0 blockchain\n * @type {object}\n * @memberof AddressTransactionWithTransfers\n */\n tx: object;\n /**\n * Total sent from the given address, including the tx fee, in micro-STX as an integer string.\n * @type {string}\n * @memberof AddressTransactionWithTransfers\n */\n stx_sent: string;\n /**\n * Total received by the given address in micro-STX as an integer string.\n * @type {string}\n * @memberof AddressTransactionWithTransfers\n */\n stx_received: string;\n /**\n * \n * @type {Array<AddressTransactionWithTransfersStxTransfers>}\n * @memberof AddressTransactionWithTransfers\n */\n stx_transfers: Array<AddressTransactionWithTransfersStxTransfers>;\n /**\n * \n * @type {Array<AddressTransactionWithTransfersFtTransfers>}\n * @memberof AddressTransactionWithTransfers\n */\n ft_transfers?: Array<AddressTransactionWithTransfersFtTransfers>;\n /**\n * \n * @type {Array<AddressTransactionWithTransfersNftTransfers>}\n * @memberof AddressTransactionWithTransfers\n */\n nft_transfers?: Array<AddressTransactionWithTransfersNftTransfers>;\n}\n\nexport function AddressTransactionWithTransfersFromJSON(json: any): AddressTransactionWithTransfers {\n return AddressTransactionWithTransfersFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionWithTransfersFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransactionWithTransfers {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'tx': json['tx'],\n 'stx_sent': json['stx_sent'],\n 'stx_received': json['stx_received'],\n 'stx_transfers': ((json['stx_transfers'] as Array<any>).map(AddressTransactionWithTransfersStxTransfersFromJSON)),\n 'ft_transfers': !exists(json, 'ft_transfers') ? undefined : ((json['ft_transfers'] as Array<any>).map(AddressTransactionWithTransfersFtTransfersFromJSON)),\n 'nft_transfers': !exists(json, 'nft_transfers') ? undefined : ((json['nft_transfers'] as Array<any>).map(AddressTransactionWithTransfersNftTransfersFromJSON)),\n };\n}\n\nexport function AddressTransactionWithTransfersToJSON(value?: AddressTransactionWithTransfers | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'tx': value.tx,\n 'stx_sent': value.stx_sent,\n 'stx_received': value.stx_received,\n 'stx_transfers': ((value.stx_transfers as Array<any>).map(AddressTransactionWithTransfersStxTransfersToJSON)),\n 'ft_transfers': value.ft_transfers === undefined ? undefined : ((value.ft_transfers as Array<any>).map(AddressTransactionWithTransfersFtTransfersToJSON)),\n 'nft_transfers': value.nft_transfers === undefined ? undefined : ((value.nft_transfers as Array<any>).map(AddressTransactionWithTransfersNftTransfersToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface AddressTransactionWithTransfersFtTransfers\n */\nexport interface AddressTransactionWithTransfersFtTransfers {\n /**\n * Fungible Token asset identifier.\n * @type {string}\n * @memberof AddressTransactionWithTransfersFtTransfers\n */\n asset_identifier: string;\n /**\n * Amount transferred as an integer string. This balance does not factor in possible SIP-010 decimals.\n * @type {string}\n * @memberof AddressTransactionWithTransfersFtTransfers\n */\n amount: string;\n /**\n * Principal that sent the asset.\n * @type {string}\n * @memberof AddressTransactionWithTransfersFtTransfers\n */\n sender?: string;\n /**\n * Principal that received the asset.\n * @type {string}\n * @memberof AddressTransactionWithTransfersFtTransfers\n */\n recipient?: string;\n}\n\nexport function AddressTransactionWithTransfersFtTransfersFromJSON(json: any): AddressTransactionWithTransfersFtTransfers {\n return AddressTransactionWithTransfersFtTransfersFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionWithTransfersFtTransfersFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransactionWithTransfersFtTransfers {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'asset_identifier': json['asset_identifier'],\n 'amount': json['amount'],\n 'sender': !exists(json, 'sender') ? undefined : json['sender'],\n 'recipient': !exists(json, 'recipient') ? undefined : json['recipient'],\n };\n}\n\nexport function AddressTransactionWithTransfersFtTransfersToJSON(value?: AddressTransactionWithTransfersFtTransfers | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'asset_identifier': value.asset_identifier,\n 'amount': value.amount,\n 'sender': value.sender,\n 'recipient': value.recipient,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n AddressTransactionWithTransfersValue,\n AddressTransactionWithTransfersValueFromJSON,\n AddressTransactionWithTransfersValueFromJSONTyped,\n AddressTransactionWithTransfersValueToJSON,\n} from './';\n\n/**\n * \n * @export\n * @interface AddressTransactionWithTransfersNftTransfers\n */\nexport interface AddressTransactionWithTransfersNftTransfers {\n /**\n * Non Fungible Token asset identifier.\n * @type {string}\n * @memberof AddressTransactionWithTransfersNftTransfers\n */\n asset_identifier: string;\n /**\n * \n * @type {AddressTransactionWithTransfersValue}\n * @memberof AddressTransactionWithTransfersNftTransfers\n */\n value: AddressTransactionWithTransfersValue;\n /**\n * Principal that sent the asset.\n * @type {string}\n * @memberof AddressTransactionWithTransfersNftTransfers\n */\n sender?: string;\n /**\n * Principal that received the asset.\n * @type {string}\n * @memberof AddressTransactionWithTransfersNftTransfers\n */\n recipient?: string;\n}\n\nexport function AddressTransactionWithTransfersNftTransfersFromJSON(json: any): AddressTransactionWithTransfersNftTransfers {\n return AddressTransactionWithTransfersNftTransfersFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionWithTransfersNftTransfersFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransactionWithTransfersNftTransfers {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'asset_identifier': json['asset_identifier'],\n 'value': AddressTransactionWithTransfersValueFromJSON(json['value']),\n 'sender': !exists(json, 'sender') ? undefined : json['sender'],\n 'recipient': !exists(json, 'recipient') ? undefined : json['recipient'],\n };\n}\n\nexport function AddressTransactionWithTransfersNftTransfersToJSON(value?: AddressTransactionWithTransfersNftTransfers | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'asset_identifier': value.asset_identifier,\n 'value': AddressTransactionWithTransfersValueToJSON(value.value),\n 'sender': value.sender,\n 'recipient': value.recipient,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface AddressTransactionWithTransfersStxTransfers\n */\nexport interface AddressTransactionWithTransfersStxTransfers {\n /**\n * Amount transferred in micro-STX as an integer string.\n * @type {string}\n * @memberof AddressTransactionWithTransfersStxTransfers\n */\n amount: string;\n /**\n * Principal that sent STX. This is unspecified if the STX were minted.\n * @type {string}\n * @memberof AddressTransactionWithTransfersStxTransfers\n */\n sender?: string;\n /**\n * Principal that received STX. This is unspecified if the STX were burned.\n * @type {string}\n * @memberof AddressTransactionWithTransfersStxTransfers\n */\n recipient?: string;\n}\n\nexport function AddressTransactionWithTransfersStxTransfersFromJSON(json: any): AddressTransactionWithTransfersStxTransfers {\n return AddressTransactionWithTransfersStxTransfersFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionWithTransfersStxTransfersFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransactionWithTransfersStxTransfers {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'amount': json['amount'],\n 'sender': !exists(json, 'sender') ? undefined : json['sender'],\n 'recipient': !exists(json, 'recipient') ? undefined : json['recipient'],\n };\n}\n\nexport function AddressTransactionWithTransfersStxTransfersToJSON(value?: AddressTransactionWithTransfersStxTransfers | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'amount': value.amount,\n 'sender': value.sender,\n 'recipient': value.recipient,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Non Fungible Token asset value.\n * @export\n * @interface AddressTransactionWithTransfersValue\n */\nexport interface AddressTransactionWithTransfersValue {\n /**\n * \n * @type {string}\n * @memberof AddressTransactionWithTransfersValue\n */\n hex: string;\n /**\n * \n * @type {string}\n * @memberof AddressTransactionWithTransfersValue\n */\n repr: string;\n}\n\nexport function AddressTransactionWithTransfersValueFromJSON(json: any): AddressTransactionWithTransfersValue {\n return AddressTransactionWithTransfersValueFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionWithTransfersValueFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransactionWithTransfersValue {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'hex': json['hex'],\n 'repr': json['repr'],\n };\n}\n\nexport function AddressTransactionWithTransfersValueToJSON(value?: AddressTransactionWithTransfersValue | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'hex': value.hex,\n 'repr': value.repr,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request that returns account transactions\n * @export\n * @interface AddressTransactionsListResponse\n */\nexport interface AddressTransactionsListResponse {\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsListResponse\n */\n limit: number;\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsListResponse\n */\n offset: number;\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsListResponse\n */\n total: number;\n /**\n * \n * @type {Array<object>}\n * @memberof AddressTransactionsListResponse\n */\n results: Array<object>;\n}\n\nexport function AddressTransactionsListResponseFromJSON(json: any): AddressTransactionsListResponse {\n return AddressTransactionsListResponseFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionsListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransactionsListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': json['results'],\n };\n}\n\nexport function AddressTransactionsListResponseToJSON(value?: AddressTransactionsListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': value.results,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n AddressTransaction,\n AddressTransactionFromJSON,\n AddressTransactionFromJSONTyped,\n AddressTransactionToJSON,\n} from './';\n\n/**\n * GET Address Transactions\n * @export\n * @interface AddressTransactionsV2ListResponse\n */\nexport interface AddressTransactionsV2ListResponse {\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsV2ListResponse\n */\n limit: number;\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsV2ListResponse\n */\n offset: number;\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsV2ListResponse\n */\n total: number;\n /**\n * \n * @type {Array<AddressTransaction>}\n * @memberof AddressTransactionsV2ListResponse\n */\n results: Array<AddressTransaction>;\n}\n\nexport function AddressTransactionsV2ListResponseFromJSON(json: any): AddressTransactionsV2ListResponse {\n return AddressTransactionsV2ListResponseFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionsV2ListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransactionsV2ListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(AddressTransactionFromJSON)),\n };\n}\n\nexport function AddressTransactionsV2ListResponseToJSON(value?: AddressTransactionsV2ListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(AddressTransactionToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n AddressTransactionsV2ListResponseEventsStx,\n AddressTransactionsV2ListResponseEventsStxFromJSON,\n AddressTransactionsV2ListResponseEventsStxFromJSONTyped,\n AddressTransactionsV2ListResponseEventsStxToJSON,\n} from './';\n\n/**\n * \n * @export\n * @interface AddressTransactionsV2ListResponseEvents\n */\nexport interface AddressTransactionsV2ListResponseEvents {\n /**\n * \n * @type {AddressTransactionsV2ListResponseEventsStx}\n * @memberof AddressTransactionsV2ListResponseEvents\n */\n stx: AddressTransactionsV2ListResponseEventsStx;\n /**\n * \n * @type {AddressTransactionsV2ListResponseEventsStx}\n * @memberof AddressTransactionsV2ListResponseEvents\n */\n ft: AddressTransactionsV2ListResponseEventsStx;\n /**\n * \n * @type {AddressTransactionsV2ListResponseEventsStx}\n * @memberof AddressTransactionsV2ListResponseEvents\n */\n nft: AddressTransactionsV2ListResponseEventsStx;\n}\n\nexport function AddressTransactionsV2ListResponseEventsFromJSON(json: any): AddressTransactionsV2ListResponseEvents {\n return AddressTransactionsV2ListResponseEventsFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionsV2ListResponseEventsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransactionsV2ListResponseEvents {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'stx': AddressTransactionsV2ListResponseEventsStxFromJSON(json['stx']),\n 'ft': AddressTransactionsV2ListResponseEventsStxFromJSON(json['ft']),\n 'nft': AddressTransactionsV2ListResponseEventsStxFromJSON(json['nft']),\n };\n}\n\nexport function AddressTransactionsV2ListResponseEventsToJSON(value?: AddressTransactionsV2ListResponseEvents | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'stx': AddressTransactionsV2ListResponseEventsStxToJSON(value.stx),\n 'ft': AddressTransactionsV2ListResponseEventsStxToJSON(value.ft),\n 'nft': AddressTransactionsV2ListResponseEventsStxToJSON(value.nft),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface AddressTransactionsV2ListResponseEventsStx\n */\nexport interface AddressTransactionsV2ListResponseEventsStx {\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsV2ListResponseEventsStx\n */\n transfer: number;\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsV2ListResponseEventsStx\n */\n mint: number;\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsV2ListResponseEventsStx\n */\n burn: number;\n}\n\nexport function AddressTransactionsV2ListResponseEventsStxFromJSON(json: any): AddressTransactionsV2ListResponseEventsStx {\n return AddressTransactionsV2ListResponseEventsStxFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionsV2ListResponseEventsStxFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransactionsV2ListResponseEventsStx {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'transfer': json['transfer'],\n 'mint': json['mint'],\n 'burn': json['burn'],\n };\n}\n\nexport function AddressTransactionsV2ListResponseEventsStxToJSON(value?: AddressTransactionsV2ListResponseEventsStx | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'transfer': value.transfer,\n 'mint': value.mint,\n 'burn': value.burn,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n AddressTransactionWithTransfers,\n AddressTransactionWithTransfersFromJSON,\n AddressTransactionWithTransfersFromJSONTyped,\n AddressTransactionWithTransfersToJSON,\n} from './';\n\n/**\n * GET request that returns account transactions\n * @export\n * @interface AddressTransactionsWithTransfersListResponse\n */\nexport interface AddressTransactionsWithTransfersListResponse {\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsWithTransfersListResponse\n */\n limit: number;\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsWithTransfersListResponse\n */\n offset: number;\n /**\n * \n * @type {number}\n * @memberof AddressTransactionsWithTransfersListResponse\n */\n total: number;\n /**\n * \n * @type {Array<AddressTransactionWithTransfers>}\n * @memberof AddressTransactionsWithTransfersListResponse\n */\n results: Array<AddressTransactionWithTransfers>;\n}\n\nexport function AddressTransactionsWithTransfersListResponseFromJSON(json: any): AddressTransactionsWithTransfersListResponse {\n return AddressTransactionsWithTransfersListResponseFromJSONTyped(json, false);\n}\n\nexport function AddressTransactionsWithTransfersListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTransactionsWithTransfersListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(AddressTransactionWithTransfersFromJSON)),\n };\n}\n\nexport function AddressTransactionsWithTransfersListResponseToJSON(value?: AddressTransactionsWithTransfersListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(AddressTransactionWithTransfersToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Unlock schedule amount and block height\n * @export\n * @interface AddressUnlockSchedule\n */\nexport interface AddressUnlockSchedule {\n /**\n * Micro-STX amount locked at this block height.\n * @type {string}\n * @memberof AddressUnlockSchedule\n */\n amount: string;\n /**\n * \n * @type {number}\n * @memberof AddressUnlockSchedule\n */\n block_height: number;\n}\n\nexport function AddressUnlockScheduleFromJSON(json: any): AddressUnlockSchedule {\n return AddressUnlockScheduleFromJSONTyped(json, false);\n}\n\nexport function AddressUnlockScheduleFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressUnlockSchedule {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'amount': json['amount'],\n 'block_height': json['block_height'],\n };\n}\n\nexport function AddressUnlockScheduleToJSON(value?: AddressUnlockSchedule | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'amount': value.amount,\n 'block_height': value.block_height,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Request to fetch average block times (in seconds)\n * @export\n * @interface AverageBlockTimesResponse\n */\nexport interface AverageBlockTimesResponse {\n /**\n * Average block times over the last hour (in seconds)\n * @type {number}\n * @memberof AverageBlockTimesResponse\n */\n last_1h: number;\n /**\n * Average block times over the last 24 hours (in seconds)\n * @type {number}\n * @memberof AverageBlockTimesResponse\n */\n last_24h: number;\n /**\n * Average block times over the last 7 days (in seconds)\n * @type {number}\n * @memberof AverageBlockTimesResponse\n */\n last_7d: number;\n /**\n * Average block times over the last 30 days (in seconds)\n * @type {number}\n * @memberof AverageBlockTimesResponse\n */\n last_30d: number;\n}\n\nexport function AverageBlockTimesResponseFromJSON(json: any): AverageBlockTimesResponse {\n return AverageBlockTimesResponseFromJSONTyped(json, false);\n}\n\nexport function AverageBlockTimesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AverageBlockTimesResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'last_1h': json['last_1h'],\n 'last_24h': json['last_24h'],\n 'last_7d': json['last_7d'],\n 'last_30d': json['last_30d'],\n };\n}\n\nexport function AverageBlockTimesResponseToJSON(value?: AverageBlockTimesResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'last_1h': value.last_1h,\n 'last_24h': value.last_24h,\n 'last_7d': value.last_7d,\n 'last_30d': value.last_30d,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * A block\n * @export\n * @interface Block\n */\nexport interface Block {\n /**\n * Set to `true` if block corresponds to the canonical chain tip\n * @type {boolean}\n * @memberof Block\n */\n canonical: boolean;\n /**\n * Height of the block\n * @type {number}\n * @memberof Block\n */\n height: number;\n /**\n * Hash representing the block\n * @type {string}\n * @memberof Block\n */\n hash: string;\n /**\n * Unix timestamp (in seconds) indicating when this block was mined.\n * @type {number}\n * @memberof Block\n */\n block_time: number;\n /**\n * An ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) indicating when this block was mined.\n * @type {string}\n * @memberof Block\n */\n block_time_iso: string;\n /**\n * The only hash that can uniquely identify an anchored block or an unconfirmed state trie\n * @type {string}\n * @memberof Block\n */\n index_block_hash: string;\n /**\n * Hash of the parent block\n * @type {string}\n * @memberof Block\n */\n parent_block_hash: string;\n /**\n * Unix timestamp (in seconds) indicating when this block was mined.\n * @type {number}\n * @memberof Block\n */\n burn_block_time: number;\n /**\n * An ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) indicating when this block was mined.\n * @type {string}\n * @memberof Block\n */\n burn_block_time_iso: string;\n /**\n * Hash of the anchor chain block\n * @type {string}\n * @memberof Block\n */\n burn_block_hash: string;\n /**\n * Height of the anchor chain block\n * @type {number}\n * @memberof Block\n */\n burn_block_height: number;\n /**\n * Anchor chain transaction ID\n * @type {string}\n * @memberof Block\n */\n miner_txid: string;\n /**\n * The hash of the last streamed block that precedes this block to which this block is to be appended. Not every anchored block will have a parent microblock stream. An anchored block that does not have a parent microblock stream has the parent microblock hash set to an empty string, and the parent microblock sequence number set to -1.\n * @type {string}\n * @memberof Block\n */\n parent_microblock_hash: string;\n /**\n * The hash of the last streamed block that precedes this block to which this block is to be appended. Not every anchored block will have a parent microblock stream. An anchored block that does not have a parent microblock stream has the parent microblock hash set to an empty string, and the parent microblock sequence number set to -1.\n * @type {number}\n * @memberof Block\n */\n parent_microblock_sequence: number;\n /**\n * List of transactions included in the block\n * @type {Array<string>}\n * @memberof Block\n */\n txs: Array<string>;\n /**\n * List of microblocks that were accepted in this anchor block. Not every anchored block will have a accepted all (or any) of the previously streamed microblocks. Microblocks that were orphaned are not included in this list.\n * @type {Array<string>}\n * @memberof Block\n */\n microblocks_accepted: Array<string>;\n /**\n * List of microblocks that were streamed/produced by this anchor block's miner. This list only includes microblocks that were accepted in the following anchor block. Microblocks that were orphaned are not included in this list.\n * @type {Array<string>}\n * @memberof Block\n */\n microblocks_streamed: Array<string>;\n /**\n * Execution cost read count.\n * @type {number}\n * @memberof Block\n */\n execution_cost_read_count: number;\n /**\n * Execution cost read length.\n * @type {number}\n * @memberof Block\n */\n execution_cost_read_length: number;\n /**\n * Execution cost runtime.\n * @type {number}\n * @memberof Block\n */\n execution_cost_runtime: number;\n /**\n * Execution cost write count.\n * @type {number}\n * @memberof Block\n */\n execution_cost_write_count: number;\n /**\n * Execution cost write length.\n * @type {number}\n * @memberof Block\n */\n execution_cost_write_length: number;\n /**\n * List of txs counts in each accepted microblock\n * @type {{ [key: string]: number; }}\n * @memberof Block\n */\n microblock_tx_count: { [key: string]: number; };\n}\n\nexport function BlockFromJSON(json: any): Block {\n return BlockFromJSONTyped(json, false);\n}\n\nexport function BlockFromJSONTyped(json: any, ignoreDiscriminator: boolean): Block {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'canonical': json['canonical'],\n 'height': json['height'],\n 'hash': json['hash'],\n 'block_time': json['block_time'],\n 'block_time_iso': json['block_time_iso'],\n 'index_block_hash': json['index_block_hash'],\n 'parent_block_hash': json['parent_block_hash'],\n 'burn_block_time': json['burn_block_time'],\n 'burn_block_time_iso': json['burn_block_time_iso'],\n 'burn_block_hash': json['burn_block_hash'],\n 'burn_block_height': json['burn_block_height'],\n 'miner_txid': json['miner_txid'],\n 'parent_microblock_hash': json['parent_microblock_hash'],\n 'parent_microblock_sequence': json['parent_microblock_sequence'],\n 'txs': json['txs'],\n 'microblocks_accepted': json['microblocks_accepted'],\n 'microblocks_streamed': json['microblocks_streamed'],\n 'execution_cost_read_count': json['execution_cost_read_count'],\n 'execution_cost_read_length': json['execution_cost_read_length'],\n 'execution_cost_runtime': json['execution_cost_runtime'],\n 'execution_cost_write_count': json['execution_cost_write_count'],\n 'execution_cost_write_length': json['execution_cost_write_length'],\n 'microblock_tx_count': json['microblock_tx_count'],\n };\n}\n\nexport function BlockToJSON(value?: Block | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'canonical': value.canonical,\n 'height': value.height,\n 'hash': value.hash,\n 'block_time': value.block_time,\n 'block_time_iso': value.block_time_iso,\n 'index_block_hash': value.index_block_hash,\n 'parent_block_hash': value.parent_block_hash,\n 'burn_block_time': value.burn_block_time,\n 'burn_block_time_iso': value.burn_block_time_iso,\n 'burn_block_hash': value.burn_block_hash,\n 'burn_block_height': value.burn_block_height,\n 'miner_txid': value.miner_txid,\n 'parent_microblock_hash': value.parent_microblock_hash,\n 'parent_microblock_sequence': value.parent_microblock_sequence,\n 'txs': value.txs,\n 'microblocks_accepted': value.microblocks_accepted,\n 'microblocks_streamed': value.microblocks_streamed,\n 'execution_cost_read_count': value.execution_cost_read_count,\n 'execution_cost_read_length': value.execution_cost_read_length,\n 'execution_cost_runtime': value.execution_cost_runtime,\n 'execution_cost_write_count': value.execution_cost_write_count,\n 'execution_cost_write_length': value.execution_cost_write_length,\n 'microblock_tx_count': value.microblock_tx_count,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n Block,\n BlockFromJSON,\n BlockFromJSONTyped,\n BlockToJSON,\n} from './';\n\n/**\n * GET request that returns blocks\n * @export\n * @interface BlockListResponse\n */\nexport interface BlockListResponse {\n /**\n * The number of blocks to return\n * @type {number}\n * @memberof BlockListResponse\n */\n limit: number;\n /**\n * The number to blocks to skip (starting at `0`)\n * @type {number}\n * @memberof BlockListResponse\n */\n offset: number;\n /**\n * The number of blocks available\n * @type {number}\n * @memberof BlockListResponse\n */\n total: number;\n /**\n * \n * @type {Array<Block>}\n * @memberof BlockListResponse\n */\n results: Array<Block>;\n}\n\nexport function BlockListResponseFromJSON(json: any): BlockListResponse {\n return BlockListResponseFromJSONTyped(json, false);\n}\n\nexport function BlockListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BlockListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(BlockFromJSON)),\n };\n}\n\nexport function BlockListResponseToJSON(value?: BlockListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(BlockToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Error\n * @export\n * @interface BnsError\n */\nexport interface BnsError {\n /**\n * \n * @type {string}\n * @memberof BnsError\n */\n error?: string;\n}\n\nexport function BnsErrorFromJSON(json: any): BnsError {\n return BnsErrorFromJSONTyped(json, false);\n}\n\nexport function BnsErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): BnsError {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'error': !exists(json, 'error') ? undefined : json['error'],\n };\n}\n\nexport function BnsErrorToJSON(value?: BnsError | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'error': value.error,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Fetch a list of all namespaces known to the node.\n * @export\n * @interface BnsGetAllNamespacesResponse\n */\nexport interface BnsGetAllNamespacesResponse {\n /**\n * \n * @type {Array<string>}\n * @memberof BnsGetAllNamespacesResponse\n */\n namespaces: Array<string>;\n}\n\nexport function BnsGetAllNamespacesResponseFromJSON(json: any): BnsGetAllNamespacesResponse {\n return BnsGetAllNamespacesResponseFromJSONTyped(json, false);\n}\n\nexport function BnsGetAllNamespacesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BnsGetAllNamespacesResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'namespaces': json['namespaces'],\n };\n}\n\nexport function BnsGetAllNamespacesResponseToJSON(value?: BnsGetAllNamespacesResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'namespaces': value.namespaces,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Get name details\n * @export\n * @interface BnsGetNameInfoResponse\n */\nexport interface BnsGetNameInfoResponse {\n /**\n * \n * @type {string}\n * @memberof BnsGetNameInfoResponse\n */\n address: string;\n /**\n * \n * @type {string}\n * @memberof BnsGetNameInfoResponse\n */\n blockchain: string;\n /**\n * \n * @type {number}\n * @memberof BnsGetNameInfoResponse\n */\n expire_block?: number;\n /**\n * \n * @type {number}\n * @memberof BnsGetNameInfoResponse\n */\n grace_period?: number;\n /**\n * \n * @type {string}\n * @memberof BnsGetNameInfoResponse\n */\n last_txid: string;\n /**\n * \n * @type {string}\n * @memberof BnsGetNameInfoResponse\n */\n resolver?: string;\n /**\n * \n * @type {string}\n * @memberof BnsGetNameInfoResponse\n */\n status: string;\n /**\n * \n * @type {string}\n * @memberof BnsGetNameInfoResponse\n */\n zonefile: string;\n /**\n * \n * @type {string}\n * @memberof BnsGetNameInfoResponse\n */\n zonefile_hash: string;\n}\n\nexport function BnsGetNameInfoResponseFromJSON(json: any): BnsGetNameInfoResponse {\n return BnsGetNameInfoResponseFromJSONTyped(json, false);\n}\n\nexport function BnsGetNameInfoResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BnsGetNameInfoResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'address': json['address'],\n 'blockchain': json['blockchain'],\n 'expire_block': !exists(json, 'expire_block') ? undefined : json['expire_block'],\n 'grace_period': !exists(json, 'grace_period') ? undefined : json['grace_period'],\n 'last_txid': json['last_txid'],\n 'resolver': !exists(json, 'resolver') ? undefined : json['resolver'],\n 'status': json['status'],\n 'zonefile': json['zonefile'],\n 'zonefile_hash': json['zonefile_hash'],\n };\n}\n\nexport function BnsGetNameInfoResponseToJSON(value?: BnsGetNameInfoResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'address': value.address,\n 'blockchain': value.blockchain,\n 'expire_block': value.expire_block,\n 'grace_period': value.grace_period,\n 'last_txid': value.last_txid,\n 'resolver': value.resolver,\n 'status': value.status,\n 'zonefile': value.zonefile,\n 'zonefile_hash': value.zonefile_hash,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Fetch price for name.\n * @export\n * @interface BnsGetNamePriceResponse\n */\nexport interface BnsGetNamePriceResponse {\n /**\n * \n * @type {string}\n * @memberof BnsGetNamePriceResponse\n */\n units: string;\n /**\n * \n * @type {string}\n * @memberof BnsGetNamePriceResponse\n */\n amount: string;\n}\n\nexport function BnsGetNamePriceResponseFromJSON(json: any): BnsGetNamePriceResponse {\n return BnsGetNamePriceResponseFromJSONTyped(json, false);\n}\n\nexport function BnsGetNamePriceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BnsGetNamePriceResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'units': json['units'],\n 'amount': json['amount'],\n };\n}\n\nexport function BnsGetNamePriceResponseToJSON(value?: BnsGetNamePriceResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'units': value.units,\n 'amount': value.amount,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Fetch price for namespace.\n * @export\n * @interface BnsGetNamespacePriceResponse\n */\nexport interface BnsGetNamespacePriceResponse {\n /**\n * \n * @type {string}\n * @memberof BnsGetNamespacePriceResponse\n */\n units: string;\n /**\n * \n * @type {string}\n * @memberof BnsGetNamespacePriceResponse\n */\n amount: string;\n}\n\nexport function BnsGetNamespacePriceResponseFromJSON(json: any): BnsGetNamespacePriceResponse {\n return BnsGetNamespacePriceResponseFromJSONTyped(json, false);\n}\n\nexport function BnsGetNamespacePriceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BnsGetNamespacePriceResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'units': json['units'],\n 'amount': json['amount'],\n };\n}\n\nexport function BnsGetNamespacePriceResponseToJSON(value?: BnsGetNamespacePriceResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'units': value.units,\n 'amount': value.amount,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Retrieves a list of names owned by the address provided.\n * @export\n * @interface BnsNamesOwnByAddressResponse\n */\nexport interface BnsNamesOwnByAddressResponse {\n /**\n * \n * @type {Array<string>}\n * @memberof BnsNamesOwnByAddressResponse\n */\n names: Array<string>;\n}\n\nexport function BnsNamesOwnByAddressResponseFromJSON(json: any): BnsNamesOwnByAddressResponse {\n return BnsNamesOwnByAddressResponseFromJSONTyped(json, false);\n}\n\nexport function BnsNamesOwnByAddressResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BnsNamesOwnByAddressResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'names': json['names'],\n };\n}\n\nexport function BnsNamesOwnByAddressResponseToJSON(value?: BnsNamesOwnByAddressResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'names': value.names,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * A burn block\n * @export\n * @interface BurnBlock\n */\nexport interface BurnBlock {\n /**\n * Unix timestamp (in seconds) indicating when this block was mined.\n * @type {number}\n * @memberof BurnBlock\n */\n burn_block_time: number;\n /**\n * An ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) indicating when this block was mined.\n * @type {string}\n * @memberof BurnBlock\n */\n burn_block_time_iso: string;\n /**\n * Hash of the anchor chain block\n * @type {string}\n * @memberof BurnBlock\n */\n burn_block_hash: string;\n /**\n * Height of the anchor chain block\n * @type {number}\n * @memberof BurnBlock\n */\n burn_block_height: number;\n /**\n * Hashes of the Stacks blocks included in the burn block\n * @type {Array<string>}\n * @memberof BurnBlock\n */\n stacks_blocks: Array<string>;\n /**\n * Average time between blocks in seconds. Returns 0 if there is only one block in the burn block.\n * @type {number}\n * @memberof BurnBlock\n */\n avg_block_time: number;\n /**\n * Total number of transactions in the Stacks blocks associated with this burn block\n * @type {number}\n * @memberof BurnBlock\n */\n total_tx_count: number;\n}\n\nexport function BurnBlockFromJSON(json: any): BurnBlock {\n return BurnBlockFromJSONTyped(json, false);\n}\n\nexport function BurnBlockFromJSONTyped(json: any, ignoreDiscriminator: boolean): BurnBlock {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'burn_block_time': json['burn_block_time'],\n 'burn_block_time_iso': json['burn_block_time_iso'],\n 'burn_block_hash': json['burn_block_hash'],\n 'burn_block_height': json['burn_block_height'],\n 'stacks_blocks': json['stacks_blocks'],\n 'avg_block_time': json['avg_block_time'],\n 'total_tx_count': json['total_tx_count'],\n };\n}\n\nexport function BurnBlockToJSON(value?: BurnBlock | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'burn_block_time': value.burn_block_time,\n 'burn_block_time_iso': value.burn_block_time_iso,\n 'burn_block_hash': value.burn_block_hash,\n 'burn_block_height': value.burn_block_height,\n 'stacks_blocks': value.stacks_blocks,\n 'avg_block_time': value.avg_block_time,\n 'total_tx_count': value.total_tx_count,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n BurnBlock,\n BurnBlockFromJSON,\n BurnBlockFromJSONTyped,\n BurnBlockToJSON,\n} from './';\n\n/**\n * GET request that returns burn blocks\n * @export\n * @interface BurnBlockListResponse\n */\nexport interface BurnBlockListResponse {\n /**\n * The number of burn blocks to return\n * @type {number}\n * @memberof BurnBlockListResponse\n */\n limit: number;\n /**\n * The number to burn blocks to skip (starting at `0`)\n * @type {number}\n * @memberof BurnBlockListResponse\n */\n offset: number;\n /**\n * The number of burn blocks available (regardless of filter parameters)\n * @type {number}\n * @memberof BurnBlockListResponse\n */\n total: number;\n /**\n * \n * @type {Array<BurnBlock>}\n * @memberof BurnBlockListResponse\n */\n results: Array<BurnBlock>;\n}\n\nexport function BurnBlockListResponseFromJSON(json: any): BurnBlockListResponse {\n return BurnBlockListResponseFromJSONTyped(json, false);\n}\n\nexport function BurnBlockListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BurnBlockListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(BurnBlockFromJSON)),\n };\n}\n\nexport function BurnBlockListResponseToJSON(value?: BurnBlockListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(BurnBlockToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Reward payment made on the burnchain\n * @export\n * @interface BurnchainReward\n */\nexport interface BurnchainReward {\n /**\n * Set to `true` if block corresponds to the canonical burchchain tip\n * @type {boolean}\n * @memberof BurnchainReward\n */\n canonical: boolean;\n /**\n * The hash representing the burnchain block\n * @type {string}\n * @memberof BurnchainReward\n */\n burn_block_hash: string;\n /**\n * Height of the burnchain block\n * @type {number}\n * @memberof BurnchainReward\n */\n burn_block_height: number;\n /**\n * The total amount of burnchain tokens burned for this burnchain block, in the smallest unit (e.g. satoshis for Bitcoin)\n * @type {string}\n * @memberof BurnchainReward\n */\n burn_amount: string;\n /**\n * The recipient address that received the burnchain rewards, in the format native to the burnchain (e.g. B58 encoded for Bitcoin)\n * @type {string}\n * @memberof BurnchainReward\n */\n reward_recipient: string;\n /**\n * The amount of burnchain tokens rewarded to the recipient, in the smallest unit (e.g. satoshis for Bitcoin)\n * @type {string}\n * @memberof BurnchainReward\n */\n reward_amount: string;\n /**\n * The index position of the reward entry, useful for ordering when there's more than one recipient per burnchain block\n * @type {number}\n * @memberof BurnchainReward\n */\n reward_index: number;\n}\n\nexport function BurnchainRewardFromJSON(json: any): BurnchainReward {\n return BurnchainRewardFromJSONTyped(json, false);\n}\n\nexport function BurnchainRewardFromJSONTyped(json: any, ignoreDiscriminator: boolean): BurnchainReward {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'canonical': json['canonical'],\n 'burn_block_hash': json['burn_block_hash'],\n 'burn_block_height': json['burn_block_height'],\n 'burn_amount': json['burn_amount'],\n 'reward_recipient': json['reward_recipient'],\n 'reward_amount': json['reward_amount'],\n 'reward_index': json['reward_index'],\n };\n}\n\nexport function BurnchainRewardToJSON(value?: BurnchainReward | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'canonical': value.canonical,\n 'burn_block_hash': value.burn_block_hash,\n 'burn_block_height': value.burn_block_height,\n 'burn_amount': value.burn_amount,\n 'reward_recipient': value.reward_recipient,\n 'reward_amount': value.reward_amount,\n 'reward_index': value.reward_index,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n BurnchainReward,\n BurnchainRewardFromJSON,\n BurnchainRewardFromJSONTyped,\n BurnchainRewardToJSON,\n} from './';\n\n/**\n * GET request that returns blocks\n * @export\n * @interface BurnchainRewardListResponse\n */\nexport interface BurnchainRewardListResponse {\n /**\n * The number of burnchain rewards to return\n * @type {number}\n * @memberof BurnchainRewardListResponse\n */\n limit: number;\n /**\n * The number to burnchain rewards to skip (starting at `0`)\n * @type {number}\n * @memberof BurnchainRewardListResponse\n */\n offset: number;\n /**\n * \n * @type {Array<BurnchainReward>}\n * @memberof BurnchainRewardListResponse\n */\n results: Array<BurnchainReward>;\n}\n\nexport function BurnchainRewardListResponseFromJSON(json: any): BurnchainRewardListResponse {\n return BurnchainRewardListResponseFromJSONTyped(json, false);\n}\n\nexport function BurnchainRewardListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BurnchainRewardListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'results': ((json['results'] as Array<any>).map(BurnchainRewardFromJSON)),\n };\n}\n\nexport function BurnchainRewardListResponseToJSON(value?: BurnchainRewardListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'results': ((value.results as Array<any>).map(BurnchainRewardToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Reward slot holder on the burnchain\n * @export\n * @interface BurnchainRewardSlotHolder\n */\nexport interface BurnchainRewardSlotHolder {\n /**\n * Set to `true` if block corresponds to the canonical burchchain tip\n * @type {boolean}\n * @memberof BurnchainRewardSlotHolder\n */\n canonical: boolean;\n /**\n * The hash representing the burnchain block\n * @type {string}\n * @memberof BurnchainRewardSlotHolder\n */\n burn_block_hash: string;\n /**\n * Height of the burnchain block\n * @type {number}\n * @memberof BurnchainRewardSlotHolder\n */\n burn_block_height: number;\n /**\n * The recipient address that validly received PoX commitments, in the format native to the burnchain (e.g. B58 encoded for Bitcoin)\n * @type {string}\n * @memberof BurnchainRewardSlotHolder\n */\n address: string;\n /**\n * The index position of the reward entry, useful for ordering when there's more than one slot per burnchain block\n * @type {number}\n * @memberof BurnchainRewardSlotHolder\n */\n slot_index: number;\n}\n\nexport function BurnchainRewardSlotHolderFromJSON(json: any): BurnchainRewardSlotHolder {\n return BurnchainRewardSlotHolderFromJSONTyped(json, false);\n}\n\nexport function BurnchainRewardSlotHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): BurnchainRewardSlotHolder {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'canonical': json['canonical'],\n 'burn_block_hash': json['burn_block_hash'],\n 'burn_block_height': json['burn_block_height'],\n 'address': json['address'],\n 'slot_index': json['slot_index'],\n };\n}\n\nexport function BurnchainRewardSlotHolderToJSON(value?: BurnchainRewardSlotHolder | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'canonical': value.canonical,\n 'burn_block_hash': value.burn_block_hash,\n 'burn_block_height': value.burn_block_height,\n 'address': value.address,\n 'slot_index': value.slot_index,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n BurnchainRewardSlotHolder,\n BurnchainRewardSlotHolderFromJSON,\n BurnchainRewardSlotHolderFromJSONTyped,\n BurnchainRewardSlotHolderToJSON,\n} from './';\n\n/**\n * GET request that returns reward slot holders\n * @export\n * @interface BurnchainRewardSlotHolderListResponse\n */\nexport interface BurnchainRewardSlotHolderListResponse {\n /**\n * The number of items to return\n * @type {number}\n * @memberof BurnchainRewardSlotHolderListResponse\n */\n limit: number;\n /**\n * The number of items to skip (starting at `0`)\n * @type {number}\n * @memberof BurnchainRewardSlotHolderListResponse\n */\n offset: number;\n /**\n * Total number of available items\n * @type {number}\n * @memberof BurnchainRewardSlotHolderListResponse\n */\n total: number;\n /**\n * \n * @type {Array<BurnchainRewardSlotHolder>}\n * @memberof BurnchainRewardSlotHolderListResponse\n */\n results: Array<BurnchainRewardSlotHolder>;\n}\n\nexport function BurnchainRewardSlotHolderListResponseFromJSON(json: any): BurnchainRewardSlotHolderListResponse {\n return BurnchainRewardSlotHolderListResponseFromJSONTyped(json, false);\n}\n\nexport function BurnchainRewardSlotHolderListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BurnchainRewardSlotHolderListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(BurnchainRewardSlotHolderFromJSON)),\n };\n}\n\nexport function BurnchainRewardSlotHolderListResponseToJSON(value?: BurnchainRewardSlotHolderListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(BurnchainRewardSlotHolderToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Total burnchain rewards made to a recipient\n * @export\n * @interface BurnchainRewardsTotal\n */\nexport interface BurnchainRewardsTotal {\n /**\n * The recipient address that received the burnchain rewards, in the format native to the burnchain (e.g. B58 encoded for Bitcoin)\n * @type {string}\n * @memberof BurnchainRewardsTotal\n */\n reward_recipient: string;\n /**\n * The total amount of burnchain tokens rewarded to the recipient, in the smallest unit (e.g. satoshis for Bitcoin)\n * @type {string}\n * @memberof BurnchainRewardsTotal\n */\n reward_amount: string;\n}\n\nexport function BurnchainRewardsTotalFromJSON(json: any): BurnchainRewardsTotal {\n return BurnchainRewardsTotalFromJSONTyped(json, false);\n}\n\nexport function BurnchainRewardsTotalFromJSONTyped(json: any, ignoreDiscriminator: boolean): BurnchainRewardsTotal {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'reward_recipient': json['reward_recipient'],\n 'reward_amount': json['reward_amount'],\n };\n}\n\nexport function BurnchainRewardsTotalToJSON(value?: BurnchainRewardsTotal | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'reward_recipient': value.reward_recipient,\n 'reward_amount': value.reward_amount,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Current chain tip information\n * @export\n * @interface ChainTip\n */\nexport interface ChainTip {\n /**\n * the current block height\n * @type {number}\n * @memberof ChainTip\n */\n block_height: number;\n /**\n * the current block hash\n * @type {string}\n * @memberof ChainTip\n */\n block_hash: string;\n /**\n * the current index block hash\n * @type {string}\n * @memberof ChainTip\n */\n index_block_hash: string;\n /**\n * the current microblock hash\n * @type {string}\n * @memberof ChainTip\n */\n microblock_hash?: string;\n /**\n * the current microblock sequence number\n * @type {number}\n * @memberof ChainTip\n */\n microblock_sequence?: number;\n /**\n * the current burn chain block height\n * @type {number}\n * @memberof ChainTip\n */\n burn_block_height: number;\n}\n\nexport function ChainTipFromJSON(json: any): ChainTip {\n return ChainTipFromJSONTyped(json, false);\n}\n\nexport function ChainTipFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChainTip {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'block_height': json['block_height'],\n 'block_hash': json['block_hash'],\n 'index_block_hash': json['index_block_hash'],\n 'microblock_hash': !exists(json, 'microblock_hash') ? undefined : json['microblock_hash'],\n 'microblock_sequence': !exists(json, 'microblock_sequence') ? undefined : json['microblock_sequence'],\n 'burn_block_height': json['burn_block_height'],\n };\n}\n\nexport function ChainTipToJSON(value?: ChainTip | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'block_height': value.block_height,\n 'block_hash': value.block_hash,\n 'index_block_hash': value.index_block_hash,\n 'microblock_hash': value.microblock_hash,\n 'microblock_sequence': value.microblock_sequence,\n 'burn_block_height': value.burn_block_height,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request to get contract interface\n * @export\n * @interface ContractInterfaceResponse\n */\nexport interface ContractInterfaceResponse {\n /**\n * List of defined methods\n * @type {Array<object>}\n * @memberof ContractInterfaceResponse\n */\n functions: Array<object>;\n /**\n * List of defined variables\n * @type {Array<object>}\n * @memberof ContractInterfaceResponse\n */\n variables: Array<object>;\n /**\n * List of defined data-maps\n * @type {Array<object>}\n * @memberof ContractInterfaceResponse\n */\n maps: Array<object>;\n /**\n * List of fungible tokens in the contract\n * @type {Array<object>}\n * @memberof ContractInterfaceResponse\n */\n fungible_tokens: Array<object>;\n /**\n * List of non-fungible tokens in the contract\n * @type {Array<object>}\n * @memberof ContractInterfaceResponse\n */\n non_fungible_tokens: Array<object>;\n}\n\nexport function ContractInterfaceResponseFromJSON(json: any): ContractInterfaceResponse {\n return ContractInterfaceResponseFromJSONTyped(json, false);\n}\n\nexport function ContractInterfaceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ContractInterfaceResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'functions': json['functions'],\n 'variables': json['variables'],\n 'maps': json['maps'],\n 'fungible_tokens': json['fungible_tokens'],\n 'non_fungible_tokens': json['non_fungible_tokens'],\n };\n}\n\nexport function ContractInterfaceResponseToJSON(value?: ContractInterfaceResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'functions': value.functions,\n 'variables': value.variables,\n 'maps': value.maps,\n 'fungible_tokens': value.fungible_tokens,\n 'non_fungible_tokens': value.non_fungible_tokens,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n SmartContract,\n SmartContractFromJSON,\n SmartContractFromJSONTyped,\n SmartContractToJSON,\n} from './';\n\n/**\n * GET list of contracts\n * @export\n * @interface ContractListResponse\n */\nexport interface ContractListResponse {\n /**\n * The number of contracts to return\n * @type {number}\n * @memberof ContractListResponse\n */\n limit: number;\n /**\n * The number to contracts to skip (starting at `0`)\n * @type {number}\n * @memberof ContractListResponse\n */\n offset: number;\n /**\n * \n * @type {Array<SmartContract>}\n * @memberof ContractListResponse\n */\n results: Array<SmartContract>;\n}\n\nexport function ContractListResponseFromJSON(json: any): ContractListResponse {\n return ContractListResponseFromJSONTyped(json, false);\n}\n\nexport function ContractListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ContractListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'results': ((json['results'] as Array<any>).map(SmartContractFromJSON)),\n };\n}\n\nexport function ContractListResponseToJSON(value?: ContractListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'results': ((value.results as Array<any>).map(SmartContractToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request to get contract source\n * @export\n * @interface ContractSourceResponse\n */\nexport interface ContractSourceResponse {\n /**\n * \n * @type {string}\n * @memberof ContractSourceResponse\n */\n source: string;\n /**\n * \n * @type {number}\n * @memberof ContractSourceResponse\n */\n publish_height: number;\n /**\n * \n * @type {string}\n * @memberof ContractSourceResponse\n */\n proof: string;\n}\n\nexport function ContractSourceResponseFromJSON(json: any): ContractSourceResponse {\n return ContractSourceResponseFromJSONTyped(json, false);\n}\n\nexport function ContractSourceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ContractSourceResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'source': json['source'],\n 'publish_height': json['publish_height'],\n 'proof': json['proof'],\n };\n}\n\nexport function ContractSourceResponseToJSON(value?: ContractSourceResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'source': value.source,\n 'publish_height': value.publish_height,\n 'proof': value.proof,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request that core node information\n * @export\n * @interface CoreNodeInfoResponse\n */\nexport interface CoreNodeInfoResponse {\n /**\n * identifies the version number for the networking communication, this should not change while a node is running, and will only change if there's an upgrade\n * @type {number}\n * @memberof CoreNodeInfoResponse\n */\n peer_version: number;\n /**\n * is a hash used to identify the burnchain view for a node. it incorporates bitcoin chain information and PoX information. nodes that disagree on this value will appear to each other as forks. this value will change after every block\n * @type {string}\n * @memberof CoreNodeInfoResponse\n */\n pox_consensus: string;\n /**\n * latest bitcoin chain height\n * @type {number}\n * @memberof CoreNodeInfoResponse\n */\n burn_block_height: number;\n /**\n * same as burn_consensus, but evaluated at stable_burn_block_height\n * @type {string}\n * @memberof CoreNodeInfoResponse\n */\n stable_pox_consensus: string;\n /**\n * leftover from stacks 1.0, basically always burn_block_height - 1\n * @type {number}\n * @memberof CoreNodeInfoResponse\n */\n stable_burn_block_height: number;\n /**\n * is a version descriptor\n * @type {string}\n * @memberof CoreNodeInfoResponse\n */\n server_version: string;\n /**\n * is similar to peer_version and will be used to differentiate between different testnets. this value will be different between mainnet and testnet. once launched, this value will not change\n * @type {number}\n * @memberof CoreNodeInfoResponse\n */\n network_id: number;\n /**\n * same as network_id, but for bitcoin\n * @type {number}\n * @memberof CoreNodeInfoResponse\n */\n parent_network_id: number;\n /**\n * the latest Stacks chain height. Stacks forks can occur independent of the Bitcoin chain, that height doesn't increase 1-to-1 with the Bitcoin height\n * @type {number}\n * @memberof CoreNodeInfoResponse\n */\n stacks_tip_height: number;\n /**\n * the best known block hash for the Stack chain (not including any pending microblocks)\n * @type {string}\n * @memberof CoreNodeInfoResponse\n */\n stacks_tip: string;\n /**\n * the burn chain (i.e., bitcoin) consensus hash at the time that stacks_tip was mined\n * @type {string}\n * @memberof CoreNodeInfoResponse\n */\n stacks_tip_consensus_hash: string;\n /**\n * the latest microblock hash if any microblocks were processed. if no microblock has been processed for the current block, a 000.., hex array is returned\n * @type {string}\n * @memberof CoreNodeInfoResponse\n */\n unanchored_tip: string;\n /**\n * the block height at which the testnet network will be reset. not applicable for mainnet\n * @type {number}\n * @memberof CoreNodeInfoResponse\n */\n exit_at_block_height: number;\n}\n\nexport function CoreNodeInfoResponseFromJSON(json: any): CoreNodeInfoResponse {\n return CoreNodeInfoResponseFromJSONTyped(json, false);\n}\n\nexport function CoreNodeInfoResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoreNodeInfoResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'peer_version': json['peer_version'],\n 'pox_consensus': json['pox_consensus'],\n 'burn_block_height': json['burn_block_height'],\n 'stable_pox_consensus': json['stable_pox_consensus'],\n 'stable_burn_block_height': json['stable_burn_block_height'],\n 'server_version': json['server_version'],\n 'network_id': json['network_id'],\n 'parent_network_id': json['parent_network_id'],\n 'stacks_tip_height': json['stacks_tip_height'],\n 'stacks_tip': json['stacks_tip'],\n 'stacks_tip_consensus_hash': json['stacks_tip_consensus_hash'],\n 'unanchored_tip': json['unanchored_tip'],\n 'exit_at_block_height': json['exit_at_block_height'],\n };\n}\n\nexport function CoreNodeInfoResponseToJSON(value?: CoreNodeInfoResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'peer_version': value.peer_version,\n 'pox_consensus': value.pox_consensus,\n 'burn_block_height': value.burn_block_height,\n 'stable_pox_consensus': value.stable_pox_consensus,\n 'stable_burn_block_height': value.stable_burn_block_height,\n 'server_version': value.server_version,\n 'network_id': value.network_id,\n 'parent_network_id': value.parent_network_id,\n 'stacks_tip_height': value.stacks_tip_height,\n 'stacks_tip': value.stacks_tip,\n 'stacks_tip_consensus_hash': value.stacks_tip_consensus_hash,\n 'unanchored_tip': value.unanchored_tip,\n 'exit_at_block_height': value.exit_at_block_height,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Get Proof of Transfer (PoX) information\n * @export\n * @interface CoreNodePoxResponse\n */\nexport interface CoreNodePoxResponse {\n /**\n * \n * @type {string}\n * @memberof CoreNodePoxResponse\n */\n contract_id: string;\n /**\n * \n * @type {number}\n * @memberof CoreNodePoxResponse\n */\n first_burnchain_block_height: number;\n /**\n * \n * @type {number}\n * @memberof CoreNodePoxResponse\n */\n min_amount_ustx: number;\n /**\n * \n * @type {number}\n * @memberof CoreNodePoxResponse\n */\n registration_window_length: number;\n /**\n * \n * @type {number}\n * @memberof CoreNodePoxResponse\n */\n rejection_fraction: number;\n /**\n * \n * @type {number}\n * @memberof CoreNodePoxResponse\n */\n reward_cycle_id: number;\n /**\n * \n * @type {number}\n * @memberof CoreNodePoxResponse\n */\n reward_cycle_length: number;\n /**\n * \n * @type {number}\n * @memberof CoreNodePoxResponse\n */\n rejection_votes_left_required: number;\n /**\n * \n * @type {number}\n * @memberof CoreNodePoxResponse\n */\n total_liquid_supply_ustx: number;\n}\n\nexport function CoreNodePoxResponseFromJSON(json: any): CoreNodePoxResponse {\n return CoreNodePoxResponseFromJSONTyped(json, false);\n}\n\nexport function CoreNodePoxResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoreNodePoxResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'contract_id': json['contract_id'],\n 'first_burnchain_block_height': json['first_burnchain_block_height'],\n 'min_amount_ustx': json['min_amount_ustx'],\n 'registration_window_length': json['registration_window_length'],\n 'rejection_fraction': json['rejection_fraction'],\n 'reward_cycle_id': json['reward_cycle_id'],\n 'reward_cycle_length': json['reward_cycle_length'],\n 'rejection_votes_left_required': json['rejection_votes_left_required'],\n 'total_liquid_supply_ustx': json['total_liquid_supply_ustx'],\n };\n}\n\nexport function CoreNodePoxResponseToJSON(value?: CoreNodePoxResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'contract_id': value.contract_id,\n 'first_burnchain_block_height': value.first_burnchain_block_height,\n 'min_amount_ustx': value.min_amount_ustx,\n 'registration_window_length': value.registration_window_length,\n 'rejection_fraction': value.rejection_fraction,\n 'reward_cycle_id': value.reward_cycle_id,\n 'reward_cycle_length': value.reward_cycle_length,\n 'rejection_votes_left_required': value.rejection_votes_left_required,\n 'total_liquid_supply_ustx': value.total_liquid_supply_ustx,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Get fee rate information.\n * @export\n * @interface FeeRate\n */\nexport interface FeeRate {\n /**\n * \n * @type {number}\n * @memberof FeeRate\n */\n fee_rate: number;\n}\n\nexport function FeeRateFromJSON(json: any): FeeRate {\n return FeeRateFromJSONTyped(json, false);\n}\n\nexport function FeeRateFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeeRate {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'fee_rate': json['fee_rate'],\n };\n}\n\nexport function FeeRateToJSON(value?: FeeRate | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'fee_rate': value.fee_rate,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Request to fetch fee for a transaction\n * @export\n * @interface FeeRateRequest\n */\nexport interface FeeRateRequest {\n /**\n * A serialized transaction\n * @type {string}\n * @memberof FeeRateRequest\n */\n transaction: string;\n}\n\nexport function FeeRateRequestFromJSON(json: any): FeeRateRequest {\n return FeeRateRequestFromJSONTyped(json, false);\n}\n\nexport function FeeRateRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeeRateRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'transaction': json['transaction'],\n };\n}\n\nexport function FeeRateRequestToJSON(value?: FeeRateRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'transaction': value.transaction,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface FtHolderEntry\n */\nexport interface FtHolderEntry {\n /**\n * \n * @type {string}\n * @memberof FtHolderEntry\n */\n address: string;\n /**\n * \n * @type {string}\n * @memberof FtHolderEntry\n */\n balance: string;\n}\n\nexport function FtHolderEntryFromJSON(json: any): FtHolderEntry {\n return FtHolderEntryFromJSONTyped(json, false);\n}\n\nexport function FtHolderEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): FtHolderEntry {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'address': json['address'],\n 'balance': json['balance'],\n };\n}\n\nexport function FtHolderEntryToJSON(value?: FtHolderEntry | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'address': value.address,\n 'balance': value.balance,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n FtHolderEntry,\n FtHolderEntryFromJSON,\n FtHolderEntryFromJSONTyped,\n FtHolderEntryToJSON,\n} from './';\n\n/**\n * List of Fungible Token holders\n * @export\n * @interface FungibleTokenHolderList\n */\nexport interface FungibleTokenHolderList {\n /**\n * The number of holders to return\n * @type {number}\n * @memberof FungibleTokenHolderList\n */\n limit: number;\n /**\n * The number to holders to skip (starting at `0`)\n * @type {number}\n * @memberof FungibleTokenHolderList\n */\n offset: number;\n /**\n * The number of holders available\n * @type {number}\n * @memberof FungibleTokenHolderList\n */\n total: number;\n /**\n * The total supply of the token (the sum of all balances)\n * @type {string}\n * @memberof FungibleTokenHolderList\n */\n total_supply: string;\n /**\n * \n * @type {Array<FtHolderEntry>}\n * @memberof FungibleTokenHolderList\n */\n results: Array<FtHolderEntry>;\n}\n\nexport function FungibleTokenHolderListFromJSON(json: any): FungibleTokenHolderList {\n return FungibleTokenHolderListFromJSONTyped(json, false);\n}\n\nexport function FungibleTokenHolderListFromJSONTyped(json: any, ignoreDiscriminator: boolean): FungibleTokenHolderList {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'total_supply': json['total_supply'],\n 'results': ((json['results'] as Array<any>).map(FtHolderEntryFromJSON)),\n };\n}\n\nexport function FungibleTokenHolderListToJSON(value?: FungibleTokenHolderList | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'total_supply': value.total_supply,\n 'results': ((value.results as Array<any>).map(FtHolderEntryToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET raw transaction\n * @export\n * @interface GetRawTransactionResult\n */\nexport interface GetRawTransactionResult {\n /**\n * A hex encoded serialized transaction\n * @type {string}\n * @memberof GetRawTransactionResult\n */\n raw_tx: string;\n}\n\nexport function GetRawTransactionResultFromJSON(json: any): GetRawTransactionResult {\n return GetRawTransactionResultFromJSONTyped(json, false);\n}\n\nexport function GetRawTransactionResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetRawTransactionResult {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'raw_tx': json['raw_tx'],\n };\n}\n\nexport function GetRawTransactionResultToJSON(value?: GetRawTransactionResult | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'raw_tx': value.raw_tx,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request that returns network target block times\n * @export\n * @interface GetStxSupplyLegacyFormatResponse\n */\nexport interface GetStxSupplyLegacyFormatResponse {\n /**\n * String quoted decimal number of the percentage of STX that have unlocked\n * @type {string}\n * @memberof GetStxSupplyLegacyFormatResponse\n */\n unlockedPercent: string;\n /**\n * String quoted decimal number of the total possible number of STX\n * @type {string}\n * @memberof GetStxSupplyLegacyFormatResponse\n */\n totalStacks: string;\n /**\n * Same as `totalStacks` but formatted with comma thousands separators\n * @type {string}\n * @memberof GetStxSupplyLegacyFormatResponse\n */\n totalStacksFormatted: string;\n /**\n * String quoted decimal number of the STX that have been mined or unlocked\n * @type {string}\n * @memberof GetStxSupplyLegacyFormatResponse\n */\n unlockedSupply: string;\n /**\n * Same as `unlockedSupply` but formatted with comma thousands separators\n * @type {string}\n * @memberof GetStxSupplyLegacyFormatResponse\n */\n unlockedSupplyFormatted: string;\n /**\n * The block height at which this information was queried\n * @type {string}\n * @memberof GetStxSupplyLegacyFormatResponse\n */\n blockHeight: string;\n}\n\nexport function GetStxSupplyLegacyFormatResponseFromJSON(json: any): GetStxSupplyLegacyFormatResponse {\n return GetStxSupplyLegacyFormatResponseFromJSONTyped(json, false);\n}\n\nexport function GetStxSupplyLegacyFormatResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetStxSupplyLegacyFormatResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'unlockedPercent': json['unlockedPercent'],\n 'totalStacks': json['totalStacks'],\n 'totalStacksFormatted': json['totalStacksFormatted'],\n 'unlockedSupply': json['unlockedSupply'],\n 'unlockedSupplyFormatted': json['unlockedSupplyFormatted'],\n 'blockHeight': json['blockHeight'],\n };\n}\n\nexport function GetStxSupplyLegacyFormatResponseToJSON(value?: GetStxSupplyLegacyFormatResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'unlockedPercent': value.unlockedPercent,\n 'totalStacks': value.totalStacks,\n 'totalStacksFormatted': value.totalStacksFormatted,\n 'unlockedSupply': value.unlockedSupply,\n 'unlockedSupplyFormatted': value.unlockedSupplyFormatted,\n 'blockHeight': value.blockHeight,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request that returns network target block times\n * @export\n * @interface GetStxSupplyResponse\n */\nexport interface GetStxSupplyResponse {\n /**\n * String quoted decimal number of the percentage of STX that have unlocked\n * @type {string}\n * @memberof GetStxSupplyResponse\n */\n unlocked_percent: string;\n /**\n * String quoted decimal number of the total possible number of STX\n * @type {string}\n * @memberof GetStxSupplyResponse\n */\n total_stx: string;\n /**\n * String quoted decimal number of the STX that have been mined or unlocked\n * @type {string}\n * @memberof GetStxSupplyResponse\n */\n unlocked_stx: string;\n /**\n * The block height at which this information was queried\n * @type {number}\n * @memberof GetStxSupplyResponse\n */\n block_height: number;\n}\n\nexport function GetStxSupplyResponseFromJSON(json: any): GetStxSupplyResponse {\n return GetStxSupplyResponseFromJSONTyped(json, false);\n}\n\nexport function GetStxSupplyResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetStxSupplyResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'unlocked_percent': json['unlocked_percent'],\n 'total_stx': json['total_stx'],\n 'unlocked_stx': json['unlocked_stx'],\n 'block_height': json['block_height'],\n };\n}\n\nexport function GetStxSupplyResponseToJSON(value?: GetStxSupplyResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'unlocked_percent': value.unlocked_percent,\n 'total_stx': value.total_stx,\n 'unlocked_stx': value.unlocked_stx,\n 'block_height': value.block_height,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * A inbound STX transfer with a memo\n * @export\n * @interface InboundStxTransfer\n */\nexport interface InboundStxTransfer {\n /**\n * Principal that sent this transfer\n * @type {string}\n * @memberof InboundStxTransfer\n */\n sender: string;\n /**\n * Transfer amount in micro-STX as integer string\n * @type {string}\n * @memberof InboundStxTransfer\n */\n amount: string;\n /**\n * Hex encoded memo bytes associated with the transfer\n * @type {string}\n * @memberof InboundStxTransfer\n */\n memo: string;\n /**\n * Block height at which this transfer occurred\n * @type {number}\n * @memberof InboundStxTransfer\n */\n block_height: number;\n /**\n * The transaction ID in which this transfer occurred\n * @type {string}\n * @memberof InboundStxTransfer\n */\n tx_id: string;\n /**\n * Indicates if the transfer is from a stx-transfer transaction or a contract-call transaction\n * @type {string}\n * @memberof InboundStxTransfer\n */\n transfer_type: InboundStxTransferTransferTypeEnum;\n /**\n * Index of the transaction within a block\n * @type {number}\n * @memberof InboundStxTransfer\n */\n tx_index: number;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum InboundStxTransferTransferTypeEnum {\n bulk_send = 'bulk-send',\n stx_transfer = 'stx-transfer',\n stx_transfer_memo = 'stx-transfer-memo'\n}\n\nexport function InboundStxTransferFromJSON(json: any): InboundStxTransfer {\n return InboundStxTransferFromJSONTyped(json, false);\n}\n\nexport function InboundStxTransferFromJSONTyped(json: any, ignoreDiscriminator: boolean): InboundStxTransfer {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'sender': json['sender'],\n 'amount': json['amount'],\n 'memo': json['memo'],\n 'block_height': json['block_height'],\n 'tx_id': json['tx_id'],\n 'transfer_type': json['transfer_type'],\n 'tx_index': json['tx_index'],\n };\n}\n\nexport function InboundStxTransferToJSON(value?: InboundStxTransfer | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'sender': value.sender,\n 'amount': value.amount,\n 'memo': value.memo,\n 'block_height': value.block_height,\n 'tx_id': value.tx_id,\n 'transfer_type': value.transfer_type,\n 'tx_index': value.tx_index,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface InlineObject\n */\nexport interface InlineObject {\n /**\n * BTC testnet address\n * @type {string}\n * @memberof InlineObject\n */\n address?: string;\n}\n\nexport function InlineObjectFromJSON(json: any): InlineObject {\n return InlineObjectFromJSONTyped(json, false);\n}\n\nexport function InlineObjectFromJSONTyped(json: any, ignoreDiscriminator: boolean): InlineObject {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'address': !exists(json, 'address') ? undefined : json['address'],\n };\n}\n\nexport function InlineObjectToJSON(value?: InlineObject | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'address': value.address,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface InlineResponse403\n */\nexport interface InlineResponse403 {\n /**\n * \n * @type {string}\n * @memberof InlineResponse403\n */\n error?: string;\n /**\n * \n * @type {boolean}\n * @memberof InlineResponse403\n */\n success?: boolean;\n}\n\nexport function InlineResponse403FromJSON(json: any): InlineResponse403 {\n return InlineResponse403FromJSONTyped(json, false);\n}\n\nexport function InlineResponse403FromJSONTyped(json: any, ignoreDiscriminator: boolean): InlineResponse403 {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'error': !exists(json, 'error') ? undefined : json['error'],\n 'success': !exists(json, 'success') ? undefined : json['success'],\n };\n}\n\nexport function InlineResponse403ToJSON(value?: InlineResponse403 | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'error': value.error,\n 'success': value.success,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Response of get data map entry request\n * @export\n * @interface MapEntryResponse\n */\nexport interface MapEntryResponse {\n /**\n * Hex-encoded string of clarity value. It is always an optional tuple.\n * @type {string}\n * @memberof MapEntryResponse\n */\n data: string;\n /**\n * Hex-encoded string of the MARF proof for the data\n * @type {string}\n * @memberof MapEntryResponse\n */\n proof?: string;\n}\n\nexport function MapEntryResponseFromJSON(json: any): MapEntryResponse {\n return MapEntryResponseFromJSONTyped(json, false);\n}\n\nexport function MapEntryResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MapEntryResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'data': json['data'],\n 'proof': !exists(json, 'proof') ? undefined : json['proof'],\n };\n}\n\nexport function MapEntryResponseToJSON(value?: MapEntryResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'data': value.data,\n 'proof': value.proof,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n MempoolFeePrioritiesAll,\n MempoolFeePrioritiesAllFromJSON,\n MempoolFeePrioritiesAllFromJSONTyped,\n MempoolFeePrioritiesAllToJSON,\n} from './';\n\n/**\n * GET request that returns fee priorities from mempool transactions\n * @export\n * @interface MempoolFeePriorities\n */\nexport interface MempoolFeePriorities {\n /**\n * \n * @type {MempoolFeePrioritiesAll}\n * @memberof MempoolFeePriorities\n */\n all: MempoolFeePrioritiesAll;\n /**\n * \n * @type {MempoolFeePrioritiesAll}\n * @memberof MempoolFeePriorities\n */\n token_transfer?: MempoolFeePrioritiesAll;\n /**\n * \n * @type {MempoolFeePrioritiesAll}\n * @memberof MempoolFeePriorities\n */\n smart_contract?: MempoolFeePrioritiesAll;\n /**\n * \n * @type {MempoolFeePrioritiesAll}\n * @memberof MempoolFeePriorities\n */\n contract_call?: MempoolFeePrioritiesAll;\n}\n\nexport function MempoolFeePrioritiesFromJSON(json: any): MempoolFeePriorities {\n return MempoolFeePrioritiesFromJSONTyped(json, false);\n}\n\nexport function MempoolFeePrioritiesFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolFeePriorities {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'all': MempoolFeePrioritiesAllFromJSON(json['all']),\n 'token_transfer': !exists(json, 'token_transfer') ? undefined : MempoolFeePrioritiesAllFromJSON(json['token_transfer']),\n 'smart_contract': !exists(json, 'smart_contract') ? undefined : MempoolFeePrioritiesAllFromJSON(json['smart_contract']),\n 'contract_call': !exists(json, 'contract_call') ? undefined : MempoolFeePrioritiesAllFromJSON(json['contract_call']),\n };\n}\n\nexport function MempoolFeePrioritiesToJSON(value?: MempoolFeePriorities | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'all': MempoolFeePrioritiesAllToJSON(value.all),\n 'token_transfer': MempoolFeePrioritiesAllToJSON(value.token_transfer),\n 'smart_contract': MempoolFeePrioritiesAllToJSON(value.smart_contract),\n 'contract_call': MempoolFeePrioritiesAllToJSON(value.contract_call),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface MempoolFeePrioritiesAll\n */\nexport interface MempoolFeePrioritiesAll {\n /**\n * \n * @type {number}\n * @memberof MempoolFeePrioritiesAll\n */\n no_priority: number;\n /**\n * \n * @type {number}\n * @memberof MempoolFeePrioritiesAll\n */\n low_priority: number;\n /**\n * \n * @type {number}\n * @memberof MempoolFeePrioritiesAll\n */\n medium_priority: number;\n /**\n * \n * @type {number}\n * @memberof MempoolFeePrioritiesAll\n */\n high_priority: number;\n}\n\nexport function MempoolFeePrioritiesAllFromJSON(json: any): MempoolFeePrioritiesAll {\n return MempoolFeePrioritiesAllFromJSONTyped(json, false);\n}\n\nexport function MempoolFeePrioritiesAllFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolFeePrioritiesAll {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'no_priority': json['no_priority'],\n 'low_priority': json['low_priority'],\n 'medium_priority': json['medium_priority'],\n 'high_priority': json['high_priority'],\n };\n}\n\nexport function MempoolFeePrioritiesAllToJSON(value?: MempoolFeePrioritiesAll | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'no_priority': value.no_priority,\n 'low_priority': value.low_priority,\n 'medium_priority': value.medium_priority,\n 'high_priority': value.high_priority,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request that returns transactions\n * @export\n * @interface MempoolTransactionListResponse\n */\nexport interface MempoolTransactionListResponse {\n /**\n * \n * @type {number}\n * @memberof MempoolTransactionListResponse\n */\n limit: number;\n /**\n * \n * @type {number}\n * @memberof MempoolTransactionListResponse\n */\n offset: number;\n /**\n * \n * @type {number}\n * @memberof MempoolTransactionListResponse\n */\n total: number;\n /**\n * \n * @type {Array<object>}\n * @memberof MempoolTransactionListResponse\n */\n results: Array<object>;\n}\n\nexport function MempoolTransactionListResponseFromJSON(json: any): MempoolTransactionListResponse {\n return MempoolTransactionListResponseFromJSONTyped(json, false);\n}\n\nexport function MempoolTransactionListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolTransactionListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': json['results'],\n };\n}\n\nexport function MempoolTransactionListResponseToJSON(value?: MempoolTransactionListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': value.results,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n MempoolTransactionStatsResponseTxAges,\n MempoolTransactionStatsResponseTxAgesFromJSON,\n MempoolTransactionStatsResponseTxAgesFromJSONTyped,\n MempoolTransactionStatsResponseTxAgesToJSON,\n MempoolTransactionStatsResponseTxByteSizes,\n MempoolTransactionStatsResponseTxByteSizesFromJSON,\n MempoolTransactionStatsResponseTxByteSizesFromJSONTyped,\n MempoolTransactionStatsResponseTxByteSizesToJSON,\n MempoolTransactionStatsResponseTxSimpleFeeAverages,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesFromJSON,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesFromJSONTyped,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesToJSON,\n MempoolTransactionStatsResponseTxTypeCounts,\n MempoolTransactionStatsResponseTxTypeCountsFromJSON,\n MempoolTransactionStatsResponseTxTypeCountsFromJSONTyped,\n MempoolTransactionStatsResponseTxTypeCountsToJSON,\n} from './';\n\n/**\n * GET request that returns stats on mempool transactions\n * @export\n * @interface MempoolTransactionStatsResponse\n */\nexport interface MempoolTransactionStatsResponse {\n /**\n * \n * @type {MempoolTransactionStatsResponseTxTypeCounts}\n * @memberof MempoolTransactionStatsResponse\n */\n tx_type_counts: MempoolTransactionStatsResponseTxTypeCounts;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAverages}\n * @memberof MempoolTransactionStatsResponse\n */\n tx_simple_fee_averages: MempoolTransactionStatsResponseTxSimpleFeeAverages;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxAges}\n * @memberof MempoolTransactionStatsResponse\n */\n tx_ages: MempoolTransactionStatsResponseTxAges;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxByteSizes}\n * @memberof MempoolTransactionStatsResponse\n */\n tx_byte_sizes: MempoolTransactionStatsResponseTxByteSizes;\n}\n\nexport function MempoolTransactionStatsResponseFromJSON(json: any): MempoolTransactionStatsResponse {\n return MempoolTransactionStatsResponseFromJSONTyped(json, false);\n}\n\nexport function MempoolTransactionStatsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolTransactionStatsResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'tx_type_counts': MempoolTransactionStatsResponseTxTypeCountsFromJSON(json['tx_type_counts']),\n 'tx_simple_fee_averages': MempoolTransactionStatsResponseTxSimpleFeeAveragesFromJSON(json['tx_simple_fee_averages']),\n 'tx_ages': MempoolTransactionStatsResponseTxAgesFromJSON(json['tx_ages']),\n 'tx_byte_sizes': MempoolTransactionStatsResponseTxByteSizesFromJSON(json['tx_byte_sizes']),\n };\n}\n\nexport function MempoolTransactionStatsResponseToJSON(value?: MempoolTransactionStatsResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'tx_type_counts': MempoolTransactionStatsResponseTxTypeCountsToJSON(value.tx_type_counts),\n 'tx_simple_fee_averages': MempoolTransactionStatsResponseTxSimpleFeeAveragesToJSON(value.tx_simple_fee_averages),\n 'tx_ages': MempoolTransactionStatsResponseTxAgesToJSON(value.tx_ages),\n 'tx_byte_sizes': MempoolTransactionStatsResponseTxByteSizesToJSON(value.tx_byte_sizes),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSONTyped,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON,\n} from './';\n\n/**\n * The average time (in blocks) that transactions have lived in the mempool. The start block height is simply the current chain-tip of when the attached Stacks node receives the transaction. This timing can be different across Stacks nodes / API instances due to propagation timing differences in the p2p network.\n * @export\n * @interface MempoolTransactionStatsResponseTxAges\n */\nexport interface MempoolTransactionStatsResponseTxAges {\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxAges\n */\n token_transfer: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxAges\n */\n smart_contract: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxAges\n */\n contract_call: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxAges\n */\n poison_microblock: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n}\n\nexport function MempoolTransactionStatsResponseTxAgesFromJSON(json: any): MempoolTransactionStatsResponseTxAges {\n return MempoolTransactionStatsResponseTxAgesFromJSONTyped(json, false);\n}\n\nexport function MempoolTransactionStatsResponseTxAgesFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolTransactionStatsResponseTxAges {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'token_transfer': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['token_transfer']),\n 'smart_contract': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['smart_contract']),\n 'contract_call': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['contract_call']),\n 'poison_microblock': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['poison_microblock']),\n };\n}\n\nexport function MempoolTransactionStatsResponseTxAgesToJSON(value?: MempoolTransactionStatsResponseTxAges | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'token_transfer': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.token_transfer),\n 'smart_contract': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.smart_contract),\n 'contract_call': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.contract_call),\n 'poison_microblock': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.poison_microblock),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSONTyped,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON,\n} from './';\n\n/**\n * The average byte size of transactions in the mempool, broken down by transaction type.\n * @export\n * @interface MempoolTransactionStatsResponseTxByteSizes\n */\nexport interface MempoolTransactionStatsResponseTxByteSizes {\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxByteSizes\n */\n token_transfer: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxByteSizes\n */\n smart_contract: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxByteSizes\n */\n contract_call: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxByteSizes\n */\n poison_microblock: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n}\n\nexport function MempoolTransactionStatsResponseTxByteSizesFromJSON(json: any): MempoolTransactionStatsResponseTxByteSizes {\n return MempoolTransactionStatsResponseTxByteSizesFromJSONTyped(json, false);\n}\n\nexport function MempoolTransactionStatsResponseTxByteSizesFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolTransactionStatsResponseTxByteSizes {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'token_transfer': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['token_transfer']),\n 'smart_contract': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['smart_contract']),\n 'contract_call': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['contract_call']),\n 'poison_microblock': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['poison_microblock']),\n };\n}\n\nexport function MempoolTransactionStatsResponseTxByteSizesToJSON(value?: MempoolTransactionStatsResponseTxByteSizes | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'token_transfer': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.token_transfer),\n 'smart_contract': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.smart_contract),\n 'contract_call': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.contract_call),\n 'poison_microblock': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.poison_microblock),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSONTyped,\n MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON,\n} from './';\n\n/**\n * The simple mean (average) transaction fee, broken down by transaction type. Note that this does not factor in actual execution costs. The average fee is not a reliable metric for calculating a fee for a new transaction.\n * @export\n * @interface MempoolTransactionStatsResponseTxSimpleFeeAverages\n */\nexport interface MempoolTransactionStatsResponseTxSimpleFeeAverages {\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxSimpleFeeAverages\n */\n token_transfer: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxSimpleFeeAverages\n */\n smart_contract: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxSimpleFeeAverages\n */\n contract_call: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n /**\n * \n * @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}\n * @memberof MempoolTransactionStatsResponseTxSimpleFeeAverages\n */\n poison_microblock: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;\n}\n\nexport function MempoolTransactionStatsResponseTxSimpleFeeAveragesFromJSON(json: any): MempoolTransactionStatsResponseTxSimpleFeeAverages {\n return MempoolTransactionStatsResponseTxSimpleFeeAveragesFromJSONTyped(json, false);\n}\n\nexport function MempoolTransactionStatsResponseTxSimpleFeeAveragesFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolTransactionStatsResponseTxSimpleFeeAverages {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'token_transfer': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['token_transfer']),\n 'smart_contract': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['smart_contract']),\n 'contract_call': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['contract_call']),\n 'poison_microblock': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['poison_microblock']),\n };\n}\n\nexport function MempoolTransactionStatsResponseTxSimpleFeeAveragesToJSON(value?: MempoolTransactionStatsResponseTxSimpleFeeAverages | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'token_transfer': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.token_transfer),\n 'smart_contract': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.smart_contract),\n 'contract_call': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.contract_call),\n 'poison_microblock': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.poison_microblock),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer\n */\nexport interface MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer {\n /**\n * \n * @type {number}\n * @memberof MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer\n */\n p25: number | null;\n /**\n * \n * @type {number}\n * @memberof MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer\n */\n p50: number | null;\n /**\n * \n * @type {number}\n * @memberof MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer\n */\n p75: number | null;\n /**\n * \n * @type {number}\n * @memberof MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer\n */\n p95: number | null;\n}\n\nexport function MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json: any): MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer {\n return MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSONTyped(json, false);\n}\n\nexport function MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'p25': json['p25'],\n 'p50': json['p50'],\n 'p75': json['p75'],\n 'p95': json['p95'],\n };\n}\n\nexport function MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value?: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'p25': value.p25,\n 'p50': value.p50,\n 'p75': value.p75,\n 'p95': value.p95,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Number of tranasction in the mempool, broken down by transaction type.\n * @export\n * @interface MempoolTransactionStatsResponseTxTypeCounts\n */\nexport interface MempoolTransactionStatsResponseTxTypeCounts {\n /**\n * \n * @type {number}\n * @memberof MempoolTransactionStatsResponseTxTypeCounts\n */\n token_transfer: number;\n /**\n * \n * @type {number}\n * @memberof MempoolTransactionStatsResponseTxTypeCounts\n */\n smart_contract: number;\n /**\n * \n * @type {number}\n * @memberof MempoolTransactionStatsResponseTxTypeCounts\n */\n contract_call: number;\n /**\n * \n * @type {number}\n * @memberof MempoolTransactionStatsResponseTxTypeCounts\n */\n poison_microblock: number;\n}\n\nexport function MempoolTransactionStatsResponseTxTypeCountsFromJSON(json: any): MempoolTransactionStatsResponseTxTypeCounts {\n return MempoolTransactionStatsResponseTxTypeCountsFromJSONTyped(json, false);\n}\n\nexport function MempoolTransactionStatsResponseTxTypeCountsFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolTransactionStatsResponseTxTypeCounts {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'token_transfer': json['token_transfer'],\n 'smart_contract': json['smart_contract'],\n 'contract_call': json['contract_call'],\n 'poison_microblock': json['poison_microblock'],\n };\n}\n\nexport function MempoolTransactionStatsResponseTxTypeCountsToJSON(value?: MempoolTransactionStatsResponseTxTypeCounts | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'token_transfer': value.token_transfer,\n 'smart_contract': value.smart_contract,\n 'contract_call': value.contract_call,\n 'poison_microblock': value.poison_microblock,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * A microblock\n * @export\n * @interface Microblock\n */\nexport interface Microblock {\n /**\n * Set to `true` if the microblock corresponds to the canonical chain tip.\n * @type {boolean}\n * @memberof Microblock\n */\n canonical: boolean;\n /**\n * Set to `true` if the microblock was not orphaned in a following anchor block. Defaults to `true` if the following anchor block has not yet been created.\n * @type {boolean}\n * @memberof Microblock\n */\n microblock_canonical: boolean;\n /**\n * The SHA512/256 hash of this microblock.\n * @type {string}\n * @memberof Microblock\n */\n microblock_hash: string;\n /**\n * A hint to describe how to order a set of microblocks. Starts at 0.\n * @type {number}\n * @memberof Microblock\n */\n microblock_sequence: number;\n /**\n * The SHA512/256 hash of the previous signed microblock in this stream.\n * @type {string}\n * @memberof Microblock\n */\n microblock_parent_hash: string;\n /**\n * The anchor block height that confirmed this microblock.\n * @type {number}\n * @memberof Microblock\n */\n block_height: number;\n /**\n * The height of the anchor block that preceded this microblock.\n * @type {number}\n * @memberof Microblock\n */\n parent_block_height: number;\n /**\n * The hash of the anchor block that preceded this microblock.\n * @type {string}\n * @memberof Microblock\n */\n parent_block_hash: string;\n /**\n * The hash of the Bitcoin block that preceded this microblock.\n * @type {string}\n * @memberof Microblock\n */\n parent_burn_block_hash: string;\n /**\n * The block timestamp of the Bitcoin block that preceded this microblock.\n * @type {number}\n * @memberof Microblock\n */\n parent_burn_block_time: number;\n /**\n * The ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) formatted block time of the bitcoin block that preceded this microblock.\n * @type {string}\n * @memberof Microblock\n */\n parent_burn_block_time_iso: string;\n /**\n * The height of the Bitcoin block that preceded this microblock.\n * @type {number}\n * @memberof Microblock\n */\n parent_burn_block_height: number;\n /**\n * The hash of the anchor block that confirmed this microblock. This wil be empty for unanchored microblocks\n * @type {string}\n * @memberof Microblock\n */\n block_hash: string | null;\n /**\n * List of transactions included in the microblock\n * @type {Array<string>}\n * @memberof Microblock\n */\n txs: Array<string>;\n}\n\nexport function MicroblockFromJSON(json: any): Microblock {\n return MicroblockFromJSONTyped(json, false);\n}\n\nexport function MicroblockFromJSONTyped(json: any, ignoreDiscriminator: boolean): Microblock {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'canonical': json['canonical'],\n 'microblock_canonical': json['microblock_canonical'],\n 'microblock_hash': json['microblock_hash'],\n 'microblock_sequence': json['microblock_sequence'],\n 'microblock_parent_hash': json['microblock_parent_hash'],\n 'block_height': json['block_height'],\n 'parent_block_height': json['parent_block_height'],\n 'parent_block_hash': json['parent_block_hash'],\n 'parent_burn_block_hash': json['parent_burn_block_hash'],\n 'parent_burn_block_time': json['parent_burn_block_time'],\n 'parent_burn_block_time_iso': json['parent_burn_block_time_iso'],\n 'parent_burn_block_height': json['parent_burn_block_height'],\n 'block_hash': json['block_hash'],\n 'txs': json['txs'],\n };\n}\n\nexport function MicroblockToJSON(value?: Microblock | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'canonical': value.canonical,\n 'microblock_canonical': value.microblock_canonical,\n 'microblock_hash': value.microblock_hash,\n 'microblock_sequence': value.microblock_sequence,\n 'microblock_parent_hash': value.microblock_parent_hash,\n 'block_height': value.block_height,\n 'parent_block_height': value.parent_block_height,\n 'parent_block_hash': value.parent_block_hash,\n 'parent_burn_block_hash': value.parent_burn_block_hash,\n 'parent_burn_block_time': value.parent_burn_block_time,\n 'parent_burn_block_time_iso': value.parent_burn_block_time_iso,\n 'parent_burn_block_height': value.parent_burn_block_height,\n 'block_hash': value.block_hash,\n 'txs': value.txs,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n Microblock,\n MicroblockFromJSON,\n MicroblockFromJSONTyped,\n MicroblockToJSON,\n} from './';\n\n/**\n * GET request that returns microblocks\n * @export\n * @interface MicroblockListResponse\n */\nexport interface MicroblockListResponse {\n /**\n * The number of microblocks to return\n * @type {number}\n * @memberof MicroblockListResponse\n */\n limit: number;\n /**\n * The number to microblocks to skip (starting at `0`)\n * @type {number}\n * @memberof MicroblockListResponse\n */\n offset: number;\n /**\n * The number of microblocks available\n * @type {number}\n * @memberof MicroblockListResponse\n */\n total: number;\n /**\n * \n * @type {Array<Microblock>}\n * @memberof MicroblockListResponse\n */\n results: Array<Microblock>;\n}\n\nexport function MicroblockListResponseFromJSON(json: any): MicroblockListResponse {\n return MicroblockListResponseFromJSONTyped(json, false);\n}\n\nexport function MicroblockListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MicroblockListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(MicroblockFromJSON)),\n };\n}\n\nexport function MicroblockListResponseToJSON(value?: MicroblockListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(MicroblockToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * A block\n * @export\n * @interface NakamotoBlock\n */\nexport interface NakamotoBlock {\n /**\n * Set to `true` if block corresponds to the canonical chain tip\n * @type {boolean}\n * @memberof NakamotoBlock\n */\n canonical: boolean;\n /**\n * Height of the block\n * @type {number}\n * @memberof NakamotoBlock\n */\n height: number;\n /**\n * Hash representing the block\n * @type {string}\n * @memberof NakamotoBlock\n */\n hash: string;\n /**\n * Unix timestamp (in seconds) indicating when this block was mined.\n * @type {number}\n * @memberof NakamotoBlock\n */\n block_time: number;\n /**\n * An ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) indicating when this block was mined.\n * @type {string}\n * @memberof NakamotoBlock\n */\n block_time_iso: string;\n /**\n * The only hash that can uniquely identify an anchored block or an unconfirmed state trie\n * @type {string}\n * @memberof NakamotoBlock\n */\n index_block_hash: string;\n /**\n * Hash of the parent block\n * @type {string}\n * @memberof NakamotoBlock\n */\n parent_block_hash: string;\n /**\n * Index block hash of the parent block\n * @type {string}\n * @memberof NakamotoBlock\n */\n parent_index_block_hash: string;\n /**\n * Unix timestamp (in seconds) indicating when this block was mined.\n * @type {number}\n * @memberof NakamotoBlock\n */\n burn_block_time: number;\n /**\n * An ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) indicating when this block was mined.\n * @type {string}\n * @memberof NakamotoBlock\n */\n burn_block_time_iso: string;\n /**\n * Hash of the anchor chain block\n * @type {string}\n * @memberof NakamotoBlock\n */\n burn_block_hash: string;\n /**\n * Height of the anchor chain block\n * @type {number}\n * @memberof NakamotoBlock\n */\n burn_block_height: number;\n /**\n * Anchor chain transaction ID\n * @type {string}\n * @memberof NakamotoBlock\n */\n miner_txid: string;\n /**\n * Number of transactions included in the block\n * @type {number}\n * @memberof NakamotoBlock\n */\n tx_count: number;\n /**\n * Execution cost read count.\n * @type {number}\n * @memberof NakamotoBlock\n */\n execution_cost_read_count: number;\n /**\n * Execution cost read length.\n * @type {number}\n * @memberof NakamotoBlock\n */\n execution_cost_read_length: number;\n /**\n * Execution cost runtime.\n * @type {number}\n * @memberof NakamotoBlock\n */\n execution_cost_runtime: number;\n /**\n * Execution cost write count.\n * @type {number}\n * @memberof NakamotoBlock\n */\n execution_cost_write_count: number;\n /**\n * Execution cost write length.\n * @type {number}\n * @memberof NakamotoBlock\n */\n execution_cost_write_length: number;\n}\n\nexport function NakamotoBlockFromJSON(json: any): NakamotoBlock {\n return NakamotoBlockFromJSONTyped(json, false);\n}\n\nexport function NakamotoBlockFromJSONTyped(json: any, ignoreDiscriminator: boolean): NakamotoBlock {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'canonical': json['canonical'],\n 'height': json['height'],\n 'hash': json['hash'],\n 'block_time': json['block_time'],\n 'block_time_iso': json['block_time_iso'],\n 'index_block_hash': json['index_block_hash'],\n 'parent_block_hash': json['parent_block_hash'],\n 'parent_index_block_hash': json['parent_index_block_hash'],\n 'burn_block_time': json['burn_block_time'],\n 'burn_block_time_iso': json['burn_block_time_iso'],\n 'burn_block_hash': json['burn_block_hash'],\n 'burn_block_height': json['burn_block_height'],\n 'miner_txid': json['miner_txid'],\n 'tx_count': json['tx_count'],\n 'execution_cost_read_count': json['execution_cost_read_count'],\n 'execution_cost_read_length': json['execution_cost_read_length'],\n 'execution_cost_runtime': json['execution_cost_runtime'],\n 'execution_cost_write_count': json['execution_cost_write_count'],\n 'execution_cost_write_length': json['execution_cost_write_length'],\n };\n}\n\nexport function NakamotoBlockToJSON(value?: NakamotoBlock | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'canonical': value.canonical,\n 'height': value.height,\n 'hash': value.hash,\n 'block_time': value.block_time,\n 'block_time_iso': value.block_time_iso,\n 'index_block_hash': value.index_block_hash,\n 'parent_block_hash': value.parent_block_hash,\n 'parent_index_block_hash': value.parent_index_block_hash,\n 'burn_block_time': value.burn_block_time,\n 'burn_block_time_iso': value.burn_block_time_iso,\n 'burn_block_hash': value.burn_block_hash,\n 'burn_block_height': value.burn_block_height,\n 'miner_txid': value.miner_txid,\n 'tx_count': value.tx_count,\n 'execution_cost_read_count': value.execution_cost_read_count,\n 'execution_cost_read_length': value.execution_cost_read_length,\n 'execution_cost_runtime': value.execution_cost_runtime,\n 'execution_cost_write_count': value.execution_cost_write_count,\n 'execution_cost_write_length': value.execution_cost_write_length,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NakamotoBlock,\n NakamotoBlockFromJSON,\n NakamotoBlockFromJSONTyped,\n NakamotoBlockToJSON,\n} from './';\n\n/**\n * GET request that returns blocks\n * @export\n * @interface NakamotoBlockListResponse\n */\nexport interface NakamotoBlockListResponse {\n /**\n * The number of blocks to return\n * @type {number}\n * @memberof NakamotoBlockListResponse\n */\n limit: number;\n /**\n * The number to blocks to skip (starting at `0`)\n * @type {number}\n * @memberof NakamotoBlockListResponse\n */\n offset: number;\n /**\n * The number of blocks available\n * @type {number}\n * @memberof NakamotoBlockListResponse\n */\n total: number;\n /**\n * \n * @type {Array<NakamotoBlock>}\n * @memberof NakamotoBlockListResponse\n */\n results: Array<NakamotoBlock>;\n}\n\nexport function NakamotoBlockListResponseFromJSON(json: any): NakamotoBlockListResponse {\n return NakamotoBlockListResponseFromJSONTyped(json, false);\n}\n\nexport function NakamotoBlockListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): NakamotoBlockListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(NakamotoBlockFromJSON)),\n };\n}\n\nexport function NakamotoBlockListResponseToJSON(value?: NakamotoBlockListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(NakamotoBlockToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request that target block time for a given network\n * @export\n * @interface NetworkBlockTimeResponse\n */\nexport interface NetworkBlockTimeResponse {\n /**\n * \n * @type {number}\n * @memberof NetworkBlockTimeResponse\n */\n target_block_time: number;\n}\n\nexport function NetworkBlockTimeResponseFromJSON(json: any): NetworkBlockTimeResponse {\n return NetworkBlockTimeResponseFromJSONTyped(json, false);\n}\n\nexport function NetworkBlockTimeResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): NetworkBlockTimeResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'target_block_time': json['target_block_time'],\n };\n}\n\nexport function NetworkBlockTimeResponseToJSON(value?: NetworkBlockTimeResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'target_block_time': value.target_block_time,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n TargetBlockTime,\n TargetBlockTimeFromJSON,\n TargetBlockTimeFromJSONTyped,\n TargetBlockTimeToJSON,\n} from './';\n\n/**\n * GET request that returns network target block times\n * @export\n * @interface NetworkBlockTimesResponse\n */\nexport interface NetworkBlockTimesResponse {\n /**\n * \n * @type {TargetBlockTime}\n * @memberof NetworkBlockTimesResponse\n */\n mainnet: TargetBlockTime;\n /**\n * \n * @type {TargetBlockTime}\n * @memberof NetworkBlockTimesResponse\n */\n testnet: TargetBlockTime;\n}\n\nexport function NetworkBlockTimesResponseFromJSON(json: any): NetworkBlockTimesResponse {\n return NetworkBlockTimesResponseFromJSONTyped(json, false);\n}\n\nexport function NetworkBlockTimesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): NetworkBlockTimesResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'mainnet': TargetBlockTimeFromJSON(json['mainnet']),\n 'testnet': TargetBlockTimeFromJSON(json['testnet']),\n };\n}\n\nexport function NetworkBlockTimesResponseToJSON(value?: NetworkBlockTimesResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'mainnet': TargetBlockTimeToJSON(value.mainnet),\n 'testnet': TargetBlockTimeToJSON(value.testnet),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaNetworkListResponseSubNetworkIdentifier,\n RosettaNetworkListResponseSubNetworkIdentifierFromJSON,\n RosettaNetworkListResponseSubNetworkIdentifierFromJSONTyped,\n RosettaNetworkListResponseSubNetworkIdentifierToJSON,\n} from './';\n\n/**\n * The network_identifier specifies which network a particular object is associated with.\n * @export\n * @interface NetworkIdentifier\n */\nexport interface NetworkIdentifier {\n /**\n * Blockchain name\n * @type {string}\n * @memberof NetworkIdentifier\n */\n blockchain: string;\n /**\n * If a blockchain has a specific chain-id or network identifier, it should go in this field. It is up to the client to determine which network-specific identifier is mainnet or testnet.\n * @type {string}\n * @memberof NetworkIdentifier\n */\n network: string;\n /**\n * \n * @type {RosettaNetworkListResponseSubNetworkIdentifier}\n * @memberof NetworkIdentifier\n */\n sub_network_identifier?: RosettaNetworkListResponseSubNetworkIdentifier;\n}\n\nexport function NetworkIdentifierFromJSON(json: any): NetworkIdentifier {\n return NetworkIdentifierFromJSONTyped(json, false);\n}\n\nexport function NetworkIdentifierFromJSONTyped(json: any, ignoreDiscriminator: boolean): NetworkIdentifier {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'blockchain': json['blockchain'],\n 'network': json['network'],\n 'sub_network_identifier': !exists(json, 'sub_network_identifier') ? undefined : RosettaNetworkListResponseSubNetworkIdentifierFromJSON(json['sub_network_identifier']),\n };\n}\n\nexport function NetworkIdentifierToJSON(value?: NetworkIdentifier | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'blockchain': value.blockchain,\n 'network': value.network,\n 'sub_network_identifier': RosettaNetworkListResponseSubNetworkIdentifierToJSON(value.sub_network_identifier),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * List of Non-Fungible Token history events\n * @export\n * @interface NonFungibleTokenHistoryEventList\n */\nexport interface NonFungibleTokenHistoryEventList {\n /**\n * The number of events to return\n * @type {number}\n * @memberof NonFungibleTokenHistoryEventList\n */\n limit: number;\n /**\n * The number to events to skip (starting at `0`)\n * @type {number}\n * @memberof NonFungibleTokenHistoryEventList\n */\n offset: number;\n /**\n * The number of events available\n * @type {number}\n * @memberof NonFungibleTokenHistoryEventList\n */\n total: number;\n /**\n * \n * @type {Array<object>}\n * @memberof NonFungibleTokenHistoryEventList\n */\n results: Array<object>;\n}\n\nexport function NonFungibleTokenHistoryEventListFromJSON(json: any): NonFungibleTokenHistoryEventList {\n return NonFungibleTokenHistoryEventListFromJSONTyped(json, false);\n}\n\nexport function NonFungibleTokenHistoryEventListFromJSONTyped(json: any, ignoreDiscriminator: boolean): NonFungibleTokenHistoryEventList {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': json['results'],\n };\n}\n\nexport function NonFungibleTokenHistoryEventListToJSON(value?: NonFungibleTokenHistoryEventList | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': value.results,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * List of Non-Fungible Token holdings\n * @export\n * @interface NonFungibleTokenHoldingsList\n */\nexport interface NonFungibleTokenHoldingsList {\n /**\n * The number of Non-Fungible Token holdings to return\n * @type {number}\n * @memberof NonFungibleTokenHoldingsList\n */\n limit: number;\n /**\n * The number to Non-Fungible Token holdings to skip (starting at `0`)\n * @type {number}\n * @memberof NonFungibleTokenHoldingsList\n */\n offset: number;\n /**\n * The number of Non-Fungible Token holdings available\n * @type {number}\n * @memberof NonFungibleTokenHoldingsList\n */\n total: number;\n /**\n * \n * @type {Array<object>}\n * @memberof NonFungibleTokenHoldingsList\n */\n results: Array<object>;\n}\n\nexport function NonFungibleTokenHoldingsListFromJSON(json: any): NonFungibleTokenHoldingsList {\n return NonFungibleTokenHoldingsListFromJSONTyped(json, false);\n}\n\nexport function NonFungibleTokenHoldingsListFromJSONTyped(json: any, ignoreDiscriminator: boolean): NonFungibleTokenHoldingsList {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': json['results'],\n };\n}\n\nexport function NonFungibleTokenHoldingsListToJSON(value?: NonFungibleTokenHoldingsList | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': value.results,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * List of Non-Fungible Token mint events for an asset identifier\n * @export\n * @interface NonFungibleTokenMintList\n */\nexport interface NonFungibleTokenMintList {\n /**\n * The number of mint events to return\n * @type {number}\n * @memberof NonFungibleTokenMintList\n */\n limit: number;\n /**\n * The number to mint events to skip (starting at `0`)\n * @type {number}\n * @memberof NonFungibleTokenMintList\n */\n offset: number;\n /**\n * The number of mint events available\n * @type {number}\n * @memberof NonFungibleTokenMintList\n */\n total: number;\n /**\n * \n * @type {Array<object>}\n * @memberof NonFungibleTokenMintList\n */\n results: Array<object>;\n}\n\nexport function NonFungibleTokenMintListFromJSON(json: any): NonFungibleTokenMintList {\n return NonFungibleTokenMintListFromJSONTyped(json, false);\n}\n\nexport function NonFungibleTokenMintListFromJSONTyped(json: any, ignoreDiscriminator: boolean): NonFungibleTokenMintList {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': json['results'],\n };\n}\n\nexport function NonFungibleTokenMintListToJSON(value?: NonFungibleTokenMintList | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': value.results,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * The transaction_identifier uniquely identifies a transaction in a particular network and block or in the mempool.\n * @export\n * @interface OtherTransactionIdentifier\n */\nexport interface OtherTransactionIdentifier {\n /**\n * Any transactions that are attributable only to a block (ex: a block event) should use the hash of the block as the identifier.\n * @type {string}\n * @memberof OtherTransactionIdentifier\n */\n hash: string;\n}\n\nexport function OtherTransactionIdentifierFromJSON(json: any): OtherTransactionIdentifier {\n return OtherTransactionIdentifierFromJSONTyped(json, false);\n}\n\nexport function OtherTransactionIdentifierFromJSONTyped(json: any, ignoreDiscriminator: boolean): OtherTransactionIdentifier {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'hash': json['hash'],\n };\n}\n\nexport function OtherTransactionIdentifierToJSON(value?: OtherTransactionIdentifier | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'hash': value.hash,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface PoolDelegation\n */\nexport interface PoolDelegation {\n /**\n * The principal of the pool member that issued the delegation\n * @type {string}\n * @memberof PoolDelegation\n */\n stacker: string;\n /**\n * The pox-addr value specified by the stacker in the delegation operation\n * @type {string}\n * @memberof PoolDelegation\n */\n pox_addr?: string;\n /**\n * The amount of uSTX delegated by the stacker\n * @type {string}\n * @memberof PoolDelegation\n */\n amount_ustx: string;\n /**\n * The optional burnchain block unlock height that the stacker may have specified\n * @type {number}\n * @memberof PoolDelegation\n */\n burn_block_unlock_height?: number;\n /**\n * The block height at which the stacker delegation transaction was mined at\n * @type {number}\n * @memberof PoolDelegation\n */\n block_height: number;\n /**\n * The tx_id of the stacker delegation operation\n * @type {string}\n * @memberof PoolDelegation\n */\n tx_id: string;\n}\n\nexport function PoolDelegationFromJSON(json: any): PoolDelegation {\n return PoolDelegationFromJSONTyped(json, false);\n}\n\nexport function PoolDelegationFromJSONTyped(json: any, ignoreDiscriminator: boolean): PoolDelegation {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'stacker': json['stacker'],\n 'pox_addr': !exists(json, 'pox_addr') ? undefined : json['pox_addr'],\n 'amount_ustx': json['amount_ustx'],\n 'burn_block_unlock_height': !exists(json, 'burn_block_unlock_height') ? undefined : json['burn_block_unlock_height'],\n 'block_height': json['block_height'],\n 'tx_id': json['tx_id'],\n };\n}\n\nexport function PoolDelegationToJSON(value?: PoolDelegation | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'stacker': value.stacker,\n 'pox_addr': value.pox_addr,\n 'amount_ustx': value.amount_ustx,\n 'burn_block_unlock_height': value.burn_block_unlock_height,\n 'block_height': value.block_height,\n 'tx_id': value.tx_id,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n PoolDelegation,\n PoolDelegationFromJSON,\n PoolDelegationFromJSONTyped,\n PoolDelegationToJSON,\n} from './';\n\n/**\n * GET request that returns stacking pool member details for a given pool (delegator) principal\n * @export\n * @interface PoolDelegationsResponse\n */\nexport interface PoolDelegationsResponse {\n /**\n * The number of Stackers to return\n * @type {number}\n * @memberof PoolDelegationsResponse\n */\n limit: number;\n /**\n * The number to Stackers to skip (starting at `0`)\n * @type {number}\n * @memberof PoolDelegationsResponse\n */\n offset: number;\n /**\n * The total number of Stackers\n * @type {number}\n * @memberof PoolDelegationsResponse\n */\n total: number;\n /**\n * \n * @type {Array<PoolDelegation>}\n * @memberof PoolDelegationsResponse\n */\n results: Array<PoolDelegation>;\n}\n\nexport function PoolDelegationsResponseFromJSON(json: any): PoolDelegationsResponse {\n return PoolDelegationsResponseFromJSONTyped(json, false);\n}\n\nexport function PoolDelegationsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PoolDelegationsResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(PoolDelegationFromJSON)),\n };\n}\n\nexport function PoolDelegationsResponseToJSON(value?: PoolDelegationsResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(PoolDelegationToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request that returns transactions\n * @export\n * @interface PostCoreNodeTransactionsError\n */\nexport interface PostCoreNodeTransactionsError {\n /**\n * The error\n * @type {string}\n * @memberof PostCoreNodeTransactionsError\n */\n error: string;\n /**\n * The reason for the error\n * @type {string}\n * @memberof PostCoreNodeTransactionsError\n */\n reason: string;\n /**\n * More details about the reason\n * @type {object}\n * @memberof PostCoreNodeTransactionsError\n */\n reason_data: object;\n /**\n * The relevant transaction id\n * @type {string}\n * @memberof PostCoreNodeTransactionsError\n */\n txid: string;\n}\n\nexport function PostCoreNodeTransactionsErrorFromJSON(json: any): PostCoreNodeTransactionsError {\n return PostCoreNodeTransactionsErrorFromJSONTyped(json, false);\n}\n\nexport function PostCoreNodeTransactionsErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostCoreNodeTransactionsError {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'error': json['error'],\n 'reason': json['reason'],\n 'reason_data': json['reason_data'],\n 'txid': json['txid'],\n };\n}\n\nexport function PostCoreNodeTransactionsErrorToJSON(value?: PostCoreNodeTransactionsError | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'error': value.error,\n 'reason': value.reason,\n 'reason_data': value.reason_data,\n 'txid': value.txid,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface PoxCycle\n */\nexport interface PoxCycle {\n /**\n * \n * @type {number}\n * @memberof PoxCycle\n */\n block_height: number;\n /**\n * \n * @type {string}\n * @memberof PoxCycle\n */\n index_block_hash: string;\n /**\n * \n * @type {number}\n * @memberof PoxCycle\n */\n cycle_number: number;\n /**\n * \n * @type {number}\n * @memberof PoxCycle\n */\n total_weight: number;\n /**\n * \n * @type {string}\n * @memberof PoxCycle\n */\n total_stacked_amount: string;\n /**\n * \n * @type {number}\n * @memberof PoxCycle\n */\n total_signers: number;\n}\n\nexport function PoxCycleFromJSON(json: any): PoxCycle {\n return PoxCycleFromJSONTyped(json, false);\n}\n\nexport function PoxCycleFromJSONTyped(json: any, ignoreDiscriminator: boolean): PoxCycle {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'block_height': json['block_height'],\n 'index_block_hash': json['index_block_hash'],\n 'cycle_number': json['cycle_number'],\n 'total_weight': json['total_weight'],\n 'total_stacked_amount': json['total_stacked_amount'],\n 'total_signers': json['total_signers'],\n };\n}\n\nexport function PoxCycleToJSON(value?: PoxCycle | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'block_height': value.block_height,\n 'index_block_hash': value.index_block_hash,\n 'cycle_number': value.cycle_number,\n 'total_weight': value.total_weight,\n 'total_stacked_amount': value.total_stacked_amount,\n 'total_signers': value.total_signers,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n PoxCycle,\n PoxCycleFromJSON,\n PoxCycleFromJSONTyped,\n PoxCycleToJSON,\n} from './';\n\n/**\n * GET request that returns PoX cycles\n * @export\n * @interface PoxCycleListResponse\n */\nexport interface PoxCycleListResponse {\n /**\n * The number of cycles to return\n * @type {number}\n * @memberof PoxCycleListResponse\n */\n limit: number;\n /**\n * The number to cycles to skip (starting at `0`)\n * @type {number}\n * @memberof PoxCycleListResponse\n */\n offset: number;\n /**\n * The total number of cycles\n * @type {number}\n * @memberof PoxCycleListResponse\n */\n total: number;\n /**\n * \n * @type {Array<PoxCycle>}\n * @memberof PoxCycleListResponse\n */\n results: Array<PoxCycle>;\n}\n\nexport function PoxCycleListResponseFromJSON(json: any): PoxCycleListResponse {\n return PoxCycleListResponseFromJSONTyped(json, false);\n}\n\nexport function PoxCycleListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PoxCycleListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(PoxCycleFromJSON)),\n };\n}\n\nexport function PoxCycleListResponseToJSON(value?: PoxCycleListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(PoxCycleToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n PoxStacker,\n PoxStackerFromJSON,\n PoxStackerFromJSONTyped,\n PoxStackerToJSON,\n} from './';\n\n/**\n * GET request that returns stackers for a signer in a PoX cycle\n * @export\n * @interface PoxCycleSignerStackersListResponse\n */\nexport interface PoxCycleSignerStackersListResponse {\n /**\n * The number of stackers to return\n * @type {number}\n * @memberof PoxCycleSignerStackersListResponse\n */\n limit: number;\n /**\n * The number to stackers to skip (starting at `0`)\n * @type {number}\n * @memberof PoxCycleSignerStackersListResponse\n */\n offset: number;\n /**\n * The total number of stackers\n * @type {number}\n * @memberof PoxCycleSignerStackersListResponse\n */\n total: number;\n /**\n * \n * @type {Array<PoxStacker>}\n * @memberof PoxCycleSignerStackersListResponse\n */\n results: Array<PoxStacker>;\n}\n\nexport function PoxCycleSignerStackersListResponseFromJSON(json: any): PoxCycleSignerStackersListResponse {\n return PoxCycleSignerStackersListResponseFromJSONTyped(json, false);\n}\n\nexport function PoxCycleSignerStackersListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PoxCycleSignerStackersListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(PoxStackerFromJSON)),\n };\n}\n\nexport function PoxCycleSignerStackersListResponseToJSON(value?: PoxCycleSignerStackersListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(PoxStackerToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n PoxSigner,\n PoxSignerFromJSON,\n PoxSignerFromJSONTyped,\n PoxSignerToJSON,\n} from './';\n\n/**\n * GET request that returns signers for a PoX cycle\n * @export\n * @interface PoxCycleSignersListResponse\n */\nexport interface PoxCycleSignersListResponse {\n /**\n * The number of signers to return\n * @type {number}\n * @memberof PoxCycleSignersListResponse\n */\n limit: number;\n /**\n * The number to signers to skip (starting at `0`)\n * @type {number}\n * @memberof PoxCycleSignersListResponse\n */\n offset: number;\n /**\n * The total number of signers\n * @type {number}\n * @memberof PoxCycleSignersListResponse\n */\n total: number;\n /**\n * \n * @type {Array<PoxSigner>}\n * @memberof PoxCycleSignersListResponse\n */\n results: Array<PoxSigner>;\n}\n\nexport function PoxCycleSignersListResponseFromJSON(json: any): PoxCycleSignersListResponse {\n return PoxCycleSignersListResponseFromJSONTyped(json, false);\n}\n\nexport function PoxCycleSignersListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PoxCycleSignersListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': ((json['results'] as Array<any>).map(PoxSignerFromJSON)),\n };\n}\n\nexport function PoxCycleSignersListResponseToJSON(value?: PoxCycleSignersListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': ((value.results as Array<any>).map(PoxSignerToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface PoxSigner\n */\nexport interface PoxSigner {\n /**\n * \n * @type {string}\n * @memberof PoxSigner\n */\n signing_key: string;\n /**\n * The Stacks address derived from the signing_key.\n * @type {string}\n * @memberof PoxSigner\n */\n signer_address: string;\n /**\n * \n * @type {number}\n * @memberof PoxSigner\n */\n weight: number;\n /**\n * \n * @type {string}\n * @memberof PoxSigner\n */\n stacked_amount: string;\n /**\n * \n * @type {number}\n * @memberof PoxSigner\n */\n weight_percent: number;\n /**\n * \n * @type {number}\n * @memberof PoxSigner\n */\n stacked_amount_percent: number;\n /**\n * The number of solo stackers associated with this signer.\n * @type {number}\n * @memberof PoxSigner\n */\n solo_stacker_count: number;\n /**\n * The number of pooled stackers associated with this signer.\n * @type {number}\n * @memberof PoxSigner\n */\n pooled_stacker_count: number;\n}\n\nexport function PoxSignerFromJSON(json: any): PoxSigner {\n return PoxSignerFromJSONTyped(json, false);\n}\n\nexport function PoxSignerFromJSONTyped(json: any, ignoreDiscriminator: boolean): PoxSigner {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'signing_key': json['signing_key'],\n 'signer_address': json['signer_address'],\n 'weight': json['weight'],\n 'stacked_amount': json['stacked_amount'],\n 'weight_percent': json['weight_percent'],\n 'stacked_amount_percent': json['stacked_amount_percent'],\n 'solo_stacker_count': json['solo_stacker_count'],\n 'pooled_stacker_count': json['pooled_stacker_count'],\n };\n}\n\nexport function PoxSignerToJSON(value?: PoxSigner | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'signing_key': value.signing_key,\n 'signer_address': value.signer_address,\n 'weight': value.weight,\n 'stacked_amount': value.stacked_amount,\n 'weight_percent': value.weight_percent,\n 'stacked_amount_percent': value.stacked_amount_percent,\n 'solo_stacker_count': value.solo_stacker_count,\n 'pooled_stacker_count': value.pooled_stacker_count,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface PoxStacker\n */\nexport interface PoxStacker {\n /**\n * \n * @type {string}\n * @memberof PoxStacker\n */\n stacker_address: string;\n /**\n * \n * @type {string}\n * @memberof PoxStacker\n */\n stacked_amount: string;\n /**\n * \n * @type {string}\n * @memberof PoxStacker\n */\n pox_address: string;\n /**\n * \n * @type {string}\n * @memberof PoxStacker\n */\n stacker_type: PoxStackerStackerTypeEnum;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum PoxStackerStackerTypeEnum {\n solo = 'solo',\n pooled = 'pooled'\n}\n\nexport function PoxStackerFromJSON(json: any): PoxStacker {\n return PoxStackerFromJSONTyped(json, false);\n}\n\nexport function PoxStackerFromJSONTyped(json: any, ignoreDiscriminator: boolean): PoxStacker {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'stacker_address': json['stacker_address'],\n 'stacked_amount': json['stacked_amount'],\n 'pox_address': json['pox_address'],\n 'stacker_type': json['stacker_type'],\n };\n}\n\nexport function PoxStackerToJSON(value?: PoxStacker | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'stacker_address': value.stacker_address,\n 'stacked_amount': value.stacked_amount,\n 'pox_address': value.pox_address,\n 'stacker_type': value.stacker_type,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Describes representation of a Type-0 Stacks 2.0 transaction. https://github.com/blockstack/stacks-blockchain/blob/master/sip/sip-005-blocks-and-transactions.md#type-0-transferring-an-asset\n * @export\n * @interface ReadOnlyFunctionArgs\n */\nexport interface ReadOnlyFunctionArgs {\n /**\n * The simulated tx-sender\n * @type {string}\n * @memberof ReadOnlyFunctionArgs\n */\n sender: string;\n /**\n * An array of hex serialized Clarity values\n * @type {Array<string>}\n * @memberof ReadOnlyFunctionArgs\n */\n arguments: Array<string>;\n}\n\nexport function ReadOnlyFunctionArgsFromJSON(json: any): ReadOnlyFunctionArgs {\n return ReadOnlyFunctionArgsFromJSONTyped(json, false);\n}\n\nexport function ReadOnlyFunctionArgsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReadOnlyFunctionArgs {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'sender': json['sender'],\n 'arguments': json['arguments'],\n };\n}\n\nexport function ReadOnlyFunctionArgsToJSON(value?: ReadOnlyFunctionArgs | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'sender': value.sender,\n 'arguments': value.arguments,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request to get contract source\n * @export\n * @interface ReadOnlyFunctionSuccessResponse\n */\nexport interface ReadOnlyFunctionSuccessResponse {\n /**\n * \n * @type {boolean}\n * @memberof ReadOnlyFunctionSuccessResponse\n */\n okay: boolean;\n /**\n * \n * @type {string}\n * @memberof ReadOnlyFunctionSuccessResponse\n */\n result?: string;\n /**\n * \n * @type {string}\n * @memberof ReadOnlyFunctionSuccessResponse\n */\n cause?: string;\n}\n\nexport function ReadOnlyFunctionSuccessResponseFromJSON(json: any): ReadOnlyFunctionSuccessResponse {\n return ReadOnlyFunctionSuccessResponseFromJSONTyped(json, false);\n}\n\nexport function ReadOnlyFunctionSuccessResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReadOnlyFunctionSuccessResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'okay': json['okay'],\n 'result': !exists(json, 'result') ? undefined : json['result'],\n 'cause': !exists(json, 'cause') ? undefined : json['cause'],\n };\n}\n\nexport function ReadOnlyFunctionSuccessResponseToJSON(value?: ReadOnlyFunctionSuccessResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'okay': value.okay,\n 'result': value.result,\n 'cause': value.cause,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaSubAccount,\n RosettaSubAccountFromJSON,\n RosettaSubAccountFromJSONTyped,\n RosettaSubAccountToJSON,\n} from './';\n\n/**\n * The account_identifier uniquely identifies an account within a network. All fields in the account_identifier are utilized to determine this uniqueness (including the metadata field, if populated).\n * @export\n * @interface RosettaAccount\n */\nexport interface RosettaAccount {\n /**\n * The address may be a cryptographic public key (or some encoding of it) or a provided username.\n * @type {string}\n * @memberof RosettaAccount\n */\n address: string;\n /**\n * \n * @type {RosettaSubAccount}\n * @memberof RosettaAccount\n */\n sub_account?: RosettaSubAccount;\n /**\n * Blockchains that utilize a username model (where the address is not a derivative of a cryptographic public key) should specify the public key(s) owned by the address in metadata.\n * @type {object}\n * @memberof RosettaAccount\n */\n metadata?: object;\n}\n\nexport function RosettaAccountFromJSON(json: any): RosettaAccount {\n return RosettaAccountFromJSONTyped(json, false);\n}\n\nexport function RosettaAccountFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaAccount {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'address': json['address'],\n 'sub_account': !exists(json, 'sub_account') ? undefined : RosettaSubAccountFromJSON(json['sub_account']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaAccountToJSON(value?: RosettaAccount | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'address': value.address,\n 'sub_account': RosettaSubAccountToJSON(value.sub_account),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n RosettaAccount,\n RosettaAccountFromJSON,\n RosettaAccountFromJSONTyped,\n RosettaAccountToJSON,\n} from './';\n\n/**\n * An AccountBalanceRequest is utilized to make a balance request on the /account/balance endpoint. If the block_identifier is populated, a historical balance query should be performed.\n * @export\n * @interface RosettaAccountBalanceRequest\n */\nexport interface RosettaAccountBalanceRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaAccountBalanceRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * \n * @type {RosettaAccount}\n * @memberof RosettaAccountBalanceRequest\n */\n account_identifier: RosettaAccount;\n /**\n * When fetching data by BlockIdentifier, it may be possible to only specify the index or hash. If neither property is specified, it is assumed that the client is making a request at the current block.\n * @type {object}\n * @memberof RosettaAccountBalanceRequest\n */\n block_identifier?: object;\n}\n\nexport function RosettaAccountBalanceRequestFromJSON(json: any): RosettaAccountBalanceRequest {\n return RosettaAccountBalanceRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaAccountBalanceRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaAccountBalanceRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'account_identifier': RosettaAccountFromJSON(json['account_identifier']),\n 'block_identifier': !exists(json, 'block_identifier') ? undefined : json['block_identifier'],\n };\n}\n\nexport function RosettaAccountBalanceRequestToJSON(value?: RosettaAccountBalanceRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'account_identifier': RosettaAccountToJSON(value.account_identifier),\n 'block_identifier': value.block_identifier,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaAccountBalanceResponseMetadata,\n RosettaAccountBalanceResponseMetadataFromJSON,\n RosettaAccountBalanceResponseMetadataFromJSONTyped,\n RosettaAccountBalanceResponseMetadataToJSON,\n RosettaAmount,\n RosettaAmountFromJSON,\n RosettaAmountFromJSONTyped,\n RosettaAmountToJSON,\n RosettaCoin,\n RosettaCoinFromJSON,\n RosettaCoinFromJSONTyped,\n RosettaCoinToJSON,\n} from './';\n\n/**\n * An AccountBalanceResponse is returned on the /account/balance endpoint. If an account has a balance for each AccountIdentifier describing it (ex: an ERC-20 token balance on a few smart contracts), an account balance request must be made with each AccountIdentifier.\n * @export\n * @interface RosettaAccountBalanceResponse\n */\nexport interface RosettaAccountBalanceResponse {\n /**\n * The block_identifier uniquely identifies a block in a particular network.\n * @type {object}\n * @memberof RosettaAccountBalanceResponse\n */\n block_identifier: object | null;\n /**\n * A single account balance may have multiple currencies\n * @type {Array<RosettaAmount>}\n * @memberof RosettaAccountBalanceResponse\n */\n balances: Array<RosettaAmount>;\n /**\n * If a blockchain is UTXO-based, all unspent Coins owned by an account_identifier should be returned alongside the balance. It is highly recommended to populate this field so that users of the Rosetta API implementation don't need to maintain their own indexer to track their UTXOs.\n * @type {Array<RosettaCoin>}\n * @memberof RosettaAccountBalanceResponse\n */\n coins?: Array<RosettaCoin>;\n /**\n * \n * @type {RosettaAccountBalanceResponseMetadata}\n * @memberof RosettaAccountBalanceResponse\n */\n metadata?: RosettaAccountBalanceResponseMetadata;\n}\n\nexport function RosettaAccountBalanceResponseFromJSON(json: any): RosettaAccountBalanceResponse {\n return RosettaAccountBalanceResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaAccountBalanceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaAccountBalanceResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'block_identifier': json['block_identifier'],\n 'balances': ((json['balances'] as Array<any>).map(RosettaAmountFromJSON)),\n 'coins': !exists(json, 'coins') ? undefined : ((json['coins'] as Array<any>).map(RosettaCoinFromJSON)),\n 'metadata': !exists(json, 'metadata') ? undefined : RosettaAccountBalanceResponseMetadataFromJSON(json['metadata']),\n };\n}\n\nexport function RosettaAccountBalanceResponseToJSON(value?: RosettaAccountBalanceResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'block_identifier': value.block_identifier,\n 'balances': ((value.balances as Array<any>).map(RosettaAmountToJSON)),\n 'coins': value.coins === undefined ? undefined : ((value.coins as Array<any>).map(RosettaCoinToJSON)),\n 'metadata': RosettaAccountBalanceResponseMetadataToJSON(value.metadata),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * CoinIdentifier uniquely identifies a Coin.\n * @export\n * @interface RosettaAccountBalanceResponseCoinIdentifier\n */\nexport interface RosettaAccountBalanceResponseCoinIdentifier {\n /**\n * Identifier should be populated with a globally unique identifier of a Coin. In Bitcoin, this identifier would be transaction_hash:index.\n * @type {string}\n * @memberof RosettaAccountBalanceResponseCoinIdentifier\n */\n identifier: string;\n}\n\nexport function RosettaAccountBalanceResponseCoinIdentifierFromJSON(json: any): RosettaAccountBalanceResponseCoinIdentifier {\n return RosettaAccountBalanceResponseCoinIdentifierFromJSONTyped(json, false);\n}\n\nexport function RosettaAccountBalanceResponseCoinIdentifierFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaAccountBalanceResponseCoinIdentifier {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'identifier': json['identifier'],\n };\n}\n\nexport function RosettaAccountBalanceResponseCoinIdentifierToJSON(value?: RosettaAccountBalanceResponseCoinIdentifier | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'identifier': value.identifier,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Account-based blockchains that utilize a nonce or sequence number should include that number in the metadata. This number could be unique to the identifier or global across the account address.\n * @export\n * @interface RosettaAccountBalanceResponseMetadata\n */\nexport interface RosettaAccountBalanceResponseMetadata {\n /**\n * \n * @type {number}\n * @memberof RosettaAccountBalanceResponseMetadata\n */\n sequence_number: number;\n}\n\nexport function RosettaAccountBalanceResponseMetadataFromJSON(json: any): RosettaAccountBalanceResponseMetadata {\n return RosettaAccountBalanceResponseMetadataFromJSONTyped(json, false);\n}\n\nexport function RosettaAccountBalanceResponseMetadataFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaAccountBalanceResponseMetadata {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'sequence_number': json['sequence_number'],\n };\n}\n\nexport function RosettaAccountBalanceResponseMetadataToJSON(value?: RosettaAccountBalanceResponseMetadata | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'sequence_number': value.sequence_number,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaSubAccount,\n RosettaSubAccountFromJSON,\n RosettaSubAccountFromJSONTyped,\n RosettaSubAccountToJSON,\n} from './';\n\n/**\n * The account_identifier uniquely identifies an account within a network. All fields in the account_identifier are utilized to determine this uniqueness (including the metadata field, if populated).\n * @export\n * @interface RosettaAccountIdentifier\n */\nexport interface RosettaAccountIdentifier {\n /**\n * The address may be a cryptographic public key (or some encoding of it) or a provided username.\n * @type {string}\n * @memberof RosettaAccountIdentifier\n */\n address: string;\n /**\n * \n * @type {RosettaSubAccount}\n * @memberof RosettaAccountIdentifier\n */\n sub_account?: RosettaSubAccount;\n /**\n * Blockchains that utilize a username model (where the address is not a derivative of a cryptographic public key) should specify the public key(s) owned by the address in metadata.\n * @type {object}\n * @memberof RosettaAccountIdentifier\n */\n metadata?: object;\n}\n\nexport function RosettaAccountIdentifierFromJSON(json: any): RosettaAccountIdentifier {\n return RosettaAccountIdentifierFromJSONTyped(json, false);\n}\n\nexport function RosettaAccountIdentifierFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaAccountIdentifier {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'address': json['address'],\n 'sub_account': !exists(json, 'sub_account') ? undefined : RosettaSubAccountFromJSON(json['sub_account']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaAccountIdentifierToJSON(value?: RosettaAccountIdentifier | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'address': value.address,\n 'sub_account': RosettaSubAccountToJSON(value.sub_account),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaCurrency,\n RosettaCurrencyFromJSON,\n RosettaCurrencyFromJSONTyped,\n RosettaCurrencyToJSON,\n} from './';\n\n/**\n * Amount is some Value of a Currency. It is considered invalid to specify a Value without a Currency.\n * @export\n * @interface RosettaAmount\n */\nexport interface RosettaAmount {\n /**\n * Value of the transaction in atomic units represented as an arbitrary-sized signed integer. For example, 1 BTC would be represented by a value of 100000000.\n * @type {string}\n * @memberof RosettaAmount\n */\n value: string;\n /**\n * \n * @type {RosettaCurrency}\n * @memberof RosettaAmount\n */\n currency: RosettaCurrency;\n /**\n * \n * @type {object}\n * @memberof RosettaAmount\n */\n metadata?: object;\n}\n\nexport function RosettaAmountFromJSON(json: any): RosettaAmount {\n return RosettaAmountFromJSONTyped(json, false);\n}\n\nexport function RosettaAmountFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaAmount {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'value': json['value'],\n 'currency': RosettaCurrencyFromJSON(json['currency']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaAmountToJSON(value?: RosettaAmount | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'value': value.value,\n 'currency': RosettaCurrencyToJSON(value.currency),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaBlockMetadata1,\n RosettaBlockMetadata1FromJSON,\n RosettaBlockMetadata1FromJSONTyped,\n RosettaBlockMetadata1ToJSON,\n RosettaParentBlockIdentifier,\n RosettaParentBlockIdentifierFromJSON,\n RosettaParentBlockIdentifierFromJSONTyped,\n RosettaParentBlockIdentifierToJSON,\n RosettaTransaction,\n RosettaTransactionFromJSON,\n RosettaTransactionFromJSONTyped,\n RosettaTransactionToJSON,\n} from './';\n\n/**\n * Blocks contain an array of Transactions that occurred at a particular BlockIdentifier. A hard requirement for blocks returned by Rosetta implementations is that they MUST be inalterable: once a client has requested and received a block identified by a specific BlockIndentifier, all future calls for that same BlockIdentifier must return the same block contents.\n * @export\n * @interface RosettaBlock\n */\nexport interface RosettaBlock {\n /**\n * The block_identifier uniquely identifies a block in a particular network.\n * @type {object}\n * @memberof RosettaBlock\n */\n block_identifier: object | null;\n /**\n * \n * @type {RosettaParentBlockIdentifier}\n * @memberof RosettaBlock\n */\n parent_block_identifier: RosettaParentBlockIdentifier;\n /**\n * The timestamp of the block in milliseconds since the Unix Epoch. The timestamp is stored in milliseconds because some blockchains produce blocks more often than once a second.\n * @type {number}\n * @memberof RosettaBlock\n */\n timestamp: number;\n /**\n * All the transactions in the block\n * @type {Array<RosettaTransaction>}\n * @memberof RosettaBlock\n */\n transactions: Array<RosettaTransaction>;\n /**\n * \n * @type {RosettaBlockMetadata1}\n * @memberof RosettaBlock\n */\n metadata: RosettaBlockMetadata1;\n}\n\nexport function RosettaBlockFromJSON(json: any): RosettaBlock {\n return RosettaBlockFromJSONTyped(json, false);\n}\n\nexport function RosettaBlockFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaBlock {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'block_identifier': json['block_identifier'],\n 'parent_block_identifier': RosettaParentBlockIdentifierFromJSON(json['parent_block_identifier']),\n 'timestamp': json['timestamp'],\n 'transactions': ((json['transactions'] as Array<any>).map(RosettaTransactionFromJSON)),\n 'metadata': RosettaBlockMetadata1FromJSON(json['metadata']),\n };\n}\n\nexport function RosettaBlockToJSON(value?: RosettaBlock | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'block_identifier': value.block_identifier,\n 'parent_block_identifier': RosettaParentBlockIdentifierToJSON(value.parent_block_identifier),\n 'timestamp': value.timestamp,\n 'transactions': ((value.transactions as Array<any>).map(RosettaTransactionToJSON)),\n 'metadata': RosettaBlockMetadata1ToJSON(value.metadata),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Transactions that are related to other transactions (like a cross-shard transaction) should include the tranaction_identifier of these transactions in the metadata.\n * @export\n * @interface RosettaBlockMetadata\n */\nexport interface RosettaBlockMetadata {\n /**\n * STX token transfer memo.\n * @type {string}\n * @memberof RosettaBlockMetadata\n */\n memo?: string;\n /**\n * The Size\n * @type {number}\n * @memberof RosettaBlockMetadata\n */\n size?: number;\n /**\n * The locktime\n * @type {number}\n * @memberof RosettaBlockMetadata\n */\n lockTime?: number;\n}\n\nexport function RosettaBlockMetadataFromJSON(json: any): RosettaBlockMetadata {\n return RosettaBlockMetadataFromJSONTyped(json, false);\n}\n\nexport function RosettaBlockMetadataFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaBlockMetadata {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'memo': !exists(json, 'memo') ? undefined : json['memo'],\n 'size': !exists(json, 'size') ? undefined : json['size'],\n 'lockTime': !exists(json, 'lockTime') ? undefined : json['lockTime'],\n };\n}\n\nexport function RosettaBlockMetadataToJSON(value?: RosettaBlockMetadata | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'memo': value.memo,\n 'size': value.size,\n 'lockTime': value.lockTime,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * meta data\n * @export\n * @interface RosettaBlockMetadata1\n */\nexport interface RosettaBlockMetadata1 {\n /**\n * \n * @type {number}\n * @memberof RosettaBlockMetadata1\n */\n burn_block_height: number;\n}\n\nexport function RosettaBlockMetadata1FromJSON(json: any): RosettaBlockMetadata1 {\n return RosettaBlockMetadata1FromJSONTyped(json, false);\n}\n\nexport function RosettaBlockMetadata1FromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaBlockMetadata1 {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'burn_block_height': json['burn_block_height'],\n };\n}\n\nexport function RosettaBlockMetadata1ToJSON(value?: RosettaBlockMetadata1 | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'burn_block_height': value.burn_block_height,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n} from './';\n\n/**\n * A BlockRequest is utilized to make a block request on the /block endpoint.\n * @export\n * @interface RosettaBlockRequest\n */\nexport interface RosettaBlockRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaBlockRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * When fetching data by BlockIdentifier, it may be possible to only specify the index or hash. If neither property is specified, it is assumed that the client is making a request at the current block.\n * @type {object}\n * @memberof RosettaBlockRequest\n */\n block_identifier: object;\n}\n\nexport function RosettaBlockRequestFromJSON(json: any): RosettaBlockRequest {\n return RosettaBlockRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaBlockRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaBlockRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'block_identifier': json['block_identifier'],\n };\n}\n\nexport function RosettaBlockRequestToJSON(value?: RosettaBlockRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'block_identifier': value.block_identifier,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n OtherTransactionIdentifier,\n OtherTransactionIdentifierFromJSON,\n OtherTransactionIdentifierFromJSONTyped,\n OtherTransactionIdentifierToJSON,\n RosettaBlock,\n RosettaBlockFromJSON,\n RosettaBlockFromJSONTyped,\n RosettaBlockToJSON,\n} from './';\n\n/**\n * A BlockResponse includes a fully-populated block or a partially-populated block with a list of other transactions to fetch (other_transactions). As a result of the consensus algorithm of some blockchains, blocks can be omitted (i.e. certain block indexes can be skipped). If a query for one of these omitted indexes is made, the response should not include a Block object. It is VERY important to note that blocks MUST still form a canonical, connected chain of blocks where each block has a unique index. In other words, the PartialBlockIdentifier of a block after an omitted block should reference the last non-omitted block.\n * @export\n * @interface RosettaBlockResponse\n */\nexport interface RosettaBlockResponse {\n /**\n * \n * @type {RosettaBlock}\n * @memberof RosettaBlockResponse\n */\n block?: RosettaBlock;\n /**\n * Some blockchains may require additional transactions to be fetched that weren't returned in the block response (ex: block only returns transaction hashes). For blockchains with a lot of transactions in each block, this can be very useful as consumers can concurrently fetch all transactions returned.\n * @type {Array<OtherTransactionIdentifier>}\n * @memberof RosettaBlockResponse\n */\n other_transactions?: Array<OtherTransactionIdentifier>;\n}\n\nexport function RosettaBlockResponseFromJSON(json: any): RosettaBlockResponse {\n return RosettaBlockResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaBlockResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaBlockResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'block': !exists(json, 'block') ? undefined : RosettaBlockFromJSON(json['block']),\n 'other_transactions': !exists(json, 'other_transactions') ? undefined : ((json['other_transactions'] as Array<any>).map(OtherTransactionIdentifierFromJSON)),\n };\n}\n\nexport function RosettaBlockResponseToJSON(value?: RosettaBlockResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'block': RosettaBlockToJSON(value.block),\n 'other_transactions': value.other_transactions === undefined ? undefined : ((value.other_transactions as Array<any>).map(OtherTransactionIdentifierToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n TransactionIdentifier,\n TransactionIdentifierFromJSON,\n TransactionIdentifierFromJSONTyped,\n TransactionIdentifierToJSON,\n} from './';\n\n/**\n * A BlockTransactionRequest is used to fetch a Transaction included in a block that is not returned in a BlockResponse.\n * @export\n * @interface RosettaBlockTransactionRequest\n */\nexport interface RosettaBlockTransactionRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaBlockTransactionRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * When fetching data by BlockIdentifier, it may be possible to only specify the index or hash. If neither property is specified, it is assumed that the client is making a request at the current block.\n * @type {object}\n * @memberof RosettaBlockTransactionRequest\n */\n block_identifier: object;\n /**\n * \n * @type {TransactionIdentifier}\n * @memberof RosettaBlockTransactionRequest\n */\n transaction_identifier: TransactionIdentifier;\n}\n\nexport function RosettaBlockTransactionRequestFromJSON(json: any): RosettaBlockTransactionRequest {\n return RosettaBlockTransactionRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaBlockTransactionRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaBlockTransactionRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'block_identifier': json['block_identifier'],\n 'transaction_identifier': TransactionIdentifierFromJSON(json['transaction_identifier']),\n };\n}\n\nexport function RosettaBlockTransactionRequestToJSON(value?: RosettaBlockTransactionRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'block_identifier': value.block_identifier,\n 'transaction_identifier': TransactionIdentifierToJSON(value.transaction_identifier),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaTransaction,\n RosettaTransactionFromJSON,\n RosettaTransactionFromJSONTyped,\n RosettaTransactionToJSON,\n} from './';\n\n/**\n * A BlockTransactionResponse contains information about a block transaction.\n * @export\n * @interface RosettaBlockTransactionResponse\n */\nexport interface RosettaBlockTransactionResponse {\n /**\n * \n * @type {RosettaTransaction}\n * @memberof RosettaBlockTransactionResponse\n */\n transaction: RosettaTransaction;\n}\n\nexport function RosettaBlockTransactionResponseFromJSON(json: any): RosettaBlockTransactionResponse {\n return RosettaBlockTransactionResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaBlockTransactionResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaBlockTransactionResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'transaction': RosettaTransactionFromJSON(json['transaction']),\n };\n}\n\nexport function RosettaBlockTransactionResponseToJSON(value?: RosettaBlockTransactionResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'transaction': RosettaTransactionToJSON(value.transaction),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaAccountBalanceResponseCoinIdentifier,\n RosettaAccountBalanceResponseCoinIdentifierFromJSON,\n RosettaAccountBalanceResponseCoinIdentifierFromJSONTyped,\n RosettaAccountBalanceResponseCoinIdentifierToJSON,\n RosettaAmount,\n RosettaAmountFromJSON,\n RosettaAmountFromJSONTyped,\n RosettaAmountToJSON,\n} from './';\n\n/**\n * If a blockchain is UTXO-based, all unspent Coins owned by an account_identifier should be returned alongside the balance. It is highly recommended to populate this field so that users of the Rosetta API implementation don't need to maintain their own indexer to track their UTXOs.\n * @export\n * @interface RosettaCoin\n */\nexport interface RosettaCoin {\n /**\n * \n * @type {RosettaAccountBalanceResponseCoinIdentifier}\n * @memberof RosettaCoin\n */\n coin_identifier: RosettaAccountBalanceResponseCoinIdentifier;\n /**\n * \n * @type {RosettaAmount}\n * @memberof RosettaCoin\n */\n amount: RosettaAmount;\n}\n\nexport function RosettaCoinFromJSON(json: any): RosettaCoin {\n return RosettaCoinFromJSONTyped(json, false);\n}\n\nexport function RosettaCoinFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaCoin {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'coin_identifier': RosettaAccountBalanceResponseCoinIdentifierFromJSON(json['coin_identifier']),\n 'amount': RosettaAmountFromJSON(json['amount']),\n };\n}\n\nexport function RosettaCoinToJSON(value?: RosettaCoin | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'coin_identifier': RosettaAccountBalanceResponseCoinIdentifierToJSON(value.coin_identifier),\n 'amount': RosettaAmountToJSON(value.amount),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaAccountBalanceResponseCoinIdentifier,\n RosettaAccountBalanceResponseCoinIdentifierFromJSON,\n RosettaAccountBalanceResponseCoinIdentifierFromJSONTyped,\n RosettaAccountBalanceResponseCoinIdentifierToJSON,\n} from './';\n\n/**\n * CoinChange is used to represent a change in state of a some coin identified by a coin_identifier. This object is part of the Operation model and must be populated for UTXO-based blockchains. Coincidentally, this abstraction of UTXOs allows for supporting both account-based transfers and UTXO-based transfers on the same blockchain (when a transfer is account-based, don't populate this model).\n * @export\n * @interface RosettaCoinChange\n */\nexport interface RosettaCoinChange {\n /**\n * \n * @type {RosettaAccountBalanceResponseCoinIdentifier}\n * @memberof RosettaCoinChange\n */\n coin_identifier: RosettaAccountBalanceResponseCoinIdentifier;\n /**\n * CoinActions are different state changes that a Coin can undergo. When a Coin is created, it is coin_created. When a Coin is spent, it is coin_spent. It is assumed that a single Coin cannot be created or spent more than once.\n * @type {string}\n * @memberof RosettaCoinChange\n */\n coin_action: RosettaCoinChangeCoinActionEnum;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum RosettaCoinChangeCoinActionEnum {\n created = 'coin_created',\n spent = 'coin_spent'\n}\n\nexport function RosettaCoinChangeFromJSON(json: any): RosettaCoinChange {\n return RosettaCoinChangeFromJSONTyped(json, false);\n}\n\nexport function RosettaCoinChangeFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaCoinChange {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'coin_identifier': RosettaAccountBalanceResponseCoinIdentifierFromJSON(json['coin_identifier']),\n 'coin_action': json['coin_action'],\n };\n}\n\nexport function RosettaCoinChangeToJSON(value?: RosettaCoinChange | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'coin_identifier': RosettaAccountBalanceResponseCoinIdentifierToJSON(value.coin_identifier),\n 'coin_action': value.coin_action,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n RosettaSignature,\n RosettaSignatureFromJSON,\n RosettaSignatureFromJSONTyped,\n RosettaSignatureToJSON,\n} from './';\n\n/**\n * RosettaConstructionCombineRequest is the input to the /construction/combine endpoint. It contains the unsigned transaction blob returned by /construction/payloads and all required signatures to create a network transaction.\n * @export\n * @interface RosettaConstructionCombineRequest\n */\nexport interface RosettaConstructionCombineRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaConstructionCombineRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * \n * @type {string}\n * @memberof RosettaConstructionCombineRequest\n */\n unsigned_transaction: string;\n /**\n * \n * @type {Array<RosettaSignature>}\n * @memberof RosettaConstructionCombineRequest\n */\n signatures: Array<RosettaSignature>;\n}\n\nexport function RosettaConstructionCombineRequestFromJSON(json: any): RosettaConstructionCombineRequest {\n return RosettaConstructionCombineRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionCombineRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionCombineRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'unsigned_transaction': json['unsigned_transaction'],\n 'signatures': ((json['signatures'] as Array<any>).map(RosettaSignatureFromJSON)),\n };\n}\n\nexport function RosettaConstructionCombineRequestToJSON(value?: RosettaConstructionCombineRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'unsigned_transaction': value.unsigned_transaction,\n 'signatures': ((value.signatures as Array<any>).map(RosettaSignatureToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * RosettaConstructionCombineResponse is returned by /construction/combine. The network payload will be sent directly to the construction/submit endpoint.\n * @export\n * @interface RosettaConstructionCombineResponse\n */\nexport interface RosettaConstructionCombineResponse {\n /**\n * Signed transaction bytes in hex\n * @type {string}\n * @memberof RosettaConstructionCombineResponse\n */\n signed_transaction: string;\n}\n\nexport function RosettaConstructionCombineResponseFromJSON(json: any): RosettaConstructionCombineResponse {\n return RosettaConstructionCombineResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionCombineResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionCombineResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'signed_transaction': json['signed_transaction'],\n };\n}\n\nexport function RosettaConstructionCombineResponseToJSON(value?: RosettaConstructionCombineResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'signed_transaction': value.signed_transaction,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n RosettaPublicKey,\n RosettaPublicKeyFromJSON,\n RosettaPublicKeyFromJSONTyped,\n RosettaPublicKeyToJSON,\n} from './';\n\n/**\n * Network is provided in the request because some blockchains have different address formats for different networks\n * @export\n * @interface RosettaConstructionDeriveRequest\n */\nexport interface RosettaConstructionDeriveRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaConstructionDeriveRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * \n * @type {RosettaPublicKey}\n * @memberof RosettaConstructionDeriveRequest\n */\n public_key: RosettaPublicKey;\n /**\n * \n * @type {object}\n * @memberof RosettaConstructionDeriveRequest\n */\n metadata?: object;\n}\n\nexport function RosettaConstructionDeriveRequestFromJSON(json: any): RosettaConstructionDeriveRequest {\n return RosettaConstructionDeriveRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionDeriveRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionDeriveRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'public_key': RosettaPublicKeyFromJSON(json['public_key']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaConstructionDeriveRequestToJSON(value?: RosettaConstructionDeriveRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'public_key': RosettaPublicKeyToJSON(value.public_key),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaAccountIdentifier,\n RosettaAccountIdentifierFromJSON,\n RosettaAccountIdentifierFromJSONTyped,\n RosettaAccountIdentifierToJSON,\n} from './';\n\n/**\n * ConstructionDeriveResponse is returned by the /construction/derive endpoint.\n * @export\n * @interface RosettaConstructionDeriveResponse\n */\nexport interface RosettaConstructionDeriveResponse {\n /**\n * [DEPRECATED by account_identifier in v1.4.4] Address in network-specific format.\n * @type {string}\n * @memberof RosettaConstructionDeriveResponse\n */\n address?: string;\n /**\n * \n * @type {RosettaAccountIdentifier}\n * @memberof RosettaConstructionDeriveResponse\n */\n account_identifier?: RosettaAccountIdentifier;\n /**\n * \n * @type {object}\n * @memberof RosettaConstructionDeriveResponse\n */\n metadata?: object;\n}\n\nexport function RosettaConstructionDeriveResponseFromJSON(json: any): RosettaConstructionDeriveResponse {\n return RosettaConstructionDeriveResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionDeriveResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionDeriveResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'address': !exists(json, 'address') ? undefined : json['address'],\n 'account_identifier': !exists(json, 'account_identifier') ? undefined : RosettaAccountIdentifierFromJSON(json['account_identifier']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaConstructionDeriveResponseToJSON(value?: RosettaConstructionDeriveResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'address': value.address,\n 'account_identifier': RosettaAccountIdentifierToJSON(value.account_identifier),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n} from './';\n\n/**\n * TransactionHash returns the network-specific transaction hash for a signed transaction.\n * @export\n * @interface RosettaConstructionHashRequest\n */\nexport interface RosettaConstructionHashRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaConstructionHashRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * Signed transaction\n * @type {string}\n * @memberof RosettaConstructionHashRequest\n */\n signed_transaction: string;\n}\n\nexport function RosettaConstructionHashRequestFromJSON(json: any): RosettaConstructionHashRequest {\n return RosettaConstructionHashRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionHashRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionHashRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'signed_transaction': json['signed_transaction'],\n };\n}\n\nexport function RosettaConstructionHashRequestToJSON(value?: RosettaConstructionHashRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'signed_transaction': value.signed_transaction,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n TransactionIdentifier,\n TransactionIdentifierFromJSON,\n TransactionIdentifierFromJSONTyped,\n TransactionIdentifierToJSON,\n} from './';\n\n/**\n * TransactionIdentifier contains the transaction_identifier of a transaction that was submitted to either /construction/hash or /construction/submit.\n * @export\n * @interface RosettaConstructionHashResponse\n */\nexport interface RosettaConstructionHashResponse {\n /**\n * \n * @type {TransactionIdentifier}\n * @memberof RosettaConstructionHashResponse\n */\n transaction_identifier: TransactionIdentifier;\n /**\n * \n * @type {object}\n * @memberof RosettaConstructionHashResponse\n */\n metadata?: object;\n}\n\nexport function RosettaConstructionHashResponseFromJSON(json: any): RosettaConstructionHashResponse {\n return RosettaConstructionHashResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionHashResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionHashResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'transaction_identifier': TransactionIdentifierFromJSON(json['transaction_identifier']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaConstructionHashResponseToJSON(value?: RosettaConstructionHashResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'transaction_identifier': TransactionIdentifierToJSON(value.transaction_identifier),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n RosettaOptions,\n RosettaOptionsFromJSON,\n RosettaOptionsFromJSONTyped,\n RosettaOptionsToJSON,\n RosettaPublicKey,\n RosettaPublicKeyFromJSON,\n RosettaPublicKeyFromJSONTyped,\n RosettaPublicKeyToJSON,\n} from './';\n\n/**\n * A ConstructionMetadataRequest is utilized to get information required to construct a transaction. The Options object used to specify which metadata to return is left purposely unstructured to allow flexibility for implementers. Optionally, the request can also include an array of PublicKeys associated with the AccountIdentifiers returned in ConstructionPreprocessResponse.\n * @export\n * @interface RosettaConstructionMetadataRequest\n */\nexport interface RosettaConstructionMetadataRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaConstructionMetadataRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * \n * @type {RosettaOptions}\n * @memberof RosettaConstructionMetadataRequest\n */\n options: RosettaOptions;\n /**\n * \n * @type {Array<RosettaPublicKey>}\n * @memberof RosettaConstructionMetadataRequest\n */\n public_keys?: Array<RosettaPublicKey>;\n}\n\nexport function RosettaConstructionMetadataRequestFromJSON(json: any): RosettaConstructionMetadataRequest {\n return RosettaConstructionMetadataRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionMetadataRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionMetadataRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'options': RosettaOptionsFromJSON(json['options']),\n 'public_keys': !exists(json, 'public_keys') ? undefined : ((json['public_keys'] as Array<any>).map(RosettaPublicKeyFromJSON)),\n };\n}\n\nexport function RosettaConstructionMetadataRequestToJSON(value?: RosettaConstructionMetadataRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'options': RosettaOptionsToJSON(value.options),\n 'public_keys': value.public_keys === undefined ? undefined : ((value.public_keys as Array<any>).map(RosettaPublicKeyToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaAmount,\n RosettaAmountFromJSON,\n RosettaAmountFromJSONTyped,\n RosettaAmountToJSON,\n RosettaConstructionMetadataResponseMetadata,\n RosettaConstructionMetadataResponseMetadataFromJSON,\n RosettaConstructionMetadataResponseMetadataFromJSONTyped,\n RosettaConstructionMetadataResponseMetadataToJSON,\n} from './';\n\n/**\n * The ConstructionMetadataResponse returns network-specific metadata used for transaction construction. Optionally, the implementer can return the suggested fee associated with the transaction being constructed. The caller may use this info to adjust the intent of the transaction or to create a transaction with a different account that can pay the suggested fee. Suggested fee is an array in case fee payment must occur in multiple currencies.\n * @export\n * @interface RosettaConstructionMetadataResponse\n */\nexport interface RosettaConstructionMetadataResponse {\n /**\n * \n * @type {RosettaConstructionMetadataResponseMetadata}\n * @memberof RosettaConstructionMetadataResponse\n */\n metadata: RosettaConstructionMetadataResponseMetadata;\n /**\n * \n * @type {Array<RosettaAmount>}\n * @memberof RosettaConstructionMetadataResponse\n */\n suggested_fee?: Array<RosettaAmount>;\n}\n\nexport function RosettaConstructionMetadataResponseFromJSON(json: any): RosettaConstructionMetadataResponse {\n return RosettaConstructionMetadataResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionMetadataResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionMetadataResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'metadata': RosettaConstructionMetadataResponseMetadataFromJSON(json['metadata']),\n 'suggested_fee': !exists(json, 'suggested_fee') ? undefined : ((json['suggested_fee'] as Array<any>).map(RosettaAmountFromJSON)),\n };\n}\n\nexport function RosettaConstructionMetadataResponseToJSON(value?: RosettaConstructionMetadataResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'metadata': RosettaConstructionMetadataResponseMetadataToJSON(value.metadata),\n 'suggested_fee': value.suggested_fee === undefined ? undefined : ((value.suggested_fee as Array<any>).map(RosettaAmountToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface RosettaConstructionMetadataResponseMetadata\n */\nexport interface RosettaConstructionMetadataResponseMetadata {\n /**\n * \n * @type {number}\n * @memberof RosettaConstructionMetadataResponseMetadata\n */\n account_sequence?: number;\n /**\n * \n * @type {string}\n * @memberof RosettaConstructionMetadataResponseMetadata\n */\n recent_block_hash?: string;\n}\n\nexport function RosettaConstructionMetadataResponseMetadataFromJSON(json: any): RosettaConstructionMetadataResponseMetadata {\n return RosettaConstructionMetadataResponseMetadataFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionMetadataResponseMetadataFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionMetadataResponseMetadata {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'account_sequence': !exists(json, 'account_sequence') ? undefined : json['account_sequence'],\n 'recent_block_hash': !exists(json, 'recent_block_hash') ? undefined : json['recent_block_hash'],\n };\n}\n\nexport function RosettaConstructionMetadataResponseMetadataToJSON(value?: RosettaConstructionMetadataResponseMetadata | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'account_sequence': value.account_sequence,\n 'recent_block_hash': value.recent_block_hash,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n} from './';\n\n/**\n * Parse is called on both unsigned and signed transactions to understand the intent of the formulated transaction. This is run as a sanity check before signing (after /construction/payloads) and before broadcast (after /construction/combine).\n * @export\n * @interface RosettaConstructionParseRequest\n */\nexport interface RosettaConstructionParseRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaConstructionParseRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * Signed is a boolean indicating whether the transaction is signed.\n * @type {boolean}\n * @memberof RosettaConstructionParseRequest\n */\n signed: boolean;\n /**\n * This must be either the unsigned transaction blob returned by /construction/payloads or the signed transaction blob returned by /construction/combine.\n * @type {string}\n * @memberof RosettaConstructionParseRequest\n */\n transaction: string;\n}\n\nexport function RosettaConstructionParseRequestFromJSON(json: any): RosettaConstructionParseRequest {\n return RosettaConstructionParseRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionParseRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionParseRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'signed': json['signed'],\n 'transaction': json['transaction'],\n };\n}\n\nexport function RosettaConstructionParseRequestToJSON(value?: RosettaConstructionParseRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'signed': value.signed,\n 'transaction': value.transaction,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaAccountIdentifier,\n RosettaAccountIdentifierFromJSON,\n RosettaAccountIdentifierFromJSONTyped,\n RosettaAccountIdentifierToJSON,\n RosettaOperation,\n RosettaOperationFromJSON,\n RosettaOperationFromJSONTyped,\n RosettaOperationToJSON,\n} from './';\n\n/**\n * RosettaConstructionParseResponse contains an array of operations that occur in a transaction blob. This should match the array of operations provided to /construction/preprocess and /construction/payloads.\n * @export\n * @interface RosettaConstructionParseResponse\n */\nexport interface RosettaConstructionParseResponse {\n /**\n * \n * @type {Array<RosettaOperation>}\n * @memberof RosettaConstructionParseResponse\n */\n operations: Array<RosettaOperation>;\n /**\n * [DEPRECATED by account_identifier_signers in v1.4.4] All signers (addresses) of a particular transaction. If the transaction is unsigned, it should be empty.\n * @type {Array<string>}\n * @memberof RosettaConstructionParseResponse\n */\n signers?: Array<string>;\n /**\n * \n * @type {Array<RosettaAccountIdentifier>}\n * @memberof RosettaConstructionParseResponse\n */\n account_identifier_signers?: Array<RosettaAccountIdentifier>;\n /**\n * \n * @type {object}\n * @memberof RosettaConstructionParseResponse\n */\n metadata?: object;\n}\n\nexport function RosettaConstructionParseResponseFromJSON(json: any): RosettaConstructionParseResponse {\n return RosettaConstructionParseResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionParseResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionParseResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'operations': ((json['operations'] as Array<any>).map(RosettaOperationFromJSON)),\n 'signers': !exists(json, 'signers') ? undefined : json['signers'],\n 'account_identifier_signers': !exists(json, 'account_identifier_signers') ? undefined : ((json['account_identifier_signers'] as Array<any>).map(RosettaAccountIdentifierFromJSON)),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaConstructionParseResponseToJSON(value?: RosettaConstructionParseResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'operations': ((value.operations as Array<any>).map(RosettaOperationToJSON)),\n 'signers': value.signers,\n 'account_identifier_signers': value.account_identifier_signers === undefined ? undefined : ((value.account_identifier_signers as Array<any>).map(RosettaAccountIdentifierToJSON)),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n SigningPayload,\n SigningPayloadFromJSON,\n SigningPayloadFromJSONTyped,\n SigningPayloadToJSON,\n} from './';\n\n/**\n * RosettaConstructionPayloadResponse is returned by /construction/payloads. It contains an unsigned transaction blob (that is usually needed to construct the a network transaction from a collection of signatures) and an array of payloads that must be signed by the caller.\n * @export\n * @interface RosettaConstructionPayloadResponse\n */\nexport interface RosettaConstructionPayloadResponse {\n /**\n * This is an unsigned transaction blob (that is usually needed to construct the a network transaction from a collection of signatures)\n * @type {string}\n * @memberof RosettaConstructionPayloadResponse\n */\n unsigned_transaction: string;\n /**\n * An array of payloads that must be signed by the caller\n * @type {Array<SigningPayload>}\n * @memberof RosettaConstructionPayloadResponse\n */\n payloads: Array<SigningPayload>;\n}\n\nexport function RosettaConstructionPayloadResponseFromJSON(json: any): RosettaConstructionPayloadResponse {\n return RosettaConstructionPayloadResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionPayloadResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionPayloadResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'unsigned_transaction': json['unsigned_transaction'],\n 'payloads': ((json['payloads'] as Array<any>).map(SigningPayloadFromJSON)),\n };\n}\n\nexport function RosettaConstructionPayloadResponseToJSON(value?: RosettaConstructionPayloadResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'unsigned_transaction': value.unsigned_transaction,\n 'payloads': ((value.payloads as Array<any>).map(SigningPayloadToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n RosettaConstructionMetadataResponseMetadata,\n RosettaConstructionMetadataResponseMetadataFromJSON,\n RosettaConstructionMetadataResponseMetadataFromJSONTyped,\n RosettaConstructionMetadataResponseMetadataToJSON,\n RosettaOperation,\n RosettaOperationFromJSON,\n RosettaOperationFromJSONTyped,\n RosettaOperationToJSON,\n RosettaPublicKey,\n RosettaPublicKeyFromJSON,\n RosettaPublicKeyFromJSONTyped,\n RosettaPublicKeyToJSON,\n} from './';\n\n/**\n * ConstructionPayloadsRequest is the request to /construction/payloads. It contains the network, a slice of operations, and arbitrary metadata that was returned by the call to /construction/metadata. Optionally, the request can also include an array of PublicKeys associated with the AccountIdentifiers returned in ConstructionPreprocessResponse.\n * @export\n * @interface RosettaConstructionPayloadsRequest\n */\nexport interface RosettaConstructionPayloadsRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaConstructionPayloadsRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * \n * @type {Array<RosettaOperation>}\n * @memberof RosettaConstructionPayloadsRequest\n */\n operations: Array<RosettaOperation>;\n /**\n * \n * @type {Array<RosettaPublicKey>}\n * @memberof RosettaConstructionPayloadsRequest\n */\n public_keys?: Array<RosettaPublicKey>;\n /**\n * \n * @type {RosettaConstructionMetadataResponseMetadata}\n * @memberof RosettaConstructionPayloadsRequest\n */\n metadata?: RosettaConstructionMetadataResponseMetadata;\n}\n\nexport function RosettaConstructionPayloadsRequestFromJSON(json: any): RosettaConstructionPayloadsRequest {\n return RosettaConstructionPayloadsRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionPayloadsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionPayloadsRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'operations': ((json['operations'] as Array<any>).map(RosettaOperationFromJSON)),\n 'public_keys': !exists(json, 'public_keys') ? undefined : ((json['public_keys'] as Array<any>).map(RosettaPublicKeyFromJSON)),\n 'metadata': !exists(json, 'metadata') ? undefined : RosettaConstructionMetadataResponseMetadataFromJSON(json['metadata']),\n };\n}\n\nexport function RosettaConstructionPayloadsRequestToJSON(value?: RosettaConstructionPayloadsRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'operations': ((value.operations as Array<any>).map(RosettaOperationToJSON)),\n 'public_keys': value.public_keys === undefined ? undefined : ((value.public_keys as Array<any>).map(RosettaPublicKeyToJSON)),\n 'metadata': RosettaConstructionMetadataResponseMetadataToJSON(value.metadata),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n RosettaMaxFeeAmount,\n RosettaMaxFeeAmountFromJSON,\n RosettaMaxFeeAmountFromJSONTyped,\n RosettaMaxFeeAmountToJSON,\n RosettaOperation,\n RosettaOperationFromJSON,\n RosettaOperationFromJSONTyped,\n RosettaOperationToJSON,\n} from './';\n\n/**\n * ConstructionPreprocessRequest is passed to the /construction/preprocess endpoint so that a Rosetta implementation can determine which metadata it needs to request for construction\n * @export\n * @interface RosettaConstructionPreprocessRequest\n */\nexport interface RosettaConstructionPreprocessRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaConstructionPreprocessRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * \n * @type {Array<RosettaOperation>}\n * @memberof RosettaConstructionPreprocessRequest\n */\n operations: Array<RosettaOperation>;\n /**\n * \n * @type {object}\n * @memberof RosettaConstructionPreprocessRequest\n */\n metadata?: object;\n /**\n * \n * @type {Array<RosettaMaxFeeAmount>}\n * @memberof RosettaConstructionPreprocessRequest\n */\n max_fee?: Array<RosettaMaxFeeAmount>;\n /**\n * The caller can also provide a suggested fee multiplier to indicate that the suggested fee should be scaled. This may be used to set higher fees for urgent transactions or to pay lower fees when there is less urgency. It is assumed that providing a very low multiplier (like 0.0001) will never lead to a transaction being created with a fee less than the minimum network fee (if applicable). In the case that the caller provides both a max fee and a suggested fee multiplier, the max fee will set an upper bound on the suggested fee (regardless of the multiplier provided).\n * @type {number}\n * @memberof RosettaConstructionPreprocessRequest\n */\n suggested_fee_multiplier?: number;\n}\n\nexport function RosettaConstructionPreprocessRequestFromJSON(json: any): RosettaConstructionPreprocessRequest {\n return RosettaConstructionPreprocessRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionPreprocessRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionPreprocessRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'operations': ((json['operations'] as Array<any>).map(RosettaOperationFromJSON)),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n 'max_fee': !exists(json, 'max_fee') ? undefined : ((json['max_fee'] as Array<any>).map(RosettaMaxFeeAmountFromJSON)),\n 'suggested_fee_multiplier': !exists(json, 'suggested_fee_multiplier') ? undefined : json['suggested_fee_multiplier'],\n };\n}\n\nexport function RosettaConstructionPreprocessRequestToJSON(value?: RosettaConstructionPreprocessRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'operations': ((value.operations as Array<any>).map(RosettaOperationToJSON)),\n 'metadata': value.metadata,\n 'max_fee': value.max_fee === undefined ? undefined : ((value.max_fee as Array<any>).map(RosettaMaxFeeAmountToJSON)),\n 'suggested_fee_multiplier': value.suggested_fee_multiplier,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaAccount,\n RosettaAccountFromJSON,\n RosettaAccountFromJSONTyped,\n RosettaAccountToJSON,\n RosettaOptions,\n RosettaOptionsFromJSON,\n RosettaOptionsFromJSONTyped,\n RosettaOptionsToJSON,\n} from './';\n\n/**\n * RosettaConstructionPreprocessResponse contains options that will be sent unmodified to /construction/metadata. If it is not necessary to make a request to /construction/metadata, options should be omitted. Some blockchains require the PublicKey of particular AccountIdentifiers to construct a valid transaction. To fetch these PublicKeys, populate required_public_keys with the AccountIdentifiers associated with the desired PublicKeys. If it is not necessary to retrieve any PublicKeys for construction, required_public_keys should be omitted.\n * @export\n * @interface RosettaConstructionPreprocessResponse\n */\nexport interface RosettaConstructionPreprocessResponse {\n /**\n * \n * @type {RosettaOptions}\n * @memberof RosettaConstructionPreprocessResponse\n */\n options?: RosettaOptions;\n /**\n * \n * @type {Array<RosettaAccount>}\n * @memberof RosettaConstructionPreprocessResponse\n */\n required_public_keys?: Array<RosettaAccount>;\n}\n\nexport function RosettaConstructionPreprocessResponseFromJSON(json: any): RosettaConstructionPreprocessResponse {\n return RosettaConstructionPreprocessResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionPreprocessResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionPreprocessResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'options': !exists(json, 'options') ? undefined : RosettaOptionsFromJSON(json['options']),\n 'required_public_keys': !exists(json, 'required_public_keys') ? undefined : ((json['required_public_keys'] as Array<any>).map(RosettaAccountFromJSON)),\n };\n}\n\nexport function RosettaConstructionPreprocessResponseToJSON(value?: RosettaConstructionPreprocessResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'options': RosettaOptionsToJSON(value.options),\n 'required_public_keys': value.required_public_keys === undefined ? undefined : ((value.required_public_keys as Array<any>).map(RosettaAccountToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n} from './';\n\n/**\n * Submit the transaction in blockchain\n * @export\n * @interface RosettaConstructionSubmitRequest\n */\nexport interface RosettaConstructionSubmitRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaConstructionSubmitRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * Signed transaction\n * @type {string}\n * @memberof RosettaConstructionSubmitRequest\n */\n signed_transaction: string;\n}\n\nexport function RosettaConstructionSubmitRequestFromJSON(json: any): RosettaConstructionSubmitRequest {\n return RosettaConstructionSubmitRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionSubmitRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionSubmitRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'signed_transaction': json['signed_transaction'],\n };\n}\n\nexport function RosettaConstructionSubmitRequestToJSON(value?: RosettaConstructionSubmitRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'signed_transaction': value.signed_transaction,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n TransactionIdentifier,\n TransactionIdentifierFromJSON,\n TransactionIdentifierFromJSONTyped,\n TransactionIdentifierToJSON,\n} from './';\n\n/**\n * TransactionIdentifier contains the transaction_identifier of a transaction that was submitted to either /construction/submit.\n * @export\n * @interface RosettaConstructionSubmitResponse\n */\nexport interface RosettaConstructionSubmitResponse {\n /**\n * \n * @type {TransactionIdentifier}\n * @memberof RosettaConstructionSubmitResponse\n */\n transaction_identifier: TransactionIdentifier;\n /**\n * \n * @type {object}\n * @memberof RosettaConstructionSubmitResponse\n */\n metadata?: object;\n}\n\nexport function RosettaConstructionSubmitResponseFromJSON(json: any): RosettaConstructionSubmitResponse {\n return RosettaConstructionSubmitResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaConstructionSubmitResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaConstructionSubmitResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'transaction_identifier': TransactionIdentifierFromJSON(json['transaction_identifier']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaConstructionSubmitResponseToJSON(value?: RosettaConstructionSubmitResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'transaction_identifier': TransactionIdentifierToJSON(value.transaction_identifier),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Currency is composed of a canonical Symbol and Decimals. This Decimals value is used to convert an Amount.Value from atomic units (Satoshis) to standard units (Bitcoins).\n * @export\n * @interface RosettaCurrency\n */\nexport interface RosettaCurrency {\n /**\n * Canonical symbol associated with a currency.\n * @type {string}\n * @memberof RosettaCurrency\n */\n symbol: string;\n /**\n * Number of decimal places in the standard unit representation of the amount. For example, BTC has 8 decimals. Note that it is not possible to represent the value of some currency in atomic units that is not base 10.\n * @type {number}\n * @memberof RosettaCurrency\n */\n decimals: number;\n /**\n * Any additional information related to the currency itself. For example, it would be useful to populate this object with the contract address of an ERC-20 token.\n * @type {object}\n * @memberof RosettaCurrency\n */\n metadata?: object;\n}\n\nexport function RosettaCurrencyFromJSON(json: any): RosettaCurrency {\n return RosettaCurrencyFromJSONTyped(json, false);\n}\n\nexport function RosettaCurrencyFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaCurrency {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'symbol': json['symbol'],\n 'decimals': json['decimals'],\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaCurrencyToJSON(value?: RosettaCurrency | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'symbol': value.symbol,\n 'decimals': value.decimals,\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaErrorDetails,\n RosettaErrorDetailsFromJSON,\n RosettaErrorDetailsFromJSONTyped,\n RosettaErrorDetailsToJSON,\n} from './';\n\n/**\n * Instead of utilizing HTTP status codes to describe node errors (which often do not have a good analog), rich errors are returned using this object. Both the code and message fields can be individually used to correctly identify an error. Implementations MUST use unique values for both fields.\n * @export\n * @interface RosettaError\n */\nexport interface RosettaError {\n /**\n * Code is a network-specific error code. If desired, this code can be equivalent to an HTTP status code.\n * @type {number}\n * @memberof RosettaError\n */\n code: number;\n /**\n * Message is a network-specific error message. The message MUST NOT change for a given code. In particular, this means that any contextual information should be included in the details field.\n * @type {string}\n * @memberof RosettaError\n */\n message: string;\n /**\n * An error is retriable if the same request may succeed if submitted again.\n * @type {boolean}\n * @memberof RosettaError\n */\n retriable: boolean;\n /**\n * \n * @type {RosettaErrorDetails}\n * @memberof RosettaError\n */\n details?: RosettaErrorDetails;\n}\n\nexport function RosettaErrorFromJSON(json: any): RosettaError {\n return RosettaErrorFromJSONTyped(json, false);\n}\n\nexport function RosettaErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaError {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'code': json['code'],\n 'message': json['message'],\n 'retriable': json['retriable'],\n 'details': !exists(json, 'details') ? undefined : RosettaErrorDetailsFromJSON(json['details']),\n };\n}\n\nexport function RosettaErrorToJSON(value?: RosettaError | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'code': value.code,\n 'message': value.message,\n 'retriable': value.retriable,\n 'details': RosettaErrorDetailsToJSON(value.details),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Often times it is useful to return context specific to the request that caused the error (i.e. a sample of the stack trace or impacted account) in addition to the standard error message.\n * @export\n * @interface RosettaErrorDetails\n */\nexport interface RosettaErrorDetails {\n /**\n * \n * @type {string}\n * @memberof RosettaErrorDetails\n */\n address?: string;\n /**\n * \n * @type {string}\n * @memberof RosettaErrorDetails\n */\n error?: string;\n}\n\nexport function RosettaErrorDetailsFromJSON(json: any): RosettaErrorDetails {\n return RosettaErrorDetailsFromJSONTyped(json, false);\n}\n\nexport function RosettaErrorDetailsFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaErrorDetails {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'address': !exists(json, 'address') ? undefined : json['address'],\n 'error': !exists(json, 'error') ? undefined : json['error'],\n };\n}\n\nexport function RosettaErrorDetailsToJSON(value?: RosettaErrorDetails | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'address': value.address,\n 'error': value.error,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Instead of utilizing HTTP status codes to describe node errors (which often do not have a good analog), rich errors are returned using this object. Both the code and message fields can be individually used to correctly identify an error. Implementations MUST use unique values for both fields.\n * @export\n * @interface RosettaErrorNoDetails\n */\nexport interface RosettaErrorNoDetails {\n /**\n * Code is a network-specific error code. If desired, this code can be equivalent to an HTTP status code.\n * @type {number}\n * @memberof RosettaErrorNoDetails\n */\n code: number;\n /**\n * Message is a network-specific error message. The message MUST NOT change for a given code. In particular, this means that any contextual information should be included in the details field.\n * @type {string}\n * @memberof RosettaErrorNoDetails\n */\n message: string;\n /**\n * An error is retriable if the same request may succeed if submitted again.\n * @type {boolean}\n * @memberof RosettaErrorNoDetails\n */\n retriable: boolean;\n}\n\nexport function RosettaErrorNoDetailsFromJSON(json: any): RosettaErrorNoDetails {\n return RosettaErrorNoDetailsFromJSONTyped(json, false);\n}\n\nexport function RosettaErrorNoDetailsFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaErrorNoDetails {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'code': json['code'],\n 'message': json['message'],\n 'retriable': json['retriable'],\n };\n}\n\nexport function RosettaErrorNoDetailsToJSON(value?: RosettaErrorNoDetails | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'code': value.code,\n 'message': value.message,\n 'retriable': value.retriable,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * The block_identifier uniquely identifies a block in a particular network.\n * @export\n * @interface RosettaGenesisBlockIdentifier\n */\nexport interface RosettaGenesisBlockIdentifier {\n /**\n * This is also known as the block height.\n * @type {number}\n * @memberof RosettaGenesisBlockIdentifier\n */\n index: number;\n /**\n * Block hash\n * @type {string}\n * @memberof RosettaGenesisBlockIdentifier\n */\n hash: string;\n}\n\nexport function RosettaGenesisBlockIdentifierFromJSON(json: any): RosettaGenesisBlockIdentifier {\n return RosettaGenesisBlockIdentifierFromJSONTyped(json, false);\n}\n\nexport function RosettaGenesisBlockIdentifierFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaGenesisBlockIdentifier {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'index': json['index'],\n 'hash': json['hash'],\n };\n}\n\nexport function RosettaGenesisBlockIdentifierToJSON(value?: RosettaGenesisBlockIdentifier | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'index': value.index,\n 'hash': value.hash,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaCurrency,\n RosettaCurrencyFromJSON,\n RosettaCurrencyFromJSONTyped,\n RosettaCurrencyToJSON,\n} from './';\n\n/**\n * Amount is some Value of a Currency. It is considered invalid to specify a Value without a Currency.\n * @export\n * @interface RosettaMaxFeeAmount\n */\nexport interface RosettaMaxFeeAmount {\n /**\n * Value of the transaction in atomic units represented as an arbitrary-sized signed integer. For example, 1 BTC would be represented by a value of 100000000.\n * @type {string}\n * @memberof RosettaMaxFeeAmount\n */\n value: string;\n /**\n * \n * @type {RosettaCurrency}\n * @memberof RosettaMaxFeeAmount\n */\n currency: RosettaCurrency;\n /**\n * \n * @type {object}\n * @memberof RosettaMaxFeeAmount\n */\n metadata?: object;\n}\n\nexport function RosettaMaxFeeAmountFromJSON(json: any): RosettaMaxFeeAmount {\n return RosettaMaxFeeAmountFromJSONTyped(json, false);\n}\n\nexport function RosettaMaxFeeAmountFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaMaxFeeAmount {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'value': json['value'],\n 'currency': RosettaCurrencyFromJSON(json['currency']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaMaxFeeAmountToJSON(value?: RosettaMaxFeeAmount | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'value': value.value,\n 'currency': RosettaCurrencyToJSON(value.currency),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n} from './';\n\n/**\n * Get all Transaction Identifiers in the mempool\n * @export\n * @interface RosettaMempoolRequest\n */\nexport interface RosettaMempoolRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaMempoolRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * \n * @type {object}\n * @memberof RosettaMempoolRequest\n */\n metadata?: object;\n}\n\nexport function RosettaMempoolRequestFromJSON(json: any): RosettaMempoolRequest {\n return RosettaMempoolRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaMempoolRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaMempoolRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaMempoolRequestToJSON(value?: RosettaMempoolRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n TransactionIdentifier,\n TransactionIdentifierFromJSON,\n TransactionIdentifierFromJSONTyped,\n TransactionIdentifierToJSON,\n} from './';\n\n/**\n * A MempoolResponse contains all transaction identifiers in the mempool for a particular network_identifier.\n * @export\n * @interface RosettaMempoolResponse\n */\nexport interface RosettaMempoolResponse {\n /**\n * \n * @type {Array<TransactionIdentifier>}\n * @memberof RosettaMempoolResponse\n */\n transaction_identifiers: Array<TransactionIdentifier>;\n /**\n * \n * @type {object}\n * @memberof RosettaMempoolResponse\n */\n metadata?: object;\n}\n\nexport function RosettaMempoolResponseFromJSON(json: any): RosettaMempoolResponse {\n return RosettaMempoolResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaMempoolResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaMempoolResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'transaction_identifiers': ((json['transaction_identifiers'] as Array<any>).map(TransactionIdentifierFromJSON)),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaMempoolResponseToJSON(value?: RosettaMempoolResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'transaction_identifiers': ((value.transaction_identifiers as Array<any>).map(TransactionIdentifierToJSON)),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n TransactionIdentifier,\n TransactionIdentifierFromJSON,\n TransactionIdentifierFromJSONTyped,\n TransactionIdentifierToJSON,\n} from './';\n\n/**\n * A MempoolTransactionRequest is utilized to retrieve a transaction from the mempool.\n * @export\n * @interface RosettaMempoolTransactionRequest\n */\nexport interface RosettaMempoolTransactionRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaMempoolTransactionRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * \n * @type {TransactionIdentifier}\n * @memberof RosettaMempoolTransactionRequest\n */\n transaction_identifier: TransactionIdentifier;\n}\n\nexport function RosettaMempoolTransactionRequestFromJSON(json: any): RosettaMempoolTransactionRequest {\n return RosettaMempoolTransactionRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaMempoolTransactionRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaMempoolTransactionRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'transaction_identifier': TransactionIdentifierFromJSON(json['transaction_identifier']),\n };\n}\n\nexport function RosettaMempoolTransactionRequestToJSON(value?: RosettaMempoolTransactionRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'transaction_identifier': TransactionIdentifierToJSON(value.transaction_identifier),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaTransaction,\n RosettaTransactionFromJSON,\n RosettaTransactionFromJSONTyped,\n RosettaTransactionToJSON,\n} from './';\n\n/**\n * A MempoolTransactionResponse contains an estimate of a mempool transaction. It may not be possible to know the full impact of a transaction in the mempool (ex: fee paid).\n * @export\n * @interface RosettaMempoolTransactionResponse\n */\nexport interface RosettaMempoolTransactionResponse {\n /**\n * \n * @type {RosettaTransaction}\n * @memberof RosettaMempoolTransactionResponse\n */\n transaction: RosettaTransaction;\n /**\n * \n * @type {object}\n * @memberof RosettaMempoolTransactionResponse\n */\n metadata?: object;\n}\n\nexport function RosettaMempoolTransactionResponseFromJSON(json: any): RosettaMempoolTransactionResponse {\n return RosettaMempoolTransactionResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaMempoolTransactionResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaMempoolTransactionResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'transaction': RosettaTransactionFromJSON(json['transaction']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaMempoolTransactionResponseToJSON(value?: RosettaMempoolTransactionResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'transaction': RosettaTransactionToJSON(value.transaction),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n} from './';\n\n/**\n * A NetworkListResponse contains all NetworkIdentifiers that the node can serve information for.\n * @export\n * @interface RosettaNetworkListResponse\n */\nexport interface RosettaNetworkListResponse {\n /**\n * The network_identifier specifies which network a particular object is associated with.\n * @type {Array<NetworkIdentifier>}\n * @memberof RosettaNetworkListResponse\n */\n network_identifiers: Array<NetworkIdentifier>;\n}\n\nexport function RosettaNetworkListResponseFromJSON(json: any): RosettaNetworkListResponse {\n return RosettaNetworkListResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaNetworkListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaNetworkListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifiers': ((json['network_identifiers'] as Array<any>).map(NetworkIdentifierFromJSON)),\n };\n}\n\nexport function RosettaNetworkListResponseToJSON(value?: RosettaNetworkListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifiers': ((value.network_identifiers as Array<any>).map(NetworkIdentifierToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaNetworkListResponseSubNetworkIdentifierMetadata,\n RosettaNetworkListResponseSubNetworkIdentifierMetadataFromJSON,\n RosettaNetworkListResponseSubNetworkIdentifierMetadataFromJSONTyped,\n RosettaNetworkListResponseSubNetworkIdentifierMetadataToJSON,\n} from './';\n\n/**\n * In blockchains with sharded state, the SubNetworkIdentifier is required to query some object on a specific shard. This identifier is optional for all non-sharded blockchains.\n * @export\n * @interface RosettaNetworkListResponseSubNetworkIdentifier\n */\nexport interface RosettaNetworkListResponseSubNetworkIdentifier {\n /**\n * Network name\n * @type {string}\n * @memberof RosettaNetworkListResponseSubNetworkIdentifier\n */\n network: string;\n /**\n * \n * @type {RosettaNetworkListResponseSubNetworkIdentifierMetadata}\n * @memberof RosettaNetworkListResponseSubNetworkIdentifier\n */\n metadata?: RosettaNetworkListResponseSubNetworkIdentifierMetadata;\n}\n\nexport function RosettaNetworkListResponseSubNetworkIdentifierFromJSON(json: any): RosettaNetworkListResponseSubNetworkIdentifier {\n return RosettaNetworkListResponseSubNetworkIdentifierFromJSONTyped(json, false);\n}\n\nexport function RosettaNetworkListResponseSubNetworkIdentifierFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaNetworkListResponseSubNetworkIdentifier {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network': json['network'],\n 'metadata': !exists(json, 'metadata') ? undefined : RosettaNetworkListResponseSubNetworkIdentifierMetadataFromJSON(json['metadata']),\n };\n}\n\nexport function RosettaNetworkListResponseSubNetworkIdentifierToJSON(value?: RosettaNetworkListResponseSubNetworkIdentifier | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network': value.network,\n 'metadata': RosettaNetworkListResponseSubNetworkIdentifierMetadataToJSON(value.metadata),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Meta data from subnetwork identifier\n * @export\n * @interface RosettaNetworkListResponseSubNetworkIdentifierMetadata\n */\nexport interface RosettaNetworkListResponseSubNetworkIdentifierMetadata {\n /**\n * producer\n * @type {string}\n * @memberof RosettaNetworkListResponseSubNetworkIdentifierMetadata\n */\n producer: string;\n}\n\nexport function RosettaNetworkListResponseSubNetworkIdentifierMetadataFromJSON(json: any): RosettaNetworkListResponseSubNetworkIdentifierMetadata {\n return RosettaNetworkListResponseSubNetworkIdentifierMetadataFromJSONTyped(json, false);\n}\n\nexport function RosettaNetworkListResponseSubNetworkIdentifierMetadataFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaNetworkListResponseSubNetworkIdentifierMetadata {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'producer': json['producer'],\n };\n}\n\nexport function RosettaNetworkListResponseSubNetworkIdentifierMetadataToJSON(value?: RosettaNetworkListResponseSubNetworkIdentifierMetadata | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'producer': value.producer,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaNetworkOptionsResponseAllow,\n RosettaNetworkOptionsResponseAllowFromJSON,\n RosettaNetworkOptionsResponseAllowFromJSONTyped,\n RosettaNetworkOptionsResponseAllowToJSON,\n RosettaNetworkOptionsResponseVersion,\n RosettaNetworkOptionsResponseVersionFromJSON,\n RosettaNetworkOptionsResponseVersionFromJSONTyped,\n RosettaNetworkOptionsResponseVersionToJSON,\n} from './';\n\n/**\n * NetworkOptionsResponse contains information about the versioning of the node and the allowed operation statuses, operation types, and errors.\n * @export\n * @interface RosettaNetworkOptionsResponse\n */\nexport interface RosettaNetworkOptionsResponse {\n /**\n * \n * @type {RosettaNetworkOptionsResponseVersion}\n * @memberof RosettaNetworkOptionsResponse\n */\n version: RosettaNetworkOptionsResponseVersion;\n /**\n * \n * @type {RosettaNetworkOptionsResponseAllow}\n * @memberof RosettaNetworkOptionsResponse\n */\n allow: RosettaNetworkOptionsResponseAllow;\n}\n\nexport function RosettaNetworkOptionsResponseFromJSON(json: any): RosettaNetworkOptionsResponse {\n return RosettaNetworkOptionsResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaNetworkOptionsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaNetworkOptionsResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'version': RosettaNetworkOptionsResponseVersionFromJSON(json['version']),\n 'allow': RosettaNetworkOptionsResponseAllowFromJSON(json['allow']),\n };\n}\n\nexport function RosettaNetworkOptionsResponseToJSON(value?: RosettaNetworkOptionsResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'version': RosettaNetworkOptionsResponseVersionToJSON(value.version),\n 'allow': RosettaNetworkOptionsResponseAllowToJSON(value.allow),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaErrorNoDetails,\n RosettaErrorNoDetailsFromJSON,\n RosettaErrorNoDetailsFromJSONTyped,\n RosettaErrorNoDetailsToJSON,\n RosettaOperationStatus,\n RosettaOperationStatusFromJSON,\n RosettaOperationStatusFromJSONTyped,\n RosettaOperationStatusToJSON,\n} from './';\n\n/**\n * Allow specifies supported Operation status, Operation types, and all possible error statuses. This Allow object is used by clients to validate the correctness of a Rosetta Server implementation. It is expected that these clients will error if they receive some response that contains any of the above information that is not specified here.\n * @export\n * @interface RosettaNetworkOptionsResponseAllow\n */\nexport interface RosettaNetworkOptionsResponseAllow {\n /**\n * All Operation.Status this implementation supports. Any status that is returned during parsing that is not listed here will cause client validation to error.\n * @type {Array<RosettaOperationStatus>}\n * @memberof RosettaNetworkOptionsResponseAllow\n */\n operation_statuses: Array<RosettaOperationStatus>;\n /**\n * All Operation.Type this implementation supports. Any type that is returned during parsing that is not listed here will cause client validation to error.\n * @type {Array<string>}\n * @memberof RosettaNetworkOptionsResponseAllow\n */\n operation_types: Array<string>;\n /**\n * All Errors that this implementation could return. Any error that is returned during parsing that is not listed here will cause client validation to error.\n * @type {Array<RosettaErrorNoDetails>}\n * @memberof RosettaNetworkOptionsResponseAllow\n */\n errors: Array<RosettaErrorNoDetails>;\n /**\n * Any Rosetta implementation that supports querying the balance of an account at any height in the past should set this to true.\n * @type {boolean}\n * @memberof RosettaNetworkOptionsResponseAllow\n */\n historical_balance_lookup: boolean;\n}\n\nexport function RosettaNetworkOptionsResponseAllowFromJSON(json: any): RosettaNetworkOptionsResponseAllow {\n return RosettaNetworkOptionsResponseAllowFromJSONTyped(json, false);\n}\n\nexport function RosettaNetworkOptionsResponseAllowFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaNetworkOptionsResponseAllow {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'operation_statuses': ((json['operation_statuses'] as Array<any>).map(RosettaOperationStatusFromJSON)),\n 'operation_types': json['operation_types'],\n 'errors': ((json['errors'] as Array<any>).map(RosettaErrorNoDetailsFromJSON)),\n 'historical_balance_lookup': json['historical_balance_lookup'],\n };\n}\n\nexport function RosettaNetworkOptionsResponseAllowToJSON(value?: RosettaNetworkOptionsResponseAllow | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'operation_statuses': ((value.operation_statuses as Array<any>).map(RosettaOperationStatusToJSON)),\n 'operation_types': value.operation_types,\n 'errors': ((value.errors as Array<any>).map(RosettaErrorNoDetailsToJSON)),\n 'historical_balance_lookup': value.historical_balance_lookup,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * The Version object is utilized to inform the client of the versions of different components of the Rosetta implementation.\n * @export\n * @interface RosettaNetworkOptionsResponseVersion\n */\nexport interface RosettaNetworkOptionsResponseVersion {\n /**\n * The rosetta_version is the version of the Rosetta interface the implementation adheres to. This can be useful for clients looking to reliably parse responses.\n * @type {string}\n * @memberof RosettaNetworkOptionsResponseVersion\n */\n rosetta_version: string;\n /**\n * The node_version is the canonical version of the node runtime. This can help clients manage deployments.\n * @type {string}\n * @memberof RosettaNetworkOptionsResponseVersion\n */\n node_version: string;\n /**\n * When a middleware server is used to adhere to the Rosetta interface, it should return its version here. This can help clients manage deployments.\n * @type {string}\n * @memberof RosettaNetworkOptionsResponseVersion\n */\n middleware_version?: string;\n /**\n * Any other information that may be useful about versioning of dependent services should be returned here.\n * @type {object}\n * @memberof RosettaNetworkOptionsResponseVersion\n */\n metadata?: object;\n}\n\nexport function RosettaNetworkOptionsResponseVersionFromJSON(json: any): RosettaNetworkOptionsResponseVersion {\n return RosettaNetworkOptionsResponseVersionFromJSONTyped(json, false);\n}\n\nexport function RosettaNetworkOptionsResponseVersionFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaNetworkOptionsResponseVersion {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'rosetta_version': json['rosetta_version'],\n 'node_version': json['node_version'],\n 'middleware_version': !exists(json, 'middleware_version') ? undefined : json['middleware_version'],\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaNetworkOptionsResponseVersionToJSON(value?: RosettaNetworkOptionsResponseVersion | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'rosetta_version': value.rosetta_version,\n 'node_version': value.node_version,\n 'middleware_version': value.middleware_version,\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaGenesisBlockIdentifier,\n RosettaGenesisBlockIdentifierFromJSON,\n RosettaGenesisBlockIdentifierFromJSONTyped,\n RosettaGenesisBlockIdentifierToJSON,\n RosettaOldestBlockIdentifier,\n RosettaOldestBlockIdentifierFromJSON,\n RosettaOldestBlockIdentifierFromJSONTyped,\n RosettaOldestBlockIdentifierToJSON,\n RosettaPeers,\n RosettaPeersFromJSON,\n RosettaPeersFromJSONTyped,\n RosettaPeersToJSON,\n RosettaSyncStatus,\n RosettaSyncStatusFromJSON,\n RosettaSyncStatusFromJSONTyped,\n RosettaSyncStatusToJSON,\n} from './';\n\n/**\n * NetworkStatusResponse contains basic information about the node's view of a blockchain network. It is assumed that any BlockIdentifier.Index less than or equal to CurrentBlockIdentifier.Index can be queried. If a Rosetta implementation prunes historical state, it should populate the optional oldest_block_identifier field with the oldest block available to query. If this is not populated, it is assumed that the genesis_block_identifier is the oldest queryable block. If a Rosetta implementation performs some pre-sync before it is possible to query blocks, sync_status should be populated so that clients can still monitor healthiness. Without this field, it may appear that the implementation is stuck syncing and needs to be terminated.\n * @export\n * @interface RosettaNetworkStatusResponse\n */\nexport interface RosettaNetworkStatusResponse {\n /**\n * The block_identifier uniquely identifies a block in a particular network.\n * @type {object}\n * @memberof RosettaNetworkStatusResponse\n */\n current_block_identifier: object | null;\n /**\n * The timestamp of the block in milliseconds since the Unix Epoch. The timestamp is stored in milliseconds because some blockchains produce blocks more often than once a second.\n * @type {number}\n * @memberof RosettaNetworkStatusResponse\n */\n current_block_timestamp: number;\n /**\n * \n * @type {RosettaGenesisBlockIdentifier}\n * @memberof RosettaNetworkStatusResponse\n */\n genesis_block_identifier: RosettaGenesisBlockIdentifier;\n /**\n * \n * @type {RosettaOldestBlockIdentifier}\n * @memberof RosettaNetworkStatusResponse\n */\n oldest_block_identifier?: RosettaOldestBlockIdentifier;\n /**\n * \n * @type {RosettaSyncStatus}\n * @memberof RosettaNetworkStatusResponse\n */\n sync_status?: RosettaSyncStatus;\n /**\n * Peers information\n * @type {Array<RosettaPeers>}\n * @memberof RosettaNetworkStatusResponse\n */\n peers: Array<RosettaPeers>;\n /**\n * The latest burn block height\n * @type {number}\n * @memberof RosettaNetworkStatusResponse\n */\n current_burn_block_height: number;\n}\n\nexport function RosettaNetworkStatusResponseFromJSON(json: any): RosettaNetworkStatusResponse {\n return RosettaNetworkStatusResponseFromJSONTyped(json, false);\n}\n\nexport function RosettaNetworkStatusResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaNetworkStatusResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'current_block_identifier': json['current_block_identifier'],\n 'current_block_timestamp': json['current_block_timestamp'],\n 'genesis_block_identifier': RosettaGenesisBlockIdentifierFromJSON(json['genesis_block_identifier']),\n 'oldest_block_identifier': !exists(json, 'oldest_block_identifier') ? undefined : RosettaOldestBlockIdentifierFromJSON(json['oldest_block_identifier']),\n 'sync_status': !exists(json, 'sync_status') ? undefined : RosettaSyncStatusFromJSON(json['sync_status']),\n 'peers': ((json['peers'] as Array<any>).map(RosettaPeersFromJSON)),\n 'current_burn_block_height': json['current_burn_block_height'],\n };\n}\n\nexport function RosettaNetworkStatusResponseToJSON(value?: RosettaNetworkStatusResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'current_block_identifier': value.current_block_identifier,\n 'current_block_timestamp': value.current_block_timestamp,\n 'genesis_block_identifier': RosettaGenesisBlockIdentifierToJSON(value.genesis_block_identifier),\n 'oldest_block_identifier': RosettaOldestBlockIdentifierToJSON(value.oldest_block_identifier),\n 'sync_status': RosettaSyncStatusToJSON(value.sync_status),\n 'peers': ((value.peers as Array<any>).map(RosettaPeersToJSON)),\n 'current_burn_block_height': value.current_burn_block_height,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * The block_identifier uniquely identifies a block in a particular network.\n * @export\n * @interface RosettaOldestBlockIdentifier\n */\nexport interface RosettaOldestBlockIdentifier {\n /**\n * This is also known as the block height.\n * @type {number}\n * @memberof RosettaOldestBlockIdentifier\n */\n index: number;\n /**\n * Block hash\n * @type {string}\n * @memberof RosettaOldestBlockIdentifier\n */\n hash: string;\n}\n\nexport function RosettaOldestBlockIdentifierFromJSON(json: any): RosettaOldestBlockIdentifier {\n return RosettaOldestBlockIdentifierFromJSONTyped(json, false);\n}\n\nexport function RosettaOldestBlockIdentifierFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaOldestBlockIdentifier {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'index': json['index'],\n 'hash': json['hash'],\n };\n}\n\nexport function RosettaOldestBlockIdentifierToJSON(value?: RosettaOldestBlockIdentifier | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'index': value.index,\n 'hash': value.hash,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaAccount,\n RosettaAccountFromJSON,\n RosettaAccountFromJSONTyped,\n RosettaAccountToJSON,\n RosettaAmount,\n RosettaAmountFromJSON,\n RosettaAmountFromJSONTyped,\n RosettaAmountToJSON,\n RosettaCoinChange,\n RosettaCoinChangeFromJSON,\n RosettaCoinChangeFromJSONTyped,\n RosettaCoinChangeToJSON,\n RosettaOperationIdentifier,\n RosettaOperationIdentifierFromJSON,\n RosettaOperationIdentifierFromJSONTyped,\n RosettaOperationIdentifierToJSON,\n RosettaRelatedOperation,\n RosettaRelatedOperationFromJSON,\n RosettaRelatedOperationFromJSONTyped,\n RosettaRelatedOperationToJSON,\n} from './';\n\n/**\n * Operations contain all balance-changing information within a transaction. They are always one-sided (only affect 1 AccountIdentifier) and can succeed or fail independently from a Transaction.\n * @export\n * @interface RosettaOperation\n */\nexport interface RosettaOperation {\n /**\n * \n * @type {RosettaOperationIdentifier}\n * @memberof RosettaOperation\n */\n operation_identifier: RosettaOperationIdentifier;\n /**\n * Restrict referenced related_operations to identifier indexes < the current operation_identifier.index. This ensures there exists a clear DAG-structure of relations. Since operations are one-sided, one could imagine relating operations in a single transfer or linking operations in a call tree.\n * @type {Array<RosettaRelatedOperation>}\n * @memberof RosettaOperation\n */\n related_operations?: Array<RosettaRelatedOperation>;\n /**\n * The network-specific type of the operation. Ensure that any type that can be returned here is also specified in the NetworkStatus. This can be very useful to downstream consumers that parse all block data.\n * @type {string}\n * @memberof RosettaOperation\n */\n type: string;\n /**\n * The network-specific status of the operation. Status is not defined on the transaction object because blockchains with smart contracts may have transactions that partially apply. Blockchains with atomic transactions (all operations succeed or all operations fail) will have the same status for each operation.\n * @type {string}\n * @memberof RosettaOperation\n */\n status?: string;\n /**\n * \n * @type {RosettaAccount}\n * @memberof RosettaOperation\n */\n account?: RosettaAccount;\n /**\n * \n * @type {RosettaAmount}\n * @memberof RosettaOperation\n */\n amount?: RosettaAmount;\n /**\n * \n * @type {RosettaCoinChange}\n * @memberof RosettaOperation\n */\n coin_change?: RosettaCoinChange;\n /**\n * Operations Meta Data\n * @type {object}\n * @memberof RosettaOperation\n */\n metadata?: object;\n}\n\nexport function RosettaOperationFromJSON(json: any): RosettaOperation {\n return RosettaOperationFromJSONTyped(json, false);\n}\n\nexport function RosettaOperationFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaOperation {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'operation_identifier': RosettaOperationIdentifierFromJSON(json['operation_identifier']),\n 'related_operations': !exists(json, 'related_operations') ? undefined : ((json['related_operations'] as Array<any>).map(RosettaRelatedOperationFromJSON)),\n 'type': json['type'],\n 'status': !exists(json, 'status') ? undefined : json['status'],\n 'account': !exists(json, 'account') ? undefined : RosettaAccountFromJSON(json['account']),\n 'amount': !exists(json, 'amount') ? undefined : RosettaAmountFromJSON(json['amount']),\n 'coin_change': !exists(json, 'coin_change') ? undefined : RosettaCoinChangeFromJSON(json['coin_change']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaOperationToJSON(value?: RosettaOperation | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'operation_identifier': RosettaOperationIdentifierToJSON(value.operation_identifier),\n 'related_operations': value.related_operations === undefined ? undefined : ((value.related_operations as Array<any>).map(RosettaRelatedOperationToJSON)),\n 'type': value.type,\n 'status': value.status,\n 'account': RosettaAccountToJSON(value.account),\n 'amount': RosettaAmountToJSON(value.amount),\n 'coin_change': RosettaCoinChangeToJSON(value.coin_change),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * The operation_identifier uniquely identifies an operation within a transaction.\n * @export\n * @interface RosettaOperationIdentifier\n */\nexport interface RosettaOperationIdentifier {\n /**\n * The operation index is used to ensure each operation has a unique identifier within a transaction. This index is only relative to the transaction and NOT GLOBAL. The operations in each transaction should start from index 0. To clarify, there may not be any notion of an operation index in the blockchain being described.\n * @type {number}\n * @memberof RosettaOperationIdentifier\n */\n index: number;\n /**\n * Some blockchains specify an operation index that is essential for client use. For example, Bitcoin uses a network_index to identify which UTXO was used in a transaction. network_index should not be populated if there is no notion of an operation index in a blockchain (typically most account-based blockchains).\n * @type {number}\n * @memberof RosettaOperationIdentifier\n */\n network_index?: number;\n}\n\nexport function RosettaOperationIdentifierFromJSON(json: any): RosettaOperationIdentifier {\n return RosettaOperationIdentifierFromJSONTyped(json, false);\n}\n\nexport function RosettaOperationIdentifierFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaOperationIdentifier {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'index': json['index'],\n 'network_index': !exists(json, 'network_index') ? undefined : json['network_index'],\n };\n}\n\nexport function RosettaOperationIdentifierToJSON(value?: RosettaOperationIdentifier | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'index': value.index,\n 'network_index': value.network_index,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * OperationStatus is utilized to indicate which Operation status are considered successful.\n * @export\n * @interface RosettaOperationStatus\n */\nexport interface RosettaOperationStatus {\n /**\n * The status is the network-specific status of the operation.\n * @type {string}\n * @memberof RosettaOperationStatus\n */\n status: string;\n /**\n * An Operation is considered successful if the Operation.Amount should affect the Operation.Account. Some blockchains (like Bitcoin) only include successful operations in blocks but other blockchains (like Ethereum) include unsuccessful operations that incur a fee. To reconcile the computed balance from the stream of Operations, it is critical to understand which Operation.Status indicate an Operation is successful and should affect an Account.\n * @type {boolean}\n * @memberof RosettaOperationStatus\n */\n successful: boolean;\n}\n\nexport function RosettaOperationStatusFromJSON(json: any): RosettaOperationStatus {\n return RosettaOperationStatusFromJSONTyped(json, false);\n}\n\nexport function RosettaOperationStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaOperationStatus {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'status': json['status'],\n 'successful': json['successful'],\n };\n}\n\nexport function RosettaOperationStatusToJSON(value?: RosettaOperationStatus | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'status': value.status,\n 'successful': value.successful,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * The options that will be sent directly to /construction/metadata by the caller.\n * @export\n * @interface RosettaOptions\n */\nexport interface RosettaOptions {\n /**\n * sender's address \n * @type {string}\n * @memberof RosettaOptions\n */\n sender_address?: string;\n /**\n * Type of operation e.g transfer\n * @type {string}\n * @memberof RosettaOptions\n */\n type?: string;\n /**\n * This value indicates the state of the operations\n * @type {string}\n * @memberof RosettaOptions\n */\n status?: string;\n /**\n * Recipient's address\n * @type {string}\n * @memberof RosettaOptions\n */\n token_transfer_recipient_address?: string;\n /**\n * Amount to be transfered.\n * @type {string}\n * @memberof RosettaOptions\n */\n amount?: string;\n /**\n * Currency symbol e.g STX\n * @type {string}\n * @memberof RosettaOptions\n */\n symbol?: string;\n /**\n * Number of decimal places\n * @type {number}\n * @memberof RosettaOptions\n */\n decimals?: number;\n /**\n * Maximum price a user is willing to pay.\n * @type {number}\n * @memberof RosettaOptions\n */\n gas_limit?: number;\n /**\n * Cost necessary to perform a transaction on the network\n * @type {number}\n * @memberof RosettaOptions\n */\n gas_price?: number;\n /**\n * A suggested fee multiplier to indicate that the suggested fee should be scaled. This may be used to set higher fees for urgent transactions or to pay lower fees when there is less urgency.\n * @type {number}\n * @memberof RosettaOptions\n */\n suggested_fee_multiplier?: number;\n /**\n * Maximum fee user is willing to pay\n * @type {string}\n * @memberof RosettaOptions\n */\n max_fee?: string;\n /**\n * Fee for this transaction\n * @type {string}\n * @memberof RosettaOptions\n */\n fee?: string;\n /**\n * Transaction approximative size (used to calculate total fee).\n * @type {number}\n * @memberof RosettaOptions\n */\n size?: number;\n /**\n * STX token transfer memo.\n * @type {string}\n * @memberof RosettaOptions\n */\n memo?: string;\n /**\n * Number of cycles when stacking.\n * @type {number}\n * @memberof RosettaOptions\n */\n number_of_cycles?: number;\n /**\n * Address of the contract to call.\n * @type {string}\n * @memberof RosettaOptions\n */\n contract_address?: string;\n /**\n * Name of the contract to call.\n * @type {string}\n * @memberof RosettaOptions\n */\n contract_name?: string;\n /**\n * Set the burnchain (BTC) block for stacking lock to start.\n * @type {number}\n * @memberof RosettaOptions\n */\n burn_block_height?: number;\n /**\n * The reward cycle ID for stacking transaction.\n * @type {number}\n * @memberof RosettaOptions\n */\n reward_cycle_id?: number;\n /**\n * Delegator address for when calling `delegate-stacking`.\n * @type {string}\n * @memberof RosettaOptions\n */\n delegate_to?: string;\n /**\n * The reward address for stacking transaction. It should be a valid Bitcoin address\n * @type {string}\n * @memberof RosettaOptions\n */\n pox_addr?: string;\n /**\n * The hex-encoded signer key (buff 33) for PoX.\n * @type {string}\n * @memberof RosettaOptions\n */\n signer_key?: string;\n /**\n * The hex-encoded signer private key for PoX. Specify either this or `signer_signature`, otherwise the PoX transaction requires allow-listing from the signer.\n * @type {string}\n * @memberof RosettaOptions\n */\n signer_private_key?: string;\n /**\n * The hex-encoded signer signature for PoX. Specify either this or `signer_private_key`, otherwise the PoX transaction requires allow-listing from the signer.\n * @type {string}\n * @memberof RosettaOptions\n */\n signer_signature?: string;\n /**\n * The maximum amount of STX to stack for PoX. If not specified, the `amount` will be used as the `max-amount` for the PoX transaction.\n * @type {string}\n * @memberof RosettaOptions\n */\n pox_max_amount?: string;\n /**\n * The auth ID for the PoX transaction. If not specified, a random value will be generated.\n * @type {string}\n * @memberof RosettaOptions\n */\n pox_auth_id?: string;\n}\n\nexport function RosettaOptionsFromJSON(json: any): RosettaOptions {\n return RosettaOptionsFromJSONTyped(json, false);\n}\n\nexport function RosettaOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaOptions {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'sender_address': !exists(json, 'sender_address') ? undefined : json['sender_address'],\n 'type': !exists(json, 'type') ? undefined : json['type'],\n 'status': !exists(json, 'status') ? undefined : json['status'],\n 'token_transfer_recipient_address': !exists(json, 'token_transfer_recipient_address') ? undefined : json['token_transfer_recipient_address'],\n 'amount': !exists(json, 'amount') ? undefined : json['amount'],\n 'symbol': !exists(json, 'symbol') ? undefined : json['symbol'],\n 'decimals': !exists(json, 'decimals') ? undefined : json['decimals'],\n 'gas_limit': !exists(json, 'gas_limit') ? undefined : json['gas_limit'],\n 'gas_price': !exists(json, 'gas_price') ? undefined : json['gas_price'],\n 'suggested_fee_multiplier': !exists(json, 'suggested_fee_multiplier') ? undefined : json['suggested_fee_multiplier'],\n 'max_fee': !exists(json, 'max_fee') ? undefined : json['max_fee'],\n 'fee': !exists(json, 'fee') ? undefined : json['fee'],\n 'size': !exists(json, 'size') ? undefined : json['size'],\n 'memo': !exists(json, 'memo') ? undefined : json['memo'],\n 'number_of_cycles': !exists(json, 'number_of_cycles') ? undefined : json['number_of_cycles'],\n 'contract_address': !exists(json, 'contract_address') ? undefined : json['contract_address'],\n 'contract_name': !exists(json, 'contract_name') ? undefined : json['contract_name'],\n 'burn_block_height': !exists(json, 'burn_block_height') ? undefined : json['burn_block_height'],\n 'reward_cycle_id': !exists(json, 'reward_cycle_id') ? undefined : json['reward_cycle_id'],\n 'delegate_to': !exists(json, 'delegate_to') ? undefined : json['delegate_to'],\n 'pox_addr': !exists(json, 'pox_addr') ? undefined : json['pox_addr'],\n 'signer_key': !exists(json, 'signer_key') ? undefined : json['signer_key'],\n 'signer_private_key': !exists(json, 'signer_private_key') ? undefined : json['signer_private_key'],\n 'signer_signature': !exists(json, 'signer_signature') ? undefined : json['signer_signature'],\n 'pox_max_amount': !exists(json, 'pox_max_amount') ? undefined : json['pox_max_amount'],\n 'pox_auth_id': !exists(json, 'pox_auth_id') ? undefined : json['pox_auth_id'],\n };\n}\n\nexport function RosettaOptionsToJSON(value?: RosettaOptions | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'sender_address': value.sender_address,\n 'type': value.type,\n 'status': value.status,\n 'token_transfer_recipient_address': value.token_transfer_recipient_address,\n 'amount': value.amount,\n 'symbol': value.symbol,\n 'decimals': value.decimals,\n 'gas_limit': value.gas_limit,\n 'gas_price': value.gas_price,\n 'suggested_fee_multiplier': value.suggested_fee_multiplier,\n 'max_fee': value.max_fee,\n 'fee': value.fee,\n 'size': value.size,\n 'memo': value.memo,\n 'number_of_cycles': value.number_of_cycles,\n 'contract_address': value.contract_address,\n 'contract_name': value.contract_name,\n 'burn_block_height': value.burn_block_height,\n 'reward_cycle_id': value.reward_cycle_id,\n 'delegate_to': value.delegate_to,\n 'pox_addr': value.pox_addr,\n 'signer_key': value.signer_key,\n 'signer_private_key': value.signer_private_key,\n 'signer_signature': value.signer_signature,\n 'pox_max_amount': value.pox_max_amount,\n 'pox_auth_id': value.pox_auth_id,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n} from './';\n\n/**\n * This endpoint returns the version information and allowed network-specific types for a NetworkIdentifier. Any NetworkIdentifier returned by /network/list should be accessible here. Because options are retrievable in the context of a NetworkIdentifier, it is possible to define unique options for each network.\n * @export\n * @interface RosettaOptionsRequest\n */\nexport interface RosettaOptionsRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaOptionsRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * \n * @type {object}\n * @memberof RosettaOptionsRequest\n */\n metadata?: object;\n}\n\nexport function RosettaOptionsRequestFromJSON(json: any): RosettaOptionsRequest {\n return RosettaOptionsRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaOptionsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaOptionsRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaOptionsRequestToJSON(value?: RosettaOptionsRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * The block_identifier uniquely identifies a block in a particular network.\n * @export\n * @interface RosettaParentBlockIdentifier\n */\nexport interface RosettaParentBlockIdentifier {\n /**\n * This is also known as the block height.\n * @type {number}\n * @memberof RosettaParentBlockIdentifier\n */\n index: number;\n /**\n * Block hash\n * @type {string}\n * @memberof RosettaParentBlockIdentifier\n */\n hash: string;\n}\n\nexport function RosettaParentBlockIdentifierFromJSON(json: any): RosettaParentBlockIdentifier {\n return RosettaParentBlockIdentifierFromJSONTyped(json, false);\n}\n\nexport function RosettaParentBlockIdentifierFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaParentBlockIdentifier {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'index': json['index'],\n 'hash': json['hash'],\n };\n}\n\nexport function RosettaParentBlockIdentifierToJSON(value?: RosettaParentBlockIdentifier | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'index': value.index,\n 'hash': value.hash,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * A Peer is a representation of a node's peer.\n * @export\n * @interface RosettaPeers\n */\nexport interface RosettaPeers {\n /**\n * peer id\n * @type {string}\n * @memberof RosettaPeers\n */\n peer_id: string;\n /**\n * meta data\n * @type {object}\n * @memberof RosettaPeers\n */\n metadata?: object;\n}\n\nexport function RosettaPeersFromJSON(json: any): RosettaPeers {\n return RosettaPeersFromJSONTyped(json, false);\n}\n\nexport function RosettaPeersFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaPeers {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'peer_id': json['peer_id'],\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaPeersToJSON(value?: RosettaPeers | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'peer_id': value.peer_id,\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * PublicKey contains a public key byte array for a particular CurveType encoded in hex. Note that there is no PrivateKey struct as this is NEVER the concern of an implementation.\n * @export\n * @interface RosettaPublicKey\n */\nexport interface RosettaPublicKey {\n /**\n * Hex-encoded public key bytes in the format specified by the CurveType.\n * @type {string}\n * @memberof RosettaPublicKey\n */\n hex_bytes: string;\n /**\n * CurveType is the type of cryptographic curve associated with a PublicKey.\n * @type {string}\n * @memberof RosettaPublicKey\n */\n curve_type: RosettaPublicKeyCurveTypeEnum;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum RosettaPublicKeyCurveTypeEnum {\n secp256k1 = 'secp256k1',\n edwards25519 = 'edwards25519'\n}\n\nexport function RosettaPublicKeyFromJSON(json: any): RosettaPublicKey {\n return RosettaPublicKeyFromJSONTyped(json, false);\n}\n\nexport function RosettaPublicKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaPublicKey {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'hex_bytes': json['hex_bytes'],\n 'curve_type': json['curve_type'],\n };\n}\n\nexport function RosettaPublicKeyToJSON(value?: RosettaPublicKey | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'hex_bytes': value.hex_bytes,\n 'curve_type': value.curve_type,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * Restrict referenced related_operations to identifier indexes < the current operation_identifier.index. This ensures there exists a clear DAG-structure of relations. Since operations are one-sided, one could imagine relating operations in a single transfer or linking operations in a call tree.\n * @export\n * @interface RosettaRelatedOperation\n */\nexport interface RosettaRelatedOperation {\n /**\n * Describes the index of related operation.\n * @type {number}\n * @memberof RosettaRelatedOperation\n */\n index: number;\n /**\n * Some blockchains specify an operation index that is essential for client use. network_index should not be populated if there is no notion of an operation index in a blockchain (typically most account-based blockchains).\n * @type {number}\n * @memberof RosettaRelatedOperation\n */\n network_index?: number;\n}\n\nexport function RosettaRelatedOperationFromJSON(json: any): RosettaRelatedOperation {\n return RosettaRelatedOperationFromJSONTyped(json, false);\n}\n\nexport function RosettaRelatedOperationFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaRelatedOperation {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'index': json['index'],\n 'network_index': !exists(json, 'network_index') ? undefined : json['network_index'],\n };\n}\n\nexport function RosettaRelatedOperationToJSON(value?: RosettaRelatedOperation | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'index': value.index,\n 'network_index': value.network_index,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaPublicKey,\n RosettaPublicKeyFromJSON,\n RosettaPublicKeyFromJSONTyped,\n RosettaPublicKeyToJSON,\n SigningPayload,\n SigningPayloadFromJSON,\n SigningPayloadFromJSONTyped,\n SigningPayloadToJSON,\n} from './';\n\n/**\n * Signature contains the payload that was signed, the public keys of the keypairs used to produce the signature, the signature (encoded in hex), and the SignatureType. PublicKey is often times not known during construction of the signing payloads but may be needed to combine signatures properly.\n * @export\n * @interface RosettaSignature\n */\nexport interface RosettaSignature {\n /**\n * \n * @type {SigningPayload}\n * @memberof RosettaSignature\n */\n signing_payload: SigningPayload;\n /**\n * \n * @type {RosettaPublicKey}\n * @memberof RosettaSignature\n */\n public_key: RosettaPublicKey;\n /**\n * SignatureType is the type of a cryptographic signature.\n * @type {string}\n * @memberof RosettaSignature\n */\n signature_type: RosettaSignatureSignatureTypeEnum;\n /**\n * \n * @type {string}\n * @memberof RosettaSignature\n */\n hex_bytes: string;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum RosettaSignatureSignatureTypeEnum {\n ecdsa = 'ecdsa',\n ecdsa_recovery = 'ecdsa_recovery',\n ed25519 = 'ed25519',\n schnorr_1 = 'schnorr_1',\n schnorr_poseidon = 'schnorr_poseidon'\n}\n\nexport function RosettaSignatureFromJSON(json: any): RosettaSignature {\n return RosettaSignatureFromJSONTyped(json, false);\n}\n\nexport function RosettaSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaSignature {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'signing_payload': SigningPayloadFromJSON(json['signing_payload']),\n 'public_key': RosettaPublicKeyFromJSON(json['public_key']),\n 'signature_type': json['signature_type'],\n 'hex_bytes': json['hex_bytes'],\n };\n}\n\nexport function RosettaSignatureToJSON(value?: RosettaSignature | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'signing_payload': SigningPayloadToJSON(value.signing_payload),\n 'public_key': RosettaPublicKeyToJSON(value.public_key),\n 'signature_type': value.signature_type,\n 'hex_bytes': value.hex_bytes,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n NetworkIdentifier,\n NetworkIdentifierFromJSON,\n NetworkIdentifierFromJSONTyped,\n NetworkIdentifierToJSON,\n} from './';\n\n/**\n * This endpoint returns the current status of the network requested. Any NetworkIdentifier returned by /network/list should be accessible here.\n * @export\n * @interface RosettaStatusRequest\n */\nexport interface RosettaStatusRequest {\n /**\n * \n * @type {NetworkIdentifier}\n * @memberof RosettaStatusRequest\n */\n network_identifier: NetworkIdentifier;\n /**\n * \n * @type {object}\n * @memberof RosettaStatusRequest\n */\n metadata?: object;\n}\n\nexport function RosettaStatusRequestFromJSON(json: any): RosettaStatusRequest {\n return RosettaStatusRequestFromJSONTyped(json, false);\n}\n\nexport function RosettaStatusRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaStatusRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'network_identifier': NetworkIdentifierFromJSON(json['network_identifier']),\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaStatusRequestToJSON(value?: RosettaStatusRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'network_identifier': NetworkIdentifierToJSON(value.network_identifier),\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * An account may have state specific to a contract address (ERC-20 token) and/or a stake (delegated balance). The sub_account_identifier should specify which state (if applicable) an account instantiation refers to.\n * @export\n * @interface RosettaSubAccount\n */\nexport interface RosettaSubAccount {\n /**\n * The address may be a cryptographic public key (or some encoding of it) or a provided username.\n * @type {string}\n * @memberof RosettaSubAccount\n */\n address: string;\n /**\n * If the SubAccount address is not sufficient to uniquely specify a SubAccount, any other identifying information can be stored here. It is important to note that two SubAccounts with identical addresses but differing metadata will not be considered equal by clients.\n * @type {object}\n * @memberof RosettaSubAccount\n */\n metadata?: object;\n}\n\nexport function RosettaSubAccountFromJSON(json: any): RosettaSubAccount {\n return RosettaSubAccountFromJSONTyped(json, false);\n}\n\nexport function RosettaSubAccountFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaSubAccount {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'address': json['address'],\n 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],\n };\n}\n\nexport function RosettaSubAccountToJSON(value?: RosettaSubAccount | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'address': value.address,\n 'metadata': value.metadata,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * SyncStatus is used to provide additional context about an implementation's sync status. It is often used to indicate that an implementation is healthy when it cannot be queried until some sync phase occurs. If an implementation is immediately queryable, this model is often not populated.\n * @export\n * @interface RosettaSyncStatus\n */\nexport interface RosettaSyncStatus {\n /**\n * CurrentIndex is the index of the last synced block in the current stage.\n * @type {number}\n * @memberof RosettaSyncStatus\n */\n current_index: number;\n /**\n * TargetIndex is the index of the block that the implementation is attempting to sync to in the current stage.\n * @type {number}\n * @memberof RosettaSyncStatus\n */\n target_index?: number;\n /**\n * Stage is the phase of the sync process.\n * @type {string}\n * @memberof RosettaSyncStatus\n */\n stage?: string;\n /**\n * Synced indicates if an implementation has synced up to the most recent block.\n * @type {boolean}\n * @memberof RosettaSyncStatus\n */\n synced?: boolean;\n}\n\nexport function RosettaSyncStatusFromJSON(json: any): RosettaSyncStatus {\n return RosettaSyncStatusFromJSONTyped(json, false);\n}\n\nexport function RosettaSyncStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaSyncStatus {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'current_index': json['current_index'],\n 'target_index': !exists(json, 'target_index') ? undefined : json['target_index'],\n 'stage': !exists(json, 'stage') ? undefined : json['stage'],\n 'synced': !exists(json, 'synced') ? undefined : json['synced'],\n };\n}\n\nexport function RosettaSyncStatusToJSON(value?: RosettaSyncStatus | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'current_index': value.current_index,\n 'target_index': value.target_index,\n 'stage': value.stage,\n 'synced': value.synced,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaBlockMetadata,\n RosettaBlockMetadataFromJSON,\n RosettaBlockMetadataFromJSONTyped,\n RosettaBlockMetadataToJSON,\n RosettaOperation,\n RosettaOperationFromJSON,\n RosettaOperationFromJSONTyped,\n RosettaOperationToJSON,\n TransactionIdentifier,\n TransactionIdentifierFromJSON,\n TransactionIdentifierFromJSONTyped,\n TransactionIdentifierToJSON,\n} from './';\n\n/**\n * Transactions contain an array of Operations that are attributable to the same TransactionIdentifier.\n * @export\n * @interface RosettaTransaction\n */\nexport interface RosettaTransaction {\n /**\n * \n * @type {TransactionIdentifier}\n * @memberof RosettaTransaction\n */\n transaction_identifier: TransactionIdentifier;\n /**\n * List of operations\n * @type {Array<RosettaOperation>}\n * @memberof RosettaTransaction\n */\n operations: Array<RosettaOperation>;\n /**\n * \n * @type {RosettaBlockMetadata}\n * @memberof RosettaTransaction\n */\n metadata?: RosettaBlockMetadata;\n}\n\nexport function RosettaTransactionFromJSON(json: any): RosettaTransaction {\n return RosettaTransactionFromJSONTyped(json, false);\n}\n\nexport function RosettaTransactionFromJSONTyped(json: any, ignoreDiscriminator: boolean): RosettaTransaction {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'transaction_identifier': TransactionIdentifierFromJSON(json['transaction_identifier']),\n 'operations': ((json['operations'] as Array<any>).map(RosettaOperationFromJSON)),\n 'metadata': !exists(json, 'metadata') ? undefined : RosettaBlockMetadataFromJSON(json['metadata']),\n };\n}\n\nexport function RosettaTransactionToJSON(value?: RosettaTransaction | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'transaction_identifier': TransactionIdentifierToJSON(value.transaction_identifier),\n 'operations': ((value.operations as Array<any>).map(RosettaOperationToJSON)),\n 'metadata': RosettaBlockMetadataToJSON(value.metadata),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * POST request that initiates a transfer of tokens to a specified testnet address\n * @export\n * @interface RunFaucetResponse\n */\nexport interface RunFaucetResponse {\n /**\n * Indicates if the faucet call was successful\n * @type {boolean}\n * @memberof RunFaucetResponse\n */\n success: boolean;\n /**\n * The transaction ID for the faucet call\n * @type {string}\n * @memberof RunFaucetResponse\n */\n txId?: string;\n /**\n * Raw transaction in hex string representation\n * @type {string}\n * @memberof RunFaucetResponse\n */\n txRaw?: string;\n}\n\nexport function RunFaucetResponseFromJSON(json: any): RunFaucetResponse {\n return RunFaucetResponseFromJSONTyped(json, false);\n}\n\nexport function RunFaucetResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RunFaucetResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'success': json['success'],\n 'txId': !exists(json, 'txId') ? undefined : json['txId'],\n 'txRaw': !exists(json, 'txRaw') ? undefined : json['txRaw'],\n };\n}\n\nexport function RunFaucetResponseToJSON(value?: RunFaucetResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'success': value.success,\n 'txId': value.txId,\n 'txRaw': value.txRaw,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n ChainTip,\n ChainTipFromJSON,\n ChainTipFromJSONTyped,\n ChainTipToJSON,\n} from './';\n\n/**\n * GET blockchain API status\n * @export\n * @interface ServerStatusResponse\n */\nexport interface ServerStatusResponse {\n /**\n * the server version that is currently running\n * @type {string}\n * @memberof ServerStatusResponse\n */\n server_version?: string;\n /**\n * the current server status\n * @type {string}\n * @memberof ServerStatusResponse\n */\n status: string;\n /**\n * \n * @type {number}\n * @memberof ServerStatusResponse\n */\n pox_v1_unlock_height?: number | null;\n /**\n * \n * @type {number}\n * @memberof ServerStatusResponse\n */\n pox_v2_unlock_height?: number | null;\n /**\n * \n * @type {number}\n * @memberof ServerStatusResponse\n */\n pox_v3_unlock_height?: number | null;\n /**\n * \n * @type {ChainTip}\n * @memberof ServerStatusResponse\n */\n chain_tip?: ChainTip;\n}\n\nexport function ServerStatusResponseFromJSON(json: any): ServerStatusResponse {\n return ServerStatusResponseFromJSONTyped(json, false);\n}\n\nexport function ServerStatusResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerStatusResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'server_version': !exists(json, 'server_version') ? undefined : json['server_version'],\n 'status': json['status'],\n 'pox_v1_unlock_height': !exists(json, 'pox_v1_unlock_height') ? undefined : json['pox_v1_unlock_height'],\n 'pox_v2_unlock_height': !exists(json, 'pox_v2_unlock_height') ? undefined : json['pox_v2_unlock_height'],\n 'pox_v3_unlock_height': !exists(json, 'pox_v3_unlock_height') ? undefined : json['pox_v3_unlock_height'],\n 'chain_tip': !exists(json, 'chain_tip') ? undefined : ChainTipFromJSON(json['chain_tip']),\n };\n}\n\nexport function ServerStatusResponseToJSON(value?: ServerStatusResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'server_version': value.server_version,\n 'status': value.status,\n 'pox_v1_unlock_height': value.pox_v1_unlock_height,\n 'pox_v2_unlock_height': value.pox_v2_unlock_height,\n 'pox_v3_unlock_height': value.pox_v3_unlock_height,\n 'chain_tip': ChainTipToJSON(value.chain_tip),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n RosettaAccount,\n RosettaAccountFromJSON,\n RosettaAccountFromJSONTyped,\n RosettaAccountToJSON,\n} from './';\n\n/**\n * SigningPayload is signed by the client with the keypair associated with an address using the specified SignatureType. SignatureType can be optionally populated if there is a restriction on the signature scheme that can be used to sign the payload.\n * @export\n * @interface SigningPayload\n */\nexport interface SigningPayload {\n /**\n * [DEPRECATED by account_identifier in v1.4.4] The network-specific address of the account that should sign the payload.\n * @type {string}\n * @memberof SigningPayload\n */\n address?: string;\n /**\n * \n * @type {RosettaAccount}\n * @memberof SigningPayload\n */\n account_identifier?: RosettaAccount;\n /**\n * \n * @type {string}\n * @memberof SigningPayload\n */\n hex_bytes: string;\n /**\n * SignatureType is the type of a cryptographic signature.\n * @type {string}\n * @memberof SigningPayload\n */\n signature_type?: SigningPayloadSignatureTypeEnum;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum SigningPayloadSignatureTypeEnum {\n ecdsa = 'ecdsa',\n ecdsa_recovery = 'ecdsa_recovery',\n ed25519 = 'ed25519',\n schnorr_1 = 'schnorr_1',\n schnorr_poseidon = 'schnorr_poseidon'\n}\n\nexport function SigningPayloadFromJSON(json: any): SigningPayload {\n return SigningPayloadFromJSONTyped(json, false);\n}\n\nexport function SigningPayloadFromJSONTyped(json: any, ignoreDiscriminator: boolean): SigningPayload {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'address': !exists(json, 'address') ? undefined : json['address'],\n 'account_identifier': !exists(json, 'account_identifier') ? undefined : RosettaAccountFromJSON(json['account_identifier']),\n 'hex_bytes': json['hex_bytes'],\n 'signature_type': !exists(json, 'signature_type') ? undefined : json['signature_type'],\n };\n}\n\nexport function SigningPayloadToJSON(value?: SigningPayload | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'address': value.address,\n 'account_identifier': RosettaAccountToJSON(value.account_identifier),\n 'hex_bytes': value.hex_bytes,\n 'signature_type': value.signature_type,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * A Smart Contract Detail\n * @export\n * @interface SmartContract\n */\nexport interface SmartContract {\n /**\n * \n * @type {string}\n * @memberof SmartContract\n */\n tx_id: string;\n /**\n * \n * @type {boolean}\n * @memberof SmartContract\n */\n canonical: boolean;\n /**\n * \n * @type {string}\n * @memberof SmartContract\n */\n contract_id: string;\n /**\n * \n * @type {number}\n * @memberof SmartContract\n */\n block_height: number;\n /**\n * \n * @type {string}\n * @memberof SmartContract\n */\n source_code: string;\n /**\n * \n * @type {string}\n * @memberof SmartContract\n */\n abi: string;\n}\n\nexport function SmartContractFromJSON(json: any): SmartContract {\n return SmartContractFromJSONTyped(json, false);\n}\n\nexport function SmartContractFromJSONTyped(json: any, ignoreDiscriminator: boolean): SmartContract {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'tx_id': json['tx_id'],\n 'canonical': json['canonical'],\n 'contract_id': json['contract_id'],\n 'block_height': json['block_height'],\n 'source_code': json['source_code'],\n 'abi': json['abi'],\n };\n}\n\nexport function SmartContractToJSON(value?: SmartContract | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'tx_id': value.tx_id,\n 'canonical': value.canonical,\n 'contract_id': value.contract_id,\n 'block_height': value.block_height,\n 'source_code': value.source_code,\n 'abi': value.abi,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface StxBalance\n */\nexport interface StxBalance {\n /**\n * \n * @type {string}\n * @memberof StxBalance\n */\n balance: string;\n /**\n * \n * @type {string}\n * @memberof StxBalance\n */\n total_sent: string;\n /**\n * \n * @type {string}\n * @memberof StxBalance\n */\n total_received: string;\n /**\n * \n * @type {string}\n * @memberof StxBalance\n */\n total_fees_sent: string;\n /**\n * \n * @type {string}\n * @memberof StxBalance\n */\n total_miner_rewards_received: string;\n /**\n * The transaction where the lock event occurred. Empty if no tokens are locked.\n * @type {string}\n * @memberof StxBalance\n */\n lock_tx_id: string;\n /**\n * The amount of locked STX, as string quoted micro-STX. Zero if no tokens are locked.\n * @type {string}\n * @memberof StxBalance\n */\n locked: string;\n /**\n * The STX chain block height of when the lock event occurred. Zero if no tokens are locked.\n * @type {number}\n * @memberof StxBalance\n */\n lock_height: number;\n /**\n * The burnchain block height of when the lock event occurred. Zero if no tokens are locked.\n * @type {number}\n * @memberof StxBalance\n */\n burnchain_lock_height: number;\n /**\n * The burnchain block height of when the tokens unlock. Zero if no tokens are locked.\n * @type {number}\n * @memberof StxBalance\n */\n burnchain_unlock_height: number;\n}\n\nexport function StxBalanceFromJSON(json: any): StxBalance {\n return StxBalanceFromJSONTyped(json, false);\n}\n\nexport function StxBalanceFromJSONTyped(json: any, ignoreDiscriminator: boolean): StxBalance {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'balance': json['balance'],\n 'total_sent': json['total_sent'],\n 'total_received': json['total_received'],\n 'total_fees_sent': json['total_fees_sent'],\n 'total_miner_rewards_received': json['total_miner_rewards_received'],\n 'lock_tx_id': json['lock_tx_id'],\n 'locked': json['locked'],\n 'lock_height': json['lock_height'],\n 'burnchain_lock_height': json['burnchain_lock_height'],\n 'burnchain_unlock_height': json['burnchain_unlock_height'],\n };\n}\n\nexport function StxBalanceToJSON(value?: StxBalance | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'balance': value.balance,\n 'total_sent': value.total_sent,\n 'total_received': value.total_received,\n 'total_fees_sent': value.total_fees_sent,\n 'total_miner_rewards_received': value.total_miner_rewards_received,\n 'lock_tx_id': value.lock_tx_id,\n 'locked': value.locked,\n 'lock_height': value.lock_height,\n 'burnchain_lock_height': value.burnchain_lock_height,\n 'burnchain_unlock_height': value.burnchain_unlock_height,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface TargetBlockTime\n */\nexport interface TargetBlockTime {\n /**\n * \n * @type {number}\n * @memberof TargetBlockTime\n */\n target_block_time: number;\n}\n\nexport function TargetBlockTimeFromJSON(json: any): TargetBlockTime {\n return TargetBlockTimeFromJSONTyped(json, false);\n}\n\nexport function TargetBlockTimeFromJSONTyped(json: any, ignoreDiscriminator: boolean): TargetBlockTime {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'target_block_time': json['target_block_time'],\n };\n}\n\nexport function TargetBlockTimeToJSON(value?: TargetBlockTime | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'target_block_time': value.target_block_time,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET event for the given transaction\n * @export\n * @interface TransactionEventsResponse\n */\nexport interface TransactionEventsResponse {\n /**\n * \n * @type {number}\n * @memberof TransactionEventsResponse\n */\n limit: number;\n /**\n * \n * @type {number}\n * @memberof TransactionEventsResponse\n */\n offset: number;\n /**\n * \n * @type {Array<object>}\n * @memberof TransactionEventsResponse\n */\n results: Array<object>;\n}\n\nexport function TransactionEventsResponseFromJSON(json: any): TransactionEventsResponse {\n return TransactionEventsResponseFromJSONTyped(json, false);\n}\n\nexport function TransactionEventsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionEventsResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'results': json['results'],\n };\n}\n\nexport function TransactionEventsResponseToJSON(value?: TransactionEventsResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'results': value.results,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * POST request for estimated fee\n * @export\n * @interface TransactionFeeEstimateRequest\n */\nexport interface TransactionFeeEstimateRequest {\n /**\n * \n * @type {string}\n * @memberof TransactionFeeEstimateRequest\n */\n transaction_payload: string;\n /**\n * \n * @type {number}\n * @memberof TransactionFeeEstimateRequest\n */\n estimated_len?: number;\n}\n\nexport function TransactionFeeEstimateRequestFromJSON(json: any): TransactionFeeEstimateRequest {\n return TransactionFeeEstimateRequestFromJSONTyped(json, false);\n}\n\nexport function TransactionFeeEstimateRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionFeeEstimateRequest {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'transaction_payload': json['transaction_payload'],\n 'estimated_len': !exists(json, 'estimated_len') ? undefined : json['estimated_len'],\n };\n}\n\nexport function TransactionFeeEstimateRequestToJSON(value?: TransactionFeeEstimateRequest | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'transaction_payload': value.transaction_payload,\n 'estimated_len': value.estimated_len,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport {\n TransactionFeeEstimateResponseEstimatedCost,\n TransactionFeeEstimateResponseEstimatedCostFromJSON,\n TransactionFeeEstimateResponseEstimatedCostFromJSONTyped,\n TransactionFeeEstimateResponseEstimatedCostToJSON,\n TransactionFeeEstimateResponseEstimations,\n TransactionFeeEstimateResponseEstimationsFromJSON,\n TransactionFeeEstimateResponseEstimationsFromJSONTyped,\n TransactionFeeEstimateResponseEstimationsToJSON,\n} from './';\n\n/**\n * POST response for estimated fee\n * @export\n * @interface TransactionFeeEstimateResponse\n */\nexport interface TransactionFeeEstimateResponse {\n /**\n * \n * @type {number}\n * @memberof TransactionFeeEstimateResponse\n */\n estimated_cost_scalar: number;\n /**\n * \n * @type {number}\n * @memberof TransactionFeeEstimateResponse\n */\n cost_scalar_change_by_byte?: number;\n /**\n * \n * @type {TransactionFeeEstimateResponseEstimatedCost}\n * @memberof TransactionFeeEstimateResponse\n */\n estimated_cost: TransactionFeeEstimateResponseEstimatedCost;\n /**\n * \n * @type {Array<TransactionFeeEstimateResponseEstimations>}\n * @memberof TransactionFeeEstimateResponse\n */\n estimations?: Array<TransactionFeeEstimateResponseEstimations>;\n}\n\nexport function TransactionFeeEstimateResponseFromJSON(json: any): TransactionFeeEstimateResponse {\n return TransactionFeeEstimateResponseFromJSONTyped(json, false);\n}\n\nexport function TransactionFeeEstimateResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionFeeEstimateResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'estimated_cost_scalar': json['estimated_cost_scalar'],\n 'cost_scalar_change_by_byte': !exists(json, 'cost_scalar_change_by_byte') ? undefined : json['cost_scalar_change_by_byte'],\n 'estimated_cost': TransactionFeeEstimateResponseEstimatedCostFromJSON(json['estimated_cost']),\n 'estimations': !exists(json, 'estimations') ? undefined : ((json['estimations'] as Array<any>).map(TransactionFeeEstimateResponseEstimationsFromJSON)),\n };\n}\n\nexport function TransactionFeeEstimateResponseToJSON(value?: TransactionFeeEstimateResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'estimated_cost_scalar': value.estimated_cost_scalar,\n 'cost_scalar_change_by_byte': value.cost_scalar_change_by_byte,\n 'estimated_cost': TransactionFeeEstimateResponseEstimatedCostToJSON(value.estimated_cost),\n 'estimations': value.estimations === undefined ? undefined : ((value.estimations as Array<any>).map(TransactionFeeEstimateResponseEstimationsToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface TransactionFeeEstimateResponseEstimatedCost\n */\nexport interface TransactionFeeEstimateResponseEstimatedCost {\n /**\n * \n * @type {number}\n * @memberof TransactionFeeEstimateResponseEstimatedCost\n */\n read_count: number;\n /**\n * \n * @type {number}\n * @memberof TransactionFeeEstimateResponseEstimatedCost\n */\n read_length: number;\n /**\n * \n * @type {number}\n * @memberof TransactionFeeEstimateResponseEstimatedCost\n */\n runtime: number;\n /**\n * \n * @type {number}\n * @memberof TransactionFeeEstimateResponseEstimatedCost\n */\n write_count: number;\n /**\n * \n * @type {number}\n * @memberof TransactionFeeEstimateResponseEstimatedCost\n */\n write_length: number;\n}\n\nexport function TransactionFeeEstimateResponseEstimatedCostFromJSON(json: any): TransactionFeeEstimateResponseEstimatedCost {\n return TransactionFeeEstimateResponseEstimatedCostFromJSONTyped(json, false);\n}\n\nexport function TransactionFeeEstimateResponseEstimatedCostFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionFeeEstimateResponseEstimatedCost {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'read_count': json['read_count'],\n 'read_length': json['read_length'],\n 'runtime': json['runtime'],\n 'write_count': json['write_count'],\n 'write_length': json['write_length'],\n };\n}\n\nexport function TransactionFeeEstimateResponseEstimatedCostToJSON(value?: TransactionFeeEstimateResponseEstimatedCost | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'read_count': value.read_count,\n 'read_length': value.read_length,\n 'runtime': value.runtime,\n 'write_count': value.write_count,\n 'write_length': value.write_length,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface TransactionFeeEstimateResponseEstimations\n */\nexport interface TransactionFeeEstimateResponseEstimations {\n /**\n * \n * @type {number}\n * @memberof TransactionFeeEstimateResponseEstimations\n */\n fee_rate?: number;\n /**\n * \n * @type {number}\n * @memberof TransactionFeeEstimateResponseEstimations\n */\n fee?: number;\n}\n\nexport function TransactionFeeEstimateResponseEstimationsFromJSON(json: any): TransactionFeeEstimateResponseEstimations {\n return TransactionFeeEstimateResponseEstimationsFromJSONTyped(json, false);\n}\n\nexport function TransactionFeeEstimateResponseEstimationsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionFeeEstimateResponseEstimations {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'fee_rate': !exists(json, 'fee_rate') ? undefined : json['fee_rate'],\n 'fee': !exists(json, 'fee') ? undefined : json['fee'],\n };\n}\n\nexport function TransactionFeeEstimateResponseEstimationsToJSON(value?: TransactionFeeEstimateResponseEstimations | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'fee_rate': value.fee_rate,\n 'fee': value.fee,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * The transaction_identifier uniquely identifies a transaction in a particular network and block or in the mempool.\n * @export\n * @interface TransactionIdentifier\n */\nexport interface TransactionIdentifier {\n /**\n * Any transactions that are attributable only to a block (ex: a block event) should use the hash of the block as the identifier.\n * @type {string}\n * @memberof TransactionIdentifier\n */\n hash: string;\n}\n\nexport function TransactionIdentifierFromJSON(json: any): TransactionIdentifier {\n return TransactionIdentifierFromJSONTyped(json, false);\n}\n\nexport function TransactionIdentifierFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionIdentifier {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'hash': json['hash'],\n };\n}\n\nexport function TransactionIdentifierToJSON(value?: TransactionIdentifier | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'hash': value.hash,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request that returns transactions\n * @export\n * @interface TransactionResults\n */\nexport interface TransactionResults {\n /**\n * The number of transactions to return\n * @type {number}\n * @memberof TransactionResults\n */\n limit: number;\n /**\n * The number to transactions to skip (starting at `0`)\n * @type {number}\n * @memberof TransactionResults\n */\n offset: number;\n /**\n * The number of transactions available\n * @type {number}\n * @memberof TransactionResults\n */\n total: number;\n /**\n * \n * @type {Array<object>}\n * @memberof TransactionResults\n */\n results: Array<object>;\n}\n\nexport function TransactionResultsFromJSON(json: any): TransactionResults {\n return TransactionResultsFromJSONTyped(json, false);\n}\n\nexport function TransactionResultsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionResults {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'limit': json['limit'],\n 'offset': json['offset'],\n 'total': json['total'],\n 'results': json['results'],\n };\n}\n\nexport function TransactionResultsToJSON(value?: TransactionResults | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'limit': value.limit,\n 'offset': value.offset,\n 'total': value.total,\n 'results': value.results,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * GET request that returns unanchored transactions\n * @export\n * @interface UnanchoredTransactionListResponse\n */\nexport interface UnanchoredTransactionListResponse {\n /**\n * The number of unanchored transactions available\n * @type {number}\n * @memberof UnanchoredTransactionListResponse\n */\n total: number;\n /**\n * \n * @type {Array<object>}\n * @memberof UnanchoredTransactionListResponse\n */\n results: Array<object>;\n}\n\nexport function UnanchoredTransactionListResponseFromJSON(json: any): UnanchoredTransactionListResponse {\n return UnanchoredTransactionListResponseFromJSONTyped(json, false);\n}\n\nexport function UnanchoredTransactionListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): UnanchoredTransactionListResponse {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'total': json['total'],\n 'results': json['results'],\n };\n}\n\nexport function UnanchoredTransactionListResponseToJSON(value?: UnanchoredTransactionListResponse | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'total': value.total,\n 'results': value.results,\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n AccountDataResponse,\n AccountDataResponseFromJSON,\n AccountDataResponseToJSON,\n AddressAssetsListResponse,\n AddressAssetsListResponseFromJSON,\n AddressAssetsListResponseToJSON,\n AddressBalanceResponse,\n AddressBalanceResponseFromJSON,\n AddressBalanceResponseToJSON,\n AddressNonces,\n AddressNoncesFromJSON,\n AddressNoncesToJSON,\n AddressStxInboundListResponse,\n AddressStxInboundListResponseFromJSON,\n AddressStxInboundListResponseToJSON,\n AddressTransactionWithTransfers,\n AddressTransactionWithTransfersFromJSON,\n AddressTransactionWithTransfersToJSON,\n AddressTransactionsListResponse,\n AddressTransactionsListResponseFromJSON,\n AddressTransactionsListResponseToJSON,\n AddressTransactionsWithTransfersListResponse,\n AddressTransactionsWithTransfersListResponseFromJSON,\n AddressTransactionsWithTransfersListResponseToJSON,\n} from '../models';\n\nexport interface GetAccountAssetsRequest {\n principal: string;\n limit?: number;\n offset?: number;\n unanchored?: boolean;\n untilBlock?: string;\n}\n\nexport interface GetAccountBalanceRequest {\n principal: string;\n unanchored?: boolean;\n untilBlock?: string;\n}\n\nexport interface GetAccountInboundRequest {\n principal: string;\n limit?: number;\n offset?: number;\n height?: number;\n unanchored?: boolean;\n untilBlock?: string;\n}\n\nexport interface GetAccountInfoRequest {\n principal: string;\n proof?: number;\n tip?: string;\n}\n\nexport interface GetAccountNoncesRequest {\n principal: string;\n blockHeight?: number;\n blockHash?: string;\n}\n\nexport interface GetAccountStxBalanceRequest {\n principal: string;\n unanchored?: boolean;\n untilBlock?: string;\n}\n\nexport interface GetAccountTransactionsRequest {\n principal: string;\n limit?: number;\n offset?: number;\n height?: number;\n unanchored?: boolean;\n untilBlock?: string;\n}\n\nexport interface GetAccountTransactionsWithTransfersRequest {\n principal: string;\n limit?: number;\n offset?: number;\n height?: number;\n unanchored?: boolean;\n untilBlock?: string;\n}\n\nexport interface GetSingleTransactionWithTransfersRequest {\n principal: string;\n txId: string;\n}\n\n/**\n * AccountsApi - interface\n * \n * @export\n * @interface AccountsApiInterface\n */\nexport interface AccountsApiInterface {\n /**\n * Retrieves a list of all assets events associated with an account or a Contract Identifier. This includes Transfers, Mints.\n * @summary Get account assets\n * @param {string} principal Stacks address or a Contract identifier\n * @param {number} [limit] max number of account assets to fetch\n * @param {number} [offset] index of first account assets to fetch\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {string} [untilBlock] returned data representing the state at that point in time, rather than the current block. Note - Use either of the query parameters but not both at a time.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountsApiInterface\n */\n getAccountAssetsRaw(requestParameters: GetAccountAssetsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressAssetsListResponse>>;\n\n /**\n * Retrieves a list of all assets events associated with an account or a Contract Identifier. This includes Transfers, Mints.\n * Get account assets\n */\n getAccountAssets(requestParameters: GetAccountAssetsRequest, initOverrides?: RequestInit): Promise<AddressAssetsListResponse>;\n\n /**\n * Retrieves total account balance information for a given Address or Contract Identifier. This includes the balances of STX Tokens, Fungible Tokens and Non-Fungible Tokens for the account.\n * @summary Get account balances\n * @param {string} principal Stacks address or a Contract identifier\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {string} [untilBlock] returned data representing the state up until that point in time, rather than the current block.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountsApiInterface\n */\n getAccountBalanceRaw(requestParameters: GetAccountBalanceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressBalanceResponse>>;\n\n /**\n * Retrieves total account balance information for a given Address or Contract Identifier. This includes the balances of STX Tokens, Fungible Tokens and Non-Fungible Tokens for the account.\n * Get account balances\n */\n getAccountBalance(requestParameters: GetAccountBalanceRequest, initOverrides?: RequestInit): Promise<AddressBalanceResponse>;\n\n /**\n * Retrieves a list of STX transfers with memos to the given principal. This includes regular transfers from a stx-transfer transaction type, and transfers from contract-call transactions a the `send-many-memo` bulk sending contract. \n * @summary Get inbound STX transfers\n * @param {string} principal Stacks address or a Contract identifier\n * @param {number} [limit] number of items to return\n * @param {number} [offset] number of items to skip\n * @param {number} [height] Filter for transfers only at this given block height\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {string} [untilBlock] returned data representing the state up until that point in time, rather than the current block. Note - Use either of the query parameters but not both at a time.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountsApiInterface\n */\n getAccountInboundRaw(requestParameters: GetAccountInboundRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressStxInboundListResponse>>;\n\n /**\n * Retrieves a list of STX transfers with memos to the given principal. This includes regular transfers from a stx-transfer transaction type, and transfers from contract-call transactions a the `send-many-memo` bulk sending contract. \n * Get inbound STX transfers\n */\n getAccountInbound(requestParameters: GetAccountInboundRequest, initOverrides?: RequestInit): Promise<AddressStxInboundListResponse>;\n\n /**\n * Retrieves the account data for a given Account or a Contract Identifier Where balance is the hex encoding of a unsigned 128-bit integer (big-endian), nonce is an unsigned 64-bit integer, and the proofs are provided as hex strings. For non-existent accounts, this does not return a 404 error, rather it returns an object with balance and nonce of 0. \n * @summary Get account info\n * @param {string} principal Stacks address or a Contract identifier\n * @param {number} [proof] Returns object without the proof field if set to 0\n * @param {string} [tip] The Stacks chain tip to query from\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountsApiInterface\n */\n getAccountInfoRaw(requestParameters: GetAccountInfoRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AccountDataResponse>>;\n\n /**\n * Retrieves the account data for a given Account or a Contract Identifier Where balance is the hex encoding of a unsigned 128-bit integer (big-endian), nonce is an unsigned 64-bit integer, and the proofs are provided as hex strings. For non-existent accounts, this does not return a 404 error, rather it returns an object with balance and nonce of 0. \n * Get account info\n */\n getAccountInfo(requestParameters: GetAccountInfoRequest, initOverrides?: RequestInit): Promise<AccountDataResponse>;\n\n /**\n * Retrieves the latest nonce values used by an account by inspecting the mempool, microblock transactions, and anchored transactions.\n * @summary Get the latest nonce used by an account\n * @param {string} principal Stacks address\n * @param {number} [blockHeight] Optionally get the nonce at a given block height.\n * @param {string} [blockHash] Optionally get the nonce at a given block hash. Note - Use either of the query parameters but not both at a time.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountsApiInterface\n */\n getAccountNoncesRaw(requestParameters: GetAccountNoncesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressNonces>>;\n\n /**\n * Retrieves the latest nonce values used by an account by inspecting the mempool, microblock transactions, and anchored transactions.\n * Get the latest nonce used by an account\n */\n getAccountNonces(requestParameters: GetAccountNoncesRequest, initOverrides?: RequestInit): Promise<AddressNonces>;\n\n /**\n * Retrieves STX token balance for a given Address or Contract Identifier.\n * @summary Get account STX balance\n * @param {string} principal Stacks address or a Contract identifier.\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks.\n * @param {string} [untilBlock] returned data representing the state up until that point in time, rather than the current block. Note - Use either of the query parameters but not both at a time.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountsApiInterface\n */\n getAccountStxBalanceRaw(requestParameters: GetAccountStxBalanceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>>;\n\n /**\n * Retrieves STX token balance for a given Address or Contract Identifier.\n * Get account STX balance\n */\n getAccountStxBalance(requestParameters: GetAccountStxBalanceRequest, initOverrides?: RequestInit): Promise<object>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get address transactions](/api/get-address-transactions). Retrieves a list of all Transactions for a given Address or Contract Identifier. More information on Transaction types can be found [here](https://docs.stacks.co/understand-stacks/transactions#types). If you need to actively monitor new transactions for an address or contract id, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * @summary Get account transactions\n * @param {string} principal Stacks address or a Contract identifier\n * @param {number} [limit] max number of account transactions to fetch\n * @param {number} [offset] index of first account transaction to fetch\n * @param {number} [height] Filter for transactions only at this given block height\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {string} [untilBlock] returned data representing the state up until that point in time, rather than the current block. Note - Use either of the query parameters but not both at a time.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountsApiInterface\n */\n getAccountTransactionsRaw(requestParameters: GetAccountTransactionsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressTransactionsListResponse>>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get address transactions](/api/get-address-transactions). Retrieves a list of all Transactions for a given Address or Contract Identifier. More information on Transaction types can be found [here](https://docs.stacks.co/understand-stacks/transactions#types). If you need to actively monitor new transactions for an address or contract id, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get account transactions\n */\n getAccountTransactions(requestParameters: GetAccountTransactionsRequest, initOverrides?: RequestInit): Promise<AddressTransactionsListResponse>;\n\n /**\n * Retrieve all transactions for an account or contract identifier including STX transfers for each transaction.\n * @summary Get account transactions including STX transfers for each transaction.\n * @param {string} principal Stacks address or a Contract identifier\n * @param {number} [limit] max number of account transactions to fetch\n * @param {number} [offset] index of first account transaction to fetch\n * @param {number} [height] Filter for transactions only at this given block height\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {string} [untilBlock] returned data representing the state up until that point in time, rather than the current block.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountsApiInterface\n */\n getAccountTransactionsWithTransfersRaw(requestParameters: GetAccountTransactionsWithTransfersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressTransactionsWithTransfersListResponse>>;\n\n /**\n * Retrieve all transactions for an account or contract identifier including STX transfers for each transaction.\n * Get account transactions including STX transfers for each transaction.\n */\n getAccountTransactionsWithTransfers(requestParameters: GetAccountTransactionsWithTransfersRequest, initOverrides?: RequestInit): Promise<AddressTransactionsWithTransfersListResponse>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get events for an address transaction](/api/get-address-transaction-events). Retrieves transaction details for a given Transaction Id `tx_id`, for a given account or contract Identifier. \n * @summary Get account transaction information for specific transaction\n * @param {string} principal Stacks address or a contract identifier\n * @param {string} txId Transaction id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountsApiInterface\n */\n getSingleTransactionWithTransfersRaw(requestParameters: GetSingleTransactionWithTransfersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressTransactionWithTransfers>>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get events for an address transaction](/api/get-address-transaction-events). Retrieves transaction details for a given Transaction Id `tx_id`, for a given account or contract Identifier. \n * Get account transaction information for specific transaction\n */\n getSingleTransactionWithTransfers(requestParameters: GetSingleTransactionWithTransfersRequest, initOverrides?: RequestInit): Promise<AddressTransactionWithTransfers>;\n\n}\n\n/**\n * \n */\nexport class AccountsApi extends runtime.BaseAPI implements AccountsApiInterface {\n\n /**\n * Retrieves a list of all assets events associated with an account or a Contract Identifier. This includes Transfers, Mints.\n * Get account assets\n */\n async getAccountAssetsRaw(requestParameters: GetAccountAssetsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressAssetsListResponse>> {\n if (requestParameters.principal === null || requestParameters.principal === undefined) {\n throw new runtime.RequiredError('principal','Required parameter requestParameters.principal was null or undefined when calling getAccountAssets.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n if (requestParameters.untilBlock !== undefined) {\n queryParameters['until_block'] = requestParameters.untilBlock;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/address/{principal}/assets`.replace(`{${\"principal\"}}`, encodeURIComponent(String(requestParameters.principal))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AddressAssetsListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of all assets events associated with an account or a Contract Identifier. This includes Transfers, Mints.\n * Get account assets\n */\n async getAccountAssets(requestParameters: GetAccountAssetsRequest, initOverrides?: RequestInit): Promise<AddressAssetsListResponse> {\n const response = await this.getAccountAssetsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves total account balance information for a given Address or Contract Identifier. This includes the balances of STX Tokens, Fungible Tokens and Non-Fungible Tokens for the account.\n * Get account balances\n */\n async getAccountBalanceRaw(requestParameters: GetAccountBalanceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressBalanceResponse>> {\n if (requestParameters.principal === null || requestParameters.principal === undefined) {\n throw new runtime.RequiredError('principal','Required parameter requestParameters.principal was null or undefined when calling getAccountBalance.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n if (requestParameters.untilBlock !== undefined) {\n queryParameters['until_block'] = requestParameters.untilBlock;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/address/{principal}/balances`.replace(`{${\"principal\"}}`, encodeURIComponent(String(requestParameters.principal))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AddressBalanceResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves total account balance information for a given Address or Contract Identifier. This includes the balances of STX Tokens, Fungible Tokens and Non-Fungible Tokens for the account.\n * Get account balances\n */\n async getAccountBalance(requestParameters: GetAccountBalanceRequest, initOverrides?: RequestInit): Promise<AddressBalanceResponse> {\n const response = await this.getAccountBalanceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of STX transfers with memos to the given principal. This includes regular transfers from a stx-transfer transaction type, and transfers from contract-call transactions a the `send-many-memo` bulk sending contract. \n * Get inbound STX transfers\n */\n async getAccountInboundRaw(requestParameters: GetAccountInboundRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressStxInboundListResponse>> {\n if (requestParameters.principal === null || requestParameters.principal === undefined) {\n throw new runtime.RequiredError('principal','Required parameter requestParameters.principal was null or undefined when calling getAccountInbound.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.height !== undefined) {\n queryParameters['height'] = requestParameters.height;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n if (requestParameters.untilBlock !== undefined) {\n queryParameters['until_block'] = requestParameters.untilBlock;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/address/{principal}/stx_inbound`.replace(`{${\"principal\"}}`, encodeURIComponent(String(requestParameters.principal))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AddressStxInboundListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of STX transfers with memos to the given principal. This includes regular transfers from a stx-transfer transaction type, and transfers from contract-call transactions a the `send-many-memo` bulk sending contract. \n * Get inbound STX transfers\n */\n async getAccountInbound(requestParameters: GetAccountInboundRequest, initOverrides?: RequestInit): Promise<AddressStxInboundListResponse> {\n const response = await this.getAccountInboundRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the account data for a given Account or a Contract Identifier Where balance is the hex encoding of a unsigned 128-bit integer (big-endian), nonce is an unsigned 64-bit integer, and the proofs are provided as hex strings. For non-existent accounts, this does not return a 404 error, rather it returns an object with balance and nonce of 0. \n * Get account info\n */\n async getAccountInfoRaw(requestParameters: GetAccountInfoRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AccountDataResponse>> {\n if (requestParameters.principal === null || requestParameters.principal === undefined) {\n throw new runtime.RequiredError('principal','Required parameter requestParameters.principal was null or undefined when calling getAccountInfo.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.proof !== undefined) {\n queryParameters['proof'] = requestParameters.proof;\n }\n\n if (requestParameters.tip !== undefined) {\n queryParameters['tip'] = requestParameters.tip;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v2/accounts/{principal}`.replace(`{${\"principal\"}}`, encodeURIComponent(String(requestParameters.principal))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AccountDataResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the account data for a given Account or a Contract Identifier Where balance is the hex encoding of a unsigned 128-bit integer (big-endian), nonce is an unsigned 64-bit integer, and the proofs are provided as hex strings. For non-existent accounts, this does not return a 404 error, rather it returns an object with balance and nonce of 0. \n * Get account info\n */\n async getAccountInfo(requestParameters: GetAccountInfoRequest, initOverrides?: RequestInit): Promise<AccountDataResponse> {\n const response = await this.getAccountInfoRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the latest nonce values used by an account by inspecting the mempool, microblock transactions, and anchored transactions.\n * Get the latest nonce used by an account\n */\n async getAccountNoncesRaw(requestParameters: GetAccountNoncesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressNonces>> {\n if (requestParameters.principal === null || requestParameters.principal === undefined) {\n throw new runtime.RequiredError('principal','Required parameter requestParameters.principal was null or undefined when calling getAccountNonces.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.blockHeight !== undefined) {\n queryParameters['block_height'] = requestParameters.blockHeight;\n }\n\n if (requestParameters.blockHash !== undefined) {\n queryParameters['block_hash'] = requestParameters.blockHash;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/address/{principal}/nonces`.replace(`{${\"principal\"}}`, encodeURIComponent(String(requestParameters.principal))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AddressNoncesFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the latest nonce values used by an account by inspecting the mempool, microblock transactions, and anchored transactions.\n * Get the latest nonce used by an account\n */\n async getAccountNonces(requestParameters: GetAccountNoncesRequest, initOverrides?: RequestInit): Promise<AddressNonces> {\n const response = await this.getAccountNoncesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves STX token balance for a given Address or Contract Identifier.\n * Get account STX balance\n */\n async getAccountStxBalanceRaw(requestParameters: GetAccountStxBalanceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>> {\n if (requestParameters.principal === null || requestParameters.principal === undefined) {\n throw new runtime.RequiredError('principal','Required parameter requestParameters.principal was null or undefined when calling getAccountStxBalance.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n if (requestParameters.untilBlock !== undefined) {\n queryParameters['until_block'] = requestParameters.untilBlock;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/address/{principal}/stx`.replace(`{${\"principal\"}}`, encodeURIComponent(String(requestParameters.principal))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Retrieves STX token balance for a given Address or Contract Identifier.\n * Get account STX balance\n */\n async getAccountStxBalance(requestParameters: GetAccountStxBalanceRequest, initOverrides?: RequestInit): Promise<object> {\n const response = await this.getAccountStxBalanceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get address transactions](/api/get-address-transactions). Retrieves a list of all Transactions for a given Address or Contract Identifier. More information on Transaction types can be found [here](https://docs.stacks.co/understand-stacks/transactions#types). If you need to actively monitor new transactions for an address or contract id, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get account transactions\n */\n async getAccountTransactionsRaw(requestParameters: GetAccountTransactionsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressTransactionsListResponse>> {\n if (requestParameters.principal === null || requestParameters.principal === undefined) {\n throw new runtime.RequiredError('principal','Required parameter requestParameters.principal was null or undefined when calling getAccountTransactions.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.height !== undefined) {\n queryParameters['height'] = requestParameters.height;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n if (requestParameters.untilBlock !== undefined) {\n queryParameters['until_block'] = requestParameters.untilBlock;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/address/{principal}/transactions`.replace(`{${\"principal\"}}`, encodeURIComponent(String(requestParameters.principal))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AddressTransactionsListResponseFromJSON(jsonValue));\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get address transactions](/api/get-address-transactions). Retrieves a list of all Transactions for a given Address or Contract Identifier. More information on Transaction types can be found [here](https://docs.stacks.co/understand-stacks/transactions#types). If you need to actively monitor new transactions for an address or contract id, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get account transactions\n */\n async getAccountTransactions(requestParameters: GetAccountTransactionsRequest, initOverrides?: RequestInit): Promise<AddressTransactionsListResponse> {\n const response = await this.getAccountTransactionsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieve all transactions for an account or contract identifier including STX transfers for each transaction.\n * Get account transactions including STX transfers for each transaction.\n */\n async getAccountTransactionsWithTransfersRaw(requestParameters: GetAccountTransactionsWithTransfersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressTransactionsWithTransfersListResponse>> {\n if (requestParameters.principal === null || requestParameters.principal === undefined) {\n throw new runtime.RequiredError('principal','Required parameter requestParameters.principal was null or undefined when calling getAccountTransactionsWithTransfers.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.height !== undefined) {\n queryParameters['height'] = requestParameters.height;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n if (requestParameters.untilBlock !== undefined) {\n queryParameters['until_block'] = requestParameters.untilBlock;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/address/{principal}/transactions_with_transfers`.replace(`{${\"principal\"}}`, encodeURIComponent(String(requestParameters.principal))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AddressTransactionsWithTransfersListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieve all transactions for an account or contract identifier including STX transfers for each transaction.\n * Get account transactions including STX transfers for each transaction.\n */\n async getAccountTransactionsWithTransfers(requestParameters: GetAccountTransactionsWithTransfersRequest, initOverrides?: RequestInit): Promise<AddressTransactionsWithTransfersListResponse> {\n const response = await this.getAccountTransactionsWithTransfersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get events for an address transaction](/api/get-address-transaction-events). Retrieves transaction details for a given Transaction Id `tx_id`, for a given account or contract Identifier. \n * Get account transaction information for specific transaction\n */\n async getSingleTransactionWithTransfersRaw(requestParameters: GetSingleTransactionWithTransfersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressTransactionWithTransfers>> {\n if (requestParameters.principal === null || requestParameters.principal === undefined) {\n throw new runtime.RequiredError('principal','Required parameter requestParameters.principal was null or undefined when calling getSingleTransactionWithTransfers.');\n }\n\n if (requestParameters.txId === null || requestParameters.txId === undefined) {\n throw new runtime.RequiredError('txId','Required parameter requestParameters.txId was null or undefined when calling getSingleTransactionWithTransfers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/address/{principal}/{tx_id}/with_transfers`.replace(`{${\"principal\"}}`, encodeURIComponent(String(requestParameters.principal))).replace(`{${\"tx_id\"}}`, encodeURIComponent(String(requestParameters.txId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AddressTransactionWithTransfersFromJSON(jsonValue));\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get events for an address transaction](/api/get-address-transaction-events). Retrieves transaction details for a given Transaction Id `tx_id`, for a given account or contract Identifier. \n * Get account transaction information for specific transaction\n */\n async getSingleTransactionWithTransfers(requestParameters: GetSingleTransactionWithTransfersRequest, initOverrides?: RequestInit): Promise<AddressTransactionWithTransfers> {\n const response = await this.getSingleTransactionWithTransfersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n AverageBlockTimesResponse,\n AverageBlockTimesResponseFromJSON,\n AverageBlockTimesResponseToJSON,\n Block,\n BlockFromJSON,\n BlockToJSON,\n BlockListResponse,\n BlockListResponseFromJSON,\n BlockListResponseToJSON,\n NakamotoBlock,\n NakamotoBlockFromJSON,\n NakamotoBlockToJSON,\n NakamotoBlockListResponse,\n NakamotoBlockListResponseFromJSON,\n NakamotoBlockListResponseToJSON,\n} from '../models';\n\nexport interface GetBlockRequest {\n heightOrHash: number | string;\n}\n\nexport interface GetBlockByBurnBlockHashRequest {\n burnBlockHash: string;\n}\n\nexport interface GetBlockByBurnBlockHeightRequest {\n burnBlockHeight: number;\n}\n\nexport interface GetBlockByHashRequest {\n hash: string;\n}\n\nexport interface GetBlockByHeightRequest {\n height: number;\n}\n\nexport interface GetBlockListRequest {\n limit?: number;\n offset?: number;\n}\n\nexport interface GetBlocksRequest {\n limit?: number;\n offset?: number;\n}\n\nexport interface GetBlocksByBurnBlockRequest {\n heightOrHash: number | string;\n limit?: number;\n offset?: number;\n}\n\n/**\n * BlocksApi - interface\n * \n * @export\n * @interface BlocksApiInterface\n */\nexport interface BlocksApiInterface {\n /**\n * Retrieves average block times (in seconds) \n * @summary Get average block times\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BlocksApiInterface\n */\n getAverageBlockTimesRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<AverageBlockTimesResponse>>;\n\n /**\n * Retrieves average block times (in seconds) \n * Get average block times\n */\n getAverageBlockTimes(initOverrides?: RequestInit): Promise<AverageBlockTimesResponse>;\n\n /**\n * Retrieves a single block \n * @summary Get block\n * @param {number | string} heightOrHash filter by block height, hash, index block hash or the constant `latest` to filter for the most recent block\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BlocksApiInterface\n */\n getBlockRaw(requestParameters: GetBlockRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NakamotoBlock>>;\n\n /**\n * Retrieves a single block \n * Get block\n */\n getBlock(requestParameters: GetBlockRequest, initOverrides?: RequestInit): Promise<NakamotoBlock>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves block details of a specific block for a given burnchain block hash \n * @summary Get block by burnchain block hash\n * @param {string} burnBlockHash Hash of the burnchain block\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BlocksApiInterface\n */\n getBlockByBurnBlockHashRaw(requestParameters: GetBlockByBurnBlockHashRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Block>>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves block details of a specific block for a given burnchain block hash \n * Get block by burnchain block hash\n */\n getBlockByBurnBlockHash(requestParameters: GetBlockByBurnBlockHashRequest, initOverrides?: RequestInit): Promise<Block>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves block details of a specific block for a given burn chain height \n * @summary Get block by burnchain height\n * @param {number} burnBlockHeight Height of the burn chain block\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BlocksApiInterface\n */\n getBlockByBurnBlockHeightRaw(requestParameters: GetBlockByBurnBlockHeightRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Block>>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves block details of a specific block for a given burn chain height \n * Get block by burnchain height\n */\n getBlockByBurnBlockHeight(requestParameters: GetBlockByBurnBlockHeightRequest, initOverrides?: RequestInit): Promise<Block>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get block](/api/get-block). Retrieves block details of a specific block for a given chain height. You can use the hash from your latest block (\\'get_block_list\\' API) to get your block details. \n * @summary Get block by hash\n * @param {string} hash Hash of the block\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BlocksApiInterface\n */\n getBlockByHashRaw(requestParameters: GetBlockByHashRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Block>>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get block](/api/get-block). Retrieves block details of a specific block for a given chain height. You can use the hash from your latest block (\\'get_block_list\\' API) to get your block details. \n * Get block by hash\n */\n getBlockByHash(requestParameters: GetBlockByHashRequest, initOverrides?: RequestInit): Promise<Block>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get block](/api/get-block). Retrieves block details of a specific block at a given block height \n * @summary Get block by height\n * @param {number} height Height of the block\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BlocksApiInterface\n */\n getBlockByHeightRaw(requestParameters: GetBlockByHeightRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Block>>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get block](/api/get-block). Retrieves block details of a specific block at a given block height \n * Get block by height\n */\n getBlockByHeight(requestParameters: GetBlockByHeightRequest, initOverrides?: RequestInit): Promise<Block>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves a list of recently mined blocks If you need to actively monitor new blocks, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * @summary Get recent blocks\n * @param {number} [limit] max number of blocks to fetch\n * @param {number} [offset] index of first block to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BlocksApiInterface\n */\n getBlockListRaw(requestParameters: GetBlockListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BlockListResponse>>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves a list of recently mined blocks If you need to actively monitor new blocks, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get recent blocks\n */\n getBlockList(requestParameters: GetBlockListRequest, initOverrides?: RequestInit): Promise<BlockListResponse>;\n\n /**\n * Retrieves a list of recently mined blocks \n * @summary Get blocks\n * @param {number} [limit] max number of blocks to fetch\n * @param {number} [offset] index of first burn block to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BlocksApiInterface\n */\n getBlocksRaw(requestParameters: GetBlocksRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NakamotoBlockListResponse>>;\n\n /**\n * Retrieves a list of recently mined blocks \n * Get blocks\n */\n getBlocks(requestParameters: GetBlocksRequest, initOverrides?: RequestInit): Promise<NakamotoBlockListResponse>;\n\n /**\n * Retrieves a list of blocks confirmed by a specific burn block \n * @summary Get blocks by burn block\n * @param {number | string} heightOrHash filter by burn block height, hash, or the constant `latest` to filter for the most recent burn block\n * @param {number} [limit] max number of blocks to fetch\n * @param {number} [offset] index of first burn block to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BlocksApiInterface\n */\n getBlocksByBurnBlockRaw(requestParameters: GetBlocksByBurnBlockRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NakamotoBlockListResponse>>;\n\n /**\n * Retrieves a list of blocks confirmed by a specific burn block \n * Get blocks by burn block\n */\n getBlocksByBurnBlock(requestParameters: GetBlocksByBurnBlockRequest, initOverrides?: RequestInit): Promise<NakamotoBlockListResponse>;\n\n}\n\n/**\n * \n */\nexport class BlocksApi extends runtime.BaseAPI implements BlocksApiInterface {\n\n /**\n * Retrieves average block times (in seconds) \n * Get average block times\n */\n async getAverageBlockTimesRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<AverageBlockTimesResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/blocks/average-times`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AverageBlockTimesResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves average block times (in seconds) \n * Get average block times\n */\n async getAverageBlockTimes(initOverrides?: RequestInit): Promise<AverageBlockTimesResponse> {\n const response = await this.getAverageBlockTimesRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a single block \n * Get block\n */\n async getBlockRaw(requestParameters: GetBlockRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NakamotoBlock>> {\n if (requestParameters.heightOrHash === null || requestParameters.heightOrHash === undefined) {\n throw new runtime.RequiredError('heightOrHash','Required parameter requestParameters.heightOrHash was null or undefined when calling getBlock.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/blocks/{height_or_hash}`.replace(`{${\"height_or_hash\"}}`, encodeURIComponent(String(requestParameters.heightOrHash))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => NakamotoBlockFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a single block \n * Get block\n */\n async getBlock(requestParameters: GetBlockRequest, initOverrides?: RequestInit): Promise<NakamotoBlock> {\n const response = await this.getBlockRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves block details of a specific block for a given burnchain block hash \n * Get block by burnchain block hash\n */\n async getBlockByBurnBlockHashRaw(requestParameters: GetBlockByBurnBlockHashRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Block>> {\n if (requestParameters.burnBlockHash === null || requestParameters.burnBlockHash === undefined) {\n throw new runtime.RequiredError('burnBlockHash','Required parameter requestParameters.burnBlockHash was null or undefined when calling getBlockByBurnBlockHash.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/block/by_burn_block_hash/{burn_block_hash}`.replace(`{${\"burn_block_hash\"}}`, encodeURIComponent(String(requestParameters.burnBlockHash))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BlockFromJSON(jsonValue));\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves block details of a specific block for a given burnchain block hash \n * Get block by burnchain block hash\n */\n async getBlockByBurnBlockHash(requestParameters: GetBlockByBurnBlockHashRequest, initOverrides?: RequestInit): Promise<Block> {\n const response = await this.getBlockByBurnBlockHashRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves block details of a specific block for a given burn chain height \n * Get block by burnchain height\n */\n async getBlockByBurnBlockHeightRaw(requestParameters: GetBlockByBurnBlockHeightRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Block>> {\n if (requestParameters.burnBlockHeight === null || requestParameters.burnBlockHeight === undefined) {\n throw new runtime.RequiredError('burnBlockHeight','Required parameter requestParameters.burnBlockHeight was null or undefined when calling getBlockByBurnBlockHeight.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/block/by_burn_block_height/{burn_block_height}`.replace(`{${\"burn_block_height\"}}`, encodeURIComponent(String(requestParameters.burnBlockHeight))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BlockFromJSON(jsonValue));\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves block details of a specific block for a given burn chain height \n * Get block by burnchain height\n */\n async getBlockByBurnBlockHeight(requestParameters: GetBlockByBurnBlockHeightRequest, initOverrides?: RequestInit): Promise<Block> {\n const response = await this.getBlockByBurnBlockHeightRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get block](/api/get-block). Retrieves block details of a specific block for a given chain height. You can use the hash from your latest block (\\'get_block_list\\' API) to get your block details. \n * Get block by hash\n */\n async getBlockByHashRaw(requestParameters: GetBlockByHashRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Block>> {\n if (requestParameters.hash === null || requestParameters.hash === undefined) {\n throw new runtime.RequiredError('hash','Required parameter requestParameters.hash was null or undefined when calling getBlockByHash.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/block/{hash}`.replace(`{${\"hash\"}}`, encodeURIComponent(String(requestParameters.hash))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BlockFromJSON(jsonValue));\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get block](/api/get-block). Retrieves block details of a specific block for a given chain height. You can use the hash from your latest block (\\'get_block_list\\' API) to get your block details. \n * Get block by hash\n */\n async getBlockByHash(requestParameters: GetBlockByHashRequest, initOverrides?: RequestInit): Promise<Block> {\n const response = await this.getBlockByHashRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get block](/api/get-block). Retrieves block details of a specific block at a given block height \n * Get block by height\n */\n async getBlockByHeightRaw(requestParameters: GetBlockByHeightRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Block>> {\n if (requestParameters.height === null || requestParameters.height === undefined) {\n throw new runtime.RequiredError('height','Required parameter requestParameters.height was null or undefined when calling getBlockByHeight.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/block/by_height/{height}`.replace(`{${\"height\"}}`, encodeURIComponent(String(requestParameters.height))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BlockFromJSON(jsonValue));\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get block](/api/get-block). Retrieves block details of a specific block at a given block height \n * Get block by height\n */\n async getBlockByHeight(requestParameters: GetBlockByHeightRequest, initOverrides?: RequestInit): Promise<Block> {\n const response = await this.getBlockByHeightRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves a list of recently mined blocks If you need to actively monitor new blocks, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get recent blocks\n */\n async getBlockListRaw(requestParameters: GetBlockListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BlockListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/block`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BlockListResponseFromJSON(jsonValue));\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get blocks](/api/get-blocks). Retrieves a list of recently mined blocks If you need to actively monitor new blocks, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get recent blocks\n */\n async getBlockList(requestParameters: GetBlockListRequest, initOverrides?: RequestInit): Promise<BlockListResponse> {\n const response = await this.getBlockListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of recently mined blocks \n * Get blocks\n */\n async getBlocksRaw(requestParameters: GetBlocksRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NakamotoBlockListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/blocks`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => NakamotoBlockListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of recently mined blocks \n * Get blocks\n */\n async getBlocks(requestParameters: GetBlocksRequest, initOverrides?: RequestInit): Promise<NakamotoBlockListResponse> {\n const response = await this.getBlocksRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of blocks confirmed by a specific burn block \n * Get blocks by burn block\n */\n async getBlocksByBurnBlockRaw(requestParameters: GetBlocksByBurnBlockRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NakamotoBlockListResponse>> {\n if (requestParameters.heightOrHash === null || requestParameters.heightOrHash === undefined) {\n throw new runtime.RequiredError('heightOrHash','Required parameter requestParameters.heightOrHash was null or undefined when calling getBlocksByBurnBlock.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/burn-blocks/{height_or_hash}/blocks`.replace(`{${\"height_or_hash\"}}`, encodeURIComponent(String(requestParameters.heightOrHash))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => NakamotoBlockListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of blocks confirmed by a specific burn block \n * Get blocks by burn block\n */\n async getBlocksByBurnBlock(requestParameters: GetBlocksByBurnBlockRequest, initOverrides?: RequestInit): Promise<NakamotoBlockListResponse> {\n const response = await this.getBlocksByBurnBlockRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n BurnBlock,\n BurnBlockFromJSON,\n BurnBlockToJSON,\n BurnBlockListResponse,\n BurnBlockListResponseFromJSON,\n BurnBlockListResponseToJSON,\n} from '../models';\n\nexport interface GetBurnBlockRequest {\n heightOrHash: number | string;\n}\n\nexport interface GetBurnBlocksRequest {\n limit?: number;\n offset?: number;\n}\n\n/**\n * BurnBlocksApi - interface\n * \n * @export\n * @interface BurnBlocksApiInterface\n */\nexport interface BurnBlocksApiInterface {\n /**\n * Retrieves a single burn block\n * @summary Get burn block\n * @param {number | string} heightOrHash filter by burn block height, hash, or the constant `latest` to filter for the most recent burn block\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BurnBlocksApiInterface\n */\n getBurnBlockRaw(requestParameters: GetBurnBlockRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnBlock>>;\n\n /**\n * Retrieves a single burn block\n * Get burn block\n */\n getBurnBlock(requestParameters: GetBurnBlockRequest, initOverrides?: RequestInit): Promise<BurnBlock>;\n\n /**\n * Retrieves a list of recent burn blocks \n * @summary Get burn blocks\n * @param {number} [limit] max number of burn blocks to fetch\n * @param {number} [offset] index of first burn block to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BurnBlocksApiInterface\n */\n getBurnBlocksRaw(requestParameters: GetBurnBlocksRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnBlockListResponse>>;\n\n /**\n * Retrieves a list of recent burn blocks \n * Get burn blocks\n */\n getBurnBlocks(requestParameters: GetBurnBlocksRequest, initOverrides?: RequestInit): Promise<BurnBlockListResponse>;\n\n}\n\n/**\n * \n */\nexport class BurnBlocksApi extends runtime.BaseAPI implements BurnBlocksApiInterface {\n\n /**\n * Retrieves a single burn block\n * Get burn block\n */\n async getBurnBlockRaw(requestParameters: GetBurnBlockRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnBlock>> {\n if (requestParameters.heightOrHash === null || requestParameters.heightOrHash === undefined) {\n throw new runtime.RequiredError('heightOrHash','Required parameter requestParameters.heightOrHash was null or undefined when calling getBurnBlock.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/burn-blocks/{height_or_hash}`.replace(`{${\"height_or_hash\"}}`, encodeURIComponent(String(requestParameters.heightOrHash))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BurnBlockFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a single burn block\n * Get burn block\n */\n async getBurnBlock(requestParameters: GetBurnBlockRequest, initOverrides?: RequestInit): Promise<BurnBlock> {\n const response = await this.getBurnBlockRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of recent burn blocks \n * Get burn blocks\n */\n async getBurnBlocksRaw(requestParameters: GetBurnBlocksRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnBlockListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/burn-blocks`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BurnBlockListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of recent burn blocks \n * Get burn blocks\n */\n async getBurnBlocks(requestParameters: GetBurnBlocksRequest, initOverrides?: RequestInit): Promise<BurnBlockListResponse> {\n const response = await this.getBurnBlocksRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n InlineObject,\n InlineObjectFromJSON,\n InlineObjectToJSON,\n InlineResponse403,\n InlineResponse403FromJSON,\n InlineResponse403ToJSON,\n RunFaucetResponse,\n RunFaucetResponseFromJSON,\n RunFaucetResponseToJSON,\n} from '../models';\n\nexport interface RunFaucetBtcRequest {\n address: string;\n inlineObject?: InlineObject;\n}\n\nexport interface RunFaucetStxRequest {\n address: string;\n stacking?: boolean;\n}\n\n/**\n * FaucetsApi - interface\n * \n * @export\n * @interface FaucetsApiInterface\n */\nexport interface FaucetsApiInterface {\n /**\n * Add 1 BTC token to the specified testnet BTC address. The endpoint returns the transaction ID, which you can use to view the transaction in a testnet Bitcoin block explorer. The tokens are delivered once the transaction has been included in a block. **Note:** This is a testnet only endpoint. This endpoint will not work on the mainnet. \n * @summary Add testnet BTC tokens to address\n * @param {string} address A valid testnet BTC address\n * @param {InlineObject} [inlineObject] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FaucetsApiInterface\n */\n runFaucetBtcRaw(requestParameters: RunFaucetBtcRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RunFaucetResponse>>;\n\n /**\n * Add 1 BTC token to the specified testnet BTC address. The endpoint returns the transaction ID, which you can use to view the transaction in a testnet Bitcoin block explorer. The tokens are delivered once the transaction has been included in a block. **Note:** This is a testnet only endpoint. This endpoint will not work on the mainnet. \n * Add testnet BTC tokens to address\n */\n runFaucetBtc(requestParameters: RunFaucetBtcRequest, initOverrides?: RequestInit): Promise<RunFaucetResponse>;\n\n /**\n * Add 500 STX tokens to the specified testnet address. Testnet STX addresses begin with `ST`. If the `stacking` parameter is set to `true`, the faucet will add the required number of tokens for individual stacking to the specified testnet address. The endpoint returns the transaction ID, which you can use to view the transaction in the [Stacks Explorer](https://explorer.hiro.so/?chain=testnet). The tokens are delivered once the transaction has been included in an anchor block. A common reason for failed faucet transactions is that the faucet has run out of tokens. If you are experiencing failed faucet transactions to a testnet address, you can get help in [Discord](https://stacks.chat). **Note:** This is a testnet only endpoint. This endpoint will not work on the mainnet. \n * @summary Get STX testnet tokens\n * @param {string} address A valid testnet STX address\n * @param {boolean} [stacking] Request the amount of STX tokens needed for individual address stacking\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FaucetsApiInterface\n */\n runFaucetStxRaw(requestParameters: RunFaucetStxRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RunFaucetResponse>>;\n\n /**\n * Add 500 STX tokens to the specified testnet address. Testnet STX addresses begin with `ST`. If the `stacking` parameter is set to `true`, the faucet will add the required number of tokens for individual stacking to the specified testnet address. The endpoint returns the transaction ID, which you can use to view the transaction in the [Stacks Explorer](https://explorer.hiro.so/?chain=testnet). The tokens are delivered once the transaction has been included in an anchor block. A common reason for failed faucet transactions is that the faucet has run out of tokens. If you are experiencing failed faucet transactions to a testnet address, you can get help in [Discord](https://stacks.chat). **Note:** This is a testnet only endpoint. This endpoint will not work on the mainnet. \n * Get STX testnet tokens\n */\n runFaucetStx(requestParameters: RunFaucetStxRequest, initOverrides?: RequestInit): Promise<RunFaucetResponse>;\n\n}\n\n/**\n * \n */\nexport class FaucetsApi extends runtime.BaseAPI implements FaucetsApiInterface {\n\n /**\n * Add 1 BTC token to the specified testnet BTC address. The endpoint returns the transaction ID, which you can use to view the transaction in a testnet Bitcoin block explorer. The tokens are delivered once the transaction has been included in a block. **Note:** This is a testnet only endpoint. This endpoint will not work on the mainnet. \n * Add testnet BTC tokens to address\n */\n async runFaucetBtcRaw(requestParameters: RunFaucetBtcRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RunFaucetResponse>> {\n if (requestParameters.address === null || requestParameters.address === undefined) {\n throw new runtime.RequiredError('address','Required parameter requestParameters.address was null or undefined when calling runFaucetBtc.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.address !== undefined) {\n queryParameters['address'] = requestParameters.address;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/extended/v1/faucets/btc`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: InlineObjectToJSON(requestParameters.inlineObject),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RunFaucetResponseFromJSON(jsonValue));\n }\n\n /**\n * Add 1 BTC token to the specified testnet BTC address. The endpoint returns the transaction ID, which you can use to view the transaction in a testnet Bitcoin block explorer. The tokens are delivered once the transaction has been included in a block. **Note:** This is a testnet only endpoint. This endpoint will not work on the mainnet. \n * Add testnet BTC tokens to address\n */\n async runFaucetBtc(requestParameters: RunFaucetBtcRequest, initOverrides?: RequestInit): Promise<RunFaucetResponse> {\n const response = await this.runFaucetBtcRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Add 500 STX tokens to the specified testnet address. Testnet STX addresses begin with `ST`. If the `stacking` parameter is set to `true`, the faucet will add the required number of tokens for individual stacking to the specified testnet address. The endpoint returns the transaction ID, which you can use to view the transaction in the [Stacks Explorer](https://explorer.hiro.so/?chain=testnet). The tokens are delivered once the transaction has been included in an anchor block. A common reason for failed faucet transactions is that the faucet has run out of tokens. If you are experiencing failed faucet transactions to a testnet address, you can get help in [Discord](https://stacks.chat). **Note:** This is a testnet only endpoint. This endpoint will not work on the mainnet. \n * Get STX testnet tokens\n */\n async runFaucetStxRaw(requestParameters: RunFaucetStxRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RunFaucetResponse>> {\n if (requestParameters.address === null || requestParameters.address === undefined) {\n throw new runtime.RequiredError('address','Required parameter requestParameters.address was null or undefined when calling runFaucetStx.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.address !== undefined) {\n queryParameters['address'] = requestParameters.address;\n }\n\n if (requestParameters.stacking !== undefined) {\n queryParameters['stacking'] = requestParameters.stacking;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/faucets/stx`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RunFaucetResponseFromJSON(jsonValue));\n }\n\n /**\n * Add 500 STX tokens to the specified testnet address. Testnet STX addresses begin with `ST`. If the `stacking` parameter is set to `true`, the faucet will add the required number of tokens for individual stacking to the specified testnet address. The endpoint returns the transaction ID, which you can use to view the transaction in the [Stacks Explorer](https://explorer.hiro.so/?chain=testnet). The tokens are delivered once the transaction has been included in an anchor block. A common reason for failed faucet transactions is that the faucet has run out of tokens. If you are experiencing failed faucet transactions to a testnet address, you can get help in [Discord](https://stacks.chat). **Note:** This is a testnet only endpoint. This endpoint will not work on the mainnet. \n * Get STX testnet tokens\n */\n async runFaucetStx(requestParameters: RunFaucetStxRequest, initOverrides?: RequestInit): Promise<RunFaucetResponse> {\n const response = await this.runFaucetStxRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n FeeRate,\n FeeRateFromJSON,\n FeeRateToJSON,\n FeeRateRequest,\n FeeRateRequestFromJSON,\n FeeRateRequestToJSON,\n TransactionFeeEstimateRequest,\n TransactionFeeEstimateRequestFromJSON,\n TransactionFeeEstimateRequestToJSON,\n TransactionFeeEstimateResponse,\n TransactionFeeEstimateResponseFromJSON,\n TransactionFeeEstimateResponseToJSON,\n} from '../models';\n\nexport interface FetchFeeRateRequest {\n feeRateRequest: FeeRateRequest;\n}\n\nexport interface PostFeeTransactionRequest {\n transactionFeeEstimateRequest?: TransactionFeeEstimateRequest;\n}\n\n/**\n * FeesApi - interface\n * \n * @export\n * @interface FeesApiInterface\n */\nexport interface FeesApiInterface {\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get approximate fees for a given transaction](/api/get-approximate-fees-for-a-given-transaction). Retrieves estimated fee rate. \n * @summary Fetch fee rate\n * @param {FeeRateRequest} feeRateRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FeesApiInterface\n */\n fetchFeeRateRaw(requestParameters: FetchFeeRateRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<FeeRate>>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get approximate fees for a given transaction](/api/get-approximate-fees-for-a-given-transaction). Retrieves estimated fee rate. \n * Fetch fee rate\n */\n fetchFeeRate(requestParameters: FetchFeeRateRequest, initOverrides?: RequestInit): Promise<FeeRate>;\n\n /**\n * Retrieves an estimated fee rate for STX transfer transactions. This a a fee rate / byte, and is returned as a JSON integer\n * @summary Get estimated fee\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FeesApiInterface\n */\n getFeeTransferRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>>;\n\n /**\n * Retrieves an estimated fee rate for STX transfer transactions. This a a fee rate / byte, and is returned as a JSON integer\n * Get estimated fee\n */\n getFeeTransfer(initOverrides?: RequestInit): Promise<object>;\n\n /**\n * Get an estimated fee for the supplied transaction. This estimates the execution cost of the transaction, the current fee rate of the network, and returns estimates for fee amounts. * `transaction_payload` is a hex-encoded serialization of the TransactionPayload for the transaction. * `estimated_len` is an optional argument that provides the endpoint with an estimation of the final length (in bytes) of the transaction, including any post-conditions and signatures If the node cannot provide an estimate for the transaction (e.g., if the node has never seen a contract-call for the given contract and function) or if estimation is not configured on this node, a 400 response is returned. The 400 response will be a JSON error containing a `reason` field which can be one of the following: * `DatabaseError` - this Stacks node has had an internal database error while trying to estimate the costs of the supplied transaction. * `NoEstimateAvailable` - this Stacks node has not seen this kind of contract-call before, and it cannot provide an estimate yet. * `CostEstimationDisabled` - this Stacks node does not perform fee or cost estimation, and it cannot respond on this endpoint. The 200 response contains the following data: * `estimated_cost` - the estimated multi-dimensional cost of executing the Clarity VM on the provided transaction. * `estimated_cost_scalar` - a unitless integer that the Stacks node uses to compare how much of the block limit is consumed by different transactions. This value incorporates the estimated length of the transaction and the estimated execution cost of the transaction. The range of this integer may vary between different Stacks nodes. In order to compute an estimate of total fee amount for the transaction, this value is multiplied by the same Stacks node\\'s estimated fee rate. * `cost_scalar_change_by_byte` - a float value that indicates how much the `estimated_cost_scalar` value would increase for every additional byte in the final transaction. * `estimations` - an array of estimated fee rates and total fees to pay in microSTX for the transaction. This array provides a range of estimates (default: 3) that may be used. Each element of the array contains the following fields: * `fee_rate` - the estimated value for the current fee rates in the network * `fee` - the estimated value for the total fee in microSTX that the given transaction should pay. These values are the result of computing: `fee_rate` x `estimated_cost_scalar`. If the estimated fees are less than the minimum relay fee `(1 ustx x estimated_len)`, then that minimum relay fee will be returned here instead. Note: If the final transaction\\'s byte size is larger than supplied to `estimated_len`, then applications should increase this fee amount by: `fee_rate` x `cost_scalar_change_by_byte` x (`final_size` - `estimated_size`) \n * @summary Get approximate fees for a given transaction\n * @param {TransactionFeeEstimateRequest} [transactionFeeEstimateRequest] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FeesApiInterface\n */\n postFeeTransactionRaw(requestParameters: PostFeeTransactionRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionFeeEstimateResponse>>;\n\n /**\n * Get an estimated fee for the supplied transaction. This estimates the execution cost of the transaction, the current fee rate of the network, and returns estimates for fee amounts. * `transaction_payload` is a hex-encoded serialization of the TransactionPayload for the transaction. * `estimated_len` is an optional argument that provides the endpoint with an estimation of the final length (in bytes) of the transaction, including any post-conditions and signatures If the node cannot provide an estimate for the transaction (e.g., if the node has never seen a contract-call for the given contract and function) or if estimation is not configured on this node, a 400 response is returned. The 400 response will be a JSON error containing a `reason` field which can be one of the following: * `DatabaseError` - this Stacks node has had an internal database error while trying to estimate the costs of the supplied transaction. * `NoEstimateAvailable` - this Stacks node has not seen this kind of contract-call before, and it cannot provide an estimate yet. * `CostEstimationDisabled` - this Stacks node does not perform fee or cost estimation, and it cannot respond on this endpoint. The 200 response contains the following data: * `estimated_cost` - the estimated multi-dimensional cost of executing the Clarity VM on the provided transaction. * `estimated_cost_scalar` - a unitless integer that the Stacks node uses to compare how much of the block limit is consumed by different transactions. This value incorporates the estimated length of the transaction and the estimated execution cost of the transaction. The range of this integer may vary between different Stacks nodes. In order to compute an estimate of total fee amount for the transaction, this value is multiplied by the same Stacks node\\'s estimated fee rate. * `cost_scalar_change_by_byte` - a float value that indicates how much the `estimated_cost_scalar` value would increase for every additional byte in the final transaction. * `estimations` - an array of estimated fee rates and total fees to pay in microSTX for the transaction. This array provides a range of estimates (default: 3) that may be used. Each element of the array contains the following fields: * `fee_rate` - the estimated value for the current fee rates in the network * `fee` - the estimated value for the total fee in microSTX that the given transaction should pay. These values are the result of computing: `fee_rate` x `estimated_cost_scalar`. If the estimated fees are less than the minimum relay fee `(1 ustx x estimated_len)`, then that minimum relay fee will be returned here instead. Note: If the final transaction\\'s byte size is larger than supplied to `estimated_len`, then applications should increase this fee amount by: `fee_rate` x `cost_scalar_change_by_byte` x (`final_size` - `estimated_size`) \n * Get approximate fees for a given transaction\n */\n postFeeTransaction(requestParameters: PostFeeTransactionRequest, initOverrides?: RequestInit): Promise<TransactionFeeEstimateResponse>;\n\n}\n\n/**\n * \n */\nexport class FeesApi extends runtime.BaseAPI implements FeesApiInterface {\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get approximate fees for a given transaction](/api/get-approximate-fees-for-a-given-transaction). Retrieves estimated fee rate. \n * Fetch fee rate\n */\n async fetchFeeRateRaw(requestParameters: FetchFeeRateRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<FeeRate>> {\n if (requestParameters.feeRateRequest === null || requestParameters.feeRateRequest === undefined) {\n throw new runtime.RequiredError('feeRateRequest','Required parameter requestParameters.feeRateRequest was null or undefined when calling fetchFeeRate.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/extended/v1/fee_rate`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: FeeRateRequestToJSON(requestParameters.feeRateRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => FeeRateFromJSON(jsonValue));\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get approximate fees for a given transaction](/api/get-approximate-fees-for-a-given-transaction). Retrieves estimated fee rate. \n * Fetch fee rate\n */\n async fetchFeeRate(requestParameters: FetchFeeRateRequest, initOverrides?: RequestInit): Promise<FeeRate> {\n const response = await this.fetchFeeRateRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves an estimated fee rate for STX transfer transactions. This a a fee rate / byte, and is returned as a JSON integer\n * Get estimated fee\n */\n async getFeeTransferRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v2/fees/transfer`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Retrieves an estimated fee rate for STX transfer transactions. This a a fee rate / byte, and is returned as a JSON integer\n * Get estimated fee\n */\n async getFeeTransfer(initOverrides?: RequestInit): Promise<object> {\n const response = await this.getFeeTransferRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Get an estimated fee for the supplied transaction. This estimates the execution cost of the transaction, the current fee rate of the network, and returns estimates for fee amounts. * `transaction_payload` is a hex-encoded serialization of the TransactionPayload for the transaction. * `estimated_len` is an optional argument that provides the endpoint with an estimation of the final length (in bytes) of the transaction, including any post-conditions and signatures If the node cannot provide an estimate for the transaction (e.g., if the node has never seen a contract-call for the given contract and function) or if estimation is not configured on this node, a 400 response is returned. The 400 response will be a JSON error containing a `reason` field which can be one of the following: * `DatabaseError` - this Stacks node has had an internal database error while trying to estimate the costs of the supplied transaction. * `NoEstimateAvailable` - this Stacks node has not seen this kind of contract-call before, and it cannot provide an estimate yet. * `CostEstimationDisabled` - this Stacks node does not perform fee or cost estimation, and it cannot respond on this endpoint. The 200 response contains the following data: * `estimated_cost` - the estimated multi-dimensional cost of executing the Clarity VM on the provided transaction. * `estimated_cost_scalar` - a unitless integer that the Stacks node uses to compare how much of the block limit is consumed by different transactions. This value incorporates the estimated length of the transaction and the estimated execution cost of the transaction. The range of this integer may vary between different Stacks nodes. In order to compute an estimate of total fee amount for the transaction, this value is multiplied by the same Stacks node\\'s estimated fee rate. * `cost_scalar_change_by_byte` - a float value that indicates how much the `estimated_cost_scalar` value would increase for every additional byte in the final transaction. * `estimations` - an array of estimated fee rates and total fees to pay in microSTX for the transaction. This array provides a range of estimates (default: 3) that may be used. Each element of the array contains the following fields: * `fee_rate` - the estimated value for the current fee rates in the network * `fee` - the estimated value for the total fee in microSTX that the given transaction should pay. These values are the result of computing: `fee_rate` x `estimated_cost_scalar`. If the estimated fees are less than the minimum relay fee `(1 ustx x estimated_len)`, then that minimum relay fee will be returned here instead. Note: If the final transaction\\'s byte size is larger than supplied to `estimated_len`, then applications should increase this fee amount by: `fee_rate` x `cost_scalar_change_by_byte` x (`final_size` - `estimated_size`) \n * Get approximate fees for a given transaction\n */\n async postFeeTransactionRaw(requestParameters: PostFeeTransactionRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionFeeEstimateResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/v2/fees/transaction`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: TransactionFeeEstimateRequestToJSON(requestParameters.transactionFeeEstimateRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => TransactionFeeEstimateResponseFromJSON(jsonValue));\n }\n\n /**\n * Get an estimated fee for the supplied transaction. This estimates the execution cost of the transaction, the current fee rate of the network, and returns estimates for fee amounts. * `transaction_payload` is a hex-encoded serialization of the TransactionPayload for the transaction. * `estimated_len` is an optional argument that provides the endpoint with an estimation of the final length (in bytes) of the transaction, including any post-conditions and signatures If the node cannot provide an estimate for the transaction (e.g., if the node has never seen a contract-call for the given contract and function) or if estimation is not configured on this node, a 400 response is returned. The 400 response will be a JSON error containing a `reason` field which can be one of the following: * `DatabaseError` - this Stacks node has had an internal database error while trying to estimate the costs of the supplied transaction. * `NoEstimateAvailable` - this Stacks node has not seen this kind of contract-call before, and it cannot provide an estimate yet. * `CostEstimationDisabled` - this Stacks node does not perform fee or cost estimation, and it cannot respond on this endpoint. The 200 response contains the following data: * `estimated_cost` - the estimated multi-dimensional cost of executing the Clarity VM on the provided transaction. * `estimated_cost_scalar` - a unitless integer that the Stacks node uses to compare how much of the block limit is consumed by different transactions. This value incorporates the estimated length of the transaction and the estimated execution cost of the transaction. The range of this integer may vary between different Stacks nodes. In order to compute an estimate of total fee amount for the transaction, this value is multiplied by the same Stacks node\\'s estimated fee rate. * `cost_scalar_change_by_byte` - a float value that indicates how much the `estimated_cost_scalar` value would increase for every additional byte in the final transaction. * `estimations` - an array of estimated fee rates and total fees to pay in microSTX for the transaction. This array provides a range of estimates (default: 3) that may be used. Each element of the array contains the following fields: * `fee_rate` - the estimated value for the current fee rates in the network * `fee` - the estimated value for the total fee in microSTX that the given transaction should pay. These values are the result of computing: `fee_rate` x `estimated_cost_scalar`. If the estimated fees are less than the minimum relay fee `(1 ustx x estimated_len)`, then that minimum relay fee will be returned here instead. Note: If the final transaction\\'s byte size is larger than supplied to `estimated_len`, then applications should increase this fee amount by: `fee_rate` x `cost_scalar_change_by_byte` x (`final_size` - `estimated_size`) \n * Get approximate fees for a given transaction\n */\n async postFeeTransaction(requestParameters: PostFeeTransactionRequest, initOverrides?: RequestInit): Promise<TransactionFeeEstimateResponse> {\n const response = await this.postFeeTransactionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n FungibleTokenHolderList,\n FungibleTokenHolderListFromJSON,\n FungibleTokenHolderListToJSON,\n} from '../models';\n\nexport interface GetFtHoldersRequest {\n token: string;\n}\n\n/**\n * FungibleTokensApi - interface\n * \n * @export\n * @interface FungibleTokensApiInterface\n */\nexport interface FungibleTokensApiInterface {\n /**\n * Retrieves the list of Fungible Token holders for a given token ID. Specify `stx` for the `token` parameter to get the list of STX holders. \n * @summary Fungible token holders\n * @param {string} token fungible token identifier\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FungibleTokensApiInterface\n */\n getFtHoldersRaw(requestParameters: GetFtHoldersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<FungibleTokenHolderList>>;\n\n /**\n * Retrieves the list of Fungible Token holders for a given token ID. Specify `stx` for the `token` parameter to get the list of STX holders. \n * Fungible token holders\n */\n getFtHolders(requestParameters: GetFtHoldersRequest, initOverrides?: RequestInit): Promise<FungibleTokenHolderList>;\n\n}\n\n/**\n * \n */\nexport class FungibleTokensApi extends runtime.BaseAPI implements FungibleTokensApiInterface {\n\n /**\n * Retrieves the list of Fungible Token holders for a given token ID. Specify `stx` for the `token` parameter to get the list of STX holders. \n * Fungible token holders\n */\n async getFtHoldersRaw(requestParameters: GetFtHoldersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<FungibleTokenHolderList>> {\n if (requestParameters.token === null || requestParameters.token === undefined) {\n throw new runtime.RequiredError('token','Required parameter requestParameters.token was null or undefined when calling getFtHolders.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tokens/ft/{token}/holders`.replace(`{${\"token\"}}`, encodeURIComponent(String(requestParameters.token))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => FungibleTokenHolderListFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the list of Fungible Token holders for a given token ID. Specify `stx` for the `token` parameter to get the list of STX holders. \n * Fungible token holders\n */\n async getFtHolders(requestParameters: GetFtHoldersRequest, initOverrides?: RequestInit): Promise<FungibleTokenHolderList> {\n const response = await this.getFtHoldersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n CoreNodeInfoResponse,\n CoreNodeInfoResponseFromJSON,\n CoreNodeInfoResponseToJSON,\n CoreNodePoxResponse,\n CoreNodePoxResponseFromJSON,\n CoreNodePoxResponseToJSON,\n GetStxSupplyLegacyFormatResponse,\n GetStxSupplyLegacyFormatResponseFromJSON,\n GetStxSupplyLegacyFormatResponseToJSON,\n GetStxSupplyResponse,\n GetStxSupplyResponseFromJSON,\n GetStxSupplyResponseToJSON,\n NetworkBlockTimeResponse,\n NetworkBlockTimeResponseFromJSON,\n NetworkBlockTimeResponseToJSON,\n NetworkBlockTimesResponse,\n NetworkBlockTimesResponseFromJSON,\n NetworkBlockTimesResponseToJSON,\n ServerStatusResponse,\n ServerStatusResponseFromJSON,\n ServerStatusResponseToJSON,\n} from '../models';\n\nexport interface GetNetworkBlockTimeByNetworkRequest {\n network: GetNetworkBlockTimeByNetworkNetworkEnum;\n}\n\nexport interface GetStxSupplyRequest {\n height?: number;\n}\n\nexport interface GetTotalStxSupplyLegacyFormatRequest {\n height?: number;\n}\n\n/**\n * InfoApi - interface\n * \n * @export\n * @interface InfoApiInterface\n */\nexport interface InfoApiInterface {\n /**\n * Retrieves information about the Core API including the server version\n * @summary Get Core API info\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InfoApiInterface\n */\n getCoreApiInfoRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CoreNodeInfoResponse>>;\n\n /**\n * Retrieves information about the Core API including the server version\n * Get Core API info\n */\n getCoreApiInfo(initOverrides?: RequestInit): Promise<CoreNodeInfoResponse>;\n\n /**\n * Retrieves the target block time for a given network. The network can be mainnet or testnet. The block time is hardcoded and will change throughout the implementation phases of the testnet.\n * @summary Get a given network\\'s target block time\n * @param {'testnet' | 'mainnet'} network the target block time for a given network (testnet, mainnet).\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InfoApiInterface\n */\n getNetworkBlockTimeByNetworkRaw(requestParameters: GetNetworkBlockTimeByNetworkRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NetworkBlockTimeResponse>>;\n\n /**\n * Retrieves the target block time for a given network. The network can be mainnet or testnet. The block time is hardcoded and will change throughout the implementation phases of the testnet.\n * Get a given network\\'s target block time\n */\n getNetworkBlockTimeByNetwork(requestParameters: GetNetworkBlockTimeByNetworkRequest, initOverrides?: RequestInit): Promise<NetworkBlockTimeResponse>;\n\n /**\n * Retrieves the target block times for mainnet and testnet. The block time is hardcoded and will change throughout the implementation phases of the testnet.\n * @summary Get the network target block time\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InfoApiInterface\n */\n getNetworkBlockTimesRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<NetworkBlockTimesResponse>>;\n\n /**\n * Retrieves the target block times for mainnet and testnet. The block time is hardcoded and will change throughout the implementation phases of the testnet.\n * Get the network target block time\n */\n getNetworkBlockTimes(initOverrides?: RequestInit): Promise<NetworkBlockTimesResponse>;\n\n /**\n * Retrieves Proof-of-Transfer (PoX) information. Can be used for Stacking.\n * @summary Get Proof-of-Transfer details\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InfoApiInterface\n */\n getPoxInfoRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CoreNodePoxResponse>>;\n\n /**\n * Retrieves Proof-of-Transfer (PoX) information. Can be used for Stacking.\n * Get Proof-of-Transfer details\n */\n getPoxInfo(initOverrides?: RequestInit): Promise<CoreNodePoxResponse>;\n\n /**\n * Retrieves the running status of the Stacks Blockchain API, including the server version and current chain tip information.\n * @summary API status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InfoApiInterface\n */\n getStatusRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<ServerStatusResponse>>;\n\n /**\n * Retrieves the running status of the Stacks Blockchain API, including the server version and current chain tip information.\n * API status\n */\n getStatus(initOverrides?: RequestInit): Promise<ServerStatusResponse>;\n\n /**\n * Retrieves the total and unlocked STX supply. More information on Stacking can be found [here] (https://docs.stacks.co/understand-stacks/stacking). **Note:** This uses the estimated future total supply for the year 2050. \n * @summary Get total and unlocked STX supply\n * @param {number} [height] Supply details are queried from specified block height. If the block height is not specified, the latest block height is taken as default value. Note that the `block height` is referred to the stacks blockchain.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InfoApiInterface\n */\n getStxSupplyRaw(requestParameters: GetStxSupplyRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetStxSupplyResponse>>;\n\n /**\n * Retrieves the total and unlocked STX supply. More information on Stacking can be found [here] (https://docs.stacks.co/understand-stacks/stacking). **Note:** This uses the estimated future total supply for the year 2050. \n * Get total and unlocked STX supply\n */\n getStxSupply(requestParameters: GetStxSupplyRequest, initOverrides?: RequestInit): Promise<GetStxSupplyResponse>;\n\n /**\n * Retrieves the STX tokens currently in circulation that have been unlocked as plain text.\n * @summary Get circulating STX supply in plain text format\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InfoApiInterface\n */\n getStxSupplyCirculatingPlainRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<string>>;\n\n /**\n * Retrieves the STX tokens currently in circulation that have been unlocked as plain text.\n * Get circulating STX supply in plain text format\n */\n getStxSupplyCirculatingPlain(initOverrides?: RequestInit): Promise<string>;\n\n /**\n * Retrieves the total supply for STX tokens as plain text. **Note:** this uses the estimated future total supply for the year 2050. \n * @summary Get total STX supply in plain text format\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InfoApiInterface\n */\n getStxSupplyTotalSupplyPlainRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<string>>;\n\n /**\n * Retrieves the total supply for STX tokens as plain text. **Note:** this uses the estimated future total supply for the year 2050. \n * Get total STX supply in plain text format\n */\n getStxSupplyTotalSupplyPlain(initOverrides?: RequestInit): Promise<string>;\n\n /**\n * Retrieves total supply of STX tokens including those currently in circulation that have been unlocked. **Note:** this uses the estimated future total supply for the year 2050. \n * @summary Get total and unlocked STX supply (results formatted the same as the legacy 1.0 API)\n * @param {number} [height] Supply details are queried from specified block height. If the block height is not specified, the latest block height is taken as default value.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InfoApiInterface\n */\n getTotalStxSupplyLegacyFormatRaw(requestParameters: GetTotalStxSupplyLegacyFormatRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetStxSupplyLegacyFormatResponse>>;\n\n /**\n * Retrieves total supply of STX tokens including those currently in circulation that have been unlocked. **Note:** this uses the estimated future total supply for the year 2050. \n * Get total and unlocked STX supply (results formatted the same as the legacy 1.0 API)\n */\n getTotalStxSupplyLegacyFormat(requestParameters: GetTotalStxSupplyLegacyFormatRequest, initOverrides?: RequestInit): Promise<GetStxSupplyLegacyFormatResponse>;\n\n}\n\n/**\n * \n */\nexport class InfoApi extends runtime.BaseAPI implements InfoApiInterface {\n\n /**\n * Retrieves information about the Core API including the server version\n * Get Core API info\n */\n async getCoreApiInfoRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CoreNodeInfoResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v2/info`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => CoreNodeInfoResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves information about the Core API including the server version\n * Get Core API info\n */\n async getCoreApiInfo(initOverrides?: RequestInit): Promise<CoreNodeInfoResponse> {\n const response = await this.getCoreApiInfoRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the target block time for a given network. The network can be mainnet or testnet. The block time is hardcoded and will change throughout the implementation phases of the testnet.\n * Get a given network\\'s target block time\n */\n async getNetworkBlockTimeByNetworkRaw(requestParameters: GetNetworkBlockTimeByNetworkRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NetworkBlockTimeResponse>> {\n if (requestParameters.network === null || requestParameters.network === undefined) {\n throw new runtime.RequiredError('network','Required parameter requestParameters.network was null or undefined when calling getNetworkBlockTimeByNetwork.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/info/network_block_time/{network}`.replace(`{${\"network\"}}`, encodeURIComponent(String(requestParameters.network))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => NetworkBlockTimeResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the target block time for a given network. The network can be mainnet or testnet. The block time is hardcoded and will change throughout the implementation phases of the testnet.\n * Get a given network\\'s target block time\n */\n async getNetworkBlockTimeByNetwork(requestParameters: GetNetworkBlockTimeByNetworkRequest, initOverrides?: RequestInit): Promise<NetworkBlockTimeResponse> {\n const response = await this.getNetworkBlockTimeByNetworkRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the target block times for mainnet and testnet. The block time is hardcoded and will change throughout the implementation phases of the testnet.\n * Get the network target block time\n */\n async getNetworkBlockTimesRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<NetworkBlockTimesResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/info/network_block_times`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => NetworkBlockTimesResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the target block times for mainnet and testnet. The block time is hardcoded and will change throughout the implementation phases of the testnet.\n * Get the network target block time\n */\n async getNetworkBlockTimes(initOverrides?: RequestInit): Promise<NetworkBlockTimesResponse> {\n const response = await this.getNetworkBlockTimesRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves Proof-of-Transfer (PoX) information. Can be used for Stacking.\n * Get Proof-of-Transfer details\n */\n async getPoxInfoRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CoreNodePoxResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v2/pox`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => CoreNodePoxResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves Proof-of-Transfer (PoX) information. Can be used for Stacking.\n * Get Proof-of-Transfer details\n */\n async getPoxInfo(initOverrides?: RequestInit): Promise<CoreNodePoxResponse> {\n const response = await this.getPoxInfoRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the running status of the Stacks Blockchain API, including the server version and current chain tip information.\n * API status\n */\n async getStatusRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<ServerStatusResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ServerStatusResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the running status of the Stacks Blockchain API, including the server version and current chain tip information.\n * API status\n */\n async getStatus(initOverrides?: RequestInit): Promise<ServerStatusResponse> {\n const response = await this.getStatusRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the total and unlocked STX supply. More information on Stacking can be found [here] (https://docs.stacks.co/understand-stacks/stacking). **Note:** This uses the estimated future total supply for the year 2050. \n * Get total and unlocked STX supply\n */\n async getStxSupplyRaw(requestParameters: GetStxSupplyRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetStxSupplyResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.height !== undefined) {\n queryParameters['height'] = requestParameters.height;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/stx_supply`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => GetStxSupplyResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the total and unlocked STX supply. More information on Stacking can be found [here] (https://docs.stacks.co/understand-stacks/stacking). **Note:** This uses the estimated future total supply for the year 2050. \n * Get total and unlocked STX supply\n */\n async getStxSupply(requestParameters: GetStxSupplyRequest, initOverrides?: RequestInit): Promise<GetStxSupplyResponse> {\n const response = await this.getStxSupplyRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the STX tokens currently in circulation that have been unlocked as plain text.\n * Get circulating STX supply in plain text format\n */\n async getStxSupplyCirculatingPlainRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<string>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/stx_supply/circulating/plain`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.TextApiResponse(response) as any;\n }\n\n /**\n * Retrieves the STX tokens currently in circulation that have been unlocked as plain text.\n * Get circulating STX supply in plain text format\n */\n async getStxSupplyCirculatingPlain(initOverrides?: RequestInit): Promise<string> {\n const response = await this.getStxSupplyCirculatingPlainRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the total supply for STX tokens as plain text. **Note:** this uses the estimated future total supply for the year 2050. \n * Get total STX supply in plain text format\n */\n async getStxSupplyTotalSupplyPlainRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<string>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/stx_supply/total/plain`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.TextApiResponse(response) as any;\n }\n\n /**\n * Retrieves the total supply for STX tokens as plain text. **Note:** this uses the estimated future total supply for the year 2050. \n * Get total STX supply in plain text format\n */\n async getStxSupplyTotalSupplyPlain(initOverrides?: RequestInit): Promise<string> {\n const response = await this.getStxSupplyTotalSupplyPlainRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves total supply of STX tokens including those currently in circulation that have been unlocked. **Note:** this uses the estimated future total supply for the year 2050. \n * Get total and unlocked STX supply (results formatted the same as the legacy 1.0 API)\n */\n async getTotalStxSupplyLegacyFormatRaw(requestParameters: GetTotalStxSupplyLegacyFormatRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetStxSupplyLegacyFormatResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.height !== undefined) {\n queryParameters['height'] = requestParameters.height;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/stx_supply/legacy_format`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => GetStxSupplyLegacyFormatResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves total supply of STX tokens including those currently in circulation that have been unlocked. **Note:** this uses the estimated future total supply for the year 2050. \n * Get total and unlocked STX supply (results formatted the same as the legacy 1.0 API)\n */\n async getTotalStxSupplyLegacyFormat(requestParameters: GetTotalStxSupplyLegacyFormatRequest, initOverrides?: RequestInit): Promise<GetStxSupplyLegacyFormatResponse> {\n const response = await this.getTotalStxSupplyLegacyFormatRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n\n/**\n * @export\n * @enum {string}\n */\nexport enum GetNetworkBlockTimeByNetworkNetworkEnum {\n testnet = 'testnet',\n mainnet = 'mainnet'\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n MempoolFeePriorities,\n MempoolFeePrioritiesFromJSON,\n MempoolFeePrioritiesToJSON,\n} from '../models';\n\n/**\n * MempoolApi - interface\n * \n * @export\n * @interface MempoolApiInterface\n */\nexport interface MempoolApiInterface {\n /**\n * Returns estimated fee priorities (in micro-STX) for all transactions that are currently in the mempool. Also returns priorities separated by transaction type. \n * @summary Get mempool transaction fee priorities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MempoolApiInterface\n */\n getMempoolFeePrioritiesRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<MempoolFeePriorities>>;\n\n /**\n * Returns estimated fee priorities (in micro-STX) for all transactions that are currently in the mempool. Also returns priorities separated by transaction type. \n * Get mempool transaction fee priorities\n */\n getMempoolFeePriorities(initOverrides?: RequestInit): Promise<MempoolFeePriorities>;\n\n}\n\n/**\n * \n */\nexport class MempoolApi extends runtime.BaseAPI implements MempoolApiInterface {\n\n /**\n * Returns estimated fee priorities (in micro-STX) for all transactions that are currently in the mempool. Also returns priorities separated by transaction type. \n * Get mempool transaction fee priorities\n */\n async getMempoolFeePrioritiesRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<MempoolFeePriorities>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/mempool/fees`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MempoolFeePrioritiesFromJSON(jsonValue));\n }\n\n /**\n * Returns estimated fee priorities (in micro-STX) for all transactions that are currently in the mempool. Also returns priorities separated by transaction type. \n * Get mempool transaction fee priorities\n */\n async getMempoolFeePriorities(initOverrides?: RequestInit): Promise<MempoolFeePriorities> {\n const response = await this.getMempoolFeePrioritiesRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n Microblock,\n MicroblockFromJSON,\n MicroblockToJSON,\n MicroblockListResponse,\n MicroblockListResponseFromJSON,\n MicroblockListResponseToJSON,\n UnanchoredTransactionListResponse,\n UnanchoredTransactionListResponseFromJSON,\n UnanchoredTransactionListResponseToJSON,\n} from '../models';\n\nexport interface GetMicroblockByHashRequest {\n hash: string;\n}\n\nexport interface GetMicroblockListRequest {\n limit?: number;\n offset?: number;\n}\n\n/**\n * MicroblocksApi - interface\n * \n * @export\n * @interface MicroblocksApiInterface\n */\nexport interface MicroblocksApiInterface {\n /**\n * Retrieves a specific microblock by `hash`\n * @summary Get microblock\n * @param {string} hash Hash of the microblock\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MicroblocksApiInterface\n */\n getMicroblockByHashRaw(requestParameters: GetMicroblockByHashRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Microblock>>;\n\n /**\n * Retrieves a specific microblock by `hash`\n * Get microblock\n */\n getMicroblockByHash(requestParameters: GetMicroblockByHashRequest, initOverrides?: RequestInit): Promise<Microblock>;\n\n /**\n * Retrieves a list of microblocks. If you need to actively monitor new microblocks, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * @summary Get recent microblocks\n * @param {number} [limit] Max number of microblocks to fetch\n * @param {number} [offset] Index of the first microblock to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MicroblocksApiInterface\n */\n getMicroblockListRaw(requestParameters: GetMicroblockListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<MicroblockListResponse>>;\n\n /**\n * Retrieves a list of microblocks. If you need to actively monitor new microblocks, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get recent microblocks\n */\n getMicroblockList(requestParameters: GetMicroblockListRequest, initOverrides?: RequestInit): Promise<MicroblockListResponse>;\n\n /**\n * Retrieves transactions that have been streamed in microblocks but not yet accepted or rejected in an anchor block\n * @summary Get the list of current transactions that belong to unanchored microblocks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MicroblocksApiInterface\n */\n getUnanchoredTxsRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<UnanchoredTransactionListResponse>>;\n\n /**\n * Retrieves transactions that have been streamed in microblocks but not yet accepted or rejected in an anchor block\n * Get the list of current transactions that belong to unanchored microblocks\n */\n getUnanchoredTxs(initOverrides?: RequestInit): Promise<UnanchoredTransactionListResponse>;\n\n}\n\n/**\n * \n */\nexport class MicroblocksApi extends runtime.BaseAPI implements MicroblocksApiInterface {\n\n /**\n * Retrieves a specific microblock by `hash`\n * Get microblock\n */\n async getMicroblockByHashRaw(requestParameters: GetMicroblockByHashRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Microblock>> {\n if (requestParameters.hash === null || requestParameters.hash === undefined) {\n throw new runtime.RequiredError('hash','Required parameter requestParameters.hash was null or undefined when calling getMicroblockByHash.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/microblock/{hash}`.replace(`{${\"hash\"}}`, encodeURIComponent(String(requestParameters.hash))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MicroblockFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a specific microblock by `hash`\n * Get microblock\n */\n async getMicroblockByHash(requestParameters: GetMicroblockByHashRequest, initOverrides?: RequestInit): Promise<Microblock> {\n const response = await this.getMicroblockByHashRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of microblocks. If you need to actively monitor new microblocks, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get recent microblocks\n */\n async getMicroblockListRaw(requestParameters: GetMicroblockListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<MicroblockListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/microblock`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MicroblockListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of microblocks. If you need to actively monitor new microblocks, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get recent microblocks\n */\n async getMicroblockList(requestParameters: GetMicroblockListRequest, initOverrides?: RequestInit): Promise<MicroblockListResponse> {\n const response = await this.getMicroblockListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves transactions that have been streamed in microblocks but not yet accepted or rejected in an anchor block\n * Get the list of current transactions that belong to unanchored microblocks\n */\n async getUnanchoredTxsRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<UnanchoredTransactionListResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/microblock/unanchored/txs`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => UnanchoredTransactionListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves transactions that have been streamed in microblocks but not yet accepted or rejected in an anchor block\n * Get the list of current transactions that belong to unanchored microblocks\n */\n async getUnanchoredTxs(initOverrides?: RequestInit): Promise<UnanchoredTransactionListResponse> {\n const response = await this.getUnanchoredTxsRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n BnsError,\n BnsErrorFromJSON,\n BnsErrorToJSON,\n BnsGetAllNamespacesResponse,\n BnsGetAllNamespacesResponseFromJSON,\n BnsGetAllNamespacesResponseToJSON,\n BnsGetNameInfoResponse,\n BnsGetNameInfoResponseFromJSON,\n BnsGetNameInfoResponseToJSON,\n BnsGetNamePriceResponse,\n BnsGetNamePriceResponseFromJSON,\n BnsGetNamePriceResponseToJSON,\n BnsGetNamespacePriceResponse,\n BnsGetNamespacePriceResponseFromJSON,\n BnsGetNamespacePriceResponseToJSON,\n BnsNamesOwnByAddressResponse,\n BnsNamesOwnByAddressResponseFromJSON,\n BnsNamesOwnByAddressResponseToJSON,\n} from '../models';\n\nexport interface FetchSubdomainsListForNameRequest {\n name: string;\n}\n\nexport interface FetchZoneFileRequest {\n name: string;\n}\n\nexport interface GetAllNamesRequest {\n page?: number;\n}\n\nexport interface GetHistoricalZoneFileRequest {\n name: string;\n zoneFileHash: string;\n}\n\nexport interface GetNameInfoRequest {\n name: string;\n}\n\nexport interface GetNamePriceRequest {\n name: string;\n}\n\nexport interface GetNamesOwnedByAddressRequest {\n blockchain: string;\n address: string;\n}\n\nexport interface GetNamespaceNamesRequest {\n tld: string;\n page?: number;\n}\n\nexport interface GetNamespacePriceRequest {\n tld: string;\n}\n\n/**\n * NamesApi - interface\n * \n * @export\n * @interface NamesApiInterface\n */\nexport interface NamesApiInterface {\n /**\n * Retrieves the list of subdomains for a specific name\n * @summary Get Name Subdomains\n * @param {string} name fully-qualified name\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NamesApiInterface\n */\n fetchSubdomainsListForNameRaw(requestParameters: FetchSubdomainsListForNameRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<string>>>;\n\n /**\n * Retrieves the list of subdomains for a specific name\n * Get Name Subdomains\n */\n fetchSubdomainsListForName(requestParameters: FetchSubdomainsListForNameRequest, initOverrides?: RequestInit): Promise<Array<string>>;\n\n /**\n * Retrieves a user’s raw zone file. This only works for RFC-compliant zone files. This method returns an error for names that have non-standard zone files.\n * @summary Get Zone File\n * @param {string} name fully-qualified name\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NamesApiInterface\n */\n fetchZoneFileRaw(requestParameters: FetchZoneFileRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>>;\n\n /**\n * Retrieves a user’s raw zone file. This only works for RFC-compliant zone files. This method returns an error for names that have non-standard zone files.\n * Get Zone File\n */\n fetchZoneFile(requestParameters: FetchZoneFileRequest, initOverrides?: RequestInit): Promise<object>;\n\n /**\n * Retrieves a list of all names known to the node.\n * @summary Get All Names\n * @param {number} [page] names are defaulted to page 1 with 100 results. You can query specific page results by using the \\'page\\' query parameter.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NamesApiInterface\n */\n getAllNamesRaw(requestParameters: GetAllNamesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<string>>>;\n\n /**\n * Retrieves a list of all names known to the node.\n * Get All Names\n */\n getAllNames(requestParameters: GetAllNamesRequest, initOverrides?: RequestInit): Promise<Array<string>>;\n\n /**\n * Retrieves a list of all namespaces known to the node.\n * @summary Get All Namespaces\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NamesApiInterface\n */\n getAllNamespacesRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<BnsGetAllNamespacesResponse>>;\n\n /**\n * Retrieves a list of all namespaces known to the node.\n * Get All Namespaces\n */\n getAllNamespaces(initOverrides?: RequestInit): Promise<BnsGetAllNamespacesResponse>;\n\n /**\n * Retrieves the historical zonefile specified by the username and zone hash.\n * @summary Get Historical Zone File\n * @param {string} name fully-qualified name\n * @param {string} zoneFileHash zone file hash\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NamesApiInterface\n */\n getHistoricalZoneFileRaw(requestParameters: GetHistoricalZoneFileRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>>;\n\n /**\n * Retrieves the historical zonefile specified by the username and zone hash.\n * Get Historical Zone File\n */\n getHistoricalZoneFile(requestParameters: GetHistoricalZoneFileRequest, initOverrides?: RequestInit): Promise<object>;\n\n /**\n * Retrieves details of a given name including the `address`, `status` and last transaction id - `last_txid`.\n * @summary Get Name Details\n * @param {string} name fully-qualified name\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NamesApiInterface\n */\n getNameInfoRaw(requestParameters: GetNameInfoRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BnsGetNameInfoResponse>>;\n\n /**\n * Retrieves details of a given name including the `address`, `status` and last transaction id - `last_txid`.\n * Get Name Details\n */\n getNameInfo(requestParameters: GetNameInfoRequest, initOverrides?: RequestInit): Promise<BnsGetNameInfoResponse>;\n\n /**\n * Retrieves the price of a name. The `amount` given will be in the smallest possible units of the currency.\n * @summary Get Name Price\n * @param {string} name the name to query price information for\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NamesApiInterface\n */\n getNamePriceRaw(requestParameters: GetNamePriceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BnsGetNamePriceResponse>>;\n\n /**\n * Retrieves the price of a name. The `amount` given will be in the smallest possible units of the currency.\n * Get Name Price\n */\n getNamePrice(requestParameters: GetNamePriceRequest, initOverrides?: RequestInit): Promise<BnsGetNamePriceResponse>;\n\n /**\n * Retrieves a list of names owned by the address provided.\n * @summary Get Names Owned by Address\n * @param {string} blockchain the layer-1 blockchain for the address\n * @param {string} address the address to lookup\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NamesApiInterface\n */\n getNamesOwnedByAddressRaw(requestParameters: GetNamesOwnedByAddressRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BnsNamesOwnByAddressResponse>>;\n\n /**\n * Retrieves a list of names owned by the address provided.\n * Get Names Owned by Address\n */\n getNamesOwnedByAddress(requestParameters: GetNamesOwnedByAddressRequest, initOverrides?: RequestInit): Promise<BnsNamesOwnByAddressResponse>;\n\n /**\n * Retrieves a list of names within a given namespace.\n * @summary Get Namespace Names\n * @param {string} tld the namespace to fetch names from.\n * @param {number} [page] namespace values are defaulted to page 1 with 100 results. You can query specific page results by using the \\'page\\' query parameter.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NamesApiInterface\n */\n getNamespaceNamesRaw(requestParameters: GetNamespaceNamesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<string>>>;\n\n /**\n * Retrieves a list of names within a given namespace.\n * Get Namespace Names\n */\n getNamespaceNames(requestParameters: GetNamespaceNamesRequest, initOverrides?: RequestInit): Promise<Array<string>>;\n\n /**\n * Retrieves the price of a namespace. The `amount` given will be in the smallest possible units of the currency.\n * @summary Get Namespace Price\n * @param {string} tld the namespace to fetch price for\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NamesApiInterface\n */\n getNamespacePriceRaw(requestParameters: GetNamespacePriceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BnsGetNamespacePriceResponse>>;\n\n /**\n * Retrieves the price of a namespace. The `amount` given will be in the smallest possible units of the currency.\n * Get Namespace Price\n */\n getNamespacePrice(requestParameters: GetNamespacePriceRequest, initOverrides?: RequestInit): Promise<BnsGetNamespacePriceResponse>;\n\n}\n\n/**\n * \n */\nexport class NamesApi extends runtime.BaseAPI implements NamesApiInterface {\n\n /**\n * Retrieves the list of subdomains for a specific name\n * Get Name Subdomains\n */\n async fetchSubdomainsListForNameRaw(requestParameters: FetchSubdomainsListForNameRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<string>>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling fetchSubdomainsListForName.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v1/names/{name}/subdomains`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Retrieves the list of subdomains for a specific name\n * Get Name Subdomains\n */\n async fetchSubdomainsListForName(requestParameters: FetchSubdomainsListForNameRequest, initOverrides?: RequestInit): Promise<Array<string>> {\n const response = await this.fetchSubdomainsListForNameRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a user’s raw zone file. This only works for RFC-compliant zone files. This method returns an error for names that have non-standard zone files.\n * Get Zone File\n */\n async fetchZoneFileRaw(requestParameters: FetchZoneFileRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling fetchZoneFile.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v1/names/{name}/zonefile`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Retrieves a user’s raw zone file. This only works for RFC-compliant zone files. This method returns an error for names that have non-standard zone files.\n * Get Zone File\n */\n async fetchZoneFile(requestParameters: FetchZoneFileRequest, initOverrides?: RequestInit): Promise<object> {\n const response = await this.fetchZoneFileRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of all names known to the node.\n * Get All Names\n */\n async getAllNamesRaw(requestParameters: GetAllNamesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<string>>> {\n const queryParameters: any = {};\n\n if (requestParameters.page !== undefined) {\n queryParameters['page'] = requestParameters.page;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v1/names`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Retrieves a list of all names known to the node.\n * Get All Names\n */\n async getAllNames(requestParameters: GetAllNamesRequest, initOverrides?: RequestInit): Promise<Array<string>> {\n const response = await this.getAllNamesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of all namespaces known to the node.\n * Get All Namespaces\n */\n async getAllNamespacesRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<BnsGetAllNamespacesResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v1/namespaces`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BnsGetAllNamespacesResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of all namespaces known to the node.\n * Get All Namespaces\n */\n async getAllNamespaces(initOverrides?: RequestInit): Promise<BnsGetAllNamespacesResponse> {\n const response = await this.getAllNamespacesRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the historical zonefile specified by the username and zone hash.\n * Get Historical Zone File\n */\n async getHistoricalZoneFileRaw(requestParameters: GetHistoricalZoneFileRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getHistoricalZoneFile.');\n }\n\n if (requestParameters.zoneFileHash === null || requestParameters.zoneFileHash === undefined) {\n throw new runtime.RequiredError('zoneFileHash','Required parameter requestParameters.zoneFileHash was null or undefined when calling getHistoricalZoneFile.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v1/names/{name}/zonefile/{zoneFileHash}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${\"zoneFileHash\"}}`, encodeURIComponent(String(requestParameters.zoneFileHash))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Retrieves the historical zonefile specified by the username and zone hash.\n * Get Historical Zone File\n */\n async getHistoricalZoneFile(requestParameters: GetHistoricalZoneFileRequest, initOverrides?: RequestInit): Promise<object> {\n const response = await this.getHistoricalZoneFileRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves details of a given name including the `address`, `status` and last transaction id - `last_txid`.\n * Get Name Details\n */\n async getNameInfoRaw(requestParameters: GetNameInfoRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BnsGetNameInfoResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getNameInfo.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v1/names/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BnsGetNameInfoResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves details of a given name including the `address`, `status` and last transaction id - `last_txid`.\n * Get Name Details\n */\n async getNameInfo(requestParameters: GetNameInfoRequest, initOverrides?: RequestInit): Promise<BnsGetNameInfoResponse> {\n const response = await this.getNameInfoRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the price of a name. The `amount` given will be in the smallest possible units of the currency.\n * Get Name Price\n */\n async getNamePriceRaw(requestParameters: GetNamePriceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BnsGetNamePriceResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getNamePrice.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v2/prices/names/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BnsGetNamePriceResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the price of a name. The `amount` given will be in the smallest possible units of the currency.\n * Get Name Price\n */\n async getNamePrice(requestParameters: GetNamePriceRequest, initOverrides?: RequestInit): Promise<BnsGetNamePriceResponse> {\n const response = await this.getNamePriceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of names owned by the address provided.\n * Get Names Owned by Address\n */\n async getNamesOwnedByAddressRaw(requestParameters: GetNamesOwnedByAddressRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BnsNamesOwnByAddressResponse>> {\n if (requestParameters.blockchain === null || requestParameters.blockchain === undefined) {\n throw new runtime.RequiredError('blockchain','Required parameter requestParameters.blockchain was null or undefined when calling getNamesOwnedByAddress.');\n }\n\n if (requestParameters.address === null || requestParameters.address === undefined) {\n throw new runtime.RequiredError('address','Required parameter requestParameters.address was null or undefined when calling getNamesOwnedByAddress.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v1/addresses/{blockchain}/{address}`.replace(`{${\"blockchain\"}}`, encodeURIComponent(String(requestParameters.blockchain))).replace(`{${\"address\"}}`, encodeURIComponent(String(requestParameters.address))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BnsNamesOwnByAddressResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of names owned by the address provided.\n * Get Names Owned by Address\n */\n async getNamesOwnedByAddress(requestParameters: GetNamesOwnedByAddressRequest, initOverrides?: RequestInit): Promise<BnsNamesOwnByAddressResponse> {\n const response = await this.getNamesOwnedByAddressRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of names within a given namespace.\n * Get Namespace Names\n */\n async getNamespaceNamesRaw(requestParameters: GetNamespaceNamesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<string>>> {\n if (requestParameters.tld === null || requestParameters.tld === undefined) {\n throw new runtime.RequiredError('tld','Required parameter requestParameters.tld was null or undefined when calling getNamespaceNames.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.page !== undefined) {\n queryParameters['page'] = requestParameters.page;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v1/namespaces/{tld}/names`.replace(`{${\"tld\"}}`, encodeURIComponent(String(requestParameters.tld))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Retrieves a list of names within a given namespace.\n * Get Namespace Names\n */\n async getNamespaceNames(requestParameters: GetNamespaceNamesRequest, initOverrides?: RequestInit): Promise<Array<string>> {\n const response = await this.getNamespaceNamesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the price of a namespace. The `amount` given will be in the smallest possible units of the currency.\n * Get Namespace Price\n */\n async getNamespacePriceRaw(requestParameters: GetNamespacePriceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BnsGetNamespacePriceResponse>> {\n if (requestParameters.tld === null || requestParameters.tld === undefined) {\n throw new runtime.RequiredError('tld','Required parameter requestParameters.tld was null or undefined when calling getNamespacePrice.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v2/prices/namespaces/{tld}`.replace(`{${\"tld\"}}`, encodeURIComponent(String(requestParameters.tld))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BnsGetNamespacePriceResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the price of a namespace. The `amount` given will be in the smallest possible units of the currency.\n * Get Namespace Price\n */\n async getNamespacePrice(requestParameters: GetNamespacePriceRequest, initOverrides?: RequestInit): Promise<BnsGetNamespacePriceResponse> {\n const response = await this.getNamespacePriceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n NonFungibleTokenHistoryEventList,\n NonFungibleTokenHistoryEventListFromJSON,\n NonFungibleTokenHistoryEventListToJSON,\n NonFungibleTokenHoldingsList,\n NonFungibleTokenHoldingsListFromJSON,\n NonFungibleTokenHoldingsListToJSON,\n NonFungibleTokenMintList,\n NonFungibleTokenMintListFromJSON,\n NonFungibleTokenMintListToJSON,\n} from '../models';\n\nexport interface GetNftHistoryRequest {\n assetIdentifier: string;\n value: string;\n limit?: number;\n offset?: number;\n unanchored?: boolean;\n txMetadata?: boolean;\n}\n\nexport interface GetNftHoldingsRequest {\n principal: string;\n assetIdentifiers?: Array<string>;\n limit?: number;\n offset?: number;\n unanchored?: boolean;\n txMetadata?: boolean;\n}\n\nexport interface GetNftMintsRequest {\n assetIdentifier: string;\n limit?: number;\n offset?: number;\n unanchored?: boolean;\n txMetadata?: boolean;\n}\n\n/**\n * NonFungibleTokensApi - interface\n * \n * @export\n * @interface NonFungibleTokensApiInterface\n */\nexport interface NonFungibleTokensApiInterface {\n /**\n * Retrieves all events relevant to a Non-Fungible Token. Useful to determine the ownership history of a particular asset. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * @summary Non-Fungible Token history\n * @param {string} assetIdentifier token asset class identifier\n * @param {string} value hex representation of the token\\'s unique value\n * @param {number} [limit] max number of events to fetch\n * @param {number} [offset] index of first event to fetch\n * @param {boolean} [unanchored] whether or not to include events from unconfirmed transactions\n * @param {boolean} [txMetadata] whether or not to include the complete transaction metadata instead of just `tx_id`. Enabling this option can affect performance and response times.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NonFungibleTokensApiInterface\n */\n getNftHistoryRaw(requestParameters: GetNftHistoryRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NonFungibleTokenHistoryEventList>>;\n\n /**\n * Retrieves all events relevant to a Non-Fungible Token. Useful to determine the ownership history of a particular asset. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * Non-Fungible Token history\n */\n getNftHistory(requestParameters: GetNftHistoryRequest, initOverrides?: RequestInit): Promise<NonFungibleTokenHistoryEventList>;\n\n /**\n * Retrieves the list of Non-Fungible Tokens owned by the given principal (STX address or Smart Contract ID). Results can be filtered by one or more asset identifiers and can include metadata about the transaction that made the principal own each token. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * @summary Non-Fungible Token holdings\n * @param {string} principal token owner\\'s STX address or Smart Contract ID\n * @param {Array<string>} [assetIdentifiers] identifiers of the token asset classes to filter for\n * @param {number} [limit] max number of tokens to fetch\n * @param {number} [offset] index of first tokens to fetch\n * @param {boolean} [unanchored] whether or not to include tokens from unconfirmed transactions\n * @param {boolean} [txMetadata] whether or not to include the complete transaction metadata instead of just `tx_id`. Enabling this option can affect performance and response times.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NonFungibleTokensApiInterface\n */\n getNftHoldingsRaw(requestParameters: GetNftHoldingsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NonFungibleTokenHoldingsList>>;\n\n /**\n * Retrieves the list of Non-Fungible Tokens owned by the given principal (STX address or Smart Contract ID). Results can be filtered by one or more asset identifiers and can include metadata about the transaction that made the principal own each token. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * Non-Fungible Token holdings\n */\n getNftHoldings(requestParameters: GetNftHoldingsRequest, initOverrides?: RequestInit): Promise<NonFungibleTokenHoldingsList>;\n\n /**\n * Retrieves all mint events for a Non-Fungible Token asset class. Useful to determine which NFTs of a particular collection have been claimed. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * @summary Non-Fungible Token mints\n * @param {string} assetIdentifier token asset class identifier\n * @param {number} [limit] max number of events to fetch\n * @param {number} [offset] index of first event to fetch\n * @param {boolean} [unanchored] whether or not to include events from unconfirmed transactions\n * @param {boolean} [txMetadata] whether or not to include the complete transaction metadata instead of just `tx_id`. Enabling this option can affect performance and response times.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NonFungibleTokensApiInterface\n */\n getNftMintsRaw(requestParameters: GetNftMintsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NonFungibleTokenMintList>>;\n\n /**\n * Retrieves all mint events for a Non-Fungible Token asset class. Useful to determine which NFTs of a particular collection have been claimed. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * Non-Fungible Token mints\n */\n getNftMints(requestParameters: GetNftMintsRequest, initOverrides?: RequestInit): Promise<NonFungibleTokenMintList>;\n\n}\n\n/**\n * \n */\nexport class NonFungibleTokensApi extends runtime.BaseAPI implements NonFungibleTokensApiInterface {\n\n /**\n * Retrieves all events relevant to a Non-Fungible Token. Useful to determine the ownership history of a particular asset. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * Non-Fungible Token history\n */\n async getNftHistoryRaw(requestParameters: GetNftHistoryRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NonFungibleTokenHistoryEventList>> {\n if (requestParameters.assetIdentifier === null || requestParameters.assetIdentifier === undefined) {\n throw new runtime.RequiredError('assetIdentifier','Required parameter requestParameters.assetIdentifier was null or undefined when calling getNftHistory.');\n }\n\n if (requestParameters.value === null || requestParameters.value === undefined) {\n throw new runtime.RequiredError('value','Required parameter requestParameters.value was null or undefined when calling getNftHistory.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.assetIdentifier !== undefined) {\n queryParameters['asset_identifier'] = requestParameters.assetIdentifier;\n }\n\n if (requestParameters.value !== undefined) {\n queryParameters['value'] = requestParameters.value;\n }\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n if (requestParameters.txMetadata !== undefined) {\n queryParameters['tx_metadata'] = requestParameters.txMetadata;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tokens/nft/history`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => NonFungibleTokenHistoryEventListFromJSON(jsonValue));\n }\n\n /**\n * Retrieves all events relevant to a Non-Fungible Token. Useful to determine the ownership history of a particular asset. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * Non-Fungible Token history\n */\n async getNftHistory(requestParameters: GetNftHistoryRequest, initOverrides?: RequestInit): Promise<NonFungibleTokenHistoryEventList> {\n const response = await this.getNftHistoryRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the list of Non-Fungible Tokens owned by the given principal (STX address or Smart Contract ID). Results can be filtered by one or more asset identifiers and can include metadata about the transaction that made the principal own each token. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * Non-Fungible Token holdings\n */\n async getNftHoldingsRaw(requestParameters: GetNftHoldingsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NonFungibleTokenHoldingsList>> {\n if (requestParameters.principal === null || requestParameters.principal === undefined) {\n throw new runtime.RequiredError('principal','Required parameter requestParameters.principal was null or undefined when calling getNftHoldings.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.principal !== undefined) {\n queryParameters['principal'] = requestParameters.principal;\n }\n\n if (requestParameters.assetIdentifiers) {\n queryParameters['asset_identifiers'] = requestParameters.assetIdentifiers;\n }\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n if (requestParameters.txMetadata !== undefined) {\n queryParameters['tx_metadata'] = requestParameters.txMetadata;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tokens/nft/holdings`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => NonFungibleTokenHoldingsListFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the list of Non-Fungible Tokens owned by the given principal (STX address or Smart Contract ID). Results can be filtered by one or more asset identifiers and can include metadata about the transaction that made the principal own each token. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * Non-Fungible Token holdings\n */\n async getNftHoldings(requestParameters: GetNftHoldingsRequest, initOverrides?: RequestInit): Promise<NonFungibleTokenHoldingsList> {\n const response = await this.getNftHoldingsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves all mint events for a Non-Fungible Token asset class. Useful to determine which NFTs of a particular collection have been claimed. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * Non-Fungible Token mints\n */\n async getNftMintsRaw(requestParameters: GetNftMintsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<NonFungibleTokenMintList>> {\n if (requestParameters.assetIdentifier === null || requestParameters.assetIdentifier === undefined) {\n throw new runtime.RequiredError('assetIdentifier','Required parameter requestParameters.assetIdentifier was null or undefined when calling getNftMints.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.assetIdentifier !== undefined) {\n queryParameters['asset_identifier'] = requestParameters.assetIdentifier;\n }\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n if (requestParameters.txMetadata !== undefined) {\n queryParameters['tx_metadata'] = requestParameters.txMetadata;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tokens/nft/mints`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => NonFungibleTokenMintListFromJSON(jsonValue));\n }\n\n /**\n * Retrieves all mint events for a Non-Fungible Token asset class. Useful to determine which NFTs of a particular collection have been claimed. More information on Non-Fungible Tokens on the Stacks blockchain can be found [here](https://docs.stacks.co/write-smart-contracts/tokens#non-fungible-tokens-nfts). \n * Non-Fungible Token mints\n */\n async getNftMints(requestParameters: GetNftMintsRequest, initOverrides?: RequestInit): Promise<NonFungibleTokenMintList> {\n const response = await this.getNftMintsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n PoxCycle,\n PoxCycleFromJSON,\n PoxCycleToJSON,\n PoxCycleListResponse,\n PoxCycleListResponseFromJSON,\n PoxCycleListResponseToJSON,\n PoxCycleSignerStackersListResponse,\n PoxCycleSignerStackersListResponseFromJSON,\n PoxCycleSignerStackersListResponseToJSON,\n PoxCycleSignersListResponse,\n PoxCycleSignersListResponseFromJSON,\n PoxCycleSignersListResponseToJSON,\n PoxSigner,\n PoxSignerFromJSON,\n PoxSignerToJSON,\n} from '../models';\n\nexport interface GetPoxCycleRequest {\n cycleNumber: number;\n}\n\nexport interface GetPoxCycleSignerRequest {\n cycleNumber: number;\n signerKey: string;\n}\n\nexport interface GetPoxCycleSignerStackersRequest {\n cycleNumber: number;\n signerKey: string;\n}\n\nexport interface GetPoxCycleSignersRequest {\n cycleNumber: number;\n}\n\nexport interface GetPoxCyclesRequest {\n limit?: number;\n offset?: number;\n}\n\n/**\n * ProofOfTransferApi - interface\n * \n * @export\n * @interface ProofOfTransferApiInterface\n */\nexport interface ProofOfTransferApiInterface {\n /**\n * Retrieves details for a PoX cycle\n * @summary Get PoX cycle\n * @param {number} cycleNumber PoX cycle number\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ProofOfTransferApiInterface\n */\n getPoxCycleRaw(requestParameters: GetPoxCycleRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoxCycle>>;\n\n /**\n * Retrieves details for a PoX cycle\n * Get PoX cycle\n */\n getPoxCycle(requestParameters: GetPoxCycleRequest, initOverrides?: RequestInit): Promise<PoxCycle>;\n\n /**\n * Retrieves details for a signer in a PoX cycle\n * @summary Get signer in PoX cycle\n * @param {number} cycleNumber PoX cycle number\n * @param {string} signerKey Signer key\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ProofOfTransferApiInterface\n */\n getPoxCycleSignerRaw(requestParameters: GetPoxCycleSignerRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoxSigner>>;\n\n /**\n * Retrieves details for a signer in a PoX cycle\n * Get signer in PoX cycle\n */\n getPoxCycleSigner(requestParameters: GetPoxCycleSignerRequest, initOverrides?: RequestInit): Promise<PoxSigner>;\n\n /**\n * Retrieves a list of stackers for a signer in a PoX cycle\n * @summary Get stackers for signer in PoX cycle\n * @param {number} cycleNumber PoX cycle number\n * @param {string} signerKey Signer key\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ProofOfTransferApiInterface\n */\n getPoxCycleSignerStackersRaw(requestParameters: GetPoxCycleSignerStackersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoxCycleSignerStackersListResponse>>;\n\n /**\n * Retrieves a list of stackers for a signer in a PoX cycle\n * Get stackers for signer in PoX cycle\n */\n getPoxCycleSignerStackers(requestParameters: GetPoxCycleSignerStackersRequest, initOverrides?: RequestInit): Promise<PoxCycleSignerStackersListResponse>;\n\n /**\n * Retrieves a list of signers in a PoX cycle\n * @summary Get signers in PoX cycle\n * @param {number} cycleNumber PoX cycle number\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ProofOfTransferApiInterface\n */\n getPoxCycleSignersRaw(requestParameters: GetPoxCycleSignersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoxCycleSignersListResponse>>;\n\n /**\n * Retrieves a list of signers in a PoX cycle\n * Get signers in PoX cycle\n */\n getPoxCycleSigners(requestParameters: GetPoxCycleSignersRequest, initOverrides?: RequestInit): Promise<PoxCycleSignersListResponse>;\n\n /**\n * Retrieves a list of PoX cycles\n * @summary Get PoX cycles\n * @param {number} [limit] max number of cycles to fetch\n * @param {number} [offset] index of first cycle to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ProofOfTransferApiInterface\n */\n getPoxCyclesRaw(requestParameters: GetPoxCyclesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoxCycleListResponse>>;\n\n /**\n * Retrieves a list of PoX cycles\n * Get PoX cycles\n */\n getPoxCycles(requestParameters: GetPoxCyclesRequest, initOverrides?: RequestInit): Promise<PoxCycleListResponse>;\n\n}\n\n/**\n * \n */\nexport class ProofOfTransferApi extends runtime.BaseAPI implements ProofOfTransferApiInterface {\n\n /**\n * Retrieves details for a PoX cycle\n * Get PoX cycle\n */\n async getPoxCycleRaw(requestParameters: GetPoxCycleRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoxCycle>> {\n if (requestParameters.cycleNumber === null || requestParameters.cycleNumber === undefined) {\n throw new runtime.RequiredError('cycleNumber','Required parameter requestParameters.cycleNumber was null or undefined when calling getPoxCycle.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/pox/cycles/{cycle_number}`.replace(`{${\"cycle_number\"}}`, encodeURIComponent(String(requestParameters.cycleNumber))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PoxCycleFromJSON(jsonValue));\n }\n\n /**\n * Retrieves details for a PoX cycle\n * Get PoX cycle\n */\n async getPoxCycle(requestParameters: GetPoxCycleRequest, initOverrides?: RequestInit): Promise<PoxCycle> {\n const response = await this.getPoxCycleRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves details for a signer in a PoX cycle\n * Get signer in PoX cycle\n */\n async getPoxCycleSignerRaw(requestParameters: GetPoxCycleSignerRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoxSigner>> {\n if (requestParameters.cycleNumber === null || requestParameters.cycleNumber === undefined) {\n throw new runtime.RequiredError('cycleNumber','Required parameter requestParameters.cycleNumber was null or undefined when calling getPoxCycleSigner.');\n }\n\n if (requestParameters.signerKey === null || requestParameters.signerKey === undefined) {\n throw new runtime.RequiredError('signerKey','Required parameter requestParameters.signerKey was null or undefined when calling getPoxCycleSigner.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/pox/cycles/{cycle_number}/signers/{signer_key}`.replace(`{${\"cycle_number\"}}`, encodeURIComponent(String(requestParameters.cycleNumber))).replace(`{${\"signer_key\"}}`, encodeURIComponent(String(requestParameters.signerKey))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PoxSignerFromJSON(jsonValue));\n }\n\n /**\n * Retrieves details for a signer in a PoX cycle\n * Get signer in PoX cycle\n */\n async getPoxCycleSigner(requestParameters: GetPoxCycleSignerRequest, initOverrides?: RequestInit): Promise<PoxSigner> {\n const response = await this.getPoxCycleSignerRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of stackers for a signer in a PoX cycle\n * Get stackers for signer in PoX cycle\n */\n async getPoxCycleSignerStackersRaw(requestParameters: GetPoxCycleSignerStackersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoxCycleSignerStackersListResponse>> {\n if (requestParameters.cycleNumber === null || requestParameters.cycleNumber === undefined) {\n throw new runtime.RequiredError('cycleNumber','Required parameter requestParameters.cycleNumber was null or undefined when calling getPoxCycleSignerStackers.');\n }\n\n if (requestParameters.signerKey === null || requestParameters.signerKey === undefined) {\n throw new runtime.RequiredError('signerKey','Required parameter requestParameters.signerKey was null or undefined when calling getPoxCycleSignerStackers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/pox/cycles/{cycle_number}/signers/{signer_key}/stackers`.replace(`{${\"cycle_number\"}}`, encodeURIComponent(String(requestParameters.cycleNumber))).replace(`{${\"signer_key\"}}`, encodeURIComponent(String(requestParameters.signerKey))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PoxCycleSignerStackersListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of stackers for a signer in a PoX cycle\n * Get stackers for signer in PoX cycle\n */\n async getPoxCycleSignerStackers(requestParameters: GetPoxCycleSignerStackersRequest, initOverrides?: RequestInit): Promise<PoxCycleSignerStackersListResponse> {\n const response = await this.getPoxCycleSignerStackersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of signers in a PoX cycle\n * Get signers in PoX cycle\n */\n async getPoxCycleSignersRaw(requestParameters: GetPoxCycleSignersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoxCycleSignersListResponse>> {\n if (requestParameters.cycleNumber === null || requestParameters.cycleNumber === undefined) {\n throw new runtime.RequiredError('cycleNumber','Required parameter requestParameters.cycleNumber was null or undefined when calling getPoxCycleSigners.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/pox/cycles/{cycle_number}/signers`.replace(`{${\"cycle_number\"}}`, encodeURIComponent(String(requestParameters.cycleNumber))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PoxCycleSignersListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of signers in a PoX cycle\n * Get signers in PoX cycle\n */\n async getPoxCycleSigners(requestParameters: GetPoxCycleSignersRequest, initOverrides?: RequestInit): Promise<PoxCycleSignersListResponse> {\n const response = await this.getPoxCycleSignersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of PoX cycles\n * Get PoX cycles\n */\n async getPoxCyclesRaw(requestParameters: GetPoxCyclesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoxCycleListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/pox/cycles`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PoxCycleListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of PoX cycles\n * Get PoX cycles\n */\n async getPoxCycles(requestParameters: GetPoxCyclesRequest, initOverrides?: RequestInit): Promise<PoxCycleListResponse> {\n const response = await this.getPoxCyclesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n RosettaAccountBalanceRequest,\n RosettaAccountBalanceRequestFromJSON,\n RosettaAccountBalanceRequestToJSON,\n RosettaAccountBalanceResponse,\n RosettaAccountBalanceResponseFromJSON,\n RosettaAccountBalanceResponseToJSON,\n RosettaBlockRequest,\n RosettaBlockRequestFromJSON,\n RosettaBlockRequestToJSON,\n RosettaBlockResponse,\n RosettaBlockResponseFromJSON,\n RosettaBlockResponseToJSON,\n RosettaBlockTransactionRequest,\n RosettaBlockTransactionRequestFromJSON,\n RosettaBlockTransactionRequestToJSON,\n RosettaBlockTransactionResponse,\n RosettaBlockTransactionResponseFromJSON,\n RosettaBlockTransactionResponseToJSON,\n RosettaConstructionCombineRequest,\n RosettaConstructionCombineRequestFromJSON,\n RosettaConstructionCombineRequestToJSON,\n RosettaConstructionCombineResponse,\n RosettaConstructionCombineResponseFromJSON,\n RosettaConstructionCombineResponseToJSON,\n RosettaConstructionDeriveRequest,\n RosettaConstructionDeriveRequestFromJSON,\n RosettaConstructionDeriveRequestToJSON,\n RosettaConstructionDeriveResponse,\n RosettaConstructionDeriveResponseFromJSON,\n RosettaConstructionDeriveResponseToJSON,\n RosettaConstructionHashRequest,\n RosettaConstructionHashRequestFromJSON,\n RosettaConstructionHashRequestToJSON,\n RosettaConstructionHashResponse,\n RosettaConstructionHashResponseFromJSON,\n RosettaConstructionHashResponseToJSON,\n RosettaConstructionMetadataRequest,\n RosettaConstructionMetadataRequestFromJSON,\n RosettaConstructionMetadataRequestToJSON,\n RosettaConstructionMetadataResponse,\n RosettaConstructionMetadataResponseFromJSON,\n RosettaConstructionMetadataResponseToJSON,\n RosettaConstructionParseRequest,\n RosettaConstructionParseRequestFromJSON,\n RosettaConstructionParseRequestToJSON,\n RosettaConstructionParseResponse,\n RosettaConstructionParseResponseFromJSON,\n RosettaConstructionParseResponseToJSON,\n RosettaConstructionPayloadResponse,\n RosettaConstructionPayloadResponseFromJSON,\n RosettaConstructionPayloadResponseToJSON,\n RosettaConstructionPayloadsRequest,\n RosettaConstructionPayloadsRequestFromJSON,\n RosettaConstructionPayloadsRequestToJSON,\n RosettaConstructionPreprocessRequest,\n RosettaConstructionPreprocessRequestFromJSON,\n RosettaConstructionPreprocessRequestToJSON,\n RosettaConstructionPreprocessResponse,\n RosettaConstructionPreprocessResponseFromJSON,\n RosettaConstructionPreprocessResponseToJSON,\n RosettaConstructionSubmitRequest,\n RosettaConstructionSubmitRequestFromJSON,\n RosettaConstructionSubmitRequestToJSON,\n RosettaConstructionSubmitResponse,\n RosettaConstructionSubmitResponseFromJSON,\n RosettaConstructionSubmitResponseToJSON,\n RosettaError,\n RosettaErrorFromJSON,\n RosettaErrorToJSON,\n RosettaMempoolRequest,\n RosettaMempoolRequestFromJSON,\n RosettaMempoolRequestToJSON,\n RosettaMempoolResponse,\n RosettaMempoolResponseFromJSON,\n RosettaMempoolResponseToJSON,\n RosettaMempoolTransactionRequest,\n RosettaMempoolTransactionRequestFromJSON,\n RosettaMempoolTransactionRequestToJSON,\n RosettaMempoolTransactionResponse,\n RosettaMempoolTransactionResponseFromJSON,\n RosettaMempoolTransactionResponseToJSON,\n RosettaNetworkListResponse,\n RosettaNetworkListResponseFromJSON,\n RosettaNetworkListResponseToJSON,\n RosettaNetworkOptionsResponse,\n RosettaNetworkOptionsResponseFromJSON,\n RosettaNetworkOptionsResponseToJSON,\n RosettaNetworkStatusResponse,\n RosettaNetworkStatusResponseFromJSON,\n RosettaNetworkStatusResponseToJSON,\n RosettaOptionsRequest,\n RosettaOptionsRequestFromJSON,\n RosettaOptionsRequestToJSON,\n RosettaStatusRequest,\n RosettaStatusRequestFromJSON,\n RosettaStatusRequestToJSON,\n} from '../models';\n\nexport interface RosettaAccountBalanceOperationRequest {\n rosettaAccountBalanceRequest: RosettaAccountBalanceRequest;\n}\n\nexport interface RosettaBlockOperationRequest {\n rosettaBlockRequest: RosettaBlockRequest;\n}\n\nexport interface RosettaBlockTransactionOperationRequest {\n rosettaBlockTransactionRequest: RosettaBlockTransactionRequest;\n}\n\nexport interface RosettaConstructionCombineOperationRequest {\n rosettaConstructionCombineRequest: RosettaConstructionCombineRequest;\n}\n\nexport interface RosettaConstructionDeriveOperationRequest {\n rosettaConstructionDeriveRequest: RosettaConstructionDeriveRequest;\n}\n\nexport interface RosettaConstructionHashOperationRequest {\n rosettaConstructionHashRequest: RosettaConstructionHashRequest;\n}\n\nexport interface RosettaConstructionMetadataOperationRequest {\n rosettaConstructionMetadataRequest: RosettaConstructionMetadataRequest;\n}\n\nexport interface RosettaConstructionParseOperationRequest {\n rosettaConstructionParseRequest: RosettaConstructionParseRequest;\n}\n\nexport interface RosettaConstructionPayloadsOperationRequest {\n rosettaConstructionPayloadsRequest: RosettaConstructionPayloadsRequest;\n}\n\nexport interface RosettaConstructionPreprocessOperationRequest {\n rosettaConstructionPreprocessRequest: RosettaConstructionPreprocessRequest;\n}\n\nexport interface RosettaConstructionSubmitOperationRequest {\n rosettaConstructionSubmitRequest: RosettaConstructionSubmitRequest;\n}\n\nexport interface RosettaMempoolOperationRequest {\n rosettaMempoolRequest: RosettaMempoolRequest;\n}\n\nexport interface RosettaMempoolTransactionOperationRequest {\n rosettaMempoolTransactionRequest: RosettaMempoolTransactionRequest;\n}\n\nexport interface RosettaNetworkOptionsRequest {\n rosettaOptionsRequest: RosettaOptionsRequest;\n}\n\nexport interface RosettaNetworkStatusRequest {\n rosettaStatusRequest: RosettaStatusRequest;\n}\n\n/**\n * RosettaApi - interface\n * \n * @export\n * @interface RosettaApiInterface\n */\nexport interface RosettaApiInterface {\n /**\n * An AccountBalanceRequest is utilized to make a balance request on the /account/balance endpoint. If the block_identifier is populated, a historical balance query should be performed. \n * @summary Get an Account Balance\n * @param {RosettaAccountBalanceRequest} rosettaAccountBalanceRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaAccountBalanceRaw(requestParameters: RosettaAccountBalanceOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaAccountBalanceResponse>>;\n\n /**\n * An AccountBalanceRequest is utilized to make a balance request on the /account/balance endpoint. If the block_identifier is populated, a historical balance query should be performed. \n * Get an Account Balance\n */\n rosettaAccountBalance(requestParameters: RosettaAccountBalanceOperationRequest, initOverrides?: RequestInit): Promise<RosettaAccountBalanceResponse>;\n\n /**\n * Retrieves the Block information for a given block identifier including a list of all transactions in the block.\n * @summary Get a Block\n * @param {RosettaBlockRequest} rosettaBlockRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaBlockRaw(requestParameters: RosettaBlockOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaBlockResponse>>;\n\n /**\n * Retrieves the Block information for a given block identifier including a list of all transactions in the block.\n * Get a Block\n */\n rosettaBlock(requestParameters: RosettaBlockOperationRequest, initOverrides?: RequestInit): Promise<RosettaBlockResponse>;\n\n /**\n * Retrieves a Transaction included in a block that is not returned in a BlockResponse.\n * @summary Get a Block Transaction\n * @param {RosettaBlockTransactionRequest} rosettaBlockTransactionRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaBlockTransactionRaw(requestParameters: RosettaBlockTransactionOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaBlockTransactionResponse>>;\n\n /**\n * Retrieves a Transaction included in a block that is not returned in a BlockResponse.\n * Get a Block Transaction\n */\n rosettaBlockTransaction(requestParameters: RosettaBlockTransactionOperationRequest, initOverrides?: RequestInit): Promise<RosettaBlockTransactionResponse>;\n\n /**\n * Take unsigned transaction and signature, combine both and return signed transaction. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * @summary Create Network Transaction from Signatures\n * @param {RosettaConstructionCombineRequest} rosettaConstructionCombineRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaConstructionCombineRaw(requestParameters: RosettaConstructionCombineOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionCombineResponse>>;\n\n /**\n * Take unsigned transaction and signature, combine both and return signed transaction. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * Create Network Transaction from Signatures\n */\n rosettaConstructionCombine(requestParameters: RosettaConstructionCombineOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionCombineResponse>;\n\n /**\n * Retrieves the Account Identifier information based on a Public Key for a given network\n * @summary Derive an AccountIdentifier from a PublicKey\n * @param {RosettaConstructionDeriveRequest} rosettaConstructionDeriveRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaConstructionDeriveRaw(requestParameters: RosettaConstructionDeriveOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionDeriveResponse>>;\n\n /**\n * Retrieves the Account Identifier information based on a Public Key for a given network\n * Derive an AccountIdentifier from a PublicKey\n */\n rosettaConstructionDerive(requestParameters: RosettaConstructionDeriveOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionDeriveResponse>;\n\n /**\n * Retrieves the network-specific transaction hash for a signed transaction.\n * @summary Get the Hash of a Signed Transaction\n * @param {RosettaConstructionHashRequest} rosettaConstructionHashRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaConstructionHashRaw(requestParameters: RosettaConstructionHashOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionHashResponse>>;\n\n /**\n * Retrieves the network-specific transaction hash for a signed transaction.\n * Get the Hash of a Signed Transaction\n */\n rosettaConstructionHash(requestParameters: RosettaConstructionHashOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionHashResponse>;\n\n /**\n * To Do\n * @summary Get Metadata for Transaction Construction\n * @param {RosettaConstructionMetadataRequest} rosettaConstructionMetadataRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaConstructionMetadataRaw(requestParameters: RosettaConstructionMetadataOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionMetadataResponse>>;\n\n /**\n * To Do\n * Get Metadata for Transaction Construction\n */\n rosettaConstructionMetadata(requestParameters: RosettaConstructionMetadataOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionMetadataResponse>;\n\n /**\n * TODO\n * @summary Parse a Transaction\n * @param {RosettaConstructionParseRequest} rosettaConstructionParseRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaConstructionParseRaw(requestParameters: RosettaConstructionParseOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionParseResponse>>;\n\n /**\n * TODO\n * Parse a Transaction\n */\n rosettaConstructionParse(requestParameters: RosettaConstructionParseOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionParseResponse>;\n\n /**\n * Generate an unsigned transaction from operations and metadata. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * @summary Generate an Unsigned Transaction and Signing Payloads\n * @param {RosettaConstructionPayloadsRequest} rosettaConstructionPayloadsRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaConstructionPayloadsRaw(requestParameters: RosettaConstructionPayloadsOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionPayloadResponse>>;\n\n /**\n * Generate an unsigned transaction from operations and metadata. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * Generate an Unsigned Transaction and Signing Payloads\n */\n rosettaConstructionPayloads(requestParameters: RosettaConstructionPayloadsOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionPayloadResponse>;\n\n /**\n * TODO\n * @summary Create a Request to Fetch Metadata\n * @param {RosettaConstructionPreprocessRequest} rosettaConstructionPreprocessRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaConstructionPreprocessRaw(requestParameters: RosettaConstructionPreprocessOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionPreprocessResponse>>;\n\n /**\n * TODO\n * Create a Request to Fetch Metadata\n */\n rosettaConstructionPreprocess(requestParameters: RosettaConstructionPreprocessOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionPreprocessResponse>;\n\n /**\n * Submit a pre-signed transaction to the node. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * @summary Submit a Signed Transaction\n * @param {RosettaConstructionSubmitRequest} rosettaConstructionSubmitRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaConstructionSubmitRaw(requestParameters: RosettaConstructionSubmitOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionSubmitResponse>>;\n\n /**\n * Submit a pre-signed transaction to the node. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * Submit a Signed Transaction\n */\n rosettaConstructionSubmit(requestParameters: RosettaConstructionSubmitOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionSubmitResponse>;\n\n /**\n * Retrieves a list of transactions currently in the mempool for a given network.\n * @summary Get All Mempool Transactions\n * @param {RosettaMempoolRequest} rosettaMempoolRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaMempoolRaw(requestParameters: RosettaMempoolOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaMempoolResponse>>;\n\n /**\n * Retrieves a list of transactions currently in the mempool for a given network.\n * Get All Mempool Transactions\n */\n rosettaMempool(requestParameters: RosettaMempoolOperationRequest, initOverrides?: RequestInit): Promise<RosettaMempoolResponse>;\n\n /**\n * Retrieves transaction details from the mempool for a given transaction id from a given network.\n * @summary Get a Mempool Transaction\n * @param {RosettaMempoolTransactionRequest} rosettaMempoolTransactionRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaMempoolTransactionRaw(requestParameters: RosettaMempoolTransactionOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaMempoolTransactionResponse>>;\n\n /**\n * Retrieves transaction details from the mempool for a given transaction id from a given network.\n * Get a Mempool Transaction\n */\n rosettaMempoolTransaction(requestParameters: RosettaMempoolTransactionOperationRequest, initOverrides?: RequestInit): Promise<RosettaMempoolTransactionResponse>;\n\n /**\n * Retrieves a list of NetworkIdentifiers that the Rosetta server supports.\n * @summary Get List of Available Networks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaNetworkListRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaNetworkListResponse>>;\n\n /**\n * Retrieves a list of NetworkIdentifiers that the Rosetta server supports.\n * Get List of Available Networks\n */\n rosettaNetworkList(initOverrides?: RequestInit): Promise<RosettaNetworkListResponse>;\n\n /**\n * Retrieves the version information and allowed network-specific types for a NetworkIdentifier. Any NetworkIdentifier returned by /network/list should be accessible here. Because options are retrievable in the context of a NetworkIdentifier, it is possible to define unique options for each network. \n * @summary Get Network Options\n * @param {RosettaOptionsRequest} rosettaOptionsRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaNetworkOptionsRaw(requestParameters: RosettaNetworkOptionsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaNetworkOptionsResponse>>;\n\n /**\n * Retrieves the version information and allowed network-specific types for a NetworkIdentifier. Any NetworkIdentifier returned by /network/list should be accessible here. Because options are retrievable in the context of a NetworkIdentifier, it is possible to define unique options for each network. \n * Get Network Options\n */\n rosettaNetworkOptions(requestParameters: RosettaNetworkOptionsRequest, initOverrides?: RequestInit): Promise<RosettaNetworkOptionsResponse>;\n\n /**\n * Retrieves the current status of the network requested. Any NetworkIdentifier returned by /network/list should be accessible here. \n * @summary Get Network Status\n * @param {RosettaStatusRequest} rosettaStatusRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RosettaApiInterface\n */\n rosettaNetworkStatusRaw(requestParameters: RosettaNetworkStatusRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaNetworkStatusResponse>>;\n\n /**\n * Retrieves the current status of the network requested. Any NetworkIdentifier returned by /network/list should be accessible here. \n * Get Network Status\n */\n rosettaNetworkStatus(requestParameters: RosettaNetworkStatusRequest, initOverrides?: RequestInit): Promise<RosettaNetworkStatusResponse>;\n\n}\n\n/**\n * \n */\nexport class RosettaApi extends runtime.BaseAPI implements RosettaApiInterface {\n\n /**\n * An AccountBalanceRequest is utilized to make a balance request on the /account/balance endpoint. If the block_identifier is populated, a historical balance query should be performed. \n * Get an Account Balance\n */\n async rosettaAccountBalanceRaw(requestParameters: RosettaAccountBalanceOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaAccountBalanceResponse>> {\n if (requestParameters.rosettaAccountBalanceRequest === null || requestParameters.rosettaAccountBalanceRequest === undefined) {\n throw new runtime.RequiredError('rosettaAccountBalanceRequest','Required parameter requestParameters.rosettaAccountBalanceRequest was null or undefined when calling rosettaAccountBalance.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/account/balance`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaAccountBalanceRequestToJSON(requestParameters.rosettaAccountBalanceRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaAccountBalanceResponseFromJSON(jsonValue));\n }\n\n /**\n * An AccountBalanceRequest is utilized to make a balance request on the /account/balance endpoint. If the block_identifier is populated, a historical balance query should be performed. \n * Get an Account Balance\n */\n async rosettaAccountBalance(requestParameters: RosettaAccountBalanceOperationRequest, initOverrides?: RequestInit): Promise<RosettaAccountBalanceResponse> {\n const response = await this.rosettaAccountBalanceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the Block information for a given block identifier including a list of all transactions in the block.\n * Get a Block\n */\n async rosettaBlockRaw(requestParameters: RosettaBlockOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaBlockResponse>> {\n if (requestParameters.rosettaBlockRequest === null || requestParameters.rosettaBlockRequest === undefined) {\n throw new runtime.RequiredError('rosettaBlockRequest','Required parameter requestParameters.rosettaBlockRequest was null or undefined when calling rosettaBlock.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/block`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaBlockRequestToJSON(requestParameters.rosettaBlockRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaBlockResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the Block information for a given block identifier including a list of all transactions in the block.\n * Get a Block\n */\n async rosettaBlock(requestParameters: RosettaBlockOperationRequest, initOverrides?: RequestInit): Promise<RosettaBlockResponse> {\n const response = await this.rosettaBlockRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a Transaction included in a block that is not returned in a BlockResponse.\n * Get a Block Transaction\n */\n async rosettaBlockTransactionRaw(requestParameters: RosettaBlockTransactionOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaBlockTransactionResponse>> {\n if (requestParameters.rosettaBlockTransactionRequest === null || requestParameters.rosettaBlockTransactionRequest === undefined) {\n throw new runtime.RequiredError('rosettaBlockTransactionRequest','Required parameter requestParameters.rosettaBlockTransactionRequest was null or undefined when calling rosettaBlockTransaction.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/block/transaction`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaBlockTransactionRequestToJSON(requestParameters.rosettaBlockTransactionRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaBlockTransactionResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a Transaction included in a block that is not returned in a BlockResponse.\n * Get a Block Transaction\n */\n async rosettaBlockTransaction(requestParameters: RosettaBlockTransactionOperationRequest, initOverrides?: RequestInit): Promise<RosettaBlockTransactionResponse> {\n const response = await this.rosettaBlockTransactionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Take unsigned transaction and signature, combine both and return signed transaction. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * Create Network Transaction from Signatures\n */\n async rosettaConstructionCombineRaw(requestParameters: RosettaConstructionCombineOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionCombineResponse>> {\n if (requestParameters.rosettaConstructionCombineRequest === null || requestParameters.rosettaConstructionCombineRequest === undefined) {\n throw new runtime.RequiredError('rosettaConstructionCombineRequest','Required parameter requestParameters.rosettaConstructionCombineRequest was null or undefined when calling rosettaConstructionCombine.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/construction/combine`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaConstructionCombineRequestToJSON(requestParameters.rosettaConstructionCombineRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaConstructionCombineResponseFromJSON(jsonValue));\n }\n\n /**\n * Take unsigned transaction and signature, combine both and return signed transaction. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * Create Network Transaction from Signatures\n */\n async rosettaConstructionCombine(requestParameters: RosettaConstructionCombineOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionCombineResponse> {\n const response = await this.rosettaConstructionCombineRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the Account Identifier information based on a Public Key for a given network\n * Derive an AccountIdentifier from a PublicKey\n */\n async rosettaConstructionDeriveRaw(requestParameters: RosettaConstructionDeriveOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionDeriveResponse>> {\n if (requestParameters.rosettaConstructionDeriveRequest === null || requestParameters.rosettaConstructionDeriveRequest === undefined) {\n throw new runtime.RequiredError('rosettaConstructionDeriveRequest','Required parameter requestParameters.rosettaConstructionDeriveRequest was null or undefined when calling rosettaConstructionDerive.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/construction/derive`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaConstructionDeriveRequestToJSON(requestParameters.rosettaConstructionDeriveRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaConstructionDeriveResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the Account Identifier information based on a Public Key for a given network\n * Derive an AccountIdentifier from a PublicKey\n */\n async rosettaConstructionDerive(requestParameters: RosettaConstructionDeriveOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionDeriveResponse> {\n const response = await this.rosettaConstructionDeriveRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the network-specific transaction hash for a signed transaction.\n * Get the Hash of a Signed Transaction\n */\n async rosettaConstructionHashRaw(requestParameters: RosettaConstructionHashOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionHashResponse>> {\n if (requestParameters.rosettaConstructionHashRequest === null || requestParameters.rosettaConstructionHashRequest === undefined) {\n throw new runtime.RequiredError('rosettaConstructionHashRequest','Required parameter requestParameters.rosettaConstructionHashRequest was null or undefined when calling rosettaConstructionHash.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/construction/hash`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaConstructionHashRequestToJSON(requestParameters.rosettaConstructionHashRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaConstructionHashResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the network-specific transaction hash for a signed transaction.\n * Get the Hash of a Signed Transaction\n */\n async rosettaConstructionHash(requestParameters: RosettaConstructionHashOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionHashResponse> {\n const response = await this.rosettaConstructionHashRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * To Do\n * Get Metadata for Transaction Construction\n */\n async rosettaConstructionMetadataRaw(requestParameters: RosettaConstructionMetadataOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionMetadataResponse>> {\n if (requestParameters.rosettaConstructionMetadataRequest === null || requestParameters.rosettaConstructionMetadataRequest === undefined) {\n throw new runtime.RequiredError('rosettaConstructionMetadataRequest','Required parameter requestParameters.rosettaConstructionMetadataRequest was null or undefined when calling rosettaConstructionMetadata.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/construction/metadata`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaConstructionMetadataRequestToJSON(requestParameters.rosettaConstructionMetadataRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaConstructionMetadataResponseFromJSON(jsonValue));\n }\n\n /**\n * To Do\n * Get Metadata for Transaction Construction\n */\n async rosettaConstructionMetadata(requestParameters: RosettaConstructionMetadataOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionMetadataResponse> {\n const response = await this.rosettaConstructionMetadataRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * TODO\n * Parse a Transaction\n */\n async rosettaConstructionParseRaw(requestParameters: RosettaConstructionParseOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionParseResponse>> {\n if (requestParameters.rosettaConstructionParseRequest === null || requestParameters.rosettaConstructionParseRequest === undefined) {\n throw new runtime.RequiredError('rosettaConstructionParseRequest','Required parameter requestParameters.rosettaConstructionParseRequest was null or undefined when calling rosettaConstructionParse.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/construction/parse`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaConstructionParseRequestToJSON(requestParameters.rosettaConstructionParseRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaConstructionParseResponseFromJSON(jsonValue));\n }\n\n /**\n * TODO\n * Parse a Transaction\n */\n async rosettaConstructionParse(requestParameters: RosettaConstructionParseOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionParseResponse> {\n const response = await this.rosettaConstructionParseRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Generate an unsigned transaction from operations and metadata. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * Generate an Unsigned Transaction and Signing Payloads\n */\n async rosettaConstructionPayloadsRaw(requestParameters: RosettaConstructionPayloadsOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionPayloadResponse>> {\n if (requestParameters.rosettaConstructionPayloadsRequest === null || requestParameters.rosettaConstructionPayloadsRequest === undefined) {\n throw new runtime.RequiredError('rosettaConstructionPayloadsRequest','Required parameter requestParameters.rosettaConstructionPayloadsRequest was null or undefined when calling rosettaConstructionPayloads.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/construction/payloads`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaConstructionPayloadsRequestToJSON(requestParameters.rosettaConstructionPayloadsRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaConstructionPayloadResponseFromJSON(jsonValue));\n }\n\n /**\n * Generate an unsigned transaction from operations and metadata. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * Generate an Unsigned Transaction and Signing Payloads\n */\n async rosettaConstructionPayloads(requestParameters: RosettaConstructionPayloadsOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionPayloadResponse> {\n const response = await this.rosettaConstructionPayloadsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * TODO\n * Create a Request to Fetch Metadata\n */\n async rosettaConstructionPreprocessRaw(requestParameters: RosettaConstructionPreprocessOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionPreprocessResponse>> {\n if (requestParameters.rosettaConstructionPreprocessRequest === null || requestParameters.rosettaConstructionPreprocessRequest === undefined) {\n throw new runtime.RequiredError('rosettaConstructionPreprocessRequest','Required parameter requestParameters.rosettaConstructionPreprocessRequest was null or undefined when calling rosettaConstructionPreprocess.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/construction/preprocess`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaConstructionPreprocessRequestToJSON(requestParameters.rosettaConstructionPreprocessRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaConstructionPreprocessResponseFromJSON(jsonValue));\n }\n\n /**\n * TODO\n * Create a Request to Fetch Metadata\n */\n async rosettaConstructionPreprocess(requestParameters: RosettaConstructionPreprocessOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionPreprocessResponse> {\n const response = await this.rosettaConstructionPreprocessRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Submit a pre-signed transaction to the node. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * Submit a Signed Transaction\n */\n async rosettaConstructionSubmitRaw(requestParameters: RosettaConstructionSubmitOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaConstructionSubmitResponse>> {\n if (requestParameters.rosettaConstructionSubmitRequest === null || requestParameters.rosettaConstructionSubmitRequest === undefined) {\n throw new runtime.RequiredError('rosettaConstructionSubmitRequest','Required parameter requestParameters.rosettaConstructionSubmitRequest was null or undefined when calling rosettaConstructionSubmit.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/construction/submit`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaConstructionSubmitRequestToJSON(requestParameters.rosettaConstructionSubmitRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaConstructionSubmitResponseFromJSON(jsonValue));\n }\n\n /**\n * Submit a pre-signed transaction to the node. The examples below are illustrative only. You\\'ll need to use your wallet to generate actual values to use them in the request payload.\n * Submit a Signed Transaction\n */\n async rosettaConstructionSubmit(requestParameters: RosettaConstructionSubmitOperationRequest, initOverrides?: RequestInit): Promise<RosettaConstructionSubmitResponse> {\n const response = await this.rosettaConstructionSubmitRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of transactions currently in the mempool for a given network.\n * Get All Mempool Transactions\n */\n async rosettaMempoolRaw(requestParameters: RosettaMempoolOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaMempoolResponse>> {\n if (requestParameters.rosettaMempoolRequest === null || requestParameters.rosettaMempoolRequest === undefined) {\n throw new runtime.RequiredError('rosettaMempoolRequest','Required parameter requestParameters.rosettaMempoolRequest was null or undefined when calling rosettaMempool.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/mempool`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaMempoolRequestToJSON(requestParameters.rosettaMempoolRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaMempoolResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of transactions currently in the mempool for a given network.\n * Get All Mempool Transactions\n */\n async rosettaMempool(requestParameters: RosettaMempoolOperationRequest, initOverrides?: RequestInit): Promise<RosettaMempoolResponse> {\n const response = await this.rosettaMempoolRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves transaction details from the mempool for a given transaction id from a given network.\n * Get a Mempool Transaction\n */\n async rosettaMempoolTransactionRaw(requestParameters: RosettaMempoolTransactionOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaMempoolTransactionResponse>> {\n if (requestParameters.rosettaMempoolTransactionRequest === null || requestParameters.rosettaMempoolTransactionRequest === undefined) {\n throw new runtime.RequiredError('rosettaMempoolTransactionRequest','Required parameter requestParameters.rosettaMempoolTransactionRequest was null or undefined when calling rosettaMempoolTransaction.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/mempool/transaction`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaMempoolTransactionRequestToJSON(requestParameters.rosettaMempoolTransactionRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaMempoolTransactionResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves transaction details from the mempool for a given transaction id from a given network.\n * Get a Mempool Transaction\n */\n async rosettaMempoolTransaction(requestParameters: RosettaMempoolTransactionOperationRequest, initOverrides?: RequestInit): Promise<RosettaMempoolTransactionResponse> {\n const response = await this.rosettaMempoolTransactionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of NetworkIdentifiers that the Rosetta server supports.\n * Get List of Available Networks\n */\n async rosettaNetworkListRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaNetworkListResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/rosetta/v1/network/list`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaNetworkListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of NetworkIdentifiers that the Rosetta server supports.\n * Get List of Available Networks\n */\n async rosettaNetworkList(initOverrides?: RequestInit): Promise<RosettaNetworkListResponse> {\n const response = await this.rosettaNetworkListRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the version information and allowed network-specific types for a NetworkIdentifier. Any NetworkIdentifier returned by /network/list should be accessible here. Because options are retrievable in the context of a NetworkIdentifier, it is possible to define unique options for each network. \n * Get Network Options\n */\n async rosettaNetworkOptionsRaw(requestParameters: RosettaNetworkOptionsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaNetworkOptionsResponse>> {\n if (requestParameters.rosettaOptionsRequest === null || requestParameters.rosettaOptionsRequest === undefined) {\n throw new runtime.RequiredError('rosettaOptionsRequest','Required parameter requestParameters.rosettaOptionsRequest was null or undefined when calling rosettaNetworkOptions.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/network/options`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaOptionsRequestToJSON(requestParameters.rosettaOptionsRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaNetworkOptionsResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the version information and allowed network-specific types for a NetworkIdentifier. Any NetworkIdentifier returned by /network/list should be accessible here. Because options are retrievable in the context of a NetworkIdentifier, it is possible to define unique options for each network. \n * Get Network Options\n */\n async rosettaNetworkOptions(requestParameters: RosettaNetworkOptionsRequest, initOverrides?: RequestInit): Promise<RosettaNetworkOptionsResponse> {\n const response = await this.rosettaNetworkOptionsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the current status of the network requested. Any NetworkIdentifier returned by /network/list should be accessible here. \n * Get Network Status\n */\n async rosettaNetworkStatusRaw(requestParameters: RosettaNetworkStatusRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RosettaNetworkStatusResponse>> {\n if (requestParameters.rosettaStatusRequest === null || requestParameters.rosettaStatusRequest === undefined) {\n throw new runtime.RequiredError('rosettaStatusRequest','Required parameter requestParameters.rosettaStatusRequest was null or undefined when calling rosettaNetworkStatus.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/rosetta/v1/network/status`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: RosettaStatusRequestToJSON(requestParameters.rosettaStatusRequest),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => RosettaNetworkStatusResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the current status of the network requested. Any NetworkIdentifier returned by /network/list should be accessible here. \n * Get Network Status\n */\n async rosettaNetworkStatus(requestParameters: RosettaNetworkStatusRequest, initOverrides?: RequestInit): Promise<RosettaNetworkStatusResponse> {\n const response = await this.rosettaNetworkStatusRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\n\nexport interface SearchByIdRequest {\n id: string;\n includeMetadata?: boolean;\n}\n\n/**\n * SearchApi - interface\n * \n * @export\n * @interface SearchApiInterface\n */\nexport interface SearchApiInterface {\n /**\n * Search blocks, transactions, contracts, or accounts by hash/ID\n * @summary Search\n * @param {string} id The hex hash string for a block or transaction, account address, or contract address\n * @param {boolean} [includeMetadata] This includes the detailed data for purticular hash in the response\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SearchApiInterface\n */\n searchByIdRaw(requestParameters: SearchByIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>>;\n\n /**\n * Search blocks, transactions, contracts, or accounts by hash/ID\n * Search\n */\n searchById(requestParameters: SearchByIdRequest, initOverrides?: RequestInit): Promise<object>;\n\n}\n\n/**\n * \n */\nexport class SearchApi extends runtime.BaseAPI implements SearchApiInterface {\n\n /**\n * Search blocks, transactions, contracts, or accounts by hash/ID\n * Search\n */\n async searchByIdRaw(requestParameters: SearchByIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling searchById.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.includeMetadata !== undefined) {\n queryParameters['include_metadata'] = requestParameters.includeMetadata;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/search/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Search blocks, transactions, contracts, or accounts by hash/ID\n * Search\n */\n async searchById(requestParameters: SearchByIdRequest, initOverrides?: RequestInit): Promise<object> {\n const response = await this.searchByIdRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n ContractInterfaceResponse,\n ContractInterfaceResponseFromJSON,\n ContractInterfaceResponseToJSON,\n ContractListResponse,\n ContractListResponseFromJSON,\n ContractListResponseToJSON,\n ContractSourceResponse,\n ContractSourceResponseFromJSON,\n ContractSourceResponseToJSON,\n MapEntryResponse,\n MapEntryResponseFromJSON,\n MapEntryResponseToJSON,\n ReadOnlyFunctionArgs,\n ReadOnlyFunctionArgsFromJSON,\n ReadOnlyFunctionArgsToJSON,\n ReadOnlyFunctionSuccessResponse,\n ReadOnlyFunctionSuccessResponseFromJSON,\n ReadOnlyFunctionSuccessResponseToJSON,\n SmartContract,\n SmartContractFromJSON,\n SmartContractToJSON,\n} from '../models';\n\nexport interface CallReadOnlyFunctionRequest {\n contractAddress: string;\n contractName: string;\n functionName: string;\n readOnlyFunctionArgs: ReadOnlyFunctionArgs;\n tip?: string;\n}\n\nexport interface GetContractByIdRequest {\n contractId: string;\n unanchored?: boolean;\n}\n\nexport interface GetContractDataMapEntryRequest {\n contractAddress: string;\n contractName: string;\n mapName: string;\n key: string;\n proof?: number;\n tip?: string;\n}\n\nexport interface GetContractEventsByIdRequest {\n contractId: string;\n limit?: number;\n offset?: number;\n unanchored?: boolean;\n}\n\nexport interface GetContractInterfaceRequest {\n contractAddress: string;\n contractName: string;\n tip?: string;\n}\n\nexport interface GetContractSourceRequest {\n contractAddress: string;\n contractName: string;\n proof?: number;\n tip?: string;\n}\n\nexport interface GetContractsByTraitRequest {\n traitAbi: string;\n limit?: number;\n offset?: number;\n}\n\nexport interface GetSmartContractsStatusRequest {\n contractId: Array<string>;\n}\n\n/**\n * SmartContractsApi - interface\n * \n * @export\n * @interface SmartContractsApiInterface\n */\nexport interface SmartContractsApiInterface {\n /**\n * Call a read-only public function on a given smart contract. The smart contract and function are specified using the URL path. The arguments and the simulated tx-sender are supplied via the POST body in the following JSON format: \n * @summary Call read-only function\n * @param {string} contractAddress Stacks address\n * @param {string} contractName Contract name\n * @param {string} functionName Function name\n * @param {ReadOnlyFunctionArgs} readOnlyFunctionArgs \n * @param {string} [tip] The Stacks chain tip to query from\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SmartContractsApiInterface\n */\n callReadOnlyFunctionRaw(requestParameters: CallReadOnlyFunctionRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<ReadOnlyFunctionSuccessResponse>>;\n\n /**\n * Call a read-only public function on a given smart contract. The smart contract and function are specified using the URL path. The arguments and the simulated tx-sender are supplied via the POST body in the following JSON format: \n * Call read-only function\n */\n callReadOnlyFunction(requestParameters: CallReadOnlyFunctionRequest, initOverrides?: RequestInit): Promise<ReadOnlyFunctionSuccessResponse>;\n\n /**\n * Retrieves details of a contract with a given `contract_id`\n * @summary Get contract info\n * @param {string} contractId Contract identifier formatted as `<contract_address>.<contract_name>`\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SmartContractsApiInterface\n */\n getContractByIdRaw(requestParameters: GetContractByIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<SmartContract>>;\n\n /**\n * Retrieves details of a contract with a given `contract_id`\n * Get contract info\n */\n getContractById(requestParameters: GetContractByIdRequest, initOverrides?: RequestInit): Promise<SmartContract>;\n\n /**\n * Attempt to fetch data from a contract data map. The contract is identified with Stacks Address `contract_address` and Contract Name `contract_address` in the URL path. The map is identified with [Map Name]. The key to lookup in the map is supplied via the POST body. This should be supplied as the hex string serialization of the key (which should be a Clarity value). Note, this is a JSON string atom. In the response, `data` is the hex serialization of the map response. Note that map responses are Clarity option types, for non-existent values, this is a serialized none, and for all other responses, it is a serialized (some ...) object. \n * @summary Get specific data-map inside a contract\n * @param {string} contractAddress Stacks address\n * @param {string} contractName Contract name\n * @param {string} mapName Map name\n * @param {string} key Hex string serialization of the lookup key (which should be a Clarity value)\n * @param {number} [proof] Returns object without the proof field when set to 0\n * @param {string} [tip] The Stacks chain tip to query from\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SmartContractsApiInterface\n */\n getContractDataMapEntryRaw(requestParameters: GetContractDataMapEntryRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<MapEntryResponse>>;\n\n /**\n * Attempt to fetch data from a contract data map. The contract is identified with Stacks Address `contract_address` and Contract Name `contract_address` in the URL path. The map is identified with [Map Name]. The key to lookup in the map is supplied via the POST body. This should be supplied as the hex string serialization of the key (which should be a Clarity value). Note, this is a JSON string atom. In the response, `data` is the hex serialization of the map response. Note that map responses are Clarity option types, for non-existent values, this is a serialized none, and for all other responses, it is a serialized (some ...) object. \n * Get specific data-map inside a contract\n */\n getContractDataMapEntry(requestParameters: GetContractDataMapEntryRequest, initOverrides?: RequestInit): Promise<MapEntryResponse>;\n\n /**\n * Retrieves a list of events that have been triggered by a given `contract_id`\n * @summary Get contract events\n * @param {string} contractId Contract identifier formatted as `<contract_address>.<contract_name>`\n * @param {number} [limit] max number of contract events to fetch\n * @param {number} [offset] index of first contract event to fetch\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SmartContractsApiInterface\n */\n getContractEventsByIdRaw(requestParameters: GetContractEventsByIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>>;\n\n /**\n * Retrieves a list of events that have been triggered by a given `contract_id`\n * Get contract events\n */\n getContractEventsById(requestParameters: GetContractEventsByIdRequest, initOverrides?: RequestInit): Promise<object>;\n\n /**\n * Retrieves a contract interface with a given `contract_address` and `contract name`\n * @summary Get contract interface\n * @param {string} contractAddress Stacks address\n * @param {string} contractName Contract name\n * @param {string} [tip] The Stacks chain tip to query from\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SmartContractsApiInterface\n */\n getContractInterfaceRaw(requestParameters: GetContractInterfaceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<ContractInterfaceResponse>>;\n\n /**\n * Retrieves a contract interface with a given `contract_address` and `contract name`\n * Get contract interface\n */\n getContractInterface(requestParameters: GetContractInterfaceRequest, initOverrides?: RequestInit): Promise<ContractInterfaceResponse>;\n\n /**\n * Retrieves the Clarity source code of a given contract, along with the block height it was published in, and the MARF proof for the data\n * @summary Get contract source\n * @param {string} contractAddress Stacks address\n * @param {string} contractName Contract name\n * @param {number} [proof] Returns object without the proof field if set to 0\n * @param {string} [tip] The Stacks chain tip to query from\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SmartContractsApiInterface\n */\n getContractSourceRaw(requestParameters: GetContractSourceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<ContractSourceResponse>>;\n\n /**\n * Retrieves the Clarity source code of a given contract, along with the block height it was published in, and the MARF proof for the data\n * Get contract source\n */\n getContractSource(requestParameters: GetContractSourceRequest, initOverrides?: RequestInit): Promise<ContractSourceResponse>;\n\n /**\n * Retrieves a list of contracts based on the following traits listed in JSON format - functions, variables, maps, fungible tokens and non-fungible tokens\n * @summary Get contracts by trait\n * @param {string} traitAbi JSON abi of the trait.\n * @param {number} [limit] max number of contracts fetch\n * @param {number} [offset] index of first contract event to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SmartContractsApiInterface\n */\n getContractsByTraitRaw(requestParameters: GetContractsByTraitRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<ContractListResponse>>;\n\n /**\n * Retrieves a list of contracts based on the following traits listed in JSON format - functions, variables, maps, fungible tokens and non-fungible tokens\n * Get contracts by trait\n */\n getContractsByTrait(requestParameters: GetContractsByTraitRequest, initOverrides?: RequestInit): Promise<ContractListResponse>;\n\n /**\n * Retrieves the deployment status of multiple smart contracts. \n * @summary Get smart contracts status\n * @param {Array<string>} contractId contract ids to fetch status for\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SmartContractsApiInterface\n */\n getSmartContractsStatusRaw(requestParameters: GetSmartContractsStatusRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<{ [key: string]: object; }>>;\n\n /**\n * Retrieves the deployment status of multiple smart contracts. \n * Get smart contracts status\n */\n getSmartContractsStatus(requestParameters: GetSmartContractsStatusRequest, initOverrides?: RequestInit): Promise<{ [key: string]: object; }>;\n\n}\n\n/**\n * \n */\nexport class SmartContractsApi extends runtime.BaseAPI implements SmartContractsApiInterface {\n\n /**\n * Call a read-only public function on a given smart contract. The smart contract and function are specified using the URL path. The arguments and the simulated tx-sender are supplied via the POST body in the following JSON format: \n * Call read-only function\n */\n async callReadOnlyFunctionRaw(requestParameters: CallReadOnlyFunctionRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<ReadOnlyFunctionSuccessResponse>> {\n if (requestParameters.contractAddress === null || requestParameters.contractAddress === undefined) {\n throw new runtime.RequiredError('contractAddress','Required parameter requestParameters.contractAddress was null or undefined when calling callReadOnlyFunction.');\n }\n\n if (requestParameters.contractName === null || requestParameters.contractName === undefined) {\n throw new runtime.RequiredError('contractName','Required parameter requestParameters.contractName was null or undefined when calling callReadOnlyFunction.');\n }\n\n if (requestParameters.functionName === null || requestParameters.functionName === undefined) {\n throw new runtime.RequiredError('functionName','Required parameter requestParameters.functionName was null or undefined when calling callReadOnlyFunction.');\n }\n\n if (requestParameters.readOnlyFunctionArgs === null || requestParameters.readOnlyFunctionArgs === undefined) {\n throw new runtime.RequiredError('readOnlyFunctionArgs','Required parameter requestParameters.readOnlyFunctionArgs was null or undefined when calling callReadOnlyFunction.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.tip !== undefined) {\n queryParameters['tip'] = requestParameters.tip;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/v2/contracts/call-read/{contract_address}/{contract_name}/{function_name}`.replace(`{${\"contract_address\"}}`, encodeURIComponent(String(requestParameters.contractAddress))).replace(`{${\"contract_name\"}}`, encodeURIComponent(String(requestParameters.contractName))).replace(`{${\"function_name\"}}`, encodeURIComponent(String(requestParameters.functionName))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ReadOnlyFunctionArgsToJSON(requestParameters.readOnlyFunctionArgs),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ReadOnlyFunctionSuccessResponseFromJSON(jsonValue));\n }\n\n /**\n * Call a read-only public function on a given smart contract. The smart contract and function are specified using the URL path. The arguments and the simulated tx-sender are supplied via the POST body in the following JSON format: \n * Call read-only function\n */\n async callReadOnlyFunction(requestParameters: CallReadOnlyFunctionRequest, initOverrides?: RequestInit): Promise<ReadOnlyFunctionSuccessResponse> {\n const response = await this.callReadOnlyFunctionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves details of a contract with a given `contract_id`\n * Get contract info\n */\n async getContractByIdRaw(requestParameters: GetContractByIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<SmartContract>> {\n if (requestParameters.contractId === null || requestParameters.contractId === undefined) {\n throw new runtime.RequiredError('contractId','Required parameter requestParameters.contractId was null or undefined when calling getContractById.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/contract/{contract_id}`.replace(`{${\"contract_id\"}}`, encodeURIComponent(String(requestParameters.contractId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => SmartContractFromJSON(jsonValue));\n }\n\n /**\n * Retrieves details of a contract with a given `contract_id`\n * Get contract info\n */\n async getContractById(requestParameters: GetContractByIdRequest, initOverrides?: RequestInit): Promise<SmartContract> {\n const response = await this.getContractByIdRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Attempt to fetch data from a contract data map. The contract is identified with Stacks Address `contract_address` and Contract Name `contract_address` in the URL path. The map is identified with [Map Name]. The key to lookup in the map is supplied via the POST body. This should be supplied as the hex string serialization of the key (which should be a Clarity value). Note, this is a JSON string atom. In the response, `data` is the hex serialization of the map response. Note that map responses are Clarity option types, for non-existent values, this is a serialized none, and for all other responses, it is a serialized (some ...) object. \n * Get specific data-map inside a contract\n */\n async getContractDataMapEntryRaw(requestParameters: GetContractDataMapEntryRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<MapEntryResponse>> {\n if (requestParameters.contractAddress === null || requestParameters.contractAddress === undefined) {\n throw new runtime.RequiredError('contractAddress','Required parameter requestParameters.contractAddress was null or undefined when calling getContractDataMapEntry.');\n }\n\n if (requestParameters.contractName === null || requestParameters.contractName === undefined) {\n throw new runtime.RequiredError('contractName','Required parameter requestParameters.contractName was null or undefined when calling getContractDataMapEntry.');\n }\n\n if (requestParameters.mapName === null || requestParameters.mapName === undefined) {\n throw new runtime.RequiredError('mapName','Required parameter requestParameters.mapName was null or undefined when calling getContractDataMapEntry.');\n }\n\n if (requestParameters.key === null || requestParameters.key === undefined) {\n throw new runtime.RequiredError('key','Required parameter requestParameters.key was null or undefined when calling getContractDataMapEntry.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.proof !== undefined) {\n queryParameters['proof'] = requestParameters.proof;\n }\n\n if (requestParameters.tip !== undefined) {\n queryParameters['tip'] = requestParameters.tip;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request({\n path: `/v2/map_entry/{contract_address}/{contract_name}/{map_name}`.replace(`{${\"contract_address\"}}`, encodeURIComponent(String(requestParameters.contractAddress))).replace(`{${\"contract_name\"}}`, encodeURIComponent(String(requestParameters.contractName))).replace(`{${\"map_name\"}}`, encodeURIComponent(String(requestParameters.mapName))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.key as any,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MapEntryResponseFromJSON(jsonValue));\n }\n\n /**\n * Attempt to fetch data from a contract data map. The contract is identified with Stacks Address `contract_address` and Contract Name `contract_address` in the URL path. The map is identified with [Map Name]. The key to lookup in the map is supplied via the POST body. This should be supplied as the hex string serialization of the key (which should be a Clarity value). Note, this is a JSON string atom. In the response, `data` is the hex serialization of the map response. Note that map responses are Clarity option types, for non-existent values, this is a serialized none, and for all other responses, it is a serialized (some ...) object. \n * Get specific data-map inside a contract\n */\n async getContractDataMapEntry(requestParameters: GetContractDataMapEntryRequest, initOverrides?: RequestInit): Promise<MapEntryResponse> {\n const response = await this.getContractDataMapEntryRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of events that have been triggered by a given `contract_id`\n * Get contract events\n */\n async getContractEventsByIdRaw(requestParameters: GetContractEventsByIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>> {\n if (requestParameters.contractId === null || requestParameters.contractId === undefined) {\n throw new runtime.RequiredError('contractId','Required parameter requestParameters.contractId was null or undefined when calling getContractEventsById.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/contract/{contract_id}/events`.replace(`{${\"contract_id\"}}`, encodeURIComponent(String(requestParameters.contractId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Retrieves a list of events that have been triggered by a given `contract_id`\n * Get contract events\n */\n async getContractEventsById(requestParameters: GetContractEventsByIdRequest, initOverrides?: RequestInit): Promise<object> {\n const response = await this.getContractEventsByIdRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a contract interface with a given `contract_address` and `contract name`\n * Get contract interface\n */\n async getContractInterfaceRaw(requestParameters: GetContractInterfaceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<ContractInterfaceResponse>> {\n if (requestParameters.contractAddress === null || requestParameters.contractAddress === undefined) {\n throw new runtime.RequiredError('contractAddress','Required parameter requestParameters.contractAddress was null or undefined when calling getContractInterface.');\n }\n\n if (requestParameters.contractName === null || requestParameters.contractName === undefined) {\n throw new runtime.RequiredError('contractName','Required parameter requestParameters.contractName was null or undefined when calling getContractInterface.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.tip !== undefined) {\n queryParameters['tip'] = requestParameters.tip;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v2/contracts/interface/{contract_address}/{contract_name}`.replace(`{${\"contract_address\"}}`, encodeURIComponent(String(requestParameters.contractAddress))).replace(`{${\"contract_name\"}}`, encodeURIComponent(String(requestParameters.contractName))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ContractInterfaceResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a contract interface with a given `contract_address` and `contract name`\n * Get contract interface\n */\n async getContractInterface(requestParameters: GetContractInterfaceRequest, initOverrides?: RequestInit): Promise<ContractInterfaceResponse> {\n const response = await this.getContractInterfaceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the Clarity source code of a given contract, along with the block height it was published in, and the MARF proof for the data\n * Get contract source\n */\n async getContractSourceRaw(requestParameters: GetContractSourceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<ContractSourceResponse>> {\n if (requestParameters.contractAddress === null || requestParameters.contractAddress === undefined) {\n throw new runtime.RequiredError('contractAddress','Required parameter requestParameters.contractAddress was null or undefined when calling getContractSource.');\n }\n\n if (requestParameters.contractName === null || requestParameters.contractName === undefined) {\n throw new runtime.RequiredError('contractName','Required parameter requestParameters.contractName was null or undefined when calling getContractSource.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.proof !== undefined) {\n queryParameters['proof'] = requestParameters.proof;\n }\n\n if (requestParameters.tip !== undefined) {\n queryParameters['tip'] = requestParameters.tip;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/v2/contracts/source/{contract_address}/{contract_name}`.replace(`{${\"contract_address\"}}`, encodeURIComponent(String(requestParameters.contractAddress))).replace(`{${\"contract_name\"}}`, encodeURIComponent(String(requestParameters.contractName))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ContractSourceResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the Clarity source code of a given contract, along with the block height it was published in, and the MARF proof for the data\n * Get contract source\n */\n async getContractSource(requestParameters: GetContractSourceRequest, initOverrides?: RequestInit): Promise<ContractSourceResponse> {\n const response = await this.getContractSourceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of contracts based on the following traits listed in JSON format - functions, variables, maps, fungible tokens and non-fungible tokens\n * Get contracts by trait\n */\n async getContractsByTraitRaw(requestParameters: GetContractsByTraitRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<ContractListResponse>> {\n if (requestParameters.traitAbi === null || requestParameters.traitAbi === undefined) {\n throw new runtime.RequiredError('traitAbi','Required parameter requestParameters.traitAbi was null or undefined when calling getContractsByTrait.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.traitAbi !== undefined) {\n queryParameters['trait_abi'] = requestParameters.traitAbi;\n }\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/contract/by_trait`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ContractListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of contracts based on the following traits listed in JSON format - functions, variables, maps, fungible tokens and non-fungible tokens\n * Get contracts by trait\n */\n async getContractsByTrait(requestParameters: GetContractsByTraitRequest, initOverrides?: RequestInit): Promise<ContractListResponse> {\n const response = await this.getContractsByTraitRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the deployment status of multiple smart contracts. \n * Get smart contracts status\n */\n async getSmartContractsStatusRaw(requestParameters: GetSmartContractsStatusRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<{ [key: string]: object; }>> {\n if (requestParameters.contractId === null || requestParameters.contractId === undefined) {\n throw new runtime.RequiredError('contractId','Required parameter requestParameters.contractId was null or undefined when calling getSmartContractsStatus.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.contractId) {\n queryParameters['contract_id'] = requestParameters.contractId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/smart-contracts/status`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Retrieves the deployment status of multiple smart contracts. \n * Get smart contracts status\n */\n async getSmartContractsStatus(requestParameters: GetSmartContractsStatusRequest, initOverrides?: RequestInit): Promise<{ [key: string]: object; }> {\n const response = await this.getSmartContractsStatusRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n PoolDelegationsResponse,\n PoolDelegationsResponseFromJSON,\n PoolDelegationsResponseToJSON,\n} from '../models';\n\nexport interface GetPoolDelegationsRequest {\n poolPrincipal: string;\n afterBlock?: number;\n unanchored?: boolean;\n limit?: number;\n offset?: number;\n}\n\n/**\n * StackingApi - interface\n * \n * @export\n * @interface StackingApiInterface\n */\nexport interface StackingApiInterface {\n /**\n * Retrieves the list of stacking pool members for a given delegator principal.\n * @summary Stacking pool members\n * @param {string} poolPrincipal Address principal of the stacking pool delegator\n * @param {number} [afterBlock] If specified, only delegation events after the given block will be included\n * @param {boolean} [unanchored] whether or not to include Stackers from unconfirmed transactions\n * @param {number} [limit] number of items to return\n * @param {number} [offset] number of items to skip\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof StackingApiInterface\n */\n getPoolDelegationsRaw(requestParameters: GetPoolDelegationsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoolDelegationsResponse>>;\n\n /**\n * Retrieves the list of stacking pool members for a given delegator principal.\n * Stacking pool members\n */\n getPoolDelegations(requestParameters: GetPoolDelegationsRequest, initOverrides?: RequestInit): Promise<PoolDelegationsResponse>;\n\n}\n\n/**\n * \n */\nexport class StackingApi extends runtime.BaseAPI implements StackingApiInterface {\n\n /**\n * Retrieves the list of stacking pool members for a given delegator principal.\n * Stacking pool members\n */\n async getPoolDelegationsRaw(requestParameters: GetPoolDelegationsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<PoolDelegationsResponse>> {\n if (requestParameters.poolPrincipal === null || requestParameters.poolPrincipal === undefined) {\n throw new runtime.RequiredError('poolPrincipal','Required parameter requestParameters.poolPrincipal was null or undefined when calling getPoolDelegations.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.afterBlock !== undefined) {\n queryParameters['after_block'] = requestParameters.afterBlock;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/beta/stacking/{pool_principal}/delegations`.replace(`{${\"pool_principal\"}}`, encodeURIComponent(String(requestParameters.poolPrincipal))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PoolDelegationsResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the list of stacking pool members for a given delegator principal.\n * Stacking pool members\n */\n async getPoolDelegations(requestParameters: GetPoolDelegationsRequest, initOverrides?: RequestInit): Promise<PoolDelegationsResponse> {\n const response = await this.getPoolDelegationsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n BurnchainRewardListResponse,\n BurnchainRewardListResponseFromJSON,\n BurnchainRewardListResponseToJSON,\n BurnchainRewardSlotHolderListResponse,\n BurnchainRewardSlotHolderListResponseFromJSON,\n BurnchainRewardSlotHolderListResponseToJSON,\n BurnchainRewardsTotal,\n BurnchainRewardsTotalFromJSON,\n BurnchainRewardsTotalToJSON,\n} from '../models';\n\nexport interface GetBurnchainRewardListRequest {\n limit?: number;\n offset?: number;\n}\n\nexport interface GetBurnchainRewardListByAddressRequest {\n address: string;\n limit?: number;\n offset?: number;\n}\n\nexport interface GetBurnchainRewardSlotHoldersRequest {\n limit?: number;\n offset?: number;\n}\n\nexport interface GetBurnchainRewardSlotHoldersByAddressRequest {\n address: string;\n limit?: number;\n offset?: number;\n}\n\nexport interface GetBurnchainRewardsTotalByAddressRequest {\n address: string;\n}\n\n/**\n * StackingRewardsApi - interface\n * \n * @export\n * @interface StackingRewardsApiInterface\n */\nexport interface StackingRewardsApiInterface {\n /**\n * Retrieves a list of recent burnchain (e.g. Bitcoin) reward recipients with the associated amounts and block info\n * @summary Get recent burnchain reward recipients\n * @param {number} [limit] max number of rewards to fetch\n * @param {number} [offset] index of first rewards to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof StackingRewardsApiInterface\n */\n getBurnchainRewardListRaw(requestParameters: GetBurnchainRewardListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnchainRewardListResponse>>;\n\n /**\n * Retrieves a list of recent burnchain (e.g. Bitcoin) reward recipients with the associated amounts and block info\n * Get recent burnchain reward recipients\n */\n getBurnchainRewardList(requestParameters: GetBurnchainRewardListRequest, initOverrides?: RequestInit): Promise<BurnchainRewardListResponse>;\n\n /**\n * Retrieves a list of recent burnchain (e.g. Bitcoin) rewards for the given recipient with the associated amounts and block info\n * @summary Get recent burnchain reward for the given recipient\n * @param {string} address Reward recipient address. Should either be in the native burnchain\\'s format (e.g. B58 for Bitcoin), or if a STX principal address is provided it will be encoded as into the equivalent burnchain format\n * @param {number} [limit] max number of rewards to fetch\n * @param {number} [offset] index of first rewards to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof StackingRewardsApiInterface\n */\n getBurnchainRewardListByAddressRaw(requestParameters: GetBurnchainRewardListByAddressRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnchainRewardListResponse>>;\n\n /**\n * Retrieves a list of recent burnchain (e.g. Bitcoin) rewards for the given recipient with the associated amounts and block info\n * Get recent burnchain reward for the given recipient\n */\n getBurnchainRewardListByAddress(requestParameters: GetBurnchainRewardListByAddressRequest, initOverrides?: RequestInit): Promise<BurnchainRewardListResponse>;\n\n /**\n * Retrieves a list of the Bitcoin addresses that would validly receive Proof-of-Transfer commitments.\n * @summary Get recent reward slot holders\n * @param {number} [limit] max number of items to fetch\n * @param {number} [offset] index of the first items to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof StackingRewardsApiInterface\n */\n getBurnchainRewardSlotHoldersRaw(requestParameters: GetBurnchainRewardSlotHoldersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnchainRewardSlotHolderListResponse>>;\n\n /**\n * Retrieves a list of the Bitcoin addresses that would validly receive Proof-of-Transfer commitments.\n * Get recent reward slot holders\n */\n getBurnchainRewardSlotHolders(requestParameters: GetBurnchainRewardSlotHoldersRequest, initOverrides?: RequestInit): Promise<BurnchainRewardSlotHolderListResponse>;\n\n /**\n * Retrieves a list of the Bitcoin addresses that would validly receive Proof-of-Transfer commitments for a given reward slot holder recipient address.\n * @summary Get recent reward slot holder entries for the given address\n * @param {string} address Reward slot holder recipient address. Should either be in the native burnchain\\'s format (e.g. B58 for Bitcoin), or if a STX principal address is provided it will be encoded as into the equivalent burnchain format\n * @param {number} [limit] max number of items to fetch\n * @param {number} [offset] index of the first items to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof StackingRewardsApiInterface\n */\n getBurnchainRewardSlotHoldersByAddressRaw(requestParameters: GetBurnchainRewardSlotHoldersByAddressRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnchainRewardSlotHolderListResponse>>;\n\n /**\n * Retrieves a list of the Bitcoin addresses that would validly receive Proof-of-Transfer commitments for a given reward slot holder recipient address.\n * Get recent reward slot holder entries for the given address\n */\n getBurnchainRewardSlotHoldersByAddress(requestParameters: GetBurnchainRewardSlotHoldersByAddressRequest, initOverrides?: RequestInit): Promise<BurnchainRewardSlotHolderListResponse>;\n\n /**\n * Retrieves the total burnchain (e.g. Bitcoin) rewards for a given recipient `address`\n * @summary Get total burnchain rewards for the given recipient\n * @param {string} address Reward recipient address. Should either be in the native burnchain\\'s format (e.g. B58 for Bitcoin), or if a STX principal address is provided it will be encoded as into the equivalent burnchain format\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof StackingRewardsApiInterface\n */\n getBurnchainRewardsTotalByAddressRaw(requestParameters: GetBurnchainRewardsTotalByAddressRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnchainRewardsTotal>>;\n\n /**\n * Retrieves the total burnchain (e.g. Bitcoin) rewards for a given recipient `address`\n * Get total burnchain rewards for the given recipient\n */\n getBurnchainRewardsTotalByAddress(requestParameters: GetBurnchainRewardsTotalByAddressRequest, initOverrides?: RequestInit): Promise<BurnchainRewardsTotal>;\n\n}\n\n/**\n * \n */\nexport class StackingRewardsApi extends runtime.BaseAPI implements StackingRewardsApiInterface {\n\n /**\n * Retrieves a list of recent burnchain (e.g. Bitcoin) reward recipients with the associated amounts and block info\n * Get recent burnchain reward recipients\n */\n async getBurnchainRewardListRaw(requestParameters: GetBurnchainRewardListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnchainRewardListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/burnchain/rewards`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BurnchainRewardListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of recent burnchain (e.g. Bitcoin) reward recipients with the associated amounts and block info\n * Get recent burnchain reward recipients\n */\n async getBurnchainRewardList(requestParameters: GetBurnchainRewardListRequest, initOverrides?: RequestInit): Promise<BurnchainRewardListResponse> {\n const response = await this.getBurnchainRewardListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of recent burnchain (e.g. Bitcoin) rewards for the given recipient with the associated amounts and block info\n * Get recent burnchain reward for the given recipient\n */\n async getBurnchainRewardListByAddressRaw(requestParameters: GetBurnchainRewardListByAddressRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnchainRewardListResponse>> {\n if (requestParameters.address === null || requestParameters.address === undefined) {\n throw new runtime.RequiredError('address','Required parameter requestParameters.address was null or undefined when calling getBurnchainRewardListByAddress.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/burnchain/rewards/{address}`.replace(`{${\"address\"}}`, encodeURIComponent(String(requestParameters.address))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BurnchainRewardListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of recent burnchain (e.g. Bitcoin) rewards for the given recipient with the associated amounts and block info\n * Get recent burnchain reward for the given recipient\n */\n async getBurnchainRewardListByAddress(requestParameters: GetBurnchainRewardListByAddressRequest, initOverrides?: RequestInit): Promise<BurnchainRewardListResponse> {\n const response = await this.getBurnchainRewardListByAddressRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of the Bitcoin addresses that would validly receive Proof-of-Transfer commitments.\n * Get recent reward slot holders\n */\n async getBurnchainRewardSlotHoldersRaw(requestParameters: GetBurnchainRewardSlotHoldersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnchainRewardSlotHolderListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/burnchain/reward_slot_holders`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BurnchainRewardSlotHolderListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of the Bitcoin addresses that would validly receive Proof-of-Transfer commitments.\n * Get recent reward slot holders\n */\n async getBurnchainRewardSlotHolders(requestParameters: GetBurnchainRewardSlotHoldersRequest, initOverrides?: RequestInit): Promise<BurnchainRewardSlotHolderListResponse> {\n const response = await this.getBurnchainRewardSlotHoldersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of the Bitcoin addresses that would validly receive Proof-of-Transfer commitments for a given reward slot holder recipient address.\n * Get recent reward slot holder entries for the given address\n */\n async getBurnchainRewardSlotHoldersByAddressRaw(requestParameters: GetBurnchainRewardSlotHoldersByAddressRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnchainRewardSlotHolderListResponse>> {\n if (requestParameters.address === null || requestParameters.address === undefined) {\n throw new runtime.RequiredError('address','Required parameter requestParameters.address was null or undefined when calling getBurnchainRewardSlotHoldersByAddress.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/burnchain/reward_slot_holders/{address}`.replace(`{${\"address\"}}`, encodeURIComponent(String(requestParameters.address))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BurnchainRewardSlotHolderListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a list of the Bitcoin addresses that would validly receive Proof-of-Transfer commitments for a given reward slot holder recipient address.\n * Get recent reward slot holder entries for the given address\n */\n async getBurnchainRewardSlotHoldersByAddress(requestParameters: GetBurnchainRewardSlotHoldersByAddressRequest, initOverrides?: RequestInit): Promise<BurnchainRewardSlotHolderListResponse> {\n const response = await this.getBurnchainRewardSlotHoldersByAddressRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the total burnchain (e.g. Bitcoin) rewards for a given recipient `address`\n * Get total burnchain rewards for the given recipient\n */\n async getBurnchainRewardsTotalByAddressRaw(requestParameters: GetBurnchainRewardsTotalByAddressRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<BurnchainRewardsTotal>> {\n if (requestParameters.address === null || requestParameters.address === undefined) {\n throw new runtime.RequiredError('address','Required parameter requestParameters.address was null or undefined when calling getBurnchainRewardsTotalByAddress.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/burnchain/rewards/{address}/total`.replace(`{${\"address\"}}`, encodeURIComponent(String(requestParameters.address))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BurnchainRewardsTotalFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the total burnchain (e.g. Bitcoin) rewards for a given recipient `address`\n * Get total burnchain rewards for the given recipient\n */\n async getBurnchainRewardsTotalByAddress(requestParameters: GetBurnchainRewardsTotalByAddressRequest, initOverrides?: RequestInit): Promise<BurnchainRewardsTotal> {\n const response = await this.getBurnchainRewardsTotalByAddressRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stacks Blockchain API\n * Welcome to the API reference overview for the [Stacks Blockchain API](https://docs.hiro.so/stacks-blockchain-api). [Download Postman collection](https://hirosystems.github.io/stacks-blockchain-api/collection.json) \n *\n * The version of the OpenAPI document: STACKS_API_VERSION\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport {\n AddressTransactionEventListResponse,\n AddressTransactionEventListResponseFromJSON,\n AddressTransactionEventListResponseToJSON,\n AddressTransactionsV2ListResponse,\n AddressTransactionsV2ListResponseFromJSON,\n AddressTransactionsV2ListResponseToJSON,\n GetRawTransactionResult,\n GetRawTransactionResultFromJSON,\n GetRawTransactionResultToJSON,\n MempoolTransactionListResponse,\n MempoolTransactionListResponseFromJSON,\n MempoolTransactionListResponseToJSON,\n MempoolTransactionStatsResponse,\n MempoolTransactionStatsResponseFromJSON,\n MempoolTransactionStatsResponseToJSON,\n PostCoreNodeTransactionsError,\n PostCoreNodeTransactionsErrorFromJSON,\n PostCoreNodeTransactionsErrorToJSON,\n TransactionEventsResponse,\n TransactionEventsResponseFromJSON,\n TransactionEventsResponseToJSON,\n TransactionResults,\n TransactionResultsFromJSON,\n TransactionResultsToJSON,\n} from '../models';\n\nexport interface GetAddressMempoolTransactionsRequest {\n address: string;\n limit?: number;\n offset?: number;\n unanchored?: boolean;\n}\n\nexport interface GetAddressTransactionEventsRequest {\n address: string;\n txId: string;\n limit?: number;\n offset?: number;\n}\n\nexport interface GetAddressTransactionsRequest {\n address: string;\n limit?: number;\n offset?: number;\n}\n\nexport interface GetDroppedMempoolTransactionListRequest {\n limit?: number;\n offset?: number;\n}\n\nexport interface GetFilteredEventsRequest {\n txId?: string;\n address?: string;\n limit?: number;\n offset?: number;\n type?: Array<GetFilteredEventsTypeEnum>;\n}\n\nexport interface GetMempoolTransactionListRequest {\n senderAddress?: string;\n recipientAddress?: string;\n address?: string;\n orderBy?: GetMempoolTransactionListOrderByEnum;\n order?: GetMempoolTransactionListOrderEnum;\n limit?: number;\n offset?: number;\n unanchored?: boolean;\n}\n\nexport interface GetRawTransactionByIdRequest {\n txId: string;\n}\n\nexport interface GetTransactionByIdRequest {\n txId: string;\n eventOffset?: number;\n eventLimit?: number;\n unanchored?: boolean;\n}\n\nexport interface GetTransactionListRequest {\n limit?: number;\n offset?: number;\n type?: Array<GetTransactionListTypeEnum>;\n fromAddress?: string;\n toAddress?: string;\n sortBy?: GetTransactionListSortByEnum;\n startTime?: number;\n endTime?: number;\n contractId?: string;\n functionName?: string;\n nonce?: number;\n order?: GetTransactionListOrderEnum;\n unanchored?: boolean;\n}\n\nexport interface GetTransactionsByBlockRequest {\n heightOrHash: number | string;\n}\n\nexport interface GetTransactionsByBlockHashRequest {\n blockHash: string;\n limit?: number;\n offset?: number;\n}\n\nexport interface GetTransactionsByBlockHeightRequest {\n height: number;\n limit?: number;\n offset?: number;\n unanchored?: boolean;\n}\n\nexport interface GetTxListDetailsRequest {\n txId: Array<string>;\n eventOffset?: number;\n eventLimit?: number;\n unanchored?: boolean;\n}\n\nexport interface PostCoreNodeTransactionsRequest {\n body?: Blob;\n}\n\n/**\n * TransactionsApi - interface\n * \n * @export\n * @interface TransactionsApiInterface\n */\nexport interface TransactionsApiInterface {\n /**\n * Retrieves all transactions for a given address that are currently in mempool\n * @summary Transactions for address\n * @param {string} address Transactions for the address\n * @param {number} [limit] max number of transactions to fetch\n * @param {number} [offset] index of first transaction to fetch\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getAddressMempoolTransactionsRaw(requestParameters: GetAddressMempoolTransactionsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<MempoolTransactionListResponse>>;\n\n /**\n * Retrieves all transactions for a given address that are currently in mempool\n * Transactions for address\n */\n getAddressMempoolTransactions(requestParameters: GetAddressMempoolTransactionsRequest, initOverrides?: RequestInit): Promise<MempoolTransactionListResponse>;\n\n /**\n * Retrieves a paginated list of all STX, FT and NFT events concerning a STX address or Smart Contract ID within a specific transaction. \n * @summary Get events for an address transaction\n * @param {string} address STX address or Smart Contract ID\n * @param {string} txId Transaction ID\n * @param {number} [limit] Number of events to fetch\n * @param {number} [offset] Index of first event to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getAddressTransactionEventsRaw(requestParameters: GetAddressTransactionEventsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressTransactionEventListResponse>>;\n\n /**\n * Retrieves a paginated list of all STX, FT and NFT events concerning a STX address or Smart Contract ID within a specific transaction. \n * Get events for an address transaction\n */\n getAddressTransactionEvents(requestParameters: GetAddressTransactionEventsRequest, initOverrides?: RequestInit): Promise<AddressTransactionEventListResponse>;\n\n /**\n * Retrieves a paginated list of confirmed transactions sent or received by a STX address or Smart Contract ID, alongside the total amount of STX sent or received and the number of STX, FT and NFT transfers contained within each transaction. More information on Transaction types can be found [here](https://docs.stacks.co/understand-stacks/transactions#types). \n * @summary Get address transactions\n * @param {string} address STX address or Smart Contract ID\n * @param {number} [limit] Number of transactions to fetch\n * @param {number} [offset] Index of first transaction to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getAddressTransactionsRaw(requestParameters: GetAddressTransactionsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressTransactionsV2ListResponse>>;\n\n /**\n * Retrieves a paginated list of confirmed transactions sent or received by a STX address or Smart Contract ID, alongside the total amount of STX sent or received and the number of STX, FT and NFT transfers contained within each transaction. More information on Transaction types can be found [here](https://docs.stacks.co/understand-stacks/transactions#types). \n * Get address transactions\n */\n getAddressTransactions(requestParameters: GetAddressTransactionsRequest, initOverrides?: RequestInit): Promise<AddressTransactionsV2ListResponse>;\n\n /**\n * Retrieves all recently-broadcast transactions that have been dropped from the mempool. Transactions are dropped from the mempool if: * they were stale and awaiting garbage collection or, * were expensive, or * were replaced with a new fee \n * @summary Get dropped mempool transactions\n * @param {number} [limit] max number of mempool transactions to fetch\n * @param {number} [offset] index of first mempool transaction to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getDroppedMempoolTransactionListRaw(requestParameters: GetDroppedMempoolTransactionListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<MempoolTransactionListResponse>>;\n\n /**\n * Retrieves all recently-broadcast transactions that have been dropped from the mempool. Transactions are dropped from the mempool if: * they were stale and awaiting garbage collection or, * were expensive, or * were replaced with a new fee \n * Get dropped mempool transactions\n */\n getDroppedMempoolTransactionList(requestParameters: GetDroppedMempoolTransactionListRequest, initOverrides?: RequestInit): Promise<MempoolTransactionListResponse>;\n\n /**\n * Retrieves the list of events filtered by principal (STX address or Smart Contract ID), transaction id or event types. The list of event types is (\\'smart_contract_log\\', \\'stx_lock\\', \\'stx_asset\\', \\'fungible_token_asset\\', \\'non_fungible_token_asset\\').\n * @summary Transaction Events\n * @param {string} [txId] Hash of transaction\n * @param {string} [address] Stacks address or a Contract identifier\n * @param {number} [limit] number of items to return\n * @param {number} [offset] number of items to skip\n * @param {Array<'smart_contract_log' | 'stx_lock' | 'stx_asset' | 'fungible_token_asset' | 'non_fungible_token_asset'>} [type] Filter the events on event type\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getFilteredEventsRaw(requestParameters: GetFilteredEventsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionEventsResponse>>;\n\n /**\n * Retrieves the list of events filtered by principal (STX address or Smart Contract ID), transaction id or event types. The list of event types is (\\'smart_contract_log\\', \\'stx_lock\\', \\'stx_asset\\', \\'fungible_token_asset\\', \\'non_fungible_token_asset\\').\n * Transaction Events\n */\n getFilteredEvents(requestParameters: GetFilteredEventsRequest, initOverrides?: RequestInit): Promise<TransactionEventsResponse>;\n\n /**\n * Retrieves all transactions that have been recently broadcast to the mempool. These are pending transactions awaiting confirmation. If you need to monitor new transactions, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * @summary Get mempool transactions\n * @param {string} [senderAddress] Filter to only return transactions with this sender address.\n * @param {string} [recipientAddress] Filter to only return transactions with this recipient address (only applicable for STX transfer tx types).\n * @param {string} [address] Filter to only return transactions with this address as the sender or recipient (recipient only applicable for STX transfer tx types).\n * @param {'age' | 'size' | 'fee'} [orderBy] Option to sort results by transaction age, size, or fee rate.\n * @param {'asc' | 'desc'} [order] Option to sort results in ascending or descending order.\n * @param {number} [limit] max number of mempool transactions to fetch\n * @param {number} [offset] index of first mempool transaction to fetch\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getMempoolTransactionListRaw(requestParameters: GetMempoolTransactionListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<MempoolTransactionListResponse>>;\n\n /**\n * Retrieves all transactions that have been recently broadcast to the mempool. These are pending transactions awaiting confirmation. If you need to monitor new transactions, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get mempool transactions\n */\n getMempoolTransactionList(requestParameters: GetMempoolTransactionListRequest, initOverrides?: RequestInit): Promise<MempoolTransactionListResponse>;\n\n /**\n * Queries for transactions counts, age (by block height), fees (simple average), and size. All results broken down by transaction type and percentiles (p25, p50, p75, p95). \n * @summary Get statistics for mempool transactions\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getMempoolTransactionStatsRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<MempoolTransactionStatsResponse>>;\n\n /**\n * Queries for transactions counts, age (by block height), fees (simple average), and size. All results broken down by transaction type and percentiles (p25, p50, p75, p95). \n * Get statistics for mempool transactions\n */\n getMempoolTransactionStats(initOverrides?: RequestInit): Promise<MempoolTransactionStatsResponse>;\n\n /**\n * Retrieves a hex encoded serialized transaction for a given ID \n * @summary Get Raw Transaction\n * @param {string} txId Hash of transaction\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getRawTransactionByIdRaw(requestParameters: GetRawTransactionByIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetRawTransactionResult>>;\n\n /**\n * Retrieves a hex encoded serialized transaction for a given ID \n * Get Raw Transaction\n */\n getRawTransactionById(requestParameters: GetRawTransactionByIdRequest, initOverrides?: RequestInit): Promise<GetRawTransactionResult>;\n\n /**\n * Retrieves transaction details for a given transaction ID `import type { Transaction } from \\'@stacks/stacks-blockchain-api-types\\';` \n * @summary Get transaction\n * @param {string} txId Hash of transaction\n * @param {number} [eventOffset] The number of events to skip\n * @param {number} [eventLimit] The numbers of events to return\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getTransactionByIdRaw(requestParameters: GetTransactionByIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>>;\n\n /**\n * Retrieves transaction details for a given transaction ID `import type { Transaction } from \\'@stacks/stacks-blockchain-api-types\\';` \n * Get transaction\n */\n getTransactionById(requestParameters: GetTransactionByIdRequest, initOverrides?: RequestInit): Promise<object>;\n\n /**\n * Retrieves all recently mined transactions If using TypeScript, import typings for this response from our types package: `import type { TransactionResults } from \\'@stacks/stacks-blockchain-api-types\\';` \n * @summary Get recent transactions\n * @param {number} [limit] max number of transactions to fetch\n * @param {number} [offset] index of first transaction to fetch\n * @param {Array<'coinbase' | 'token_transfer' | 'smart_contract' | 'contract_call' | 'poison_microblock' | 'tenure_change'>} [type] Filter by transaction type\n * @param {string} [fromAddress] Option to filter results by sender address\n * @param {string} [toAddress] Option to filter results by recipient address\n * @param {'block_height' | 'burn_block_time' | 'fee'} [sortBy] Option to sort results by block height, timestamp, or fee\n * @param {number} [startTime] Filter by transactions after this timestamp (unix timestamp in seconds)\n * @param {number} [endTime] Filter by transactions before this timestamp (unix timestamp in seconds)\n * @param {string} [contractId] Filter by contract call transactions involving this contract ID\n * @param {string} [functionName] Filter by contract call transactions involving this function name\n * @param {number} [nonce] Filter by transactions with this nonce\n * @param {'asc' | 'desc'} [order] Option to sort results in ascending or descending order\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getTransactionListRaw(requestParameters: GetTransactionListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionResults>>;\n\n /**\n * Retrieves all recently mined transactions If using TypeScript, import typings for this response from our types package: `import type { TransactionResults } from \\'@stacks/stacks-blockchain-api-types\\';` \n * Get recent transactions\n */\n getTransactionList(requestParameters: GetTransactionListRequest, initOverrides?: RequestInit): Promise<TransactionResults>;\n\n /**\n * Retrieves transactions confirmed in a single block \n * @summary Get transactions by block\n * @param {number | string} heightOrHash filter by block height, hash, index block hash or the constant `latest` to filter for the most recent block\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getTransactionsByBlockRaw(requestParameters: GetTransactionsByBlockRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionResults>>;\n\n /**\n * Retrieves transactions confirmed in a single block \n * Get transactions by block\n */\n getTransactionsByBlock(requestParameters: GetTransactionsByBlockRequest, initOverrides?: RequestInit): Promise<TransactionResults>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get transactions by block](/api/get-transactions-by-block). Retrieves a list of all transactions within a block for a given block hash. \n * @summary Transactions by block hash\n * @param {string} blockHash Hash of block\n * @param {number} [limit] max number of transactions to fetch\n * @param {number} [offset] index of first transaction to fetch\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getTransactionsByBlockHashRaw(requestParameters: GetTransactionsByBlockHashRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionResults>>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get transactions by block](/api/get-transactions-by-block). Retrieves a list of all transactions within a block for a given block hash. \n * Transactions by block hash\n */\n getTransactionsByBlockHash(requestParameters: GetTransactionsByBlockHashRequest, initOverrides?: RequestInit): Promise<TransactionResults>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get transactions by block](/api/get-transactions-by-block). Retrieves all transactions within a block at a given height \n * @summary Transactions by block height\n * @param {number} height Height of block\n * @param {number} [limit] max number of transactions to fetch\n * @param {number} [offset] index of first transaction to fetch\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getTransactionsByBlockHeightRaw(requestParameters: GetTransactionsByBlockHeightRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionResults>>;\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get transactions by block](/api/get-transactions-by-block). Retrieves all transactions within a block at a given height \n * Transactions by block height\n */\n getTransactionsByBlockHeight(requestParameters: GetTransactionsByBlockHeightRequest, initOverrides?: RequestInit): Promise<TransactionResults>;\n\n /**\n * Retrieves a list of transactions for a given list of transaction IDs If using TypeScript, import typings for this response from our types package: `import type { Transaction } from \\'@stacks/stacks-blockchain-api-types\\';` \n * @summary Get list of details for transactions\n * @param {Array<string>} txId Array of transaction ids\n * @param {number} [eventOffset] The number of events to skip\n * @param {number} [eventLimit] The numbers of events to return\n * @param {boolean} [unanchored] Include transaction data from unanchored (i.e. unconfirmed) microblocks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n getTxListDetailsRaw(requestParameters: GetTxListDetailsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<{ [key: string]: object; }>>;\n\n /**\n * Retrieves a list of transactions for a given list of transaction IDs If using TypeScript, import typings for this response from our types package: `import type { Transaction } from \\'@stacks/stacks-blockchain-api-types\\';` \n * Get list of details for transactions\n */\n getTxListDetails(requestParameters: GetTxListDetailsRequest, initOverrides?: RequestInit): Promise<{ [key: string]: object; }>;\n\n /**\n * Broadcasts raw transactions on the network. You can use the [@stacks/transactions](https://github.com/blockstack/stacks.js) project to generate a raw transaction payload.\n * @summary Broadcast raw transaction\n * @param {Blob} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TransactionsApiInterface\n */\n postCoreNodeTransactionsRaw(requestParameters: PostCoreNodeTransactionsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<string>>;\n\n /**\n * Broadcasts raw transactions on the network. You can use the [@stacks/transactions](https://github.com/blockstack/stacks.js) project to generate a raw transaction payload.\n * Broadcast raw transaction\n */\n postCoreNodeTransactions(requestParameters: PostCoreNodeTransactionsRequest, initOverrides?: RequestInit): Promise<string>;\n\n}\n\n/**\n * \n */\nexport class TransactionsApi extends runtime.BaseAPI implements TransactionsApiInterface {\n\n /**\n * Retrieves all transactions for a given address that are currently in mempool\n * Transactions for address\n */\n async getAddressMempoolTransactionsRaw(requestParameters: GetAddressMempoolTransactionsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<MempoolTransactionListResponse>> {\n if (requestParameters.address === null || requestParameters.address === undefined) {\n throw new runtime.RequiredError('address','Required parameter requestParameters.address was null or undefined when calling getAddressMempoolTransactions.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/address/{address}/mempool`.replace(`{${\"address\"}}`, encodeURIComponent(String(requestParameters.address))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MempoolTransactionListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves all transactions for a given address that are currently in mempool\n * Transactions for address\n */\n async getAddressMempoolTransactions(requestParameters: GetAddressMempoolTransactionsRequest, initOverrides?: RequestInit): Promise<MempoolTransactionListResponse> {\n const response = await this.getAddressMempoolTransactionsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a paginated list of all STX, FT and NFT events concerning a STX address or Smart Contract ID within a specific transaction. \n * Get events for an address transaction\n */\n async getAddressTransactionEventsRaw(requestParameters: GetAddressTransactionEventsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressTransactionEventListResponse>> {\n if (requestParameters.address === null || requestParameters.address === undefined) {\n throw new runtime.RequiredError('address','Required parameter requestParameters.address was null or undefined when calling getAddressTransactionEvents.');\n }\n\n if (requestParameters.txId === null || requestParameters.txId === undefined) {\n throw new runtime.RequiredError('txId','Required parameter requestParameters.txId was null or undefined when calling getAddressTransactionEvents.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/addresses/{address}/transactions/{tx_id}/events`.replace(`{${\"address\"}}`, encodeURIComponent(String(requestParameters.address))).replace(`{${\"tx_id\"}}`, encodeURIComponent(String(requestParameters.txId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AddressTransactionEventListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a paginated list of all STX, FT and NFT events concerning a STX address or Smart Contract ID within a specific transaction. \n * Get events for an address transaction\n */\n async getAddressTransactionEvents(requestParameters: GetAddressTransactionEventsRequest, initOverrides?: RequestInit): Promise<AddressTransactionEventListResponse> {\n const response = await this.getAddressTransactionEventsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a paginated list of confirmed transactions sent or received by a STX address or Smart Contract ID, alongside the total amount of STX sent or received and the number of STX, FT and NFT transfers contained within each transaction. More information on Transaction types can be found [here](https://docs.stacks.co/understand-stacks/transactions#types). \n * Get address transactions\n */\n async getAddressTransactionsRaw(requestParameters: GetAddressTransactionsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<AddressTransactionsV2ListResponse>> {\n if (requestParameters.address === null || requestParameters.address === undefined) {\n throw new runtime.RequiredError('address','Required parameter requestParameters.address was null or undefined when calling getAddressTransactions.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/addresses/{address}/transactions`.replace(`{${\"address\"}}`, encodeURIComponent(String(requestParameters.address))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AddressTransactionsV2ListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a paginated list of confirmed transactions sent or received by a STX address or Smart Contract ID, alongside the total amount of STX sent or received and the number of STX, FT and NFT transfers contained within each transaction. More information on Transaction types can be found [here](https://docs.stacks.co/understand-stacks/transactions#types). \n * Get address transactions\n */\n async getAddressTransactions(requestParameters: GetAddressTransactionsRequest, initOverrides?: RequestInit): Promise<AddressTransactionsV2ListResponse> {\n const response = await this.getAddressTransactionsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves all recently-broadcast transactions that have been dropped from the mempool. Transactions are dropped from the mempool if: * they were stale and awaiting garbage collection or, * were expensive, or * were replaced with a new fee \n * Get dropped mempool transactions\n */\n async getDroppedMempoolTransactionListRaw(requestParameters: GetDroppedMempoolTransactionListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<MempoolTransactionListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tx/mempool/dropped`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MempoolTransactionListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves all recently-broadcast transactions that have been dropped from the mempool. Transactions are dropped from the mempool if: * they were stale and awaiting garbage collection or, * were expensive, or * were replaced with a new fee \n * Get dropped mempool transactions\n */\n async getDroppedMempoolTransactionList(requestParameters: GetDroppedMempoolTransactionListRequest, initOverrides?: RequestInit): Promise<MempoolTransactionListResponse> {\n const response = await this.getDroppedMempoolTransactionListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the list of events filtered by principal (STX address or Smart Contract ID), transaction id or event types. The list of event types is (\\'smart_contract_log\\', \\'stx_lock\\', \\'stx_asset\\', \\'fungible_token_asset\\', \\'non_fungible_token_asset\\').\n * Transaction Events\n */\n async getFilteredEventsRaw(requestParameters: GetFilteredEventsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionEventsResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.txId !== undefined) {\n queryParameters['tx_id'] = requestParameters.txId;\n }\n\n if (requestParameters.address !== undefined) {\n queryParameters['address'] = requestParameters.address;\n }\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.type) {\n queryParameters['type'] = requestParameters.type;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tx/events`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => TransactionEventsResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves the list of events filtered by principal (STX address or Smart Contract ID), transaction id or event types. The list of event types is (\\'smart_contract_log\\', \\'stx_lock\\', \\'stx_asset\\', \\'fungible_token_asset\\', \\'non_fungible_token_asset\\').\n * Transaction Events\n */\n async getFilteredEvents(requestParameters: GetFilteredEventsRequest, initOverrides?: RequestInit): Promise<TransactionEventsResponse> {\n const response = await this.getFilteredEventsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves all transactions that have been recently broadcast to the mempool. These are pending transactions awaiting confirmation. If you need to monitor new transactions, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get mempool transactions\n */\n async getMempoolTransactionListRaw(requestParameters: GetMempoolTransactionListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<MempoolTransactionListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.senderAddress !== undefined) {\n queryParameters['sender_address'] = requestParameters.senderAddress;\n }\n\n if (requestParameters.recipientAddress !== undefined) {\n queryParameters['recipient_address'] = requestParameters.recipientAddress;\n }\n\n if (requestParameters.address !== undefined) {\n queryParameters['address'] = requestParameters.address;\n }\n\n if (requestParameters.orderBy !== undefined) {\n queryParameters['order_by'] = requestParameters.orderBy;\n }\n\n if (requestParameters.order !== undefined) {\n queryParameters['order'] = requestParameters.order;\n }\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tx/mempool`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MempoolTransactionListResponseFromJSON(jsonValue));\n }\n\n /**\n * Retrieves all transactions that have been recently broadcast to the mempool. These are pending transactions awaiting confirmation. If you need to monitor new transactions, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates. \n * Get mempool transactions\n */\n async getMempoolTransactionList(requestParameters: GetMempoolTransactionListRequest, initOverrides?: RequestInit): Promise<MempoolTransactionListResponse> {\n const response = await this.getMempoolTransactionListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Queries for transactions counts, age (by block height), fees (simple average), and size. All results broken down by transaction type and percentiles (p25, p50, p75, p95). \n * Get statistics for mempool transactions\n */\n async getMempoolTransactionStatsRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<MempoolTransactionStatsResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tx/mempool/stats`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MempoolTransactionStatsResponseFromJSON(jsonValue));\n }\n\n /**\n * Queries for transactions counts, age (by block height), fees (simple average), and size. All results broken down by transaction type and percentiles (p25, p50, p75, p95). \n * Get statistics for mempool transactions\n */\n async getMempoolTransactionStats(initOverrides?: RequestInit): Promise<MempoolTransactionStatsResponse> {\n const response = await this.getMempoolTransactionStatsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a hex encoded serialized transaction for a given ID \n * Get Raw Transaction\n */\n async getRawTransactionByIdRaw(requestParameters: GetRawTransactionByIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetRawTransactionResult>> {\n if (requestParameters.txId === null || requestParameters.txId === undefined) {\n throw new runtime.RequiredError('txId','Required parameter requestParameters.txId was null or undefined when calling getRawTransactionById.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tx/{tx_id}/raw`.replace(`{${\"tx_id\"}}`, encodeURIComponent(String(requestParameters.txId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => GetRawTransactionResultFromJSON(jsonValue));\n }\n\n /**\n * Retrieves a hex encoded serialized transaction for a given ID \n * Get Raw Transaction\n */\n async getRawTransactionById(requestParameters: GetRawTransactionByIdRequest, initOverrides?: RequestInit): Promise<GetRawTransactionResult> {\n const response = await this.getRawTransactionByIdRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves transaction details for a given transaction ID `import type { Transaction } from \\'@stacks/stacks-blockchain-api-types\\';` \n * Get transaction\n */\n async getTransactionByIdRaw(requestParameters: GetTransactionByIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>> {\n if (requestParameters.txId === null || requestParameters.txId === undefined) {\n throw new runtime.RequiredError('txId','Required parameter requestParameters.txId was null or undefined when calling getTransactionById.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.eventOffset !== undefined) {\n queryParameters['event_offset'] = requestParameters.eventOffset;\n }\n\n if (requestParameters.eventLimit !== undefined) {\n queryParameters['event_limit'] = requestParameters.eventLimit;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tx/{tx_id}`.replace(`{${\"tx_id\"}}`, encodeURIComponent(String(requestParameters.txId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Retrieves transaction details for a given transaction ID `import type { Transaction } from \\'@stacks/stacks-blockchain-api-types\\';` \n * Get transaction\n */\n async getTransactionById(requestParameters: GetTransactionByIdRequest, initOverrides?: RequestInit): Promise<object> {\n const response = await this.getTransactionByIdRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves all recently mined transactions If using TypeScript, import typings for this response from our types package: `import type { TransactionResults } from \\'@stacks/stacks-blockchain-api-types\\';` \n * Get recent transactions\n */\n async getTransactionListRaw(requestParameters: GetTransactionListRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionResults>> {\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.type) {\n queryParameters['type'] = requestParameters.type;\n }\n\n if (requestParameters.fromAddress !== undefined) {\n queryParameters['from_address'] = requestParameters.fromAddress;\n }\n\n if (requestParameters.toAddress !== undefined) {\n queryParameters['to_address'] = requestParameters.toAddress;\n }\n\n if (requestParameters.sortBy !== undefined) {\n queryParameters['sort_by'] = requestParameters.sortBy;\n }\n\n if (requestParameters.startTime !== undefined) {\n queryParameters['start_time'] = requestParameters.startTime;\n }\n\n if (requestParameters.endTime !== undefined) {\n queryParameters['end_time'] = requestParameters.endTime;\n }\n\n if (requestParameters.contractId !== undefined) {\n queryParameters['contract_id'] = requestParameters.contractId;\n }\n\n if (requestParameters.functionName !== undefined) {\n queryParameters['function_name'] = requestParameters.functionName;\n }\n\n if (requestParameters.nonce !== undefined) {\n queryParameters['nonce'] = requestParameters.nonce;\n }\n\n if (requestParameters.order !== undefined) {\n queryParameters['order'] = requestParameters.order;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tx`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => TransactionResultsFromJSON(jsonValue));\n }\n\n /**\n * Retrieves all recently mined transactions If using TypeScript, import typings for this response from our types package: `import type { TransactionResults } from \\'@stacks/stacks-blockchain-api-types\\';` \n * Get recent transactions\n */\n async getTransactionList(requestParameters: GetTransactionListRequest, initOverrides?: RequestInit): Promise<TransactionResults> {\n const response = await this.getTransactionListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves transactions confirmed in a single block \n * Get transactions by block\n */\n async getTransactionsByBlockRaw(requestParameters: GetTransactionsByBlockRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionResults>> {\n if (requestParameters.heightOrHash === null || requestParameters.heightOrHash === undefined) {\n throw new runtime.RequiredError('heightOrHash','Required parameter requestParameters.heightOrHash was null or undefined when calling getTransactionsByBlock.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v2/blocks/{height_or_hash}/transactions`.replace(`{${\"height_or_hash\"}}`, encodeURIComponent(String(requestParameters.heightOrHash))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => TransactionResultsFromJSON(jsonValue));\n }\n\n /**\n * Retrieves transactions confirmed in a single block \n * Get transactions by block\n */\n async getTransactionsByBlock(requestParameters: GetTransactionsByBlockRequest, initOverrides?: RequestInit): Promise<TransactionResults> {\n const response = await this.getTransactionsByBlockRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get transactions by block](/api/get-transactions-by-block). Retrieves a list of all transactions within a block for a given block hash. \n * Transactions by block hash\n */\n async getTransactionsByBlockHashRaw(requestParameters: GetTransactionsByBlockHashRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionResults>> {\n if (requestParameters.blockHash === null || requestParameters.blockHash === undefined) {\n throw new runtime.RequiredError('blockHash','Required parameter requestParameters.blockHash was null or undefined when calling getTransactionsByBlockHash.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tx/block/{block_hash}`.replace(`{${\"block_hash\"}}`, encodeURIComponent(String(requestParameters.blockHash))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => TransactionResultsFromJSON(jsonValue));\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get transactions by block](/api/get-transactions-by-block). Retrieves a list of all transactions within a block for a given block hash. \n * Transactions by block hash\n */\n async getTransactionsByBlockHash(requestParameters: GetTransactionsByBlockHashRequest, initOverrides?: RequestInit): Promise<TransactionResults> {\n const response = await this.getTransactionsByBlockHashRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get transactions by block](/api/get-transactions-by-block). Retrieves all transactions within a block at a given height \n * Transactions by block height\n */\n async getTransactionsByBlockHeightRaw(requestParameters: GetTransactionsByBlockHeightRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TransactionResults>> {\n if (requestParameters.height === null || requestParameters.height === undefined) {\n throw new runtime.RequiredError('height','Required parameter requestParameters.height was null or undefined when calling getTransactionsByBlockHeight.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tx/block_height/{height}`.replace(`{${\"height\"}}`, encodeURIComponent(String(requestParameters.height))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => TransactionResultsFromJSON(jsonValue));\n }\n\n /**\n * **NOTE:** This endpoint is deprecated in favor of [Get transactions by block](/api/get-transactions-by-block). Retrieves all transactions within a block at a given height \n * Transactions by block height\n */\n async getTransactionsByBlockHeight(requestParameters: GetTransactionsByBlockHeightRequest, initOverrides?: RequestInit): Promise<TransactionResults> {\n const response = await this.getTransactionsByBlockHeightRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a list of transactions for a given list of transaction IDs If using TypeScript, import typings for this response from our types package: `import type { Transaction } from \\'@stacks/stacks-blockchain-api-types\\';` \n * Get list of details for transactions\n */\n async getTxListDetailsRaw(requestParameters: GetTxListDetailsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<{ [key: string]: object; }>> {\n if (requestParameters.txId === null || requestParameters.txId === undefined) {\n throw new runtime.RequiredError('txId','Required parameter requestParameters.txId was null or undefined when calling getTxListDetails.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.txId) {\n queryParameters['tx_id'] = requestParameters.txId;\n }\n\n if (requestParameters.eventOffset !== undefined) {\n queryParameters['event_offset'] = requestParameters.eventOffset;\n }\n\n if (requestParameters.eventLimit !== undefined) {\n queryParameters['event_limit'] = requestParameters.eventLimit;\n }\n\n if (requestParameters.unanchored !== undefined) {\n queryParameters['unanchored'] = requestParameters.unanchored;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/extended/v1/tx/multiple`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * Retrieves a list of transactions for a given list of transaction IDs If using TypeScript, import typings for this response from our types package: `import type { Transaction } from \\'@stacks/stacks-blockchain-api-types\\';` \n * Get list of details for transactions\n */\n async getTxListDetails(requestParameters: GetTxListDetailsRequest, initOverrides?: RequestInit): Promise<{ [key: string]: object; }> {\n const response = await this.getTxListDetailsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Broadcasts raw transactions on the network. You can use the [@stacks/transactions](https://github.com/blockstack/stacks.js) project to generate a raw transaction payload.\n * Broadcast raw transaction\n */\n async postCoreNodeTransactionsRaw(requestParameters: PostCoreNodeTransactionsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<string>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/octet-stream';\n\n const response = await this.request({\n path: `/v2/transactions`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.body as any,\n }, initOverrides);\n\n return new runtime.TextApiResponse(response) as any;\n }\n\n /**\n * Broadcasts raw transactions on the network. You can use the [@stacks/transactions](https://github.com/blockstack/stacks.js) project to generate a raw transaction payload.\n * Broadcast raw transaction\n */\n async postCoreNodeTransactions(requestParameters: PostCoreNodeTransactionsRequest, initOverrides?: RequestInit): Promise<string> {\n const response = await this.postCoreNodeTransactionsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n\n/**\n * @export\n * @enum {string}\n */\nexport enum GetFilteredEventsTypeEnum {\n smart_contract_log = 'smart_contract_log',\n stx_lock = 'stx_lock',\n stx_asset = 'stx_asset',\n fungible_token_asset = 'fungible_token_asset',\n non_fungible_token_asset = 'non_fungible_token_asset'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum GetMempoolTransactionListOrderByEnum {\n age = 'age',\n size = 'size',\n fee = 'fee'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum GetMempoolTransactionListOrderEnum {\n asc = 'asc',\n desc = 'desc'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum GetTransactionListTypeEnum {\n coinbase = 'coinbase',\n token_transfer = 'token_transfer',\n smart_contract = 'smart_contract',\n contract_call = 'contract_call',\n poison_microblock = 'poison_microblock',\n tenure_change = 'tenure_change'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum GetTransactionListSortByEnum {\n block_height = 'block_height',\n burn_block_time = 'burn_block_time',\n fee = 'fee'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum GetTransactionListOrderEnum {\n asc = 'asc',\n desc = 'desc'\n}\n","// **Github:** https://github.com/teambition/jsonrpc-lite\n//\n// http://www.jsonrpc.org/specification\n// **License:** MIT\n'use strict';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst isInteger = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991;\n };\nexport class JsonRpc {\n constructor() {\n this.jsonrpc = '2.0';\n }\n serialize() {\n return JSON.stringify(this);\n }\n}\nJsonRpc.VERSION = '2.0';\nexport class RequestObject extends JsonRpc {\n constructor(id, method, params) {\n super();\n this.id = id;\n this.method = method;\n if (params !== undefined) {\n this.params = params;\n }\n }\n}\nexport class NotificationObject extends JsonRpc {\n constructor(method, params) {\n super();\n this.method = method;\n if (params !== undefined) {\n this.params = params;\n }\n }\n}\nexport class SuccessObject extends JsonRpc {\n constructor(id, result) {\n super();\n this.id = id;\n this.result = result;\n }\n}\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor(id, error) {\n super();\n this.id = id;\n this.error = error;\n this.id = id;\n this.error = error;\n }\n}\nexport class JsonRpcParsed {\n constructor(payload, type) {\n this.payload = payload;\n this.type = type;\n this.payload = payload;\n this.type = type;\n }\n}\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n constructor(message, code, data) {\n this.message = message;\n this.code = isInteger(code) ? code : 0;\n if (data != null) {\n this.data = data;\n }\n }\n}\nJsonRpcError.invalidRequest = function (data) {\n return new JsonRpcError('Invalid request', -32600, data);\n};\nJsonRpcError.methodNotFound = function (data) {\n return new JsonRpcError('Method not found', -32601, data);\n};\nJsonRpcError.invalidParams = function (data) {\n return new JsonRpcError('Invalid params', -32602, data);\n};\nJsonRpcError.internalError = function (data) {\n return new JsonRpcError('Internal error', -32603, data);\n};\nJsonRpcError.parseError = function (data) {\n return new JsonRpcError('Parse error', -32700, data);\n};\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request(id, method, params) {\n const object = new RequestObject(id, method, params);\n validateMessage(object, true);\n return object;\n}\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification(method, params) {\n const object = new NotificationObject(method, params);\n validateMessage(object, true);\n return object;\n}\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success(id, result) {\n const object = new SuccessObject(id, result);\n validateMessage(object, true);\n return object;\n}\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error(id, err) {\n const object = new ErrorObject(id, err);\n validateMessage(object, true);\n return object;\n}\nexport function parse(message) {\n if (!isString(message)) {\n return new JsonRpcParsed(JsonRpcError.invalidRequest(message), \"invalid\" /* invalid */);\n }\n let jsonrpcObj;\n try {\n jsonrpcObj = JSON.parse(message);\n }\n catch (err) {\n return new JsonRpcParsed(JsonRpcError.parseError(message), \"invalid\" /* invalid */);\n }\n return parseJsonRpcObject(jsonrpcObj);\n}\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: <Enum, 'request'|'notification'|'success'|'error'|'invalid'>\n * payload: <JsonRpc|JsonRpcError>\n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject(jsonrpcObj) {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj);\n }\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(JsonRpcError.invalidRequest(jsonrpcObj), \"invalid\" /* invalid */);\n }\n const parsedObjectArray = [];\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i]);\n }\n return parsedObjectArray;\n}\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse;\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: <Enum, 'request'|'notification'|'success'|'error'|'invalid'>\n * payload: <JsonRpc|JsonRpcError>\n * }\n *\n * @api public\n */\nexport function parseObject(obj) {\n let err = null;\n let payload = null;\n let payloadType = \"invalid\" /* invalid */;\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj);\n payloadType = \"invalid\" /* invalid */;\n }\n else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj;\n payload = new NotificationObject(tmp.method, tmp.params);\n err = validateMessage(payload);\n payloadType = \"notification\" /* notification */;\n }\n else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj;\n payload = new RequestObject(tmp.id, tmp.method, tmp.params);\n err = validateMessage(payload);\n payloadType = \"request\" /* request */;\n }\n else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj;\n payload = new SuccessObject(tmp.id, tmp.result);\n err = validateMessage(payload);\n payloadType = \"success\" /* success */;\n }\n else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj;\n payloadType = \"error\" /* error */;\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp);\n }\n else {\n const errorObj = new JsonRpcError(tmp.error.message, tmp.error.code, tmp.error.data);\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp);\n }\n else {\n payload = new ErrorObject(tmp.id, errorObj);\n err = validateMessage(payload);\n }\n }\n }\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType);\n }\n return new JsonRpcParsed(err != null ? err : JsonRpcError.invalidRequest(obj), \"invalid\" /* invalid */);\n}\n// if error, return error, else return null\nfunction validateMessage(obj, throwIt) {\n let err = null;\n if (obj instanceof RequestObject) {\n err = checkId(obj.id);\n if (err == null) {\n err = checkMethod(obj.method);\n }\n if (err == null) {\n err = checkParams(obj.params);\n }\n }\n else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method);\n if (err == null) {\n err = checkParams(obj.params);\n }\n }\n else if (obj instanceof SuccessObject) {\n err = checkId(obj.id);\n if (err == null) {\n err = checkResult(obj.result);\n }\n }\n else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true);\n if (err == null) {\n err = checkError(obj.error);\n }\n }\n if (throwIt && err != null) {\n throw err;\n }\n return err;\n}\nfunction checkId(id, maybeNull) {\n if (maybeNull && id === null) {\n return null;\n }\n return isString(id) || isInteger(id)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.');\n}\nfunction checkMethod(method) {\n return isString(method) ? null : JsonRpcError.invalidRequest(method);\n}\nfunction checkResult(result) {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null;\n}\nfunction checkParams(params) {\n if (params === undefined) {\n return null;\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params);\n return null;\n }\n catch (err) {\n return JsonRpcError.parseError(params);\n }\n }\n return JsonRpcError.invalidParams(params);\n}\nfunction checkError(err) {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError');\n }\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.');\n }\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.');\n }\n return null;\n}\nfunction isString(obj) {\n return obj !== '' && typeof obj === 'string';\n}\nfunction isObject(obj) {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj);\n}\nconst jsonrpc = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n};\nexport default jsonrpc;\nexport { jsonrpc };\n//# sourceMappingURL=jsonrpc.js.map","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","import * as JsonRpcLite from 'jsonrpc-lite';\nimport { EventEmitter } from 'eventemitter3';\nimport {\n RpcTxUpdateSubscriptionParams,\n RpcAddressTxSubscriptionParams,\n RpcAddressBalanceSubscriptionParams,\n RpcSubscriptionType,\n Block,\n RpcBlockSubscriptionParams,\n Microblock,\n Transaction,\n RpcMicroblockSubscriptionParams,\n RpcMempoolSubscriptionParams,\n MempoolTransaction,\n RpcAddressBalanceNotificationParams,\n RpcAddressTxNotificationParams,\n NftEvent,\n RpcNftEventSubscriptionParams,\n RpcNftAssetEventSubscriptionParams,\n RpcNftCollectionEventSubscriptionParams,\n} from '@stacks/stacks-blockchain-api-types';\nimport { BASE_PATH } from '../generated/runtime';\n\ntype IWebSocket = import('ws') | WebSocket;\n\ninterface Subscription {\n unsubscribe(): Promise<void>;\n}\n\nexport class StacksApiWebSocketClient {\n webSocket: IWebSocket;\n idCursor = 0;\n pendingRequests = new Map<\n JsonRpcLite.ID,\n { resolve: (result: any) => void; reject: (error: any) => void }\n >();\n\n eventEmitter = new EventEmitter<{\n block: (event: Block) => void;\n microblock: (event: Microblock) => void;\n mempool: (event: Transaction) => void;\n txUpdate: (event: Transaction | MempoolTransaction) => any;\n addressTxUpdate: (event: RpcAddressTxNotificationParams) => void;\n addressBalanceUpdate: (event: RpcAddressBalanceNotificationParams) => void;\n nftEventUpdate: (event: NftEvent) => void;\n nftAssetEventUpdate: (event: NftEvent) => void;\n nftCollectionEventUpdate: (event: NftEvent) => void;\n }>();\n\n public static async connect(url: string = BASE_PATH): Promise<StacksApiWebSocketClient> {\n // `ws://${addr}/extended/v1/ws`;\n let urlObj: URL;\n try {\n urlObj = new URL(url);\n } catch (_error) {\n urlObj = new URL(`ws://${url}`);\n }\n if (urlObj.protocol === 'https:') {\n urlObj.protocol = 'wss:';\n } else if (urlObj.protocol === 'http:') {\n urlObj.protocol = 'ws:';\n }\n if (urlObj.pathname === '/') {\n urlObj.pathname = '/extended/v1/ws';\n }\n const webSocket = await new Promise<IWebSocket>((resolve, reject) => {\n const webSocket = new (createWebSocket())(urlObj.toString());\n webSocket.onopen = () => resolve(webSocket);\n webSocket.onerror = error => reject(error);\n });\n return new StacksApiWebSocketClient(webSocket);\n }\n\n constructor(webSocket: IWebSocket) {\n this.webSocket = webSocket;\n (webSocket as WebSocket).addEventListener('message', event => {\n const parsed = JsonRpcLite.parse(event.data as string);\n const rpcObjects = Array.isArray(parsed) ? parsed : [parsed];\n rpcObjects.forEach(obj => {\n if (obj.type === JsonRpcLite.RpcStatusType.notification) {\n this.handleNotification(obj.payload);\n } else if (obj.type === JsonRpcLite.RpcStatusType.success) {\n const req = this.pendingRequests.get(obj.payload.id);\n if (req) {\n this.pendingRequests.delete(obj.payload.id);\n req.resolve(obj.payload.result);\n }\n } else if (obj.type === JsonRpcLite.RpcStatusType.error) {\n const req = this.pendingRequests.get(obj.payload.id);\n if (req) {\n this.pendingRequests.delete(obj.payload.id);\n req.reject(obj.payload.error);\n }\n }\n });\n });\n }\n\n handleNotification(data: JsonRpcLite.NotificationObject): void {\n const method = data.method as RpcSubscriptionType;\n switch (method) {\n case 'tx_update':\n this.eventEmitter.emit('txUpdate', data.params as Transaction | MempoolTransaction);\n break;\n case 'address_tx_update':\n this.eventEmitter.emit('addressTxUpdate', data.params as RpcAddressTxNotificationParams);\n break;\n case 'address_balance_update':\n this.eventEmitter.emit(\n 'addressBalanceUpdate',\n data.params as RpcAddressBalanceNotificationParams\n );\n break;\n case 'block':\n this.eventEmitter.emit('block', data.params as Block);\n break;\n case 'microblock':\n this.eventEmitter.emit('microblock', data.params as Microblock);\n break;\n case 'mempool':\n this.eventEmitter.emit('mempool', data.params as Transaction);\n break;\n case 'nft_event':\n this.eventEmitter.emit('nftEventUpdate', data.params as NftEvent);\n break;\n case 'nft_asset_event':\n this.eventEmitter.emit('nftAssetEventUpdate', data.params as NftEvent);\n break;\n case 'nft_collection_event':\n this.eventEmitter.emit('nftCollectionEventUpdate', data.params as NftEvent);\n break;\n }\n }\n\n private rpcCall<TResult = void>(method: string, params: any): Promise<TResult> {\n const rpcReq = JsonRpcLite.request(++this.idCursor, method, params as JsonRpcLite.RpcParams);\n return new Promise<TResult>((resolve, reject) => {\n this.pendingRequests.set(rpcReq.id, { resolve, reject });\n this.webSocket.send(rpcReq.serialize());\n });\n }\n\n async subscribeBlocks(update: (event: Block) => any): Promise<Subscription> {\n const params: RpcBlockSubscriptionParams = { event: 'block' };\n await this.rpcCall('subscribe', params);\n const listener = (event: Block) => {\n update(event);\n };\n this.eventEmitter.addListener('block', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('block', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeMicroblocks(update: (event: Microblock) => any): Promise<Subscription> {\n const params: RpcMicroblockSubscriptionParams = { event: 'microblock' };\n await this.rpcCall('subscribe', params);\n const listener = (event: Microblock) => {\n update(event);\n };\n this.eventEmitter.addListener('microblock', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('microblock', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeMempool(update: (event: Transaction) => any): Promise<Subscription> {\n const params: RpcMempoolSubscriptionParams = { event: 'mempool' };\n await this.rpcCall('subscribe', params);\n const listener = (event: Transaction) => {\n update(event);\n };\n this.eventEmitter.addListener('mempool', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('mempool', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeTxUpdates(\n txId: string,\n update: (event: Transaction | MempoolTransaction) => any\n ): Promise<Subscription> {\n const params: RpcTxUpdateSubscriptionParams = { event: 'tx_update', tx_id: txId };\n const subscribed = await this.rpcCall<{ tx_id: string }>('subscribe', params);\n const listener = (event: Transaction | MempoolTransaction) => {\n if (event.tx_id === subscribed.tx_id) {\n update(event);\n }\n };\n this.eventEmitter.addListener('txUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('txUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeAddressTransactions(\n address: string,\n update: (event: RpcAddressTxNotificationParams) => any\n ): Promise<Subscription> {\n const params: RpcAddressTxSubscriptionParams = { event: 'address_tx_update', address };\n const subscribed = await this.rpcCall<{ address: string }>('subscribe', params);\n const listener = (event: RpcAddressTxNotificationParams) => {\n if (event.address === subscribed.address) {\n update(event);\n }\n };\n this.eventEmitter.addListener('addressTxUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('addressTxUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeAddressBalanceUpdates(\n address: string,\n update: (event: RpcAddressBalanceNotificationParams) => any\n ): Promise<Subscription> {\n const params: RpcAddressBalanceSubscriptionParams = {\n event: 'address_balance_update',\n address,\n };\n const subscribed = await this.rpcCall<{ address: string }>('subscribe', params);\n const listener = (event: RpcAddressBalanceNotificationParams) => {\n if (event.address === subscribed.address) {\n update(event);\n }\n };\n this.eventEmitter.addListener('addressBalanceUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('addressBalanceUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeNftEventUpdates(update: (event: NftEvent) => any): Promise<Subscription> {\n const params: RpcNftEventSubscriptionParams = {\n event: 'nft_event',\n };\n await this.rpcCall('subscribe', params);\n const listener = (event: NftEvent) => {\n update(event);\n };\n this.eventEmitter.addListener('nftEventUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('nftEventUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeNftAssetEventUpdates(\n assetIdentifier: string,\n value: string,\n update: (event: NftEvent) => any\n ): Promise<Subscription> {\n const params: RpcNftAssetEventSubscriptionParams = {\n event: 'nft_asset_event',\n asset_identifier: assetIdentifier,\n value,\n };\n const subscribed = await this.rpcCall<{ asset_identifier: string; value: string }>(\n 'subscribe',\n params\n );\n const listener = (event: NftEvent) => {\n if (\n event.asset_identifier === subscribed.asset_identifier &&\n event.value.hex === subscribed.value\n ) {\n update(event);\n }\n };\n this.eventEmitter.addListener('nftAssetEventUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('nftAssetEventUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeNftCollectionEventUpdates(\n assetIdentifier: string,\n update: (event: NftEvent) => any\n ): Promise<Subscription> {\n const params: RpcNftCollectionEventSubscriptionParams = {\n event: 'nft_collection_event',\n asset_identifier: assetIdentifier,\n };\n const subscribed = await this.rpcCall<{ asset_identifier: string }>('subscribe', params);\n const listener = (event: NftEvent) => {\n if (event.asset_identifier === subscribed.asset_identifier) {\n update(event);\n }\n };\n this.eventEmitter.addListener('nftCollectionEventUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('nftCollectionEventUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n}\n\nexport async function connectWebSocketClient(\n url: string = BASE_PATH\n): Promise<StacksApiWebSocketClient> {\n return StacksApiWebSocketClient.connect(url);\n}\n\n/**\n * Simple isomorphic WebSocket class lookup.\n * Uses global WebSocket (browsers) if available, otherwise, uses the Node.js `ws` lib.\n */\nfunction createWebSocket(): typeof WebSocket {\n if (typeof WebSocket !== 'undefined') {\n return WebSocket;\n } else if (typeof global !== 'undefined' && global.WebSocket) {\n return global.WebSocket;\n } else if (typeof window !== 'undefined' && window.WebSocket) {\n return window.WebSocket;\n } else if (typeof self !== 'undefined' && self.WebSocket) {\n return self.WebSocket;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return require('ws');\n }\n}\n","const PACKET_TYPES = Object.create(null); // no Map = no polyfill\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = Object.create(null);\nObject.keys(PACKET_TYPES).forEach(key => {\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nexport { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET };\n","import { PACKET_TYPES } from \"./commons.js\";\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst isView = obj => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n if (withNativeBlob && data instanceof Blob) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(data, callback);\n }\n }\n else if (withNativeArrayBuffer &&\n (data instanceof ArrayBuffer || isView(data))) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(new Blob([data]), callback);\n }\n }\n // plain string\n return callback(PACKET_TYPES[type] + (data || \"\"));\n};\nconst encodeBlobAsBase64 = (data, callback) => {\n const fileReader = new FileReader();\n fileReader.onload = function () {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + (content || \"\"));\n };\n return fileReader.readAsDataURL(data);\n};\nfunction toArray(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n else if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n else {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n}\nlet TEXT_ENCODER;\nexport function encodePacketToBinary(packet, callback) {\n if (withNativeBlob && packet.data instanceof Blob) {\n return packet.data\n .arrayBuffer()\n .then(toArray)\n .then(callback);\n }\n else if (withNativeArrayBuffer &&\n (packet.data instanceof ArrayBuffer || isView(packet.data))) {\n return callback(toArray(packet.data));\n }\n encodePacket(packet, false, encoded => {\n if (!TEXT_ENCODER) {\n TEXT_ENCODER = new TextEncoder();\n }\n callback(TEXT_ENCODER.encode(encoded));\n });\n}\nexport { encodePacket };\n","// imported from https://github.com/socketio/base64-arraybuffer\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nexport const encode = (arraybuffer) => {\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nexport const decode = (base64) => {\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\n","import { ERROR_PACKET, PACKET_TYPES_REVERSE } from \"./commons.js\";\nimport { decode } from \"./contrib/base64-arraybuffer.js\";\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nexport const decodePacket = (encodedPacket, binaryType) => {\n if (typeof encodedPacket !== \"string\") {\n return {\n type: \"message\",\n data: mapBinary(encodedPacket, binaryType)\n };\n }\n const type = encodedPacket.charAt(0);\n if (type === \"b\") {\n return {\n type: \"message\",\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType)\n };\n }\n const packetType = PACKET_TYPES_REVERSE[type];\n if (!packetType) {\n return ERROR_PACKET;\n }\n return encodedPacket.length > 1\n ? {\n type: PACKET_TYPES_REVERSE[type],\n data: encodedPacket.substring(1)\n }\n : {\n type: PACKET_TYPES_REVERSE[type]\n };\n};\nconst decodeBase64Packet = (data, binaryType) => {\n if (withNativeArrayBuffer) {\n const decoded = decode(data);\n return mapBinary(decoded, binaryType);\n }\n else {\n return { base64: true, data }; // fallback for old browsers\n }\n};\nconst mapBinary = (data, binaryType) => {\n switch (binaryType) {\n case \"blob\":\n if (data instanceof Blob) {\n // from WebSocket + binaryType \"blob\"\n return data;\n }\n else {\n // from HTTP long-polling or WebTransport\n return new Blob([data]);\n }\n case \"arraybuffer\":\n default:\n if (data instanceof ArrayBuffer) {\n // from HTTP long-polling (base64) or WebSocket + binaryType \"arraybuffer\"\n return data;\n }\n else {\n // from WebTransport (Uint8Array)\n return data.buffer;\n }\n }\n};\n","import { encodePacket, encodePacketToBinary } from \"./encodePacket.js\";\nimport { decodePacket } from \"./decodePacket.js\";\nimport { ERROR_PACKET } from \"./commons.js\";\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst encodePayload = (packets, callback) => {\n // some packets may be added to the array while encoding, so the initial length must be saved\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i) => {\n // force base64 encoding for binary packets\n encodePacket(packet, false, encodedPacket => {\n encodedPackets[i] = encodedPacket;\n if (++count === length) {\n callback(encodedPackets.join(SEPARATOR));\n }\n });\n });\n};\nconst decodePayload = (encodedPayload, binaryType) => {\n const encodedPackets = encodedPayload.split(SEPARATOR);\n const packets = [];\n for (let i = 0; i < encodedPackets.length; i++) {\n const decodedPacket = decodePacket(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") {\n break;\n }\n }\n return packets;\n};\nexport function createPacketEncoderStream() {\n return new TransformStream({\n transform(packet, controller) {\n encodePacketToBinary(packet, encodedPacket => {\n const payloadLength = encodedPacket.length;\n let header;\n // inspired by the WebSocket format: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#decoding_payload_length\n if (payloadLength < 126) {\n header = new Uint8Array(1);\n new DataView(header.buffer).setUint8(0, payloadLength);\n }\n else if (payloadLength < 65536) {\n header = new Uint8Array(3);\n const view = new DataView(header.buffer);\n view.setUint8(0, 126);\n view.setUint16(1, payloadLength);\n }\n else {\n header = new Uint8Array(9);\n const view = new DataView(header.buffer);\n view.setUint8(0, 127);\n view.setBigUint64(1, BigInt(payloadLength));\n }\n // first bit indicates whether the payload is plain text (0) or binary (1)\n if (packet.data && typeof packet.data !== \"string\") {\n header[0] |= 0x80;\n }\n controller.enqueue(header);\n controller.enqueue(encodedPacket);\n });\n }\n });\n}\nlet TEXT_DECODER;\nfunction totalLength(chunks) {\n return chunks.reduce((acc, chunk) => acc + chunk.length, 0);\n}\nfunction concatChunks(chunks, size) {\n if (chunks[0].length === size) {\n return chunks.shift();\n }\n const buffer = new Uint8Array(size);\n let j = 0;\n for (let i = 0; i < size; i++) {\n buffer[i] = chunks[0][j++];\n if (j === chunks[0].length) {\n chunks.shift();\n j = 0;\n }\n }\n if (chunks.length && j < chunks[0].length) {\n chunks[0] = chunks[0].slice(j);\n }\n return buffer;\n}\nexport function createPacketDecoderStream(maxPayload, binaryType) {\n if (!TEXT_DECODER) {\n TEXT_DECODER = new TextDecoder();\n }\n const chunks = [];\n let state = 0 /* READ_HEADER */;\n let expectedLength = -1;\n let isBinary = false;\n return new TransformStream({\n transform(chunk, controller) {\n chunks.push(chunk);\n while (true) {\n if (state === 0 /* READ_HEADER */) {\n if (totalLength(chunks) < 1) {\n break;\n }\n const header = concatChunks(chunks, 1);\n isBinary = (header[0] & 0x80) === 0x80;\n expectedLength = header[0] & 0x7f;\n if (expectedLength < 126) {\n state = 3 /* READ_PAYLOAD */;\n }\n else if (expectedLength === 126) {\n state = 1 /* READ_EXTENDED_LENGTH_16 */;\n }\n else {\n state = 2 /* READ_EXTENDED_LENGTH_64 */;\n }\n }\n else if (state === 1 /* READ_EXTENDED_LENGTH_16 */) {\n if (totalLength(chunks) < 2) {\n break;\n }\n const headerArray = concatChunks(chunks, 2);\n expectedLength = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length).getUint16(0);\n state = 3 /* READ_PAYLOAD */;\n }\n else if (state === 2 /* READ_EXTENDED_LENGTH_64 */) {\n if (totalLength(chunks) < 8) {\n break;\n }\n const headerArray = concatChunks(chunks, 8);\n const view = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length);\n const n = view.getUint32(0);\n if (n > Math.pow(2, 53 - 32) - 1) {\n // the maximum safe integer in JavaScript is 2^53 - 1\n controller.enqueue(ERROR_PACKET);\n break;\n }\n expectedLength = n * Math.pow(2, 32) + view.getUint32(4);\n state = 3 /* READ_PAYLOAD */;\n }\n else {\n if (totalLength(chunks) < expectedLength) {\n break;\n }\n const data = concatChunks(chunks, expectedLength);\n controller.enqueue(decodePacket(isBinary ? data : TEXT_DECODER.decode(data), binaryType));\n state = 0 /* READ_HEADER */;\n }\n if (expectedLength === 0 || expectedLength > maxPayload) {\n controller.enqueue(ERROR_PACKET);\n break;\n }\n }\n }\n });\n}\nexport const protocol = 4;\nexport { encodePacket, encodePayload, decodePacket, decodePayload };\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","export const globalThisShim = (() => {\n if (typeof self !== \"undefined\") {\n return self;\n }\n else if (typeof window !== \"undefined\") {\n return window;\n }\n else {\n return Function(\"return this\")();\n }\n})();\n","import { globalThisShim as globalThis } from \"./globalThis.js\";\nexport function pick(obj, ...attr) {\n return attr.reduce((acc, k) => {\n if (obj.hasOwnProperty(k)) {\n acc[k] = obj[k];\n }\n return acc;\n }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst NATIVE_SET_TIMEOUT = globalThis.setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = globalThis.clearTimeout;\nexport function installTimerFunctions(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThis);\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThis);\n }\n else {\n obj.setTimeoutFn = globalThis.setTimeout.bind(globalThis);\n obj.clearTimeoutFn = globalThis.clearTimeout.bind(globalThis);\n }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst BASE64_OVERHEAD = 1.33;\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\nexport function byteLength(obj) {\n if (typeof obj === \"string\") {\n return utf8Length(obj);\n }\n // arraybuffer or blob\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n let c = 0, length = 0;\n for (let i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n","// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */\nexport function encode(obj) {\n let str = '';\n for (let i in obj) {\n if (obj.hasOwnProperty(i)) {\n if (str.length)\n str += '&';\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\n }\n }\n return str;\n}\n/**\n * Parses a simple querystring into an object\n *\n * @param {String} qs\n * @api private\n */\nexport function decode(qs) {\n let qry = {};\n let pairs = qs.split('&');\n for (let i = 0, l = pairs.length; i < l; i++) {\n let pair = pairs[i].split('=');\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\n","import { decodePacket } from \"engine.io-parser\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions } from \"./util.js\";\nimport { encode } from \"./contrib/parseqs.js\";\nexport class TransportError extends Error {\n constructor(reason, description, context) {\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nexport class Transport extends Emitter {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} opts - options\n * @protected\n */\n constructor(opts) {\n super();\n this.writable = false;\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.socket = opts.socket;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @protected\n */\n onError(reason, description, context) {\n super.emitReserved(\"error\", new TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n */\n open() {\n this.readyState = \"opening\";\n this.doOpen();\n return this;\n }\n /**\n * Closes the transport.\n */\n close() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n */\n send(packets) {\n if (this.readyState === \"open\") {\n this.write(packets);\n }\n else {\n // this might happen if the transport was silently closed in the beforeunload event handler\n }\n }\n /**\n * Called upon open\n *\n * @protected\n */\n onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @protected\n */\n onData(data) {\n const packet = decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @protected\n */\n onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @protected\n */\n onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n /**\n * Pauses the transport, in order not to lose packets during an upgrade.\n *\n * @param onPause\n */\n pause(onPause) { }\n createUri(schema, query = {}) {\n return (schema +\n \"://\" +\n this._hostname() +\n this._port() +\n this.opts.path +\n this._query(query));\n }\n _hostname() {\n const hostname = this.opts.hostname;\n return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n }\n _port() {\n if (this.opts.port &&\n ((this.opts.secure && Number(this.opts.port !== 443)) ||\n (!this.opts.secure && Number(this.opts.port) !== 80))) {\n return \":\" + this.opts.port;\n }\n else {\n return \"\";\n }\n }\n _query(query) {\n const encodedQuery = encode(query);\n return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n }\n}\n","// imported from https://github.com/unshiftio/yeast\n'use strict';\nconst alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''), length = 64, map = {};\nlet seed = 0, i = 0, prev;\n/**\n * Return a string representing the specified number.\n *\n * @param {Number} num The number to convert.\n * @returns {String} The string representation of the number.\n * @api public\n */\nexport function encode(num) {\n let encoded = '';\n do {\n encoded = alphabet[num % length] + encoded;\n num = Math.floor(num / length);\n } while (num > 0);\n return encoded;\n}\n/**\n * Return the integer value specified by the given string.\n *\n * @param {String} str The string to convert.\n * @returns {Number} The integer value represented by the string.\n * @api public\n */\nexport function decode(str) {\n let decoded = 0;\n for (i = 0; i < str.length; i++) {\n decoded = decoded * length + map[str.charAt(i)];\n }\n return decoded;\n}\n/**\n * Yeast: A tiny growing id generator.\n *\n * @returns {String} A unique id.\n * @api public\n */\nexport function yeast() {\n const now = encode(+new Date());\n if (now !== prev)\n return seed = 0, prev = now;\n return now + '.' + encode(seed++);\n}\n//\n// Map each character to its index.\n//\nfor (; i < length; i++)\n map[alphabet[i]] = i;\n","// imported from https://github.com/component/has-cors\nlet value = false;\ntry {\n value = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n}\ncatch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n}\nexport const hasCORS = value;\n","// browser shim for xmlhttprequest module\nimport { hasCORS } from \"../contrib/has-cors.js\";\nimport { globalThisShim as globalThis } from \"../globalThis.js\";\nexport function XHR(opts) {\n const xdomain = opts.xdomain;\n // XMLHttpRequest can be disabled on IE\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n }\n catch (e) { }\n if (!xdomain) {\n try {\n return new globalThis[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n }\n catch (e) { }\n }\n}\nexport function createCookieJar() { }\n","import { Transport } from \"../transport.js\";\nimport { yeast } from \"../contrib/yeast.js\";\nimport { encodePayload, decodePayload } from \"engine.io-parser\";\nimport { createCookieJar, XHR as XMLHttpRequest, } from \"./xmlhttprequest.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions, pick } from \"../util.js\";\nimport { globalThisShim as globalThis } from \"../globalThis.js\";\nfunction empty() { }\nconst hasXHR2 = (function () {\n const xhr = new XMLHttpRequest({\n xdomain: false,\n });\n return null != xhr.responseType;\n})();\nexport class Polling extends Transport {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @package\n */\n constructor(opts) {\n super(opts);\n this.polling = false;\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? \"443\" : \"80\";\n }\n this.xd =\n (typeof location !== \"undefined\" &&\n opts.hostname !== location.hostname) ||\n port !== opts.port;\n }\n /**\n * XHR supports binary\n */\n const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = hasXHR2 && !forceBase64;\n if (this.opts.withCredentials) {\n this.cookieJar = createCookieJar();\n }\n }\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @protected\n */\n doOpen() {\n this.poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n * @package\n */\n pause(onPause) {\n this.readyState = \"pausing\";\n const pause = () => {\n this.readyState = \"paused\";\n onPause();\n };\n if (this.polling || !this.writable) {\n let total = 0;\n if (this.polling) {\n total++;\n this.once(\"pollComplete\", function () {\n --total || pause();\n });\n }\n if (!this.writable) {\n total++;\n this.once(\"drain\", function () {\n --total || pause();\n });\n }\n }\n else {\n pause();\n }\n }\n /**\n * Starts polling cycle.\n *\n * @private\n */\n poll() {\n this.polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @protected\n */\n onData(data) {\n const callback = (packet) => {\n // if its the first message we consider the transport open\n if (\"opening\" === this.readyState && packet.type === \"open\") {\n this.onOpen();\n }\n // if its a close packet, we close the ongoing requests\n if (\"close\" === packet.type) {\n this.onClose({ description: \"transport closed by the server\" });\n return false;\n }\n // otherwise bypass onData and handle the message\n this.onPacket(packet);\n };\n // decode payload\n decodePayload(data, this.socket.binaryType).forEach(callback);\n // if an event did not trigger closing\n if (\"closed\" !== this.readyState) {\n // if we got data we're not polling\n this.polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) {\n this.poll();\n }\n else {\n }\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @protected\n */\n doClose() {\n const close = () => {\n this.write([{ type: \"close\" }]);\n };\n if (\"open\" === this.readyState) {\n close();\n }\n else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n this.once(\"open\", close);\n }\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} packets - data packets\n * @protected\n */\n write(packets) {\n this.writable = false;\n encodePayload(packets, (data) => {\n this.doWrite(data, () => {\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"https\" : \"http\";\n const query = this.query || {};\n // cache busting is forced\n if (false !== this.opts.timestampRequests) {\n query[this.opts.timestampParam] = yeast();\n }\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n /**\n * Creates a request.\n *\n * @param {String} method\n * @private\n */\n request(opts = {}) {\n Object.assign(opts, { xd: this.xd, cookieJar: this.cookieJar }, this.opts);\n return new Request(this.uri(), opts);\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @private\n */\n doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data: data,\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @private\n */\n doPoll() {\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nexport class Request extends Emitter {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @package\n */\n constructor(uri, opts) {\n super();\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.method = opts.method || \"GET\";\n this.uri = uri;\n this.data = undefined !== opts.data ? opts.data : null;\n this.create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @private\n */\n create() {\n var _a;\n const opts = pick(this.opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this.opts.xd;\n const xhr = (this.xhr = new XMLHttpRequest(opts));\n try {\n xhr.open(this.method, this.uri, true);\n try {\n if (this.opts.extraHeaders) {\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (let i in this.opts.extraHeaders) {\n if (this.opts.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this.opts.extraHeaders[i]);\n }\n }\n }\n }\n catch (e) { }\n if (\"POST\" === this.method) {\n try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n }\n catch (e) { }\n }\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n }\n catch (e) { }\n (_a = this.opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);\n // ie6 check\n if (\"withCredentials\" in xhr) {\n xhr.withCredentials = this.opts.withCredentials;\n }\n if (this.opts.requestTimeout) {\n xhr.timeout = this.opts.requestTimeout;\n }\n xhr.onreadystatechange = () => {\n var _a;\n if (xhr.readyState === 3) {\n (_a = this.opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(xhr);\n }\n if (4 !== xhr.readyState)\n return;\n if (200 === xhr.status || 1223 === xhr.status) {\n this.onLoad();\n }\n else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n this.setTimeoutFn(() => {\n this.onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n }\n };\n xhr.send(this.data);\n }\n catch (e) {\n // Need to defer since .create() is called directly from the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n this.setTimeoutFn(() => {\n this.onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this.index = Request.requestsCount++;\n Request.requests[this.index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @private\n */\n onError(err) {\n this.emitReserved(\"error\", err, this.xhr);\n this.cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @private\n */\n cleanup(fromError) {\n if (\"undefined\" === typeof this.xhr || null === this.xhr) {\n return;\n }\n this.xhr.onreadystatechange = empty;\n if (fromError) {\n try {\n this.xhr.abort();\n }\n catch (e) { }\n }\n if (typeof document !== \"undefined\") {\n delete Request.requests[this.index];\n }\n this.xhr = null;\n }\n /**\n * Called upon load.\n *\n * @private\n */\n onLoad() {\n const data = this.xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this.cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @package\n */\n abort() {\n this.cleanup();\n }\n}\nRequest.requestsCount = 0;\nRequest.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\nif (typeof document !== \"undefined\") {\n // @ts-ignore\n if (typeof attachEvent === \"function\") {\n // @ts-ignore\n attachEvent(\"onunload\", unloadHandler);\n }\n else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in globalThis ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\nfunction unloadHandler() {\n for (let i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\n","import { globalThisShim as globalThis } from \"../globalThis.js\";\nexport const nextTick = (() => {\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) {\n return (cb) => Promise.resolve().then(cb);\n }\n else {\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n }\n})();\nexport const WebSocket = globalThis.WebSocket || globalThis.MozWebSocket;\nexport const usingBrowserWebSocket = true;\nexport const defaultBinaryType = \"arraybuffer\";\n","import { Transport } from \"../transport.js\";\nimport { yeast } from \"../contrib/yeast.js\";\nimport { pick } from \"../util.js\";\nimport { nextTick, usingBrowserWebSocket, WebSocket, } from \"./websocket-constructor.js\";\nimport { encodePacket } from \"engine.io-parser\";\n// detect ReactNative environment\nconst isReactNative = typeof navigator !== \"undefined\" &&\n typeof navigator.product === \"string\" &&\n navigator.product.toLowerCase() === \"reactnative\";\nexport class WS extends Transport {\n /**\n * WebSocket transport constructor.\n *\n * @param {Object} opts - connection options\n * @protected\n */\n constructor(opts) {\n super(opts);\n this.supportsBinary = !opts.forceBase64;\n }\n get name() {\n return \"websocket\";\n }\n doOpen() {\n if (!this.check()) {\n // let probe timeout\n return;\n }\n const uri = this.uri();\n const protocols = this.opts.protocols;\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n const opts = isReactNative\n ? {}\n : pick(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) {\n opts.headers = this.opts.extraHeaders;\n }\n try {\n this.ws =\n usingBrowserWebSocket && !isReactNative\n ? protocols\n ? new WebSocket(uri, protocols)\n : new WebSocket(uri)\n : new WebSocket(uri, protocols, opts);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this.ws.binaryType = this.socket.binaryType;\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @private\n */\n addEventListeners() {\n this.ws.onopen = () => {\n if (this.opts.autoUnref) {\n this.ws._socket.unref();\n }\n this.onOpen();\n };\n this.ws.onclose = (closeEvent) => this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent,\n });\n this.ws.onmessage = (ev) => this.onData(ev.data);\n this.ws.onerror = (e) => this.onError(\"websocket error\", e);\n }\n write(packets) {\n this.writable = false;\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n encodePacket(packet, this.supportsBinary, (data) => {\n // always create a new object (GH-437)\n const opts = {};\n if (!usingBrowserWebSocket) {\n if (packet.options) {\n opts.compress = packet.options.compress;\n }\n if (this.opts.perMessageDeflate) {\n const len = \n // @ts-ignore\n \"string\" === typeof data ? Buffer.byteLength(data) : data.length;\n if (len < this.opts.perMessageDeflate.threshold) {\n opts.compress = false;\n }\n }\n }\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n if (usingBrowserWebSocket) {\n // TypeError is thrown when passing the second argument on Safari\n this.ws.send(data);\n }\n else {\n this.ws.send(data, opts);\n }\n }\n catch (e) {\n }\n if (lastPacket) {\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n const query = this.query || {};\n // append timestamp to URI\n if (this.opts.timestampRequests) {\n query[this.opts.timestampParam] = yeast();\n }\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n /**\n * Feature detection for WebSocket.\n *\n * @return {Boolean} whether this transport is available.\n * @private\n */\n check() {\n return !!WebSocket;\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { nextTick } from \"./websocket-constructor.js\";\nimport { createPacketDecoderStream, createPacketEncoderStream, } from \"engine.io-parser\";\nexport class WT extends Transport {\n get name() {\n return \"webtransport\";\n }\n doOpen() {\n // @ts-ignore\n if (typeof WebTransport !== \"function\") {\n return;\n }\n // @ts-ignore\n this.transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n this.transport.closed\n .then(() => {\n this.onClose();\n })\n .catch((err) => {\n this.onError(\"webtransport error\", err);\n });\n // note: we could have used async/await, but that would require some additional polyfills\n this.transport.ready.then(() => {\n this.transport.createBidirectionalStream().then((stream) => {\n const decoderStream = createPacketDecoderStream(Number.MAX_SAFE_INTEGER, this.socket.binaryType);\n const reader = stream.readable.pipeThrough(decoderStream).getReader();\n const encoderStream = createPacketEncoderStream();\n encoderStream.readable.pipeTo(stream.writable);\n this.writer = encoderStream.writable.getWriter();\n const read = () => {\n reader\n .read()\n .then(({ done, value }) => {\n if (done) {\n return;\n }\n this.onPacket(value);\n read();\n })\n .catch((err) => {\n });\n };\n read();\n const packet = { type: \"open\" };\n if (this.query.sid) {\n packet.data = `{\"sid\":\"${this.query.sid}\"}`;\n }\n this.writer.write(packet).then(() => this.onOpen());\n });\n });\n }\n write(packets) {\n this.writable = false;\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n this.writer.write(packet).then(() => {\n if (lastPacket) {\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n var _a;\n (_a = this.transport) === null || _a === void 0 ? void 0 : _a.close();\n }\n}\n","import { Polling } from \"./polling.js\";\nimport { WS } from \"./websocket.js\";\nimport { WT } from \"./webtransport.js\";\nexport const transports = {\n websocket: WS,\n webtransport: WT,\n polling: Polling,\n};\n","// imported from https://github.com/galkn/parseuri\n/**\n * Parses a URI\n *\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\n *\n * See:\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\n * - https://caniuse.com/url\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\n *\n * History of the parse() method:\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\n *\n * @author Steven Levithan <stevenlevithan.com> (MIT license)\n * @api private\n */\nconst re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\n];\nexport function parse(str) {\n if (str.length > 2000) {\n throw \"URI too long\";\n }\n const src = str, b = str.indexOf('['), e = str.indexOf(']');\n if (b != -1 && e != -1) {\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\n }\n let m = re.exec(str || ''), uri = {}, i = 14;\n while (i--) {\n uri[parts[i]] = m[i] || '';\n }\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\n uri.ipv6uri = true;\n }\n uri.pathNames = pathNames(uri, uri['path']);\n uri.queryKey = queryKey(uri, uri['query']);\n return uri;\n}\nfunction pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == '/' || path.length === 0) {\n names.splice(0, 1);\n }\n if (path.slice(-1) == '/') {\n names.splice(names.length - 1, 1);\n }\n return names;\n}\nfunction queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\n if ($1) {\n data[$1] = $2;\n }\n });\n return data;\n}\n","import { transports } from \"./transports/index.js\";\nimport { installTimerFunctions, byteLength } from \"./util.js\";\nimport { decode } from \"./contrib/parseqs.js\";\nimport { parse } from \"./contrib/parseuri.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { protocol } from \"engine.io-parser\";\nimport { defaultBinaryType } from \"./transports/websocket-constructor.js\";\nexport class Socket extends Emitter {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri - uri or options\n * @param {Object} opts - options\n */\n constructor(uri, opts = {}) {\n super();\n this.binaryType = defaultBinaryType;\n this.writeBuffer = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n uri = parse(uri);\n opts.hostname = uri.host;\n opts.secure = uri.protocol === \"https\" || uri.protocol === \"wss\";\n opts.port = uri.port;\n if (uri.query)\n opts.query = uri.query;\n }\n else if (opts.host) {\n opts.hostname = parse(opts.host).host;\n }\n installTimerFunctions(this, opts);\n this.secure =\n null != opts.secure\n ? opts.secure\n : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? \"443\" : \"80\";\n }\n this.hostname =\n opts.hostname ||\n (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port =\n opts.port ||\n (typeof location !== \"undefined\" && location.port\n ? location.port\n : this.secure\n ? \"443\"\n : \"80\");\n this.transports = opts.transports || [\n \"polling\",\n \"websocket\",\n \"webtransport\",\n ];\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n addTrailingSlash: true,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024,\n },\n transportOptions: {},\n closeOnBeforeunload: false,\n }, opts);\n this.opts.path =\n this.opts.path.replace(/\\/$/, \"\") +\n (this.opts.addTrailingSlash ? \"/\" : \"\");\n if (typeof this.opts.query === \"string\") {\n this.opts.query = decode(this.opts.query);\n }\n // set on handshake\n this.id = null;\n this.upgrades = null;\n this.pingInterval = null;\n this.pingTimeout = null;\n // set on heartbeat\n this.pingTimeoutTimer = null;\n if (typeof addEventListener === \"function\") {\n if (this.opts.closeOnBeforeunload) {\n // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n // closed/reloaded)\n this.beforeunloadEventListener = () => {\n if (this.transport) {\n // silently close the transport\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n this.offlineEventListener = () => {\n this.onClose(\"transport close\", {\n description: \"network connection lost\",\n });\n };\n addEventListener(\"offline\", this.offlineEventListener, false);\n }\n }\n this.open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} name - transport name\n * @return {Transport}\n * @private\n */\n createTransport(name) {\n const query = Object.assign({}, this.opts.query);\n // append engine.io protocol identifier\n query.EIO = protocol;\n // transport name\n query.transport = name;\n // session id if we already have one\n if (this.id)\n query.sid = this.id;\n const opts = Object.assign({}, this.opts, {\n query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port,\n }, this.opts.transportOptions[name]);\n return new transports[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @private\n */\n open() {\n let transport;\n if (this.opts.rememberUpgrade &&\n Socket.priorWebsocketSuccess &&\n this.transports.indexOf(\"websocket\") !== -1) {\n transport = \"websocket\";\n }\n else if (0 === this.transports.length) {\n // Emit error on next tick so it can be listened to\n this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n }\n else {\n transport = this.transports[0];\n }\n this.readyState = \"opening\";\n // Retry with the next transport if the transport is disabled (jsonp: false)\n try {\n transport = this.createTransport(transport);\n }\n catch (e) {\n this.transports.shift();\n this.open();\n return;\n }\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @private\n */\n setTransport(transport) {\n if (this.transport) {\n this.transport.removeAllListeners();\n }\n // set up transport\n this.transport = transport;\n // set up transport listeners\n transport\n .on(\"drain\", this.onDrain.bind(this))\n .on(\"packet\", this.onPacket.bind(this))\n .on(\"error\", this.onError.bind(this))\n .on(\"close\", (reason) => this.onClose(\"transport close\", reason));\n }\n /**\n * Probes a transport.\n *\n * @param {String} name - transport name\n * @private\n */\n probe(name) {\n let transport = this.createTransport(name);\n let failed = false;\n Socket.priorWebsocketSuccess = false;\n const onTransportOpen = () => {\n if (failed)\n return;\n transport.send([{ type: \"ping\", data: \"probe\" }]);\n transport.once(\"packet\", (msg) => {\n if (failed)\n return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport)\n return;\n Socket.priorWebsocketSuccess = \"websocket\" === transport.name;\n this.transport.pause(() => {\n if (failed)\n return;\n if (\"closed\" === this.readyState)\n return;\n cleanup();\n this.setTransport(transport);\n transport.send([{ type: \"upgrade\" }]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n }\n else {\n const err = new Error(\"probe error\");\n // @ts-ignore\n err.transport = transport.name;\n this.emitReserved(\"upgradeError\", err);\n }\n });\n };\n function freezeTransport() {\n if (failed)\n return;\n // Any callback called by transport should be ignored since now\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n // Handle any error that happens while probing\n const onerror = (err) => {\n const error = new Error(\"probe error: \" + err);\n // @ts-ignore\n error.transport = transport.name;\n freezeTransport();\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n // When the socket is closed while we're probing\n function onclose() {\n onerror(\"socket closed\");\n }\n // When the socket is upgraded while we're probing\n function onupgrade(to) {\n if (transport && to.name !== transport.name) {\n freezeTransport();\n }\n }\n // Remove all listeners on the transport and on self\n const cleanup = () => {\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n if (this.upgrades.indexOf(\"webtransport\") !== -1 &&\n name !== \"webtransport\") {\n // favor WebTransport\n this.setTimeoutFn(() => {\n if (!failed) {\n transport.open();\n }\n }, 200);\n }\n else {\n transport.open();\n }\n }\n /**\n * Called when connection is deemed open.\n *\n * @private\n */\n onOpen() {\n this.readyState = \"open\";\n Socket.priorWebsocketSuccess = \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n // we check for `readyState` in case an `open`\n // listener already closed the socket\n if (\"open\" === this.readyState && this.opts.upgrade) {\n let i = 0;\n const l = this.upgrades.length;\n for (; i < l; i++) {\n this.probe(this.upgrades[i]);\n }\n }\n }\n /**\n * Handles a packet.\n *\n * @private\n */\n onPacket(packet) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n this.emitReserved(\"packet\", packet);\n // Socket is live - any packet counts\n this.emitReserved(\"heartbeat\");\n this.resetPingTimeout();\n switch (packet.type) {\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this.sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n break;\n case \"error\":\n const err = new Error(\"server error\");\n // @ts-ignore\n err.code = packet.data;\n this.onError(err);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n else {\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @private\n */\n onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this.upgrades = this.filterUpgrades(data.upgrades);\n this.pingInterval = data.pingInterval;\n this.pingTimeout = data.pingTimeout;\n this.maxPayload = data.maxPayload;\n this.onOpen();\n // In case open handler closes socket\n if (\"closed\" === this.readyState)\n return;\n this.resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @private\n */\n resetPingTimeout() {\n this.clearTimeoutFn(this.pingTimeoutTimer);\n this.pingTimeoutTimer = this.setTimeoutFn(() => {\n this.onClose(\"ping timeout\");\n }, this.pingInterval + this.pingTimeout);\n if (this.opts.autoUnref) {\n this.pingTimeoutTimer.unref();\n }\n }\n /**\n * Called on `drain` event\n *\n * @private\n */\n onDrain() {\n this.writeBuffer.splice(0, this.prevBufferLen);\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this.prevBufferLen = 0;\n if (0 === this.writeBuffer.length) {\n this.emitReserved(\"drain\");\n }\n else {\n this.flush();\n }\n }\n /**\n * Flush write buffers.\n *\n * @private\n */\n flush() {\n if (\"closed\" !== this.readyState &&\n this.transport.writable &&\n !this.upgrading &&\n this.writeBuffer.length) {\n const packets = this.getWritablePackets();\n this.transport.send(packets);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this.prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */\n getWritablePackets() {\n const shouldCheckPayloadSize = this.maxPayload &&\n this.transport.name === \"polling\" &&\n this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) {\n return this.writeBuffer;\n }\n let payloadSize = 1; // first packet type\n for (let i = 0; i < this.writeBuffer.length; i++) {\n const data = this.writeBuffer[i].data;\n if (data) {\n payloadSize += byteLength(data);\n }\n if (i > 0 && payloadSize > this.maxPayload) {\n return this.writeBuffer.slice(0, i);\n }\n payloadSize += 2; // separator + packet type\n }\n return this.writeBuffer;\n }\n /**\n * Sends a message.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} callback function.\n * @return {Socket} for chaining.\n */\n write(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n send(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} type: packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @private\n */\n sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = undefined;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n return;\n }\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type: type,\n data: data,\n options: options,\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn)\n this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n */\n close() {\n const close = () => {\n this.onClose(\"forced close\");\n this.transport.close();\n };\n const cleanupAndClose = () => {\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = () => {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) {\n this.once(\"drain\", () => {\n if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n });\n }\n else if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @private\n */\n onError(err) {\n Socket.priorWebsocketSuccess = false;\n this.emitReserved(\"error\", err);\n this.onClose(\"transport error\", err);\n }\n /**\n * Called upon transport close.\n *\n * @private\n */\n onClose(reason, description) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n // clear timers\n this.clearTimeoutFn(this.pingTimeoutTimer);\n // stop event from firing again for transport\n this.transport.removeAllListeners(\"close\");\n // ensure transport won't stay open\n this.transport.close();\n // ignore further transport communication\n this.transport.removeAllListeners();\n if (typeof removeEventListener === \"function\") {\n removeEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n removeEventListener(\"offline\", this.offlineEventListener, false);\n }\n // set ready state\n this.readyState = \"closed\";\n // clear session id\n this.id = null;\n // emit close event\n this.emitReserved(\"close\", reason, description);\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n }\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} upgrades - server upgrades\n * @private\n */\n filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n let i = 0;\n const j = upgrades.length;\n for (; i < j; i++) {\n if (~this.transports.indexOf(upgrades[i]))\n filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n }\n}\nSocket.protocol = protocol;\n","import { parse } from \"engine.io-client\";\n/**\n * URL parser.\n *\n * @param uri - url\n * @param path - the request path of the connection\n * @param loc - An object meant to mimic window.location.\n * Defaults to window.location.\n * @public\n */\nexport function url(uri, path = \"\", loc) {\n let obj = uri;\n // default to window.location\n loc = loc || (typeof location !== \"undefined\" && location);\n if (null == uri)\n uri = loc.protocol + \"//\" + loc.host;\n // relative path support\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) {\n uri = loc.protocol + uri;\n }\n else {\n uri = loc.host + uri;\n }\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n if (\"undefined\" !== typeof loc) {\n uri = loc.protocol + \"//\" + uri;\n }\n else {\n uri = \"https://\" + uri;\n }\n }\n // parse\n obj = parse(uri);\n }\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = \"80\";\n }\n else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = \"443\";\n }\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n // define unique id\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n // define href\n obj.href =\n obj.protocol +\n \"://\" +\n host +\n (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id,\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if (isBinary(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n","export function on(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\n","import { PacketType } from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */\nconst RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1,\n});\n/**\n * A Socket is the fundamental class for interacting with the server.\n *\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(\"connected\");\n * });\n *\n * // send an event to the server\n * socket.emit(\"foo\", \"bar\");\n *\n * socket.on(\"foobar\", () => {\n * // an event was received from the server\n * });\n *\n * // upon disconnection\n * socket.on(\"disconnect\", (reason) => {\n * console.log(`disconnected due to ${reason}`);\n * });\n */\nexport class Socket extends Emitter {\n /**\n * `Socket` constructor.\n */\n constructor(io, nsp, opts) {\n super();\n /**\n * Whether the socket is currently connected to the server.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.connected); // true\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.connected); // false\n * });\n */\n this.connected = false;\n /**\n * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\n * be transmitted by the server.\n */\n this.recovered = false;\n /**\n * Buffer for packets received before the CONNECT packet\n */\n this.receiveBuffer = [];\n /**\n * Buffer for packets that will be sent once the socket is connected\n */\n this.sendBuffer = [];\n /**\n * The queue of packets to be sent with retry in case of failure.\n *\n * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\n * @private\n */\n this._queue = [];\n /**\n * A sequence to generate the ID of the {@link QueuedPacket}.\n * @private\n */\n this._queueSeq = 0;\n this.ids = 0;\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) {\n this.auth = opts.auth;\n }\n this._opts = Object.assign({}, opts);\n if (this.io._autoConnect)\n this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */\n get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */\n subEvents() {\n if (this.subs)\n return;\n const io = this.io;\n this.subs = [\n on(io, \"open\", this.onopen.bind(this)),\n on(io, \"packet\", this.onpacket.bind(this)),\n on(io, \"error\", this.onerror.bind(this)),\n on(io, \"close\", this.onclose.bind(this)),\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */\n get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */\n connect() {\n if (this.connected)\n return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"])\n this.io.open(); // ensure open\n if (\"open\" === this.io._readyState)\n this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */\n open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */\n send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */\n emit(ev, ...args) {\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n }\n args.unshift(ev);\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n this._addToQueue(args);\n return this;\n }\n const packet = {\n type: PacketType.EVENT,\n data: args,\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n // event ack callback\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = this.io.engine &&\n this.io.engine.transport &&\n this.io.engine.transport.writable;\n const discardPacket = this.flags.volatile && (!isTransportWritable || !this.connected);\n if (discardPacket) {\n }\n else if (this.connected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n }\n else {\n this.sendBuffer.push(packet);\n }\n this.flags = {};\n return this;\n }\n /**\n * @private\n */\n _registerAckCallback(id, ack) {\n var _a;\n const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\n if (timeout === undefined) {\n this.acks[id] = ack;\n return;\n }\n // @ts-ignore\n const timer = this.io.setTimeoutFn(() => {\n delete this.acks[id];\n for (let i = 0; i < this.sendBuffer.length; i++) {\n if (this.sendBuffer[i].id === id) {\n this.sendBuffer.splice(i, 1);\n }\n }\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n this.acks[id] = (...args) => {\n // @ts-ignore\n this.io.clearTimeoutFn(timer);\n ack.apply(this, [null, ...args]);\n };\n }\n /**\n * Emits an event and waits for an acknowledgement\n *\n * @example\n * // without timeout\n * const response = await socket.emitWithAck(\"hello\", \"world\");\n *\n * // with a specific timeout\n * try {\n * const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n * } catch (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n *\n * @return a Promise that will be fulfilled when the server acknowledges the event\n */\n emitWithAck(ev, ...args) {\n // the timeout flag is optional\n const withErr = this.flags.timeout !== undefined || this._opts.ackTimeout !== undefined;\n return new Promise((resolve, reject) => {\n args.push((arg1, arg2) => {\n if (withErr) {\n return arg1 ? reject(arg1) : resolve(arg2);\n }\n else {\n return resolve(arg1);\n }\n });\n this.emit(ev, ...args);\n });\n }\n /**\n * Add the packet to the queue.\n * @param args\n * @private\n */\n _addToQueue(args) {\n let ack;\n if (typeof args[args.length - 1] === \"function\") {\n ack = args.pop();\n }\n const packet = {\n id: this._queueSeq++,\n tryCount: 0,\n pending: false,\n args,\n flags: Object.assign({ fromQueue: true }, this.flags),\n };\n args.push((err, ...responseArgs) => {\n if (packet !== this._queue[0]) {\n // the packet has already been acknowledged\n return;\n }\n const hasError = err !== null;\n if (hasError) {\n if (packet.tryCount > this._opts.retries) {\n this._queue.shift();\n if (ack) {\n ack(err);\n }\n }\n }\n else {\n this._queue.shift();\n if (ack) {\n ack(null, ...responseArgs);\n }\n }\n packet.pending = false;\n return this._drainQueue();\n });\n this._queue.push(packet);\n this._drainQueue();\n }\n /**\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\n * @param force - whether to resend a packet that has not been acknowledged yet\n *\n * @private\n */\n _drainQueue(force = false) {\n if (!this.connected || this._queue.length === 0) {\n return;\n }\n const packet = this._queue[0];\n if (packet.pending && !force) {\n return;\n }\n packet.pending = true;\n packet.tryCount++;\n this.flags = packet.flags;\n this.emit.apply(this, packet.args);\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */\n packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */\n onopen() {\n if (typeof this.auth == \"function\") {\n this.auth((data) => {\n this._sendConnectPacket(data);\n });\n }\n else {\n this._sendConnectPacket(this.auth);\n }\n }\n /**\n * Sends a CONNECT packet to initiate the Socket.IO session.\n *\n * @param data\n * @private\n */\n _sendConnectPacket(data) {\n this.packet({\n type: PacketType.CONNECT,\n data: this._pid\n ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data)\n : data,\n });\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */\n onerror(err) {\n if (!this.connected) {\n this.emitReserved(\"connect_error\", err);\n }\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */\n onclose(reason, description) {\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */\n onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace)\n return;\n switch (packet.type) {\n case PacketType.CONNECT:\n if (packet.data && packet.data.sid) {\n this.onconnect(packet.data.sid, packet.data.pid);\n }\n else {\n this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n }\n break;\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n this.onevent(packet);\n break;\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n this.onack(packet);\n break;\n case PacketType.DISCONNECT:\n this.ondisconnect();\n break;\n case PacketType.CONNECT_ERROR:\n this.destroy();\n const err = new Error(packet.data.message);\n // @ts-ignore\n err.data = packet.data.data;\n this.emitReserved(\"connect_error\", err);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */\n onevent(packet) {\n const args = packet.data || [];\n if (null != packet.id) {\n args.push(this.ack(packet.id));\n }\n if (this.connected) {\n this.emitEvent(args);\n }\n else {\n this.receiveBuffer.push(Object.freeze(args));\n }\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, args);\n }\n }\n super.emit.apply(this, args);\n if (this._pid && args.length && typeof args[args.length - 1] === \"string\") {\n this._lastOffset = args[args.length - 1];\n }\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */\n ack(id) {\n const self = this;\n let sent = false;\n return function (...args) {\n // prevent double callbacks\n if (sent)\n return;\n sent = true;\n self.packet({\n type: PacketType.ACK,\n id: id,\n data: args,\n });\n };\n }\n /**\n * Called upon a server acknowlegement.\n *\n * @param packet\n * @private\n */\n onack(packet) {\n const ack = this.acks[packet.id];\n if (\"function\" === typeof ack) {\n ack.apply(this, packet.data);\n delete this.acks[packet.id];\n }\n else {\n }\n }\n /**\n * Called upon server connect.\n *\n * @private\n */\n onconnect(id, pid) {\n this.id = id;\n this.recovered = pid && this._pid === pid;\n this._pid = pid; // defined only if connection state recovery is enabled\n this.connected = true;\n this.emitBuffered();\n this.emitReserved(\"connect\");\n this._drainQueue(true);\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */\n emitBuffered() {\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet) => {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */\n ondisconnect() {\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */\n destroy() {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs = undefined;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */\n disconnect() {\n if (this.connected) {\n this.packet({ type: PacketType.DISCONNECT });\n }\n // remove socket from pool\n this.destroy();\n if (this.connected) {\n // fire events\n this.onclose(\"io client disconnect\");\n }\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */\n close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */\n compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */\n get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */\n timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */\n onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */\n prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */\n offAny(listener) {\n if (!this._anyListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */\n offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyOutgoingListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */\n notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, packet.data);\n }\n }\n }\n}\n","/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\nexport function Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\nBackoff.prototype.duration = function () {\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\nBackoff.prototype.reset = function () {\n this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */\nBackoff.prototype.setMin = function (min) {\n this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */\nBackoff.prototype.setMax = function (max) {\n this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */\nBackoff.prototype.setJitter = function (jitter) {\n this.jitter = jitter;\n};\n","import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Engine(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = on(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n const onError = (err) => {\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n }\n };\n // emit `error`\n const errorSub = on(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n // set timer\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n if (this.engine)\n this.engine.close();\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called upon engine close.\n *\n * @private\n */\n onclose(reason, description) {\n this.cleanup();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n","import { url } from \"./url.js\";\nimport { Manager } from \"./manager.js\";\nimport { Socket } from \"./socket.js\";\n/**\n * Managers cache.\n */\nconst cache = {};\nfunction lookup(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n const parsed = url(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n const newConnection = opts.forceNew ||\n opts[\"force new connection\"] ||\n false === opts.multiplex ||\n sameNamespace;\n let io;\n if (newConnection) {\n io = new Manager(source, opts);\n }\n else {\n if (!cache[id]) {\n cache[id] = new Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.queryKey;\n }\n return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign(lookup, {\n Manager,\n Socket,\n io: lookup,\n connect: lookup,\n});\n/**\n * Protocol version.\n *\n * @public\n */\nexport { protocol } from \"socket.io-parser\";\n/**\n * Expose constructors for standalone build.\n *\n * @public\n */\nexport { Manager, Socket, lookup as io, lookup as connect, lookup as default, };\n","import { io, Socket } from 'socket.io-client';\nimport type { ManagerOptions, SocketOptions } from 'socket.io-client';\nimport {\n ClientToServerMessages,\n Topic,\n ServerToClientMessages,\n MempoolTransaction,\n Transaction,\n Block,\n Microblock,\n AddressTransactionWithTransfers,\n NftEvent,\n AddressStxBalanceResponse,\n} from '@stacks/stacks-blockchain-api-types';\nimport { BASE_PATH } from '../generated/runtime';\n\nexport type StacksApiSocket = Socket<ServerToClientMessages, ClientToServerMessages>;\n\nfunction getWsUrl(url: string): URL {\n let urlObj: URL;\n try {\n urlObj = new URL(url);\n if (!urlObj.protocol || !urlObj.host) {\n throw new TypeError(`[ERR_INVALID_URL]: Invalid URL: ${url}`);\n }\n } catch (error) {\n console.error(`Pass an absolute URL with a protocol/schema, e.g. \"wss://example.com\"`);\n throw error;\n }\n return urlObj;\n}\n\nexport type StacksApiSocketConnectionOptions = {\n url?: string;\n /** Initial topics to subscribe to. */\n subscriptions?: Topic[];\n socketOpts?: Partial<ManagerOptions & SocketOptions>;\n};\n\nfunction createStacksApiSocket(opts?: StacksApiSocketConnectionOptions) {\n const socketOpts = {\n ...opts?.socketOpts,\n query: {\n ...opts?.socketOpts?.query,\n // Subscriptions can be specified on init using this handshake query param.\n subscriptions: Array.from(new Set(opts?.subscriptions)).join(','),\n },\n };\n if (!socketOpts.transports) {\n socketOpts.transports = ['websocket'];\n }\n const socket: StacksApiSocket = io(getWsUrl(opts?.url ?? BASE_PATH).href, socketOpts);\n return socket;\n}\n\nexport class StacksApiSocketClient {\n readonly socket: StacksApiSocket;\n\n constructor(socket: StacksApiSocket);\n constructor(opts?: StacksApiSocketConnectionOptions);\n constructor(args?: StacksApiSocket | StacksApiSocketConnectionOptions) {\n if (args instanceof Socket) {\n this.socket = args;\n } else {\n this.socket = createStacksApiSocket(args);\n }\n }\n\n public static connect(opts?: StacksApiSocketConnectionOptions) {\n return new StacksApiSocketClient(opts);\n }\n\n handleSubscription(topic: Topic, subscribe = false, listener?: (...args: any[]) => void) {\n const subsQuery = this.socket.io.opts.query?.subscriptions as string | undefined;\n const subscriptions = new Set(subsQuery?.split(',') ?? []);\n if (subscribe) {\n this.socket.emit('subscribe', topic, error => {\n if (error) console.error(`Error subscribing: ${error}`);\n });\n subscriptions.add(topic);\n } else {\n this.socket.emit('unsubscribe', topic);\n subscriptions.delete(topic);\n }\n // Update the subscriptions in the socket handshake so topics are persisted on re-connect.\n if (this.socket.io.opts.query === undefined) {\n this.socket.io.opts.query = {};\n }\n this.socket.io.opts.query.subscriptions = Array.from(subscriptions).join(',');\n return {\n unsubscribe: () => {\n if (listener) {\n this.socket.off(topic, listener);\n }\n this.handleSubscription(topic, false);\n },\n };\n }\n\n subscribeBlocks(listener?: (tx: Block) => void) {\n if (listener) this.socket.on('block', listener);\n return this.handleSubscription('block', true, listener);\n }\n\n unsubscribeBlocks() {\n this.handleSubscription('block', false);\n }\n\n subscribeMicroblocks(listener?: (tx: Microblock) => void) {\n if (listener) this.socket.on('microblock', listener);\n return this.handleSubscription('microblock', true, listener);\n }\n\n unsubscribeMicroblocks() {\n this.handleSubscription('microblock', false);\n }\n\n subscribeMempool(listener?: (tx: MempoolTransaction) => void) {\n if (listener) this.socket.on('mempool', listener);\n return this.handleSubscription('mempool', true, listener);\n }\n\n unsubscribeMempool() {\n this.handleSubscription('mempool', false);\n }\n\n subscribeAddressTransactions(\n address: string,\n listener?: (address: string, tx: AddressTransactionWithTransfers) => void\n ) {\n if (listener) this.socket.on(`address-transaction:${address}`, listener);\n return this.handleSubscription(`address-transaction:${address}`, true, listener);\n }\n\n unsubscribeAddressTransactions(address: string) {\n this.handleSubscription(`address-transaction:${address}`, false);\n }\n\n subscribeAddressStxBalance(\n address: string,\n listener?: (address: string, stxBalance: AddressStxBalanceResponse) => void\n ) {\n if (listener) this.socket.on(`address-stx-balance:${address}`, listener);\n return this.handleSubscription(`address-stx-balance:${address}`, true, listener);\n }\n\n unsubscribeAddressStxBalance(address: string) {\n this.handleSubscription(`address-stx-balance:${address}`, false);\n }\n\n subscribeTransaction(txId: string, listener?: (tx: MempoolTransaction | Transaction) => void) {\n if (listener) this.socket.on(`transaction:${txId}`, listener);\n return this.handleSubscription(`transaction:${txId}`, true, listener);\n }\n\n unsubscribeTransaction(txId: string) {\n this.handleSubscription(`transaction:${txId}`, false);\n }\n\n subscribeNftEvent(listener?: (event: NftEvent) => void) {\n if (listener) this.socket.on('nft-event', listener);\n return this.handleSubscription('nft-event', true, listener);\n }\n\n unsubscribeNftEvent() {\n this.handleSubscription('nft-event', false);\n }\n\n subscribeNftAssetEvent(\n assetIdentifier: string,\n value: string,\n listener?: (assetIdentifier: string, value: string, event: NftEvent) => void\n ) {\n if (listener) this.socket.on(`nft-asset-event:${assetIdentifier}+${value}`, listener);\n return this.handleSubscription(`nft-asset-event:${assetIdentifier}+${value}`, true, listener);\n }\n\n unsubscribeNftAssetEvent(assetIdentifier: string, value: string) {\n this.handleSubscription(`nft-asset-event:${assetIdentifier}+${value}`, false);\n }\n\n subscribeNftCollectionEvent(\n assetIdentifier: string,\n listener?: (assetIdentifier: string, event: NftEvent) => void\n ) {\n if (listener) this.socket.on(`nft-collection-event:${assetIdentifier}`, listener);\n return this.handleSubscription(`nft-collection-event:${assetIdentifier}`, true, listener);\n }\n\n unsubscribeNftCollectionEvent(assetIdentifier: string) {\n this.handleSubscription(`nft-collection-event:${assetIdentifier}`, false);\n }\n\n logEvents() {\n this.socket.on('connect', () => console.log('socket connected'));\n this.socket.on('disconnect', reason => console.warn('disconnected', reason));\n this.socket.on('connect_error', error => console.error('connect_error', error));\n this.socket.on('block', block => console.log('block', block));\n this.socket.on('microblock', microblock => console.log('microblock', microblock));\n this.socket.on('mempool', tx => console.log('mempool', tx));\n this.socket.on('nft-event', event => console.log('nft-event', event));\n }\n}\n"],"names":["state","value","then","observer","pact","_this","result","array","check","target","e","reject","values","BASE_PATH","replace","isBlob","Blob","BaseAPI","configuration","Configuration","middleware","fetchApi","url","init","fetch","fetchParams","response","post","clone","pre","withMiddleware","next","concat","withPreMiddleware","middlewares","map","withPostMiddleware","request","context","initOverrides","createFetchParams","status","basePath","path","query","undefined","Object","keys","length","queryParamsStringify","body","FormData","URLSearchParams","JSON","stringify","headers","assign","method","credentials","constructor","slice","RequiredError","field","msg","name","Error","COLLECTION_FORMATS","csv","ssv","tsv","pipes","querystring","username","password","apiKey","accessToken","exists","json","key","params","prefix","fullKey","Array","multiValue","singleValue","encodeURIComponent","String","join","Date","toISOString","filter","part","mapValues","data","fn","reduce","acc","canConsumeForm","consumes","consume","contentType","JSONApiResponse","raw","transformer","jsonValue","VoidApiResponse","BlobApiResponse","blob","TextApiResponse","text","AccountDataResponseFromJSON","AccountDataResponseFromJSONTyped","ignoreDiscriminator","AccountDataResponseToJSON","balance","locked","unlock_height","nonce","balance_proof","nonce_proof","AddressAssetsListResponseFromJSON","AddressAssetsListResponseFromJSONTyped","AddressAssetsListResponseToJSON","limit","offset","total","results","AddressBalanceResponseFromJSON","AddressBalanceResponseFromJSONTyped","StxBalanceFromJSON","AddressTokenOfferingLockedFromJSON","AddressBalanceResponseToJSON","StxBalanceToJSON","stx","fungible_tokens","non_fungible_tokens","AddressTokenOfferingLockedToJSON","token_offering_locked","AddressNoncesFromJSON","AddressNoncesFromJSONTyped","AddressNoncesToJSON","last_mempool_tx_nonce","last_executed_tx_nonce","possible_next_nonce","detected_missing_nonces","detected_mempool_nonces","AddressStxInboundListResponseFromJSON","AddressStxInboundListResponseFromJSONTyped","InboundStxTransferFromJSON","AddressStxInboundListResponseToJSON","InboundStxTransferToJSON","AddressTokenOfferingLockedFromJSONTyped","AddressUnlockScheduleFromJSON","total_locked","total_unlocked","unlock_schedule","AddressUnlockScheduleToJSON","AddressTransactionFromJSON","AddressTransactionFromJSONTyped","AddressTransactionsV2ListResponseEventsFromJSON","AddressTransactionToJSON","tx","stx_sent","stx_received","AddressTransactionsV2ListResponseEventsToJSON","events","AddressTransactionEventListResponseFromJSON","AddressTransactionEventListResponseFromJSONTyped","AddressTransactionEventListResponseToJSON","AddressTransactionWithTransfersFromJSON","AddressTransactionWithTransfersFromJSONTyped","AddressTransactionWithTransfersStxTransfersFromJSON","AddressTransactionWithTransfersFtTransfersFromJSON","AddressTransactionWithTransfersNftTransfersFromJSON","AddressTransactionWithTransfersToJSON","stx_transfers","AddressTransactionWithTransfersStxTransfersToJSON","ft_transfers","AddressTransactionWithTransfersFtTransfersToJSON","nft_transfers","AddressTransactionWithTransfersNftTransfersToJSON","AddressTransactionWithTransfersFtTransfersFromJSONTyped","asset_identifier","amount","sender","recipient","AddressTransactionWithTransfersNftTransfersFromJSONTyped","AddressTransactionWithTransfersValueFromJSON","AddressTransactionWithTransfersValueToJSON","AddressTransactionWithTransfersStxTransfersFromJSONTyped","AddressTransactionWithTransfersValueFromJSONTyped","hex","repr","AddressTransactionsListResponseFromJSON","AddressTransactionsListResponseFromJSONTyped","AddressTransactionsListResponseToJSON","AddressTransactionsV2ListResponseFromJSON","AddressTransactionsV2ListResponseFromJSONTyped","AddressTransactionsV2ListResponseToJSON","AddressTransactionsV2ListResponseEventsFromJSONTyped","AddressTransactionsV2ListResponseEventsStxFromJSON","AddressTransactionsV2ListResponseEventsStxToJSON","ft","nft","AddressTransactionsV2ListResponseEventsStxFromJSONTyped","transfer","mint","burn","AddressTransactionsWithTransfersListResponseFromJSON","AddressTransactionsWithTransfersListResponseFromJSONTyped","AddressTransactionsWithTransfersListResponseToJSON","AddressUnlockScheduleFromJSONTyped","block_height","AverageBlockTimesResponseFromJSON","AverageBlockTimesResponseFromJSONTyped","AverageBlockTimesResponseToJSON","last_1h","last_24h","last_7d","last_30d","BlockFromJSON","BlockFromJSONTyped","BlockToJSON","canonical","height","hash","block_time","block_time_iso","index_block_hash","parent_block_hash","burn_block_time","burn_block_time_iso","burn_block_hash","burn_block_height","miner_txid","parent_microblock_hash","parent_microblock_sequence","txs","microblocks_accepted","microblocks_streamed","execution_cost_read_count","execution_cost_read_length","execution_cost_runtime","execution_cost_write_count","execution_cost_write_length","microblock_tx_count","BlockListResponseFromJSON","BlockListResponseFromJSONTyped","BlockListResponseToJSON","BnsErrorFromJSON","BnsErrorFromJSONTyped","BnsErrorToJSON","error","BnsGetAllNamespacesResponseFromJSON","BnsGetAllNamespacesResponseFromJSONTyped","BnsGetAllNamespacesResponseToJSON","namespaces","BnsGetNameInfoResponseFromJSON","BnsGetNameInfoResponseFromJSONTyped","BnsGetNameInfoResponseToJSON","address","blockchain","expire_block","grace_period","last_txid","resolver","zonefile","zonefile_hash","BnsGetNamePriceResponseFromJSON","BnsGetNamePriceResponseFromJSONTyped","BnsGetNamePriceResponseToJSON","units","BnsGetNamespacePriceResponseFromJSON","BnsGetNamespacePriceResponseFromJSONTyped","BnsGetNamespacePriceResponseToJSON","BnsNamesOwnByAddressResponseFromJSON","BnsNamesOwnByAddressResponseFromJSONTyped","BnsNamesOwnByAddressResponseToJSON","names","BurnBlockFromJSON","BurnBlockFromJSONTyped","BurnBlockToJSON","stacks_blocks","avg_block_time","total_tx_count","BurnBlockListResponseFromJSON","BurnBlockListResponseFromJSONTyped","BurnBlockListResponseToJSON","BurnchainRewardFromJSON","BurnchainRewardFromJSONTyped","BurnchainRewardToJSON","burn_amount","reward_recipient","reward_amount","reward_index","BurnchainRewardListResponseFromJSON","BurnchainRewardListResponseFromJSONTyped","BurnchainRewardListResponseToJSON","BurnchainRewardSlotHolderFromJSON","BurnchainRewardSlotHolderFromJSONTyped","BurnchainRewardSlotHolderToJSON","slot_index","BurnchainRewardSlotHolderListResponseFromJSON","BurnchainRewardSlotHolderListResponseFromJSONTyped","BurnchainRewardSlotHolderListResponseToJSON","BurnchainRewardsTotalFromJSON","BurnchainRewardsTotalFromJSONTyped","BurnchainRewardsTotalToJSON","ChainTipFromJSON","ChainTipFromJSONTyped","ChainTipToJSON","block_hash","microblock_hash","microblock_sequence","ContractInterfaceResponseFromJSON","ContractInterfaceResponseFromJSONTyped","ContractInterfaceResponseToJSON","functions","variables","maps","ContractListResponseFromJSON","ContractListResponseFromJSONTyped","SmartContractFromJSON","ContractListResponseToJSON","SmartContractToJSON","ContractSourceResponseFromJSON","ContractSourceResponseFromJSONTyped","ContractSourceResponseToJSON","source","publish_height","proof","CoreNodeInfoResponseFromJSON","CoreNodeInfoResponseFromJSONTyped","CoreNodeInfoResponseToJSON","peer_version","pox_consensus","stable_pox_consensus","stable_burn_block_height","server_version","network_id","parent_network_id","stacks_tip_height","stacks_tip","stacks_tip_consensus_hash","unanchored_tip","exit_at_block_height","CoreNodePoxResponseFromJSON","CoreNodePoxResponseFromJSONTyped","CoreNodePoxResponseToJSON","contract_id","first_burnchain_block_height","min_amount_ustx","registration_window_length","rejection_fraction","reward_cycle_id","reward_cycle_length","rejection_votes_left_required","total_liquid_supply_ustx","FeeRateFromJSON","FeeRateFromJSONTyped","FeeRateToJSON","fee_rate","FeeRateRequestFromJSON","FeeRateRequestFromJSONTyped","FeeRateRequestToJSON","transaction","FtHolderEntryFromJSON","FtHolderEntryFromJSONTyped","FtHolderEntryToJSON","FungibleTokenHolderListFromJSON","FungibleTokenHolderListFromJSONTyped","FungibleTokenHolderListToJSON","total_supply","GetRawTransactionResultFromJSON","GetRawTransactionResultFromJSONTyped","GetRawTransactionResultToJSON","raw_tx","GetStxSupplyLegacyFormatResponseFromJSON","GetStxSupplyLegacyFormatResponseFromJSONTyped","GetStxSupplyLegacyFormatResponseToJSON","unlockedPercent","totalStacks","totalStacksFormatted","unlockedSupply","unlockedSupplyFormatted","blockHeight","GetStxSupplyResponseFromJSON","GetStxSupplyResponseFromJSONTyped","GetStxSupplyResponseToJSON","unlocked_percent","total_stx","unlocked_stx","InboundStxTransferTransferTypeEnum","InboundStxTransferFromJSONTyped","memo","tx_id","transfer_type","tx_index","InlineObjectFromJSON","InlineObjectFromJSONTyped","InlineObjectToJSON","InlineResponse403FromJSON","InlineResponse403FromJSONTyped","InlineResponse403ToJSON","success","MapEntryResponseFromJSON","MapEntryResponseFromJSONTyped","MapEntryResponseToJSON","MempoolFeePrioritiesFromJSON","MempoolFeePrioritiesFromJSONTyped","MempoolFeePrioritiesAllFromJSON","MempoolFeePrioritiesToJSON","MempoolFeePrioritiesAllToJSON","all","token_transfer","smart_contract","contract_call","MempoolFeePrioritiesAllFromJSONTyped","no_priority","low_priority","medium_priority","high_priority","MempoolTransactionListResponseFromJSON","MempoolTransactionListResponseFromJSONTyped","MempoolTransactionListResponseToJSON","MempoolTransactionStatsResponseFromJSON","MempoolTransactionStatsResponseFromJSONTyped","MempoolTransactionStatsResponseTxTypeCountsFromJSON","MempoolTransactionStatsResponseTxSimpleFeeAveragesFromJSON","MempoolTransactionStatsResponseTxAgesFromJSON","MempoolTransactionStatsResponseTxByteSizesFromJSON","MempoolTransactionStatsResponseToJSON","MempoolTransactionStatsResponseTxTypeCountsToJSON","tx_type_counts","MempoolTransactionStatsResponseTxSimpleFeeAveragesToJSON","tx_simple_fee_averages","MempoolTransactionStatsResponseTxAgesToJSON","tx_ages","MempoolTransactionStatsResponseTxByteSizesToJSON","tx_byte_sizes","MempoolTransactionStatsResponseTxAgesFromJSONTyped","MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON","MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON","poison_microblock","MempoolTransactionStatsResponseTxByteSizesFromJSONTyped","MempoolTransactionStatsResponseTxSimpleFeeAveragesFromJSONTyped","MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSONTyped","p25","p50","p75","p95","MempoolTransactionStatsResponseTxTypeCountsFromJSONTyped","MicroblockFromJSON","MicroblockFromJSONTyped","MicroblockToJSON","microblock_canonical","microblock_parent_hash","parent_block_height","parent_burn_block_hash","parent_burn_block_time","parent_burn_block_time_iso","parent_burn_block_height","MicroblockListResponseFromJSON","MicroblockListResponseFromJSONTyped","MicroblockListResponseToJSON","NakamotoBlockFromJSON","NakamotoBlockFromJSONTyped","NakamotoBlockToJSON","parent_index_block_hash","tx_count","NakamotoBlockListResponseFromJSON","NakamotoBlockListResponseFromJSONTyped","NakamotoBlockListResponseToJSON","NetworkBlockTimeResponseFromJSON","NetworkBlockTimeResponseFromJSONTyped","NetworkBlockTimeResponseToJSON","target_block_time","NetworkBlockTimesResponseFromJSON","NetworkBlockTimesResponseFromJSONTyped","TargetBlockTimeFromJSON","NetworkBlockTimesResponseToJSON","TargetBlockTimeToJSON","mainnet","testnet","NetworkIdentifierFromJSON","NetworkIdentifierFromJSONTyped","RosettaNetworkListResponseSubNetworkIdentifierFromJSON","NetworkIdentifierToJSON","network","RosettaNetworkListResponseSubNetworkIdentifierToJSON","sub_network_identifier","NonFungibleTokenHistoryEventListFromJSON","NonFungibleTokenHistoryEventListFromJSONTyped","NonFungibleTokenHistoryEventListToJSON","NonFungibleTokenHoldingsListFromJSON","NonFungibleTokenHoldingsListFromJSONTyped","NonFungibleTokenHoldingsListToJSON","NonFungibleTokenMintListFromJSON","NonFungibleTokenMintListFromJSONTyped","NonFungibleTokenMintListToJSON","OtherTransactionIdentifierFromJSON","OtherTransactionIdentifierFromJSONTyped","OtherTransactionIdentifierToJSON","PoolDelegationFromJSON","PoolDelegationFromJSONTyped","PoolDelegationToJSON","stacker","pox_addr","amount_ustx","burn_block_unlock_height","PoolDelegationsResponseFromJSON","PoolDelegationsResponseFromJSONTyped","PoolDelegationsResponseToJSON","PostCoreNodeTransactionsErrorFromJSON","PostCoreNodeTransactionsErrorFromJSONTyped","PostCoreNodeTransactionsErrorToJSON","reason","reason_data","txid","PoxCycleFromJSON","PoxCycleFromJSONTyped","PoxCycleToJSON","cycle_number","total_weight","total_stacked_amount","total_signers","PoxCycleListResponseFromJSON","PoxCycleListResponseFromJSONTyped","PoxCycleListResponseToJSON","PoxCycleSignerStackersListResponseFromJSON","PoxCycleSignerStackersListResponseFromJSONTyped","PoxStackerFromJSON","PoxCycleSignerStackersListResponseToJSON","PoxStackerToJSON","PoxCycleSignersListResponseFromJSON","PoxCycleSignersListResponseFromJSONTyped","PoxSignerFromJSON","PoxCycleSignersListResponseToJSON","PoxSignerToJSON","PoxSignerFromJSONTyped","signing_key","signer_address","weight","stacked_amount","weight_percent","stacked_amount_percent","solo_stacker_count","pooled_stacker_count","PoxStackerStackerTypeEnum","PoxStackerFromJSONTyped","stacker_address","pox_address","stacker_type","ReadOnlyFunctionArgsFromJSON","ReadOnlyFunctionArgsFromJSONTyped","ReadOnlyFunctionArgsToJSON","arguments","ReadOnlyFunctionSuccessResponseFromJSON","ReadOnlyFunctionSuccessResponseFromJSONTyped","ReadOnlyFunctionSuccessResponseToJSON","okay","cause","RosettaAccountFromJSON","RosettaAccountFromJSONTyped","RosettaSubAccountFromJSON","RosettaAccountToJSON","RosettaSubAccountToJSON","sub_account","metadata","RosettaAccountBalanceRequestFromJSON","RosettaAccountBalanceRequestFromJSONTyped","RosettaAccountBalanceRequestToJSON","network_identifier","account_identifier","block_identifier","RosettaAccountBalanceResponseFromJSON","RosettaAccountBalanceResponseFromJSONTyped","RosettaAmountFromJSON","RosettaCoinFromJSON","RosettaAccountBalanceResponseMetadataFromJSON","RosettaAccountBalanceResponseToJSON","balances","RosettaAmountToJSON","coins","RosettaCoinToJSON","RosettaAccountBalanceResponseMetadataToJSON","RosettaAccountBalanceResponseCoinIdentifierFromJSON","RosettaAccountBalanceResponseCoinIdentifierFromJSONTyped","RosettaAccountBalanceResponseCoinIdentifierToJSON","identifier","RosettaAccountBalanceResponseMetadataFromJSONTyped","sequence_number","RosettaAccountIdentifierFromJSON","RosettaAccountIdentifierFromJSONTyped","RosettaAccountIdentifierToJSON","RosettaAmountFromJSONTyped","RosettaCurrencyFromJSON","RosettaCurrencyToJSON","currency","RosettaBlockFromJSON","RosettaBlockFromJSONTyped","RosettaParentBlockIdentifierFromJSON","RosettaTransactionFromJSON","RosettaBlockMetadata1FromJSON","RosettaBlockToJSON","RosettaParentBlockIdentifierToJSON","parent_block_identifier","timestamp","transactions","RosettaTransactionToJSON","RosettaBlockMetadata1ToJSON","RosettaBlockMetadataFromJSON","RosettaBlockMetadataFromJSONTyped","RosettaBlockMetadataToJSON","size","lockTime","RosettaBlockMetadata1FromJSONTyped","RosettaBlockRequestFromJSON","RosettaBlockRequestFromJSONTyped","RosettaBlockRequestToJSON","RosettaBlockResponseFromJSON","RosettaBlockResponseFromJSONTyped","RosettaBlockResponseToJSON","block","other_transactions","RosettaBlockTransactionRequestFromJSON","RosettaBlockTransactionRequestFromJSONTyped","TransactionIdentifierFromJSON","RosettaBlockTransactionRequestToJSON","TransactionIdentifierToJSON","transaction_identifier","RosettaBlockTransactionResponseFromJSON","RosettaBlockTransactionResponseFromJSONTyped","RosettaBlockTransactionResponseToJSON","RosettaCoinFromJSONTyped","coin_identifier","RosettaCoinChangeCoinActionEnum","RosettaCoinChangeFromJSON","RosettaCoinChangeFromJSONTyped","RosettaCoinChangeToJSON","coin_action","RosettaConstructionCombineRequestFromJSON","RosettaConstructionCombineRequestFromJSONTyped","RosettaSignatureFromJSON","RosettaConstructionCombineRequestToJSON","unsigned_transaction","signatures","RosettaSignatureToJSON","RosettaConstructionCombineResponseFromJSON","RosettaConstructionCombineResponseFromJSONTyped","RosettaConstructionCombineResponseToJSON","signed_transaction","RosettaConstructionDeriveRequestFromJSON","RosettaConstructionDeriveRequestFromJSONTyped","RosettaPublicKeyFromJSON","RosettaConstructionDeriveRequestToJSON","RosettaPublicKeyToJSON","public_key","RosettaConstructionDeriveResponseFromJSON","RosettaConstructionDeriveResponseFromJSONTyped","RosettaConstructionDeriveResponseToJSON","RosettaConstructionHashRequestFromJSON","RosettaConstructionHashRequestFromJSONTyped","RosettaConstructionHashRequestToJSON","RosettaConstructionHashResponseFromJSON","RosettaConstructionHashResponseFromJSONTyped","RosettaConstructionHashResponseToJSON","RosettaConstructionMetadataRequestFromJSON","RosettaConstructionMetadataRequestFromJSONTyped","RosettaOptionsFromJSON","RosettaConstructionMetadataRequestToJSON","RosettaOptionsToJSON","options","public_keys","RosettaConstructionMetadataResponseFromJSON","RosettaConstructionMetadataResponseFromJSONTyped","RosettaConstructionMetadataResponseMetadataFromJSON","RosettaConstructionMetadataResponseToJSON","RosettaConstructionMetadataResponseMetadataToJSON","suggested_fee","RosettaConstructionMetadataResponseMetadataFromJSONTyped","account_sequence","recent_block_hash","RosettaConstructionParseRequestFromJSON","RosettaConstructionParseRequestFromJSONTyped","RosettaConstructionParseRequestToJSON","signed","RosettaConstructionParseResponseFromJSON","RosettaConstructionParseResponseFromJSONTyped","RosettaOperationFromJSON","RosettaConstructionParseResponseToJSON","operations","RosettaOperationToJSON","signers","account_identifier_signers","RosettaConstructionPayloadResponseFromJSON","RosettaConstructionPayloadResponseFromJSONTyped","SigningPayloadFromJSON","RosettaConstructionPayloadResponseToJSON","payloads","SigningPayloadToJSON","RosettaConstructionPayloadsRequestFromJSON","RosettaConstructionPayloadsRequestFromJSONTyped","RosettaConstructionPayloadsRequestToJSON","RosettaConstructionPreprocessRequestFromJSON","RosettaConstructionPreprocessRequestFromJSONTyped","RosettaMaxFeeAmountFromJSON","RosettaConstructionPreprocessRequestToJSON","max_fee","RosettaMaxFeeAmountToJSON","suggested_fee_multiplier","RosettaConstructionPreprocessResponseFromJSON","RosettaConstructionPreprocessResponseFromJSONTyped","RosettaConstructionPreprocessResponseToJSON","required_public_keys","RosettaConstructionSubmitRequestFromJSON","RosettaConstructionSubmitRequestFromJSONTyped","RosettaConstructionSubmitRequestToJSON","RosettaConstructionSubmitResponseFromJSON","RosettaConstructionSubmitResponseFromJSONTyped","RosettaConstructionSubmitResponseToJSON","RosettaCurrencyFromJSONTyped","symbol","decimals","RosettaErrorFromJSON","RosettaErrorFromJSONTyped","RosettaErrorDetailsFromJSON","RosettaErrorToJSON","code","message","retriable","RosettaErrorDetailsToJSON","details","RosettaErrorDetailsFromJSONTyped","RosettaErrorNoDetailsFromJSON","RosettaErrorNoDetailsFromJSONTyped","RosettaErrorNoDetailsToJSON","RosettaGenesisBlockIdentifierFromJSON","RosettaGenesisBlockIdentifierFromJSONTyped","RosettaGenesisBlockIdentifierToJSON","index","RosettaMaxFeeAmountFromJSONTyped","RosettaMempoolRequestFromJSON","RosettaMempoolRequestFromJSONTyped","RosettaMempoolRequestToJSON","RosettaMempoolResponseFromJSON","RosettaMempoolResponseFromJSONTyped","RosettaMempoolResponseToJSON","transaction_identifiers","RosettaMempoolTransactionRequestFromJSON","RosettaMempoolTransactionRequestFromJSONTyped","RosettaMempoolTransactionRequestToJSON","RosettaMempoolTransactionResponseFromJSON","RosettaMempoolTransactionResponseFromJSONTyped","RosettaMempoolTransactionResponseToJSON","RosettaNetworkListResponseFromJSON","RosettaNetworkListResponseFromJSONTyped","RosettaNetworkListResponseToJSON","network_identifiers","RosettaNetworkListResponseSubNetworkIdentifierFromJSONTyped","RosettaNetworkListResponseSubNetworkIdentifierMetadataFromJSON","RosettaNetworkListResponseSubNetworkIdentifierMetadataToJSON","RosettaNetworkListResponseSubNetworkIdentifierMetadataFromJSONTyped","producer","RosettaNetworkOptionsResponseFromJSON","RosettaNetworkOptionsResponseFromJSONTyped","RosettaNetworkOptionsResponseVersionFromJSON","RosettaNetworkOptionsResponseAllowFromJSON","RosettaNetworkOptionsResponseToJSON","RosettaNetworkOptionsResponseVersionToJSON","version","RosettaNetworkOptionsResponseAllowToJSON","allow","RosettaNetworkOptionsResponseAllowFromJSONTyped","RosettaOperationStatusFromJSON","operation_statuses","RosettaOperationStatusToJSON","operation_types","errors","historical_balance_lookup","RosettaNetworkOptionsResponseVersionFromJSONTyped","rosetta_version","node_version","middleware_version","RosettaNetworkStatusResponseFromJSON","RosettaNetworkStatusResponseFromJSONTyped","RosettaOldestBlockIdentifierFromJSON","RosettaSyncStatusFromJSON","RosettaPeersFromJSON","RosettaNetworkStatusResponseToJSON","current_block_identifier","current_block_timestamp","genesis_block_identifier","RosettaOldestBlockIdentifierToJSON","oldest_block_identifier","RosettaSyncStatusToJSON","sync_status","peers","RosettaPeersToJSON","current_burn_block_height","RosettaOldestBlockIdentifierFromJSONTyped","RosettaOperationFromJSONTyped","RosettaOperationIdentifierFromJSON","RosettaRelatedOperationFromJSON","RosettaOperationIdentifierToJSON","operation_identifier","related_operations","RosettaRelatedOperationToJSON","type","account","coin_change","RosettaOperationIdentifierFromJSONTyped","network_index","RosettaOperationStatusFromJSONTyped","successful","RosettaOptionsFromJSONTyped","sender_address","token_transfer_recipient_address","gas_limit","gas_price","fee","number_of_cycles","contract_address","contract_name","delegate_to","signer_key","signer_private_key","signer_signature","pox_max_amount","pox_auth_id","RosettaOptionsRequestFromJSON","RosettaOptionsRequestFromJSONTyped","RosettaOptionsRequestToJSON","RosettaParentBlockIdentifierFromJSONTyped","RosettaPeersFromJSONTyped","peer_id","RosettaPublicKeyCurveTypeEnum","RosettaPublicKeyFromJSONTyped","hex_bytes","curve_type","RosettaRelatedOperationFromJSONTyped","RosettaSignatureSignatureTypeEnum","RosettaSignatureFromJSONTyped","signing_payload","signature_type","RosettaStatusRequestFromJSON","RosettaStatusRequestFromJSONTyped","RosettaStatusRequestToJSON","RosettaSubAccountFromJSONTyped","RosettaSyncStatusFromJSONTyped","current_index","target_index","stage","synced","RosettaTransactionFromJSONTyped","RunFaucetResponseFromJSON","RunFaucetResponseFromJSONTyped","RunFaucetResponseToJSON","txId","txRaw","ServerStatusResponseFromJSON","ServerStatusResponseFromJSONTyped","ServerStatusResponseToJSON","pox_v1_unlock_height","pox_v2_unlock_height","pox_v3_unlock_height","chain_tip","SigningPayloadSignatureTypeEnum","SigningPayloadFromJSONTyped","SmartContractFromJSONTyped","source_code","abi","StxBalanceFromJSONTyped","total_sent","total_received","total_fees_sent","total_miner_rewards_received","lock_tx_id","lock_height","burnchain_lock_height","burnchain_unlock_height","TargetBlockTimeFromJSONTyped","TransactionEventsResponseFromJSON","TransactionEventsResponseFromJSONTyped","TransactionEventsResponseToJSON","TransactionFeeEstimateRequestFromJSON","TransactionFeeEstimateRequestFromJSONTyped","TransactionFeeEstimateRequestToJSON","transaction_payload","estimated_len","TransactionFeeEstimateResponseFromJSON","TransactionFeeEstimateResponseFromJSONTyped","TransactionFeeEstimateResponseEstimatedCostFromJSON","TransactionFeeEstimateResponseEstimationsFromJSON","TransactionFeeEstimateResponseToJSON","estimated_cost_scalar","cost_scalar_change_by_byte","TransactionFeeEstimateResponseEstimatedCostToJSON","estimated_cost","estimations","TransactionFeeEstimateResponseEstimationsToJSON","TransactionFeeEstimateResponseEstimatedCostFromJSONTyped","read_count","read_length","runtime","write_count","write_length","TransactionFeeEstimateResponseEstimationsFromJSONTyped","TransactionIdentifierFromJSONTyped","TransactionResultsFromJSON","TransactionResultsFromJSONTyped","TransactionResultsToJSON","UnanchoredTransactionListResponseFromJSON","UnanchoredTransactionListResponseFromJSONTyped","UnanchoredTransactionListResponseToJSON","AccountsApi","getAccountAssetsRaw","requestParameters","principal","queryParameters","unanchored","untilBlock","headerParameters","getAccountAssets","getAccountBalanceRaw","getAccountBalance","getAccountInboundRaw","getAccountInbound","getAccountInfoRaw","tip","getAccountInfo","getAccountNoncesRaw","blockHash","getAccountNonces","getAccountStxBalanceRaw","getAccountStxBalance","getAccountTransactionsRaw","getAccountTransactions","getAccountTransactionsWithTransfersRaw","getAccountTransactionsWithTransfers","getSingleTransactionWithTransfersRaw","getSingleTransactionWithTransfers","BlocksApi","getAverageBlockTimesRaw","getAverageBlockTimes","getBlockRaw","heightOrHash","getBlock","getBlockByBurnBlockHashRaw","burnBlockHash","getBlockByBurnBlockHash","getBlockByBurnBlockHeightRaw","burnBlockHeight","getBlockByBurnBlockHeight","getBlockByHashRaw","getBlockByHash","getBlockByHeightRaw","getBlockByHeight","getBlockListRaw","getBlockList","getBlocksRaw","getBlocks","getBlocksByBurnBlockRaw","getBlocksByBurnBlock","BurnBlocksApi","getBurnBlockRaw","getBurnBlock","getBurnBlocksRaw","getBurnBlocks","FaucetsApi","runFaucetBtcRaw","inlineObject","runFaucetBtc","runFaucetStxRaw","stacking","runFaucetStx","FeesApi","fetchFeeRateRaw","feeRateRequest","fetchFeeRate","getFeeTransferRaw","getFeeTransfer","postFeeTransactionRaw","transactionFeeEstimateRequest","postFeeTransaction","FungibleTokensApi","getFtHoldersRaw","token","getFtHolders","InfoApi","getCoreApiInfoRaw","getCoreApiInfo","getNetworkBlockTimeByNetworkRaw","getNetworkBlockTimeByNetwork","getNetworkBlockTimesRaw","getNetworkBlockTimes","getPoxInfoRaw","getPoxInfo","getStatusRaw","getStatus","getStxSupplyRaw","getStxSupply","getStxSupplyCirculatingPlainRaw","getStxSupplyCirculatingPlain","getStxSupplyTotalSupplyPlainRaw","getStxSupplyTotalSupplyPlain","getTotalStxSupplyLegacyFormatRaw","getTotalStxSupplyLegacyFormat","GetNetworkBlockTimeByNetworkNetworkEnum","MempoolApi","getMempoolFeePrioritiesRaw","getMempoolFeePriorities","MicroblocksApi","getMicroblockByHashRaw","getMicroblockByHash","getMicroblockListRaw","getMicroblockList","getUnanchoredTxsRaw","getUnanchoredTxs","NamesApi","fetchSubdomainsListForNameRaw","fetchSubdomainsListForName","fetchZoneFileRaw","fetchZoneFile","getAllNamesRaw","page","getAllNames","getAllNamespacesRaw","getAllNamespaces","getHistoricalZoneFileRaw","zoneFileHash","getHistoricalZoneFile","getNameInfoRaw","getNameInfo","getNamePriceRaw","getNamePrice","getNamesOwnedByAddressRaw","getNamesOwnedByAddress","getNamespaceNamesRaw","tld","getNamespaceNames","getNamespacePriceRaw","getNamespacePrice","NonFungibleTokensApi","getNftHistoryRaw","assetIdentifier","txMetadata","getNftHistory","getNftHoldingsRaw","assetIdentifiers","getNftHoldings","getNftMintsRaw","getNftMints","ProofOfTransferApi","getPoxCycleRaw","cycleNumber","getPoxCycle","getPoxCycleSignerRaw","signerKey","getPoxCycleSigner","getPoxCycleSignerStackersRaw","getPoxCycleSignerStackers","getPoxCycleSignersRaw","getPoxCycleSigners","getPoxCyclesRaw","getPoxCycles","RosettaApi","rosettaAccountBalanceRaw","rosettaAccountBalanceRequest","rosettaAccountBalance","rosettaBlockRaw","rosettaBlockRequest","rosettaBlock","rosettaBlockTransactionRaw","rosettaBlockTransactionRequest","rosettaBlockTransaction","rosettaConstructionCombineRaw","rosettaConstructionCombineRequest","rosettaConstructionCombine","rosettaConstructionDeriveRaw","rosettaConstructionDeriveRequest","rosettaConstructionDerive","rosettaConstructionHashRaw","rosettaConstructionHashRequest","rosettaConstructionHash","rosettaConstructionMetadataRaw","rosettaConstructionMetadataRequest","rosettaConstructionMetadata","rosettaConstructionParseRaw","rosettaConstructionParseRequest","rosettaConstructionParse","rosettaConstructionPayloadsRaw","rosettaConstructionPayloadsRequest","rosettaConstructionPayloads","rosettaConstructionPreprocessRaw","rosettaConstructionPreprocessRequest","rosettaConstructionPreprocess","rosettaConstructionSubmitRaw","rosettaConstructionSubmitRequest","rosettaConstructionSubmit","rosettaMempoolRaw","rosettaMempoolRequest","rosettaMempool","rosettaMempoolTransactionRaw","rosettaMempoolTransactionRequest","rosettaMempoolTransaction","rosettaNetworkListRaw","rosettaNetworkList","rosettaNetworkOptionsRaw","rosettaOptionsRequest","rosettaNetworkOptions","rosettaNetworkStatusRaw","rosettaStatusRequest","rosettaNetworkStatus","SearchApi","searchByIdRaw","id","includeMetadata","searchById","SmartContractsApi","callReadOnlyFunctionRaw","contractAddress","contractName","functionName","readOnlyFunctionArgs","callReadOnlyFunction","getContractByIdRaw","contractId","getContractById","getContractDataMapEntryRaw","mapName","getContractDataMapEntry","getContractEventsByIdRaw","getContractEventsById","getContractInterfaceRaw","getContractInterface","getContractSourceRaw","getContractSource","getContractsByTraitRaw","traitAbi","getContractsByTrait","getSmartContractsStatusRaw","getSmartContractsStatus","StackingApi","getPoolDelegationsRaw","poolPrincipal","afterBlock","getPoolDelegations","StackingRewardsApi","getBurnchainRewardListRaw","getBurnchainRewardList","getBurnchainRewardListByAddressRaw","getBurnchainRewardListByAddress","getBurnchainRewardSlotHoldersRaw","getBurnchainRewardSlotHolders","getBurnchainRewardSlotHoldersByAddressRaw","getBurnchainRewardSlotHoldersByAddress","getBurnchainRewardsTotalByAddressRaw","getBurnchainRewardsTotalByAddress","TransactionsApi","getAddressMempoolTransactionsRaw","getAddressMempoolTransactions","getAddressTransactionEventsRaw","getAddressTransactionEvents","getAddressTransactionsRaw","getAddressTransactions","getDroppedMempoolTransactionListRaw","getDroppedMempoolTransactionList","getFilteredEventsRaw","getFilteredEvents","getMempoolTransactionListRaw","senderAddress","recipientAddress","orderBy","order","getMempoolTransactionList","getMempoolTransactionStatsRaw","getMempoolTransactionStats","getRawTransactionByIdRaw","getRawTransactionById","getTransactionByIdRaw","eventOffset","eventLimit","getTransactionById","getTransactionListRaw","fromAddress","toAddress","sortBy","startTime","endTime","getTransactionList","getTransactionsByBlockRaw","getTransactionsByBlock","getTransactionsByBlockHashRaw","getTransactionsByBlockHash","getTransactionsByBlockHeightRaw","getTransactionsByBlockHeight","getTxListDetailsRaw","getTxListDetails","postCoreNodeTransactionsRaw","postCoreNodeTransactions","GetFilteredEventsTypeEnum","GetMempoolTransactionListOrderByEnum","GetMempoolTransactionListOrderEnum","GetTransactionListTypeEnum","GetTransactionListSortByEnum","GetTransactionListOrderEnum","parse","isObject","connectWebSocketClient","StacksApiWebSocketClient","connect","urlObj","URL","_error","protocol","pathname","Promise","resolve","webSocket","createWebSocket","toString","onopen","onerror","idCursor","pendingRequests","Map","eventEmitter","EventEmitter","addEventListener","event","parsed","JsonRpcLite","rpcObjects","isArray","forEach","obj","handleNotification","payload","req","get","emit","rpcCall","rpcReq","set","send","serialize","subscribeBlocks","update","listener","addListener","unsubscribe","removeListener","subscribeMicroblocks","subscribeMempool","subscribeTxUpdates","subscribed","subscribeAddressTransactions","subscribeAddressBalanceUpdates","subscribeNftEventUpdates","subscribeNftAssetEventUpdates","subscribeNftCollectionEventUpdates","WebSocket","global","window","self","require","withNativeBlob","withNativeArrayBuffer","isView","lookup","decode","globalThis","encode","XMLHttpRequest","Socket","RESERVED_EVENTS","Engine","getWsUrl","host","TypeError","console","createStacksApiSocket","opts","socketOpts","subscriptions","from","Set","transports","socket","io","href","StacksApiSocketClient","args","handleSubscription","topic","subscribe","subsQuery","split","add","off","on","unsubscribeBlocks","unsubscribeMicroblocks","unsubscribeMempool","unsubscribeAddressTransactions","subscribeAddressStxBalance","unsubscribeAddressStxBalance","subscribeTransaction","unsubscribeTransaction","subscribeNftEvent","unsubscribeNftEvent","subscribeNftAssetEvent","unsubscribeNftAssetEvent","subscribeNftCollectionEvent","unsubscribeNftCollectionEvent","logEvents","log","warn","microblock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../node_modules/openapi-fetch/dist/index.js","../src/common.ts","../node_modules/engine.io-parser/build/esm/commons.js","../node_modules/engine.io-parser/build/esm/encodePacket.browser.js","../node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","../node_modules/engine.io-parser/build/esm/decodePacket.browser.js","../node_modules/engine.io-parser/build/esm/index.js","../node_modules/@socket.io/component-emitter/lib/esm/index.js","../node_modules/engine.io-client/build/esm/globalThis.browser.js","../node_modules/engine.io-client/build/esm/util.js","../node_modules/engine.io-client/build/esm/contrib/parseqs.js","../node_modules/engine.io-client/build/esm/transport.js","../node_modules/engine.io-client/build/esm/contrib/yeast.js","../node_modules/engine.io-client/build/esm/contrib/has-cors.js","../node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js","../node_modules/engine.io-client/build/esm/transports/polling.js","../node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js","../node_modules/engine.io-client/build/esm/transports/websocket.js","../node_modules/engine.io-client/build/esm/transports/webtransport.js","../node_modules/engine.io-client/build/esm/transports/index.js","../node_modules/engine.io-client/build/esm/contrib/parseuri.js","../node_modules/engine.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/url.js","../node_modules/socket.io-parser/build/esm/is-binary.js","../node_modules/socket.io-parser/build/esm/binary.js","../node_modules/socket.io-parser/build/esm/index.js","../node_modules/socket.io-client/build/esm/on.js","../node_modules/socket.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/contrib/backo2.js","../node_modules/socket.io-client/build/esm/manager.js","../node_modules/socket.io-client/build/esm/index.js","../src/socket-io/index.ts","../node_modules/jsonrpc-lite/dist/esnext/jsonrpc.js","../node_modules/eventemitter3/index.js","../src/ws/index.ts","../src/index.ts"],"sourcesContent":["// settings & const\nconst DEFAULT_HEADERS = {\n \"Content-Type\": \"application/json\",\n};\n\nconst PATH_PARAM_RE = /\\{[^{}]+\\}/g;\n\n/** Add custom parameters to Request object */\nclass CustomRequest extends Request {\n constructor(input, init) {\n super(input, init);\n\n // add custom parameters\n for (const key in init) {\n if (!(key in this)) {\n this[key] = init[key];\n }\n }\n }\n}\n\n/**\n * Returns a cheap, non-cryptographically-secure random ID\n * Courtesy of @imranbarbhuiya (https://github.com/imranbarbhuiya)\n */\nexport function randomID() {\n return Math.random().toString(36).slice(2, 11);\n}\n\n/**\n * Create an openapi-fetch client.\n * @type {import(\"./index.js\").default}\n */\nexport default function createClient(clientOptions) {\n let {\n baseUrl = \"\",\n fetch: baseFetch = globalThis.fetch,\n querySerializer: globalQuerySerializer,\n bodySerializer: globalBodySerializer,\n headers: baseHeaders,\n ...baseOptions\n } = { ...clientOptions };\n if (baseUrl.endsWith(\"/\")) {\n baseUrl = baseUrl.substring(0, baseUrl.length - 1);\n }\n baseHeaders = mergeHeaders(DEFAULT_HEADERS, baseHeaders);\n const middlewares = [];\n\n /**\n * Per-request fetch (keeps settings created in createClient()\n * @param {T} url\n * @param {import('./index.js').FetchOptions<T>} fetchOptions\n */\n async function coreFetch(schemaPath, fetchOptions) {\n const {\n fetch = baseFetch,\n headers,\n params = {},\n parseAs = \"json\",\n querySerializer: requestQuerySerializer,\n bodySerializer = globalBodySerializer ?? defaultBodySerializer,\n ...init\n } = fetchOptions || {};\n\n let querySerializer =\n typeof globalQuerySerializer === \"function\"\n ? globalQuerySerializer\n : createQuerySerializer(globalQuerySerializer);\n if (requestQuerySerializer) {\n querySerializer =\n typeof requestQuerySerializer === \"function\"\n ? requestQuerySerializer\n : createQuerySerializer({\n ...(typeof globalQuerySerializer === \"object\" ? globalQuerySerializer : {}),\n ...requestQuerySerializer,\n });\n }\n\n const requestInit = {\n redirect: \"follow\",\n ...baseOptions,\n ...init,\n headers: mergeHeaders(baseHeaders, headers, params.header),\n };\n if (requestInit.body) {\n requestInit.body = bodySerializer(requestInit.body);\n // remove `Content-Type` if serialized body is FormData; browser will correctly set Content-Type & boundary expression\n if (requestInit.body instanceof FormData) {\n requestInit.headers.delete(\"Content-Type\");\n }\n }\n\n let id;\n let options;\n let request = new CustomRequest(createFinalURL(schemaPath, { baseUrl, params, querySerializer }), requestInit);\n\n if (middlewares.length) {\n id = randomID();\n\n // middleware (request)\n options = Object.freeze({\n baseUrl,\n fetch,\n parseAs,\n querySerializer,\n bodySerializer,\n });\n for (const m of middlewares) {\n if (m && typeof m === \"object\" && typeof m.onRequest === \"function\") {\n const result = await m.onRequest({\n request,\n schemaPath,\n params,\n options,\n id,\n });\n if (result) {\n if (!(result instanceof Request)) {\n throw new Error(\"onRequest: must return new Request() when modifying the request\");\n }\n request = result;\n }\n }\n }\n }\n\n // fetch!\n let response = await fetch(request);\n\n // middleware (response)\n // execute in reverse-array order (first priority gets last transform)\n if (middlewares.length) {\n for (let i = middlewares.length - 1; i >= 0; i--) {\n const m = middlewares[i];\n if (m && typeof m === \"object\" && typeof m.onResponse === \"function\") {\n const result = await m.onResponse({\n request,\n response,\n schemaPath,\n params,\n options,\n id,\n });\n if (result) {\n if (!(result instanceof Response)) {\n throw new Error(\"onResponse: must return new Response() when modifying the response\");\n }\n response = result;\n }\n }\n }\n }\n\n // handle empty content\n // note: we return `{}` because we want user truthy checks for `.data` or `.error` to succeed\n if (response.status === 204 || response.headers.get(\"Content-Length\") === \"0\") {\n return response.ok ? { data: {}, response } : { error: {}, response };\n }\n\n // parse response (falling back to .text() when necessary)\n if (response.ok) {\n // if \"stream\", skip parsing entirely\n if (parseAs === \"stream\") {\n return { data: response.body, response };\n }\n return { data: await response[parseAs](), response };\n }\n\n // handle errors\n let error = await response.text();\n try {\n error = JSON.parse(error); // attempt to parse as JSON\n } catch {\n // noop\n }\n return { error, response };\n }\n\n return {\n /** Call a GET endpoint */\n GET(url, init) {\n return coreFetch(url, { ...init, method: \"GET\" });\n },\n /** Call a PUT endpoint */\n PUT(url, init) {\n return coreFetch(url, { ...init, method: \"PUT\" });\n },\n /** Call a POST endpoint */\n POST(url, init) {\n return coreFetch(url, { ...init, method: \"POST\" });\n },\n /** Call a DELETE endpoint */\n DELETE(url, init) {\n return coreFetch(url, { ...init, method: \"DELETE\" });\n },\n /** Call a OPTIONS endpoint */\n OPTIONS(url, init) {\n return coreFetch(url, { ...init, method: \"OPTIONS\" });\n },\n /** Call a HEAD endpoint */\n HEAD(url, init) {\n return coreFetch(url, { ...init, method: \"HEAD\" });\n },\n /** Call a PATCH endpoint */\n PATCH(url, init) {\n return coreFetch(url, { ...init, method: \"PATCH\" });\n },\n /** Call a TRACE endpoint */\n TRACE(url, init) {\n return coreFetch(url, { ...init, method: \"TRACE\" });\n },\n /** Register middleware */\n use(...middleware) {\n for (const m of middleware) {\n if (!m) {\n continue;\n }\n if (typeof m !== \"object\" || !(\"onRequest\" in m || \"onResponse\" in m)) {\n throw new Error(\"Middleware must be an object with one of `onRequest()` or `onResponse()`\");\n }\n middlewares.push(m);\n }\n },\n /** Unregister middleware */\n eject(...middleware) {\n for (const m of middleware) {\n const i = middlewares.indexOf(m);\n if (i !== -1) {\n middlewares.splice(i, 1);\n }\n }\n },\n };\n}\n\n// utils\n\n/**\n * Serialize primitive param values\n * @type {import(\"./index.js\").serializePrimitiveParam}\n */\nexport function serializePrimitiveParam(name, value, options) {\n if (value === undefined || value === null) {\n return \"\";\n }\n if (typeof value === \"object\") {\n throw new Error(\n \"Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.\",\n );\n }\n return `${name}=${options?.allowReserved === true ? value : encodeURIComponent(value)}`;\n}\n\n/**\n * Serialize object param (shallow only)\n * @type {import(\"./index.js\").serializeObjectParam}\n */\nexport function serializeObjectParam(name, value, options) {\n if (!value || typeof value !== \"object\") {\n return \"\";\n }\n const values = [];\n const joiner =\n {\n simple: \",\",\n label: \".\",\n matrix: \";\",\n }[options.style] || \"&\";\n\n // explode: false\n if (options.style !== \"deepObject\" && options.explode === false) {\n for (const k in value) {\n values.push(k, options.allowReserved === true ? value[k] : encodeURIComponent(value[k]));\n }\n const final = values.join(\",\"); // note: values are always joined by comma in explode: false (but joiner can prefix)\n switch (options.style) {\n case \"form\": {\n return `${name}=${final}`;\n }\n case \"label\": {\n return `.${final}`;\n }\n case \"matrix\": {\n return `;${name}=${final}`;\n }\n default: {\n return final;\n }\n }\n }\n\n // explode: true\n for (const k in value) {\n const finalName = options.style === \"deepObject\" ? `${name}[${k}]` : k;\n values.push(serializePrimitiveParam(finalName, value[k], options));\n }\n const final = values.join(joiner);\n return options.style === \"label\" || options.style === \"matrix\" ? `${joiner}${final}` : final;\n}\n\n/**\n * Serialize array param (shallow only)\n * @type {import(\"./index.js\").serializeArrayParam}\n */\nexport function serializeArrayParam(name, value, options) {\n if (!Array.isArray(value)) {\n return \"\";\n }\n\n // explode: false\n if (options.explode === false) {\n const joiner = { form: \",\", spaceDelimited: \"%20\", pipeDelimited: \"|\" }[options.style] || \",\"; // note: for arrays, joiners vary wildly based on style + explode behavior\n const final = (options.allowReserved === true ? value : value.map((v) => encodeURIComponent(v))).join(joiner);\n switch (options.style) {\n case \"simple\": {\n return final;\n }\n case \"label\": {\n return `.${final}`;\n }\n case \"matrix\": {\n return `;${name}=${final}`;\n }\n // case \"spaceDelimited\":\n // case \"pipeDelimited\":\n default: {\n return `${name}=${final}`;\n }\n }\n }\n\n // explode: true\n const joiner = { simple: \",\", label: \".\", matrix: \";\" }[options.style] || \"&\";\n const values = [];\n for (const v of value) {\n if (options.style === \"simple\" || options.style === \"label\") {\n values.push(options.allowReserved === true ? v : encodeURIComponent(v));\n } else {\n values.push(serializePrimitiveParam(name, v, options));\n }\n }\n return options.style === \"label\" || options.style === \"matrix\"\n ? `${joiner}${values.join(joiner)}`\n : values.join(joiner);\n}\n\n/**\n * Serialize query params to string\n * @type {import(\"./index.js\").createQuerySerializer}\n */\nexport function createQuerySerializer(options) {\n return function querySerializer(queryParams) {\n const search = [];\n if (queryParams && typeof queryParams === \"object\") {\n for (const name in queryParams) {\n const value = queryParams[name];\n if (value === undefined || value === null) {\n continue;\n }\n if (Array.isArray(value)) {\n search.push(\n serializeArrayParam(name, value, {\n style: \"form\",\n explode: true,\n ...options?.array,\n allowReserved: options?.allowReserved || false,\n }),\n );\n continue;\n }\n if (typeof value === \"object\") {\n search.push(\n serializeObjectParam(name, value, {\n style: \"deepObject\",\n explode: true,\n ...options?.object,\n allowReserved: options?.allowReserved || false,\n }),\n );\n continue;\n }\n search.push(serializePrimitiveParam(name, value, options));\n }\n }\n return search.join(\"&\");\n };\n}\n\n/**\n * Handle different OpenAPI 3.x serialization styles\n * @type {import(\"./index.js\").defaultPathSerializer}\n * @see https://swagger.io/docs/specification/serialization/#path\n */\nexport function defaultPathSerializer(pathname, pathParams) {\n let nextURL = pathname;\n for (const match of pathname.match(PATH_PARAM_RE) ?? []) {\n let name = match.substring(1, match.length - 1);\n let explode = false;\n let style = \"simple\";\n if (name.endsWith(\"*\")) {\n explode = true;\n name = name.substring(0, name.length - 1);\n }\n if (name.startsWith(\".\")) {\n style = \"label\";\n name = name.substring(1);\n } else if (name.startsWith(\";\")) {\n style = \"matrix\";\n name = name.substring(1);\n }\n if (!pathParams || pathParams[name] === undefined || pathParams[name] === null) {\n continue;\n }\n const value = pathParams[name];\n if (Array.isArray(value)) {\n nextURL = nextURL.replace(match, serializeArrayParam(name, value, { style, explode }));\n continue;\n }\n if (typeof value === \"object\") {\n nextURL = nextURL.replace(match, serializeObjectParam(name, value, { style, explode }));\n continue;\n }\n if (style === \"matrix\") {\n nextURL = nextURL.replace(match, `;${serializePrimitiveParam(name, value)}`);\n continue;\n }\n nextURL = nextURL.replace(match, style === \"label\" ? `.${encodeURIComponent(value)}` : encodeURIComponent(value));\n }\n return nextURL;\n}\n\n/**\n * Serialize body object to string\n * @type {import(\"./index.js\").defaultBodySerializer}\n */\nexport function defaultBodySerializer(body) {\n if (body instanceof FormData) {\n return body;\n }\n return JSON.stringify(body);\n}\n\n/**\n * Construct URL string from baseUrl and handle path and query params\n * @type {import(\"./index.js\").createFinalURL}\n */\nexport function createFinalURL(pathname, options) {\n let finalURL = `${options.baseUrl}${pathname}`;\n if (options.params?.path) {\n finalURL = defaultPathSerializer(finalURL, options.params.path);\n }\n let search = options.querySerializer(options.params.query ?? {});\n if (search.startsWith(\"?\")) {\n search = search.substring(1);\n }\n if (search) {\n finalURL += `?${search}`;\n }\n return finalURL;\n}\n\n/**\n * Merge headers a and b, with b taking priority\n * @type {import(\"./index.js\").mergeHeaders}\n */\nexport function mergeHeaders(...allHeaders) {\n const finalHeaders = new Headers();\n for (const h of allHeaders) {\n if (!h || typeof h !== \"object\") {\n continue;\n }\n const iterator = h instanceof Headers ? h.entries() : Object.entries(h);\n for (const [k, v] of iterator) {\n if (v === null) {\n finalHeaders.delete(k);\n } else if (Array.isArray(v)) {\n for (const v2 of v) {\n finalHeaders.append(k, v2);\n }\n } else if (v !== undefined) {\n finalHeaders.set(k, v);\n }\n }\n }\n return finalHeaders;\n}\n","export const BASE_PATH = \"https://api.mainnet.hiro.so\";\n","const PACKET_TYPES = Object.create(null); // no Map = no polyfill\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = Object.create(null);\nObject.keys(PACKET_TYPES).forEach((key) => {\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nexport { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET };\n","import { PACKET_TYPES } from \"./commons.js\";\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n if (withNativeBlob && data instanceof Blob) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(data, callback);\n }\n }\n else if (withNativeArrayBuffer &&\n (data instanceof ArrayBuffer || isView(data))) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(new Blob([data]), callback);\n }\n }\n // plain string\n return callback(PACKET_TYPES[type] + (data || \"\"));\n};\nconst encodeBlobAsBase64 = (data, callback) => {\n const fileReader = new FileReader();\n fileReader.onload = function () {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + (content || \"\"));\n };\n return fileReader.readAsDataURL(data);\n};\nfunction toArray(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n else if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n else {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n}\nlet TEXT_ENCODER;\nexport function encodePacketToBinary(packet, callback) {\n if (withNativeBlob && packet.data instanceof Blob) {\n return packet.data.arrayBuffer().then(toArray).then(callback);\n }\n else if (withNativeArrayBuffer &&\n (packet.data instanceof ArrayBuffer || isView(packet.data))) {\n return callback(toArray(packet.data));\n }\n encodePacket(packet, false, (encoded) => {\n if (!TEXT_ENCODER) {\n TEXT_ENCODER = new TextEncoder();\n }\n callback(TEXT_ENCODER.encode(encoded));\n });\n}\nexport { encodePacket };\n","// imported from https://github.com/socketio/base64-arraybuffer\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nexport const encode = (arraybuffer) => {\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nexport const decode = (base64) => {\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\n","import { ERROR_PACKET, PACKET_TYPES_REVERSE, } from \"./commons.js\";\nimport { decode } from \"./contrib/base64-arraybuffer.js\";\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nexport const decodePacket = (encodedPacket, binaryType) => {\n if (typeof encodedPacket !== \"string\") {\n return {\n type: \"message\",\n data: mapBinary(encodedPacket, binaryType),\n };\n }\n const type = encodedPacket.charAt(0);\n if (type === \"b\") {\n return {\n type: \"message\",\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType),\n };\n }\n const packetType = PACKET_TYPES_REVERSE[type];\n if (!packetType) {\n return ERROR_PACKET;\n }\n return encodedPacket.length > 1\n ? {\n type: PACKET_TYPES_REVERSE[type],\n data: encodedPacket.substring(1),\n }\n : {\n type: PACKET_TYPES_REVERSE[type],\n };\n};\nconst decodeBase64Packet = (data, binaryType) => {\n if (withNativeArrayBuffer) {\n const decoded = decode(data);\n return mapBinary(decoded, binaryType);\n }\n else {\n return { base64: true, data }; // fallback for old browsers\n }\n};\nconst mapBinary = (data, binaryType) => {\n switch (binaryType) {\n case \"blob\":\n if (data instanceof Blob) {\n // from WebSocket + binaryType \"blob\"\n return data;\n }\n else {\n // from HTTP long-polling or WebTransport\n return new Blob([data]);\n }\n case \"arraybuffer\":\n default:\n if (data instanceof ArrayBuffer) {\n // from HTTP long-polling (base64) or WebSocket + binaryType \"arraybuffer\"\n return data;\n }\n else {\n // from WebTransport (Uint8Array)\n return data.buffer;\n }\n }\n};\n","import { encodePacket, encodePacketToBinary } from \"./encodePacket.js\";\nimport { decodePacket } from \"./decodePacket.js\";\nimport { ERROR_PACKET, } from \"./commons.js\";\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst encodePayload = (packets, callback) => {\n // some packets may be added to the array while encoding, so the initial length must be saved\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i) => {\n // force base64 encoding for binary packets\n encodePacket(packet, false, (encodedPacket) => {\n encodedPackets[i] = encodedPacket;\n if (++count === length) {\n callback(encodedPackets.join(SEPARATOR));\n }\n });\n });\n};\nconst decodePayload = (encodedPayload, binaryType) => {\n const encodedPackets = encodedPayload.split(SEPARATOR);\n const packets = [];\n for (let i = 0; i < encodedPackets.length; i++) {\n const decodedPacket = decodePacket(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") {\n break;\n }\n }\n return packets;\n};\nexport function createPacketEncoderStream() {\n return new TransformStream({\n transform(packet, controller) {\n encodePacketToBinary(packet, (encodedPacket) => {\n const payloadLength = encodedPacket.length;\n let header;\n // inspired by the WebSocket format: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#decoding_payload_length\n if (payloadLength < 126) {\n header = new Uint8Array(1);\n new DataView(header.buffer).setUint8(0, payloadLength);\n }\n else if (payloadLength < 65536) {\n header = new Uint8Array(3);\n const view = new DataView(header.buffer);\n view.setUint8(0, 126);\n view.setUint16(1, payloadLength);\n }\n else {\n header = new Uint8Array(9);\n const view = new DataView(header.buffer);\n view.setUint8(0, 127);\n view.setBigUint64(1, BigInt(payloadLength));\n }\n // first bit indicates whether the payload is plain text (0) or binary (1)\n if (packet.data && typeof packet.data !== \"string\") {\n header[0] |= 0x80;\n }\n controller.enqueue(header);\n controller.enqueue(encodedPacket);\n });\n },\n });\n}\nlet TEXT_DECODER;\nfunction totalLength(chunks) {\n return chunks.reduce((acc, chunk) => acc + chunk.length, 0);\n}\nfunction concatChunks(chunks, size) {\n if (chunks[0].length === size) {\n return chunks.shift();\n }\n const buffer = new Uint8Array(size);\n let j = 0;\n for (let i = 0; i < size; i++) {\n buffer[i] = chunks[0][j++];\n if (j === chunks[0].length) {\n chunks.shift();\n j = 0;\n }\n }\n if (chunks.length && j < chunks[0].length) {\n chunks[0] = chunks[0].slice(j);\n }\n return buffer;\n}\nexport function createPacketDecoderStream(maxPayload, binaryType) {\n if (!TEXT_DECODER) {\n TEXT_DECODER = new TextDecoder();\n }\n const chunks = [];\n let state = 0 /* State.READ_HEADER */;\n let expectedLength = -1;\n let isBinary = false;\n return new TransformStream({\n transform(chunk, controller) {\n chunks.push(chunk);\n while (true) {\n if (state === 0 /* State.READ_HEADER */) {\n if (totalLength(chunks) < 1) {\n break;\n }\n const header = concatChunks(chunks, 1);\n isBinary = (header[0] & 0x80) === 0x80;\n expectedLength = header[0] & 0x7f;\n if (expectedLength < 126) {\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (expectedLength === 126) {\n state = 1 /* State.READ_EXTENDED_LENGTH_16 */;\n }\n else {\n state = 2 /* State.READ_EXTENDED_LENGTH_64 */;\n }\n }\n else if (state === 1 /* State.READ_EXTENDED_LENGTH_16 */) {\n if (totalLength(chunks) < 2) {\n break;\n }\n const headerArray = concatChunks(chunks, 2);\n expectedLength = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length).getUint16(0);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (state === 2 /* State.READ_EXTENDED_LENGTH_64 */) {\n if (totalLength(chunks) < 8) {\n break;\n }\n const headerArray = concatChunks(chunks, 8);\n const view = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length);\n const n = view.getUint32(0);\n if (n > Math.pow(2, 53 - 32) - 1) {\n // the maximum safe integer in JavaScript is 2^53 - 1\n controller.enqueue(ERROR_PACKET);\n break;\n }\n expectedLength = n * Math.pow(2, 32) + view.getUint32(4);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else {\n if (totalLength(chunks) < expectedLength) {\n break;\n }\n const data = concatChunks(chunks, expectedLength);\n controller.enqueue(decodePacket(isBinary ? data : TEXT_DECODER.decode(data), binaryType));\n state = 0 /* State.READ_HEADER */;\n }\n if (expectedLength === 0 || expectedLength > maxPayload) {\n controller.enqueue(ERROR_PACKET);\n break;\n }\n }\n },\n });\n}\nexport const protocol = 4;\nexport { encodePacket, encodePayload, decodePacket, decodePayload, };\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","export const globalThisShim = (() => {\n if (typeof self !== \"undefined\") {\n return self;\n }\n else if (typeof window !== \"undefined\") {\n return window;\n }\n else {\n return Function(\"return this\")();\n }\n})();\n","import { globalThisShim as globalThis } from \"./globalThis.js\";\nexport function pick(obj, ...attr) {\n return attr.reduce((acc, k) => {\n if (obj.hasOwnProperty(k)) {\n acc[k] = obj[k];\n }\n return acc;\n }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst NATIVE_SET_TIMEOUT = globalThis.setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = globalThis.clearTimeout;\nexport function installTimerFunctions(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThis);\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThis);\n }\n else {\n obj.setTimeoutFn = globalThis.setTimeout.bind(globalThis);\n obj.clearTimeoutFn = globalThis.clearTimeout.bind(globalThis);\n }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst BASE64_OVERHEAD = 1.33;\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\nexport function byteLength(obj) {\n if (typeof obj === \"string\") {\n return utf8Length(obj);\n }\n // arraybuffer or blob\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n let c = 0, length = 0;\n for (let i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n","// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */\nexport function encode(obj) {\n let str = '';\n for (let i in obj) {\n if (obj.hasOwnProperty(i)) {\n if (str.length)\n str += '&';\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\n }\n }\n return str;\n}\n/**\n * Parses a simple querystring into an object\n *\n * @param {String} qs\n * @api private\n */\nexport function decode(qs) {\n let qry = {};\n let pairs = qs.split('&');\n for (let i = 0, l = pairs.length; i < l; i++) {\n let pair = pairs[i].split('=');\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\n","import { decodePacket } from \"engine.io-parser\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions } from \"./util.js\";\nimport { encode } from \"./contrib/parseqs.js\";\nexport class TransportError extends Error {\n constructor(reason, description, context) {\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nexport class Transport extends Emitter {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} opts - options\n * @protected\n */\n constructor(opts) {\n super();\n this.writable = false;\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.socket = opts.socket;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @protected\n */\n onError(reason, description, context) {\n super.emitReserved(\"error\", new TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n */\n open() {\n this.readyState = \"opening\";\n this.doOpen();\n return this;\n }\n /**\n * Closes the transport.\n */\n close() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n */\n send(packets) {\n if (this.readyState === \"open\") {\n this.write(packets);\n }\n else {\n // this might happen if the transport was silently closed in the beforeunload event handler\n }\n }\n /**\n * Called upon open\n *\n * @protected\n */\n onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @protected\n */\n onData(data) {\n const packet = decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @protected\n */\n onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @protected\n */\n onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n /**\n * Pauses the transport, in order not to lose packets during an upgrade.\n *\n * @param onPause\n */\n pause(onPause) { }\n createUri(schema, query = {}) {\n return (schema +\n \"://\" +\n this._hostname() +\n this._port() +\n this.opts.path +\n this._query(query));\n }\n _hostname() {\n const hostname = this.opts.hostname;\n return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n }\n _port() {\n if (this.opts.port &&\n ((this.opts.secure && Number(this.opts.port !== 443)) ||\n (!this.opts.secure && Number(this.opts.port) !== 80))) {\n return \":\" + this.opts.port;\n }\n else {\n return \"\";\n }\n }\n _query(query) {\n const encodedQuery = encode(query);\n return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n }\n}\n","// imported from https://github.com/unshiftio/yeast\n'use strict';\nconst alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''), length = 64, map = {};\nlet seed = 0, i = 0, prev;\n/**\n * Return a string representing the specified number.\n *\n * @param {Number} num The number to convert.\n * @returns {String} The string representation of the number.\n * @api public\n */\nexport function encode(num) {\n let encoded = '';\n do {\n encoded = alphabet[num % length] + encoded;\n num = Math.floor(num / length);\n } while (num > 0);\n return encoded;\n}\n/**\n * Return the integer value specified by the given string.\n *\n * @param {String} str The string to convert.\n * @returns {Number} The integer value represented by the string.\n * @api public\n */\nexport function decode(str) {\n let decoded = 0;\n for (i = 0; i < str.length; i++) {\n decoded = decoded * length + map[str.charAt(i)];\n }\n return decoded;\n}\n/**\n * Yeast: A tiny growing id generator.\n *\n * @returns {String} A unique id.\n * @api public\n */\nexport function yeast() {\n const now = encode(+new Date());\n if (now !== prev)\n return seed = 0, prev = now;\n return now + '.' + encode(seed++);\n}\n//\n// Map each character to its index.\n//\nfor (; i < length; i++)\n map[alphabet[i]] = i;\n","// imported from https://github.com/component/has-cors\nlet value = false;\ntry {\n value = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n}\ncatch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n}\nexport const hasCORS = value;\n","// browser shim for xmlhttprequest module\nimport { hasCORS } from \"../contrib/has-cors.js\";\nimport { globalThisShim as globalThis } from \"../globalThis.js\";\nexport function XHR(opts) {\n const xdomain = opts.xdomain;\n // XMLHttpRequest can be disabled on IE\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n }\n catch (e) { }\n if (!xdomain) {\n try {\n return new globalThis[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n }\n catch (e) { }\n }\n}\nexport function createCookieJar() { }\n","import { Transport } from \"../transport.js\";\nimport { yeast } from \"../contrib/yeast.js\";\nimport { encodePayload, decodePayload } from \"engine.io-parser\";\nimport { createCookieJar, XHR as XMLHttpRequest, } from \"./xmlhttprequest.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions, pick } from \"../util.js\";\nimport { globalThisShim as globalThis } from \"../globalThis.js\";\nfunction empty() { }\nconst hasXHR2 = (function () {\n const xhr = new XMLHttpRequest({\n xdomain: false,\n });\n return null != xhr.responseType;\n})();\nexport class Polling extends Transport {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @package\n */\n constructor(opts) {\n super(opts);\n this.polling = false;\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? \"443\" : \"80\";\n }\n this.xd =\n (typeof location !== \"undefined\" &&\n opts.hostname !== location.hostname) ||\n port !== opts.port;\n }\n /**\n * XHR supports binary\n */\n const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = hasXHR2 && !forceBase64;\n if (this.opts.withCredentials) {\n this.cookieJar = createCookieJar();\n }\n }\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @protected\n */\n doOpen() {\n this.poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n * @package\n */\n pause(onPause) {\n this.readyState = \"pausing\";\n const pause = () => {\n this.readyState = \"paused\";\n onPause();\n };\n if (this.polling || !this.writable) {\n let total = 0;\n if (this.polling) {\n total++;\n this.once(\"pollComplete\", function () {\n --total || pause();\n });\n }\n if (!this.writable) {\n total++;\n this.once(\"drain\", function () {\n --total || pause();\n });\n }\n }\n else {\n pause();\n }\n }\n /**\n * Starts polling cycle.\n *\n * @private\n */\n poll() {\n this.polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @protected\n */\n onData(data) {\n const callback = (packet) => {\n // if its the first message we consider the transport open\n if (\"opening\" === this.readyState && packet.type === \"open\") {\n this.onOpen();\n }\n // if its a close packet, we close the ongoing requests\n if (\"close\" === packet.type) {\n this.onClose({ description: \"transport closed by the server\" });\n return false;\n }\n // otherwise bypass onData and handle the message\n this.onPacket(packet);\n };\n // decode payload\n decodePayload(data, this.socket.binaryType).forEach(callback);\n // if an event did not trigger closing\n if (\"closed\" !== this.readyState) {\n // if we got data we're not polling\n this.polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) {\n this.poll();\n }\n else {\n }\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @protected\n */\n doClose() {\n const close = () => {\n this.write([{ type: \"close\" }]);\n };\n if (\"open\" === this.readyState) {\n close();\n }\n else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n this.once(\"open\", close);\n }\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} packets - data packets\n * @protected\n */\n write(packets) {\n this.writable = false;\n encodePayload(packets, (data) => {\n this.doWrite(data, () => {\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"https\" : \"http\";\n const query = this.query || {};\n // cache busting is forced\n if (false !== this.opts.timestampRequests) {\n query[this.opts.timestampParam] = yeast();\n }\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n /**\n * Creates a request.\n *\n * @param {String} method\n * @private\n */\n request(opts = {}) {\n Object.assign(opts, { xd: this.xd, cookieJar: this.cookieJar }, this.opts);\n return new Request(this.uri(), opts);\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @private\n */\n doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data: data,\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @private\n */\n doPoll() {\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nexport class Request extends Emitter {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @package\n */\n constructor(uri, opts) {\n super();\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.method = opts.method || \"GET\";\n this.uri = uri;\n this.data = undefined !== opts.data ? opts.data : null;\n this.create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @private\n */\n create() {\n var _a;\n const opts = pick(this.opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this.opts.xd;\n const xhr = (this.xhr = new XMLHttpRequest(opts));\n try {\n xhr.open(this.method, this.uri, true);\n try {\n if (this.opts.extraHeaders) {\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (let i in this.opts.extraHeaders) {\n if (this.opts.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this.opts.extraHeaders[i]);\n }\n }\n }\n }\n catch (e) { }\n if (\"POST\" === this.method) {\n try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n }\n catch (e) { }\n }\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n }\n catch (e) { }\n (_a = this.opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);\n // ie6 check\n if (\"withCredentials\" in xhr) {\n xhr.withCredentials = this.opts.withCredentials;\n }\n if (this.opts.requestTimeout) {\n xhr.timeout = this.opts.requestTimeout;\n }\n xhr.onreadystatechange = () => {\n var _a;\n if (xhr.readyState === 3) {\n (_a = this.opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(xhr);\n }\n if (4 !== xhr.readyState)\n return;\n if (200 === xhr.status || 1223 === xhr.status) {\n this.onLoad();\n }\n else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n this.setTimeoutFn(() => {\n this.onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n }\n };\n xhr.send(this.data);\n }\n catch (e) {\n // Need to defer since .create() is called directly from the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n this.setTimeoutFn(() => {\n this.onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this.index = Request.requestsCount++;\n Request.requests[this.index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @private\n */\n onError(err) {\n this.emitReserved(\"error\", err, this.xhr);\n this.cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @private\n */\n cleanup(fromError) {\n if (\"undefined\" === typeof this.xhr || null === this.xhr) {\n return;\n }\n this.xhr.onreadystatechange = empty;\n if (fromError) {\n try {\n this.xhr.abort();\n }\n catch (e) { }\n }\n if (typeof document !== \"undefined\") {\n delete Request.requests[this.index];\n }\n this.xhr = null;\n }\n /**\n * Called upon load.\n *\n * @private\n */\n onLoad() {\n const data = this.xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this.cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @package\n */\n abort() {\n this.cleanup();\n }\n}\nRequest.requestsCount = 0;\nRequest.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\nif (typeof document !== \"undefined\") {\n // @ts-ignore\n if (typeof attachEvent === \"function\") {\n // @ts-ignore\n attachEvent(\"onunload\", unloadHandler);\n }\n else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in globalThis ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\nfunction unloadHandler() {\n for (let i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\n","import { globalThisShim as globalThis } from \"../globalThis.js\";\nexport const nextTick = (() => {\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) {\n return (cb) => Promise.resolve().then(cb);\n }\n else {\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n }\n})();\nexport const WebSocket = globalThis.WebSocket || globalThis.MozWebSocket;\nexport const usingBrowserWebSocket = true;\nexport const defaultBinaryType = \"arraybuffer\";\n","import { Transport } from \"../transport.js\";\nimport { yeast } from \"../contrib/yeast.js\";\nimport { pick } from \"../util.js\";\nimport { nextTick, usingBrowserWebSocket, WebSocket, } from \"./websocket-constructor.js\";\nimport { encodePacket } from \"engine.io-parser\";\n// detect ReactNative environment\nconst isReactNative = typeof navigator !== \"undefined\" &&\n typeof navigator.product === \"string\" &&\n navigator.product.toLowerCase() === \"reactnative\";\nexport class WS extends Transport {\n /**\n * WebSocket transport constructor.\n *\n * @param {Object} opts - connection options\n * @protected\n */\n constructor(opts) {\n super(opts);\n this.supportsBinary = !opts.forceBase64;\n }\n get name() {\n return \"websocket\";\n }\n doOpen() {\n if (!this.check()) {\n // let probe timeout\n return;\n }\n const uri = this.uri();\n const protocols = this.opts.protocols;\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n const opts = isReactNative\n ? {}\n : pick(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) {\n opts.headers = this.opts.extraHeaders;\n }\n try {\n this.ws =\n usingBrowserWebSocket && !isReactNative\n ? protocols\n ? new WebSocket(uri, protocols)\n : new WebSocket(uri)\n : new WebSocket(uri, protocols, opts);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this.ws.binaryType = this.socket.binaryType;\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @private\n */\n addEventListeners() {\n this.ws.onopen = () => {\n if (this.opts.autoUnref) {\n this.ws._socket.unref();\n }\n this.onOpen();\n };\n this.ws.onclose = (closeEvent) => this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent,\n });\n this.ws.onmessage = (ev) => this.onData(ev.data);\n this.ws.onerror = (e) => this.onError(\"websocket error\", e);\n }\n write(packets) {\n this.writable = false;\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n encodePacket(packet, this.supportsBinary, (data) => {\n // always create a new object (GH-437)\n const opts = {};\n if (!usingBrowserWebSocket) {\n if (packet.options) {\n opts.compress = packet.options.compress;\n }\n if (this.opts.perMessageDeflate) {\n const len = \n // @ts-ignore\n \"string\" === typeof data ? Buffer.byteLength(data) : data.length;\n if (len < this.opts.perMessageDeflate.threshold) {\n opts.compress = false;\n }\n }\n }\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n if (usingBrowserWebSocket) {\n // TypeError is thrown when passing the second argument on Safari\n this.ws.send(data);\n }\n else {\n this.ws.send(data, opts);\n }\n }\n catch (e) {\n }\n if (lastPacket) {\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n const query = this.query || {};\n // append timestamp to URI\n if (this.opts.timestampRequests) {\n query[this.opts.timestampParam] = yeast();\n }\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n /**\n * Feature detection for WebSocket.\n *\n * @return {Boolean} whether this transport is available.\n * @private\n */\n check() {\n return !!WebSocket;\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { nextTick } from \"./websocket-constructor.js\";\nimport { createPacketDecoderStream, createPacketEncoderStream, } from \"engine.io-parser\";\nexport class WT extends Transport {\n get name() {\n return \"webtransport\";\n }\n doOpen() {\n // @ts-ignore\n if (typeof WebTransport !== \"function\") {\n return;\n }\n // @ts-ignore\n this.transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n this.transport.closed\n .then(() => {\n this.onClose();\n })\n .catch((err) => {\n this.onError(\"webtransport error\", err);\n });\n // note: we could have used async/await, but that would require some additional polyfills\n this.transport.ready.then(() => {\n this.transport.createBidirectionalStream().then((stream) => {\n const decoderStream = createPacketDecoderStream(Number.MAX_SAFE_INTEGER, this.socket.binaryType);\n const reader = stream.readable.pipeThrough(decoderStream).getReader();\n const encoderStream = createPacketEncoderStream();\n encoderStream.readable.pipeTo(stream.writable);\n this.writer = encoderStream.writable.getWriter();\n const read = () => {\n reader\n .read()\n .then(({ done, value }) => {\n if (done) {\n return;\n }\n this.onPacket(value);\n read();\n })\n .catch((err) => {\n });\n };\n read();\n const packet = { type: \"open\" };\n if (this.query.sid) {\n packet.data = `{\"sid\":\"${this.query.sid}\"}`;\n }\n this.writer.write(packet).then(() => this.onOpen());\n });\n });\n }\n write(packets) {\n this.writable = false;\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n this.writer.write(packet).then(() => {\n if (lastPacket) {\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n var _a;\n (_a = this.transport) === null || _a === void 0 ? void 0 : _a.close();\n }\n}\n","import { Polling } from \"./polling.js\";\nimport { WS } from \"./websocket.js\";\nimport { WT } from \"./webtransport.js\";\nexport const transports = {\n websocket: WS,\n webtransport: WT,\n polling: Polling,\n};\n","// imported from https://github.com/galkn/parseuri\n/**\n * Parses a URI\n *\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\n *\n * See:\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\n * - https://caniuse.com/url\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\n *\n * History of the parse() method:\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\n *\n * @author Steven Levithan <stevenlevithan.com> (MIT license)\n * @api private\n */\nconst re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\n];\nexport function parse(str) {\n if (str.length > 2000) {\n throw \"URI too long\";\n }\n const src = str, b = str.indexOf('['), e = str.indexOf(']');\n if (b != -1 && e != -1) {\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\n }\n let m = re.exec(str || ''), uri = {}, i = 14;\n while (i--) {\n uri[parts[i]] = m[i] || '';\n }\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\n uri.ipv6uri = true;\n }\n uri.pathNames = pathNames(uri, uri['path']);\n uri.queryKey = queryKey(uri, uri['query']);\n return uri;\n}\nfunction pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == '/' || path.length === 0) {\n names.splice(0, 1);\n }\n if (path.slice(-1) == '/') {\n names.splice(names.length - 1, 1);\n }\n return names;\n}\nfunction queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\n if ($1) {\n data[$1] = $2;\n }\n });\n return data;\n}\n","import { transports } from \"./transports/index.js\";\nimport { installTimerFunctions, byteLength } from \"./util.js\";\nimport { decode } from \"./contrib/parseqs.js\";\nimport { parse } from \"./contrib/parseuri.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { protocol } from \"engine.io-parser\";\nimport { defaultBinaryType } from \"./transports/websocket-constructor.js\";\nexport class Socket extends Emitter {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri - uri or options\n * @param {Object} opts - options\n */\n constructor(uri, opts = {}) {\n super();\n this.binaryType = defaultBinaryType;\n this.writeBuffer = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n uri = parse(uri);\n opts.hostname = uri.host;\n opts.secure = uri.protocol === \"https\" || uri.protocol === \"wss\";\n opts.port = uri.port;\n if (uri.query)\n opts.query = uri.query;\n }\n else if (opts.host) {\n opts.hostname = parse(opts.host).host;\n }\n installTimerFunctions(this, opts);\n this.secure =\n null != opts.secure\n ? opts.secure\n : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? \"443\" : \"80\";\n }\n this.hostname =\n opts.hostname ||\n (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port =\n opts.port ||\n (typeof location !== \"undefined\" && location.port\n ? location.port\n : this.secure\n ? \"443\"\n : \"80\");\n this.transports = opts.transports || [\n \"polling\",\n \"websocket\",\n \"webtransport\",\n ];\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n addTrailingSlash: true,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024,\n },\n transportOptions: {},\n closeOnBeforeunload: false,\n }, opts);\n this.opts.path =\n this.opts.path.replace(/\\/$/, \"\") +\n (this.opts.addTrailingSlash ? \"/\" : \"\");\n if (typeof this.opts.query === \"string\") {\n this.opts.query = decode(this.opts.query);\n }\n // set on handshake\n this.id = null;\n this.upgrades = null;\n this.pingInterval = null;\n this.pingTimeout = null;\n // set on heartbeat\n this.pingTimeoutTimer = null;\n if (typeof addEventListener === \"function\") {\n if (this.opts.closeOnBeforeunload) {\n // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n // closed/reloaded)\n this.beforeunloadEventListener = () => {\n if (this.transport) {\n // silently close the transport\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n this.offlineEventListener = () => {\n this.onClose(\"transport close\", {\n description: \"network connection lost\",\n });\n };\n addEventListener(\"offline\", this.offlineEventListener, false);\n }\n }\n this.open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} name - transport name\n * @return {Transport}\n * @private\n */\n createTransport(name) {\n const query = Object.assign({}, this.opts.query);\n // append engine.io protocol identifier\n query.EIO = protocol;\n // transport name\n query.transport = name;\n // session id if we already have one\n if (this.id)\n query.sid = this.id;\n const opts = Object.assign({}, this.opts, {\n query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port,\n }, this.opts.transportOptions[name]);\n return new transports[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @private\n */\n open() {\n let transport;\n if (this.opts.rememberUpgrade &&\n Socket.priorWebsocketSuccess &&\n this.transports.indexOf(\"websocket\") !== -1) {\n transport = \"websocket\";\n }\n else if (0 === this.transports.length) {\n // Emit error on next tick so it can be listened to\n this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n }\n else {\n transport = this.transports[0];\n }\n this.readyState = \"opening\";\n // Retry with the next transport if the transport is disabled (jsonp: false)\n try {\n transport = this.createTransport(transport);\n }\n catch (e) {\n this.transports.shift();\n this.open();\n return;\n }\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @private\n */\n setTransport(transport) {\n if (this.transport) {\n this.transport.removeAllListeners();\n }\n // set up transport\n this.transport = transport;\n // set up transport listeners\n transport\n .on(\"drain\", this.onDrain.bind(this))\n .on(\"packet\", this.onPacket.bind(this))\n .on(\"error\", this.onError.bind(this))\n .on(\"close\", (reason) => this.onClose(\"transport close\", reason));\n }\n /**\n * Probes a transport.\n *\n * @param {String} name - transport name\n * @private\n */\n probe(name) {\n let transport = this.createTransport(name);\n let failed = false;\n Socket.priorWebsocketSuccess = false;\n const onTransportOpen = () => {\n if (failed)\n return;\n transport.send([{ type: \"ping\", data: \"probe\" }]);\n transport.once(\"packet\", (msg) => {\n if (failed)\n return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport)\n return;\n Socket.priorWebsocketSuccess = \"websocket\" === transport.name;\n this.transport.pause(() => {\n if (failed)\n return;\n if (\"closed\" === this.readyState)\n return;\n cleanup();\n this.setTransport(transport);\n transport.send([{ type: \"upgrade\" }]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n }\n else {\n const err = new Error(\"probe error\");\n // @ts-ignore\n err.transport = transport.name;\n this.emitReserved(\"upgradeError\", err);\n }\n });\n };\n function freezeTransport() {\n if (failed)\n return;\n // Any callback called by transport should be ignored since now\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n // Handle any error that happens while probing\n const onerror = (err) => {\n const error = new Error(\"probe error: \" + err);\n // @ts-ignore\n error.transport = transport.name;\n freezeTransport();\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n // When the socket is closed while we're probing\n function onclose() {\n onerror(\"socket closed\");\n }\n // When the socket is upgraded while we're probing\n function onupgrade(to) {\n if (transport && to.name !== transport.name) {\n freezeTransport();\n }\n }\n // Remove all listeners on the transport and on self\n const cleanup = () => {\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n if (this.upgrades.indexOf(\"webtransport\") !== -1 &&\n name !== \"webtransport\") {\n // favor WebTransport\n this.setTimeoutFn(() => {\n if (!failed) {\n transport.open();\n }\n }, 200);\n }\n else {\n transport.open();\n }\n }\n /**\n * Called when connection is deemed open.\n *\n * @private\n */\n onOpen() {\n this.readyState = \"open\";\n Socket.priorWebsocketSuccess = \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n // we check for `readyState` in case an `open`\n // listener already closed the socket\n if (\"open\" === this.readyState && this.opts.upgrade) {\n let i = 0;\n const l = this.upgrades.length;\n for (; i < l; i++) {\n this.probe(this.upgrades[i]);\n }\n }\n }\n /**\n * Handles a packet.\n *\n * @private\n */\n onPacket(packet) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n this.emitReserved(\"packet\", packet);\n // Socket is live - any packet counts\n this.emitReserved(\"heartbeat\");\n this.resetPingTimeout();\n switch (packet.type) {\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this.sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n break;\n case \"error\":\n const err = new Error(\"server error\");\n // @ts-ignore\n err.code = packet.data;\n this.onError(err);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n else {\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @private\n */\n onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this.upgrades = this.filterUpgrades(data.upgrades);\n this.pingInterval = data.pingInterval;\n this.pingTimeout = data.pingTimeout;\n this.maxPayload = data.maxPayload;\n this.onOpen();\n // In case open handler closes socket\n if (\"closed\" === this.readyState)\n return;\n this.resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @private\n */\n resetPingTimeout() {\n this.clearTimeoutFn(this.pingTimeoutTimer);\n this.pingTimeoutTimer = this.setTimeoutFn(() => {\n this.onClose(\"ping timeout\");\n }, this.pingInterval + this.pingTimeout);\n if (this.opts.autoUnref) {\n this.pingTimeoutTimer.unref();\n }\n }\n /**\n * Called on `drain` event\n *\n * @private\n */\n onDrain() {\n this.writeBuffer.splice(0, this.prevBufferLen);\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this.prevBufferLen = 0;\n if (0 === this.writeBuffer.length) {\n this.emitReserved(\"drain\");\n }\n else {\n this.flush();\n }\n }\n /**\n * Flush write buffers.\n *\n * @private\n */\n flush() {\n if (\"closed\" !== this.readyState &&\n this.transport.writable &&\n !this.upgrading &&\n this.writeBuffer.length) {\n const packets = this.getWritablePackets();\n this.transport.send(packets);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this.prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */\n getWritablePackets() {\n const shouldCheckPayloadSize = this.maxPayload &&\n this.transport.name === \"polling\" &&\n this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) {\n return this.writeBuffer;\n }\n let payloadSize = 1; // first packet type\n for (let i = 0; i < this.writeBuffer.length; i++) {\n const data = this.writeBuffer[i].data;\n if (data) {\n payloadSize += byteLength(data);\n }\n if (i > 0 && payloadSize > this.maxPayload) {\n return this.writeBuffer.slice(0, i);\n }\n payloadSize += 2; // separator + packet type\n }\n return this.writeBuffer;\n }\n /**\n * Sends a message.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} callback function.\n * @return {Socket} for chaining.\n */\n write(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n send(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} type: packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @private\n */\n sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = undefined;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n return;\n }\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type: type,\n data: data,\n options: options,\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn)\n this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n */\n close() {\n const close = () => {\n this.onClose(\"forced close\");\n this.transport.close();\n };\n const cleanupAndClose = () => {\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = () => {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) {\n this.once(\"drain\", () => {\n if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n });\n }\n else if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @private\n */\n onError(err) {\n Socket.priorWebsocketSuccess = false;\n this.emitReserved(\"error\", err);\n this.onClose(\"transport error\", err);\n }\n /**\n * Called upon transport close.\n *\n * @private\n */\n onClose(reason, description) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n // clear timers\n this.clearTimeoutFn(this.pingTimeoutTimer);\n // stop event from firing again for transport\n this.transport.removeAllListeners(\"close\");\n // ensure transport won't stay open\n this.transport.close();\n // ignore further transport communication\n this.transport.removeAllListeners();\n if (typeof removeEventListener === \"function\") {\n removeEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n removeEventListener(\"offline\", this.offlineEventListener, false);\n }\n // set ready state\n this.readyState = \"closed\";\n // clear session id\n this.id = null;\n // emit close event\n this.emitReserved(\"close\", reason, description);\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n }\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} upgrades - server upgrades\n * @private\n */\n filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n let i = 0;\n const j = upgrades.length;\n for (; i < j; i++) {\n if (~this.transports.indexOf(upgrades[i]))\n filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n }\n}\nSocket.protocol = protocol;\n","import { parse } from \"engine.io-client\";\n/**\n * URL parser.\n *\n * @param uri - url\n * @param path - the request path of the connection\n * @param loc - An object meant to mimic window.location.\n * Defaults to window.location.\n * @public\n */\nexport function url(uri, path = \"\", loc) {\n let obj = uri;\n // default to window.location\n loc = loc || (typeof location !== \"undefined\" && location);\n if (null == uri)\n uri = loc.protocol + \"//\" + loc.host;\n // relative path support\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) {\n uri = loc.protocol + uri;\n }\n else {\n uri = loc.host + uri;\n }\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n if (\"undefined\" !== typeof loc) {\n uri = loc.protocol + \"//\" + uri;\n }\n else {\n uri = \"https://\" + uri;\n }\n }\n // parse\n obj = parse(uri);\n }\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = \"80\";\n }\n else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = \"443\";\n }\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n // define unique id\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n // define href\n obj.href =\n obj.protocol +\n \"://\" +\n host +\n (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id,\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if (isBinary(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n","export function on(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\n","import { PacketType } from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */\nconst RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1,\n});\n/**\n * A Socket is the fundamental class for interacting with the server.\n *\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(\"connected\");\n * });\n *\n * // send an event to the server\n * socket.emit(\"foo\", \"bar\");\n *\n * socket.on(\"foobar\", () => {\n * // an event was received from the server\n * });\n *\n * // upon disconnection\n * socket.on(\"disconnect\", (reason) => {\n * console.log(`disconnected due to ${reason}`);\n * });\n */\nexport class Socket extends Emitter {\n /**\n * `Socket` constructor.\n */\n constructor(io, nsp, opts) {\n super();\n /**\n * Whether the socket is currently connected to the server.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.connected); // true\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.connected); // false\n * });\n */\n this.connected = false;\n /**\n * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\n * be transmitted by the server.\n */\n this.recovered = false;\n /**\n * Buffer for packets received before the CONNECT packet\n */\n this.receiveBuffer = [];\n /**\n * Buffer for packets that will be sent once the socket is connected\n */\n this.sendBuffer = [];\n /**\n * The queue of packets to be sent with retry in case of failure.\n *\n * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\n * @private\n */\n this._queue = [];\n /**\n * A sequence to generate the ID of the {@link QueuedPacket}.\n * @private\n */\n this._queueSeq = 0;\n this.ids = 0;\n /**\n * A map containing acknowledgement handlers.\n *\n * The `withError` attribute is used to differentiate handlers that accept an error as first argument:\n *\n * - `socket.emit(\"test\", (err, value) => { ... })` with `ackTimeout` option\n * - `socket.timeout(5000).emit(\"test\", (err, value) => { ... })`\n * - `const value = await socket.emitWithAck(\"test\")`\n *\n * From those that don't:\n *\n * - `socket.emit(\"test\", (value) => { ... });`\n *\n * In the first case, the handlers will be called with an error when:\n *\n * - the timeout is reached\n * - the socket gets disconnected\n *\n * In the second case, the handlers will be simply discarded upon disconnection, since the client will never receive\n * an acknowledgement from the server.\n *\n * @private\n */\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) {\n this.auth = opts.auth;\n }\n this._opts = Object.assign({}, opts);\n if (this.io._autoConnect)\n this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */\n get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */\n subEvents() {\n if (this.subs)\n return;\n const io = this.io;\n this.subs = [\n on(io, \"open\", this.onopen.bind(this)),\n on(io, \"packet\", this.onpacket.bind(this)),\n on(io, \"error\", this.onerror.bind(this)),\n on(io, \"close\", this.onclose.bind(this)),\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */\n get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */\n connect() {\n if (this.connected)\n return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"])\n this.io.open(); // ensure open\n if (\"open\" === this.io._readyState)\n this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */\n open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */\n send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */\n emit(ev, ...args) {\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n }\n args.unshift(ev);\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n this._addToQueue(args);\n return this;\n }\n const packet = {\n type: PacketType.EVENT,\n data: args,\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n // event ack callback\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = this.io.engine &&\n this.io.engine.transport &&\n this.io.engine.transport.writable;\n const discardPacket = this.flags.volatile && (!isTransportWritable || !this.connected);\n if (discardPacket) {\n }\n else if (this.connected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n }\n else {\n this.sendBuffer.push(packet);\n }\n this.flags = {};\n return this;\n }\n /**\n * @private\n */\n _registerAckCallback(id, ack) {\n var _a;\n const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\n if (timeout === undefined) {\n this.acks[id] = ack;\n return;\n }\n // @ts-ignore\n const timer = this.io.setTimeoutFn(() => {\n delete this.acks[id];\n for (let i = 0; i < this.sendBuffer.length; i++) {\n if (this.sendBuffer[i].id === id) {\n this.sendBuffer.splice(i, 1);\n }\n }\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n const fn = (...args) => {\n // @ts-ignore\n this.io.clearTimeoutFn(timer);\n ack.apply(this, args);\n };\n fn.withError = true;\n this.acks[id] = fn;\n }\n /**\n * Emits an event and waits for an acknowledgement\n *\n * @example\n * // without timeout\n * const response = await socket.emitWithAck(\"hello\", \"world\");\n *\n * // with a specific timeout\n * try {\n * const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n * } catch (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n *\n * @return a Promise that will be fulfilled when the server acknowledges the event\n */\n emitWithAck(ev, ...args) {\n return new Promise((resolve, reject) => {\n const fn = (arg1, arg2) => {\n return arg1 ? reject(arg1) : resolve(arg2);\n };\n fn.withError = true;\n args.push(fn);\n this.emit(ev, ...args);\n });\n }\n /**\n * Add the packet to the queue.\n * @param args\n * @private\n */\n _addToQueue(args) {\n let ack;\n if (typeof args[args.length - 1] === \"function\") {\n ack = args.pop();\n }\n const packet = {\n id: this._queueSeq++,\n tryCount: 0,\n pending: false,\n args,\n flags: Object.assign({ fromQueue: true }, this.flags),\n };\n args.push((err, ...responseArgs) => {\n if (packet !== this._queue[0]) {\n // the packet has already been acknowledged\n return;\n }\n const hasError = err !== null;\n if (hasError) {\n if (packet.tryCount > this._opts.retries) {\n this._queue.shift();\n if (ack) {\n ack(err);\n }\n }\n }\n else {\n this._queue.shift();\n if (ack) {\n ack(null, ...responseArgs);\n }\n }\n packet.pending = false;\n return this._drainQueue();\n });\n this._queue.push(packet);\n this._drainQueue();\n }\n /**\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\n * @param force - whether to resend a packet that has not been acknowledged yet\n *\n * @private\n */\n _drainQueue(force = false) {\n if (!this.connected || this._queue.length === 0) {\n return;\n }\n const packet = this._queue[0];\n if (packet.pending && !force) {\n return;\n }\n packet.pending = true;\n packet.tryCount++;\n this.flags = packet.flags;\n this.emit.apply(this, packet.args);\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */\n packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */\n onopen() {\n if (typeof this.auth == \"function\") {\n this.auth((data) => {\n this._sendConnectPacket(data);\n });\n }\n else {\n this._sendConnectPacket(this.auth);\n }\n }\n /**\n * Sends a CONNECT packet to initiate the Socket.IO session.\n *\n * @param data\n * @private\n */\n _sendConnectPacket(data) {\n this.packet({\n type: PacketType.CONNECT,\n data: this._pid\n ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data)\n : data,\n });\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */\n onerror(err) {\n if (!this.connected) {\n this.emitReserved(\"connect_error\", err);\n }\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */\n onclose(reason, description) {\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n this._clearAcks();\n }\n /**\n * Clears the acknowledgement handlers upon disconnection, since the client will never receive an acknowledgement from\n * the server.\n *\n * @private\n */\n _clearAcks() {\n Object.keys(this.acks).forEach((id) => {\n const isBuffered = this.sendBuffer.some((packet) => String(packet.id) === id);\n if (!isBuffered) {\n // note: handlers that do not accept an error as first argument are ignored here\n const ack = this.acks[id];\n delete this.acks[id];\n if (ack.withError) {\n ack.call(this, new Error(\"socket has been disconnected\"));\n }\n }\n });\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */\n onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace)\n return;\n switch (packet.type) {\n case PacketType.CONNECT:\n if (packet.data && packet.data.sid) {\n this.onconnect(packet.data.sid, packet.data.pid);\n }\n else {\n this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n }\n break;\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n this.onevent(packet);\n break;\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n this.onack(packet);\n break;\n case PacketType.DISCONNECT:\n this.ondisconnect();\n break;\n case PacketType.CONNECT_ERROR:\n this.destroy();\n const err = new Error(packet.data.message);\n // @ts-ignore\n err.data = packet.data.data;\n this.emitReserved(\"connect_error\", err);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */\n onevent(packet) {\n const args = packet.data || [];\n if (null != packet.id) {\n args.push(this.ack(packet.id));\n }\n if (this.connected) {\n this.emitEvent(args);\n }\n else {\n this.receiveBuffer.push(Object.freeze(args));\n }\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, args);\n }\n }\n super.emit.apply(this, args);\n if (this._pid && args.length && typeof args[args.length - 1] === \"string\") {\n this._lastOffset = args[args.length - 1];\n }\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */\n ack(id) {\n const self = this;\n let sent = false;\n return function (...args) {\n // prevent double callbacks\n if (sent)\n return;\n sent = true;\n self.packet({\n type: PacketType.ACK,\n id: id,\n data: args,\n });\n };\n }\n /**\n * Called upon a server acknowledgement.\n *\n * @param packet\n * @private\n */\n onack(packet) {\n const ack = this.acks[packet.id];\n if (typeof ack !== \"function\") {\n return;\n }\n delete this.acks[packet.id];\n // @ts-ignore FIXME ack is incorrectly inferred as 'never'\n if (ack.withError) {\n packet.data.unshift(null);\n }\n // @ts-ignore\n ack.apply(this, packet.data);\n }\n /**\n * Called upon server connect.\n *\n * @private\n */\n onconnect(id, pid) {\n this.id = id;\n this.recovered = pid && this._pid === pid;\n this._pid = pid; // defined only if connection state recovery is enabled\n this.connected = true;\n this.emitBuffered();\n this.emitReserved(\"connect\");\n this._drainQueue(true);\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */\n emitBuffered() {\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet) => {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */\n ondisconnect() {\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */\n destroy() {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs = undefined;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */\n disconnect() {\n if (this.connected) {\n this.packet({ type: PacketType.DISCONNECT });\n }\n // remove socket from pool\n this.destroy();\n if (this.connected) {\n // fire events\n this.onclose(\"io client disconnect\");\n }\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */\n close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */\n compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */\n get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */\n timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */\n onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */\n prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */\n offAny(listener) {\n if (!this._anyListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */\n offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyOutgoingListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */\n notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, packet.data);\n }\n }\n }\n}\n","/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\nexport function Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\nBackoff.prototype.duration = function () {\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\nBackoff.prototype.reset = function () {\n this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */\nBackoff.prototype.setMin = function (min) {\n this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */\nBackoff.prototype.setMax = function (max) {\n this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */\nBackoff.prototype.setJitter = function (jitter) {\n this.jitter = jitter;\n};\n","import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Engine(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = on(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n const onError = (err) => {\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n }\n };\n // emit `error`\n const errorSub = on(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n // set timer\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n if (this.engine)\n this.engine.close();\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called upon engine close.\n *\n * @private\n */\n onclose(reason, description) {\n this.cleanup();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n","import { url } from \"./url.js\";\nimport { Manager } from \"./manager.js\";\nimport { Socket } from \"./socket.js\";\n/**\n * Managers cache.\n */\nconst cache = {};\nfunction lookup(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n const parsed = url(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n const newConnection = opts.forceNew ||\n opts[\"force new connection\"] ||\n false === opts.multiplex ||\n sameNamespace;\n let io;\n if (newConnection) {\n io = new Manager(source, opts);\n }\n else {\n if (!cache[id]) {\n cache[id] = new Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.queryKey;\n }\n return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign(lookup, {\n Manager,\n Socket,\n io: lookup,\n connect: lookup,\n});\n/**\n * Protocol version.\n *\n * @public\n */\nexport { protocol } from \"socket.io-parser\";\n/**\n * Expose constructors for standalone build.\n *\n * @public\n */\nexport { Manager, Socket, lookup as io, lookup as connect, lookup as default, };\n","import { io, Socket } from 'socket.io-client';\nimport type { ManagerOptions, SocketOptions } from 'socket.io-client';\nimport type { \n AddressStxBalanceResponse,\n AddressTransactionWithTransfers,\n Block,\n ClientToServerMessages,\n MempoolTransaction,\n Microblock,\n NftEvent,\n ServerToClientMessages,\n Topic,\n Transaction,\n} from '../types';\nimport { BASE_PATH } from '../common';\n\nexport type StacksApiSocket = Socket<ServerToClientMessages, ClientToServerMessages>;\n\nfunction getWsUrl(url: string): URL {\n let urlObj: URL;\n try {\n urlObj = new URL(url);\n if (!urlObj.protocol || !urlObj.host) {\n throw new TypeError(`[ERR_INVALID_URL]: Invalid URL: ${url}`);\n }\n } catch (error) {\n console.error(`Pass an absolute URL with a protocol/schema, e.g. \"wss://example.com\"`);\n throw error;\n }\n return urlObj;\n}\n\nexport type StacksApiSocketConnectionOptions = {\n url?: string;\n /** Initial topics to subscribe to. */\n subscriptions?: Topic[];\n socketOpts?: Partial<ManagerOptions & SocketOptions>;\n};\n\nfunction createStacksApiSocket(opts?: StacksApiSocketConnectionOptions) {\n const socketOpts = {\n ...opts?.socketOpts,\n query: {\n ...opts?.socketOpts?.query,\n // Subscriptions can be specified on init using this handshake query param.\n subscriptions: Array.from(new Set(opts?.subscriptions)).join(','),\n },\n };\n if (!socketOpts.transports) {\n socketOpts.transports = ['websocket'];\n }\n const socket: StacksApiSocket = io(getWsUrl(opts?.url ?? BASE_PATH).href, socketOpts);\n return socket;\n}\n\nexport class StacksApiSocketClient {\n readonly socket: StacksApiSocket;\n\n constructor(socket: StacksApiSocket);\n constructor(opts?: StacksApiSocketConnectionOptions);\n constructor(args?: StacksApiSocket | StacksApiSocketConnectionOptions) {\n if (args instanceof Socket) {\n this.socket = args;\n } else {\n this.socket = createStacksApiSocket(args);\n }\n }\n\n public static connect(opts?: StacksApiSocketConnectionOptions) {\n return new StacksApiSocketClient(opts);\n }\n\n handleSubscription(topic: Topic, subscribe = false, listener?: (...args: any[]) => void) {\n const subsQuery = this.socket.io.opts.query?.subscriptions as string | undefined;\n const subscriptions = new Set(subsQuery?.split(',') ?? []);\n if (subscribe) {\n this.socket.emit('subscribe', topic, error => {\n if (error) console.error(`Error subscribing: ${error}`);\n });\n subscriptions.add(topic);\n } else {\n this.socket.emit('unsubscribe', topic);\n subscriptions.delete(topic);\n }\n // Update the subscriptions in the socket handshake so topics are persisted on re-connect.\n if (this.socket.io.opts.query === undefined) {\n this.socket.io.opts.query = {};\n }\n this.socket.io.opts.query.subscriptions = Array.from(subscriptions).join(',');\n return {\n unsubscribe: () => {\n if (listener) {\n this.socket.off(topic, listener);\n }\n this.handleSubscription(topic, false);\n },\n };\n }\n\n subscribeBlocks(listener?: (tx: Block) => void) {\n if (listener) this.socket.on('block', listener);\n return this.handleSubscription('block', true, listener);\n }\n\n unsubscribeBlocks() {\n this.handleSubscription('block', false);\n }\n\n subscribeMicroblocks(listener?: (tx: Microblock) => void) {\n if (listener) this.socket.on('microblock', listener);\n return this.handleSubscription('microblock', true, listener);\n }\n\n unsubscribeMicroblocks() {\n this.handleSubscription('microblock', false);\n }\n\n subscribeMempool(listener?: (tx: MempoolTransaction) => void) {\n if (listener) this.socket.on('mempool', listener);\n return this.handleSubscription('mempool', true, listener);\n }\n\n unsubscribeMempool() {\n this.handleSubscription('mempool', false);\n }\n\n subscribeAddressTransactions(\n address: string,\n listener?: (address: string, tx: AddressTransactionWithTransfers) => void\n ) {\n if (listener) this.socket.on(`address-transaction:${address}`, listener);\n return this.handleSubscription(`address-transaction:${address}`, true, listener);\n }\n\n unsubscribeAddressTransactions(address: string) {\n this.handleSubscription(`address-transaction:${address}`, false);\n }\n\n subscribeAddressStxBalance(\n address: string,\n listener?: (address: string, stxBalance: AddressStxBalanceResponse) => void\n ) {\n if (listener) this.socket.on(`address-stx-balance:${address}`, listener);\n return this.handleSubscription(`address-stx-balance:${address}`, true, listener);\n }\n\n unsubscribeAddressStxBalance(address: string) {\n this.handleSubscription(`address-stx-balance:${address}`, false);\n }\n\n subscribeTransaction(txId: string, listener?: (tx: MempoolTransaction | Transaction) => void) {\n if (listener) this.socket.on(`transaction:${txId}`, listener);\n return this.handleSubscription(`transaction:${txId}`, true, listener);\n }\n\n unsubscribeTransaction(txId: string) {\n this.handleSubscription(`transaction:${txId}`, false);\n }\n\n subscribeNftEvent(listener?: (event: NftEvent) => void) {\n if (listener) this.socket.on('nft-event', listener);\n return this.handleSubscription('nft-event', true, listener);\n }\n\n unsubscribeNftEvent() {\n this.handleSubscription('nft-event', false);\n }\n\n subscribeNftAssetEvent(\n assetIdentifier: string,\n value: string,\n listener?: (assetIdentifier: string, value: string, event: NftEvent) => void\n ) {\n if (listener) this.socket.on(`nft-asset-event:${assetIdentifier}+${value}`, listener);\n return this.handleSubscription(`nft-asset-event:${assetIdentifier}+${value}`, true, listener);\n }\n\n unsubscribeNftAssetEvent(assetIdentifier: string, value: string) {\n this.handleSubscription(`nft-asset-event:${assetIdentifier}+${value}`, false);\n }\n\n subscribeNftCollectionEvent(\n assetIdentifier: string,\n listener?: (assetIdentifier: string, event: NftEvent) => void\n ) {\n if (listener) this.socket.on(`nft-collection-event:${assetIdentifier}`, listener);\n return this.handleSubscription(`nft-collection-event:${assetIdentifier}`, true, listener);\n }\n\n unsubscribeNftCollectionEvent(assetIdentifier: string) {\n this.handleSubscription(`nft-collection-event:${assetIdentifier}`, false);\n }\n\n logEvents() {\n this.socket.on('connect', () => console.log('socket connected'));\n this.socket.on('disconnect', reason => console.warn('disconnected', reason));\n this.socket.on('connect_error', error => console.error('connect_error', error));\n this.socket.on('block', block => console.log('block', block));\n this.socket.on('microblock', microblock => console.log('microblock', microblock));\n this.socket.on('mempool', tx => console.log('mempool', tx));\n this.socket.on('nft-event', event => console.log('nft-event', event));\n }\n}\n","// **Github:** https://github.com/teambition/jsonrpc-lite\n//\n// http://www.jsonrpc.org/specification\n// **License:** MIT\n'use strict';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst isInteger = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991;\n };\nexport class JsonRpc {\n constructor() {\n this.jsonrpc = '2.0';\n }\n serialize() {\n return JSON.stringify(this);\n }\n}\nJsonRpc.VERSION = '2.0';\nexport class RequestObject extends JsonRpc {\n constructor(id, method, params) {\n super();\n this.id = id;\n this.method = method;\n if (params !== undefined) {\n this.params = params;\n }\n }\n}\nexport class NotificationObject extends JsonRpc {\n constructor(method, params) {\n super();\n this.method = method;\n if (params !== undefined) {\n this.params = params;\n }\n }\n}\nexport class SuccessObject extends JsonRpc {\n constructor(id, result) {\n super();\n this.id = id;\n this.result = result;\n }\n}\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor(id, error) {\n super();\n this.id = id;\n this.error = error;\n this.id = id;\n this.error = error;\n }\n}\nexport class JsonRpcParsed {\n constructor(payload, type) {\n this.payload = payload;\n this.type = type;\n this.payload = payload;\n this.type = type;\n }\n}\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n constructor(message, code, data) {\n this.message = message;\n this.code = isInteger(code) ? code : 0;\n if (data != null) {\n this.data = data;\n }\n }\n}\nJsonRpcError.invalidRequest = function (data) {\n return new JsonRpcError('Invalid request', -32600, data);\n};\nJsonRpcError.methodNotFound = function (data) {\n return new JsonRpcError('Method not found', -32601, data);\n};\nJsonRpcError.invalidParams = function (data) {\n return new JsonRpcError('Invalid params', -32602, data);\n};\nJsonRpcError.internalError = function (data) {\n return new JsonRpcError('Internal error', -32603, data);\n};\nJsonRpcError.parseError = function (data) {\n return new JsonRpcError('Parse error', -32700, data);\n};\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request(id, method, params) {\n const object = new RequestObject(id, method, params);\n validateMessage(object, true);\n return object;\n}\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification(method, params) {\n const object = new NotificationObject(method, params);\n validateMessage(object, true);\n return object;\n}\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success(id, result) {\n const object = new SuccessObject(id, result);\n validateMessage(object, true);\n return object;\n}\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error(id, err) {\n const object = new ErrorObject(id, err);\n validateMessage(object, true);\n return object;\n}\nexport function parse(message) {\n if (!isString(message)) {\n return new JsonRpcParsed(JsonRpcError.invalidRequest(message), \"invalid\" /* invalid */);\n }\n let jsonrpcObj;\n try {\n jsonrpcObj = JSON.parse(message);\n }\n catch (err) {\n return new JsonRpcParsed(JsonRpcError.parseError(message), \"invalid\" /* invalid */);\n }\n return parseJsonRpcObject(jsonrpcObj);\n}\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: <Enum, 'request'|'notification'|'success'|'error'|'invalid'>\n * payload: <JsonRpc|JsonRpcError>\n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject(jsonrpcObj) {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj);\n }\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(JsonRpcError.invalidRequest(jsonrpcObj), \"invalid\" /* invalid */);\n }\n const parsedObjectArray = [];\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i]);\n }\n return parsedObjectArray;\n}\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse;\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: <Enum, 'request'|'notification'|'success'|'error'|'invalid'>\n * payload: <JsonRpc|JsonRpcError>\n * }\n *\n * @api public\n */\nexport function parseObject(obj) {\n let err = null;\n let payload = null;\n let payloadType = \"invalid\" /* invalid */;\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj);\n payloadType = \"invalid\" /* invalid */;\n }\n else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj;\n payload = new NotificationObject(tmp.method, tmp.params);\n err = validateMessage(payload);\n payloadType = \"notification\" /* notification */;\n }\n else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj;\n payload = new RequestObject(tmp.id, tmp.method, tmp.params);\n err = validateMessage(payload);\n payloadType = \"request\" /* request */;\n }\n else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj;\n payload = new SuccessObject(tmp.id, tmp.result);\n err = validateMessage(payload);\n payloadType = \"success\" /* success */;\n }\n else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj;\n payloadType = \"error\" /* error */;\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp);\n }\n else {\n const errorObj = new JsonRpcError(tmp.error.message, tmp.error.code, tmp.error.data);\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp);\n }\n else {\n payload = new ErrorObject(tmp.id, errorObj);\n err = validateMessage(payload);\n }\n }\n }\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType);\n }\n return new JsonRpcParsed(err != null ? err : JsonRpcError.invalidRequest(obj), \"invalid\" /* invalid */);\n}\n// if error, return error, else return null\nfunction validateMessage(obj, throwIt) {\n let err = null;\n if (obj instanceof RequestObject) {\n err = checkId(obj.id);\n if (err == null) {\n err = checkMethod(obj.method);\n }\n if (err == null) {\n err = checkParams(obj.params);\n }\n }\n else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method);\n if (err == null) {\n err = checkParams(obj.params);\n }\n }\n else if (obj instanceof SuccessObject) {\n err = checkId(obj.id);\n if (err == null) {\n err = checkResult(obj.result);\n }\n }\n else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true);\n if (err == null) {\n err = checkError(obj.error);\n }\n }\n if (throwIt && err != null) {\n throw err;\n }\n return err;\n}\nfunction checkId(id, maybeNull) {\n if (maybeNull && id === null) {\n return null;\n }\n return isString(id) || isInteger(id)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.');\n}\nfunction checkMethod(method) {\n return isString(method) ? null : JsonRpcError.invalidRequest(method);\n}\nfunction checkResult(result) {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null;\n}\nfunction checkParams(params) {\n if (params === undefined) {\n return null;\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params);\n return null;\n }\n catch (err) {\n return JsonRpcError.parseError(params);\n }\n }\n return JsonRpcError.invalidParams(params);\n}\nfunction checkError(err) {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError');\n }\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.');\n }\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.');\n }\n return null;\n}\nfunction isString(obj) {\n return obj !== '' && typeof obj === 'string';\n}\nfunction isObject(obj) {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj);\n}\nconst jsonrpc = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n};\nexport default jsonrpc;\nexport { jsonrpc };\n//# sourceMappingURL=jsonrpc.js.map","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","import * as JsonRpcLite from 'jsonrpc-lite';\nimport { EventEmitter } from 'eventemitter3';\nimport { BASE_PATH } from '../common';\nimport type { \n Block,\n Transaction,\n Microblock,\n RpcAddressTxNotificationParams,\n RpcAddressBalanceNotificationParams,\n NftEvent,\n MempoolTransaction,\n RpcSubscriptionType,\n RpcBlockSubscriptionParams,\n RpcMicroblockSubscriptionParams,\n RpcMempoolSubscriptionParams,\n RpcTxUpdateSubscriptionParams,\n RpcAddressTxSubscriptionParams,\n RpcAddressBalanceSubscriptionParams,\n RpcNftEventSubscriptionParams,\n RpcNftAssetEventSubscriptionParams,\n RpcNftCollectionEventSubscriptionParams\n} from '../types';\n\ntype IWebSocket = import('ws') | WebSocket;\n\ninterface Subscription {\n unsubscribe(): Promise<void>;\n}\n\nexport class StacksApiWebSocketClient {\n webSocket: IWebSocket;\n idCursor = 0;\n pendingRequests = new Map<\n JsonRpcLite.ID,\n { resolve: (result: any) => void; reject: (error: any) => void }\n >();\n\n eventEmitter = new EventEmitter<{\n block: (event: Block) => void;\n microblock: (event: Microblock) => void;\n mempool: (event: Transaction) => void;\n txUpdate: (event: Transaction | MempoolTransaction) => any;\n addressTxUpdate: (event: RpcAddressTxNotificationParams) => void;\n addressBalanceUpdate: (event: RpcAddressBalanceNotificationParams) => void;\n nftEventUpdate: (event: NftEvent) => void;\n nftAssetEventUpdate: (event: NftEvent) => void;\n nftCollectionEventUpdate: (event: NftEvent) => void;\n }>();\n\n public static async connect(url: string = BASE_PATH): Promise<StacksApiWebSocketClient> {\n // `ws://${addr}/extended/v1/ws`;\n let urlObj: URL;\n try {\n urlObj = new URL(url);\n } catch (_error) {\n urlObj = new URL(`ws://${url}`);\n }\n if (urlObj.protocol === 'https:') {\n urlObj.protocol = 'wss:';\n } else if (urlObj.protocol === 'http:') {\n urlObj.protocol = 'ws:';\n }\n if (urlObj.pathname === '/') {\n urlObj.pathname = '/extended/v1/ws';\n }\n const webSocket = await new Promise<IWebSocket>((resolve, reject) => {\n const webSocket = new (createWebSocket())(urlObj.toString());\n webSocket.onopen = () => resolve(webSocket);\n webSocket.onerror = error => reject(error);\n });\n return new StacksApiWebSocketClient(webSocket);\n }\n\n constructor(webSocket: IWebSocket) {\n this.webSocket = webSocket;\n (webSocket as WebSocket).addEventListener('message', event => {\n const parsed = JsonRpcLite.parse(event.data as string);\n const rpcObjects = Array.isArray(parsed) ? parsed : [parsed];\n rpcObjects.forEach(obj => {\n if (obj.type === JsonRpcLite.RpcStatusType.notification) {\n this.handleNotification(obj.payload);\n } else if (obj.type === JsonRpcLite.RpcStatusType.success) {\n const req = this.pendingRequests.get(obj.payload.id);\n if (req) {\n this.pendingRequests.delete(obj.payload.id);\n req.resolve(obj.payload.result);\n }\n } else if (obj.type === JsonRpcLite.RpcStatusType.error) {\n const req = this.pendingRequests.get(obj.payload.id);\n if (req) {\n this.pendingRequests.delete(obj.payload.id);\n req.reject(obj.payload.error);\n }\n }\n });\n });\n }\n\n handleNotification(data: JsonRpcLite.NotificationObject): void {\n const method = data.method as RpcSubscriptionType;\n switch (method) {\n case 'tx_update':\n this.eventEmitter.emit('txUpdate', data.params as Transaction | MempoolTransaction);\n break;\n case 'address_tx_update':\n this.eventEmitter.emit('addressTxUpdate', data.params as RpcAddressTxNotificationParams);\n break;\n case 'address_balance_update':\n this.eventEmitter.emit(\n 'addressBalanceUpdate',\n data.params as RpcAddressBalanceNotificationParams\n );\n break;\n case 'block':\n this.eventEmitter.emit('block', data.params as Block);\n break;\n case 'microblock':\n this.eventEmitter.emit('microblock', data.params as Microblock);\n break;\n case 'mempool':\n this.eventEmitter.emit('mempool', data.params as Transaction);\n break;\n case 'nft_event':\n this.eventEmitter.emit('nftEventUpdate', data.params as NftEvent);\n break;\n case 'nft_asset_event':\n this.eventEmitter.emit('nftAssetEventUpdate', data.params as NftEvent);\n break;\n case 'nft_collection_event':\n this.eventEmitter.emit('nftCollectionEventUpdate', data.params as NftEvent);\n break;\n }\n }\n\n private rpcCall<TResult = void>(method: string, params: any): Promise<TResult> {\n const rpcReq = JsonRpcLite.request(++this.idCursor, method, params as JsonRpcLite.RpcParams);\n return new Promise<TResult>((resolve, reject) => {\n this.pendingRequests.set(rpcReq.id, { resolve, reject });\n this.webSocket.send(rpcReq.serialize());\n });\n }\n\n async subscribeBlocks(update: (event: Block) => any): Promise<Subscription> {\n const params: RpcBlockSubscriptionParams = { event: 'block' };\n await this.rpcCall('subscribe', params);\n const listener = (event: Block) => {\n update(event);\n };\n this.eventEmitter.addListener('block', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('block', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeMicroblocks(update: (event: Microblock) => any): Promise<Subscription> {\n const params: RpcMicroblockSubscriptionParams = { event: 'microblock' };\n await this.rpcCall('subscribe', params);\n const listener = (event: Microblock) => {\n update(event);\n };\n this.eventEmitter.addListener('microblock', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('microblock', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeMempool(update: (event: Transaction) => any): Promise<Subscription> {\n const params: RpcMempoolSubscriptionParams = { event: 'mempool' };\n await this.rpcCall('subscribe', params);\n const listener = (event: Transaction) => {\n update(event);\n };\n this.eventEmitter.addListener('mempool', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('mempool', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeTxUpdates(\n txId: string,\n update: (event: Transaction | MempoolTransaction) => any\n ): Promise<Subscription> {\n const params: RpcTxUpdateSubscriptionParams = { event: 'tx_update', tx_id: txId };\n const subscribed = await this.rpcCall<{ tx_id: string }>('subscribe', params);\n const listener = (event: Transaction | MempoolTransaction) => {\n if (event.tx_id === subscribed.tx_id) {\n update(event);\n }\n };\n this.eventEmitter.addListener('txUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('txUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeAddressTransactions(\n address: string,\n update: (event: RpcAddressTxNotificationParams) => any\n ): Promise<Subscription> {\n const params: RpcAddressTxSubscriptionParams = { event: 'address_tx_update', address };\n const subscribed = await this.rpcCall<{ address: string }>('subscribe', params);\n const listener = (event: RpcAddressTxNotificationParams) => {\n if (event.address === subscribed.address) {\n update(event);\n }\n };\n this.eventEmitter.addListener('addressTxUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('addressTxUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeAddressBalanceUpdates(\n address: string,\n update: (event: RpcAddressBalanceNotificationParams) => any\n ): Promise<Subscription> {\n const params: RpcAddressBalanceSubscriptionParams = {\n event: 'address_balance_update',\n address,\n };\n const subscribed = await this.rpcCall<{ address: string }>('subscribe', params);\n const listener = (event: RpcAddressBalanceNotificationParams) => {\n if (event.address === subscribed.address) {\n update(event);\n }\n };\n this.eventEmitter.addListener('addressBalanceUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('addressBalanceUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeNftEventUpdates(update: (event: NftEvent) => any): Promise<Subscription> {\n const params: RpcNftEventSubscriptionParams = {\n event: 'nft_event',\n };\n await this.rpcCall('subscribe', params);\n const listener = (event: NftEvent) => {\n update(event);\n };\n this.eventEmitter.addListener('nftEventUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('nftEventUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeNftAssetEventUpdates(\n assetIdentifier: string,\n value: string,\n update: (event: NftEvent) => any\n ): Promise<Subscription> {\n const params: RpcNftAssetEventSubscriptionParams = {\n event: 'nft_asset_event',\n asset_identifier: assetIdentifier,\n value,\n };\n const subscribed = await this.rpcCall<{ asset_identifier: string; value: string }>(\n 'subscribe',\n params\n );\n const listener = (event: NftEvent) => {\n if (\n event.asset_identifier === subscribed.asset_identifier &&\n event.value.hex === subscribed.value\n ) {\n update(event);\n }\n };\n this.eventEmitter.addListener('nftAssetEventUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('nftAssetEventUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n\n async subscribeNftCollectionEventUpdates(\n assetIdentifier: string,\n update: (event: NftEvent) => any\n ): Promise<Subscription> {\n const params: RpcNftCollectionEventSubscriptionParams = {\n event: 'nft_collection_event',\n asset_identifier: assetIdentifier,\n };\n const subscribed = await this.rpcCall<{ asset_identifier: string }>('subscribe', params);\n const listener = (event: NftEvent) => {\n if (event.asset_identifier === subscribed.asset_identifier) {\n update(event);\n }\n };\n this.eventEmitter.addListener('nftCollectionEventUpdate', listener);\n return {\n unsubscribe: () => {\n this.eventEmitter.removeListener('nftCollectionEventUpdate', listener);\n return this.rpcCall('unsubscribe', params);\n },\n };\n }\n}\n\nexport async function connectWebSocketClient(\n url: string = BASE_PATH\n): Promise<StacksApiWebSocketClient> {\n return StacksApiWebSocketClient.connect(url);\n}\n\n/**\n * Simple isomorphic WebSocket class lookup.\n * Uses global WebSocket (browsers) if available, otherwise, uses the Node.js `ws` lib.\n */\nfunction createWebSocket(): typeof WebSocket {\n if (typeof WebSocket !== 'undefined') {\n return WebSocket;\n } else if (typeof global !== 'undefined' && global.WebSocket) {\n return global.WebSocket;\n } else if (typeof window !== 'undefined' && window.WebSocket) {\n return window.WebSocket;\n } else if (typeof self !== 'undefined' && self.WebSocket) {\n return self.WebSocket;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return require('ws');\n }\n}\n","import { default as createOpenApiClient, ClientOptions } from \"openapi-fetch\";\nimport type { paths } from \"./generated/schema\";\nimport { BASE_PATH } from \"./common\";\n\nexport function createClient(options?: ClientOptions) {\n return createOpenApiClient<paths>({ baseUrl: BASE_PATH, ...options });\n}\n\nexport * from './common';\nexport * from './socket-io';\nexport * from './ws';\nexport type * from './types';\nexport * from 'openapi-fetch';\n"],"names":["createClient","BASE_PATH","withNativeBlob","withNativeArrayBuffer","isView","lookup","decode","protocol","globalThis","encode","XMLHttpRequest","Request","WebSocket","parse","Socket","RESERVED_EVENTS","isObject","Engine","getWsUrl","url","urlObj","URL","host","TypeError","error","console","createStacksApiSocket","opts","_opts$socketOpts","_opts$url","socketOpts","_extends","query","subscriptions","Array","from","Set","join","transports","socket","io","href","StacksApiSocketClient","args","connect","_proto","prototype","handleSubscription","topic","subscribe","listener","_this$socket$io$opts$","_subsQuery$split","_this","subsQuery","split","emit","add","undefined","unsubscribe","off","subscribeBlocks","on","unsubscribeBlocks","subscribeMicroblocks","unsubscribeMicroblocks","subscribeMempool","unsubscribeMempool","subscribeAddressTransactions","address","unsubscribeAddressTransactions","subscribeAddressStxBalance","unsubscribeAddressStxBalance","subscribeTransaction","txId","unsubscribeTransaction","subscribeNftEvent","unsubscribeNftEvent","subscribeNftAssetEvent","assetIdentifier","value","unsubscribeNftAssetEvent","subscribeNftCollectionEvent","unsubscribeNftCollectionEvent","logEvents","log","reason","warn","block","microblock","tx","event","connectWebSocketClient","Promise","resolve","StacksApiWebSocketClient","e","reject","webSocket","idCursor","pendingRequests","Map","eventEmitter","EventEmitter","addEventListener","parsed","JsonRpcLite","data","rpcObjects","isArray","forEach","obj","type","handleNotification","payload","req","get","id","result","_error","pathname","createWebSocket","toString","onopen","onerror","then","method","params","rpcCall","_this2","rpcReq","set","send","serialize","update","_this3","addListener","removeListener","_this4","_this5","subscribeTxUpdates","_this6","tx_id","subscribed","_this7","subscribeAddressBalanceUpdates","_this8","subscribeNftEventUpdates","_this9","subscribeNftAssetEventUpdates","_this10","asset_identifier","hex","subscribeNftCollectionEventUpdates","_this11","global","window","self","require","options","createOpenApiClient","baseUrl"],"mappings":"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"}
|