@bitpay-labs/bitcore-wallet-service 11.11.0 → 11.11.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.
- package/package.json +4 -4
- package/src/config.ts +0 -20
- package/src/externalservices/banxa.ts +51 -10
- package/src/externalservices/changelly.ts +54 -6
- package/src/externalservices/moonpay.ts +85 -19
- package/src/externalservices/oneInch.ts +13 -5
- package/src/externalservices/ramp.ts +42 -8
- package/src/externalservices/sardine.ts +51 -10
- package/src/externalservices/simplex.ts +58 -11
- package/src/externalservices/thorswap.ts +46 -11
- package/src/externalservices/transak.ts +53 -11
- package/src/lib/routes/services.ts +0 -12
- package/src/lib/server.ts +0 -3
- package/src/types/externalservices.d.ts +0 -1
- package/test/integration/externalservices/banxa.test.ts +95 -5
- package/test/integration/externalservices/changelly.test.ts +118 -6
- package/test/integration/externalservices/coinGecko.test.ts +4 -0
- package/test/integration/externalservices/moonpay.test.ts +178 -9
- package/test/integration/externalservices/oneInch.test.ts +28 -1
- package/test/integration/externalservices/ramp.test.ts +126 -4
- package/test/integration/externalservices/sardine.test.ts +95 -5
- package/test/integration/externalservices/simplex.test.ts +95 -5
- package/test/integration/externalservices/thorswap.test.ts +81 -5
- package/test/integration/externalservices/transak.test.ts +98 -6
- package/test/integration/helpers.ts +1 -1
- package/test/integration/server.test.ts +56 -88
- package/ts_build/package.json +3 -3
- package/ts_build/src/config.d.ts.map +1 -1
- package/ts_build/src/config.js +0 -4
- package/ts_build/src/config.js.map +1 -1
- package/ts_build/src/externalservices/banxa.d.ts.map +1 -1
- package/ts_build/src/externalservices/banxa.js +51 -10
- package/ts_build/src/externalservices/banxa.js.map +1 -1
- package/ts_build/src/externalservices/changelly.d.ts.map +1 -1
- package/ts_build/src/externalservices/changelly.js +54 -6
- package/ts_build/src/externalservices/changelly.js.map +1 -1
- package/ts_build/src/externalservices/moonpay.d.ts.map +1 -1
- package/ts_build/src/externalservices/moonpay.js +85 -19
- package/ts_build/src/externalservices/moonpay.js.map +1 -1
- package/ts_build/src/externalservices/oneInch.d.ts.map +1 -1
- package/ts_build/src/externalservices/oneInch.js +13 -5
- package/ts_build/src/externalservices/oneInch.js.map +1 -1
- package/ts_build/src/externalservices/ramp.d.ts.map +1 -1
- package/ts_build/src/externalservices/ramp.js +42 -8
- package/ts_build/src/externalservices/ramp.js.map +1 -1
- package/ts_build/src/externalservices/sardine.d.ts.map +1 -1
- package/ts_build/src/externalservices/sardine.js +51 -10
- package/ts_build/src/externalservices/sardine.js.map +1 -1
- package/ts_build/src/externalservices/simplex.d.ts.map +1 -1
- package/ts_build/src/externalservices/simplex.js +55 -11
- package/ts_build/src/externalservices/simplex.js.map +1 -1
- package/ts_build/src/externalservices/thorswap.d.ts.map +1 -1
- package/ts_build/src/externalservices/thorswap.js +45 -11
- package/ts_build/src/externalservices/thorswap.js.map +1 -1
- package/ts_build/src/externalservices/transak.d.ts.map +1 -1
- package/ts_build/src/externalservices/transak.js +53 -11
- package/ts_build/src/externalservices/transak.js.map +1 -1
- package/ts_build/src/lib/routes/services.d.ts.map +1 -1
- package/ts_build/src/lib/routes/services.js +0 -10
- package/ts_build/src/lib/routes/services.js.map +1 -1
- package/ts_build/src/lib/server.d.ts +0 -2
- package/ts_build/src/lib/server.d.ts.map +1 -1
- package/ts_build/src/lib/server.js +0 -2
- package/ts_build/src/lib/server.js.map +1 -1
- package/ts_build/test/integration/externalservices/banxa.test.d.ts.map +1 -1
- package/ts_build/test/integration/externalservices/banxa.test.js +93 -5
- package/ts_build/test/integration/externalservices/banxa.test.js.map +1 -1
- package/ts_build/test/integration/externalservices/changelly.test.d.ts.map +1 -1
- package/ts_build/test/integration/externalservices/changelly.test.js +111 -6
- package/ts_build/test/integration/externalservices/changelly.test.js.map +1 -1
- package/ts_build/test/integration/externalservices/coinGecko.test.js +4 -0
- package/ts_build/test/integration/externalservices/coinGecko.test.js.map +1 -1
- package/ts_build/test/integration/externalservices/moonpay.test.d.ts.map +1 -1
- package/ts_build/test/integration/externalservices/moonpay.test.js +169 -9
- package/ts_build/test/integration/externalservices/moonpay.test.js.map +1 -1
- package/ts_build/test/integration/externalservices/oneInch.test.d.ts.map +1 -1
- package/ts_build/test/integration/externalservices/oneInch.test.js +26 -1
- package/ts_build/test/integration/externalservices/oneInch.test.js.map +1 -1
- package/ts_build/test/integration/externalservices/ramp.test.d.ts.map +1 -1
- package/ts_build/test/integration/externalservices/ramp.test.js +115 -4
- package/ts_build/test/integration/externalservices/ramp.test.js.map +1 -1
- package/ts_build/test/integration/externalservices/sardine.test.d.ts.map +1 -1
- package/ts_build/test/integration/externalservices/sardine.test.js +94 -5
- package/ts_build/test/integration/externalservices/sardine.test.js.map +1 -1
- package/ts_build/test/integration/externalservices/simplex.test.d.ts.map +1 -1
- package/ts_build/test/integration/externalservices/simplex.test.js +89 -5
- package/ts_build/test/integration/externalservices/simplex.test.js.map +1 -1
- package/ts_build/test/integration/externalservices/thorswap.test.d.ts.map +1 -1
- package/ts_build/test/integration/externalservices/thorswap.test.js +76 -5
- package/ts_build/test/integration/externalservices/thorswap.test.js.map +1 -1
- package/ts_build/test/integration/externalservices/transak.test.d.ts.map +1 -1
- package/ts_build/test/integration/externalservices/transak.test.js +93 -6
- package/ts_build/test/integration/externalservices/transak.test.js.map +1 -1
- package/ts_build/test/integration/helpers.js +1 -1
- package/ts_build/test/integration/helpers.js.map +1 -1
- package/ts_build/test/integration/server.test.js +44 -76
- package/ts_build/test/integration/server.test.js.map +1 -1
- package/src/externalservices/wyre.ts +0 -131
- package/test/integration/externalservices/wyre.test.ts +0 -270
- package/ts_build/src/externalservices/wyre.d.ts +0 -7
- package/ts_build/src/externalservices/wyre.d.ts.map +0 -1
- package/ts_build/src/externalservices/wyre.js +0 -144
- package/ts_build/src/externalservices/wyre.js.map +0 -1
- package/ts_build/test/integration/externalservices/wyre.test.d.ts +0 -2
- package/ts_build/test/integration/externalservices/wyre.test.d.ts.map +0 -1
- package/ts_build/test/integration/externalservices/wyre.test.js +0 -281
- package/ts_build/test/integration/externalservices/wyre.test.js.map +0 -1
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
import * as chai from 'chai';
|
|
4
|
+
import * as sinon from 'sinon';
|
|
4
5
|
import 'chai/register-should';
|
|
5
6
|
import util from 'util';
|
|
6
7
|
import { WalletService } from '../../../src/lib/server';
|
|
7
8
|
import * as TestData from '../../testdata';
|
|
8
9
|
import helpers from '../helpers';
|
|
9
10
|
import config from '../../../src/config';
|
|
11
|
+
import logger from '../../../src/lib/logger';
|
|
10
12
|
|
|
11
13
|
const should = chai.should();
|
|
12
14
|
|
|
13
15
|
describe('Thorswap integration', () => {
|
|
16
|
+
const sandbox = sinon.createSandbox();
|
|
14
17
|
let server;
|
|
15
18
|
let wallet;
|
|
16
19
|
let fakeRequest;
|
|
17
20
|
let req;
|
|
21
|
+
let loggerError: sinon.SinonStub;
|
|
18
22
|
|
|
19
23
|
before(async () => {
|
|
20
24
|
await helpers.before();
|
|
@@ -50,7 +54,7 @@ describe('Thorswap integration', () => {
|
|
|
50
54
|
};
|
|
51
55
|
|
|
52
56
|
fakeRequest = {
|
|
53
|
-
get: (_url, _opts, _cb) => { return _cb(null, {
|
|
57
|
+
get: (_url, _opts, _cb) => { return _cb(null, { body: 'data' }); },
|
|
54
58
|
post: (_url, _opts, _cb) => { return _cb(null, { body: 'data' }); },
|
|
55
59
|
};
|
|
56
60
|
|
|
@@ -67,6 +71,12 @@ describe('Thorswap integration', () => {
|
|
|
67
71
|
clientVersion: 'bwc-2.0.0',
|
|
68
72
|
walletId: '123',
|
|
69
73
|
}));
|
|
74
|
+
sandbox.stub(logger, 'warn');
|
|
75
|
+
loggerError = sandbox.stub(logger, 'error');
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
afterEach(() => {
|
|
79
|
+
sandbox.restore();
|
|
70
80
|
});
|
|
71
81
|
|
|
72
82
|
after(async () => {
|
|
@@ -112,7 +122,23 @@ describe('Thorswap integration', () => {
|
|
|
112
122
|
await server.externalServices.thorswap.thorswapGetSupportedChains(req);
|
|
113
123
|
should.fail('should have thrown');
|
|
114
124
|
} catch (err) {
|
|
115
|
-
|
|
125
|
+
loggerError.callCount.should.equal(1);
|
|
126
|
+
loggerError.args[0][0].should.contain('Thorswap request failed with error (');
|
|
127
|
+
err.message.should.equal('Failed to get Thorswap supported chains');
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
it('should return error and not leak the response if body is empty', async () => {
|
|
132
|
+
const fakeRequest2 = {
|
|
133
|
+
get: (_url, opts, cb) => { return cb(null, { statusCode: 200, body: undefined, request: { headers: opts.headers } }); },
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
server.externalServices.thorswap.request = fakeRequest2;
|
|
137
|
+
try {
|
|
138
|
+
await server.externalServices.thorswap.thorswapGetSupportedChains(req);
|
|
139
|
+
should.fail('should have thrown');
|
|
140
|
+
} catch (err) {
|
|
141
|
+
err.message.should.equal('Thorswap did not return supported chains');
|
|
116
142
|
}
|
|
117
143
|
});
|
|
118
144
|
|
|
@@ -173,7 +199,23 @@ describe('Thorswap integration', () => {
|
|
|
173
199
|
await server.externalServices.thorswap.thorswapGetCryptoCurrencies(req);
|
|
174
200
|
should.fail('should have thrown');
|
|
175
201
|
} catch (err) {
|
|
176
|
-
|
|
202
|
+
loggerError.callCount.should.equal(1);
|
|
203
|
+
loggerError.args[0][0].should.contain('Thorswap request failed with error (');
|
|
204
|
+
err.message.should.equal('Failed to get Thorswap supported currencies');
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
it('should return error and not leak the response if body is empty', async () => {
|
|
209
|
+
const fakeRequest2 = {
|
|
210
|
+
get: (_url, opts, cb) => { return cb(null, { statusCode: 200, body: undefined, request: { headers: opts.headers } }); },
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
server.externalServices.thorswap.request = fakeRequest2;
|
|
214
|
+
try {
|
|
215
|
+
await server.externalServices.thorswap.thorswapGetCryptoCurrencies(req);
|
|
216
|
+
should.fail('should have thrown');
|
|
217
|
+
} catch (err) {
|
|
218
|
+
err.message.should.equal('Thorswap did not return supported currencies');
|
|
177
219
|
}
|
|
178
220
|
});
|
|
179
221
|
|
|
@@ -230,7 +272,24 @@ describe('Thorswap integration', () => {
|
|
|
230
272
|
await server.externalServices.thorswap.thorswapGetSwapQuote(req);
|
|
231
273
|
should.fail('should have thrown');
|
|
232
274
|
} catch (err) {
|
|
233
|
-
|
|
275
|
+
loggerError.callCount.should.equal(1);
|
|
276
|
+
loggerError.args[0][0].should.contain('Thorswap request failed with error (');
|
|
277
|
+
err.message.should.equal('Failed to get Thorswap swap quote');
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
it('should return error and not leak the response if body is empty', async () => {
|
|
282
|
+
req.body.sellAmount = '1.123';
|
|
283
|
+
const fakeRequest2 = {
|
|
284
|
+
get: (_url, opts, cb) => { return cb(null, { statusCode: 200, body: undefined, request: { headers: opts.headers } }); },
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
server.externalServices.thorswap.request = fakeRequest2;
|
|
288
|
+
try {
|
|
289
|
+
await server.externalServices.thorswap.thorswapGetSwapQuote(req);
|
|
290
|
+
should.fail('should have thrown');
|
|
291
|
+
} catch (err) {
|
|
292
|
+
err.message.should.equal('Thorswap did not return a swap quote');
|
|
234
293
|
}
|
|
235
294
|
});
|
|
236
295
|
|
|
@@ -292,7 +351,24 @@ describe('Thorswap integration', () => {
|
|
|
292
351
|
await server.externalServices.thorswap.thorswapGetSwapTx(req);
|
|
293
352
|
should.fail('should have thrown');
|
|
294
353
|
} catch (err) {
|
|
295
|
-
|
|
354
|
+
loggerError.callCount.should.equal(1);
|
|
355
|
+
loggerError.args[0][0].should.contain('Thorswap request failed with error (');
|
|
356
|
+
err.message.should.equal('Failed to get Thorswap swap transaction');
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
|
|
360
|
+
it('should return error and not leak the response if body is empty', async() => {
|
|
361
|
+
req.body.txn = 'txn1';
|
|
362
|
+
const fakeRequest2 = {
|
|
363
|
+
post: (_url, opts, cb) => { return cb(null, { statusCode: 200, body: undefined, request: { headers: opts.headers } }); },
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
server.externalServices.thorswap.request = fakeRequest2;
|
|
367
|
+
try {
|
|
368
|
+
await server.externalServices.thorswap.thorswapGetSwapTx(req);
|
|
369
|
+
should.fail('should have thrown');
|
|
370
|
+
} catch (err) {
|
|
371
|
+
err.message.should.equal('Thorswap did not return a swap transaction');
|
|
296
372
|
}
|
|
297
373
|
});
|
|
298
374
|
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
import * as chai from 'chai';
|
|
4
|
+
import * as sinon from 'sinon';
|
|
4
5
|
import 'chai/register-should';
|
|
5
6
|
import util from 'util';
|
|
6
7
|
import { WalletService } from '../../../src/lib/server';
|
|
7
8
|
import * as TestData from '../../testdata';
|
|
8
9
|
import helpers from '../helpers';
|
|
9
10
|
import config from '../../../src/config';
|
|
11
|
+
import logger from '../../../src/lib/logger';
|
|
10
12
|
|
|
11
13
|
const should = chai.should();
|
|
12
14
|
|
|
13
15
|
describe('Transak integration', () => {
|
|
16
|
+
const sandbox = sinon.createSandbox();
|
|
14
17
|
let server;
|
|
15
18
|
let wallet;
|
|
16
19
|
let fakeRequest;
|
|
17
20
|
let req;
|
|
21
|
+
let loggerError: sinon.SinonStub;
|
|
18
22
|
|
|
19
23
|
before(async () => {
|
|
20
24
|
await helpers.before();
|
|
@@ -66,6 +70,12 @@ describe('Transak integration', () => {
|
|
|
66
70
|
clientVersion: 'bwc-2.0.0',
|
|
67
71
|
walletId: '123',
|
|
68
72
|
}));
|
|
73
|
+
sandbox.stub(logger, 'warn');
|
|
74
|
+
loggerError = sandbox.stub(logger, 'error');
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
afterEach(() => {
|
|
78
|
+
sandbox.restore();
|
|
69
79
|
});
|
|
70
80
|
|
|
71
81
|
after(async () => {
|
|
@@ -118,7 +128,23 @@ describe('Transak integration', () => {
|
|
|
118
128
|
await server.externalServices.transak.transakGetAccessToken(req);
|
|
119
129
|
should.fail('should have thrown');
|
|
120
130
|
} catch (err) {
|
|
121
|
-
|
|
131
|
+
loggerError.callCount.should.equal(1);
|
|
132
|
+
loggerError.args[0][0].should.contain('Transak request failed with error (');
|
|
133
|
+
err.message.should.equal('Failed to get Transak access token');
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
it('should return error and not leak the response if body is empty', async () => {
|
|
138
|
+
const fakeRequest2 = {
|
|
139
|
+
post: (_url, opts, cb) => { return cb(null, { statusCode: 200, body: undefined, request: { headers: opts.headers } }); },
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
server.externalServices.transak.request = fakeRequest2;
|
|
143
|
+
try {
|
|
144
|
+
await server.externalServices.transak.transakGetAccessToken(req);
|
|
145
|
+
should.fail('should have thrown');
|
|
146
|
+
} catch (err) {
|
|
147
|
+
err.message.should.equal('Transak did not return an access token');
|
|
122
148
|
}
|
|
123
149
|
});
|
|
124
150
|
|
|
@@ -166,7 +192,23 @@ describe('Transak integration', () => {
|
|
|
166
192
|
await server.externalServices.transak.transakGetCryptoCurrencies(req);
|
|
167
193
|
should.fail('should have thrown');
|
|
168
194
|
} catch (err) {
|
|
169
|
-
|
|
195
|
+
loggerError.callCount.should.equal(1);
|
|
196
|
+
loggerError.args[0][0].should.contain('Transak request failed with error (');
|
|
197
|
+
err.message.should.equal('Failed to get Transak supported currencies');
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
it('should return error and not leak the response if body is empty', async () => {
|
|
202
|
+
const fakeRequest2 = {
|
|
203
|
+
get: (_url, opts, cb) => { return cb(null, { statusCode: 200, body: undefined, request: { headers: opts.headers } }); },
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
server.externalServices.transak.request = fakeRequest2;
|
|
207
|
+
try {
|
|
208
|
+
await server.externalServices.transak.transakGetCryptoCurrencies(req);
|
|
209
|
+
should.fail('should have thrown');
|
|
210
|
+
} catch (err) {
|
|
211
|
+
err.message.should.equal('Transak did not return supported currencies');
|
|
170
212
|
}
|
|
171
213
|
});
|
|
172
214
|
|
|
@@ -214,7 +256,23 @@ describe('Transak integration', () => {
|
|
|
214
256
|
await server.externalServices.transak.transakGetFiatCurrencies(req);
|
|
215
257
|
should.fail('should have thrown');
|
|
216
258
|
} catch (err) {
|
|
217
|
-
|
|
259
|
+
loggerError.callCount.should.equal(1);
|
|
260
|
+
loggerError.args[0][0].should.contain('Transak request failed with error (');
|
|
261
|
+
err.message.should.equal('Failed to get Transak supported fiat currencies');
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
it('should return error and not leak the response if body is empty', async () => {
|
|
266
|
+
const fakeRequest2 = {
|
|
267
|
+
get: (_url, opts, cb) => { return cb(null, { statusCode: 200, body: undefined, request: { headers: opts.headers } }); },
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
server.externalServices.transak.request = fakeRequest2;
|
|
271
|
+
try {
|
|
272
|
+
await server.externalServices.transak.transakGetFiatCurrencies(req);
|
|
273
|
+
should.fail('should have thrown');
|
|
274
|
+
} catch (err) {
|
|
275
|
+
err.message.should.equal('Transak did not return supported fiat currencies');
|
|
218
276
|
}
|
|
219
277
|
});
|
|
220
278
|
|
|
@@ -266,7 +324,23 @@ describe('Transak integration', () => {
|
|
|
266
324
|
await server.externalServices.transak.transakGetQuote(req);
|
|
267
325
|
should.fail('should have thrown');
|
|
268
326
|
} catch (err) {
|
|
269
|
-
|
|
327
|
+
loggerError.callCount.should.equal(1);
|
|
328
|
+
loggerError.args[0][0].should.contain('Transak request failed with error (');
|
|
329
|
+
err.message.should.equal('Failed to get Transak quote');
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
|
|
333
|
+
it('should return error and not leak the response if body is empty', async () => {
|
|
334
|
+
const fakeRequest2 = {
|
|
335
|
+
get: (_url, opts, cb) => { return cb(null, { statusCode: 200, body: undefined, request: { headers: opts.headers } }); },
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
server.externalServices.transak.request = fakeRequest2;
|
|
339
|
+
try {
|
|
340
|
+
await server.externalServices.transak.transakGetQuote(req);
|
|
341
|
+
should.fail('should have thrown');
|
|
342
|
+
} catch (err) {
|
|
343
|
+
err.message.should.equal('Transak did not return a quote');
|
|
270
344
|
}
|
|
271
345
|
});
|
|
272
346
|
|
|
@@ -427,7 +501,9 @@ describe('Transak integration', () => {
|
|
|
427
501
|
await server.externalServices.transak.transakGetSignedPaymentUrl(req);
|
|
428
502
|
should.fail('should have thrown');
|
|
429
503
|
} catch (err) {
|
|
430
|
-
|
|
504
|
+
loggerError.callCount.should.equal(1);
|
|
505
|
+
loggerError.args[0][0].should.contain('Transak request failed with error (');
|
|
506
|
+
err.message.should.equal('Failed to get Transak signed payment URL');
|
|
431
507
|
}
|
|
432
508
|
});
|
|
433
509
|
|
|
@@ -477,7 +553,23 @@ describe('Transak integration', () => {
|
|
|
477
553
|
await server.externalServices.transak.transakGetOrderDetails(req);
|
|
478
554
|
should.fail('should have thrown');
|
|
479
555
|
} catch (err) {
|
|
480
|
-
|
|
556
|
+
loggerError.callCount.should.equal(1);
|
|
557
|
+
loggerError.args[0][0].should.contain('Transak request failed with error (');
|
|
558
|
+
err.message.should.equal('Failed to get Transak order details');
|
|
559
|
+
};
|
|
560
|
+
});
|
|
561
|
+
|
|
562
|
+
it('should return error and not leak the response if body is empty', async () => {
|
|
563
|
+
const fakeRequest2 = {
|
|
564
|
+
get: (_url, opts, cb) => { return cb(null, { statusCode: 200, body: undefined, request: { headers: opts.headers } }); },
|
|
565
|
+
};
|
|
566
|
+
|
|
567
|
+
server.externalServices.transak.request = fakeRequest2;
|
|
568
|
+
try {
|
|
569
|
+
await server.externalServices.transak.transakGetOrderDetails(req);
|
|
570
|
+
should.fail('should have thrown');
|
|
571
|
+
} catch (err) {
|
|
572
|
+
err.message.should.equal('Transak did not return order details');
|
|
481
573
|
};
|
|
482
574
|
});
|
|
483
575
|
|
|
@@ -253,7 +253,7 @@ class Helpers {
|
|
|
253
253
|
if ([true, false].includes(opts.supportBIP44AndP2PKH))
|
|
254
254
|
walletOpts.supportBIP44AndP2PKH = opts.supportBIP44AndP2PKH;
|
|
255
255
|
|
|
256
|
-
const walletId = await
|
|
256
|
+
const walletId = await new Promise((resolve, reject) => server.createWallet(walletOpts, (err, walletId) => err ? reject(err) : resolve(walletId)));
|
|
257
257
|
|
|
258
258
|
for (let i = 0; i < n; i++) {
|
|
259
259
|
const copayerData = TestData.copayers[i + offset];
|
|
@@ -7712,43 +7712,31 @@ describe('Wallet service', function() {
|
|
|
7712
7712
|
},
|
|
7713
7713
|
];
|
|
7714
7714
|
|
|
7715
|
-
function checkTx(txOpts, x
|
|
7716
|
-
|
|
7717
|
-
|
|
7718
|
-
|
|
7719
|
-
|
|
7720
|
-
|
|
7721
|
-
|
|
7722
|
-
|
|
7723
|
-
|
|
7724
|
-
|
|
7725
|
-
if (++copayerM == x.m) {
|
|
7726
|
-
return cb(txp);
|
|
7727
|
-
} else {
|
|
7728
|
-
return sign(copayerM, tx, cb);
|
|
7729
|
-
}
|
|
7730
|
-
});
|
|
7715
|
+
async function checkTx(txOpts, x): Promise<number> {
|
|
7716
|
+
const tx = await helpers.createAndPublishTx(server, txOpts, TestData.copayers[0].privKey_1H_0);
|
|
7717
|
+
let txp;
|
|
7718
|
+
for (let copayerM = 0; copayerM < x.m; copayerM++) {
|
|
7719
|
+
const authServer = await helpers.getAuthServer(wallet.copayers[copayerM].id);
|
|
7720
|
+
const signatures = helpers.clientSign(tx, TestData.copayers[copayerM].xPrivKey_44H_0H_0H);
|
|
7721
|
+
txp = await util.promisify(authServer.signTx).call(authServer, {
|
|
7722
|
+
txProposalId: tx.id,
|
|
7723
|
+
signatures: signatures,
|
|
7731
7724
|
});
|
|
7732
7725
|
}
|
|
7733
|
-
|
|
7734
|
-
|
|
7735
|
-
|
|
7736
|
-
|
|
7737
|
-
|
|
7738
|
-
|
|
7739
|
-
|
|
7740
|
-
|
|
7741
|
-
|
|
7742
|
-
|
|
7743
|
-
|
|
7744
|
-
|
|
7745
|
-
|
|
7746
|
-
|
|
7747
|
-
feeRate.should.be.below(x.requiredFeeRate * 1.5); // no more that 50% extra
|
|
7748
|
-
return cb(feeRate);
|
|
7749
|
-
});
|
|
7750
|
-
});
|
|
7751
|
-
};
|
|
7726
|
+
should.exist(txp.raw);
|
|
7727
|
+
txp.status.should.equal('accepted');
|
|
7728
|
+
const t = ChainService.getBitcoreTx(txp);
|
|
7729
|
+
|
|
7730
|
+
// Check size and fee rate
|
|
7731
|
+
(txp.raw.length / 2).should.equal(t.size);
|
|
7732
|
+
const feeRate = t.getFee() / (x.fromSegwit ? t.vsize : t.size) * 1000;
|
|
7733
|
+
console.log(`Wire Size: ${t.size} vSize: ${t.vsize} (Segwit: ${x.fromSegwit}, SegwitVersion: ${x.segwitVersion || 0}) Fee:${t.getFee()} ActualRate:${Math.round(feeRate)} RequiredRate:${x.requiredFeeRate}`);
|
|
7734
|
+
|
|
7735
|
+
// size should be above (or equal) the required FeeRate
|
|
7736
|
+
feeRate.should.not.be.below(x.requiredFeeRate);
|
|
7737
|
+
feeRate.should.be.below(x.requiredFeeRate * 1.5); // no more that 50% extra
|
|
7738
|
+
return feeRate;
|
|
7739
|
+
}
|
|
7752
7740
|
|
|
7753
7741
|
for (let i = 0; i < cases.length; i++) {
|
|
7754
7742
|
const x = cases[i];
|
|
@@ -7780,7 +7768,7 @@ describe('Wallet service', function() {
|
|
|
7780
7768
|
Object.assign(txOpts, { feePerKb: x.requiredFeeRate });
|
|
7781
7769
|
}
|
|
7782
7770
|
|
|
7783
|
-
const fee1 = await
|
|
7771
|
+
const fee1 = await checkTx(txOpts, x);
|
|
7784
7772
|
should.exist(fee1);
|
|
7785
7773
|
|
|
7786
7774
|
// CASE 8
|
|
@@ -7791,7 +7779,7 @@ describe('Wallet service', function() {
|
|
|
7791
7779
|
({ server, wallet } = await helpers.createAndJoinWallet(x.m, x.n, { useNativeSegwit: x.fromSegwit }));
|
|
7792
7780
|
await helpers.stubUtxos(server, wallet, x.utxos);
|
|
7793
7781
|
txOpts.payProUrl = null;
|
|
7794
|
-
const fee2 = await
|
|
7782
|
+
const fee2 = await checkTx(txOpts, x);
|
|
7795
7783
|
console.log(`## Fee PayPro: ${fee1} vs ${fee2}`);
|
|
7796
7784
|
fee1.should.be.above(fee2);
|
|
7797
7785
|
}
|
|
@@ -7880,49 +7868,37 @@ describe('Wallet service', function() {
|
|
|
7880
7868
|
},
|
|
7881
7869
|
];
|
|
7882
7870
|
|
|
7883
|
-
function checkTx(txOpts, x
|
|
7884
|
-
|
|
7885
|
-
|
|
7886
|
-
|
|
7887
|
-
|
|
7888
|
-
|
|
7889
|
-
|
|
7890
|
-
|
|
7891
|
-
|
|
7892
|
-
|
|
7893
|
-
if (++copayerM == x.m) {
|
|
7894
|
-
return cb(txp);
|
|
7895
|
-
} else {
|
|
7896
|
-
return sign(copayerM, tx, cb);
|
|
7897
|
-
}
|
|
7898
|
-
});
|
|
7871
|
+
async function checkTx(txOpts, x): Promise<number> {
|
|
7872
|
+
const tx = await helpers.createAndPublishTx(server, txOpts, TestData.copayers[0].privKey_1H_0);
|
|
7873
|
+
let txp;
|
|
7874
|
+
for (let copayerM = 0; copayerM < x.m; copayerM++) {
|
|
7875
|
+
const authServer = await helpers.getAuthServer(wallet.copayers[copayerM].id);
|
|
7876
|
+
const signatures = helpers.clientSign(tx, TestData.copayers[copayerM].xPrivKey_44H_0H_0H);
|
|
7877
|
+
txp = await util.promisify(authServer.signTx).call(authServer, {
|
|
7878
|
+
txProposalId: tx.id,
|
|
7879
|
+
signatures: signatures,
|
|
7899
7880
|
});
|
|
7900
7881
|
}
|
|
7901
|
-
|
|
7902
|
-
|
|
7903
|
-
|
|
7904
|
-
|
|
7905
|
-
|
|
7906
|
-
|
|
7907
|
-
|
|
7908
|
-
|
|
7909
|
-
|
|
7910
|
-
|
|
7911
|
-
|
|
7912
|
-
|
|
7913
|
-
|
|
7914
|
-
|
|
7915
|
-
|
|
7916
|
-
|
|
7917
|
-
|
|
7918
|
-
|
|
7919
|
-
|
|
7920
|
-
|
|
7921
|
-
}
|
|
7922
|
-
return cb(actualFeeRate);
|
|
7923
|
-
});
|
|
7924
|
-
});
|
|
7925
|
-
};
|
|
7882
|
+
should.exist(txp.raw);
|
|
7883
|
+
txp.status.should.equal('accepted');
|
|
7884
|
+
|
|
7885
|
+
const t = ChainService.getBitcoreTx(txp);
|
|
7886
|
+
const vSize = x.vSize || t._estimateSize(); // use given vSize if available
|
|
7887
|
+
// Check size and fee rate
|
|
7888
|
+
const actualSize = txp.raw.length / 2;
|
|
7889
|
+
const actualFeeRate = t.getFee() / (x.fromSegwit ? vSize : actualSize) * 1000;
|
|
7890
|
+
console.log(`Wire Size:${actualSize} vSize: ${vSize} (Segwit: ${x.fromSegwit}) Fee: ${t.getFee()} ActualRate:${Math.round(actualFeeRate)} RequiredRate:${x.requiredFeeRate}`);
|
|
7891
|
+
|
|
7892
|
+
// Fee should be more than min relay fee
|
|
7893
|
+
t.getFee().should.be.gte(CWC.BitcoreLibDoge.Transaction.DUST_AMOUNT);
|
|
7894
|
+
|
|
7895
|
+
if (t.getFee() > CWC.BitcoreLibDoge.Transaction.DUST_AMOUNT) {
|
|
7896
|
+
// size should be above (or equal) the required FeeRate
|
|
7897
|
+
actualFeeRate.should.not.be.below(x.requiredFeeRate);
|
|
7898
|
+
actualFeeRate.should.be.below(x.requiredFeeRate * 1.5); // no more that 50% extra
|
|
7899
|
+
}
|
|
7900
|
+
return actualFeeRate;
|
|
7901
|
+
}
|
|
7926
7902
|
|
|
7927
7903
|
for (let i = 0; i < cases.length; i++) {
|
|
7928
7904
|
const x = cases[i];
|
|
@@ -7954,7 +7930,7 @@ describe('Wallet service', function() {
|
|
|
7954
7930
|
Object.assign(txOpts, { feePerKb: x.requiredFeeRate });
|
|
7955
7931
|
}
|
|
7956
7932
|
|
|
7957
|
-
const fee1 = await
|
|
7933
|
+
const fee1 = await checkTx(txOpts, x);
|
|
7958
7934
|
should.exist(fee1);
|
|
7959
7935
|
|
|
7960
7936
|
// CASE 8
|
|
@@ -7965,7 +7941,7 @@ describe('Wallet service', function() {
|
|
|
7965
7941
|
({ server, wallet } = await helpers.createAndJoinWallet(x.m, x.n, { useNativeSegwit: x.fromSegwit }));
|
|
7966
7942
|
await helpers.stubUtxos(server, wallet, x.utxos);
|
|
7967
7943
|
txOpts.payProUrl = null;
|
|
7968
|
-
const fee2 = await
|
|
7944
|
+
const fee2 = await checkTx(txOpts, x);
|
|
7969
7945
|
console.log(`## Fee PayPro: ${fee1} vs ${fee2}`);
|
|
7970
7946
|
fee1.should.be.above(fee2);
|
|
7971
7947
|
}
|
|
@@ -11637,10 +11613,6 @@ describe('Wallet service', function() {
|
|
|
11637
11613
|
simplex: {
|
|
11638
11614
|
disabled: false,
|
|
11639
11615
|
removed: false
|
|
11640
|
-
},
|
|
11641
|
-
wyre: {
|
|
11642
|
-
disabled: false,
|
|
11643
|
-
removed: false
|
|
11644
11616
|
}
|
|
11645
11617
|
},
|
|
11646
11618
|
sellCrypto: {
|
|
@@ -11730,10 +11702,6 @@ describe('Wallet service', function() {
|
|
|
11730
11702
|
transak: {
|
|
11731
11703
|
disabled: false,
|
|
11732
11704
|
removed: false
|
|
11733
|
-
},
|
|
11734
|
-
wyre: {
|
|
11735
|
-
disabled: false,
|
|
11736
|
-
removed: false
|
|
11737
11705
|
}
|
|
11738
11706
|
},
|
|
11739
11707
|
sellCrypto: {
|
package/ts_build/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@bitpay-labs/bitcore-wallet-service",
|
|
3
3
|
"description": "A service for Mutisig HD Bitcoin Wallets",
|
|
4
4
|
"author": "BitPay Inc",
|
|
5
|
-
"version": "11.
|
|
5
|
+
"version": "11.11.0",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "ts_build/src/index.js",
|
|
8
8
|
"types": "./ts_build/src/index.d.ts",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@bitpay-labs/bitcore-logging": "^11.10.9",
|
|
45
|
-
"@bitpay-labs/bitcore-tss": "^11.
|
|
46
|
-
"@bitpay-labs/crypto-wallet-core": "^11.
|
|
45
|
+
"@bitpay-labs/bitcore-tss": "^11.11.0",
|
|
46
|
+
"@bitpay-labs/crypto-wallet-core": "^11.11.0",
|
|
47
47
|
"@sendgrid/mail": "6.5.4",
|
|
48
48
|
"abi-decoder": "2.4.0",
|
|
49
49
|
"async": "0.9.2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";AA0gBA,wBAAwB"}
|
package/ts_build/src/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,oDAAuB;AACvB,yCAAsC;AAEtC,MAAM,MAAM,GAAG,GAAQ,EAAE;IACvB,MAAM,aAAa,GAAG;QACpB,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,KAAK;QAClB,IAAI,EAAE,IAAI;QAkBV,WAAW,EAAE;YACX,OAAO,EAAE;gBACP,GAAG,EAAE,6BAA6B;gBAClC,MAAM,EAAE,KAAK;aACd;SACF;QACD,iBAAiB,EAAE;YAEjB,mBAAmB,EAAE;gBACnB,GAAG,EAAE,uBAAuB;aAC7B;SACF;QACD,sBAAsB,EAAE;YACtB,GAAG,EAAE;gBACH,OAAO,EAAE;oBACP,GAAG,EAAE,wBAAwB;iBAC9B;gBACD,QAAQ,EAAE;oBACR,GAAG,EAAE,wBAAwB;iBAC9B;gBACD,QAAQ,EAAE;oBACR,GAAG,EAAE,wBAAwB;iBAC9B;aACF;YACD,GAAG,EAAE;gBACH,OAAO,EAAE;oBACP,GAAG,EAAE,wBAAwB;iBAC9B;gBACD,QAAQ,EAAE;oBACR,GAAG,EAAE,wBAAwB;iBAC9B;gBACD,QAAQ,EAAE;oBACR,GAAG,EAAE,wBAAwB;iBAC9B;gBACD,QAAQ,EAAE;oBACR,GAAG,EAAE,wBAAwB;iBAC9B;gBACD,OAAO,EAAE;oBACP,GAAG,EAAE,wBAAwB;iBAC9B;aACF;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,GAAG,EAAE,wBAAwB;iBAC9B;gBACD,QAAQ,EAAE;oBACR,GAAG,EAAE,wBAAwB;iBAC9B;aACF;YACD,GAAG,EAAE;gBACH,OAAO,EAAE;oBACP,GAAG,EAAE,wBAAwB;iBAC9B;gBACD,QAAQ,EAAE;oBACR,GAAG,EAAE,wBAAwB;iBAC9B;aACF;YACD,GAAG,EAAE;gBACH,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;gBACD,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;aACF;YACD,GAAG,EAAE;gBACH,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;gBACD,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;aACF;YACD,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,GAAG,EAAE,8BAA8B;iBACpC;gBACD,IAAI,EAAE;oBACJ,GAAG,EAAE,8BAA8B;iBACpC;aACF;YACD,GAAG,EAAE;gBACH,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;gBACD,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;aACF;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;gBACD,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;aACF;YACD,EAAE,EAAE;gBACF,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;gBACD,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;aACF;YACD,GAAG,EAAE;gBACH,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;gBACD,OAAO,EAAE;oBACP,GAAG,EAAE,4BAA4B;iBAClC;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,4BAA4B;iBAClC;aACF;YACD,YAAY,EAAE,cAAc;SAC7B;QACD,qBAAqB,EAAE;YACrB,YAAY,EAAE,WAAW;YACzB,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,KAAK;YAClB,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,gCAAgC;YAC/C,kBAAkB,EAAE,+BAA+B;YACnD,gBAAgB,EAAE,gCAAgC;YAClD,qBAAqB,EAAE,gCAAgC;SACxD;QACD,mBAAmB,EAAE;YACnB,eAAe,EAAE,QAAQ;YACzB,aAAa,EAAE,CAAC;SACjB;QACD,eAAe,EAAE;YACf,eAAe,EAAE,KAAK;SACvB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,UAAU;YAClB,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAC5C,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YAChD,IAAI,EAAE,8BAA8B;SAsCrC;QACD,QAAQ,EAAE;YACR,SAAS,EAAE;gBACT,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE;oBACL,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK;iBACf;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK;iBACf;gBACD,IAAI,EAAE;oBACJ,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK;iBACf;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK;iBACf;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK;iBACf;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK;iBACf;aACF;YACD,UAAU,EAAE;gBACV,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE;oBACP,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK;iBACf;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK;iBACf;aACF;YACD,UAAU,EAAE;gBACV,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE;oBACT,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK;iBACf;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK;iBAKf;aACF;SACF;QACD,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,aAAa;KA4M1B,CAAC;IAGF,MAAM,EACJ,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAC1D,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EACjD,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhB,IAAI,SAAS,CAAC;IAEd,IAAI,CAAC;QACH,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC;gBACzE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACzG,CAAC;iBAAM,IAAI,YAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvF,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,SAAS,GAAG,SAAS,EAAE,oBAAoB,CAAC;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACd,eAAM,CAAC,IAAI,CAAC,0BAA0B,mBAAmB,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,IAAI,eAAe,EAAE,CAAC;YAClC,IAAI,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;gBAE/D,SAAS,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;YACnE,CAAC;iBAAM,IAAI,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAE7E,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,eAAM,CAAC,IAAI,CAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QAC1E,CAAC;QAED,SAAS,GAAG,gBAAC,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAEjC,aAAa,CAAC,SAAS,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACxE,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAEnC,aAAa,CAAC,SAAS,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC5E,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,kBAAe,MAAM,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banxa.d.ts","sourceRoot":"","sources":["../../../src/externalservices/banxa.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"banxa.d.ts","sourceRoot":"","sources":["../../../src/externalservices/banxa.ts"],"names":[],"mappings":"AAQA,qBAAa,YAAY;IACvB,OAAO,EAAE,GAAG,CAAW;IAEvB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,iBAAiB;IAsBzB,aAAa,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAgDhC,sBAAsB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA6CzC,aAAa,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAuDhC,gBAAgB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAoDnC,aAAa,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;CA+CjC"}
|