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.
- package/README.md +438 -14
- package/dist/cjs/CBAdvancedTradeClient.d.ts +559 -0
- package/dist/cjs/CBAdvancedTradeClient.js +574 -0
- package/dist/cjs/CBAdvancedTradeClient.js.map +1 -0
- package/dist/cjs/CBAppClient.d.ts +359 -0
- package/dist/cjs/CBAppClient.js +336 -0
- package/dist/cjs/CBAppClient.js.map +1 -0
- package/dist/cjs/CBCommerceClient.d.ts +110 -0
- package/dist/cjs/CBCommerceClient.js +105 -0
- package/dist/cjs/CBCommerceClient.js.map +1 -0
- package/dist/cjs/CBExchangeClient.d.ts +640 -0
- package/dist/cjs/CBExchangeClient.js +751 -0
- package/dist/cjs/CBExchangeClient.js.map +1 -0
- package/dist/cjs/CBInternationalClient.d.ts +381 -0
- package/dist/cjs/CBInternationalClient.js +437 -0
- package/dist/cjs/CBInternationalClient.js.map +1 -0
- package/dist/cjs/CBPrimeClient.d.ts +363 -0
- package/dist/cjs/CBPrimeClient.js +451 -0
- package/dist/cjs/CBPrimeClient.js.map +1 -0
- package/dist/cjs/WebsocketClient.d.ts +78 -0
- package/dist/cjs/WebsocketClient.js +534 -0
- package/dist/cjs/WebsocketClient.js.map +1 -0
- package/dist/cjs/index.d.ts +13 -0
- package/dist/cjs/index.js +30 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/BaseRestClient.d.ts +66 -0
- package/dist/cjs/lib/BaseRestClient.js +436 -0
- package/dist/cjs/lib/BaseRestClient.js.map +1 -0
- package/dist/cjs/lib/BaseWSClient.d.ts +169 -0
- package/dist/cjs/lib/BaseWSClient.js +638 -0
- package/dist/cjs/lib/BaseWSClient.js.map +1 -0
- package/dist/cjs/lib/jwtNode.d.ts +13 -0
- package/dist/cjs/lib/jwtNode.js +52 -0
- package/dist/cjs/lib/jwtNode.js.map +1 -0
- package/dist/cjs/lib/misc-util.d.ts +1 -0
- package/dist/cjs/lib/misc-util.js +7 -0
- package/dist/cjs/lib/misc-util.js.map +1 -0
- package/dist/cjs/lib/requestUtils.d.ts +98 -0
- package/dist/cjs/lib/requestUtils.js +75 -0
- package/dist/cjs/lib/requestUtils.js.map +1 -0
- package/dist/cjs/lib/webCryptoAPI.d.ts +10 -0
- package/dist/cjs/lib/webCryptoAPI.js +83 -0
- package/dist/cjs/lib/webCryptoAPI.js.map +1 -0
- package/dist/cjs/lib/websocket/WsStore.d.ts +63 -0
- package/dist/cjs/lib/websocket/WsStore.js +254 -0
- package/dist/cjs/lib/websocket/WsStore.js.map +1 -0
- package/dist/cjs/lib/websocket/WsStore.types.d.ts +49 -0
- package/dist/cjs/lib/websocket/WsStore.types.js +14 -0
- package/dist/cjs/lib/websocket/WsStore.types.js.map +1 -0
- package/dist/cjs/lib/websocket/logger.d.ts +6 -0
- package/dist/cjs/lib/websocket/logger.js +16 -0
- package/dist/cjs/lib/websocket/logger.js.map +1 -0
- package/dist/cjs/lib/websocket/typeGuards.d.ts +27 -0
- package/dist/cjs/lib/websocket/typeGuards.js +86 -0
- package/dist/cjs/lib/websocket/typeGuards.js.map +1 -0
- package/dist/cjs/lib/websocket/websocket-util.d.ts +120 -0
- package/dist/cjs/lib/websocket/websocket-util.js +173 -0
- package/dist/cjs/lib/websocket/websocket-util.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/types/request/advanced-trade-client.d.ts +194 -0
- package/dist/cjs/types/request/advanced-trade-client.js +18 -0
- package/dist/cjs/types/request/advanced-trade-client.js.map +1 -0
- package/dist/cjs/types/request/coinbase-app-client.d.ts +80 -0
- package/dist/cjs/types/request/coinbase-app-client.js +28 -0
- package/dist/cjs/types/request/coinbase-app-client.js.map +1 -0
- package/dist/cjs/types/request/coinbase-exchange.d.ts +332 -0
- package/dist/cjs/types/request/coinbase-exchange.js +3 -0
- package/dist/cjs/types/request/coinbase-exchange.js.map +1 -0
- package/dist/cjs/types/request/coinbase-international.d.ts +160 -0
- package/dist/cjs/types/request/coinbase-international.js +13 -0
- package/dist/cjs/types/request/coinbase-international.js.map +1 -0
- package/dist/cjs/types/request/coinbase-prime.d.ts +298 -0
- package/dist/cjs/types/request/coinbase-prime.js +8 -0
- package/dist/cjs/types/request/coinbase-prime.js.map +1 -0
- package/dist/cjs/types/response/advanced-trade-client.d.ts +759 -0
- package/dist/cjs/types/response/advanced-trade-client.js +8 -0
- package/dist/cjs/types/response/advanced-trade-client.js.map +1 -0
- package/dist/cjs/types/response/coinbase-app-client.d.ts +168 -0
- package/dist/cjs/types/response/coinbase-app-client.js +18 -0
- package/dist/cjs/types/response/coinbase-app-client.js.map +1 -0
- package/dist/cjs/types/response/coinbase-exchange.d.ts +80 -0
- package/dist/cjs/types/response/coinbase-exchange.js +82 -0
- package/dist/cjs/types/response/coinbase-exchange.js.map +1 -0
- package/dist/cjs/types/response/coinbase-international.d.ts +40 -0
- package/dist/cjs/types/response/coinbase-international.js +42 -0
- package/dist/cjs/types/response/coinbase-international.js.map +1 -0
- package/dist/cjs/types/response/coinbase-prime.d.ts +70 -0
- package/dist/cjs/types/response/coinbase-prime.js +72 -0
- package/dist/cjs/types/response/coinbase-prime.js.map +1 -0
- package/dist/cjs/types/response/ws.d.ts +7 -0
- package/dist/cjs/types/response/ws.js +3 -0
- package/dist/cjs/types/response/ws.js.map +1 -0
- package/dist/cjs/types/shared.types.d.ts +60 -0
- package/dist/cjs/types/shared.types.js +3 -0
- package/dist/cjs/types/shared.types.js.map +1 -0
- package/dist/cjs/types/websockets/client.d.ts +73 -0
- package/dist/cjs/types/websockets/client.js +3 -0
- package/dist/cjs/types/websockets/client.js.map +1 -0
- package/dist/cjs/types/websockets/events.d.ts +40 -0
- package/dist/cjs/types/websockets/events.js +3 -0
- package/dist/cjs/types/websockets/events.js.map +1 -0
- package/dist/cjs/types/websockets/requests.d.ts +76 -0
- package/dist/cjs/types/websockets/requests.js +3 -0
- package/dist/cjs/types/websockets/requests.js.map +1 -0
- package/dist/cjs/types/websockets/wsAPI.d.ts +9 -0
- package/dist/cjs/types/websockets/wsAPI.js +3 -0
- package/dist/cjs/types/websockets/wsAPI.js.map +1 -0
- package/dist/mjs/CBAdvancedTradeClient.d.ts +559 -0
- package/dist/mjs/CBAdvancedTradeClient.js +570 -0
- package/dist/mjs/CBAdvancedTradeClient.js.map +1 -0
- package/dist/mjs/CBAppClient.d.ts +359 -0
- package/dist/mjs/CBAppClient.js +332 -0
- package/dist/mjs/CBAppClient.js.map +1 -0
- package/dist/mjs/CBCommerceClient.d.ts +110 -0
- package/dist/mjs/CBCommerceClient.js +101 -0
- package/dist/mjs/CBCommerceClient.js.map +1 -0
- package/dist/mjs/CBExchangeClient.d.ts +640 -0
- package/dist/mjs/CBExchangeClient.js +747 -0
- package/dist/mjs/CBExchangeClient.js.map +1 -0
- package/dist/mjs/CBInternationalClient.d.ts +381 -0
- package/dist/mjs/CBInternationalClient.js +433 -0
- package/dist/mjs/CBInternationalClient.js.map +1 -0
- package/dist/mjs/CBPrimeClient.d.ts +363 -0
- package/dist/mjs/CBPrimeClient.js +447 -0
- package/dist/mjs/CBPrimeClient.js.map +1 -0
- package/dist/mjs/WebsocketClient.d.ts +78 -0
- package/dist/mjs/WebsocketClient.js +530 -0
- package/dist/mjs/WebsocketClient.js.map +1 -0
- package/dist/mjs/index.d.ts +13 -0
- package/dist/mjs/index.js +14 -0
- package/dist/mjs/index.js.map +1 -0
- package/dist/mjs/lib/BaseRestClient.d.ts +66 -0
- package/dist/mjs/lib/BaseRestClient.js +429 -0
- package/dist/mjs/lib/BaseRestClient.js.map +1 -0
- package/dist/mjs/lib/BaseWSClient.d.ts +169 -0
- package/dist/mjs/lib/BaseWSClient.js +631 -0
- package/dist/mjs/lib/BaseWSClient.js.map +1 -0
- package/dist/mjs/lib/jwtNode.d.ts +13 -0
- package/dist/mjs/lib/jwtNode.js +45 -0
- package/dist/mjs/lib/jwtNode.js.map +1 -0
- package/dist/mjs/lib/misc-util.d.ts +1 -0
- package/dist/mjs/lib/misc-util.js +4 -0
- package/dist/mjs/lib/misc-util.js.map +1 -0
- package/dist/mjs/lib/requestUtils.d.ts +98 -0
- package/dist/mjs/lib/requestUtils.js +69 -0
- package/dist/mjs/lib/requestUtils.js.map +1 -0
- package/dist/mjs/lib/webCryptoAPI.d.ts +10 -0
- package/dist/mjs/lib/webCryptoAPI.js +79 -0
- package/dist/mjs/lib/webCryptoAPI.js.map +1 -0
- package/dist/mjs/lib/websocket/WsStore.d.ts +63 -0
- package/dist/mjs/lib/websocket/WsStore.js +249 -0
- package/dist/mjs/lib/websocket/WsStore.js.map +1 -0
- package/dist/mjs/lib/websocket/WsStore.types.d.ts +49 -0
- package/dist/mjs/lib/websocket/WsStore.types.js +11 -0
- package/dist/mjs/lib/websocket/WsStore.types.js.map +1 -0
- package/dist/mjs/lib/websocket/logger.d.ts +6 -0
- package/dist/mjs/lib/websocket/logger.js +13 -0
- package/dist/mjs/lib/websocket/logger.js.map +1 -0
- package/dist/mjs/lib/websocket/typeGuards.d.ts +27 -0
- package/dist/mjs/lib/websocket/typeGuards.js +78 -0
- package/dist/mjs/lib/websocket/typeGuards.js.map +1 -0
- package/dist/mjs/lib/websocket/websocket-util.d.ts +120 -0
- package/dist/mjs/lib/websocket/websocket-util.js +164 -0
- package/dist/mjs/lib/websocket/websocket-util.js.map +1 -0
- package/dist/mjs/package.json +3 -0
- package/dist/mjs/types/request/advanced-trade-client.d.ts +194 -0
- package/dist/mjs/types/request/advanced-trade-client.js +17 -0
- package/dist/mjs/types/request/advanced-trade-client.js.map +1 -0
- package/dist/mjs/types/request/coinbase-app-client.d.ts +80 -0
- package/dist/mjs/types/request/coinbase-app-client.js +27 -0
- package/dist/mjs/types/request/coinbase-app-client.js.map +1 -0
- package/dist/mjs/types/request/coinbase-exchange.d.ts +332 -0
- package/dist/mjs/types/request/coinbase-exchange.js +2 -0
- package/dist/mjs/types/request/coinbase-exchange.js.map +1 -0
- package/dist/mjs/types/request/coinbase-international.d.ts +160 -0
- package/dist/mjs/types/request/coinbase-international.js +12 -0
- package/dist/mjs/types/request/coinbase-international.js.map +1 -0
- package/dist/mjs/types/request/coinbase-prime.d.ts +298 -0
- package/dist/mjs/types/request/coinbase-prime.js +7 -0
- package/dist/mjs/types/request/coinbase-prime.js.map +1 -0
- package/dist/mjs/types/response/advanced-trade-client.d.ts +759 -0
- package/dist/mjs/types/response/advanced-trade-client.js +7 -0
- package/dist/mjs/types/response/advanced-trade-client.js.map +1 -0
- package/dist/mjs/types/response/coinbase-app-client.d.ts +168 -0
- package/dist/mjs/types/response/coinbase-app-client.js +17 -0
- package/dist/mjs/types/response/coinbase-app-client.js.map +1 -0
- package/dist/mjs/types/response/coinbase-exchange.d.ts +80 -0
- package/dist/mjs/types/response/coinbase-exchange.js +82 -0
- package/dist/mjs/types/response/coinbase-exchange.js.map +1 -0
- package/dist/mjs/types/response/coinbase-international.d.ts +40 -0
- package/dist/mjs/types/response/coinbase-international.js +42 -0
- package/dist/mjs/types/response/coinbase-international.js.map +1 -0
- package/dist/mjs/types/response/coinbase-prime.d.ts +70 -0
- package/dist/mjs/types/response/coinbase-prime.js +72 -0
- package/dist/mjs/types/response/coinbase-prime.js.map +1 -0
- package/dist/mjs/types/response/ws.d.ts +7 -0
- package/dist/mjs/types/response/ws.js +2 -0
- package/dist/mjs/types/response/ws.js.map +1 -0
- package/dist/mjs/types/shared.types.d.ts +60 -0
- package/dist/mjs/types/shared.types.js +2 -0
- package/dist/mjs/types/shared.types.js.map +1 -0
- package/dist/mjs/types/websockets/client.d.ts +73 -0
- package/dist/mjs/types/websockets/client.js +2 -0
- package/dist/mjs/types/websockets/client.js.map +1 -0
- package/dist/mjs/types/websockets/events.d.ts +40 -0
- package/dist/mjs/types/websockets/events.js +2 -0
- package/dist/mjs/types/websockets/events.js.map +1 -0
- package/dist/mjs/types/websockets/requests.d.ts +76 -0
- package/dist/mjs/types/websockets/requests.js +2 -0
- package/dist/mjs/types/websockets/requests.js.map +1 -0
- package/dist/mjs/types/websockets/wsAPI.d.ts +9 -0
- package/dist/mjs/types/websockets/wsAPI.js +2 -0
- package/dist/mjs/types/websockets/wsAPI.js.map +1 -0
- package/package.json +42 -30
- package/index.js +0 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -16
- 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":"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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 {};
|