@stacks/blockchain-api-client 5.0.1 → 6.0.0-beta.10
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 +112 -50
- package/lib/generated/apis/AccountsApi.js +9 -9
- package/lib/generated/apis/AccountsApi.js.map +1 -1
- package/lib/generated/apis/BlocksApi.js +5 -5
- package/lib/generated/apis/BlocksApi.js.map +1 -1
- package/lib/generated/apis/FaucetsApi.js +4 -4
- package/lib/generated/apis/FaucetsApi.js.map +1 -1
- package/lib/generated/apis/FeesApi.js +4 -4
- package/lib/generated/apis/FeesApi.js.map +1 -1
- package/lib/generated/apis/FungibleTokensApi.js +2 -2
- package/lib/generated/apis/FungibleTokensApi.js.map +1 -1
- package/lib/generated/apis/InfoApi.js +7 -7
- package/lib/generated/apis/InfoApi.js.map +1 -1
- package/lib/generated/apis/MicroblocksApi.js +3 -3
- package/lib/generated/apis/MicroblocksApi.js.map +1 -1
- package/lib/generated/apis/NamesApi.js +5 -5
- package/lib/generated/apis/NamesApi.js.map +1 -1
- package/lib/generated/apis/NonFungibleTokensApi.js +5 -5
- package/lib/generated/apis/NonFungibleTokensApi.js.map +1 -1
- package/lib/generated/apis/RosettaApi.js +31 -31
- package/lib/generated/apis/RosettaApi.js.map +1 -1
- package/lib/generated/apis/SmartContractsApi.d.ts +5 -5
- package/lib/generated/apis/SmartContractsApi.js +7 -7
- package/lib/generated/apis/SmartContractsApi.js.map +1 -1
- package/lib/generated/apis/StackingRewardsApi.js +5 -5
- package/lib/generated/apis/StackingRewardsApi.js.map +1 -1
- package/lib/generated/apis/TransactionsApi.d.ts +24 -1
- package/lib/generated/apis/TransactionsApi.js +31 -8
- package/lib/generated/apis/TransactionsApi.js.map +1 -1
- package/lib/generated/apis/index.js +5 -1
- package/lib/generated/apis/index.js.map +1 -1
- package/lib/generated/index.js +5 -1
- package/lib/generated/index.js.map +1 -1
- package/lib/generated/models/AddressBalanceResponse.js +4 -4
- package/lib/generated/models/AddressBalanceResponse.js.map +1 -1
- package/lib/generated/models/AddressTransactionWithTransfers.js +2 -2
- package/lib/generated/models/AddressTransactionWithTransfers.js.map +1 -1
- package/lib/generated/models/AddressTransactionWithTransfersFtTransfers.js +2 -2
- package/lib/generated/models/AddressTransactionWithTransfersFtTransfers.js.map +1 -1
- package/lib/generated/models/AddressTransactionWithTransfersNftTransfers.js +4 -4
- package/lib/generated/models/AddressTransactionWithTransfersNftTransfers.js.map +1 -1
- package/lib/generated/models/AddressTransactionWithTransfersStxTransfers.js +2 -2
- package/lib/generated/models/AddressTransactionWithTransfersStxTransfers.js.map +1 -1
- package/lib/generated/models/Block.d.ts +8 -0
- package/lib/generated/models/Block.js +2 -0
- package/lib/generated/models/Block.js.map +1 -1
- package/lib/generated/models/BnsError.js +1 -1
- package/lib/generated/models/BnsError.js.map +1 -1
- package/lib/generated/models/BnsGetNameInfoResponse.js +3 -3
- package/lib/generated/models/BnsGetNameInfoResponse.js.map +1 -1
- package/lib/generated/models/ChainTip.js +2 -2
- package/lib/generated/models/ChainTip.js.map +1 -1
- package/lib/generated/models/InlineObject.js +2 -2
- package/lib/generated/models/InlineObject.js.map +1 -1
- package/lib/generated/models/InlineObject1.js +1 -1
- package/lib/generated/models/InlineObject1.js.map +1 -1
- package/lib/generated/models/MapEntryResponse.js +1 -1
- package/lib/generated/models/MapEntryResponse.js.map +1 -1
- package/lib/generated/models/MempoolTransactionStatsResponse.d.ts +46 -0
- package/lib/generated/models/MempoolTransactionStatsResponse.js +49 -0
- package/lib/generated/models/MempoolTransactionStatsResponse.js.map +1 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxAges.d.ts +46 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxAges.js +49 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxAges.js.map +1 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxByteSizes.d.ts +46 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxByteSizes.js +49 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxByteSizes.js.map +1 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.d.ts +46 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.js +49 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.js.map +1 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.d.ts +45 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.js +48 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.js.map +1 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxTypeCounts.d.ts +45 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxTypeCounts.js +48 -0
- package/lib/generated/models/MempoolTransactionStatsResponseTxTypeCounts.js.map +1 -0
- package/lib/generated/models/NetworkBlockTimesResponse.js +4 -4
- package/lib/generated/models/NetworkBlockTimesResponse.js.map +1 -1
- package/lib/generated/models/NetworkIdentifier.js +2 -2
- package/lib/generated/models/NetworkIdentifier.js.map +1 -1
- package/lib/generated/models/NftEvent.d.ts +20 -2
- package/lib/generated/models/NftEvent.js +11 -4
- package/lib/generated/models/NftEvent.js.map +1 -1
- package/lib/generated/models/ReadOnlyFunctionSuccessResponse.js +2 -2
- package/lib/generated/models/ReadOnlyFunctionSuccessResponse.js.map +1 -1
- package/lib/generated/models/RosettaAccount.js +3 -3
- package/lib/generated/models/RosettaAccount.js.map +1 -1
- package/lib/generated/models/RosettaAccountBalanceRequest.js +5 -5
- package/lib/generated/models/RosettaAccountBalanceRequest.js.map +1 -1
- package/lib/generated/models/RosettaAccountBalanceResponse.js +3 -3
- package/lib/generated/models/RosettaAccountBalanceResponse.js.map +1 -1
- package/lib/generated/models/RosettaAccountIdentifier.js +3 -3
- package/lib/generated/models/RosettaAccountIdentifier.js.map +1 -1
- package/lib/generated/models/RosettaAmount.js +3 -3
- package/lib/generated/models/RosettaAmount.js.map +1 -1
- package/lib/generated/models/RosettaBlock.js +4 -4
- package/lib/generated/models/RosettaBlock.js.map +1 -1
- package/lib/generated/models/RosettaBlockMetadata.js +3 -3
- package/lib/generated/models/RosettaBlockMetadata.js.map +1 -1
- package/lib/generated/models/RosettaBlockRequest.js +2 -2
- package/lib/generated/models/RosettaBlockRequest.js.map +1 -1
- package/lib/generated/models/RosettaBlockResponse.js +3 -3
- package/lib/generated/models/RosettaBlockResponse.js.map +1 -1
- package/lib/generated/models/RosettaBlockTransactionRequest.js +4 -4
- package/lib/generated/models/RosettaBlockTransactionRequest.js.map +1 -1
- package/lib/generated/models/RosettaBlockTransactionResponse.js +2 -2
- package/lib/generated/models/RosettaBlockTransactionResponse.js.map +1 -1
- package/lib/generated/models/RosettaCoin.js +4 -4
- package/lib/generated/models/RosettaCoin.js.map +1 -1
- package/lib/generated/models/RosettaCoinChange.js +2 -2
- package/lib/generated/models/RosettaCoinChange.js.map +1 -1
- package/lib/generated/models/RosettaConstructionCombineRequest.js +2 -2
- package/lib/generated/models/RosettaConstructionCombineRequest.js.map +1 -1
- package/lib/generated/models/RosettaConstructionDeriveRequest.js +5 -5
- package/lib/generated/models/RosettaConstructionDeriveRequest.js.map +1 -1
- package/lib/generated/models/RosettaConstructionDeriveResponse.js +4 -4
- package/lib/generated/models/RosettaConstructionDeriveResponse.js.map +1 -1
- package/lib/generated/models/RosettaConstructionHashRequest.js +2 -2
- package/lib/generated/models/RosettaConstructionHashRequest.js.map +1 -1
- package/lib/generated/models/RosettaConstructionHashResponse.js +3 -3
- package/lib/generated/models/RosettaConstructionHashResponse.js.map +1 -1
- package/lib/generated/models/RosettaConstructionMetadataRequest.js +5 -5
- package/lib/generated/models/RosettaConstructionMetadataRequest.js.map +1 -1
- package/lib/generated/models/RosettaConstructionMetadataResponse.js +3 -3
- package/lib/generated/models/RosettaConstructionMetadataResponse.js.map +1 -1
- package/lib/generated/models/RosettaConstructionMetadataResponseMetadata.js +2 -2
- package/lib/generated/models/RosettaConstructionMetadataResponseMetadata.js.map +1 -1
- package/lib/generated/models/RosettaConstructionParseRequest.js +2 -2
- package/lib/generated/models/RosettaConstructionParseRequest.js.map +1 -1
- package/lib/generated/models/RosettaConstructionParseResponse.js +3 -3
- package/lib/generated/models/RosettaConstructionParseResponse.js.map +1 -1
- package/lib/generated/models/RosettaConstructionPayloadsRequest.js +5 -5
- package/lib/generated/models/RosettaConstructionPayloadsRequest.js.map +1 -1
- package/lib/generated/models/RosettaConstructionPreprocessRequest.js +5 -5
- package/lib/generated/models/RosettaConstructionPreprocessRequest.js.map +1 -1
- package/lib/generated/models/RosettaConstructionPreprocessResponse.js +3 -3
- package/lib/generated/models/RosettaConstructionPreprocessResponse.js.map +1 -1
- package/lib/generated/models/RosettaConstructionSubmitRequest.js +2 -2
- package/lib/generated/models/RosettaConstructionSubmitRequest.js.map +1 -1
- package/lib/generated/models/RosettaConstructionSubmitResponse.js +3 -3
- package/lib/generated/models/RosettaConstructionSubmitResponse.js.map +1 -1
- package/lib/generated/models/RosettaCurrency.js +1 -1
- package/lib/generated/models/RosettaCurrency.js.map +1 -1
- package/lib/generated/models/RosettaError.js +2 -2
- package/lib/generated/models/RosettaError.js.map +1 -1
- package/lib/generated/models/RosettaErrorDetails.js +2 -2
- package/lib/generated/models/RosettaErrorDetails.js.map +1 -1
- package/lib/generated/models/RosettaMaxFeeAmount.js +3 -3
- package/lib/generated/models/RosettaMaxFeeAmount.js.map +1 -1
- package/lib/generated/models/RosettaMempoolRequest.js +3 -3
- package/lib/generated/models/RosettaMempoolRequest.js.map +1 -1
- package/lib/generated/models/RosettaMempoolResponse.js +1 -1
- package/lib/generated/models/RosettaMempoolResponse.js.map +1 -1
- package/lib/generated/models/RosettaMempoolTransactionRequest.js +4 -4
- package/lib/generated/models/RosettaMempoolTransactionRequest.js.map +1 -1
- package/lib/generated/models/RosettaMempoolTransactionResponse.js +3 -3
- package/lib/generated/models/RosettaMempoolTransactionResponse.js.map +1 -1
- package/lib/generated/models/RosettaNetworkListResponseSubNetworkIdentifier.js +2 -2
- package/lib/generated/models/RosettaNetworkListResponseSubNetworkIdentifier.js.map +1 -1
- package/lib/generated/models/RosettaNetworkOptionsResponse.js +4 -4
- package/lib/generated/models/RosettaNetworkOptionsResponse.js.map +1 -1
- package/lib/generated/models/RosettaNetworkOptionsResponseVersion.js +2 -2
- package/lib/generated/models/RosettaNetworkOptionsResponseVersion.js.map +1 -1
- package/lib/generated/models/RosettaNetworkStatusResponse.js +6 -6
- package/lib/generated/models/RosettaNetworkStatusResponse.js.map +1 -1
- package/lib/generated/models/RosettaOperation.js +11 -11
- package/lib/generated/models/RosettaOperation.js.map +1 -1
- package/lib/generated/models/RosettaOperationIdentifier.js +1 -1
- package/lib/generated/models/RosettaOperationIdentifier.js.map +1 -1
- package/lib/generated/models/RosettaOptions.js +20 -20
- package/lib/generated/models/RosettaOptions.js.map +1 -1
- package/lib/generated/models/RosettaOptionsRequest.js +3 -3
- package/lib/generated/models/RosettaOptionsRequest.js.map +1 -1
- package/lib/generated/models/RosettaPeers.js +1 -1
- package/lib/generated/models/RosettaPeers.js.map +1 -1
- package/lib/generated/models/RosettaRelatedOperation.js +1 -1
- package/lib/generated/models/RosettaRelatedOperation.js.map +1 -1
- package/lib/generated/models/RosettaSignature.js +4 -4
- package/lib/generated/models/RosettaSignature.js.map +1 -1
- package/lib/generated/models/RosettaStatusRequest.js +3 -3
- package/lib/generated/models/RosettaStatusRequest.js.map +1 -1
- package/lib/generated/models/RosettaSubAccount.js +1 -1
- package/lib/generated/models/RosettaSubAccount.js.map +1 -1
- package/lib/generated/models/RosettaSyncStatus.js +3 -3
- package/lib/generated/models/RosettaSyncStatus.js.map +1 -1
- package/lib/generated/models/RosettaTransaction.js +4 -4
- package/lib/generated/models/RosettaTransaction.js.map +1 -1
- package/lib/generated/models/RunFaucetResponse.js +2 -2
- package/lib/generated/models/RunFaucetResponse.js.map +1 -1
- package/lib/generated/models/ServerStatusResponse.js +3 -3
- package/lib/generated/models/ServerStatusResponse.js.map +1 -1
- package/lib/generated/models/SigningPayload.js +4 -4
- package/lib/generated/models/SigningPayload.js.map +1 -1
- package/lib/generated/models/SmartContract.d.ts +6 -0
- package/lib/generated/models/SmartContract.js +2 -0
- package/lib/generated/models/SmartContract.js.map +1 -1
- package/lib/generated/models/TransactionFeeEstimateRequest.js +1 -1
- package/lib/generated/models/TransactionFeeEstimateRequest.js.map +1 -1
- package/lib/generated/models/TransactionFeeEstimateResponse.js +4 -4
- package/lib/generated/models/TransactionFeeEstimateResponse.js.map +1 -1
- package/lib/generated/models/TransactionFeeEstimateResponseEstimations.js +2 -2
- package/lib/generated/models/TransactionFeeEstimateResponseEstimations.js.map +1 -1
- package/lib/generated/models/index.d.ts +6 -0
- package/lib/generated/models/index.js +11 -1
- package/lib/generated/models/index.js.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/index.umd.js +522 -80
- package/lib/index.umd.js.map +1 -1
- package/lib/socket-io/index.d.ts +12 -0
- package/lib/socket-io/index.js +22 -1
- package/lib/socket-io/index.js.map +1 -1
- package/lib/ws/index.d.ts +9 -3
- package/lib/ws/index.js +64 -0
- package/lib/ws/index.js.map +1 -1
- package/package.json +5 -5
- package/src/generated/.openapi-generator/FILES +6 -0
- package/src/generated/apis/SmartContractsApi.ts +8 -5
- package/src/generated/apis/TransactionsApi.ts +46 -0
- package/src/generated/models/Block.ts +8 -0
- package/src/generated/models/MempoolTransactionStatsResponse.ts +99 -0
- package/src/generated/models/MempoolTransactionStatsResponseTxAges.ts +87 -0
- package/src/generated/models/MempoolTransactionStatsResponseTxByteSizes.ts +87 -0
- package/src/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.ts +87 -0
- package/src/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.ts +80 -0
- package/src/generated/models/MempoolTransactionStatsResponseTxTypeCounts.ts +80 -0
- package/src/generated/models/NftEvent.ts +28 -4
- package/src/generated/models/SmartContract.ts +8 -0
- package/src/generated/models/index.ts +6 -0
- package/src/socket-io/index.ts +31 -0
- package/src/ws/index.ts +90 -8
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Stacks Blockchain API
|
|
5
|
+
* Welcome to the API reference overview for the <a href=\"https://docs.hiro.so/get-started/stacks-blockchain-api\">Stacks Blockchain API</a>. <a href=\"https://hirosystems.github.io/stacks-blockchain-api/collection.json\" download=\"stacks-api-collection.json\">Download Postman collection</a>
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: STACKS_API_VERSION
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { exists, mapValues } from '../runtime';
|
|
16
|
+
import {
|
|
17
|
+
MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer,
|
|
18
|
+
MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON,
|
|
19
|
+
MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSONTyped,
|
|
20
|
+
MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON,
|
|
21
|
+
} from './';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The average byte size of transactions in the mempool, broken down by transaction type.
|
|
25
|
+
* @export
|
|
26
|
+
* @interface MempoolTransactionStatsResponseTxByteSizes
|
|
27
|
+
*/
|
|
28
|
+
export interface MempoolTransactionStatsResponseTxByteSizes {
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
* @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}
|
|
32
|
+
* @memberof MempoolTransactionStatsResponseTxByteSizes
|
|
33
|
+
*/
|
|
34
|
+
token_transfer: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;
|
|
35
|
+
/**
|
|
36
|
+
*
|
|
37
|
+
* @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}
|
|
38
|
+
* @memberof MempoolTransactionStatsResponseTxByteSizes
|
|
39
|
+
*/
|
|
40
|
+
smart_contract: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;
|
|
41
|
+
/**
|
|
42
|
+
*
|
|
43
|
+
* @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}
|
|
44
|
+
* @memberof MempoolTransactionStatsResponseTxByteSizes
|
|
45
|
+
*/
|
|
46
|
+
contract_call: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}
|
|
50
|
+
* @memberof MempoolTransactionStatsResponseTxByteSizes
|
|
51
|
+
*/
|
|
52
|
+
poison_microblock: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function MempoolTransactionStatsResponseTxByteSizesFromJSON(json: any): MempoolTransactionStatsResponseTxByteSizes {
|
|
56
|
+
return MempoolTransactionStatsResponseTxByteSizesFromJSONTyped(json, false);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export function MempoolTransactionStatsResponseTxByteSizesFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolTransactionStatsResponseTxByteSizes {
|
|
60
|
+
if ((json === undefined) || (json === null)) {
|
|
61
|
+
return json;
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
|
|
65
|
+
'token_transfer': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['token_transfer']),
|
|
66
|
+
'smart_contract': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['smart_contract']),
|
|
67
|
+
'contract_call': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['contract_call']),
|
|
68
|
+
'poison_microblock': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['poison_microblock']),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export function MempoolTransactionStatsResponseTxByteSizesToJSON(value?: MempoolTransactionStatsResponseTxByteSizes | null): any {
|
|
73
|
+
if (value === undefined) {
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
if (value === null) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
|
|
81
|
+
'token_transfer': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.token_transfer),
|
|
82
|
+
'smart_contract': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.smart_contract),
|
|
83
|
+
'contract_call': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.contract_call),
|
|
84
|
+
'poison_microblock': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.poison_microblock),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Stacks Blockchain API
|
|
5
|
+
* Welcome to the API reference overview for the <a href=\"https://docs.hiro.so/get-started/stacks-blockchain-api\">Stacks Blockchain API</a>. <a href=\"https://hirosystems.github.io/stacks-blockchain-api/collection.json\" download=\"stacks-api-collection.json\">Download Postman collection</a>
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: STACKS_API_VERSION
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { exists, mapValues } from '../runtime';
|
|
16
|
+
import {
|
|
17
|
+
MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer,
|
|
18
|
+
MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON,
|
|
19
|
+
MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSONTyped,
|
|
20
|
+
MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON,
|
|
21
|
+
} from './';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 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.
|
|
25
|
+
* @export
|
|
26
|
+
* @interface MempoolTransactionStatsResponseTxSimpleFeeAverages
|
|
27
|
+
*/
|
|
28
|
+
export interface MempoolTransactionStatsResponseTxSimpleFeeAverages {
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
* @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}
|
|
32
|
+
* @memberof MempoolTransactionStatsResponseTxSimpleFeeAverages
|
|
33
|
+
*/
|
|
34
|
+
token_transfer: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;
|
|
35
|
+
/**
|
|
36
|
+
*
|
|
37
|
+
* @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}
|
|
38
|
+
* @memberof MempoolTransactionStatsResponseTxSimpleFeeAverages
|
|
39
|
+
*/
|
|
40
|
+
smart_contract: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;
|
|
41
|
+
/**
|
|
42
|
+
*
|
|
43
|
+
* @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}
|
|
44
|
+
* @memberof MempoolTransactionStatsResponseTxSimpleFeeAverages
|
|
45
|
+
*/
|
|
46
|
+
contract_call: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* @type {MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer}
|
|
50
|
+
* @memberof MempoolTransactionStatsResponseTxSimpleFeeAverages
|
|
51
|
+
*/
|
|
52
|
+
poison_microblock: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function MempoolTransactionStatsResponseTxSimpleFeeAveragesFromJSON(json: any): MempoolTransactionStatsResponseTxSimpleFeeAverages {
|
|
56
|
+
return MempoolTransactionStatsResponseTxSimpleFeeAveragesFromJSONTyped(json, false);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export function MempoolTransactionStatsResponseTxSimpleFeeAveragesFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolTransactionStatsResponseTxSimpleFeeAverages {
|
|
60
|
+
if ((json === undefined) || (json === null)) {
|
|
61
|
+
return json;
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
|
|
65
|
+
'token_transfer': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['token_transfer']),
|
|
66
|
+
'smart_contract': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['smart_contract']),
|
|
67
|
+
'contract_call': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['contract_call']),
|
|
68
|
+
'poison_microblock': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json['poison_microblock']),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export function MempoolTransactionStatsResponseTxSimpleFeeAveragesToJSON(value?: MempoolTransactionStatsResponseTxSimpleFeeAverages | null): any {
|
|
73
|
+
if (value === undefined) {
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
if (value === null) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
|
|
81
|
+
'token_transfer': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.token_transfer),
|
|
82
|
+
'smart_contract': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.smart_contract),
|
|
83
|
+
'contract_call': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.contract_call),
|
|
84
|
+
'poison_microblock': MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value.poison_microblock),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
package/src/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.ts
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Stacks Blockchain API
|
|
5
|
+
* Welcome to the API reference overview for the <a href=\"https://docs.hiro.so/get-started/stacks-blockchain-api\">Stacks Blockchain API</a>. <a href=\"https://hirosystems.github.io/stacks-blockchain-api/collection.json\" download=\"stacks-api-collection.json\">Download Postman collection</a>
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: STACKS_API_VERSION
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { exists, mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @interface MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer
|
|
20
|
+
*/
|
|
21
|
+
export interface MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {number}
|
|
25
|
+
* @memberof MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer
|
|
26
|
+
*/
|
|
27
|
+
p25: number | null;
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @type {number}
|
|
31
|
+
* @memberof MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer
|
|
32
|
+
*/
|
|
33
|
+
p50: number | null;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @type {number}
|
|
37
|
+
* @memberof MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer
|
|
38
|
+
*/
|
|
39
|
+
p75: number | null;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @type {number}
|
|
43
|
+
* @memberof MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer
|
|
44
|
+
*/
|
|
45
|
+
p95: number | null;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSON(json: any): MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer {
|
|
49
|
+
return MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSONTyped(json, false);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer {
|
|
53
|
+
if ((json === undefined) || (json === null)) {
|
|
54
|
+
return json;
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
|
|
58
|
+
'p25': json['p25'],
|
|
59
|
+
'p50': json['p50'],
|
|
60
|
+
'p75': json['p75'],
|
|
61
|
+
'p95': json['p95'],
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export function MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransferToJSON(value?: MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer | null): any {
|
|
66
|
+
if (value === undefined) {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
if (value === null) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
|
|
74
|
+
'p25': value.p25,
|
|
75
|
+
'p50': value.p50,
|
|
76
|
+
'p75': value.p75,
|
|
77
|
+
'p95': value.p95,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Stacks Blockchain API
|
|
5
|
+
* Welcome to the API reference overview for the <a href=\"https://docs.hiro.so/get-started/stacks-blockchain-api\">Stacks Blockchain API</a>. <a href=\"https://hirosystems.github.io/stacks-blockchain-api/collection.json\" download=\"stacks-api-collection.json\">Download Postman collection</a>
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: STACKS_API_VERSION
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { exists, mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
* Number of tranasction in the mempool, broken down by transaction type.
|
|
18
|
+
* @export
|
|
19
|
+
* @interface MempoolTransactionStatsResponseTxTypeCounts
|
|
20
|
+
*/
|
|
21
|
+
export interface MempoolTransactionStatsResponseTxTypeCounts {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {number}
|
|
25
|
+
* @memberof MempoolTransactionStatsResponseTxTypeCounts
|
|
26
|
+
*/
|
|
27
|
+
token_transfer: number;
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @type {number}
|
|
31
|
+
* @memberof MempoolTransactionStatsResponseTxTypeCounts
|
|
32
|
+
*/
|
|
33
|
+
smart_contract: number;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @type {number}
|
|
37
|
+
* @memberof MempoolTransactionStatsResponseTxTypeCounts
|
|
38
|
+
*/
|
|
39
|
+
contract_call: number;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @type {number}
|
|
43
|
+
* @memberof MempoolTransactionStatsResponseTxTypeCounts
|
|
44
|
+
*/
|
|
45
|
+
poison_microblock: number;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function MempoolTransactionStatsResponseTxTypeCountsFromJSON(json: any): MempoolTransactionStatsResponseTxTypeCounts {
|
|
49
|
+
return MempoolTransactionStatsResponseTxTypeCountsFromJSONTyped(json, false);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function MempoolTransactionStatsResponseTxTypeCountsFromJSONTyped(json: any, ignoreDiscriminator: boolean): MempoolTransactionStatsResponseTxTypeCounts {
|
|
53
|
+
if ((json === undefined) || (json === null)) {
|
|
54
|
+
return json;
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
|
|
58
|
+
'token_transfer': json['token_transfer'],
|
|
59
|
+
'smart_contract': json['smart_contract'],
|
|
60
|
+
'contract_call': json['contract_call'],
|
|
61
|
+
'poison_microblock': json['poison_microblock'],
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export function MempoolTransactionStatsResponseTxTypeCountsToJSON(value?: MempoolTransactionStatsResponseTxTypeCounts | null): any {
|
|
66
|
+
if (value === undefined) {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
if (value === null) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
|
|
74
|
+
'token_transfer': value.token_transfer,
|
|
75
|
+
'smart_contract': value.smart_contract,
|
|
76
|
+
'contract_call': value.contract_call,
|
|
77
|
+
'poison_microblock': value.poison_microblock,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
@@ -31,19 +31,25 @@ export interface NftEvent {
|
|
|
31
31
|
* @type {string}
|
|
32
32
|
* @memberof NftEvent
|
|
33
33
|
*/
|
|
34
|
-
sender
|
|
34
|
+
sender?: string;
|
|
35
35
|
/**
|
|
36
36
|
*
|
|
37
37
|
* @type {string}
|
|
38
38
|
* @memberof NftEvent
|
|
39
39
|
*/
|
|
40
|
-
recipient
|
|
40
|
+
recipient?: string;
|
|
41
41
|
/**
|
|
42
42
|
*
|
|
43
43
|
* @type {string}
|
|
44
44
|
* @memberof NftEvent
|
|
45
45
|
*/
|
|
46
46
|
asset_identifier: string;
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* @type {string}
|
|
50
|
+
* @memberof NftEvent
|
|
51
|
+
*/
|
|
52
|
+
asset_event_type: string;
|
|
47
53
|
/**
|
|
48
54
|
*
|
|
49
55
|
* @type {AddressNftListResponseValue}
|
|
@@ -56,12 +62,24 @@ export interface NftEvent {
|
|
|
56
62
|
* @memberof NftEvent
|
|
57
63
|
*/
|
|
58
64
|
tx_id: string;
|
|
65
|
+
/**
|
|
66
|
+
*
|
|
67
|
+
* @type {number}
|
|
68
|
+
* @memberof NftEvent
|
|
69
|
+
*/
|
|
70
|
+
tx_index: number;
|
|
59
71
|
/**
|
|
60
72
|
*
|
|
61
73
|
* @type {number}
|
|
62
74
|
* @memberof NftEvent
|
|
63
75
|
*/
|
|
64
76
|
block_height: number;
|
|
77
|
+
/**
|
|
78
|
+
*
|
|
79
|
+
* @type {number}
|
|
80
|
+
* @memberof NftEvent
|
|
81
|
+
*/
|
|
82
|
+
event_index: number;
|
|
65
83
|
}
|
|
66
84
|
|
|
67
85
|
export function NftEventFromJSON(json: any): NftEvent {
|
|
@@ -74,12 +92,15 @@ export function NftEventFromJSONTyped(json: any, ignoreDiscriminator: boolean):
|
|
|
74
92
|
}
|
|
75
93
|
return {
|
|
76
94
|
|
|
77
|
-
'sender': json['sender'],
|
|
78
|
-
'recipient': json['recipient'],
|
|
95
|
+
'sender': !exists(json, 'sender') ? undefined : json['sender'],
|
|
96
|
+
'recipient': !exists(json, 'recipient') ? undefined : json['recipient'],
|
|
79
97
|
'asset_identifier': json['asset_identifier'],
|
|
98
|
+
'asset_event_type': json['asset_event_type'],
|
|
80
99
|
'value': AddressNftListResponseValueFromJSON(json['value']),
|
|
81
100
|
'tx_id': json['tx_id'],
|
|
101
|
+
'tx_index': json['tx_index'],
|
|
82
102
|
'block_height': json['block_height'],
|
|
103
|
+
'event_index': json['event_index'],
|
|
83
104
|
};
|
|
84
105
|
}
|
|
85
106
|
|
|
@@ -95,9 +116,12 @@ export function NftEventToJSON(value?: NftEvent | null): any {
|
|
|
95
116
|
'sender': value.sender,
|
|
96
117
|
'recipient': value.recipient,
|
|
97
118
|
'asset_identifier': value.asset_identifier,
|
|
119
|
+
'asset_event_type': value.asset_event_type,
|
|
98
120
|
'value': AddressNftListResponseValueToJSON(value.value),
|
|
99
121
|
'tx_id': value.tx_id,
|
|
122
|
+
'tx_index': value.tx_index,
|
|
100
123
|
'block_height': value.block_height,
|
|
124
|
+
'event_index': value.event_index,
|
|
101
125
|
};
|
|
102
126
|
}
|
|
103
127
|
|
|
@@ -31,6 +31,12 @@ export interface SmartContract {
|
|
|
31
31
|
* @memberof SmartContract
|
|
32
32
|
*/
|
|
33
33
|
canonical: boolean;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @type {string}
|
|
37
|
+
* @memberof SmartContract
|
|
38
|
+
*/
|
|
39
|
+
contract_id: string;
|
|
34
40
|
/**
|
|
35
41
|
*
|
|
36
42
|
* @type {number}
|
|
@@ -63,6 +69,7 @@ export function SmartContractFromJSONTyped(json: any, ignoreDiscriminator: boole
|
|
|
63
69
|
|
|
64
70
|
'tx_id': json['tx_id'],
|
|
65
71
|
'canonical': json['canonical'],
|
|
72
|
+
'contract_id': json['contract_id'],
|
|
66
73
|
'block_height': json['block_height'],
|
|
67
74
|
'source_code': json['source_code'],
|
|
68
75
|
'abi': json['abi'],
|
|
@@ -80,6 +87,7 @@ export function SmartContractToJSON(value?: SmartContract | null): any {
|
|
|
80
87
|
|
|
81
88
|
'tx_id': value.tx_id,
|
|
82
89
|
'canonical': value.canonical,
|
|
90
|
+
'contract_id': value.contract_id,
|
|
83
91
|
'block_height': value.block_height,
|
|
84
92
|
'source_code': value.source_code,
|
|
85
93
|
'abi': value.abi,
|
|
@@ -47,6 +47,12 @@ export * from './InlineObject';
|
|
|
47
47
|
export * from './InlineObject1';
|
|
48
48
|
export * from './MapEntryResponse';
|
|
49
49
|
export * from './MempoolTransactionListResponse';
|
|
50
|
+
export * from './MempoolTransactionStatsResponse';
|
|
51
|
+
export * from './MempoolTransactionStatsResponseTxAges';
|
|
52
|
+
export * from './MempoolTransactionStatsResponseTxByteSizes';
|
|
53
|
+
export * from './MempoolTransactionStatsResponseTxSimpleFeeAverages';
|
|
54
|
+
export * from './MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer';
|
|
55
|
+
export * from './MempoolTransactionStatsResponseTxTypeCounts';
|
|
50
56
|
export * from './Microblock';
|
|
51
57
|
export * from './MicroblockListResponse';
|
|
52
58
|
export * from './NetworkBlockTimeResponse';
|
package/src/socket-io/index.ts
CHANGED
|
@@ -120,6 +120,30 @@ export class StacksApiSocketClient {
|
|
|
120
120
|
this.handleSubscription(`transaction:${txId}` as const, false);
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
+
subscribeNftEvent() {
|
|
124
|
+
return this.handleSubscription('nft-event', true);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
unsubscribeNftEvent() {
|
|
128
|
+
this.handleSubscription('nft-event', false);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
subscribeNftAssetEvent(assetIdentifier: string, value: string) {
|
|
132
|
+
return this.handleSubscription(`nft-asset-event:${assetIdentifier}+${value}` as const, true);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
unsubscribeNftAssetEvent(assetIdentifier: string, value: string) {
|
|
136
|
+
this.handleSubscription(`nft-asset-event:${assetIdentifier}+${value}` as const, false);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
subscribeNftCollectionEvent(assetIdentifier: string) {
|
|
140
|
+
return this.handleSubscription(`nft-collection-event:${assetIdentifier}` as const, true);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
unsubscribeNftCollectionEvent(assetIdentifier: string) {
|
|
144
|
+
this.handleSubscription(`nft-collection-event:${assetIdentifier}` as const, false);
|
|
145
|
+
}
|
|
146
|
+
|
|
123
147
|
logEvents() {
|
|
124
148
|
this.socket.on('connect', () => console.log('socket connected'));
|
|
125
149
|
this.socket.on('disconnect', reason => console.warn('disconnected', reason));
|
|
@@ -133,5 +157,12 @@ export class StacksApiSocketClient {
|
|
|
133
157
|
this.socket.on('address-stx-balance', (address, data) =>
|
|
134
158
|
console.log('address-stx-balance', address, data)
|
|
135
159
|
);
|
|
160
|
+
this.socket.on('nft-event', event => console.log('nft-event', event));
|
|
161
|
+
this.socket.on('nft-asset-event', (assetIdentifier, value, event) =>
|
|
162
|
+
console.log('nft-asset-event', assetIdentifier, value, event)
|
|
163
|
+
);
|
|
164
|
+
this.socket.on('nft-collection-event', (assetIdentifier, event) =>
|
|
165
|
+
console.log('nft-collection-event', assetIdentifier, event)
|
|
166
|
+
);
|
|
136
167
|
}
|
|
137
168
|
}
|
package/src/ws/index.ts
CHANGED
|
@@ -2,11 +2,8 @@ import * as JsonRpcLite from 'jsonrpc-lite';
|
|
|
2
2
|
import { EventEmitter } from 'eventemitter3';
|
|
3
3
|
import {
|
|
4
4
|
RpcTxUpdateSubscriptionParams,
|
|
5
|
-
RpcTxUpdateNotificationParams,
|
|
6
5
|
RpcAddressTxSubscriptionParams,
|
|
7
|
-
RpcAddressTxNotificationParams,
|
|
8
6
|
RpcAddressBalanceSubscriptionParams,
|
|
9
|
-
RpcAddressBalanceNotificationParams,
|
|
10
7
|
RpcSubscriptionType,
|
|
11
8
|
Block,
|
|
12
9
|
RpcBlockSubscriptionParams,
|
|
@@ -14,6 +11,13 @@ import {
|
|
|
14
11
|
Transaction,
|
|
15
12
|
RpcMicroblockSubscriptionParams,
|
|
16
13
|
RpcMempoolSubscriptionParams,
|
|
14
|
+
MempoolTransaction,
|
|
15
|
+
RpcAddressBalanceNotificationParams,
|
|
16
|
+
RpcAddressTxNotificationParams,
|
|
17
|
+
NftEvent,
|
|
18
|
+
RpcNftEventSubscriptionParams,
|
|
19
|
+
RpcNftAssetEventSubscriptionParams,
|
|
20
|
+
RpcNftCollectionEventSubscriptionParams,
|
|
17
21
|
} from '@stacks/stacks-blockchain-api-types';
|
|
18
22
|
import { BASE_PATH } from '../generated/runtime';
|
|
19
23
|
|
|
@@ -35,9 +39,12 @@ export class StacksApiWebSocketClient {
|
|
|
35
39
|
block: (event: Block) => void;
|
|
36
40
|
microblock: (event: Microblock) => void;
|
|
37
41
|
mempool: (event: Transaction) => void;
|
|
38
|
-
txUpdate: (event:
|
|
42
|
+
txUpdate: (event: Transaction | MempoolTransaction) => any;
|
|
39
43
|
addressTxUpdate: (event: RpcAddressTxNotificationParams) => void;
|
|
40
44
|
addressBalanceUpdate: (event: RpcAddressBalanceNotificationParams) => void;
|
|
45
|
+
nftEventUpdate: (event: NftEvent) => void;
|
|
46
|
+
nftAssetEventUpdate: (event: NftEvent) => void;
|
|
47
|
+
nftCollectionEventUpdate: (event: NftEvent) => void;
|
|
41
48
|
}>();
|
|
42
49
|
|
|
43
50
|
public static async connect(url: string = BASE_PATH): Promise<StacksApiWebSocketClient> {
|
|
@@ -93,10 +100,11 @@ export class StacksApiWebSocketClient {
|
|
|
93
100
|
const method = data.method as RpcSubscriptionType;
|
|
94
101
|
switch (method) {
|
|
95
102
|
case 'tx_update':
|
|
96
|
-
this.eventEmitter.emit('txUpdate', data.params as
|
|
103
|
+
this.eventEmitter.emit('txUpdate', data.params as (Transaction | MempoolTransaction));
|
|
97
104
|
break;
|
|
98
105
|
case 'address_tx_update':
|
|
99
|
-
this.eventEmitter.emit('addressTxUpdate',
|
|
106
|
+
this.eventEmitter.emit('addressTxUpdate',
|
|
107
|
+
data.params as RpcAddressTxNotificationParams);
|
|
100
108
|
break;
|
|
101
109
|
case 'address_balance_update':
|
|
102
110
|
this.eventEmitter.emit(
|
|
@@ -113,6 +121,15 @@ export class StacksApiWebSocketClient {
|
|
|
113
121
|
case 'mempool':
|
|
114
122
|
this.eventEmitter.emit('mempool', data.params as Transaction);
|
|
115
123
|
break;
|
|
124
|
+
case 'nft_event':
|
|
125
|
+
this.eventEmitter.emit('nftEventUpdate', data.params as NftEvent);
|
|
126
|
+
break;
|
|
127
|
+
case 'nft_asset_event':
|
|
128
|
+
this.eventEmitter.emit('nftAssetEventUpdate', data.params as NftEvent);
|
|
129
|
+
break;
|
|
130
|
+
case 'nft_collection_event':
|
|
131
|
+
this.eventEmitter.emit('nftCollectionEventUpdate', data.params as NftEvent);
|
|
132
|
+
break;
|
|
116
133
|
}
|
|
117
134
|
}
|
|
118
135
|
|
|
@@ -171,11 +188,11 @@ export class StacksApiWebSocketClient {
|
|
|
171
188
|
|
|
172
189
|
async subscribeTxUpdates(
|
|
173
190
|
txId: string,
|
|
174
|
-
update: (event:
|
|
191
|
+
update: (event: Transaction | MempoolTransaction) => any
|
|
175
192
|
): Promise<Subscription> {
|
|
176
193
|
const params: RpcTxUpdateSubscriptionParams = { event: 'tx_update', tx_id: txId };
|
|
177
194
|
const subscribed = await this.rpcCall<{ tx_id: string }>('subscribe', params);
|
|
178
|
-
const listener = (event:
|
|
195
|
+
const listener = (event: Transaction | MempoolTransaction) => {
|
|
179
196
|
if (event.tx_id === subscribed.tx_id) {
|
|
180
197
|
update(event);
|
|
181
198
|
}
|
|
@@ -231,6 +248,71 @@ export class StacksApiWebSocketClient {
|
|
|
231
248
|
},
|
|
232
249
|
};
|
|
233
250
|
}
|
|
251
|
+
|
|
252
|
+
async subscribeNftEventUpdates(update: (event: NftEvent) => any): Promise<Subscription> {
|
|
253
|
+
const params: RpcNftEventSubscriptionParams = {
|
|
254
|
+
event: 'nft_event',
|
|
255
|
+
};
|
|
256
|
+
await this.rpcCall('subscribe', params);
|
|
257
|
+
const listener = (event: NftEvent) => {
|
|
258
|
+
update(event);
|
|
259
|
+
};
|
|
260
|
+
this.eventEmitter.addListener('nftEventUpdate', listener);
|
|
261
|
+
return {
|
|
262
|
+
unsubscribe: () => {
|
|
263
|
+
this.eventEmitter.removeListener('nftEventUpdate', listener);
|
|
264
|
+
return this.rpcCall('unsubscribe', params);
|
|
265
|
+
},
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
async subscribeNftAssetEventUpdates(
|
|
270
|
+
assetIdentifier: string,
|
|
271
|
+
value: string,
|
|
272
|
+
update: (event: NftEvent) => any
|
|
273
|
+
): Promise<Subscription> {
|
|
274
|
+
const params: RpcNftAssetEventSubscriptionParams = {
|
|
275
|
+
event: 'nft_asset_event',
|
|
276
|
+
asset_identifier: assetIdentifier,
|
|
277
|
+
value,
|
|
278
|
+
};
|
|
279
|
+
const subscribed = await this.rpcCall<{ asset_identifier: string, value: string }>('subscribe', params);
|
|
280
|
+
const listener = (event: NftEvent) => {
|
|
281
|
+
if (event.asset_identifier === subscribed.asset_identifier && event.value.hex === subscribed.value) {
|
|
282
|
+
update(event);
|
|
283
|
+
}
|
|
284
|
+
};
|
|
285
|
+
this.eventEmitter.addListener('nftAssetEventUpdate', listener);
|
|
286
|
+
return {
|
|
287
|
+
unsubscribe: () => {
|
|
288
|
+
this.eventEmitter.removeListener('nftAssetEventUpdate', listener);
|
|
289
|
+
return this.rpcCall('unsubscribe', params);
|
|
290
|
+
},
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
async subscribeNftCollectionEventUpdates(
|
|
295
|
+
assetIdentifier: string,
|
|
296
|
+
update: (event: NftEvent) => any
|
|
297
|
+
): Promise<Subscription> {
|
|
298
|
+
const params: RpcNftCollectionEventSubscriptionParams = {
|
|
299
|
+
event: 'nft_collection_event',
|
|
300
|
+
asset_identifier: assetIdentifier,
|
|
301
|
+
};
|
|
302
|
+
const subscribed = await this.rpcCall<{ asset_identifier: string }>('subscribe', params);
|
|
303
|
+
const listener = (event: NftEvent) => {
|
|
304
|
+
if (event.asset_identifier === subscribed.asset_identifier) {
|
|
305
|
+
update(event);
|
|
306
|
+
}
|
|
307
|
+
};
|
|
308
|
+
this.eventEmitter.addListener('nftCollectionEventUpdate', listener);
|
|
309
|
+
return {
|
|
310
|
+
unsubscribe: () => {
|
|
311
|
+
this.eventEmitter.removeListener('nftCollectionEventUpdate', listener);
|
|
312
|
+
return this.rpcCall('unsubscribe', params);
|
|
313
|
+
},
|
|
314
|
+
};
|
|
315
|
+
}
|
|
234
316
|
}
|
|
235
317
|
|
|
236
318
|
export async function connectWebSocketClient(
|