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,359 @@
1
+ import { AxiosRequestConfig } from 'axios';
2
+ import { BaseRestClient } from './lib/BaseRestClient.js';
3
+ import { RestClientOptions, RestClientType } from './lib/requestUtils.js';
4
+ import { CBAppDepositFundsRequest, CBAppSendMoneyRequest, CBAppTransferMoneyRequest, CBAppWithdrawFundsRequest } from './types/request/coinbase-app-client.js';
5
+ import { CBAppAccount, CBAppAddress, CBAppCryptocurrency, CBAppDepositWithdrawal, CBAppFiatCurrency, CBAppPagination, CBAppTransaction } from './types/response/coinbase-app-client.js';
6
+ /**
7
+ * REST client for Coinbase's Coinbase App API:
8
+ * https://docs.cdp.coinbase.com/coinbase-app/docs/welcome
9
+ */
10
+ export declare class CBAppClient extends BaseRestClient {
11
+ constructor(restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig);
12
+ getClientType(): RestClientType;
13
+ /**
14
+ *
15
+ * Account Endpoints
16
+ *
17
+ */
18
+ /**
19
+ * List Accounts
20
+ *
21
+ * List a current user's accounts to which the authentication method has access to.
22
+ *
23
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
24
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of accounts.
25
+ */
26
+ getAccounts(params?: {
27
+ paginationURL?: string;
28
+ }): Promise<{
29
+ data: CBAppAccount[];
30
+ pagination: CBAppPagination;
31
+ }>;
32
+ /**
33
+ * Show Account
34
+ *
35
+ * Get a current user's account by account ID or currency string.
36
+ */
37
+ getAccount(params: {
38
+ account_id: string;
39
+ }): Promise<{
40
+ data: CBAppAccount;
41
+ }>;
42
+ /**
43
+ *
44
+ * Address Endpoints
45
+ *
46
+ */
47
+ /**
48
+ * Create Address
49
+ *
50
+ * Creates a new address for an account. Addresses can be created for wallet account types.
51
+ */
52
+ createAddress(params: {
53
+ account_id: string;
54
+ name?: string;
55
+ }): Promise<{
56
+ data: CBAppAddress;
57
+ }>;
58
+ /**
59
+ * List Addresses
60
+ *
61
+ * Lists addresses for an account.
62
+ *
63
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
64
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of addresses.
65
+ */
66
+ getAddresses(params: {
67
+ account_id: string;
68
+ paginationURL?: string;
69
+ }): Promise<{
70
+ pagination: CBAppPagination;
71
+ data: CBAppAddress[];
72
+ }>;
73
+ /**
74
+ * Show Address
75
+ *
76
+ * Get an single address for an account.
77
+ * A regular cryptocurrency address can be used in place of address_id but the address must be associated with the correct account.
78
+ *
79
+ * !! An address can only be associated with one account. See Create Address to create new addresses.
80
+ */
81
+ getAddress(params: {
82
+ account_id: string;
83
+ addressId: string;
84
+ }): Promise<{
85
+ data: CBAppAddress;
86
+ }>;
87
+ /**
88
+ * List Address Transactions
89
+ *
90
+ * List transactions that have been sent to a specific address.
91
+ * A regular cryptocurrency address can be used in place of address_id but the address must be associated with the correct account.
92
+ *
93
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
94
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of transactions.
95
+ */
96
+ getAddressTransactions(params: {
97
+ account_id: string;
98
+ addressId: string;
99
+ paginationURL?: string;
100
+ }): Promise<{
101
+ pagination: CBAppPagination;
102
+ data: CBAppTransaction[];
103
+ }>;
104
+ /**
105
+ *
106
+ * Transactions Endpoints
107
+ *
108
+ */
109
+ /**
110
+ * Send Money
111
+ *
112
+ * Send funds to a network address for any Coinbase supported asset, or email address of the recipient.
113
+ * No transaction fees are required for off-blockchain cryptocurrency transactions.
114
+ */
115
+ sendMoney(params: CBAppSendMoneyRequest): Promise<{
116
+ data: CBAppTransaction;
117
+ }>;
118
+ /**
119
+ * Transfer Money
120
+ *
121
+ * Transfer any Coinbase supported digital asset between two of a single user's accounts.
122
+ * Accounts must support the same currency for transfers to be successful.
123
+ */
124
+ transferMoney(params: CBAppTransferMoneyRequest): Promise<{
125
+ data: CBAppTransaction;
126
+ }>;
127
+ /**
128
+ * List Transactions
129
+ *
130
+ * Lists the transactions of an account by account ID.
131
+ *
132
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
133
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of transactions.
134
+ */
135
+ getTransactions(params: {
136
+ account_id: string;
137
+ paginationURL?: string;
138
+ }): Promise<{
139
+ pagination: CBAppPagination;
140
+ data: CBAppTransaction[];
141
+ }>;
142
+ /**
143
+ * Show Transaction
144
+ *
145
+ * Get a single transaction for an account.
146
+ */
147
+ getTransaction(params: {
148
+ account_id: string;
149
+ transactionId: string;
150
+ }): Promise<{
151
+ data: CBAppTransaction;
152
+ }>;
153
+ /**
154
+ *
155
+ * Deposits Endpoints
156
+ *
157
+ */
158
+ /**
159
+ * Deposit Funds
160
+ *
161
+ * Deposits user-defined amount of funds to a fiat account.
162
+ */
163
+ depositFunds(params: CBAppDepositFundsRequest): Promise<{
164
+ data: CBAppDepositWithdrawal;
165
+ }>;
166
+ /**
167
+ * Commit Deposit
168
+ *
169
+ * Completes a deposit that is created in commit: false state.
170
+ */
171
+ commitDeposit(params: {
172
+ account_id: string;
173
+ deposit_id: string;
174
+ }): Promise<{
175
+ data: CBAppDepositWithdrawal;
176
+ }>;
177
+ /**
178
+ * List Deposits
179
+ *
180
+ * Lists fiat deposits for an account.
181
+ *
182
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
183
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of deposits.
184
+ */
185
+ getDeposits(params: {
186
+ account_id: string;
187
+ paginationURL?: string;
188
+ }): Promise<{
189
+ pagination: CBAppPagination;
190
+ data: CBAppDepositWithdrawal[];
191
+ }>;
192
+ /**
193
+ * Show Deposit
194
+ *
195
+ * Get one deposit by deposit Id.
196
+ */
197
+ getDeposit(params: {
198
+ account_id: string;
199
+ deposit_id: string;
200
+ }): Promise<{
201
+ data: CBAppDepositWithdrawal;
202
+ }>;
203
+ /**
204
+ *
205
+ * Withdrawals Endpoints
206
+ *
207
+ */
208
+ /**
209
+ * Withdraw Funds
210
+ *
211
+ * Withdraws a user-defined amount of funds from a fiat account.
212
+ */
213
+ withdrawFunds(params: CBAppWithdrawFundsRequest): Promise<{
214
+ data: CBAppDepositWithdrawal;
215
+ }>;
216
+ /**
217
+ * Commit Withdrawal
218
+ *
219
+ * Completes a withdrawal that is created in commit: false state.
220
+ */
221
+ commitWithdrawal(params: {
222
+ account_id: string;
223
+ withdrawal_id: string;
224
+ }): Promise<{
225
+ data: CBAppDepositWithdrawal;
226
+ }>;
227
+ /**
228
+ * List Withdrawals
229
+ *
230
+ * Lists withdrawals for an account.
231
+ *
232
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
233
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of withdrawals.
234
+ */
235
+ getWithdrawals(params: {
236
+ account_id: string;
237
+ paginationURL?: string;
238
+ }): Promise<{
239
+ pagination: CBAppPagination;
240
+ data: CBAppDepositWithdrawal[];
241
+ }>;
242
+ /**
243
+ * Show Withdrawal
244
+ *
245
+ * Get a single withdrawal.
246
+ */
247
+ getWithdrawal(params: {
248
+ account_id: string;
249
+ withdrawal_id: string;
250
+ }): Promise<{
251
+ data: CBAppDepositWithdrawal;
252
+ }>;
253
+ /**
254
+ *
255
+ * DATA - Currencies Endpoints
256
+ *
257
+ */
258
+ /**
259
+ * Get Fiat Currencies
260
+ *
261
+ * Lists known fiat currencies. Currency codes conform to the ISO 4217 standard where possible.
262
+ * Currencies with no representation in ISO 4217 may use a custom code.
263
+ */
264
+ getFiatCurrencies(): Promise<{
265
+ data: CBAppFiatCurrency[];
266
+ }>;
267
+ /**
268
+ * Get Cryptocurrencies
269
+ *
270
+ * Lists known cryptocurrencies.
271
+ */
272
+ getCryptocurrencies(): Promise<CBAppCryptocurrency[]>;
273
+ /**
274
+ *
275
+ * DATA- Exchange rates Endpoints
276
+ *
277
+ */
278
+ /**
279
+ * Get Exchange Rates
280
+ *
281
+ * Get current exchange rates. Default base currency is USD but it can be defined as any supported currency.
282
+ * Returned rates will define the exchange rate for one unit of the base currency.
283
+ */
284
+ getExchangeRates(params?: {
285
+ currency?: string;
286
+ }): Promise<{
287
+ data: {
288
+ currency: string;
289
+ rates: {
290
+ [key: string]: string;
291
+ };
292
+ };
293
+ }>;
294
+ /**
295
+ *
296
+ * DATA - Prices Endpoints
297
+ *
298
+ */
299
+ /**
300
+ * Get Buy Price
301
+ *
302
+ * Get the total price to buy one bitcoin or ether.
303
+ * This endpoint doesn't require authentication.
304
+ */
305
+ getBuyPrice(params: {
306
+ currencyPair: string;
307
+ }): Promise<{
308
+ data: {
309
+ amount: string;
310
+ currency: string;
311
+ };
312
+ }>;
313
+ /**
314
+ * Get Sell Price
315
+ *
316
+ * Get the total price to sell one bitcoin or ether.
317
+ * This endpoint doesn't require authentication.
318
+ */
319
+ getSellPrice(params: {
320
+ currencyPair: string;
321
+ }): Promise<{
322
+ data: {
323
+ amount: string;
324
+ currency: string;
325
+ };
326
+ }>;
327
+ /**
328
+ * Get Spot Price
329
+ *
330
+ * Get the current market price for bitcoin. This is usually somewhere in between the buy and sell price.
331
+ * This endpoint doesn't require authentication.
332
+ */
333
+ getSpotPrice(params: {
334
+ currencyPair: string;
335
+ date?: string;
336
+ }): Promise<{
337
+ data: {
338
+ amount: string;
339
+ currency: string;
340
+ };
341
+ }>;
342
+ /**
343
+ *
344
+ * DATA - Time Endpoints
345
+ *
346
+ */
347
+ /**
348
+ * Get Current Time
349
+ *
350
+ * Get the API server time.
351
+ * This endpoint doesn't require authentication.
352
+ */
353
+ getCurrentTime(): Promise<{
354
+ data: {
355
+ iso: string;
356
+ epoch: number;
357
+ };
358
+ }>;
359
+ }
@@ -0,0 +1,332 @@
1
+ import { BaseRestClient } from './lib/BaseRestClient.js';
2
+ import { REST_CLIENT_TYPE_ENUM, } from './lib/requestUtils.js';
3
+ /**
4
+ * REST client for Coinbase's Coinbase App API:
5
+ * https://docs.cdp.coinbase.com/coinbase-app/docs/welcome
6
+ */
7
+ export class CBAppClient extends BaseRestClient {
8
+ constructor(restClientOptions = {}, requestOptions = {}) {
9
+ super(restClientOptions, {
10
+ ...requestOptions,
11
+ headers: {
12
+ // Some endpoints return a warning if a version header isn't included: https://docs.cdp.coinbase.com/coinbase-app/docs/versioning
13
+ // Currently set to a date from the changelog: https://docs.cdp.coinbase.com/coinbase-app/docs/changelog
14
+ 'CB-VERSION': '2024-09-13',
15
+ ...requestOptions.headers,
16
+ },
17
+ });
18
+ return this;
19
+ }
20
+ getClientType() {
21
+ return REST_CLIENT_TYPE_ENUM.coinbaseApp;
22
+ }
23
+ /**
24
+ *
25
+ * Account Endpoints
26
+ *
27
+ */
28
+ /**
29
+ * List Accounts
30
+ *
31
+ * List a current user's accounts to which the authentication method has access to.
32
+ *
33
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
34
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of accounts.
35
+ */
36
+ getAccounts(params) {
37
+ if (params?.paginationURL) {
38
+ return this.getPrivate(params.paginationURL);
39
+ }
40
+ return this.getPrivate('/v2/accounts');
41
+ }
42
+ /**
43
+ * Show Account
44
+ *
45
+ * Get a current user's account by account ID or currency string.
46
+ */
47
+ getAccount(params) {
48
+ return this.getPrivate(`/v2/accounts/${params.account_id}`);
49
+ }
50
+ /**
51
+ *
52
+ * Address Endpoints
53
+ *
54
+ */
55
+ /**
56
+ * Create Address
57
+ *
58
+ * Creates a new address for an account. Addresses can be created for wallet account types.
59
+ */
60
+ createAddress(params) {
61
+ return this.postPrivate(`/v2/accounts/${params.account_id}/addresses`, {
62
+ body: params,
63
+ });
64
+ }
65
+ /**
66
+ * List Addresses
67
+ *
68
+ * Lists addresses for an account.
69
+ *
70
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
71
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of addresses.
72
+ */
73
+ getAddresses(params) {
74
+ if (params?.paginationURL) {
75
+ return this.getPrivate(params.paginationURL);
76
+ }
77
+ return this.getPrivate(`/v2/accounts/${params.account_id}/addresses`);
78
+ }
79
+ /**
80
+ * Show Address
81
+ *
82
+ * Get an single address for an account.
83
+ * A regular cryptocurrency address can be used in place of address_id but the address must be associated with the correct account.
84
+ *
85
+ * !! An address can only be associated with one account. See Create Address to create new addresses.
86
+ */
87
+ getAddress(params) {
88
+ return this.getPrivate(`/v2/accounts/${params.account_id}/addresses/${params.addressId}`);
89
+ }
90
+ /**
91
+ * List Address Transactions
92
+ *
93
+ * List transactions that have been sent to a specific address.
94
+ * A regular cryptocurrency address can be used in place of address_id but the address must be associated with the correct account.
95
+ *
96
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
97
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of transactions.
98
+ */
99
+ getAddressTransactions(params) {
100
+ if (params?.paginationURL) {
101
+ return this.getPrivate(params.paginationURL);
102
+ }
103
+ return this.getPrivate(`/v2/accounts/${params.account_id}/addresses/${params.addressId}/transactions`);
104
+ }
105
+ /**
106
+ *
107
+ * Transactions Endpoints
108
+ *
109
+ */
110
+ /**
111
+ * Send Money
112
+ *
113
+ * Send funds to a network address for any Coinbase supported asset, or email address of the recipient.
114
+ * No transaction fees are required for off-blockchain cryptocurrency transactions.
115
+ */
116
+ sendMoney(params) {
117
+ const { account_id, ...restParams } = params;
118
+ return this.postPrivate(`/v2/accounts/${account_id}/transactions`, {
119
+ body: restParams,
120
+ });
121
+ }
122
+ /**
123
+ * Transfer Money
124
+ *
125
+ * Transfer any Coinbase supported digital asset between two of a single user's accounts.
126
+ * Accounts must support the same currency for transfers to be successful.
127
+ */
128
+ transferMoney(params) {
129
+ const { account_id, ...restParams } = params;
130
+ return this.postPrivate(`/v2/accounts/${account_id}/transactions`, {
131
+ body: restParams,
132
+ });
133
+ }
134
+ /**
135
+ * List Transactions
136
+ *
137
+ * Lists the transactions of an account by account ID.
138
+ *
139
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
140
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of transactions.
141
+ */
142
+ getTransactions(params) {
143
+ if (params?.paginationURL) {
144
+ return this.getPrivate(params.paginationURL);
145
+ }
146
+ return this.getPrivate(`/v2/accounts/${params.account_id}/transactions`);
147
+ }
148
+ /**
149
+ * Show Transaction
150
+ *
151
+ * Get a single transaction for an account.
152
+ */
153
+ getTransaction(params) {
154
+ return this.getPrivate(`/v2/accounts/${params.account_id}/transactions/${params.transactionId}`);
155
+ }
156
+ /**
157
+ *
158
+ * Deposits Endpoints
159
+ *
160
+ */
161
+ /**
162
+ * Deposit Funds
163
+ *
164
+ * Deposits user-defined amount of funds to a fiat account.
165
+ */
166
+ depositFunds(params) {
167
+ const { account_id, ...restParams } = params;
168
+ return this.postPrivate(`/v2/accounts/${account_id}/deposits`, {
169
+ body: restParams,
170
+ });
171
+ }
172
+ /**
173
+ * Commit Deposit
174
+ *
175
+ * Completes a deposit that is created in commit: false state.
176
+ */
177
+ commitDeposit(params) {
178
+ return this.postPrivate(`/v2/accounts/${params.account_id}/deposits/${params.deposit_id}/commit`);
179
+ }
180
+ /**
181
+ * List Deposits
182
+ *
183
+ * Lists fiat deposits for an account.
184
+ *
185
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
186
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of deposits.
187
+ */
188
+ getDeposits(params) {
189
+ if (params?.paginationURL) {
190
+ return this.getPrivate(params.paginationURL);
191
+ }
192
+ return this.getPrivate(`/v2/accounts/${params.account_id}/deposits`);
193
+ }
194
+ /**
195
+ * Show Deposit
196
+ *
197
+ * Get one deposit by deposit Id.
198
+ */
199
+ getDeposit(params) {
200
+ return this.getPrivate(`/v2/accounts/${params.account_id}/deposits/${params.deposit_id}`);
201
+ }
202
+ /**
203
+ *
204
+ * Withdrawals Endpoints
205
+ *
206
+ */
207
+ /**
208
+ * Withdraw Funds
209
+ *
210
+ * Withdraws a user-defined amount of funds from a fiat account.
211
+ */
212
+ withdrawFunds(params) {
213
+ const { account_id, ...restParams } = params;
214
+ return this.postPrivate(`/v2/accounts/${account_id}/withdrawals`, {
215
+ body: restParams,
216
+ });
217
+ }
218
+ /**
219
+ * Commit Withdrawal
220
+ *
221
+ * Completes a withdrawal that is created in commit: false state.
222
+ */
223
+ commitWithdrawal(params) {
224
+ return this.postPrivate(`/v2/accounts/${params.account_id}/withdrawals/${params.withdrawal_id}/commit`);
225
+ }
226
+ /**
227
+ * List Withdrawals
228
+ *
229
+ * Lists withdrawals for an account.
230
+ *
231
+ * This endpoint is paginated. In case you are calling it first time, leave paginationURL empty.
232
+ * If you are paginating, provide the paginationURL value from the previous response and you will receive the next page of withdrawals.
233
+ */
234
+ getWithdrawals(params) {
235
+ if (params?.paginationURL) {
236
+ return this.getPrivate(params.paginationURL);
237
+ }
238
+ return this.getPrivate(`/v2/accounts/${params.account_id}/withdrawals`);
239
+ }
240
+ /**
241
+ * Show Withdrawal
242
+ *
243
+ * Get a single withdrawal.
244
+ */
245
+ getWithdrawal(params) {
246
+ return this.getPrivate(`/v2/accounts/${params.account_id}/withdrawals/${params.withdrawal_id}`);
247
+ }
248
+ /**
249
+ *
250
+ * DATA - Currencies Endpoints
251
+ *
252
+ */
253
+ /**
254
+ * Get Fiat Currencies
255
+ *
256
+ * Lists known fiat currencies. Currency codes conform to the ISO 4217 standard where possible.
257
+ * Currencies with no representation in ISO 4217 may use a custom code.
258
+ */
259
+ getFiatCurrencies() {
260
+ return this.get('/v2/currencies');
261
+ }
262
+ /**
263
+ * Get Cryptocurrencies
264
+ *
265
+ * Lists known cryptocurrencies.
266
+ */
267
+ getCryptocurrencies() {
268
+ return this.get('/v2/currencies/crypto');
269
+ }
270
+ /**
271
+ *
272
+ * DATA- Exchange rates Endpoints
273
+ *
274
+ */
275
+ /**
276
+ * Get Exchange Rates
277
+ *
278
+ * Get current exchange rates. Default base currency is USD but it can be defined as any supported currency.
279
+ * Returned rates will define the exchange rate for one unit of the base currency.
280
+ */
281
+ getExchangeRates(params) {
282
+ return this.get(`/v2/exchange-rates`, params);
283
+ }
284
+ /**
285
+ *
286
+ * DATA - Prices Endpoints
287
+ *
288
+ */
289
+ /**
290
+ * Get Buy Price
291
+ *
292
+ * Get the total price to buy one bitcoin or ether.
293
+ * This endpoint doesn't require authentication.
294
+ */
295
+ getBuyPrice(params) {
296
+ return this.get(`/v2/prices/${params.currencyPair}/buy`);
297
+ }
298
+ /**
299
+ * Get Sell Price
300
+ *
301
+ * Get the total price to sell one bitcoin or ether.
302
+ * This endpoint doesn't require authentication.
303
+ */
304
+ getSellPrice(params) {
305
+ return this.get(`/v2/prices/${params.currencyPair}/sell`);
306
+ }
307
+ /**
308
+ * Get Spot Price
309
+ *
310
+ * Get the current market price for bitcoin. This is usually somewhere in between the buy and sell price.
311
+ * This endpoint doesn't require authentication.
312
+ */
313
+ getSpotPrice(params) {
314
+ const { currencyPair, ...query } = params;
315
+ return this.get(`/v2/prices/${currencyPair}/spot`, query);
316
+ }
317
+ /**
318
+ *
319
+ * DATA - Time Endpoints
320
+ *
321
+ */
322
+ /**
323
+ * Get Current Time
324
+ *
325
+ * Get the API server time.
326
+ * This endpoint doesn't require authentication.
327
+ */
328
+ getCurrentTime() {
329
+ return this.get('/v2/time');
330
+ }
331
+ }
332
+ //# sourceMappingURL=CBAppClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CBAppClient.js","sourceRoot":"","sources":["../../src/CBAppClient.ts"],"names":[],"mappings":"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"}