coinbase-api 0.3.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/README.md +438 -14
  2. package/dist/cjs/CBAdvancedTradeClient.d.ts +559 -0
  3. package/dist/cjs/CBAdvancedTradeClient.js +574 -0
  4. package/dist/cjs/CBAdvancedTradeClient.js.map +1 -0
  5. package/dist/cjs/CBAppClient.d.ts +359 -0
  6. package/dist/cjs/CBAppClient.js +336 -0
  7. package/dist/cjs/CBAppClient.js.map +1 -0
  8. package/dist/cjs/CBCommerceClient.d.ts +110 -0
  9. package/dist/cjs/CBCommerceClient.js +105 -0
  10. package/dist/cjs/CBCommerceClient.js.map +1 -0
  11. package/dist/cjs/CBExchangeClient.d.ts +640 -0
  12. package/dist/cjs/CBExchangeClient.js +751 -0
  13. package/dist/cjs/CBExchangeClient.js.map +1 -0
  14. package/dist/cjs/CBInternationalClient.d.ts +381 -0
  15. package/dist/cjs/CBInternationalClient.js +437 -0
  16. package/dist/cjs/CBInternationalClient.js.map +1 -0
  17. package/dist/cjs/CBPrimeClient.d.ts +363 -0
  18. package/dist/cjs/CBPrimeClient.js +451 -0
  19. package/dist/cjs/CBPrimeClient.js.map +1 -0
  20. package/dist/cjs/WebsocketClient.d.ts +78 -0
  21. package/dist/cjs/WebsocketClient.js +534 -0
  22. package/dist/cjs/WebsocketClient.js.map +1 -0
  23. package/dist/cjs/index.d.ts +13 -0
  24. package/dist/cjs/index.js +30 -0
  25. package/dist/cjs/index.js.map +1 -0
  26. package/dist/cjs/lib/BaseRestClient.d.ts +66 -0
  27. package/dist/cjs/lib/BaseRestClient.js +436 -0
  28. package/dist/cjs/lib/BaseRestClient.js.map +1 -0
  29. package/dist/cjs/lib/BaseWSClient.d.ts +169 -0
  30. package/dist/cjs/lib/BaseWSClient.js +638 -0
  31. package/dist/cjs/lib/BaseWSClient.js.map +1 -0
  32. package/dist/cjs/lib/jwtNode.d.ts +13 -0
  33. package/dist/cjs/lib/jwtNode.js +52 -0
  34. package/dist/cjs/lib/jwtNode.js.map +1 -0
  35. package/dist/cjs/lib/misc-util.d.ts +1 -0
  36. package/dist/cjs/lib/misc-util.js +7 -0
  37. package/dist/cjs/lib/misc-util.js.map +1 -0
  38. package/dist/cjs/lib/requestUtils.d.ts +98 -0
  39. package/dist/cjs/lib/requestUtils.js +75 -0
  40. package/dist/cjs/lib/requestUtils.js.map +1 -0
  41. package/dist/cjs/lib/webCryptoAPI.d.ts +10 -0
  42. package/dist/cjs/lib/webCryptoAPI.js +83 -0
  43. package/dist/cjs/lib/webCryptoAPI.js.map +1 -0
  44. package/dist/cjs/lib/websocket/WsStore.d.ts +63 -0
  45. package/dist/cjs/lib/websocket/WsStore.js +254 -0
  46. package/dist/cjs/lib/websocket/WsStore.js.map +1 -0
  47. package/dist/cjs/lib/websocket/WsStore.types.d.ts +49 -0
  48. package/dist/cjs/lib/websocket/WsStore.types.js +14 -0
  49. package/dist/cjs/lib/websocket/WsStore.types.js.map +1 -0
  50. package/dist/cjs/lib/websocket/logger.d.ts +6 -0
  51. package/dist/cjs/lib/websocket/logger.js +16 -0
  52. package/dist/cjs/lib/websocket/logger.js.map +1 -0
  53. package/dist/cjs/lib/websocket/typeGuards.d.ts +27 -0
  54. package/dist/cjs/lib/websocket/typeGuards.js +86 -0
  55. package/dist/cjs/lib/websocket/typeGuards.js.map +1 -0
  56. package/dist/cjs/lib/websocket/websocket-util.d.ts +120 -0
  57. package/dist/cjs/lib/websocket/websocket-util.js +173 -0
  58. package/dist/cjs/lib/websocket/websocket-util.js.map +1 -0
  59. package/dist/cjs/package.json +3 -0
  60. package/dist/cjs/types/request/advanced-trade-client.d.ts +194 -0
  61. package/dist/cjs/types/request/advanced-trade-client.js +18 -0
  62. package/dist/cjs/types/request/advanced-trade-client.js.map +1 -0
  63. package/dist/cjs/types/request/coinbase-app-client.d.ts +80 -0
  64. package/dist/cjs/types/request/coinbase-app-client.js +28 -0
  65. package/dist/cjs/types/request/coinbase-app-client.js.map +1 -0
  66. package/dist/cjs/types/request/coinbase-exchange.d.ts +332 -0
  67. package/dist/cjs/types/request/coinbase-exchange.js +3 -0
  68. package/dist/cjs/types/request/coinbase-exchange.js.map +1 -0
  69. package/dist/cjs/types/request/coinbase-international.d.ts +160 -0
  70. package/dist/cjs/types/request/coinbase-international.js +13 -0
  71. package/dist/cjs/types/request/coinbase-international.js.map +1 -0
  72. package/dist/cjs/types/request/coinbase-prime.d.ts +298 -0
  73. package/dist/cjs/types/request/coinbase-prime.js +8 -0
  74. package/dist/cjs/types/request/coinbase-prime.js.map +1 -0
  75. package/dist/cjs/types/response/advanced-trade-client.d.ts +759 -0
  76. package/dist/cjs/types/response/advanced-trade-client.js +8 -0
  77. package/dist/cjs/types/response/advanced-trade-client.js.map +1 -0
  78. package/dist/cjs/types/response/coinbase-app-client.d.ts +168 -0
  79. package/dist/cjs/types/response/coinbase-app-client.js +18 -0
  80. package/dist/cjs/types/response/coinbase-app-client.js.map +1 -0
  81. package/dist/cjs/types/response/coinbase-exchange.d.ts +80 -0
  82. package/dist/cjs/types/response/coinbase-exchange.js +82 -0
  83. package/dist/cjs/types/response/coinbase-exchange.js.map +1 -0
  84. package/dist/cjs/types/response/coinbase-international.d.ts +40 -0
  85. package/dist/cjs/types/response/coinbase-international.js +42 -0
  86. package/dist/cjs/types/response/coinbase-international.js.map +1 -0
  87. package/dist/cjs/types/response/coinbase-prime.d.ts +70 -0
  88. package/dist/cjs/types/response/coinbase-prime.js +72 -0
  89. package/dist/cjs/types/response/coinbase-prime.js.map +1 -0
  90. package/dist/cjs/types/response/ws.d.ts +7 -0
  91. package/dist/cjs/types/response/ws.js +3 -0
  92. package/dist/cjs/types/response/ws.js.map +1 -0
  93. package/dist/cjs/types/shared.types.d.ts +60 -0
  94. package/dist/cjs/types/shared.types.js +3 -0
  95. package/dist/cjs/types/shared.types.js.map +1 -0
  96. package/dist/cjs/types/websockets/client.d.ts +73 -0
  97. package/dist/cjs/types/websockets/client.js +3 -0
  98. package/dist/cjs/types/websockets/client.js.map +1 -0
  99. package/dist/cjs/types/websockets/events.d.ts +40 -0
  100. package/dist/cjs/types/websockets/events.js +3 -0
  101. package/dist/cjs/types/websockets/events.js.map +1 -0
  102. package/dist/cjs/types/websockets/requests.d.ts +76 -0
  103. package/dist/cjs/types/websockets/requests.js +3 -0
  104. package/dist/cjs/types/websockets/requests.js.map +1 -0
  105. package/dist/cjs/types/websockets/wsAPI.d.ts +9 -0
  106. package/dist/cjs/types/websockets/wsAPI.js +3 -0
  107. package/dist/cjs/types/websockets/wsAPI.js.map +1 -0
  108. package/dist/mjs/CBAdvancedTradeClient.d.ts +559 -0
  109. package/dist/mjs/CBAdvancedTradeClient.js +570 -0
  110. package/dist/mjs/CBAdvancedTradeClient.js.map +1 -0
  111. package/dist/mjs/CBAppClient.d.ts +359 -0
  112. package/dist/mjs/CBAppClient.js +332 -0
  113. package/dist/mjs/CBAppClient.js.map +1 -0
  114. package/dist/mjs/CBCommerceClient.d.ts +110 -0
  115. package/dist/mjs/CBCommerceClient.js +101 -0
  116. package/dist/mjs/CBCommerceClient.js.map +1 -0
  117. package/dist/mjs/CBExchangeClient.d.ts +640 -0
  118. package/dist/mjs/CBExchangeClient.js +747 -0
  119. package/dist/mjs/CBExchangeClient.js.map +1 -0
  120. package/dist/mjs/CBInternationalClient.d.ts +381 -0
  121. package/dist/mjs/CBInternationalClient.js +433 -0
  122. package/dist/mjs/CBInternationalClient.js.map +1 -0
  123. package/dist/mjs/CBPrimeClient.d.ts +363 -0
  124. package/dist/mjs/CBPrimeClient.js +447 -0
  125. package/dist/mjs/CBPrimeClient.js.map +1 -0
  126. package/dist/mjs/WebsocketClient.d.ts +78 -0
  127. package/dist/mjs/WebsocketClient.js +530 -0
  128. package/dist/mjs/WebsocketClient.js.map +1 -0
  129. package/dist/mjs/index.d.ts +13 -0
  130. package/dist/mjs/index.js +14 -0
  131. package/dist/mjs/index.js.map +1 -0
  132. package/dist/mjs/lib/BaseRestClient.d.ts +66 -0
  133. package/dist/mjs/lib/BaseRestClient.js +429 -0
  134. package/dist/mjs/lib/BaseRestClient.js.map +1 -0
  135. package/dist/mjs/lib/BaseWSClient.d.ts +169 -0
  136. package/dist/mjs/lib/BaseWSClient.js +631 -0
  137. package/dist/mjs/lib/BaseWSClient.js.map +1 -0
  138. package/dist/mjs/lib/jwtNode.d.ts +13 -0
  139. package/dist/mjs/lib/jwtNode.js +45 -0
  140. package/dist/mjs/lib/jwtNode.js.map +1 -0
  141. package/dist/mjs/lib/misc-util.d.ts +1 -0
  142. package/dist/mjs/lib/misc-util.js +4 -0
  143. package/dist/mjs/lib/misc-util.js.map +1 -0
  144. package/dist/mjs/lib/requestUtils.d.ts +98 -0
  145. package/dist/mjs/lib/requestUtils.js +69 -0
  146. package/dist/mjs/lib/requestUtils.js.map +1 -0
  147. package/dist/mjs/lib/webCryptoAPI.d.ts +10 -0
  148. package/dist/mjs/lib/webCryptoAPI.js +79 -0
  149. package/dist/mjs/lib/webCryptoAPI.js.map +1 -0
  150. package/dist/mjs/lib/websocket/WsStore.d.ts +63 -0
  151. package/dist/mjs/lib/websocket/WsStore.js +249 -0
  152. package/dist/mjs/lib/websocket/WsStore.js.map +1 -0
  153. package/dist/mjs/lib/websocket/WsStore.types.d.ts +49 -0
  154. package/dist/mjs/lib/websocket/WsStore.types.js +11 -0
  155. package/dist/mjs/lib/websocket/WsStore.types.js.map +1 -0
  156. package/dist/mjs/lib/websocket/logger.d.ts +6 -0
  157. package/dist/mjs/lib/websocket/logger.js +13 -0
  158. package/dist/mjs/lib/websocket/logger.js.map +1 -0
  159. package/dist/mjs/lib/websocket/typeGuards.d.ts +27 -0
  160. package/dist/mjs/lib/websocket/typeGuards.js +78 -0
  161. package/dist/mjs/lib/websocket/typeGuards.js.map +1 -0
  162. package/dist/mjs/lib/websocket/websocket-util.d.ts +120 -0
  163. package/dist/mjs/lib/websocket/websocket-util.js +164 -0
  164. package/dist/mjs/lib/websocket/websocket-util.js.map +1 -0
  165. package/dist/mjs/package.json +3 -0
  166. package/dist/mjs/types/request/advanced-trade-client.d.ts +194 -0
  167. package/dist/mjs/types/request/advanced-trade-client.js +17 -0
  168. package/dist/mjs/types/request/advanced-trade-client.js.map +1 -0
  169. package/dist/mjs/types/request/coinbase-app-client.d.ts +80 -0
  170. package/dist/mjs/types/request/coinbase-app-client.js +27 -0
  171. package/dist/mjs/types/request/coinbase-app-client.js.map +1 -0
  172. package/dist/mjs/types/request/coinbase-exchange.d.ts +332 -0
  173. package/dist/mjs/types/request/coinbase-exchange.js +2 -0
  174. package/dist/mjs/types/request/coinbase-exchange.js.map +1 -0
  175. package/dist/mjs/types/request/coinbase-international.d.ts +160 -0
  176. package/dist/mjs/types/request/coinbase-international.js +12 -0
  177. package/dist/mjs/types/request/coinbase-international.js.map +1 -0
  178. package/dist/mjs/types/request/coinbase-prime.d.ts +298 -0
  179. package/dist/mjs/types/request/coinbase-prime.js +7 -0
  180. package/dist/mjs/types/request/coinbase-prime.js.map +1 -0
  181. package/dist/mjs/types/response/advanced-trade-client.d.ts +759 -0
  182. package/dist/mjs/types/response/advanced-trade-client.js +7 -0
  183. package/dist/mjs/types/response/advanced-trade-client.js.map +1 -0
  184. package/dist/mjs/types/response/coinbase-app-client.d.ts +168 -0
  185. package/dist/mjs/types/response/coinbase-app-client.js +17 -0
  186. package/dist/mjs/types/response/coinbase-app-client.js.map +1 -0
  187. package/dist/mjs/types/response/coinbase-exchange.d.ts +80 -0
  188. package/dist/mjs/types/response/coinbase-exchange.js +82 -0
  189. package/dist/mjs/types/response/coinbase-exchange.js.map +1 -0
  190. package/dist/mjs/types/response/coinbase-international.d.ts +40 -0
  191. package/dist/mjs/types/response/coinbase-international.js +42 -0
  192. package/dist/mjs/types/response/coinbase-international.js.map +1 -0
  193. package/dist/mjs/types/response/coinbase-prime.d.ts +70 -0
  194. package/dist/mjs/types/response/coinbase-prime.js +72 -0
  195. package/dist/mjs/types/response/coinbase-prime.js.map +1 -0
  196. package/dist/mjs/types/response/ws.d.ts +7 -0
  197. package/dist/mjs/types/response/ws.js +2 -0
  198. package/dist/mjs/types/response/ws.js.map +1 -0
  199. package/dist/mjs/types/shared.types.d.ts +60 -0
  200. package/dist/mjs/types/shared.types.js +2 -0
  201. package/dist/mjs/types/shared.types.js.map +1 -0
  202. package/dist/mjs/types/websockets/client.d.ts +73 -0
  203. package/dist/mjs/types/websockets/client.js +2 -0
  204. package/dist/mjs/types/websockets/client.js.map +1 -0
  205. package/dist/mjs/types/websockets/events.d.ts +40 -0
  206. package/dist/mjs/types/websockets/events.js +2 -0
  207. package/dist/mjs/types/websockets/events.js.map +1 -0
  208. package/dist/mjs/types/websockets/requests.d.ts +76 -0
  209. package/dist/mjs/types/websockets/requests.js +2 -0
  210. package/dist/mjs/types/websockets/requests.js.map +1 -0
  211. package/dist/mjs/types/websockets/wsAPI.d.ts +9 -0
  212. package/dist/mjs/types/websockets/wsAPI.js +2 -0
  213. package/dist/mjs/types/websockets/wsAPI.js.map +1 -0
  214. package/package.json +42 -30
  215. package/index.js +0 -1
  216. package/lib/index.d.ts +0 -1
  217. package/lib/index.js +0 -16
  218. package/lib/index.js.map +0 -1
@@ -0,0 +1,447 @@
1
+ import { BaseRestClient } from './lib/BaseRestClient.js';
2
+ import { REST_CLIENT_TYPE_ENUM, } from './lib/requestUtils.js';
3
+ /**
4
+ * REST client for Coinbase Prime API:
5
+ * https://docs.cdp.coinbase.com/prime/docs/welcome
6
+ */
7
+ export class CBPrimeClient extends BaseRestClient {
8
+ constructor(restClientOptions = {}, requestOptions = {}) {
9
+ super(restClientOptions, requestOptions);
10
+ return this;
11
+ }
12
+ getClientType() {
13
+ return REST_CLIENT_TYPE_ENUM.prime;
14
+ }
15
+ /**
16
+ *
17
+ * Allocation Endpoints
18
+ *
19
+ */
20
+ /**
21
+ * Create Portfolio Allocations
22
+ *
23
+ * Create allocation for a given portfolio.
24
+ */
25
+ createPortfolioAllocations(params) {
26
+ return this.postPrivate('/v1/allocations', { body: params });
27
+ }
28
+ /**
29
+ * Create Portfolio Net Allocations
30
+ *
31
+ * Create net allocation for a given portfolio.
32
+ */
33
+ createPortfolioNetAllocations(params) {
34
+ return this.postPrivate('/v1/allocations/net', { body: params });
35
+ }
36
+ /**
37
+ * List Portfolio Allocations
38
+ *
39
+ * Retrieve historical allocations for a given portfolio.
40
+ */
41
+ getPortfolioAllocations(params) {
42
+ const { portfolio_id, ...query } = params;
43
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/allocations`, query);
44
+ }
45
+ /**
46
+ * Get Allocation By ID
47
+ *
48
+ * Retrieve an allocation by allocation ID.
49
+ */
50
+ getAllocationById(params) {
51
+ const { portfolio_id, allocation_id } = params;
52
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/allocations/${allocation_id}`);
53
+ }
54
+ /**
55
+ * Get Net Allocations By Netting ID
56
+ *
57
+ * Retrieve an allocation by netting ID.
58
+ */
59
+ getNetAllocationsByNettingId(params) {
60
+ const { portfolio_id, netting_id } = params;
61
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/allocations/net/${netting_id}`);
62
+ }
63
+ /**
64
+ *
65
+ * Invoice Endpoints
66
+ *
67
+ */
68
+ /**
69
+ * List Invoices
70
+ *
71
+ * Retrieve a list of invoices belonging to an entity.
72
+ */
73
+ getInvoices(params) {
74
+ const { entity_id, ...query } = params;
75
+ return this.getPrivate(`/v1/entities/${entity_id}/invoices`, query);
76
+ }
77
+ /**
78
+ *
79
+ * Assets Endpoints
80
+ *
81
+ */
82
+ /**
83
+ * List Assets
84
+ *
85
+ * List all assets available for a given entity.
86
+ */
87
+ getAssets(params) {
88
+ return this.getPrivate(`/v1/entities/${params.entity_id}/assets`);
89
+ }
90
+ /**
91
+ *
92
+ * Payment Methods Endpoints
93
+ *
94
+ */
95
+ /**
96
+ * List Entity Payment Methods
97
+ *
98
+ * Retrieve all payment methods for a given entity.
99
+ */
100
+ getEntityPaymentMethods(params) {
101
+ return this.getPrivate(`/v1/entities/${params.entity_id}/payment-methods`);
102
+ }
103
+ /**
104
+ * Get Entity Payment Method
105
+ *
106
+ * Get payment method details by id for a given entity.
107
+ */
108
+ getEntityPaymentMethod(params) {
109
+ const { entity_id, payment_method_id } = params;
110
+ return this.getPrivate(`/v1/entities/${entity_id}/payment-methods/${payment_method_id}`);
111
+ }
112
+ /**
113
+ *
114
+ * Users Endpoints
115
+ *
116
+ */
117
+ /**
118
+ * List Users
119
+ *
120
+ * List all users associated with a given entity.
121
+ */
122
+ getUsers(params) {
123
+ const { entity_id, ...query } = params;
124
+ return this.getPrivate(`/v1/entities/${entity_id}/users`, query);
125
+ }
126
+ /**
127
+ * List Portfolio Users
128
+ *
129
+ * List all users associated with a given portfolio.
130
+ */
131
+ getPortfolioUsers(params) {
132
+ const { portfolio_id, ...query } = params;
133
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/users`, query);
134
+ }
135
+ /**
136
+ *
137
+ * Portfolios Endpoints
138
+ *
139
+ */
140
+ /**
141
+ * List Portfolios
142
+ *
143
+ * List all portfolios for which the current API key has read access.
144
+ */
145
+ getPortfolios() {
146
+ return this.getPrivate('/v1/portfolios');
147
+ }
148
+ /**
149
+ * Get Portfolio by Portfolio ID
150
+ *
151
+ * Retrieve a given portfolio by its portfolio ID.
152
+ */
153
+ getPortfolioById(params) {
154
+ return this.getPrivate(`/v1/portfolios/${params.portfolio_id}`);
155
+ }
156
+ /**
157
+ * Get Portfolio Credit Information
158
+ *
159
+ * Retrieve a portfolio's post-trade credit information.
160
+ */
161
+ getPortfolioCreditInformation(params) {
162
+ return this.getPrivate(`/v1/portfolios/${params.portfolio_id}/credit`);
163
+ }
164
+ /**
165
+ *
166
+ * Activities Endpoints
167
+ *
168
+ */
169
+ /**
170
+ * List Activities
171
+ *
172
+ * List all activities associated with a given entity.
173
+ */
174
+ getActivities(params) {
175
+ const { portfolio_id, ...query } = params;
176
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/activities`, query);
177
+ }
178
+ /**
179
+ * Get Activity by Activity ID
180
+ *
181
+ * Retrieve an activity by its activity ID.
182
+ */
183
+ getActivityById(params) {
184
+ const { portfolio_id, activity_id } = params;
185
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/activities/${activity_id}`);
186
+ }
187
+ /**
188
+ *
189
+ * Address Book Endpoints
190
+ *
191
+ */
192
+ /**
193
+ * Get Address Book
194
+ *
195
+ * Gets a list of address book addresses.
196
+ */
197
+ getAddressBook(params) {
198
+ const { portfolio_id, ...query } = params;
199
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/address_book`, query);
200
+ }
201
+ /**
202
+ * Create Address Book Entry
203
+ *
204
+ * Creates an entry for a portfolio's trusted addresses.
205
+ */
206
+ createAddressBookEntry(params) {
207
+ const { portfolio_id, ...body } = params;
208
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/address_book`, {
209
+ body: body,
210
+ });
211
+ }
212
+ /**
213
+ *
214
+ * Balances Endpoints
215
+ *
216
+ */
217
+ /**
218
+ * List Portfolio Balances
219
+ *
220
+ * List all balances for a specific portfolio.
221
+ */
222
+ getPortfolioBalances(params) {
223
+ const { portfolio_id, ...query } = params;
224
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/balances`, query);
225
+ }
226
+ /**
227
+ * Get Wallet Balance
228
+ *
229
+ * Query balance for a specific wallet.
230
+ */
231
+ getWalletBalance(params) {
232
+ const { portfolio_id, wallet_id } = params;
233
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/balance`);
234
+ }
235
+ /**
236
+ * List Web3 Wallet Balances
237
+ *
238
+ * Query balances for a specific web3 wallet.
239
+ */
240
+ getWeb3WalletBalances(params) {
241
+ const { portfolio_id, wallet_id, ...query } = params;
242
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/web3_balances`, query);
243
+ }
244
+ /**
245
+ *
246
+ * Commission Endpoints
247
+ *
248
+ */
249
+ /**
250
+ * Get Portfolio Commission
251
+ *
252
+ * Retrieve commission associated with a given portfolio.
253
+ */
254
+ getPortfolioCommission(params) {
255
+ return this.getPrivate(`/v1/portfolios/${params.portfolio_id}/commission`);
256
+ }
257
+ /**
258
+ *
259
+ * Orders Endpoints
260
+ *
261
+ */
262
+ /**
263
+ * List Open Orders
264
+ *
265
+ * List all open orders for a given portfolio.
266
+ */
267
+ getOpenOrders(params) {
268
+ const { portfolio_id, ...query } = params;
269
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/open_orders`, query);
270
+ }
271
+ /**
272
+ * Create Order
273
+ *
274
+ * Create an order for a given portfolio.
275
+ */
276
+ submitOrder(params) {
277
+ this.validateOrderId(params, 'client_order_id');
278
+ const { portfolio_id, ...body } = params;
279
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/order`, {
280
+ body: body,
281
+ });
282
+ }
283
+ /**
284
+ * Get Order Preview
285
+ *
286
+ * Retrieve an order preview for a given portfolio.
287
+ */
288
+ getOrderPreview(params) {
289
+ const { portfolio_id, ...body } = params;
290
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/order_preview`, {
291
+ body: body,
292
+ });
293
+ }
294
+ /**
295
+ * List Portfolio Orders
296
+ *
297
+ * List historical orders for a given portfolio.
298
+ */
299
+ getPortfolioOrders(params) {
300
+ const { portfolio_id, ...query } = params;
301
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/orders`, query);
302
+ }
303
+ /**
304
+ * Get Order by Order ID
305
+ *
306
+ * Retrieve an order by order ID.
307
+ */
308
+ getOrderById(params) {
309
+ const { portfolio_id, order_id } = params;
310
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/orders/${order_id}`);
311
+ }
312
+ /**
313
+ * Cancel Order
314
+ *
315
+ * Cancel an order. (Filled orders cannot be canceled.)
316
+ */
317
+ cancelOrder(params) {
318
+ const { portfolio_id, order_id } = params;
319
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/orders/${order_id}/cancel`);
320
+ }
321
+ /**
322
+ * List Order Fills
323
+ *
324
+ * Retrieve fills on a given order.
325
+ */
326
+ getOrderFills(params) {
327
+ const { portfolio_id, order_id, ...query } = params;
328
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/orders/${order_id}/fills`, query);
329
+ }
330
+ /**
331
+ *
332
+ * Products Endpoints
333
+ *
334
+ */
335
+ /**
336
+ * List Portfolio Products
337
+ *
338
+ * List tradable products for a given portfolio.
339
+ */
340
+ getPortfolioProducts(params) {
341
+ const { portfolio_id, ...query } = params;
342
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/products`, query);
343
+ }
344
+ /**
345
+ *
346
+ * Transactions Endpoints
347
+ *
348
+ */
349
+ /**
350
+ * List Portfolio Transactions
351
+ *
352
+ * List transactions for a given portfolio (only transactions that affect balances are accessible).
353
+ */
354
+ getPortfolioTransactions(params) {
355
+ const { portfolio_id, ...query } = params;
356
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/transactions`, query);
357
+ }
358
+ /**
359
+ * Get Transaction by Transaction ID
360
+ *
361
+ * Retrieve a specific transaction by its transaction ID (only transactions that affect balances are accessible).
362
+ */
363
+ getTransactionById(params) {
364
+ const { portfolio_id, transaction_id } = params;
365
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/transactions/${transaction_id}`);
366
+ }
367
+ /**
368
+ * Create Conversion
369
+ *
370
+ * Perform a conversion between 2 assets.
371
+ */
372
+ createConversion(params) {
373
+ const { portfolio_id, wallet_id, ...body } = params;
374
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/conversion`, { body: body });
375
+ }
376
+ /**
377
+ * List Wallet Transactions
378
+ *
379
+ * Retrieve transactions for a given wallet (only transactions that affect balances are accessible).
380
+ */
381
+ getWalletTransactions(params) {
382
+ const { portfolio_id, wallet_id, ...query } = params;
383
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/transactions`, query);
384
+ }
385
+ /**
386
+ * Create Transfer
387
+ *
388
+ * Create a wallet transfer.
389
+ */
390
+ createTransfer(params) {
391
+ const { portfolio_id, wallet_id, ...body } = params;
392
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/transfers`, { body: body });
393
+ }
394
+ /**
395
+ * Create Withdrawal
396
+ *
397
+ * Create a withdrawal.
398
+ */
399
+ createWithdrawal(params) {
400
+ const { portfolio_id, wallet_id, ...body } = params;
401
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/withdrawals`, { body: body });
402
+ }
403
+ /**
404
+ *
405
+ * Wallets Endpoints
406
+ *
407
+ */
408
+ /**
409
+ * List Portfolio Wallets
410
+ *
411
+ * List all wallets associated with a given portfolio.
412
+ */
413
+ getPortfolioWallets(params) {
414
+ const { portfolio_id, ...query } = params;
415
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets`, query);
416
+ }
417
+ /**
418
+ * Create Wallet
419
+ *
420
+ * Create a wallet.
421
+ */
422
+ createWallet(params) {
423
+ const { portfolio_id, ...body } = params;
424
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/wallets`, {
425
+ body: body,
426
+ });
427
+ }
428
+ /**
429
+ * Get Wallet by Wallet ID
430
+ *
431
+ * Retrieve a specific wallet by Wallet ID.
432
+ */
433
+ getWalletById(params) {
434
+ const { portfolio_id, wallet_id } = params;
435
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}`);
436
+ }
437
+ /**
438
+ * Get Wallet Deposit Instructions
439
+ *
440
+ * Retrieve a specific wallet's deposit instructions.
441
+ */
442
+ getWalletDepositInstructions(params) {
443
+ const { portfolio_id, wallet_id, ...query } = params;
444
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/deposit_instructions`, query);
445
+ }
446
+ }
447
+ //# sourceMappingURL=CBPrimeClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CBPrimeClient.js","sourceRoot":"","sources":["../../src/CBPrimeClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AA4B/B;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,cAAc;IAC/C,YACE,oBAAuC,EAAE,EACzC,iBAAqC,EAAE;QAEvC,KAAK,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa;QACX,OAAO,qBAAqB,CAAC,KAAK,CAAC;IACrC,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,0BAA0B,CACxB,MAA8C;QAE9C,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,6BAA6B,CAC3B,MAAiD;QAEjD,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CACrB,MAA2C;QAE3C,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,YAAY,cAAc,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,MAGjB;QACC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;QAC/C,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,gBAAgB,aAAa,EAAE,CAC9D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,4BAA4B,CAAC,MAG5B;QACC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,oBAAoB,UAAU,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,WAAW,CAAC,MAA+B;QACzC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,SAAS,WAAW,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,SAAS,CAAC,MAA6B;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,MAAM,CAAC,SAAS,SAAS,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,uBAAuB,CAAC,MAA6B;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,MAAM,CAAC,SAAS,kBAAkB,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,MAGtB;QACC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CACpB,gBAAgB,SAAS,oBAAoB,iBAAiB,EAAE,CACjE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,QAAQ,CAAC,MAA4B;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,SAAS,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,MAAqC;QACrD,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,YAAY,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,MAAgC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,6BAA6B,CAAC,MAE7B;QACC,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,MAAM,CAAC,YAAY,SAAS,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,aAAa,CAAC,MAAiC;QAC7C,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,YAAY,aAAa,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,MAGf;QACC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAC7C,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,eAAe,WAAW,EAAE,CAC3D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,cAAc,CAAC,MAAkC;QAC/C,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,eAAe,EAC7C,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CACpB,MAA0C;QAE1C,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,YAAY,eAAe,EAAE;YACrE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,oBAAoB,CAAC,MAIpB;QACC,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,YAAY,WAAW,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,MAGhB;QACC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC3C,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,YAAY,SAAS,UAAU,CAC9D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CACnB,MAAyC;QAEzC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QACrD,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,YAAY,SAAS,gBAAgB,EACnE,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,sBAAsB,CAAC,MAAgC;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,MAAM,CAAC,YAAY,aAAa,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,aAAa,CAAC,MAAiC;QAC7C,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,YAAY,cAAc,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,MAA+B;QACzC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAChD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,YAAY,QAAQ,EAAE;YAC9D,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,MAAmC;QACjD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,YAAY,gBAAgB,EAAE;YACtE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,MAAsC;QACvD,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,YAAY,SAAS,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,MAGZ;QACC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,YAAY,WAAW,QAAQ,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,MAGX;QACC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,WAAW,CACrB,kBAAkB,YAAY,WAAW,QAAQ,SAAS,CAC3D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,MAAiC;QAC7C,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,WAAW,QAAQ,QAAQ,EACzD,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,oBAAoB,CAAC,MAAwC;QAC3D,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,YAAY,WAAW,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,wBAAwB,CACtB,MAA4C;QAE5C,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,eAAe,EAC7C,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,MAGlB;QACC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,iBAAiB,cAAc,EAAE,CAChE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,MAAoC;QACnD,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACpD,OAAO,IAAI,CAAC,WAAW,CACrB,kBAAkB,YAAY,YAAY,SAAS,aAAa,EAChE,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CACnB,MAAyC;QAEzC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QACrD,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,YAAY,SAAS,eAAe,EAClE,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,MAAkC;QAC/C,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACpD,OAAO,IAAI,CAAC,WAAW,CACrB,kBAAkB,YAAY,YAAY,SAAS,YAAY,EAC/D,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,MAAoC;QACnD,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACpD,OAAO,IAAI,CAAC,WAAW,CACrB,kBAAkB,YAAY,YAAY,SAAS,cAAc,EACjE,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IACJ,CAAC;IAED;;;;OAIG;IAEH;;;;OAIG;IACH,mBAAmB,CAAC,MAAuC;QACzD,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,YAAY,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,MAAgC;QAC3C,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,YAAY,UAAU,EAAE;YAChE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,MAGb;QACC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC3C,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,YAAY,SAAS,EAAE,CACtD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,4BAA4B,CAC1B,MAAgD;QAEhD,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QACrD,OAAO,IAAI,CAAC,UAAU,CACpB,kBAAkB,YAAY,YAAY,SAAS,uBAAuB,EAC1E,KAAK,CACN,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,78 @@
1
+ import { BaseWebsocketClient, EmittableEvent } from './lib/BaseWSClient.js';
2
+ import { MessageEventLike, WsKey, WsTopicRequest } from './lib/websocket/websocket-util.js';
3
+ import { WSConnectedResult } from './lib/websocket/WsStore.types.js';
4
+ import { WsMarket } from './types/websockets/client.js';
5
+ import { WsOperation } from './types/websockets/requests.js';
6
+ import { WsAPITopicRequestParamMap, WsAPITopicResponseMap, WsAPIWsKeyTopicMap } from './types/websockets/wsAPI.js';
7
+ export declare const WS_LOGGER_CATEGORY: {
8
+ category: string;
9
+ };
10
+ /**
11
+ * Any WS keys in this list will ALWAYS skip the authentication process, even if credentials are available
12
+ */
13
+ export declare const PUBLIC_WS_KEYS: WsKey[];
14
+ /**
15
+ * WS topics are always a string for this exchange. Some exchanges use complex objects.
16
+ */
17
+ type WsTopic = string;
18
+ export declare class WebsocketClient extends BaseWebsocketClient<WsKey> {
19
+ /**
20
+ * Request connection of all dependent (public & private) websockets, instead of waiting for automatic connection by library
21
+ */
22
+ connectAll(): Promise<(WSConnectedResult | undefined)[]>;
23
+ /**
24
+ * Request subscription to one or more topics. Pass topics as either an array of strings, or array of objects (if the topic has parameters).
25
+ * Objects should be formatted as {topic: string, params: object}.
26
+ *
27
+ * - Subscriptions are automatically routed to the correct websocket connection.
28
+ * - Authentication/connection is automatic.
29
+ * - Resubscribe after network issues is automatic.
30
+ *
31
+ * Call `unsubscribe(topics)` to remove topics
32
+ */
33
+ subscribe(requests: (WsTopicRequest<WsTopic> | WsTopic) | (WsTopicRequest<WsTopic> | WsTopic)[], wsKey: WsKey): void;
34
+ /**
35
+ * Unsubscribe from one or more topics. Similar to subscribe() but in reverse.
36
+ *
37
+ * - Requests are automatically routed to the correct websocket connection.
38
+ * - These topics will be removed from the topic cache, so they won't be subscribed to again.
39
+ */
40
+ unsubscribe(requests: (WsTopicRequest<WsTopic> | WsTopic) | (WsTopicRequest<WsTopic> | WsTopic)[], wsKey: WsKey): void;
41
+ /**
42
+ * Not supported by this exchange, do not use
43
+ */
44
+ sendWSAPIRequest<TWSKey extends keyof WsAPIWsKeyTopicMap, TWSChannel extends WsAPIWsKeyTopicMap[TWSKey] = WsAPIWsKeyTopicMap[TWSKey], TWSParams extends WsAPITopicRequestParamMap[TWSChannel] = WsAPITopicRequestParamMap[TWSChannel], TWSAPIResponse extends WsAPITopicResponseMap[TWSChannel] | object = WsAPITopicResponseMap[TWSChannel]>(wsKey: TWSKey, channel: TWSChannel, ...params: TWSParams extends undefined ? [] : [TWSParams]): Promise<TWSAPIResponse>;
45
+ /**
46
+ *
47
+ * Internal methods
48
+ *
49
+ */
50
+ /**
51
+ * Return a websocket URL, which is connected to as-is.
52
+ * If a token or anything else is needed in the URL, this is a good place to add it.
53
+ */
54
+ protected getWsUrl(wsKey: WsKey): Promise<string>;
55
+ protected sendPingEvent(wsKey: WsKey): void;
56
+ protected sendPongEvent(wsKey: WsKey): void;
57
+ protected isWsPing(msg: any): boolean;
58
+ protected isWsPong(msg: any): boolean;
59
+ protected resolveEmittableEvents(wsKey: WsKey, event: MessageEventLike): EmittableEvent[];
60
+ /**
61
+ * Determines if a topic is for a private channel, using a hardcoded list of strings
62
+ */
63
+ protected isPrivateTopicRequest(request: WsTopicRequest<string>, wsKey: WsKey): boolean;
64
+ protected getWsKeyForMarket(market: WsMarket, isPrivate: boolean): WsKey;
65
+ protected getWsMarketForWsKey(wsKey: WsKey): WsMarket;
66
+ protected getPrivateWSKeys(): WsKey[];
67
+ /** Force subscription requests to be sent in smaller batches, if a number is returned */
68
+ protected getMaxTopicsPerSubscribeEvent(wsKey: WsKey): number | null;
69
+ /**
70
+ * Map one or more topics into fully prepared "subscribe request" events (already stringified and ready to send)
71
+ */
72
+ protected getWsOperationEventsForTopics(topicRequests: WsTopicRequest<string>[], wsKey: WsKey, operation: WsOperation): Promise<string[]>;
73
+ /**
74
+ * Events are signed per-request, so this function isn't needed for Coinbase.
75
+ */
76
+ protected getWsAuthRequestEvent(wsKey: WsKey): Promise<object>;
77
+ }
78
+ export {};