@bitpay-labs/bitcore-wallet-service 11.8.1 → 11.8.2

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 (84) hide show
  1. package/package.json +2 -2
  2. package/src/bws.ts +2 -0
  3. package/src/lib/common/utils.ts +6 -0
  4. package/src/lib/expressapp.ts +63 -2378
  5. package/src/lib/model/txproposal.ts +14 -10
  6. package/src/lib/routes/advertisements.ts +151 -0
  7. package/src/lib/routes/blockchain.ts +152 -0
  8. package/src/lib/routes/context.ts +149 -0
  9. package/src/lib/routes/maintenance.ts +111 -0
  10. package/src/lib/routes/moralis.ts +89 -0
  11. package/src/lib/routes/notifications.ts +135 -0
  12. package/src/lib/routes/services.ts +528 -0
  13. package/src/lib/routes/setup.ts +86 -0
  14. package/src/lib/routes/transactions.ts +196 -0
  15. package/src/lib/routes/walletdata.ts +167 -0
  16. package/src/lib/routes/wallets.ts +289 -0
  17. package/src/lib/server.ts +24 -1
  18. package/src/lib/storage.ts +3 -0
  19. package/ts_build/package.json +4 -4
  20. package/ts_build/src/bws.js +3 -0
  21. package/ts_build/src/bws.js.map +1 -1
  22. package/ts_build/src/lib/common/index.d.ts +1 -0
  23. package/ts_build/src/lib/common/index.d.ts.map +1 -1
  24. package/ts_build/src/lib/common/utils.d.ts +1 -0
  25. package/ts_build/src/lib/common/utils.d.ts.map +1 -1
  26. package/ts_build/src/lib/common/utils.js +6 -0
  27. package/ts_build/src/lib/common/utils.js.map +1 -1
  28. package/ts_build/src/lib/expressapp.d.ts.map +1 -1
  29. package/ts_build/src/lib/expressapp.js +64 -2224
  30. package/ts_build/src/lib/expressapp.js.map +1 -1
  31. package/ts_build/src/lib/model/txproposal.d.ts +1 -4
  32. package/ts_build/src/lib/model/txproposal.d.ts.map +1 -1
  33. package/ts_build/src/lib/model/txproposal.js +13 -9
  34. package/ts_build/src/lib/model/txproposal.js.map +1 -1
  35. package/ts_build/src/lib/routes/advertisements.d.ts +11 -0
  36. package/ts_build/src/lib/routes/advertisements.d.ts.map +1 -0
  37. package/ts_build/src/lib/routes/advertisements.js +119 -0
  38. package/ts_build/src/lib/routes/advertisements.js.map +1 -0
  39. package/ts_build/src/lib/routes/blockchain.d.ts +13 -0
  40. package/ts_build/src/lib/routes/blockchain.d.ts.map +1 -0
  41. package/ts_build/src/lib/routes/blockchain.js +159 -0
  42. package/ts_build/src/lib/routes/blockchain.js.map +1 -0
  43. package/ts_build/src/lib/routes/context.d.ts +12 -0
  44. package/ts_build/src/lib/routes/context.d.ts.map +1 -0
  45. package/ts_build/src/lib/routes/context.js +115 -0
  46. package/ts_build/src/lib/routes/context.js.map +1 -0
  47. package/ts_build/src/lib/routes/maintenance.d.ts +10 -0
  48. package/ts_build/src/lib/routes/maintenance.d.ts.map +1 -0
  49. package/ts_build/src/lib/routes/maintenance.js +131 -0
  50. package/ts_build/src/lib/routes/maintenance.js.map +1 -0
  51. package/ts_build/src/lib/routes/moralis.d.ts +9 -0
  52. package/ts_build/src/lib/routes/moralis.d.ts.map +1 -0
  53. package/ts_build/src/lib/routes/moralis.js +78 -0
  54. package/ts_build/src/lib/routes/moralis.js.map +1 -0
  55. package/ts_build/src/lib/routes/notifications.d.ts +10 -0
  56. package/ts_build/src/lib/routes/notifications.d.ts.map +1 -0
  57. package/ts_build/src/lib/routes/notifications.js +120 -0
  58. package/ts_build/src/lib/routes/notifications.js.map +1 -0
  59. package/ts_build/src/lib/routes/services.d.ts +11 -0
  60. package/ts_build/src/lib/routes/services.d.ts.map +1 -0
  61. package/ts_build/src/lib/routes/services.js +430 -0
  62. package/ts_build/src/lib/routes/services.js.map +1 -0
  63. package/ts_build/src/lib/routes/setup.d.ts +4 -0
  64. package/ts_build/src/lib/routes/setup.d.ts.map +1 -0
  65. package/ts_build/src/lib/routes/setup.js +79 -0
  66. package/ts_build/src/lib/routes/setup.js.map +1 -0
  67. package/ts_build/src/lib/routes/transactions.d.ts +9 -0
  68. package/ts_build/src/lib/routes/transactions.d.ts.map +1 -0
  69. package/ts_build/src/lib/routes/transactions.js +188 -0
  70. package/ts_build/src/lib/routes/transactions.js.map +1 -0
  71. package/ts_build/src/lib/routes/walletdata.d.ts +10 -0
  72. package/ts_build/src/lib/routes/walletdata.d.ts.map +1 -0
  73. package/ts_build/src/lib/routes/walletdata.js +186 -0
  74. package/ts_build/src/lib/routes/walletdata.js.map +1 -0
  75. package/ts_build/src/lib/routes/wallets.d.ts +13 -0
  76. package/ts_build/src/lib/routes/wallets.d.ts.map +1 -0
  77. package/ts_build/src/lib/routes/wallets.js +292 -0
  78. package/ts_build/src/lib/routes/wallets.js.map +1 -0
  79. package/ts_build/src/lib/server.d.ts.map +1 -1
  80. package/ts_build/src/lib/server.js +19 -1
  81. package/ts_build/src/lib/server.js.map +1 -1
  82. package/ts_build/src/lib/storage.d.ts.map +1 -1
  83. package/ts_build/src/lib/storage.js +3 -0
  84. package/ts_build/src/lib/storage.js.map +1 -1
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerNotificationRoutes = registerNotificationRoutes;
4
+ const common_1 = require("../common");
5
+ const { Defaults } = common_1.Common;
6
+ function registerNotificationRoutes(router, context) {
7
+ const { getServerWithAuth, logDeprecated, returnError } = context;
8
+ router.post('/v1/login/', (req, res) => {
9
+ getServerWithAuth(req, res, server => {
10
+ server.login({}, (err, session) => {
11
+ if (err)
12
+ return returnError(err, res, req);
13
+ res.json(session);
14
+ });
15
+ });
16
+ });
17
+ router.post('/v1/logout/', (req, res) => {
18
+ getServerWithAuth(req, res, server => {
19
+ server.logout({}, err => {
20
+ if (err)
21
+ return returnError(err, res, req);
22
+ res.end();
23
+ });
24
+ });
25
+ });
26
+ router.get('/v1/notifications/', (req, res) => {
27
+ getServerWithAuth(req, res, {
28
+ allowSession: true
29
+ }, server => {
30
+ const timeSpan = req.query.timeSpan
31
+ ? Math.min(+req.query.timeSpan || 0, Defaults.MAX_NOTIFICATIONS_TIMESPAN)
32
+ : Defaults.NOTIFICATIONS_TIMESPAN;
33
+ const opts = {
34
+ minTs: +Date.now() - timeSpan * 1000,
35
+ notificationId: req.query.notificationId
36
+ };
37
+ server.getNotifications(opts, (err, notifications) => {
38
+ if (err)
39
+ return returnError(err, res, req);
40
+ res.json(notifications);
41
+ });
42
+ });
43
+ });
44
+ router.post('/v1/pushnotifications/subscriptions/', (req, res) => {
45
+ getServerWithAuth(req, res, server => {
46
+ server.pushNotificationsSubscribe(req.body, (err, response) => {
47
+ if (err)
48
+ return returnError(err, res, req);
49
+ res.json(response);
50
+ });
51
+ });
52
+ });
53
+ router.post('/v2/pushnotifications/subscriptions/', (req, res) => {
54
+ getServerWithAuth(req, res, server => {
55
+ server.pushNotificationsBrazeSubscribe(req.body, (err, response) => {
56
+ if (err)
57
+ return returnError(err, res, req);
58
+ res.json(response);
59
+ });
60
+ });
61
+ });
62
+ router.delete('/v1/pushnotifications/subscriptions/', (req, res) => {
63
+ logDeprecated(req);
64
+ getServerWithAuth(req, res, server => {
65
+ server.pushNotificationsUnsubscribe({
66
+ token: 'dummy'
67
+ }, (err, response) => {
68
+ if (err)
69
+ return returnError(err, res, req);
70
+ res.json(response);
71
+ });
72
+ });
73
+ });
74
+ router.delete('/v2/pushnotifications/subscriptions/:token', (req, res) => {
75
+ const opts = {
76
+ token: req.params['token']
77
+ };
78
+ getServerWithAuth(req, res, server => {
79
+ server.pushNotificationsUnsubscribe(opts, (err, response) => {
80
+ if (err)
81
+ return returnError(err, res, req);
82
+ res.json(response);
83
+ });
84
+ });
85
+ });
86
+ router.delete('/v3/pushnotifications/subscriptions/:externalUserId', (req, res) => {
87
+ const opts = {
88
+ externalUserId: req.params['externalUserId']
89
+ };
90
+ getServerWithAuth(req, res, server => {
91
+ server.pushNotificationsBrazeUnsubscribe(opts, (err, response) => {
92
+ if (err)
93
+ return returnError(err, res, req);
94
+ res.json(response);
95
+ });
96
+ });
97
+ });
98
+ router.post('/v1/txconfirmations/', (req, res) => {
99
+ getServerWithAuth(req, res, server => {
100
+ server.txConfirmationSubscribe(req.body, (err, response) => {
101
+ if (err)
102
+ return returnError(err, res, req);
103
+ res.json(response);
104
+ });
105
+ });
106
+ });
107
+ router.delete('/v1/txconfirmations/:txid', (req, res) => {
108
+ const opts = {
109
+ txid: req.params['txid']
110
+ };
111
+ getServerWithAuth(req, res, server => {
112
+ server.txConfirmationUnsubscribe(opts, (err, response) => {
113
+ if (err)
114
+ return returnError(err, res, req);
115
+ res.json(response);
116
+ });
117
+ });
118
+ });
119
+ }
120
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../../src/lib/routes/notifications.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import express from 'express';
2
+ import type * as Types from '../../types/expressapp';
3
+ interface RouteContext {
4
+ getServer: Types.GetServerFn;
5
+ getServerWithAuth: Types.GetServerWithAuthFn;
6
+ setPublicCache: (res: express.Response, seconds: number) => void;
7
+ returnError: Types.ReturnErrorFn;
8
+ }
9
+ export declare function registerServiceRoutes(router: express.Router, context: RouteContext): void;
10
+ export {};
11
+ //# sourceMappingURL=services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../../src/lib/routes/services.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,KAAK,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAKrD,UAAU,YAAY;IACpB,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;IAC7B,iBAAiB,EAAE,KAAK,CAAC,mBAAmB,CAAC;IAC7C,cAAc,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC;CAClC;AAmDD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,QA+clF"}
@@ -0,0 +1,430 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerServiceRoutes = registerServiceRoutes;
7
+ const request_promise_native_1 = __importDefault(require("request-promise-native"));
8
+ const common_1 = require("../common");
9
+ const { Defaults } = common_1.Common;
10
+ const ONE_MINUTE = 60;
11
+ function callbackResult(fn) {
12
+ return new Promise((resolve, reject) => {
13
+ fn((err, data) => {
14
+ if (err)
15
+ return reject(err);
16
+ return resolve(data);
17
+ });
18
+ });
19
+ }
20
+ function getServerOrReturnError(req, res, context) {
21
+ try {
22
+ return context.getServer(req, res);
23
+ }
24
+ catch (err) {
25
+ context.returnError(err, res, req);
26
+ return null;
27
+ }
28
+ }
29
+ function respondWithPublicServer(req, res, context, handler) {
30
+ const server = getServerOrReturnError(req, res, context);
31
+ if (!server)
32
+ return;
33
+ Promise.resolve()
34
+ .then(() => handler(server))
35
+ .then(response => {
36
+ res.json(response);
37
+ })
38
+ .catch(err => {
39
+ context.returnError(err ?? 'unknown', res, req);
40
+ });
41
+ }
42
+ function respondWithAuthServer(req, res, context, handler) {
43
+ context.getServerWithAuth(req, res, server => {
44
+ Promise.resolve()
45
+ .then(() => handler(server))
46
+ .then(response => {
47
+ res.json(response);
48
+ })
49
+ .catch(err => {
50
+ context.returnError(err ?? 'unknown', res, req);
51
+ });
52
+ });
53
+ }
54
+ function registerServiceRoutes(router, context) {
55
+ const { getServerWithAuth, setPublicCache, returnError } = context;
56
+ router.get('/latest-version', async (req, res) => {
57
+ setPublicCache(res, 10 * ONE_MINUTE);
58
+ try {
59
+ res.setHeader('User-Agent', 'copay');
60
+ const options = {
61
+ uri: 'https://api.github.com/repos/bitpay/wallet/releases/latest',
62
+ headers: {
63
+ 'User-Agent': 'Copay'
64
+ },
65
+ json: true
66
+ };
67
+ const server = getServerOrReturnError(req, res, context);
68
+ if (!server)
69
+ return;
70
+ server.storage.checkAndUseGlobalCache('latest-copay-version', Defaults.COPAY_VERSION_CACHE_DURATION, async (err, version) => {
71
+ if (err) {
72
+ return res.send(err);
73
+ }
74
+ if (version) {
75
+ return res.json({ version });
76
+ }
77
+ else {
78
+ try {
79
+ const htmlString = await (0, request_promise_native_1.default)(options);
80
+ if (htmlString['tag_name']) {
81
+ server.storage.storeGlobalCache('latest-copay-version', htmlString['tag_name'], () => {
82
+ return res.json({ version: htmlString['tag_name'] });
83
+ });
84
+ }
85
+ }
86
+ catch (fetchErr) {
87
+ return res.send(fetchErr);
88
+ }
89
+ }
90
+ });
91
+ }
92
+ catch (err) {
93
+ return res.send(err);
94
+ }
95
+ });
96
+ router.get('/v1/fiatrates/:code/', (req, res) => {
97
+ setPublicCache(res, 5 * ONE_MINUTE);
98
+ respondWithPublicServer(req, res, context, server => callbackResult(resolve => {
99
+ server.getFiatRate({
100
+ code: req.params['code'],
101
+ coin: req.query.coin || 'btc',
102
+ ts: req.query.ts ? +req.query.ts : null
103
+ }, resolve);
104
+ }));
105
+ });
106
+ router.get('/v2/fiatrates/:code/', (req, res) => {
107
+ setPublicCache(res, 5 * ONE_MINUTE);
108
+ respondWithPublicServer(req, res, context, server => callbackResult(resolve => {
109
+ server.getHistoricalRates({
110
+ code: req.params['code'],
111
+ ts: req.query.ts ? +req.query.ts : null
112
+ }, resolve);
113
+ }));
114
+ });
115
+ router.get('/v3/fiatrates/', (req, res) => {
116
+ setPublicCache(res, 5 * ONE_MINUTE);
117
+ respondWithPublicServer(req, res, context, server => callbackResult(resolve => {
118
+ server.getFiatRates({
119
+ code: req.query.code || null,
120
+ ts: req.query.ts ? +req.query.ts : null
121
+ }, resolve);
122
+ }));
123
+ });
124
+ router.get('/v3/fiatrates/:coin/', (req, res) => {
125
+ setPublicCache(res, 5 * ONE_MINUTE);
126
+ respondWithPublicServer(req, res, context, server => callbackResult(resolve => {
127
+ server.getFiatRatesByCoin({
128
+ coin: req.params['coin'],
129
+ code: req.query.code || null,
130
+ ts: req.query.ts ? +req.query.ts : null
131
+ }, resolve);
132
+ }));
133
+ });
134
+ router.get('/v4/fiatrates/:code/', (req, res) => {
135
+ setPublicCache(res, 5 * ONE_MINUTE);
136
+ respondWithPublicServer(req, res, context, server => {
137
+ return server.externalServices.coinGecko.coinGeckoGetFiatRates(req);
138
+ });
139
+ });
140
+ router.get('/v1/services', (req, res) => {
141
+ respondWithPublicServer(req, res, context, server => callbackResult(resolve => {
142
+ server.getServicesData(req.query, resolve);
143
+ }));
144
+ });
145
+ router.post('/v1/service/checkAvailability', (req, res) => {
146
+ respondWithPublicServer(req, res, context, server => {
147
+ return server.checkServiceAvailability(req);
148
+ });
149
+ });
150
+ router.post('/v1/service/banxa/getCoins', (req, res) => {
151
+ respondWithPublicServer(req, res, context, server => {
152
+ return server.externalServices.banxa.banxaGetCoins(req);
153
+ });
154
+ });
155
+ router.post('/v1/service/banxa/paymentMethods', (req, res) => {
156
+ respondWithPublicServer(req, res, context, server => {
157
+ return server.externalServices.banxa.banxaGetPaymentMethods(req);
158
+ });
159
+ });
160
+ router.post('/v1/service/banxa/quote', (req, res) => {
161
+ respondWithAuthServer(req, res, context, server => {
162
+ return server.externalServices.banxa.banxaGetQuote(req);
163
+ });
164
+ });
165
+ router.post('/v1/service/banxa/createOrder', (req, res) => {
166
+ respondWithAuthServer(req, res, context, server => {
167
+ return server.externalServices.banxa.banxaCreateOrder(req);
168
+ });
169
+ });
170
+ router.post('/v1/service/banxa/getOrder', (req, res) => {
171
+ respondWithPublicServer(req, res, context, server => {
172
+ return server.externalServices.banxa.banxaGetOrder(req);
173
+ });
174
+ });
175
+ router.post('/v1/service/moonpay/getCurrencies', (req, res) => {
176
+ respondWithPublicServer(req, res, context, server => {
177
+ return server.externalServices.moonpay.moonpayGetCurrencies(req);
178
+ });
179
+ });
180
+ router.post('/v1/service/moonpay/quote', (req, res) => {
181
+ respondWithAuthServer(req, res, context, server => {
182
+ return server.externalServices.moonpay.moonpayGetQuote(req);
183
+ });
184
+ });
185
+ router.post('/v1/service/moonpay/sellQuote', (req, res) => {
186
+ respondWithAuthServer(req, res, context, server => {
187
+ return server.externalServices.moonpay.moonpayGetSellQuote(req);
188
+ });
189
+ });
190
+ router.post('/v1/service/moonpay/currencyLimits', (req, res) => {
191
+ respondWithPublicServer(req, res, context, server => {
192
+ return server.externalServices.moonpay.moonpayGetCurrencyLimits(req);
193
+ });
194
+ });
195
+ router.post('/v1/service/moonpay/signedPaymentUrl', (req, res) => {
196
+ respondWithAuthServer(req, res, context, server => {
197
+ return server.externalServices.moonpay.moonpayGetSignedPaymentUrl(req);
198
+ });
199
+ });
200
+ router.post('/v1/service/moonpay/sellSignedPaymentUrl', (req, res) => {
201
+ respondWithAuthServer(req, res, context, server => {
202
+ return server.externalServices.moonpay.moonpayGetSellSignedPaymentUrl(req);
203
+ });
204
+ });
205
+ router.post('/v1/service/moonpay/transactionDetails', (req, res) => {
206
+ respondWithPublicServer(req, res, context, server => {
207
+ return server.externalServices.moonpay.moonpayGetTransactionDetails(req);
208
+ });
209
+ });
210
+ router.post('/v1/service/moonpay/sellTransactionDetails', (req, res) => {
211
+ respondWithPublicServer(req, res, context, server => {
212
+ return server.externalServices.moonpay.moonpayGetSellTransactionDetails(req);
213
+ });
214
+ });
215
+ router.post('/v1/service/moonpay/cancelSellTransaction', (req, res) => {
216
+ respondWithAuthServer(req, res, context, server => {
217
+ return server.externalServices.moonpay.moonpayCancelSellTransaction(req);
218
+ });
219
+ });
220
+ router.post('/v1/service/moonpay/accountDetails', (req, res) => {
221
+ respondWithPublicServer(req, res, context, server => {
222
+ return server.externalServices.moonpay.moonpayGetAccountDetails(req);
223
+ });
224
+ });
225
+ router.post('/v1/service/ramp/quote', (req, res) => {
226
+ respondWithAuthServer(req, res, context, server => {
227
+ return server.externalServices.ramp.rampGetQuote(req);
228
+ });
229
+ });
230
+ router.post('/v1/service/ramp/sellQuote', (req, res) => {
231
+ respondWithAuthServer(req, res, context, server => {
232
+ return server.externalServices.ramp.rampGetSellQuote(req);
233
+ });
234
+ });
235
+ router.post('/v1/service/ramp/signedPaymentUrl', (req, res) => {
236
+ respondWithAuthServer(req, res, context, server => {
237
+ return server.externalServices.ramp.rampGetSignedPaymentUrl(req);
238
+ });
239
+ });
240
+ router.post('/v1/service/ramp/assets', (req, res) => {
241
+ respondWithPublicServer(req, res, context, server => {
242
+ return server.externalServices.ramp.rampGetAssets(req);
243
+ });
244
+ });
245
+ router.post('/v1/service/ramp/sellTransactionDetails', (req, res) => {
246
+ respondWithPublicServer(req, res, context, server => {
247
+ return server.externalServices.ramp.rampGetSellTransactionDetails(req);
248
+ });
249
+ });
250
+ router.post('/v1/service/sardine/quote', (req, res) => {
251
+ respondWithAuthServer(req, res, context, server => {
252
+ return server.externalServices.sardine.sardineGetQuote(req);
253
+ });
254
+ });
255
+ router.post('/v1/service/sardine/getToken', (req, res) => {
256
+ respondWithAuthServer(req, res, context, server => {
257
+ return server.externalServices.sardine.sardineGetToken(req);
258
+ });
259
+ });
260
+ router.post('/v1/service/sardine/getSupportedTokens', (req, res) => {
261
+ respondWithPublicServer(req, res, context, server => {
262
+ return server.externalServices.sardine.sardineGetSupportedTokens(req);
263
+ });
264
+ });
265
+ router.post('/v1/service/sardine/currencyLimits', (req, res) => {
266
+ respondWithPublicServer(req, res, context, server => {
267
+ return server.externalServices.sardine.sardineGetCurrencyLimits(req);
268
+ });
269
+ });
270
+ router.post('/v1/service/sardine/ordersDetails', (req, res) => {
271
+ respondWithPublicServer(req, res, context, server => {
272
+ return server.externalServices.sardine.sardineGetOrdersDetails(req);
273
+ });
274
+ });
275
+ router.post('/v1/service/simplex/getCurrencies', (req, res) => {
276
+ respondWithPublicServer(req, res, context, server => {
277
+ return server.externalServices.simplex.simplexGetCurrencies(req);
278
+ });
279
+ });
280
+ router.post('/v1/service/simplex/quote', (req, res) => {
281
+ respondWithAuthServer(req, res, context, server => {
282
+ return server.externalServices.simplex.simplexGetQuote(req);
283
+ });
284
+ });
285
+ router.post('/v1/service/simplex/sellQuote', (req, res) => {
286
+ respondWithAuthServer(req, res, context, server => {
287
+ return server.externalServices.simplex.simplexGetSellQuote(req);
288
+ });
289
+ });
290
+ router.post('/v1/service/simplex/paymentRequest', (req, res) => {
291
+ respondWithAuthServer(req, res, context, server => {
292
+ return server.externalServices.simplex.simplexPaymentRequest(req);
293
+ });
294
+ });
295
+ router.post('/v1/service/simplex/sellPaymentRequest', (req, res) => {
296
+ respondWithAuthServer(req, res, context, server => {
297
+ return server.externalServices.simplex.simplexSellPaymentRequest(req);
298
+ });
299
+ });
300
+ router.get('/v1/service/simplex/events', (req, res) => {
301
+ getServerWithAuth(req, res, server => {
302
+ Promise.resolve()
303
+ .then(() => server.externalServices.simplex.simplexGetEvents({ env: req.query.env }))
304
+ .then(response => {
305
+ res.json(response);
306
+ })
307
+ .catch(err => {
308
+ returnError(err ?? 'unknown', res, req);
309
+ });
310
+ });
311
+ });
312
+ router.post('/v1/service/thorswap/supportedChains', (req, res) => {
313
+ respondWithPublicServer(req, res, context, server => {
314
+ return server.externalServices.thorswap.thorswapGetSupportedChains(req);
315
+ });
316
+ });
317
+ router.post('/v1/service/thorswap/cryptoCurrencies', (req, res) => {
318
+ respondWithPublicServer(req, res, context, server => {
319
+ return server.externalServices.thorswap.thorswapGetCryptoCurrencies(req);
320
+ });
321
+ });
322
+ router.post('/v1/service/thorswap/getSwapQuote', (req, res) => {
323
+ respondWithAuthServer(req, res, context, server => {
324
+ return server.externalServices.thorswap.thorswapGetSwapQuote(req);
325
+ });
326
+ });
327
+ router.post('/v1/service/thorswap/getSwapTx', (req, res) => {
328
+ respondWithPublicServer(req, res, context, server => {
329
+ return server.externalServices.thorswap.thorswapGetSwapTx(req);
330
+ });
331
+ });
332
+ router.post('/v1/service/transak/getAccessToken', (req, res) => {
333
+ respondWithAuthServer(req, res, context, server => {
334
+ return server.externalServices.transak.transakGetAccessToken(req);
335
+ });
336
+ });
337
+ router.post('/v1/service/transak/cryptoCurrencies', (req, res) => {
338
+ respondWithPublicServer(req, res, context, server => {
339
+ return server.externalServices.transak.transakGetCryptoCurrencies(req);
340
+ });
341
+ });
342
+ router.post('/v1/service/transak/fiatCurrencies', (req, res) => {
343
+ respondWithPublicServer(req, res, context, server => {
344
+ return server.externalServices.transak.transakGetFiatCurrencies(req);
345
+ });
346
+ });
347
+ router.post('/v1/service/transak/quote', (req, res) => {
348
+ respondWithAuthServer(req, res, context, server => {
349
+ return server.externalServices.transak.transakGetQuote(req);
350
+ });
351
+ });
352
+ router.post('/v1/service/transak/signedPaymentUrl', (req, res) => {
353
+ respondWithAuthServer(req, res, context, server => {
354
+ return server.externalServices.transak.transakGetSignedPaymentUrl(req);
355
+ });
356
+ });
357
+ router.post('/v1/service/transak/orderDetails', (req, res) => {
358
+ respondWithPublicServer(req, res, context, server => {
359
+ return server.externalServices.transak.transakGetOrderDetails(req);
360
+ });
361
+ });
362
+ router.post('/v1/service/wyre/walletOrderQuotation', (req, res) => {
363
+ respondWithAuthServer(req, res, context, server => {
364
+ return server.externalServices.wyre.wyreWalletOrderQuotation(req);
365
+ });
366
+ });
367
+ router.post('/v1/service/wyre/walletOrderReservation', (req, res) => {
368
+ respondWithAuthServer(req, res, context, server => {
369
+ return server.externalServices.wyre.wyreWalletOrderReservation(req);
370
+ });
371
+ });
372
+ router.post('/v1/service/changelly/getCurrencies', (req, res) => {
373
+ respondWithPublicServer(req, res, context, server => {
374
+ return server.externalServices.changelly.changellyGetCurrencies(req);
375
+ });
376
+ });
377
+ router.post('/v1/service/changelly/getPairsParams', (req, res) => {
378
+ respondWithAuthServer(req, res, context, server => {
379
+ return server.externalServices.changelly.changellyGetPairsParams(req);
380
+ });
381
+ });
382
+ router.post('/v1/service/changelly/getFixRateForAmount', (req, res) => {
383
+ respondWithAuthServer(req, res, context, server => {
384
+ return server.externalServices.changelly.changellyGetFixRateForAmount(req);
385
+ });
386
+ });
387
+ router.post('/v1/service/changelly/createFixTransaction', (req, res) => {
388
+ respondWithAuthServer(req, res, context, server => {
389
+ return server.externalServices.changelly.changellyCreateFixTransaction(req);
390
+ });
391
+ });
392
+ router.post('/v1/service/changelly/getTransactions', (req, res) => {
393
+ respondWithPublicServer(req, res, context, server => {
394
+ return server.externalServices.changelly.changellyGetTransactions(req);
395
+ });
396
+ });
397
+ router.post('/v1/service/changelly/getStatus', (req, res) => {
398
+ respondWithPublicServer(req, res, context, server => {
399
+ return server.externalServices.changelly.changellyGetStatus(req);
400
+ });
401
+ });
402
+ router.get('/v1/service/oneInch/getReferrerFee', (req, res) => {
403
+ respondWithPublicServer(req, res, context, server => {
404
+ return server.externalServices.oneInch.oneInchGetReferrerFee(req);
405
+ });
406
+ });
407
+ router.post('/v1/service/oneInch/getSwap/:chain?', (req, res) => {
408
+ respondWithAuthServer(req, res, context, server => {
409
+ return server.externalServices.oneInch.oneInchGetSwap(req);
410
+ });
411
+ });
412
+ router.get('/v1/service/oneInch/getTokens/:chain?', (req, res) => {
413
+ setPublicCache(res, 1 * ONE_MINUTE);
414
+ respondWithPublicServer(req, res, context, server => {
415
+ return server.externalServices.coinGecko.coinGeckoGetTokens(req);
416
+ });
417
+ });
418
+ router.get('/v1/marketstats/:code/', (req, res) => {
419
+ setPublicCache(res, 5 * ONE_MINUTE);
420
+ respondWithPublicServer(req, res, context, server => {
421
+ return server.externalServices.coinGecko.coinGeckoGetMarketStats(req);
422
+ });
423
+ });
424
+ router.get('/v1/services/dex/getSpenderApprovalWhitelist', (req, res) => {
425
+ respondWithPublicServer(req, res, context, server => callbackResult(resolve => {
426
+ server.getSpenderApprovalWhitelist(resolve);
427
+ }));
428
+ });
429
+ }
430
+ //# sourceMappingURL=services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../../../src/lib/routes/services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import express from 'express';
2
+ export declare function setupAppMiddleware(app: express.Express, opts: any): void;
3
+ export declare function createEstimateFeeLimiter(opts: any): any;
4
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/lib/routes/setup.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAU9B,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,KAAA,QA4D5D;AAED,wBAAgB,wBAAwB,CAAC,IAAI,KAAA,OAY5C"}