@bitpay-labs/bitcore-wallet-service 11.10.10 → 11.10.11
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/externalservices/simplex.ts +15 -3
- package/src/lib/blockchainexplorers/v8/client.ts +14 -0
- package/src/lib/blockchainexplorers/v8.ts +12 -1
- package/src/lib/routes/walletdata.ts +11 -0
- package/src/lib/server.ts +38 -0
- package/test/expressapp.test.ts +26 -0
- package/test/integration/externalservices/simplex.test.ts +141 -1
- package/test/v8.test.ts +32 -0
- package/ts_build/package.json +1 -1
- package/ts_build/src/externalservices/simplex.d.ts +1 -0
- package/ts_build/src/externalservices/simplex.d.ts.map +1 -1
- package/ts_build/src/externalservices/simplex.js +11 -2
- package/ts_build/src/externalservices/simplex.js.map +1 -1
- package/ts_build/src/lib/blockchainexplorers/v8/client.d.ts +1 -0
- package/ts_build/src/lib/blockchainexplorers/v8/client.d.ts.map +1 -1
- package/ts_build/src/lib/blockchainexplorers/v8/client.js +13 -0
- package/ts_build/src/lib/blockchainexplorers/v8/client.js.map +1 -1
- package/ts_build/src/lib/blockchainexplorers/v8.d.ts +1 -0
- package/ts_build/src/lib/blockchainexplorers/v8.d.ts.map +1 -1
- package/ts_build/src/lib/blockchainexplorers/v8.js +10 -0
- package/ts_build/src/lib/blockchainexplorers/v8.js.map +1 -1
- package/ts_build/src/lib/routes/walletdata.d.ts.map +1 -1
- package/ts_build/src/lib/routes/walletdata.js +12 -0
- package/ts_build/src/lib/routes/walletdata.js.map +1 -1
- package/ts_build/src/lib/server.d.ts +1 -0
- package/ts_build/src/lib/server.d.ts.map +1 -1
- package/ts_build/src/lib/server.js +31 -0
- package/ts_build/src/lib/server.js.map +1 -1
- package/ts_build/test/expressapp.test.js +25 -0
- package/ts_build/test/expressapp.test.js.map +1 -1
- package/ts_build/test/integration/externalservices/simplex.test.js +130 -0
- package/ts_build/test/integration/externalservices/simplex.test.js.map +1 -1
- package/ts_build/test/v8.test.js +30 -0
- package/ts_build/test/v8.test.js.map +1 -1
package/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.10.
|
|
5
|
+
"version": "11.10.11",
|
|
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.10.
|
|
46
|
-
"@bitpay-labs/crypto-wallet-core": "^11.10.
|
|
45
|
+
"@bitpay-labs/bitcore-tss": "^11.10.11",
|
|
46
|
+
"@bitpay-labs/crypto-wallet-core": "^11.10.11",
|
|
47
47
|
"@sendgrid/mail": "6.5.4",
|
|
48
48
|
"abi-decoder": "2.4.0",
|
|
49
49
|
"async": "0.9.2",
|
|
@@ -107,5 +107,5 @@
|
|
|
107
107
|
"email": "kjoseph@bitpay.com"
|
|
108
108
|
}
|
|
109
109
|
],
|
|
110
|
-
"gitHead": "
|
|
110
|
+
"gitHead": "10bcfcf7cc6953e2af65d707b35d3e65e1254583"
|
|
111
111
|
}
|
|
@@ -32,6 +32,18 @@ export class SimplexService {
|
|
|
32
32
|
return keys;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
private simplexGetUserIp(req): string {
|
|
36
|
+
const isWebContext = req.body?.context === 'web';
|
|
37
|
+
let userIp = (isWebContext && req.body.deviceIp) || Utils.getIpFromReq(req);
|
|
38
|
+
delete req.body.deviceIp;
|
|
39
|
+
if (userIp) {
|
|
40
|
+
// Canonicalize IPv4-mapped IPv6 (dual-stack sockets report IPv4 clients as
|
|
41
|
+
// ::ffff:1.2.3.4) so Simplex sees a plain IPv4 address.
|
|
42
|
+
userIp = String(userIp).trim().replace(/^::ffff:/i, '');
|
|
43
|
+
}
|
|
44
|
+
return userIp || '';
|
|
45
|
+
}
|
|
46
|
+
|
|
35
47
|
simplexGetCurrencies(req): Promise<any> {
|
|
36
48
|
return new Promise((resolve, reject) => {
|
|
37
49
|
const keys = this.simplexGetKeys(req);
|
|
@@ -63,11 +75,11 @@ export class SimplexService {
|
|
|
63
75
|
|
|
64
76
|
simplexGetQuote(req): Promise<any> {
|
|
65
77
|
return new Promise((resolve, reject) => {
|
|
78
|
+
const ip = this.simplexGetUserIp(req);
|
|
66
79
|
const keys = this.simplexGetKeys(req);
|
|
67
80
|
|
|
68
81
|
const API = keys.API;
|
|
69
82
|
const API_KEY = keys.API_KEY;
|
|
70
|
-
const ip = Utils.getIpFromReq(req);
|
|
71
83
|
|
|
72
84
|
req.body.client_ip = ip;
|
|
73
85
|
req.body.wallet_id = keys.APP_PROVIDER_ID;
|
|
@@ -147,6 +159,7 @@ export class SimplexService {
|
|
|
147
159
|
|
|
148
160
|
simplexPaymentRequest(req): Promise<any> {
|
|
149
161
|
return new Promise((resolve, reject) => {
|
|
162
|
+
const ip = this.simplexGetUserIp(req);
|
|
150
163
|
const keys = this.simplexGetKeys(req);
|
|
151
164
|
|
|
152
165
|
const API = keys.API;
|
|
@@ -155,7 +168,6 @@ export class SimplexService {
|
|
|
155
168
|
const paymentId = Uuid.v4();
|
|
156
169
|
const orderId = Uuid.v4();
|
|
157
170
|
const apiHost = keys.API;
|
|
158
|
-
const ip = Utils.getIpFromReq(req);
|
|
159
171
|
|
|
160
172
|
if (
|
|
161
173
|
!checkRequired(req.body, ['account_details', 'transaction_details']) &&
|
|
@@ -278,4 +290,4 @@ export class SimplexService {
|
|
|
278
290
|
);
|
|
279
291
|
});
|
|
280
292
|
}
|
|
281
|
-
}
|
|
293
|
+
}
|
|
@@ -61,6 +61,20 @@ export class Client {
|
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
+
async getBalanceAtTime(params) {
|
|
65
|
+
const { payload, pubKey, time, tokenAddress } = params;
|
|
66
|
+
let url = `${this.baseUrl}/wallet/${pubKey}/balance/${encodeURIComponent(time)}`;
|
|
67
|
+
if (tokenAddress) {
|
|
68
|
+
url += `?tokenAddress=${encodeURIComponent(tokenAddress)}`;
|
|
69
|
+
}
|
|
70
|
+
const signature = this.sign({ method: 'GET', url, payload });
|
|
71
|
+
return request.get(url, {
|
|
72
|
+
headers: { 'x-signature': signature },
|
|
73
|
+
body: payload,
|
|
74
|
+
json: true
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
64
78
|
async getCheckData(params) {
|
|
65
79
|
const { payload, pubKey } = params;
|
|
66
80
|
const url = `${this.baseUrl}/wallet/${pubKey}/check`;
|
|
@@ -178,6 +178,17 @@ export class V8 {
|
|
|
178
178
|
.catch(cb);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
+
async getBalanceAtTime(wallet: WalletWithOpts, time: string, cb) {
|
|
182
|
+
const client = this._getAuthClient(wallet);
|
|
183
|
+
const { tokenAddress } = wallet;
|
|
184
|
+
client
|
|
185
|
+
.getBalanceAtTime({ pubKey: wallet.beAuthPublicKey2, payload: {}, time, tokenAddress })
|
|
186
|
+
.then(ret => {
|
|
187
|
+
return cb(null, ret);
|
|
188
|
+
})
|
|
189
|
+
.catch(cb);
|
|
190
|
+
}
|
|
191
|
+
|
|
181
192
|
getConnectionInfo() {
|
|
182
193
|
return 'V8 (' + this.chain + '/' + this.v8network + ') @ ' + this.host;
|
|
183
194
|
}
|
|
@@ -788,4 +799,4 @@ export class V8 {
|
|
|
788
799
|
|
|
789
800
|
const getPerformanceKey = (name: string) => {
|
|
790
801
|
return name + '-' + crypto.randomBytes(5).toString('hex');
|
|
791
|
-
};
|
|
802
|
+
};
|
|
@@ -108,6 +108,17 @@ export function registerWalletDataRoutes(router: express.Router, context: RouteC
|
|
|
108
108
|
});
|
|
109
109
|
});
|
|
110
110
|
|
|
111
|
+
router.get('/v1/balance/:time/', (req, res) => {
|
|
112
|
+
getServerWithAuth(req, res, server => {
|
|
113
|
+
const opts: { time: string; tokenAddress?: string } = { time: req.params.time };
|
|
114
|
+
if (req.query.tokenAddress) opts.tokenAddress = req.query.tokenAddress as string;
|
|
115
|
+
server.getBalanceAtTime(opts, (err, balance) => {
|
|
116
|
+
if (err) return returnError(err, res, req);
|
|
117
|
+
res.json(balance);
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
|
|
111
122
|
router.get('/v1/sendmaxinfo/', (req, res) => {
|
|
112
123
|
getServerWithAuth(req, res, server => {
|
|
113
124
|
const query = req.query;
|
package/src/lib/server.ts
CHANGED
|
@@ -2092,6 +2092,44 @@ export class WalletService implements IWalletService {
|
|
|
2092
2092
|
});
|
|
2093
2093
|
}
|
|
2094
2094
|
|
|
2095
|
+
/**
|
|
2096
|
+
* Get wallet balance at a specific time.
|
|
2097
|
+
* @param {Object} opts
|
|
2098
|
+
* @param {string} opts.time - Date or time accepted by the bitcore-node API.
|
|
2099
|
+
* @returns {Object} balance - The chain-state provider balance at the requested time.
|
|
2100
|
+
*/
|
|
2101
|
+
getBalanceAtTime(opts, cb) {
|
|
2102
|
+
opts = opts || {};
|
|
2103
|
+
if (!opts.time) {
|
|
2104
|
+
return cb(new ClientError('time is required in getBalanceAtTime'));
|
|
2105
|
+
}
|
|
2106
|
+
let wallet = opts.wallet;
|
|
2107
|
+
|
|
2108
|
+
const setWallet = cb1 => {
|
|
2109
|
+
if (wallet) return cb1();
|
|
2110
|
+
this.getWallet({}, (err, ret) => {
|
|
2111
|
+
if (err) return cb(err);
|
|
2112
|
+
wallet = ret;
|
|
2113
|
+
return cb1(null, wallet);
|
|
2114
|
+
});
|
|
2115
|
+
};
|
|
2116
|
+
|
|
2117
|
+
setWallet(() => {
|
|
2118
|
+
if (!wallet.isComplete()) {
|
|
2119
|
+
return cb(null, { confirmed: 0, unconfirmed: 0, balance: 0 });
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2122
|
+
this.syncWallet(wallet, err => {
|
|
2123
|
+
if (err) return cb(err);
|
|
2124
|
+
const bc = this._getBlockchainExplorer(wallet.chain, wallet.network);
|
|
2125
|
+
if (!bc) {
|
|
2126
|
+
return cb(new Error('Could not get blockchain explorer instance'));
|
|
2127
|
+
}
|
|
2128
|
+
return bc.getBalanceAtTime({ ...wallet, tokenAddress: opts.tokenAddress }, opts.time, cb);
|
|
2129
|
+
});
|
|
2130
|
+
});
|
|
2131
|
+
}
|
|
2132
|
+
|
|
2095
2133
|
/**
|
|
2096
2134
|
* Return info needed to send all funds in the wallet
|
|
2097
2135
|
* @param {Object} opts
|
package/test/expressapp.test.ts
CHANGED
|
@@ -274,6 +274,32 @@ describe('ExpressApp', function() {
|
|
|
274
274
|
});
|
|
275
275
|
});
|
|
276
276
|
});
|
|
277
|
+
|
|
278
|
+
it('should get the balance at a given time', function(done) {
|
|
279
|
+
const server = {
|
|
280
|
+
getBalanceAtTime: sinon.stub().callsArgWith(1, null, { balance: 123 }),
|
|
281
|
+
};
|
|
282
|
+
sandbox.stub(WalletService, 'initialize').callsArg(1);
|
|
283
|
+
sandbox.stub(WalletService, 'getInstanceWithAuth').callsArgWith(1, null, server);
|
|
284
|
+
start(ExpressApp, function() {
|
|
285
|
+
const reqOpts = {
|
|
286
|
+
url: testHost + ':' + testPort + config.basePath + '/v1/balance/2025-01-15T12%3A00%3A00.000Z?tokenAddress=0xToken',
|
|
287
|
+
headers: {
|
|
288
|
+
'x-identity': 'identity',
|
|
289
|
+
'x-signature': 'signature'
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
request(reqOpts, function(err, res, body) {
|
|
293
|
+
should.not.exist(err);
|
|
294
|
+
res.statusCode.should.equal(200);
|
|
295
|
+
server.getBalanceAtTime.calledOnce.should.be.true;
|
|
296
|
+
server.getBalanceAtTime.getCall(0).args[0].time.should.equal('2025-01-15T12:00:00.000Z');
|
|
297
|
+
server.getBalanceAtTime.getCall(0).args[0].tokenAddress.should.equal('0xToken');
|
|
298
|
+
JSON.parse(body).balance.should.equal(123);
|
|
299
|
+
done();
|
|
300
|
+
});
|
|
301
|
+
});
|
|
302
|
+
});
|
|
277
303
|
});
|
|
278
304
|
|
|
279
305
|
describe('v1/wallets/all', function() {
|
|
@@ -150,6 +150,76 @@ describe('Simplex integration', () => {
|
|
|
150
150
|
should.exist(data);
|
|
151
151
|
});
|
|
152
152
|
|
|
153
|
+
it('should forward the deviceIp as client_ip for web context', async () => {
|
|
154
|
+
let capturedBody;
|
|
155
|
+
server.externalServices.simplex.request = {
|
|
156
|
+
post: (_url, opts, cb) => {
|
|
157
|
+
capturedBody = opts.body;
|
|
158
|
+
return cb(null, { body: 'data' });
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
req.body.context = 'web';
|
|
162
|
+
req.body.deviceIp = '203.0.113.42';
|
|
163
|
+
await server.externalServices.simplex.simplexGetQuote(req);
|
|
164
|
+
capturedBody.client_ip.should.equal('203.0.113.42');
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
it('should canonicalize an IPv4-mapped IPv6 deviceIp for web context', async () => {
|
|
168
|
+
let capturedBody;
|
|
169
|
+
server.externalServices.simplex.request = {
|
|
170
|
+
post: (_url, opts, cb) => {
|
|
171
|
+
capturedBody = opts.body;
|
|
172
|
+
return cb(null, { body: 'data' });
|
|
173
|
+
},
|
|
174
|
+
};
|
|
175
|
+
req.body.context = 'web';
|
|
176
|
+
req.body.deviceIp = '::ffff:203.0.113.42';
|
|
177
|
+
await server.externalServices.simplex.simplexGetQuote(req);
|
|
178
|
+
capturedBody.client_ip.should.equal('203.0.113.42');
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
it('should not leak deviceIp into the body sent to Simplex', async () => {
|
|
182
|
+
let capturedBody;
|
|
183
|
+
server.externalServices.simplex.request = {
|
|
184
|
+
post: (_url, opts, cb) => {
|
|
185
|
+
capturedBody = opts.body;
|
|
186
|
+
return cb(null, { body: 'data' });
|
|
187
|
+
},
|
|
188
|
+
};
|
|
189
|
+
req.body.context = 'web';
|
|
190
|
+
req.body.deviceIp = '203.0.113.42';
|
|
191
|
+
await server.externalServices.simplex.simplexGetQuote(req);
|
|
192
|
+
should.not.exist(capturedBody.deviceIp);
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
it('should ignore a body deviceIp for non-web context and use the request IP', async () => {
|
|
196
|
+
let capturedBody;
|
|
197
|
+
server.externalServices.simplex.request = {
|
|
198
|
+
post: (_url, opts, cb) => {
|
|
199
|
+
capturedBody = opts.body;
|
|
200
|
+
return cb(null, { body: 'data' });
|
|
201
|
+
},
|
|
202
|
+
};
|
|
203
|
+
req.headers['x-forwarded-for'] = '198.51.100.7';
|
|
204
|
+
req.body.deviceIp = '203.0.113.42';
|
|
205
|
+
await server.externalServices.simplex.simplexGetQuote(req);
|
|
206
|
+
capturedBody.client_ip.should.equal('198.51.100.7');
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
it('should fall back to the request IP for web context when deviceIp is not forwarded', async () => {
|
|
210
|
+
let capturedBody;
|
|
211
|
+
server.externalServices.simplex.request = {
|
|
212
|
+
post: (_url, opts, cb) => {
|
|
213
|
+
capturedBody = opts.body;
|
|
214
|
+
return cb(null, { body: 'data' });
|
|
215
|
+
},
|
|
216
|
+
};
|
|
217
|
+
req.body.context = 'web';
|
|
218
|
+
req.headers['x-forwarded-for'] = '198.51.100.7';
|
|
219
|
+
await server.externalServices.simplex.simplexGetQuote(req);
|
|
220
|
+
capturedBody.client_ip.should.equal('198.51.100.7');
|
|
221
|
+
});
|
|
222
|
+
|
|
153
223
|
it('should return error if post returns error', async () => {
|
|
154
224
|
const fakeRequest2 = {
|
|
155
225
|
post: (_url, _opts, _cb) => { return _cb(new Error('Error'), null); },
|
|
@@ -266,6 +336,76 @@ describe('Simplex integration', () => {
|
|
|
266
336
|
should.exist(data);
|
|
267
337
|
});
|
|
268
338
|
|
|
339
|
+
it('should forward the deviceIp as account_details.signup_login.ip for web context', async () => {
|
|
340
|
+
let capturedBody;
|
|
341
|
+
server.externalServices.simplex.request = {
|
|
342
|
+
post: (_url, opts, cb) => {
|
|
343
|
+
capturedBody = opts.body;
|
|
344
|
+
return cb(null, { body: {} });
|
|
345
|
+
},
|
|
346
|
+
};
|
|
347
|
+
req.body.context = 'web';
|
|
348
|
+
req.body.deviceIp = '203.0.113.42';
|
|
349
|
+
await server.externalServices.simplex.simplexPaymentRequest(req);
|
|
350
|
+
capturedBody.account_details.signup_login.ip.should.equal('203.0.113.42');
|
|
351
|
+
});
|
|
352
|
+
|
|
353
|
+
it('should canonicalize an IPv4-mapped IPv6 deviceIp for web context', async () => {
|
|
354
|
+
let capturedBody;
|
|
355
|
+
server.externalServices.simplex.request = {
|
|
356
|
+
post: (_url, opts, cb) => {
|
|
357
|
+
capturedBody = opts.body;
|
|
358
|
+
return cb(null, { body: {} });
|
|
359
|
+
},
|
|
360
|
+
};
|
|
361
|
+
req.body.context = 'web';
|
|
362
|
+
req.body.deviceIp = '::ffff:203.0.113.42';
|
|
363
|
+
await server.externalServices.simplex.simplexPaymentRequest(req);
|
|
364
|
+
capturedBody.account_details.signup_login.ip.should.equal('203.0.113.42');
|
|
365
|
+
});
|
|
366
|
+
|
|
367
|
+
it('should not leak deviceIp into the body sent to Simplex', async () => {
|
|
368
|
+
let capturedBody;
|
|
369
|
+
server.externalServices.simplex.request = {
|
|
370
|
+
post: (_url, opts, cb) => {
|
|
371
|
+
capturedBody = opts.body;
|
|
372
|
+
return cb(null, { body: {} });
|
|
373
|
+
},
|
|
374
|
+
};
|
|
375
|
+
req.body.context = 'web';
|
|
376
|
+
req.body.deviceIp = '203.0.113.42';
|
|
377
|
+
await server.externalServices.simplex.simplexPaymentRequest(req);
|
|
378
|
+
should.not.exist(capturedBody.deviceIp);
|
|
379
|
+
});
|
|
380
|
+
|
|
381
|
+
it('should ignore a body deviceIp for non-web context and use the request IP', async () => {
|
|
382
|
+
let capturedBody;
|
|
383
|
+
server.externalServices.simplex.request = {
|
|
384
|
+
post: (_url, opts, cb) => {
|
|
385
|
+
capturedBody = opts.body;
|
|
386
|
+
return cb(null, { body: {} });
|
|
387
|
+
},
|
|
388
|
+
};
|
|
389
|
+
req.headers['x-forwarded-for'] = '198.51.100.7';
|
|
390
|
+
req.body.deviceIp = '203.0.113.42';
|
|
391
|
+
await server.externalServices.simplex.simplexPaymentRequest(req);
|
|
392
|
+
capturedBody.account_details.signup_login.ip.should.equal('198.51.100.7');
|
|
393
|
+
});
|
|
394
|
+
|
|
395
|
+
it('should fall back to the request IP for web context when deviceIp is not forwarded', async () => {
|
|
396
|
+
let capturedBody;
|
|
397
|
+
server.externalServices.simplex.request = {
|
|
398
|
+
post: (_url, opts, cb) => {
|
|
399
|
+
capturedBody = opts.body;
|
|
400
|
+
return cb(null, { body: {} });
|
|
401
|
+
},
|
|
402
|
+
};
|
|
403
|
+
req.body.context = 'web';
|
|
404
|
+
req.headers['x-forwarded-for'] = '198.51.100.7';
|
|
405
|
+
await server.externalServices.simplex.simplexPaymentRequest(req);
|
|
406
|
+
capturedBody.account_details.signup_login.ip.should.equal('198.51.100.7');
|
|
407
|
+
});
|
|
408
|
+
|
|
269
409
|
it('should return error if post returns error', async () => {
|
|
270
410
|
const fakeRequest2 = {
|
|
271
411
|
post: (_url, _opts, _cb) => { return _cb(new Error('Error'), null); },
|
|
@@ -381,4 +521,4 @@ describe('Simplex integration', () => {
|
|
|
381
521
|
should.exist(data);
|
|
382
522
|
});
|
|
383
523
|
});
|
|
384
|
-
});
|
|
524
|
+
});
|
package/test/v8.test.ts
CHANGED
|
@@ -30,6 +30,38 @@ describe('V8', () => {
|
|
|
30
30
|
beAuthPrivateKey2: new BitcoreLib.PrivateKey()
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
+
describe('#getBalanceAtTime', () => {
|
|
34
|
+
it('should request the wallet balance at the supplied time', done => {
|
|
35
|
+
const balance = { confirmed: 100, unconfirmed: 0, balance: 100 };
|
|
36
|
+
const balanceWallet = {
|
|
37
|
+
...wallet,
|
|
38
|
+
beAuthPublicKey2: wallet.beAuthPrivateKey2.toPublicKey().toString(),
|
|
39
|
+
tokenAddress: '0xToken'
|
|
40
|
+
};
|
|
41
|
+
class BalanceAtTimeClient {
|
|
42
|
+
getBalanceAtTime(opts) {
|
|
43
|
+
opts.pubKey.should.equal(balanceWallet.beAuthPublicKey2);
|
|
44
|
+
opts.time.should.equal('2025-01-15T12:00:00.000Z');
|
|
45
|
+
opts.tokenAddress.should.equal('0xToken');
|
|
46
|
+
return Promise.resolve(balance);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const be = new V8({
|
|
50
|
+
chain: 'btc',
|
|
51
|
+
network: 'livenet',
|
|
52
|
+
url: 'http://dummy/',
|
|
53
|
+
apiPrefix: 'dummyPath',
|
|
54
|
+
client: BalanceAtTimeClient as any
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
be.getBalanceAtTime(balanceWallet as any, '2025-01-15T12:00:00.000Z', (err, result) => {
|
|
58
|
+
should.not.exist(err);
|
|
59
|
+
result.should.deep.equal(balance);
|
|
60
|
+
done();
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
|
|
33
65
|
describe('#listTransactions', () => {
|
|
34
66
|
it('should handle partial json results', (done) => {
|
|
35
67
|
class PartialJson {
|
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.10.
|
|
5
|
+
"version": "11.10.10",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "ts_build/src/index.js",
|
|
8
8
|
"types": "./ts_build/src/index.d.ts",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simplex.d.ts","sourceRoot":"","sources":["../../../src/externalservices/simplex.ts"],"names":[],"mappings":"AAOA,qBAAa,cAAc;IACzB,OAAO,EAAE,GAAG,CAAW;IAEvB,OAAO,CAAC,cAAc;IAwBtB,oBAAoB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA6BvC,eAAe,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAuClC,mBAAmB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA6CtC,qBAAqB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA6DxC,yBAAyB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA2C5C,gBAAgB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;CA6BpC"}
|
|
1
|
+
{"version":3,"file":"simplex.d.ts","sourceRoot":"","sources":["../../../src/externalservices/simplex.ts"],"names":[],"mappings":"AAOA,qBAAa,cAAc;IACzB,OAAO,EAAE,GAAG,CAAW;IAEvB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,gBAAgB;IAYxB,oBAAoB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA6BvC,eAAe,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAuClC,mBAAmB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA6CtC,qBAAqB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA6DxC,yBAAyB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA2C5C,gBAAgB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;CA6BpC"}
|
|
@@ -65,6 +65,15 @@ class SimplexService {
|
|
|
65
65
|
};
|
|
66
66
|
return keys;
|
|
67
67
|
}
|
|
68
|
+
simplexGetUserIp(req) {
|
|
69
|
+
const isWebContext = req.body?.context === 'web';
|
|
70
|
+
let userIp = (isWebContext && req.body.deviceIp) || utils_1.Utils.getIpFromReq(req);
|
|
71
|
+
delete req.body.deviceIp;
|
|
72
|
+
if (userIp) {
|
|
73
|
+
userIp = String(userIp).trim().replace(/^::ffff:/i, '');
|
|
74
|
+
}
|
|
75
|
+
return userIp || '';
|
|
76
|
+
}
|
|
68
77
|
simplexGetCurrencies(req) {
|
|
69
78
|
return new Promise((resolve, reject) => {
|
|
70
79
|
const keys = this.simplexGetKeys(req);
|
|
@@ -89,10 +98,10 @@ class SimplexService {
|
|
|
89
98
|
}
|
|
90
99
|
simplexGetQuote(req) {
|
|
91
100
|
return new Promise((resolve, reject) => {
|
|
101
|
+
const ip = this.simplexGetUserIp(req);
|
|
92
102
|
const keys = this.simplexGetKeys(req);
|
|
93
103
|
const API = keys.API;
|
|
94
104
|
const API_KEY = keys.API_KEY;
|
|
95
|
-
const ip = utils_1.Utils.getIpFromReq(req);
|
|
96
105
|
req.body.client_ip = ip;
|
|
97
106
|
req.body.wallet_id = keys.APP_PROVIDER_ID;
|
|
98
107
|
const headers = {
|
|
@@ -152,6 +161,7 @@ class SimplexService {
|
|
|
152
161
|
}
|
|
153
162
|
simplexPaymentRequest(req) {
|
|
154
163
|
return new Promise((resolve, reject) => {
|
|
164
|
+
const ip = this.simplexGetUserIp(req);
|
|
155
165
|
const keys = this.simplexGetKeys(req);
|
|
156
166
|
const API = keys.API;
|
|
157
167
|
const API_KEY = keys.API_KEY;
|
|
@@ -159,7 +169,6 @@ class SimplexService {
|
|
|
159
169
|
const paymentId = uuid_1.default.v4();
|
|
160
170
|
const orderId = uuid_1.default.v4();
|
|
161
171
|
const apiHost = keys.API;
|
|
162
|
-
const ip = utils_1.Utils.getIpFromReq(req);
|
|
163
172
|
if (!(0, server_1.checkRequired)(req.body, ['account_details', 'transaction_details']) &&
|
|
164
173
|
!(0, server_1.checkRequired)(req.body.transaction_details, ['payment_details'])) {
|
|
165
174
|
return reject(new clienterror_1.ClientError("Simplex's request missing arguments"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simplex.js","sourceRoot":"","sources":["../../../src/externalservices/simplex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,gDAAwB;AACxB,uDAA+B;AAC/B,+CAA4C;AAC5C,2DAAwD;AACxD,0CAA8C;AAE9C,MAAa,cAAc;IACzB,OAAO,GAAQ,OAAO,CAAC;IAEf,cAAc,CAAC,GAAG;QACxB,IAAI,CAAC,gBAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAEpE,IAAI,GAA8D,CAAC;QACnE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/B,GAAG,IAAI,KAAK,CAAC;QACf,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QACpB,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAExB,MAAM,IAAI,GAAG;YACX,GAAG,EAAE,gBAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG;YAC5B,QAAQ,EAAE,gBAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO;YACrC,OAAO,EAAE,gBAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;YACnC,UAAU,EAAE,gBAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS;YACzC,eAAe,EAAE,gBAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa;YAClD,eAAe,EAAE,gBAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY;SAClD,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,GAAG;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAEnC,MAAM,OAAO,GAAG;gBACd,cAAc,EAAE,kBAAkB;aACnC,CAAC;YAEF,MAAM,GAAG,GAAG,GAAG,GAAG,8CAA8C,UAAU,EAAE,CAAC;YAE7E,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,GAAG,EACH;gBACE,OAAO;gBACP,IAAI,EAAE,IAAI;aACX,EACD,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAG;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,
|
|
1
|
+
{"version":3,"file":"simplex.js","sourceRoot":"","sources":["../../../src/externalservices/simplex.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export declare class Client {
|
|
|
19
19
|
}): string;
|
|
20
20
|
register(params: any): Promise<any>;
|
|
21
21
|
getBalance(params: any): Promise<any>;
|
|
22
|
+
getBalanceAtTime(params: any): Promise<any>;
|
|
22
23
|
getCheckData(params: any): Promise<any>;
|
|
23
24
|
getAddressTxos(params: any): Promise<any>;
|
|
24
25
|
getTx(params: any): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../src/lib/blockchainexplorers/v8/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,aAAa,MAAM,SAAS,CAAC;AAKzC,qBAAa,MAAM;IACjB,OAAO,EAAE;QAAE,EAAE,EAAE;YAAE,QAAQ,EAAE,CAAC,GAAG,KAAA,KAAK,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;gBAEJ,MAAM,KAAA;IAIlB,UAAU,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE;IAMjE,IAAI,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE;IAOrD,QAAQ,CAAC,MAAM,KAAA;IAaf,UAAU,CAAC,MAAM,KAAA;IAsBjB,YAAY,CAAC,MAAM,KAAA;IAYnB,cAAc,CAAC,MAAM,KAAA;IASrB,KAAK,CAAC,MAAM,KAAA;IAQZ,QAAQ,CAAC,MAAM,KAAA;IAiBf,aAAa,CAAC,MAAM,KAAA;IAS1B,gBAAgB,CAAC,MAAM,KAAA;IAmCjB,eAAe,CAAC,MAAM,KAAA;IAiBtB,SAAS,CAAC,MAAM,KAAA;CAMvB"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../src/lib/blockchainexplorers/v8/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,aAAa,MAAM,SAAS,CAAC;AAKzC,qBAAa,MAAM;IACjB,OAAO,EAAE;QAAE,EAAE,EAAE;YAAE,QAAQ,EAAE,CAAC,GAAG,KAAA,KAAK,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;gBAEJ,MAAM,KAAA;IAIlB,UAAU,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE;IAMjE,IAAI,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE;IAOrD,QAAQ,CAAC,MAAM,KAAA;IAaf,UAAU,CAAC,MAAM,KAAA;IAsBjB,gBAAgB,CAAC,MAAM,KAAA;IAcvB,YAAY,CAAC,MAAM,KAAA;IAYnB,cAAc,CAAC,MAAM,KAAA;IASrB,KAAK,CAAC,MAAM,KAAA;IAQZ,QAAQ,CAAC,MAAM,KAAA;IAiBf,aAAa,CAAC,MAAM,KAAA;IAS1B,gBAAgB,CAAC,MAAM,KAAA;IAmCjB,eAAe,CAAC,MAAM,KAAA;IAiBtB,SAAS,CAAC,MAAM,KAAA;CAMvB"}
|
|
@@ -89,6 +89,19 @@ class Client {
|
|
|
89
89
|
json: true
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
|
+
async getBalanceAtTime(params) {
|
|
93
|
+
const { payload, pubKey, time, tokenAddress } = params;
|
|
94
|
+
let url = `${this.baseUrl}/wallet/${pubKey}/balance/${encodeURIComponent(time)}`;
|
|
95
|
+
if (tokenAddress) {
|
|
96
|
+
url += `?tokenAddress=${encodeURIComponent(tokenAddress)}`;
|
|
97
|
+
}
|
|
98
|
+
const signature = this.sign({ method: 'GET', url, payload });
|
|
99
|
+
return request.get(url, {
|
|
100
|
+
headers: { 'x-signature': signature },
|
|
101
|
+
body: payload,
|
|
102
|
+
json: true
|
|
103
|
+
});
|
|
104
|
+
}
|
|
92
105
|
async getCheckData(params) {
|
|
93
106
|
const { payload, pubKey } = params;
|
|
94
107
|
const url = `${this.baseUrl}/wallet/${pubKey}/check`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/lib/blockchainexplorers/v8/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/lib/blockchainexplorers/v8/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ export declare class V8 {
|
|
|
35
35
|
}): void;
|
|
36
36
|
register(wallet: WalletWithOpts, cb: any): any;
|
|
37
37
|
getBalance(wallet: WalletWithOpts, cb: any): Promise<void>;
|
|
38
|
+
getBalanceAtTime(wallet: WalletWithOpts, time: string, cb: any): Promise<void>;
|
|
38
39
|
getConnectionInfo(): string;
|
|
39
40
|
_transformUtxos(utxos: any, bcheight: number): {
|
|
40
41
|
address: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v8.d.ts","sourceRoot":"","sources":["../../../../src/lib/blockchainexplorers/v8.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAMlD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAmCrC,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnG,qBAAa,EAAE;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,IAAI,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,MAAM,CAAC;KACxB;IA6BD,UAAU;IAMV,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;IAQ9C,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,KAAA,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE;IA2BrG,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,KAAA;IAqB7B,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,KAAA;
|
|
1
|
+
{"version":3,"file":"v8.d.ts","sourceRoot":"","sources":["../../../../src/lib/blockchainexplorers/v8.ts"],"names":[],"mappings":"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"}
|
|
@@ -176,6 +176,16 @@ class V8 {
|
|
|
176
176
|
})
|
|
177
177
|
.catch(cb);
|
|
178
178
|
}
|
|
179
|
+
async getBalanceAtTime(wallet, time, cb) {
|
|
180
|
+
const client = this._getAuthClient(wallet);
|
|
181
|
+
const { tokenAddress } = wallet;
|
|
182
|
+
client
|
|
183
|
+
.getBalanceAtTime({ pubKey: wallet.beAuthPublicKey2, payload: {}, time, tokenAddress })
|
|
184
|
+
.then(ret => {
|
|
185
|
+
return cb(null, ret);
|
|
186
|
+
})
|
|
187
|
+
.catch(cb);
|
|
188
|
+
}
|
|
179
189
|
getConnectionInfo() {
|
|
180
190
|
return 'V8 (' + this.chain + '/' + this.v8network + ') @ ' + this.host;
|
|
181
191
|
}
|