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,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WS_URL_MAP = exports.WS_KEY_MAP = void 0;
4
+ exports.isMessageEvent = isMessageEvent;
5
+ exports.getMergedCBExchangeWSRequestOperations = getMergedCBExchangeWSRequestOperations;
6
+ exports.getMergedCBINTXRequestOperations = getMergedCBINTXRequestOperations;
7
+ exports.getCBExchangeWSSign = getCBExchangeWSSign;
8
+ exports.getCBInternationalWSSign = getCBInternationalWSSign;
9
+ exports.getCBPrimeWSSign = getCBPrimeWSSign;
10
+ const webCryptoAPI_js_1 = require("../webCryptoAPI.js");
11
+ /**
12
+ * Each websocket URL (domain + endpoint) is represented as a "WS Key". Authentication is handled automatically if required.
13
+ */
14
+ exports.WS_KEY_MAP = {
15
+ /**
16
+ * Market Data is the traditional feed that provides updates for both orders and trades.
17
+ * Most channels are now available without authentication.
18
+ *
19
+ * https://docs.cdp.coinbase.com/advanced-trade/docs/ws-overview
20
+ */
21
+ advTradeMarketData: 'advTradeMarketData',
22
+ /**
23
+ * User Order Data provides updates for the orders of the user.
24
+ *
25
+ * https://docs.cdp.coinbase.com/advanced-trade/docs/ws-overview
26
+ */
27
+ advTradeUserData: 'advTradeUserData',
28
+ /**
29
+ * Coinbase Market Data (part of Coinbase Exchange API) is the traditional feed which is available without authentication.
30
+ *
31
+ * https://docs.cdp.coinbase.com/exchange/docs/websocket-overview
32
+ */
33
+ exchangeMarketData: 'exchangeMarketData',
34
+ /**
35
+ * Coinbase Direct Market Data has direct access to Coinbase Exchange servers and requires Authentication.
36
+ *
37
+ * https://docs.cdp.coinbase.com/exchange/docs/websocket-overview
38
+ */
39
+ exchangeDirectMarketData: 'exchangeDirectMarketData',
40
+ /**
41
+ * The INTX WebSocket feed is publicly available and provides real-time market data updates for orders and trades.
42
+ * The SDK must authenticate when subscribing to the WebSocket Feed the very first time.
43
+ *
44
+ * https://docs.cdp.coinbase.com/intx/docs/websocket-overview
45
+ */
46
+ internationalMarketData: 'internationalMarketData',
47
+ /**
48
+ * The Prime WebSocket feed provides real-time market data updates for orders and trades. To begin
49
+ * receiving feed messages, you must send a signed subscribe message to the server indicating
50
+ * which channels and products to receive. The SDK will handle this automatically.
51
+ *
52
+ * https://docs.cdp.coinbase.com/prime/docs/websocket-feed
53
+ */
54
+ primeMarketData: 'primeMarketData',
55
+ };
56
+ function isMessageEvent(msg) {
57
+ if (typeof msg !== 'object' || !msg) {
58
+ return false;
59
+ }
60
+ const message = msg;
61
+ return message['type'] === 'message' && typeof message['data'] === 'string';
62
+ }
63
+ exports.WS_URL_MAP = {
64
+ [exports.WS_KEY_MAP.advTradeMarketData]: {
65
+ livenet: 'wss://advanced-trade-ws.coinbase.com',
66
+ testnet: 'NotAvailable',
67
+ },
68
+ [exports.WS_KEY_MAP.advTradeUserData]: {
69
+ livenet: 'wss://advanced-trade-ws-user.coinbase.com',
70
+ testnet: 'NotAvailable',
71
+ },
72
+ [exports.WS_KEY_MAP.exchangeMarketData]: {
73
+ livenet: 'wss://ws-feed.exchange.coinbase.com',
74
+ testnet: 'wss://ws-feed-public.sandbox.exchange.coinbase.com',
75
+ },
76
+ [exports.WS_KEY_MAP.exchangeDirectMarketData]: {
77
+ livenet: 'wss://ws-direct.exchange.coinbase.com',
78
+ testnet: 'wss://ws-direct.sandbox.exchange.coinbase.com',
79
+ },
80
+ [exports.WS_KEY_MAP.internationalMarketData]: {
81
+ livenet: 'wss://ws-md.international.coinbase.com',
82
+ testnet: 'wss://ws-md.n5e2.coinbase.com',
83
+ },
84
+ [exports.WS_KEY_MAP.primeMarketData]: {
85
+ livenet: 'wss://ws-feed.prime.coinbase.com',
86
+ testnet: 'NotAvailable',
87
+ },
88
+ };
89
+ /**
90
+ * Merge one or more WS Request operations (e.g. subscribe request) for
91
+ * CB Exchange into one, allowing them to be sent as one request
92
+ */
93
+ function getMergedCBExchangeWSRequestOperations(operations) {
94
+ // The CB Exchange WS supports sending multiple topics in one request.
95
+ // Merge all requests into one
96
+ return operations.reduce((acc, evt) => {
97
+ if (!acc) {
98
+ const wsRequestEvent = {
99
+ type: evt.type,
100
+ channels: [...evt.channels],
101
+ };
102
+ return wsRequestEvent;
103
+ }
104
+ const wsRequestEvent = {
105
+ type: evt.type,
106
+ channels: [...acc.channels, ...evt.channels],
107
+ };
108
+ return wsRequestEvent;
109
+ });
110
+ }
111
+ /**
112
+ * Merge one or more WS Request operations (e.g. subscribe request) for
113
+ * CB Exchange into one, allowing them to be sent as one request
114
+ */
115
+ function getMergedCBINTXRequestOperations(operations) {
116
+ // The CB Exchange WS supports sending multiple topics in one request.
117
+ // Merge all requests into one
118
+ return operations.reduce((acc, evt) => {
119
+ if (!acc) {
120
+ const wsRequestEvent = {
121
+ type: evt.type,
122
+ channels: [...evt.channels],
123
+ };
124
+ return wsRequestEvent;
125
+ }
126
+ const wsRequestEvent = {
127
+ type: evt.type,
128
+ channels: [...acc.channels, ...evt.channels],
129
+ };
130
+ return wsRequestEvent;
131
+ });
132
+ }
133
+ /**
134
+ * Return sign used to authenticate CB Exchange WS requests
135
+ */
136
+ async function getCBExchangeWSSign(apiSecret) {
137
+ const timestampInMs = Date.now();
138
+ const timestampInSeconds = (timestampInMs / 1000).toFixed(0);
139
+ const signPath = '/users/self/verify';
140
+ const signRequestMethod = 'GET';
141
+ const signInput = `${timestampInSeconds}${signRequestMethod}${signPath}`;
142
+ const sign = await (0, webCryptoAPI_js_1.signMessage)(signInput, apiSecret, 'base64', 'SHA-256', 'base64:web');
143
+ return { sign, timestampInSeconds };
144
+ }
145
+ /**
146
+ * Return sign used to authenticate CB INTX WS requests
147
+ */
148
+ async function getCBInternationalWSSign(apiKey, apiSecret, apiPassphrase) {
149
+ const timestampInMs = Date.now();
150
+ const timestampInSeconds = (timestampInMs / 1000).toFixed(0);
151
+ const signInput = timestampInSeconds + apiKey + 'CBINTLMD' + apiPassphrase;
152
+ const sign = await (0, webCryptoAPI_js_1.signMessage)(signInput, apiSecret, 'base64', 'SHA-256', 'base64:web');
153
+ return { sign, timestampInSeconds };
154
+ }
155
+ /**
156
+ * Return sign used to authenticate CB Prime WS requests
157
+ */
158
+ async function getCBPrimeWSSign(params) {
159
+ const timestampInMs = Date.now();
160
+ const timestampInSeconds = (timestampInMs / 1000).toFixed(0);
161
+ // channelName + accessKey + svcAccountId + timestamp + portfolioId + products
162
+ const signInput = [
163
+ params.channelName,
164
+ params.apiKey,
165
+ params.svcAccountId,
166
+ timestampInSeconds,
167
+ params.portfolioId,
168
+ params.product_ids ? params.product_ids.join('') : '',
169
+ ].join('');
170
+ const sign = await (0, webCryptoAPI_js_1.signMessage)(signInput, params.apiSecret, 'base64', 'SHA-256', 'base64:web');
171
+ return { sign, timestampInSeconds };
172
+ }
173
+ //# sourceMappingURL=websocket-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-util.js","sourceRoot":"","sources":["../../../../src/lib/websocket/websocket-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,194 @@
1
+ /**
2
+ *
3
+ * Account Endpoints
4
+ *
5
+ */
6
+ import { OrderConfiguration } from '../shared.types.js';
7
+ /**
8
+ *
9
+ * Products Endpoints
10
+ *
11
+ */
12
+ export interface GetAdvTradeProductsRequest {
13
+ limit?: number;
14
+ offset?: number;
15
+ product_type?: 'UNKNOWN_PRODUCT_TYPE' | 'FUTURE' | 'SPOT';
16
+ product_ids?: string[];
17
+ contract_expiry_type?: 'UNKNOWN_CONTRACT_EXPIRY_TYPE' | 'PERPETUAL' | 'EXPIRING';
18
+ expiring_contract_status?: 'UNKNOWN_EXPIRING_CONTRACT_STATUS' | 'STATUS_UNEXPIRED' | 'STATUS_EXPIRED' | 'STATUS_ALL';
19
+ get_tradability_status?: boolean;
20
+ get_all_products?: boolean;
21
+ }
22
+ export interface GetAdvTradeProductCandlesRequest {
23
+ product_id: string;
24
+ start: string;
25
+ end: string;
26
+ granularity: 'UNKNOWN_GRANULARITY' | 'ONE_MINUTE' | 'FIVE_MINUTE' | 'FIFTEEN_MINUTE' | 'THIRTY_MINUTE' | 'ONE_HOUR' | 'TWO_HOUR' | 'SIX_HOUR' | 'ONE_DAY';
27
+ limit?: number;
28
+ }
29
+ export interface GetAdvTradeMarketTradesRequest {
30
+ product_id: string;
31
+ limit: number;
32
+ start?: string;
33
+ end?: string;
34
+ }
35
+ /**
36
+ *
37
+ * Orders Endpoints
38
+ *
39
+ */
40
+ /**
41
+ * Note: client_order_id is optional, because the SDK will automatically generate a value for you during the request.
42
+ *
43
+ * If you are generating your own, make sure you either use the client.generateNewOrderId() method or make sure to prefix your value with "cbnode".
44
+ * The SDK will automatically add the prefix if the prefix is missing.
45
+ */
46
+ export interface SubmitAdvTradeOrderRequest {
47
+ client_order_id?: string;
48
+ product_id: string;
49
+ side: 'BUY' | 'SELL';
50
+ order_configuration: OrderConfiguration;
51
+ leverage?: string;
52
+ margin_type?: 'CROSS' | 'ISOLATED';
53
+ retail_portfolio_id?: string;
54
+ preview_id?: string;
55
+ }
56
+ export interface GetAdvTradeOrdersRequest {
57
+ order_ids?: string[];
58
+ product_ids?: string[];
59
+ product_type?: 'UNKNOWN_PRODUCT_TYPE' | 'SPOT' | 'FUTURE';
60
+ order_status?: string[];
61
+ time_in_forces?: string[];
62
+ order_types?: string[];
63
+ order_side?: 'BUY' | 'SELL';
64
+ start_date?: string;
65
+ end_date?: string;
66
+ order_placement_source?: 'UNKNOWN_PLACEMENT_SOURCE' | 'RETAIL_SIMPLE' | 'RETAIL_ADVANCED';
67
+ contract_expiry_type?: 'UNKNOWN_CONTRACT_EXPIRY_TYPE' | 'PERPETUAL' | 'EXPIRING';
68
+ asset_filters?: string[];
69
+ retail_portfolio_id?: string;
70
+ limit?: number;
71
+ cursor?: string;
72
+ sort_by?: 'UNKNOWN_SORT_BY' | 'LIMIT_PRICE' | 'LAST_FILL_TIME';
73
+ user_native_currency?: string;
74
+ }
75
+ export interface GetAdvTradeFillsRequest {
76
+ order_ids?: string[];
77
+ trade_ids?: string[];
78
+ product_ids?: string[];
79
+ start_sequence_timestamp?: string;
80
+ end_sequence_timestamp?: string;
81
+ retail_portfolio_id?: string;
82
+ limit?: number;
83
+ cursor?: string;
84
+ sort_by?: 'UNKNOWN_SORT_BY' | 'PRICE' | 'TRADE_TIME';
85
+ }
86
+ export interface PreviewAdvTradeOrderRequest {
87
+ product_id: string;
88
+ side: 'BUY' | 'SELL';
89
+ order_configuration: OrderConfiguration;
90
+ leverage?: string;
91
+ margin_type?: 'ISOLATED' | 'CROSS';
92
+ retail_portfolio_id?: string;
93
+ }
94
+ /**
95
+ * Note: client_order_id is optional, because the SDK will automatically generate a value for you during the request.
96
+ *
97
+ * If you are generating your own, make sure you either use the client.generateNewOrderId() method or make sure to prefix your value with "cbnode".
98
+ * The SDK will automatically add the prefix if the prefix is missing.
99
+ */
100
+ export interface CloseAdvTradePositionRequest {
101
+ client_order_id?: string;
102
+ product_id: string;
103
+ size?: string;
104
+ }
105
+ /**
106
+ *
107
+ * Portfolios Endpoints
108
+ *
109
+ */
110
+ export interface MoveAdvTradePortfolioFundsRequest {
111
+ funds: {
112
+ value: string;
113
+ currency: string;
114
+ };
115
+ source_portfolio_uuid: string;
116
+ target_portfolio_uuid: string;
117
+ }
118
+ /**
119
+ *
120
+ * Futures Endpoints
121
+ *
122
+ */
123
+ /**
124
+ *
125
+ * Perpetuals Endpoints
126
+ *
127
+ */
128
+ export interface AllocateAdvTradePortfolioRequest {
129
+ portfolio_uuid: string;
130
+ symbol: string;
131
+ amount: string;
132
+ currency: string;
133
+ }
134
+ /**
135
+ *
136
+ * Fees Endpoints
137
+ *
138
+ */
139
+ export interface GetAdvTradeTransactionSummaryRequest {
140
+ product_type?: 'UNKNOWN_PRODUCT_TYPE' | 'SPOT' | 'FUTURE';
141
+ contract_expiry_type?: 'UNKNOWN_CONTRACT_EXPIRY_TYPE' | 'SPOT' | 'FUTURE';
142
+ product_venue?: 'UNKNOWN_VENUE_TYPE' | 'CBE' | 'FCM' | 'INTX';
143
+ }
144
+ /**
145
+ *
146
+ * Converts Endpoints
147
+ *
148
+ */
149
+ export interface SubmitAdvTradeConvertQuoteRequest {
150
+ from_account: string;
151
+ to_account: string;
152
+ amount: string;
153
+ trade_incentive_metadata?: {
154
+ user_incentive_id?: string;
155
+ code_val?: string;
156
+ };
157
+ }
158
+ /**
159
+ *
160
+ * Public Endpoints
161
+ *
162
+ */
163
+ export interface GetAdvTradePublicProductsRequest {
164
+ limit?: number;
165
+ offset?: number;
166
+ product_type?: 'UNKNOWN_PRODUCT_TYPE' | 'SPOT' | 'FUTURE';
167
+ product_ids?: string[];
168
+ contract_expiry_type?: 'UNKNOWN_CONTRACT_EXPIRY_TYPE' | 'SPOT' | 'FUTURE';
169
+ expiring_contract_status?: 'UNKNOWN_EXPIRING_CONTRACT_STATUS' | 'STATUS_UNEXPIRED' | 'STATUS_EXPIRED' | 'STATUS_ALL';
170
+ get_all_products?: boolean;
171
+ }
172
+ export interface GetAdvTradePublicProductCandlesRequest {
173
+ product_id: string;
174
+ start: string;
175
+ end: string;
176
+ granularity: 'UNKNOWN_GRANULARITY' | 'ONE_MINUTE' | 'FIVE_MINUTE' | 'FIFTEEN_MINUTE' | 'THIRTY_MINUTE' | 'ONE_HOUR' | 'TWO_HOUR' | 'SIX_HOUR' | 'ONE_DAY';
177
+ limit?: number;
178
+ }
179
+ export interface GetAdvTradePublicMarketTradesRequest {
180
+ product_id: string;
181
+ limit: number;
182
+ start?: string;
183
+ end?: string;
184
+ }
185
+ /**
186
+ *
187
+ * Payment Methods Endpoints
188
+ *
189
+ */
190
+ /**
191
+ *
192
+ * Data API Endpoints
193
+ *
194
+ */
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Account Endpoints
5
+ *
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ /**
9
+ *
10
+ * Payment Methods Endpoints
11
+ *
12
+ */
13
+ /**
14
+ *
15
+ * Data API Endpoints
16
+ *
17
+ */
18
+ //# sourceMappingURL=advanced-trade-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced-trade-client.js","sourceRoot":"","sources":["../../../../src/types/request/advanced-trade-client.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA8OH;;;;GAIG;AAEH;;;;GAIG"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ *
3
+ * Account Endpoints
4
+ *
5
+ */
6
+ /**
7
+ *
8
+ * Address Endpoints
9
+ *
10
+ */
11
+ /**
12
+ *
13
+ * Transactions Endpoints
14
+ *
15
+ */
16
+ export interface CBAppSendMoneyRequest {
17
+ account_id: string;
18
+ type: 'send';
19
+ to: string;
20
+ amount: string;
21
+ currency: string;
22
+ description?: string;
23
+ skip_notifications?: boolean;
24
+ idem?: string;
25
+ to_financial_institution?: boolean;
26
+ financial_institution_website?: string;
27
+ destination_tag?: string;
28
+ }
29
+ export interface CBAppTransferMoneyRequest {
30
+ account_id: string;
31
+ type: 'transfer';
32
+ to: string;
33
+ amount: string;
34
+ currency: string;
35
+ description?: string;
36
+ }
37
+ /**
38
+ *
39
+ * Deposits Endpoints
40
+ *
41
+ */
42
+ export interface CBAppDepositFundsRequest {
43
+ account_id: string;
44
+ amount: string;
45
+ currency: string;
46
+ payment_method: string;
47
+ commit?: boolean;
48
+ }
49
+ /**
50
+ *
51
+ * Withdrawals Endpoints
52
+ *
53
+ */
54
+ export interface CBAppWithdrawFundsRequest {
55
+ account_id: string;
56
+ amount: string;
57
+ currency: string;
58
+ payment_method: string;
59
+ commit?: boolean;
60
+ }
61
+ /**
62
+ *
63
+ * DATA - Currencies Endpoints
64
+ *
65
+ */
66
+ /**
67
+ *
68
+ * DATA- Exchange rates Endpoints
69
+ *
70
+ */
71
+ /**
72
+ *
73
+ * DATA - Prices Endpoints
74
+ *
75
+ */
76
+ /**
77
+ *
78
+ * DATA - Time Endpoints
79
+ *
80
+ */
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Account Endpoints
5
+ *
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ /**
9
+ *
10
+ * DATA - Currencies Endpoints
11
+ *
12
+ */
13
+ /**
14
+ *
15
+ * DATA- Exchange rates Endpoints
16
+ *
17
+ */
18
+ /**
19
+ *
20
+ * DATA - Prices Endpoints
21
+ *
22
+ */
23
+ /**
24
+ *
25
+ * DATA - Time Endpoints
26
+ *
27
+ */
28
+ //# sourceMappingURL=coinbase-app-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coinbase-app-client.js","sourceRoot":"","sources":["../../../../src/types/request/coinbase-app-client.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAgEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG"}