@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.
Files changed (231) hide show
  1. package/README.md +112 -50
  2. package/lib/generated/apis/AccountsApi.js +9 -9
  3. package/lib/generated/apis/AccountsApi.js.map +1 -1
  4. package/lib/generated/apis/BlocksApi.js +5 -5
  5. package/lib/generated/apis/BlocksApi.js.map +1 -1
  6. package/lib/generated/apis/FaucetsApi.js +4 -4
  7. package/lib/generated/apis/FaucetsApi.js.map +1 -1
  8. package/lib/generated/apis/FeesApi.js +4 -4
  9. package/lib/generated/apis/FeesApi.js.map +1 -1
  10. package/lib/generated/apis/FungibleTokensApi.js +2 -2
  11. package/lib/generated/apis/FungibleTokensApi.js.map +1 -1
  12. package/lib/generated/apis/InfoApi.js +7 -7
  13. package/lib/generated/apis/InfoApi.js.map +1 -1
  14. package/lib/generated/apis/MicroblocksApi.js +3 -3
  15. package/lib/generated/apis/MicroblocksApi.js.map +1 -1
  16. package/lib/generated/apis/NamesApi.js +5 -5
  17. package/lib/generated/apis/NamesApi.js.map +1 -1
  18. package/lib/generated/apis/NonFungibleTokensApi.js +5 -5
  19. package/lib/generated/apis/NonFungibleTokensApi.js.map +1 -1
  20. package/lib/generated/apis/RosettaApi.js +31 -31
  21. package/lib/generated/apis/RosettaApi.js.map +1 -1
  22. package/lib/generated/apis/SmartContractsApi.d.ts +5 -5
  23. package/lib/generated/apis/SmartContractsApi.js +7 -7
  24. package/lib/generated/apis/SmartContractsApi.js.map +1 -1
  25. package/lib/generated/apis/StackingRewardsApi.js +5 -5
  26. package/lib/generated/apis/StackingRewardsApi.js.map +1 -1
  27. package/lib/generated/apis/TransactionsApi.d.ts +24 -1
  28. package/lib/generated/apis/TransactionsApi.js +31 -8
  29. package/lib/generated/apis/TransactionsApi.js.map +1 -1
  30. package/lib/generated/apis/index.js +5 -1
  31. package/lib/generated/apis/index.js.map +1 -1
  32. package/lib/generated/index.js +5 -1
  33. package/lib/generated/index.js.map +1 -1
  34. package/lib/generated/models/AddressBalanceResponse.js +4 -4
  35. package/lib/generated/models/AddressBalanceResponse.js.map +1 -1
  36. package/lib/generated/models/AddressTransactionWithTransfers.js +2 -2
  37. package/lib/generated/models/AddressTransactionWithTransfers.js.map +1 -1
  38. package/lib/generated/models/AddressTransactionWithTransfersFtTransfers.js +2 -2
  39. package/lib/generated/models/AddressTransactionWithTransfersFtTransfers.js.map +1 -1
  40. package/lib/generated/models/AddressTransactionWithTransfersNftTransfers.js +4 -4
  41. package/lib/generated/models/AddressTransactionWithTransfersNftTransfers.js.map +1 -1
  42. package/lib/generated/models/AddressTransactionWithTransfersStxTransfers.js +2 -2
  43. package/lib/generated/models/AddressTransactionWithTransfersStxTransfers.js.map +1 -1
  44. package/lib/generated/models/Block.d.ts +8 -0
  45. package/lib/generated/models/Block.js +2 -0
  46. package/lib/generated/models/Block.js.map +1 -1
  47. package/lib/generated/models/BnsError.js +1 -1
  48. package/lib/generated/models/BnsError.js.map +1 -1
  49. package/lib/generated/models/BnsGetNameInfoResponse.js +3 -3
  50. package/lib/generated/models/BnsGetNameInfoResponse.js.map +1 -1
  51. package/lib/generated/models/ChainTip.js +2 -2
  52. package/lib/generated/models/ChainTip.js.map +1 -1
  53. package/lib/generated/models/InlineObject.js +2 -2
  54. package/lib/generated/models/InlineObject.js.map +1 -1
  55. package/lib/generated/models/InlineObject1.js +1 -1
  56. package/lib/generated/models/InlineObject1.js.map +1 -1
  57. package/lib/generated/models/MapEntryResponse.js +1 -1
  58. package/lib/generated/models/MapEntryResponse.js.map +1 -1
  59. package/lib/generated/models/MempoolTransactionStatsResponse.d.ts +46 -0
  60. package/lib/generated/models/MempoolTransactionStatsResponse.js +49 -0
  61. package/lib/generated/models/MempoolTransactionStatsResponse.js.map +1 -0
  62. package/lib/generated/models/MempoolTransactionStatsResponseTxAges.d.ts +46 -0
  63. package/lib/generated/models/MempoolTransactionStatsResponseTxAges.js +49 -0
  64. package/lib/generated/models/MempoolTransactionStatsResponseTxAges.js.map +1 -0
  65. package/lib/generated/models/MempoolTransactionStatsResponseTxByteSizes.d.ts +46 -0
  66. package/lib/generated/models/MempoolTransactionStatsResponseTxByteSizes.js +49 -0
  67. package/lib/generated/models/MempoolTransactionStatsResponseTxByteSizes.js.map +1 -0
  68. package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.d.ts +46 -0
  69. package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.js +49 -0
  70. package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.js.map +1 -0
  71. package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.d.ts +45 -0
  72. package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.js +48 -0
  73. package/lib/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.js.map +1 -0
  74. package/lib/generated/models/MempoolTransactionStatsResponseTxTypeCounts.d.ts +45 -0
  75. package/lib/generated/models/MempoolTransactionStatsResponseTxTypeCounts.js +48 -0
  76. package/lib/generated/models/MempoolTransactionStatsResponseTxTypeCounts.js.map +1 -0
  77. package/lib/generated/models/NetworkBlockTimesResponse.js +4 -4
  78. package/lib/generated/models/NetworkBlockTimesResponse.js.map +1 -1
  79. package/lib/generated/models/NetworkIdentifier.js +2 -2
  80. package/lib/generated/models/NetworkIdentifier.js.map +1 -1
  81. package/lib/generated/models/NftEvent.d.ts +20 -2
  82. package/lib/generated/models/NftEvent.js +11 -4
  83. package/lib/generated/models/NftEvent.js.map +1 -1
  84. package/lib/generated/models/ReadOnlyFunctionSuccessResponse.js +2 -2
  85. package/lib/generated/models/ReadOnlyFunctionSuccessResponse.js.map +1 -1
  86. package/lib/generated/models/RosettaAccount.js +3 -3
  87. package/lib/generated/models/RosettaAccount.js.map +1 -1
  88. package/lib/generated/models/RosettaAccountBalanceRequest.js +5 -5
  89. package/lib/generated/models/RosettaAccountBalanceRequest.js.map +1 -1
  90. package/lib/generated/models/RosettaAccountBalanceResponse.js +3 -3
  91. package/lib/generated/models/RosettaAccountBalanceResponse.js.map +1 -1
  92. package/lib/generated/models/RosettaAccountIdentifier.js +3 -3
  93. package/lib/generated/models/RosettaAccountIdentifier.js.map +1 -1
  94. package/lib/generated/models/RosettaAmount.js +3 -3
  95. package/lib/generated/models/RosettaAmount.js.map +1 -1
  96. package/lib/generated/models/RosettaBlock.js +4 -4
  97. package/lib/generated/models/RosettaBlock.js.map +1 -1
  98. package/lib/generated/models/RosettaBlockMetadata.js +3 -3
  99. package/lib/generated/models/RosettaBlockMetadata.js.map +1 -1
  100. package/lib/generated/models/RosettaBlockRequest.js +2 -2
  101. package/lib/generated/models/RosettaBlockRequest.js.map +1 -1
  102. package/lib/generated/models/RosettaBlockResponse.js +3 -3
  103. package/lib/generated/models/RosettaBlockResponse.js.map +1 -1
  104. package/lib/generated/models/RosettaBlockTransactionRequest.js +4 -4
  105. package/lib/generated/models/RosettaBlockTransactionRequest.js.map +1 -1
  106. package/lib/generated/models/RosettaBlockTransactionResponse.js +2 -2
  107. package/lib/generated/models/RosettaBlockTransactionResponse.js.map +1 -1
  108. package/lib/generated/models/RosettaCoin.js +4 -4
  109. package/lib/generated/models/RosettaCoin.js.map +1 -1
  110. package/lib/generated/models/RosettaCoinChange.js +2 -2
  111. package/lib/generated/models/RosettaCoinChange.js.map +1 -1
  112. package/lib/generated/models/RosettaConstructionCombineRequest.js +2 -2
  113. package/lib/generated/models/RosettaConstructionCombineRequest.js.map +1 -1
  114. package/lib/generated/models/RosettaConstructionDeriveRequest.js +5 -5
  115. package/lib/generated/models/RosettaConstructionDeriveRequest.js.map +1 -1
  116. package/lib/generated/models/RosettaConstructionDeriveResponse.js +4 -4
  117. package/lib/generated/models/RosettaConstructionDeriveResponse.js.map +1 -1
  118. package/lib/generated/models/RosettaConstructionHashRequest.js +2 -2
  119. package/lib/generated/models/RosettaConstructionHashRequest.js.map +1 -1
  120. package/lib/generated/models/RosettaConstructionHashResponse.js +3 -3
  121. package/lib/generated/models/RosettaConstructionHashResponse.js.map +1 -1
  122. package/lib/generated/models/RosettaConstructionMetadataRequest.js +5 -5
  123. package/lib/generated/models/RosettaConstructionMetadataRequest.js.map +1 -1
  124. package/lib/generated/models/RosettaConstructionMetadataResponse.js +3 -3
  125. package/lib/generated/models/RosettaConstructionMetadataResponse.js.map +1 -1
  126. package/lib/generated/models/RosettaConstructionMetadataResponseMetadata.js +2 -2
  127. package/lib/generated/models/RosettaConstructionMetadataResponseMetadata.js.map +1 -1
  128. package/lib/generated/models/RosettaConstructionParseRequest.js +2 -2
  129. package/lib/generated/models/RosettaConstructionParseRequest.js.map +1 -1
  130. package/lib/generated/models/RosettaConstructionParseResponse.js +3 -3
  131. package/lib/generated/models/RosettaConstructionParseResponse.js.map +1 -1
  132. package/lib/generated/models/RosettaConstructionPayloadsRequest.js +5 -5
  133. package/lib/generated/models/RosettaConstructionPayloadsRequest.js.map +1 -1
  134. package/lib/generated/models/RosettaConstructionPreprocessRequest.js +5 -5
  135. package/lib/generated/models/RosettaConstructionPreprocessRequest.js.map +1 -1
  136. package/lib/generated/models/RosettaConstructionPreprocessResponse.js +3 -3
  137. package/lib/generated/models/RosettaConstructionPreprocessResponse.js.map +1 -1
  138. package/lib/generated/models/RosettaConstructionSubmitRequest.js +2 -2
  139. package/lib/generated/models/RosettaConstructionSubmitRequest.js.map +1 -1
  140. package/lib/generated/models/RosettaConstructionSubmitResponse.js +3 -3
  141. package/lib/generated/models/RosettaConstructionSubmitResponse.js.map +1 -1
  142. package/lib/generated/models/RosettaCurrency.js +1 -1
  143. package/lib/generated/models/RosettaCurrency.js.map +1 -1
  144. package/lib/generated/models/RosettaError.js +2 -2
  145. package/lib/generated/models/RosettaError.js.map +1 -1
  146. package/lib/generated/models/RosettaErrorDetails.js +2 -2
  147. package/lib/generated/models/RosettaErrorDetails.js.map +1 -1
  148. package/lib/generated/models/RosettaMaxFeeAmount.js +3 -3
  149. package/lib/generated/models/RosettaMaxFeeAmount.js.map +1 -1
  150. package/lib/generated/models/RosettaMempoolRequest.js +3 -3
  151. package/lib/generated/models/RosettaMempoolRequest.js.map +1 -1
  152. package/lib/generated/models/RosettaMempoolResponse.js +1 -1
  153. package/lib/generated/models/RosettaMempoolResponse.js.map +1 -1
  154. package/lib/generated/models/RosettaMempoolTransactionRequest.js +4 -4
  155. package/lib/generated/models/RosettaMempoolTransactionRequest.js.map +1 -1
  156. package/lib/generated/models/RosettaMempoolTransactionResponse.js +3 -3
  157. package/lib/generated/models/RosettaMempoolTransactionResponse.js.map +1 -1
  158. package/lib/generated/models/RosettaNetworkListResponseSubNetworkIdentifier.js +2 -2
  159. package/lib/generated/models/RosettaNetworkListResponseSubNetworkIdentifier.js.map +1 -1
  160. package/lib/generated/models/RosettaNetworkOptionsResponse.js +4 -4
  161. package/lib/generated/models/RosettaNetworkOptionsResponse.js.map +1 -1
  162. package/lib/generated/models/RosettaNetworkOptionsResponseVersion.js +2 -2
  163. package/lib/generated/models/RosettaNetworkOptionsResponseVersion.js.map +1 -1
  164. package/lib/generated/models/RosettaNetworkStatusResponse.js +6 -6
  165. package/lib/generated/models/RosettaNetworkStatusResponse.js.map +1 -1
  166. package/lib/generated/models/RosettaOperation.js +11 -11
  167. package/lib/generated/models/RosettaOperation.js.map +1 -1
  168. package/lib/generated/models/RosettaOperationIdentifier.js +1 -1
  169. package/lib/generated/models/RosettaOperationIdentifier.js.map +1 -1
  170. package/lib/generated/models/RosettaOptions.js +20 -20
  171. package/lib/generated/models/RosettaOptions.js.map +1 -1
  172. package/lib/generated/models/RosettaOptionsRequest.js +3 -3
  173. package/lib/generated/models/RosettaOptionsRequest.js.map +1 -1
  174. package/lib/generated/models/RosettaPeers.js +1 -1
  175. package/lib/generated/models/RosettaPeers.js.map +1 -1
  176. package/lib/generated/models/RosettaRelatedOperation.js +1 -1
  177. package/lib/generated/models/RosettaRelatedOperation.js.map +1 -1
  178. package/lib/generated/models/RosettaSignature.js +4 -4
  179. package/lib/generated/models/RosettaSignature.js.map +1 -1
  180. package/lib/generated/models/RosettaStatusRequest.js +3 -3
  181. package/lib/generated/models/RosettaStatusRequest.js.map +1 -1
  182. package/lib/generated/models/RosettaSubAccount.js +1 -1
  183. package/lib/generated/models/RosettaSubAccount.js.map +1 -1
  184. package/lib/generated/models/RosettaSyncStatus.js +3 -3
  185. package/lib/generated/models/RosettaSyncStatus.js.map +1 -1
  186. package/lib/generated/models/RosettaTransaction.js +4 -4
  187. package/lib/generated/models/RosettaTransaction.js.map +1 -1
  188. package/lib/generated/models/RunFaucetResponse.js +2 -2
  189. package/lib/generated/models/RunFaucetResponse.js.map +1 -1
  190. package/lib/generated/models/ServerStatusResponse.js +3 -3
  191. package/lib/generated/models/ServerStatusResponse.js.map +1 -1
  192. package/lib/generated/models/SigningPayload.js +4 -4
  193. package/lib/generated/models/SigningPayload.js.map +1 -1
  194. package/lib/generated/models/SmartContract.d.ts +6 -0
  195. package/lib/generated/models/SmartContract.js +2 -0
  196. package/lib/generated/models/SmartContract.js.map +1 -1
  197. package/lib/generated/models/TransactionFeeEstimateRequest.js +1 -1
  198. package/lib/generated/models/TransactionFeeEstimateRequest.js.map +1 -1
  199. package/lib/generated/models/TransactionFeeEstimateResponse.js +4 -4
  200. package/lib/generated/models/TransactionFeeEstimateResponse.js.map +1 -1
  201. package/lib/generated/models/TransactionFeeEstimateResponseEstimations.js +2 -2
  202. package/lib/generated/models/TransactionFeeEstimateResponseEstimations.js.map +1 -1
  203. package/lib/generated/models/index.d.ts +6 -0
  204. package/lib/generated/models/index.js +11 -1
  205. package/lib/generated/models/index.js.map +1 -1
  206. package/lib/index.js +5 -1
  207. package/lib/index.js.map +1 -1
  208. package/lib/index.umd.js +522 -80
  209. package/lib/index.umd.js.map +1 -1
  210. package/lib/socket-io/index.d.ts +12 -0
  211. package/lib/socket-io/index.js +22 -1
  212. package/lib/socket-io/index.js.map +1 -1
  213. package/lib/ws/index.d.ts +9 -3
  214. package/lib/ws/index.js +64 -0
  215. package/lib/ws/index.js.map +1 -1
  216. package/package.json +5 -5
  217. package/src/generated/.openapi-generator/FILES +6 -0
  218. package/src/generated/apis/SmartContractsApi.ts +8 -5
  219. package/src/generated/apis/TransactionsApi.ts +46 -0
  220. package/src/generated/models/Block.ts +8 -0
  221. package/src/generated/models/MempoolTransactionStatsResponse.ts +99 -0
  222. package/src/generated/models/MempoolTransactionStatsResponseTxAges.ts +87 -0
  223. package/src/generated/models/MempoolTransactionStatsResponseTxByteSizes.ts +87 -0
  224. package/src/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAverages.ts +87 -0
  225. package/src/generated/models/MempoolTransactionStatsResponseTxSimpleFeeAveragesTokenTransfer.ts +80 -0
  226. package/src/generated/models/MempoolTransactionStatsResponseTxTypeCounts.ts +80 -0
  227. package/src/generated/models/NftEvent.ts +28 -4
  228. package/src/generated/models/SmartContract.ts +8 -0
  229. package/src/generated/models/index.ts +6 -0
  230. package/src/socket-io/index.ts +31 -0
  231. 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
+
@@ -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: string;
34
+ sender?: string;
35
35
  /**
36
36
  *
37
37
  * @type {string}
38
38
  * @memberof NftEvent
39
39
  */
40
- recipient: string;
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';
@@ -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: RpcTxUpdateNotificationParams) => any;
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 RpcTxUpdateNotificationParams);
103
+ this.eventEmitter.emit('txUpdate', data.params as (Transaction | MempoolTransaction));
97
104
  break;
98
105
  case 'address_tx_update':
99
- this.eventEmitter.emit('addressTxUpdate', data.params as RpcAddressTxNotificationParams);
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: RpcTxUpdateNotificationParams) => any
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: RpcTxUpdateNotificationParams) => {
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(