coinbase-api 0.3.2 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,451 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CBPrimeClient = void 0;
4
+ const BaseRestClient_js_1 = require("./lib/BaseRestClient.js");
5
+ const requestUtils_js_1 = require("./lib/requestUtils.js");
6
+ /**
7
+ * REST client for Coinbase Prime API:
8
+ * https://docs.cdp.coinbase.com/prime/docs/welcome
9
+ */
10
+ class CBPrimeClient extends BaseRestClient_js_1.BaseRestClient {
11
+ constructor(restClientOptions = {}, requestOptions = {}) {
12
+ super(restClientOptions, requestOptions);
13
+ return this;
14
+ }
15
+ getClientType() {
16
+ return requestUtils_js_1.REST_CLIENT_TYPE_ENUM.prime;
17
+ }
18
+ /**
19
+ *
20
+ * Allocation Endpoints
21
+ *
22
+ */
23
+ /**
24
+ * Create Portfolio Allocations
25
+ *
26
+ * Create allocation for a given portfolio.
27
+ */
28
+ createPortfolioAllocations(params) {
29
+ return this.postPrivate('/v1/allocations', { body: params });
30
+ }
31
+ /**
32
+ * Create Portfolio Net Allocations
33
+ *
34
+ * Create net allocation for a given portfolio.
35
+ */
36
+ createPortfolioNetAllocations(params) {
37
+ return this.postPrivate('/v1/allocations/net', { body: params });
38
+ }
39
+ /**
40
+ * List Portfolio Allocations
41
+ *
42
+ * Retrieve historical allocations for a given portfolio.
43
+ */
44
+ getPortfolioAllocations(params) {
45
+ const { portfolio_id, ...query } = params;
46
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/allocations`, query);
47
+ }
48
+ /**
49
+ * Get Allocation By ID
50
+ *
51
+ * Retrieve an allocation by allocation ID.
52
+ */
53
+ getAllocationById(params) {
54
+ const { portfolio_id, allocation_id } = params;
55
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/allocations/${allocation_id}`);
56
+ }
57
+ /**
58
+ * Get Net Allocations By Netting ID
59
+ *
60
+ * Retrieve an allocation by netting ID.
61
+ */
62
+ getNetAllocationsByNettingId(params) {
63
+ const { portfolio_id, netting_id } = params;
64
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/allocations/net/${netting_id}`);
65
+ }
66
+ /**
67
+ *
68
+ * Invoice Endpoints
69
+ *
70
+ */
71
+ /**
72
+ * List Invoices
73
+ *
74
+ * Retrieve a list of invoices belonging to an entity.
75
+ */
76
+ getInvoices(params) {
77
+ const { entity_id, ...query } = params;
78
+ return this.getPrivate(`/v1/entities/${entity_id}/invoices`, query);
79
+ }
80
+ /**
81
+ *
82
+ * Assets Endpoints
83
+ *
84
+ */
85
+ /**
86
+ * List Assets
87
+ *
88
+ * List all assets available for a given entity.
89
+ */
90
+ getAssets(params) {
91
+ return this.getPrivate(`/v1/entities/${params.entity_id}/assets`);
92
+ }
93
+ /**
94
+ *
95
+ * Payment Methods Endpoints
96
+ *
97
+ */
98
+ /**
99
+ * List Entity Payment Methods
100
+ *
101
+ * Retrieve all payment methods for a given entity.
102
+ */
103
+ getEntityPaymentMethods(params) {
104
+ return this.getPrivate(`/v1/entities/${params.entity_id}/payment-methods`);
105
+ }
106
+ /**
107
+ * Get Entity Payment Method
108
+ *
109
+ * Get payment method details by id for a given entity.
110
+ */
111
+ getEntityPaymentMethod(params) {
112
+ const { entity_id, payment_method_id } = params;
113
+ return this.getPrivate(`/v1/entities/${entity_id}/payment-methods/${payment_method_id}`);
114
+ }
115
+ /**
116
+ *
117
+ * Users Endpoints
118
+ *
119
+ */
120
+ /**
121
+ * List Users
122
+ *
123
+ * List all users associated with a given entity.
124
+ */
125
+ getUsers(params) {
126
+ const { entity_id, ...query } = params;
127
+ return this.getPrivate(`/v1/entities/${entity_id}/users`, query);
128
+ }
129
+ /**
130
+ * List Portfolio Users
131
+ *
132
+ * List all users associated with a given portfolio.
133
+ */
134
+ getPortfolioUsers(params) {
135
+ const { portfolio_id, ...query } = params;
136
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/users`, query);
137
+ }
138
+ /**
139
+ *
140
+ * Portfolios Endpoints
141
+ *
142
+ */
143
+ /**
144
+ * List Portfolios
145
+ *
146
+ * List all portfolios for which the current API key has read access.
147
+ */
148
+ getPortfolios() {
149
+ return this.getPrivate('/v1/portfolios');
150
+ }
151
+ /**
152
+ * Get Portfolio by Portfolio ID
153
+ *
154
+ * Retrieve a given portfolio by its portfolio ID.
155
+ */
156
+ getPortfolioById(params) {
157
+ return this.getPrivate(`/v1/portfolios/${params.portfolio_id}`);
158
+ }
159
+ /**
160
+ * Get Portfolio Credit Information
161
+ *
162
+ * Retrieve a portfolio's post-trade credit information.
163
+ */
164
+ getPortfolioCreditInformation(params) {
165
+ return this.getPrivate(`/v1/portfolios/${params.portfolio_id}/credit`);
166
+ }
167
+ /**
168
+ *
169
+ * Activities Endpoints
170
+ *
171
+ */
172
+ /**
173
+ * List Activities
174
+ *
175
+ * List all activities associated with a given entity.
176
+ */
177
+ getActivities(params) {
178
+ const { portfolio_id, ...query } = params;
179
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/activities`, query);
180
+ }
181
+ /**
182
+ * Get Activity by Activity ID
183
+ *
184
+ * Retrieve an activity by its activity ID.
185
+ */
186
+ getActivityById(params) {
187
+ const { portfolio_id, activity_id } = params;
188
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/activities/${activity_id}`);
189
+ }
190
+ /**
191
+ *
192
+ * Address Book Endpoints
193
+ *
194
+ */
195
+ /**
196
+ * Get Address Book
197
+ *
198
+ * Gets a list of address book addresses.
199
+ */
200
+ getAddressBook(params) {
201
+ const { portfolio_id, ...query } = params;
202
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/address_book`, query);
203
+ }
204
+ /**
205
+ * Create Address Book Entry
206
+ *
207
+ * Creates an entry for a portfolio's trusted addresses.
208
+ */
209
+ createAddressBookEntry(params) {
210
+ const { portfolio_id, ...body } = params;
211
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/address_book`, {
212
+ body: body,
213
+ });
214
+ }
215
+ /**
216
+ *
217
+ * Balances Endpoints
218
+ *
219
+ */
220
+ /**
221
+ * List Portfolio Balances
222
+ *
223
+ * List all balances for a specific portfolio.
224
+ */
225
+ getPortfolioBalances(params) {
226
+ const { portfolio_id, ...query } = params;
227
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/balances`, query);
228
+ }
229
+ /**
230
+ * Get Wallet Balance
231
+ *
232
+ * Query balance for a specific wallet.
233
+ */
234
+ getWalletBalance(params) {
235
+ const { portfolio_id, wallet_id } = params;
236
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/balance`);
237
+ }
238
+ /**
239
+ * List Web3 Wallet Balances
240
+ *
241
+ * Query balances for a specific web3 wallet.
242
+ */
243
+ getWeb3WalletBalances(params) {
244
+ const { portfolio_id, wallet_id, ...query } = params;
245
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/web3_balances`, query);
246
+ }
247
+ /**
248
+ *
249
+ * Commission Endpoints
250
+ *
251
+ */
252
+ /**
253
+ * Get Portfolio Commission
254
+ *
255
+ * Retrieve commission associated with a given portfolio.
256
+ */
257
+ getPortfolioCommission(params) {
258
+ return this.getPrivate(`/v1/portfolios/${params.portfolio_id}/commission`);
259
+ }
260
+ /**
261
+ *
262
+ * Orders Endpoints
263
+ *
264
+ */
265
+ /**
266
+ * List Open Orders
267
+ *
268
+ * List all open orders for a given portfolio.
269
+ */
270
+ getOpenOrders(params) {
271
+ const { portfolio_id, ...query } = params;
272
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/open_orders`, query);
273
+ }
274
+ /**
275
+ * Create Order
276
+ *
277
+ * Create an order for a given portfolio.
278
+ */
279
+ submitOrder(params) {
280
+ this.validateOrderId(params, 'client_order_id');
281
+ const { portfolio_id, ...body } = params;
282
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/order`, {
283
+ body: body,
284
+ });
285
+ }
286
+ /**
287
+ * Get Order Preview
288
+ *
289
+ * Retrieve an order preview for a given portfolio.
290
+ */
291
+ getOrderPreview(params) {
292
+ const { portfolio_id, ...body } = params;
293
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/order_preview`, {
294
+ body: body,
295
+ });
296
+ }
297
+ /**
298
+ * List Portfolio Orders
299
+ *
300
+ * List historical orders for a given portfolio.
301
+ */
302
+ getPortfolioOrders(params) {
303
+ const { portfolio_id, ...query } = params;
304
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/orders`, query);
305
+ }
306
+ /**
307
+ * Get Order by Order ID
308
+ *
309
+ * Retrieve an order by order ID.
310
+ */
311
+ getOrderById(params) {
312
+ const { portfolio_id, order_id } = params;
313
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/orders/${order_id}`);
314
+ }
315
+ /**
316
+ * Cancel Order
317
+ *
318
+ * Cancel an order. (Filled orders cannot be canceled.)
319
+ */
320
+ cancelOrder(params) {
321
+ const { portfolio_id, order_id } = params;
322
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/orders/${order_id}/cancel`);
323
+ }
324
+ /**
325
+ * List Order Fills
326
+ *
327
+ * Retrieve fills on a given order.
328
+ */
329
+ getOrderFills(params) {
330
+ const { portfolio_id, order_id, ...query } = params;
331
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/orders/${order_id}/fills`, query);
332
+ }
333
+ /**
334
+ *
335
+ * Products Endpoints
336
+ *
337
+ */
338
+ /**
339
+ * List Portfolio Products
340
+ *
341
+ * List tradable products for a given portfolio.
342
+ */
343
+ getPortfolioProducts(params) {
344
+ const { portfolio_id, ...query } = params;
345
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/products`, query);
346
+ }
347
+ /**
348
+ *
349
+ * Transactions Endpoints
350
+ *
351
+ */
352
+ /**
353
+ * List Portfolio Transactions
354
+ *
355
+ * List transactions for a given portfolio (only transactions that affect balances are accessible).
356
+ */
357
+ getPortfolioTransactions(params) {
358
+ const { portfolio_id, ...query } = params;
359
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/transactions`, query);
360
+ }
361
+ /**
362
+ * Get Transaction by Transaction ID
363
+ *
364
+ * Retrieve a specific transaction by its transaction ID (only transactions that affect balances are accessible).
365
+ */
366
+ getTransactionById(params) {
367
+ const { portfolio_id, transaction_id } = params;
368
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/transactions/${transaction_id}`);
369
+ }
370
+ /**
371
+ * Create Conversion
372
+ *
373
+ * Perform a conversion between 2 assets.
374
+ */
375
+ createConversion(params) {
376
+ const { portfolio_id, wallet_id, ...body } = params;
377
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/conversion`, { body: body });
378
+ }
379
+ /**
380
+ * List Wallet Transactions
381
+ *
382
+ * Retrieve transactions for a given wallet (only transactions that affect balances are accessible).
383
+ */
384
+ getWalletTransactions(params) {
385
+ const { portfolio_id, wallet_id, ...query } = params;
386
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/transactions`, query);
387
+ }
388
+ /**
389
+ * Create Transfer
390
+ *
391
+ * Create a wallet transfer.
392
+ */
393
+ createTransfer(params) {
394
+ const { portfolio_id, wallet_id, ...body } = params;
395
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/transfers`, { body: body });
396
+ }
397
+ /**
398
+ * Create Withdrawal
399
+ *
400
+ * Create a withdrawal.
401
+ */
402
+ createWithdrawal(params) {
403
+ const { portfolio_id, wallet_id, ...body } = params;
404
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/withdrawals`, { body: body });
405
+ }
406
+ /**
407
+ *
408
+ * Wallets Endpoints
409
+ *
410
+ */
411
+ /**
412
+ * List Portfolio Wallets
413
+ *
414
+ * List all wallets associated with a given portfolio.
415
+ */
416
+ getPortfolioWallets(params) {
417
+ const { portfolio_id, ...query } = params;
418
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets`, query);
419
+ }
420
+ /**
421
+ * Create Wallet
422
+ *
423
+ * Create a wallet.
424
+ */
425
+ createWallet(params) {
426
+ const { portfolio_id, ...body } = params;
427
+ return this.postPrivate(`/v1/portfolios/${portfolio_id}/wallets`, {
428
+ body: body,
429
+ });
430
+ }
431
+ /**
432
+ * Get Wallet by Wallet ID
433
+ *
434
+ * Retrieve a specific wallet by Wallet ID.
435
+ */
436
+ getWalletById(params) {
437
+ const { portfolio_id, wallet_id } = params;
438
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}`);
439
+ }
440
+ /**
441
+ * Get Wallet Deposit Instructions
442
+ *
443
+ * Retrieve a specific wallet's deposit instructions.
444
+ */
445
+ getWalletDepositInstructions(params) {
446
+ const { portfolio_id, wallet_id, ...query } = params;
447
+ return this.getPrivate(`/v1/portfolios/${portfolio_id}/wallets/${wallet_id}/deposit_instructions`, query);
448
+ }
449
+ }
450
+ exports.CBPrimeClient = CBPrimeClient;
451
+ //# sourceMappingURL=CBPrimeClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CBPrimeClient.js","sourceRoot":"","sources":["../../src/CBPrimeClient.ts"],"names":[],"mappings":"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"}
@@ -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 {};