@bitgo-beta/sdk-core 8.2.1-beta.97 → 8.2.1-beta.99
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/CHANGELOG.md +26 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +2 -2
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
- package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
- package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
- package/dist/src/bitgo/utils/codecProps.js +41 -0
- package/dist/src/bitgo/utils/postWithCodec.d.ts +18 -0
- package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/src/bitgo/utils/postWithCodec.js +59 -0
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +1 -0
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +5 -1
- package/dist/src/bitgo/wallet/BuildParams.d.ts +75 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/BuildParams.js +94 -0
- package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts +71 -0
- package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/SendTransactionRequest.js +41 -0
- package/dist/src/bitgo/wallet/wallet.d.ts +1 -0
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +17 -63
- package/dist/test/node.utils.d.ts +2 -0
- package/dist/test/node.utils.d.ts.map +1 -0
- package/dist/test/node.utils.js +5 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.js +79 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +38 -0
- package/dist/test/unit/openssl.d.ts +2 -0
- package/dist/test/unit/openssl.d.ts.map +1 -0
- package/dist/test/unit/openssl.js +39 -0
- package/dist/test/unit/units.d.ts +2 -0
- package/dist/test/unit/units.d.ts.map +1 -0
- package/dist/test/unit/units.js +98 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.utils.d.ts","sourceRoot":"","sources":["../../test/node.utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,QAA8C,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NODE_MAJOR_VERSION = void 0;
|
|
4
|
+
exports.NODE_MAJOR_VERSION = Number(process.versions.node.split('.')[0]);
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3Qvbm9kZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBOT0RFX01BSk9SX1ZFUlNJT04gPSBOdW1iZXIocHJvY2Vzcy52ZXJzaW9ucy5ub2RlLnNwbGl0KCcuJylbMF0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postWithCodec.d.ts","sourceRoot":"","sources":["../../../../../test/unit/bitgo/utils/postWithCodec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
const assert_1 = __importDefault(require("assert"));
|
|
26
|
+
const t = __importStar(require("io-ts"));
|
|
27
|
+
const superagent_1 = require("superagent");
|
|
28
|
+
const postWithCodec_1 = require("../../../../src/bitgo/utils/postWithCodec");
|
|
29
|
+
describe('postWithCodec', function () {
|
|
30
|
+
function getRequest(codec, body, { useEncodedBody = true } = {}) {
|
|
31
|
+
const request = postWithCodec_1.postWithCodec(superagent_1.agent(), 'http://example.com', codec, body, {
|
|
32
|
+
useEncodedBody,
|
|
33
|
+
});
|
|
34
|
+
return {
|
|
35
|
+
headers: request.header,
|
|
36
|
+
body: request._data,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function assertRequestContains(request, body, headers) {
|
|
40
|
+
assert_1.default.deepStrictEqual(request.body, body);
|
|
41
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
42
|
+
assert_1.default.deepStrictEqual(request.headers[key], value, `header ${key} does not match`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const codec = t.exact(t.intersection([t.type({ foo: t.string }), t.partial({ bar: t.unknown })]));
|
|
46
|
+
it('has expected values with value matching codec', function () {
|
|
47
|
+
assertRequestContains(getRequest(codec, { foo: 'bar' }), { foo: 'bar' }, {
|
|
48
|
+
'io-ts-codec-encode-error': 'false',
|
|
49
|
+
'io-ts-codec-decode-error': '',
|
|
50
|
+
'io-ts-unknown-properties': '',
|
|
51
|
+
});
|
|
52
|
+
assertRequestContains(getRequest(codec, { foo: 'bar', bar: null }), { foo: 'bar', bar: null }, {
|
|
53
|
+
'io-ts-codec-encode-error': 'false',
|
|
54
|
+
'io-ts-codec-decode-error': '',
|
|
55
|
+
'io-ts-unknown-properties': '',
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
it('has expected values with value not matching codec', function () {
|
|
59
|
+
// invalid value
|
|
60
|
+
assertRequestContains(getRequest(codec, { foo: null }), { foo: null }, {
|
|
61
|
+
'io-ts-codec-encode-error': 'false',
|
|
62
|
+
'io-ts-codec-decode-error': '0.foo',
|
|
63
|
+
'io-ts-unknown-properties': '',
|
|
64
|
+
});
|
|
65
|
+
// non-exact value
|
|
66
|
+
assertRequestContains(getRequest(codec, { foo: 'bar', boo: 1 }), { foo: 'bar' }, {
|
|
67
|
+
'io-ts-codec-encode-error': 'false',
|
|
68
|
+
'io-ts-codec-decode-error': '',
|
|
69
|
+
'io-ts-unknown-properties': 'boo',
|
|
70
|
+
});
|
|
71
|
+
// non-exact value, useEncodedBody=false
|
|
72
|
+
assertRequestContains(getRequest(codec, { foo: 'bar', boo: 1 }, { useEncodedBody: false }), { foo: 'bar', boo: 1 }, {
|
|
73
|
+
'io-ts-codec-encode-error': 'false',
|
|
74
|
+
'io-ts-codec-decode-error': '',
|
|
75
|
+
'io-ts-unknown-properties': 'boo',
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdFdpdGhDb2RlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby91dGlscy9wb3N0V2l0aENvZGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQUM1Qix5Q0FBMkI7QUFDM0IsMkNBQXNEO0FBRXRELDZFQUEwRTtBQUUxRSxRQUFRLENBQUMsZUFBZSxFQUFFO0lBRXhCLFNBQVMsVUFBVSxDQUNqQixLQUFtQixFQUNuQixJQUFPLEVBQ1AsRUFBRSxjQUFjLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRTtRQUs5QixNQUFNLE9BQU8sR0FBRyw2QkFBYSxDQUFDLGtCQUFLLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQ3hFLGNBQWM7U0FDZixDQU9BLENBQUM7UUFDRixPQUFPO1lBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3ZCLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSztTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMscUJBQXFCLENBQzVCLE9BR0MsRUFDRCxJQUFhLEVBQ2IsT0FBZ0I7UUFFaEIsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsRCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztTQUNyRjtJQUNILENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbEcsRUFBRSxDQUFDLCtDQUErQyxFQUFFO1FBQ2xELHFCQUFxQixDQUNuQixVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQ2pDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUNkO1lBQ0UsMEJBQTBCLEVBQUUsT0FBTztZQUNuQywwQkFBMEIsRUFBRSxFQUFFO1lBQzlCLDBCQUEwQixFQUFFLEVBQUU7U0FDL0IsQ0FDRixDQUFDO1FBRUYscUJBQXFCLENBQ25CLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUM1QyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUN6QjtZQUNFLDBCQUEwQixFQUFFLE9BQU87WUFDbkMsMEJBQTBCLEVBQUUsRUFBRTtZQUM5QiwwQkFBMEIsRUFBRSxFQUFFO1NBQy9CLENBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG1EQUFtRCxFQUFFO1FBQ3RELGdCQUFnQjtRQUNoQixxQkFBcUIsQ0FDbkIsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQVMsQ0FBQyxFQUN2QyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFDYjtZQUNFLDBCQUEwQixFQUFFLE9BQU87WUFDbkMsMEJBQTBCLEVBQUUsT0FBTztZQUNuQywwQkFBMEIsRUFBRSxFQUFFO1NBQy9CLENBQ0YsQ0FBQztRQUVGLGtCQUFrQjtRQUNsQixxQkFBcUIsQ0FDbkIsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBUyxDQUFDLEVBQ2hELEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUNkO1lBQ0UsMEJBQTBCLEVBQUUsT0FBTztZQUNuQywwQkFBMEIsRUFBRSxFQUFFO1lBQzlCLDBCQUEwQixFQUFFLEtBQUs7U0FDbEMsQ0FDRixDQUFDO1FBRUYsd0NBQXdDO1FBQ3hDLHFCQUFxQixDQUNuQixVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFTLEVBQUUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFDM0UsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFDdEI7WUFDRSwwQkFBMEIsRUFBRSxPQUFPO1lBQ25DLDBCQUEwQixFQUFFLEVBQUU7WUFDOUIsMEJBQTBCLEVBQUUsS0FBSztTQUNsQyxDQUNGLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5pbXBvcnQgeyBhZ2VudCwgU3VwZXJBZ2VudFJlcXVlc3QgfSBmcm9tICdzdXBlcmFnZW50JztcblxuaW1wb3J0IHsgcG9zdFdpdGhDb2RlYyB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy9wb3N0V2l0aENvZGVjJztcblxuZGVzY3JpYmUoJ3Bvc3RXaXRoQ29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gIHR5cGUgSGVhZGVycyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBmdW5jdGlvbiBnZXRSZXF1ZXN0PEEgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgTyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgICBjb2RlYzogdC5UeXBlPEEsIE8+LFxuICAgIGJvZHk6IEEsXG4gICAgeyB1c2VFbmNvZGVkQm9keSA9IHRydWUgfSA9IHt9XG4gICk6IHtcbiAgICBib2R5OiB1bmtub3duO1xuICAgIGhlYWRlcnM6IEhlYWRlcnM7XG4gIH0ge1xuICAgIGNvbnN0IHJlcXVlc3QgPSBwb3N0V2l0aENvZGVjKGFnZW50KCksICdodHRwOi8vZXhhbXBsZS5jb20nLCBjb2RlYywgYm9keSwge1xuICAgICAgdXNlRW5jb2RlZEJvZHksXG4gICAgfSkgYXMgU3VwZXJBZ2VudFJlcXVlc3QgJiB7XG4gICAgICAvKlxuICAgICAgU29tZSBwcml2YXRlIHByb3BlcnRpZXMuIEEgYml0IHVnbHksIGJ1dCB0aGUgYWx0ZXJuYXRpdmUgaXMgdG8gbWFrZSBhbiBhY3R1YWwgcmVxdWVzdCBhZ2FpbnN0XG4gICAgICBhIG5vY2ssIGFuZCB0ZWFzZSBvdXQgdGhlIGhlYWRlcnMgZnJvbSB0aGVyZS4gTm90IHByZXR0eSBlaXRoZXIuXG4gICAgICAqL1xuICAgICAgX2RhdGE6IHVua25vd247XG4gICAgICBoZWFkZXI6IEhlYWRlcnM7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXIsXG4gICAgICBib2R5OiByZXF1ZXN0Ll9kYXRhLFxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBhc3NlcnRSZXF1ZXN0Q29udGFpbnMoXG4gICAgcmVxdWVzdDoge1xuICAgICAgYm9keTogdW5rbm93bjtcbiAgICAgIGhlYWRlcnM6IEhlYWRlcnM7XG4gICAgfSxcbiAgICBib2R5OiB1bmtub3duLFxuICAgIGhlYWRlcnM6IEhlYWRlcnNcbiAgKSB7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChyZXF1ZXN0LmJvZHksIGJvZHkpO1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGhlYWRlcnMpKSB7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHJlcXVlc3QuaGVhZGVyc1trZXldLCB2YWx1ZSwgYGhlYWRlciAke2tleX0gZG9lcyBub3QgbWF0Y2hgKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBjb2RlYyA9IHQuZXhhY3QodC5pbnRlcnNlY3Rpb24oW3QudHlwZSh7IGZvbzogdC5zdHJpbmcgfSksIHQucGFydGlhbCh7IGJhcjogdC51bmtub3duIH0pXSkpO1xuXG4gIGl0KCdoYXMgZXhwZWN0ZWQgdmFsdWVzIHdpdGggdmFsdWUgbWF0Y2hpbmcgY29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0UmVxdWVzdENvbnRhaW5zKFxuICAgICAgZ2V0UmVxdWVzdChjb2RlYywgeyBmb286ICdiYXInIH0pLFxuICAgICAgeyBmb286ICdiYXInIH0sXG4gICAgICB7XG4gICAgICAgICdpby10cy1jb2RlYy1lbmNvZGUtZXJyb3InOiAnZmFsc2UnLFxuICAgICAgICAnaW8tdHMtY29kZWMtZGVjb2RlLWVycm9yJzogJycsXG4gICAgICAgICdpby10cy11bmtub3duLXByb3BlcnRpZXMnOiAnJyxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgYXNzZXJ0UmVxdWVzdENvbnRhaW5zKFxuICAgICAgZ2V0UmVxdWVzdChjb2RlYywgeyBmb286ICdiYXInLCBiYXI6IG51bGwgfSksXG4gICAgICB7IGZvbzogJ2JhcicsIGJhcjogbnVsbCB9LFxuICAgICAge1xuICAgICAgICAnaW8tdHMtY29kZWMtZW5jb2RlLWVycm9yJzogJ2ZhbHNlJyxcbiAgICAgICAgJ2lvLXRzLWNvZGVjLWRlY29kZS1lcnJvcic6ICcnLFxuICAgICAgICAnaW8tdHMtdW5rbm93bi1wcm9wZXJ0aWVzJzogJycsXG4gICAgICB9XG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ2hhcyBleHBlY3RlZCB2YWx1ZXMgd2l0aCB2YWx1ZSBub3QgbWF0Y2hpbmcgY29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gaW52YWxpZCB2YWx1ZVxuICAgIGFzc2VydFJlcXVlc3RDb250YWlucyhcbiAgICAgIGdldFJlcXVlc3QoY29kZWMsIHsgZm9vOiBudWxsIH0gYXMgYW55KSxcbiAgICAgIHsgZm9vOiBudWxsIH0sXG4gICAgICB7XG4gICAgICAgICdpby10cy1jb2RlYy1lbmNvZGUtZXJyb3InOiAnZmFsc2UnLFxuICAgICAgICAnaW8tdHMtY29kZWMtZGVjb2RlLWVycm9yJzogJzAuZm9vJyxcbiAgICAgICAgJ2lvLXRzLXVua25vd24tcHJvcGVydGllcyc6ICcnLFxuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBub24tZXhhY3QgdmFsdWVcbiAgICBhc3NlcnRSZXF1ZXN0Q29udGFpbnMoXG4gICAgICBnZXRSZXF1ZXN0KGNvZGVjLCB7IGZvbzogJ2JhcicsIGJvbzogMSB9IGFzIGFueSksXG4gICAgICB7IGZvbzogJ2JhcicgfSxcbiAgICAgIHtcbiAgICAgICAgJ2lvLXRzLWNvZGVjLWVuY29kZS1lcnJvcic6ICdmYWxzZScsXG4gICAgICAgICdpby10cy1jb2RlYy1kZWNvZGUtZXJyb3InOiAnJyxcbiAgICAgICAgJ2lvLXRzLXVua25vd24tcHJvcGVydGllcyc6ICdib28nLFxuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBub24tZXhhY3QgdmFsdWUsIHVzZUVuY29kZWRCb2R5PWZhbHNlXG4gICAgYXNzZXJ0UmVxdWVzdENvbnRhaW5zKFxuICAgICAgZ2V0UmVxdWVzdChjb2RlYywgeyBmb286ICdiYXInLCBib286IDEgfSBhcyBhbnksIHsgdXNlRW5jb2RlZEJvZHk6IGZhbHNlIH0pLFxuICAgICAgeyBmb286ICdiYXInLCBib286IDEgfSxcbiAgICAgIHtcbiAgICAgICAgJ2lvLXRzLWNvZGVjLWVuY29kZS1lcnJvcic6ICdmYWxzZScsXG4gICAgICAgICdpby10cy1jb2RlYy1kZWNvZGUtZXJyb3InOiAnJyxcbiAgICAgICAgJ2lvLXRzLXVua25vd24tcHJvcGVydGllcyc6ICdib28nLFxuICAgICAgfVxuICAgICk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SendTransactionRequest.d.ts","sourceRoot":"","sources":["../../../../../test/unit/bitgo/wallet/SendTransactionRequest.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const assert = __importStar(require("assert"));
|
|
23
|
+
const SendTransactionRequest_1 = require("../../../../src/bitgo/wallet/SendTransactionRequest");
|
|
24
|
+
const BuildParams_1 = require("../../../../src/bitgo/wallet/BuildParams");
|
|
25
|
+
const codecProps_1 = require("../../../../src/bitgo/utils/codecProps");
|
|
26
|
+
describe('SendTransactionRequest', function () {
|
|
27
|
+
it('has expected property count', function () {
|
|
28
|
+
assert.strictEqual(codecProps_1.getCodecProperties(BuildParams_1.BuildParams).length, 54);
|
|
29
|
+
});
|
|
30
|
+
it('enforces codec', function () {
|
|
31
|
+
assert.deepStrictEqual(SendTransactionRequest_1.SendTransactionRequest.encode({ txHex: '00' }), { txHex: '00' });
|
|
32
|
+
assert.deepStrictEqual(SendTransactionRequest_1.SendTransactionRequest.encode({ txHex: '00', addressType: 'p2sh', bar: 'omit' }), {
|
|
33
|
+
txHex: '00',
|
|
34
|
+
addressType: 'p2sh',
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby93YWxsZXQvU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsZ0dBQTZGO0FBQzdGLDBFQUF1RTtBQUN2RSx1RUFBNEU7QUFFNUUsUUFBUSxDQUFDLHdCQUF3QixFQUFFO0lBQ2pDLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtRQUNoQyxNQUFNLENBQUMsV0FBVyxDQUFDLCtCQUFrQixDQUFDLHlCQUFXLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDSCxFQUFFLENBQUMsZ0JBQWdCLEVBQUU7UUFDbkIsTUFBTSxDQUFDLGVBQWUsQ0FBQywrQ0FBc0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sQ0FBQyxlQUFlLENBQUMsK0NBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQVMsQ0FBQyxFQUFFO1lBQzlHLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgU2VuZFRyYW5zYWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnby93YWxsZXQvU2VuZFRyYW5zYWN0aW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBCdWlsZFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnby93YWxsZXQvQnVpbGRQYXJhbXMnO1xuaW1wb3J0IHsgZ2V0Q29kZWNQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL2NvZGVjUHJvcHMnO1xuXG5kZXNjcmliZSgnU2VuZFRyYW5zYWN0aW9uUmVxdWVzdCcsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ2hhcyBleHBlY3RlZCBwcm9wZXJ0eSBjb3VudCcsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZ2V0Q29kZWNQcm9wZXJ0aWVzKEJ1aWxkUGFyYW1zKS5sZW5ndGgsIDU0KTtcbiAgfSk7XG4gIGl0KCdlbmZvcmNlcyBjb2RlYycsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFNlbmRUcmFuc2FjdGlvblJlcXVlc3QuZW5jb2RlKHsgdHhIZXg6ICcwMCcgfSksIHsgdHhIZXg6ICcwMCcgfSk7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChTZW5kVHJhbnNhY3Rpb25SZXF1ZXN0LmVuY29kZSh7IHR4SGV4OiAnMDAnLCBhZGRyZXNzVHlwZTogJ3Ayc2gnLCBiYXI6ICdvbWl0JyB9IGFzIGFueSksIHtcbiAgICAgIHR4SGV4OiAnMDAnLFxuICAgICAgYWRkcmVzc1R5cGU6ICdwMnNoJyxcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openssl.d.ts","sourceRoot":"","sources":["../../../test/unit/openssl.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("should");
|
|
4
|
+
const sdk_lib_mpc_1 = require("@bitgo-beta/sdk-lib-mpc");
|
|
5
|
+
const bigint_crypto_utils_1 = require("bigint-crypto-utils");
|
|
6
|
+
const node_utils_1 = require("../node.utils");
|
|
7
|
+
describe('openssl', function () {
|
|
8
|
+
it('should throw an error if module is not initialized', async function () {
|
|
9
|
+
const openssl = new sdk_lib_mpc_1.OpenSSL();
|
|
10
|
+
await openssl
|
|
11
|
+
.generateSafePrime(sdk_lib_mpc_1.minModulusBitLength)
|
|
12
|
+
.should.be.rejectedWith('The OpenSSl class is not initialized! Please call OpenSSL.init().');
|
|
13
|
+
});
|
|
14
|
+
// node 14 requires --experimental-wasm-bigint node flag
|
|
15
|
+
if (node_utils_1.NODE_MAJOR_VERSION > 14) {
|
|
16
|
+
it('should generate a safe prime number of a certain bitLength', async function () {
|
|
17
|
+
const openssl = new sdk_lib_mpc_1.OpenSSL();
|
|
18
|
+
await openssl.init();
|
|
19
|
+
const safePrime = await openssl.generateSafePrime(512);
|
|
20
|
+
bigint_crypto_utils_1.bitLength(safePrime).should.equal(512);
|
|
21
|
+
});
|
|
22
|
+
it('should generate a safe prime number', async function () {
|
|
23
|
+
const openssl = new sdk_lib_mpc_1.OpenSSL();
|
|
24
|
+
await openssl.init();
|
|
25
|
+
const safePrime = await openssl.generateSafePrime(512);
|
|
26
|
+
let isPrime = await bigint_crypto_utils_1.isProbablyPrime(safePrime);
|
|
27
|
+
isPrime.should.be.true();
|
|
28
|
+
isPrime = await bigint_crypto_utils_1.isProbablyPrime((safePrime - BigInt(1)) / BigInt(2));
|
|
29
|
+
isPrime.should.be.true();
|
|
30
|
+
});
|
|
31
|
+
it('should be able to generate multiple safe primes with the same openssl instance', async function () {
|
|
32
|
+
const openssl = new sdk_lib_mpc_1.OpenSSL();
|
|
33
|
+
await openssl.init();
|
|
34
|
+
const safePrimes = await Promise.all([openssl.generateSafePrime(512), openssl.generateSafePrime(512)]);
|
|
35
|
+
safePrimes.length.should.equal(2);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnNzbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9vcGVuc3NsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0JBQWdCO0FBQ2hCLHlEQUF1RTtBQUN2RSw2REFBaUU7QUFDakUsOENBQW1EO0FBRW5ELFFBQVEsQ0FBQyxTQUFTLEVBQUU7SUFDbEIsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEtBQUs7UUFDNUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBTyxFQUFFLENBQUM7UUFDOUIsTUFBTSxPQUFPO2FBQ1YsaUJBQWlCLENBQUMsaUNBQW1CLENBQUM7YUFDdEMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsbUVBQW1FLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUMsQ0FBQztJQUVILHdEQUF3RDtJQUN4RCxJQUFJLCtCQUFrQixHQUFHLEVBQUUsRUFBRTtRQUMzQixFQUFFLENBQUMsNERBQTRELEVBQUUsS0FBSztZQUNwRSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2RCwrQkFBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMscUNBQXFDLEVBQUUsS0FBSztZQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2RCxJQUFJLE9BQU8sR0FBRyxNQUFNLHFDQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsT0FBTyxHQUFHLE1BQU0scUNBQWUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxnRkFBZ0YsRUFBRSxLQUFLO1lBQ3hGLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQU8sRUFBRSxDQUFDO1lBQzlCLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZHLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBPcGVuU1NMLCBtaW5Nb2R1bHVzQml0TGVuZ3RoIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgYml0TGVuZ3RoLCBpc1Byb2JhYmx5UHJpbWUgfSBmcm9tICdiaWdpbnQtY3J5cHRvLXV0aWxzJztcbmltcG9ydCB7IE5PREVfTUFKT1JfVkVSU0lPTiB9IGZyb20gJy4uL25vZGUudXRpbHMnO1xuXG5kZXNjcmliZSgnb3BlbnNzbCcsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiBtb2R1bGUgaXMgbm90IGluaXRpYWxpemVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IG9wZW5zc2wgPSBuZXcgT3BlblNTTCgpO1xuICAgIGF3YWl0IG9wZW5zc2xcbiAgICAgIC5nZW5lcmF0ZVNhZmVQcmltZShtaW5Nb2R1bHVzQml0TGVuZ3RoKVxuICAgICAgLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ1RoZSBPcGVuU1NsIGNsYXNzIGlzIG5vdCBpbml0aWFsaXplZCEgUGxlYXNlIGNhbGwgT3BlblNTTC5pbml0KCkuJyk7XG4gIH0pO1xuXG4gIC8vIG5vZGUgMTQgcmVxdWlyZXMgLS1leHBlcmltZW50YWwtd2FzbS1iaWdpbnQgbm9kZSBmbGFnXG4gIGlmIChOT0RFX01BSk9SX1ZFUlNJT04gPiAxNCkge1xuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUgYSBzYWZlIHByaW1lIG51bWJlciBvZiBhIGNlcnRhaW4gYml0TGVuZ3RoJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3BlbnNzbCA9IG5ldyBPcGVuU1NMKCk7XG4gICAgICBhd2FpdCBvcGVuc3NsLmluaXQoKTtcbiAgICAgIGNvbnN0IHNhZmVQcmltZSA9IGF3YWl0IG9wZW5zc2wuZ2VuZXJhdGVTYWZlUHJpbWUoNTEyKTtcbiAgICAgIGJpdExlbmd0aChzYWZlUHJpbWUpLnNob3VsZC5lcXVhbCg1MTIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBnZW5lcmF0ZSBhIHNhZmUgcHJpbWUgbnVtYmVyJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3BlbnNzbCA9IG5ldyBPcGVuU1NMKCk7XG4gICAgICBhd2FpdCBvcGVuc3NsLmluaXQoKTtcbiAgICAgIGNvbnN0IHNhZmVQcmltZSA9IGF3YWl0IG9wZW5zc2wuZ2VuZXJhdGVTYWZlUHJpbWUoNTEyKTtcbiAgICAgIGxldCBpc1ByaW1lID0gYXdhaXQgaXNQcm9iYWJseVByaW1lKHNhZmVQcmltZSk7XG4gICAgICBpc1ByaW1lLnNob3VsZC5iZS50cnVlKCk7XG4gICAgICBpc1ByaW1lID0gYXdhaXQgaXNQcm9iYWJseVByaW1lKChzYWZlUHJpbWUgLSBCaWdJbnQoMSkpIC8gQmlnSW50KDIpKTtcbiAgICAgIGlzUHJpbWUuc2hvdWxkLmJlLnRydWUoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYmUgYWJsZSB0byBnZW5lcmF0ZSBtdWx0aXBsZSBzYWZlIHByaW1lcyB3aXRoIHRoZSBzYW1lIG9wZW5zc2wgaW5zdGFuY2UnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBvcGVuc3NsID0gbmV3IE9wZW5TU0woKTtcbiAgICAgIGF3YWl0IG9wZW5zc2wuaW5pdCgpO1xuICAgICAgY29uc3Qgc2FmZVByaW1lcyA9IGF3YWl0IFByb21pc2UuYWxsKFtvcGVuc3NsLmdlbmVyYXRlU2FmZVByaW1lKDUxMiksIG9wZW5zc2wuZ2VuZXJhdGVTYWZlUHJpbWUoNTEyKV0pO1xuICAgICAgc2FmZVByaW1lcy5sZW5ndGguc2hvdWxkLmVxdWFsKDIpO1xuICAgIH0pO1xuICB9XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../../test/unit/units.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
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
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
7
|
+
require("should");
|
|
8
|
+
const src_1 = require("../../src");
|
|
9
|
+
describe('units', () => {
|
|
10
|
+
describe('toFullUnits', () => {
|
|
11
|
+
it('should convert numbers into full units', () => {
|
|
12
|
+
src_1.toFullUnits(0, 'susd').should.equal('0');
|
|
13
|
+
src_1.toFullUnits(75, 'susd').should.equal('0.75');
|
|
14
|
+
src_1.toFullUnits(-100, 'susd').should.equal('-1');
|
|
15
|
+
src_1.toFullUnits(0, 'btc').should.equal('0');
|
|
16
|
+
src_1.toFullUnits(75, 'btc').should.equal('7.5e-7');
|
|
17
|
+
src_1.toFullUnits(750000, 'btc').should.equal('0.0075');
|
|
18
|
+
src_1.toFullUnits(-7500000, 'btc').should.equal('-0.075');
|
|
19
|
+
});
|
|
20
|
+
it('should convert big numbers into full units', () => {
|
|
21
|
+
src_1.toFullUnits(bignumber_js_1.default(0), 'susd').should.equal('0');
|
|
22
|
+
src_1.toFullUnits(bignumber_js_1.default(75), 'susd').should.equal('0.75');
|
|
23
|
+
src_1.toFullUnits(bignumber_js_1.default('7500000000000'), 'susd').should.equal('75000000000');
|
|
24
|
+
src_1.toFullUnits(bignumber_js_1.default('750000000000000000000000000'), 'susd').should.equal('7.5e+24');
|
|
25
|
+
src_1.toFullUnits(bignumber_js_1.default(-100), 'susd').should.equal('-1');
|
|
26
|
+
src_1.toFullUnits(bignumber_js_1.default(0), 'btc').should.equal('0');
|
|
27
|
+
src_1.toFullUnits(bignumber_js_1.default(75), 'btc').should.equal('7.5e-7');
|
|
28
|
+
src_1.toFullUnits(bignumber_js_1.default(750000), 'btc').should.equal('0.0075');
|
|
29
|
+
src_1.toFullUnits(bignumber_js_1.default(-7500000), 'btc').should.equal('-0.075');
|
|
30
|
+
src_1.toFullUnits(bignumber_js_1.default('75000000000000000000000000'), 'btc').should.equal('750000000000000000');
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
describe('toFullUnitsFixed', () => {
|
|
34
|
+
it('should convert numbers into full fixed units', () => {
|
|
35
|
+
src_1.toFullUnitsFixed(0, 'susd').should.equal('0.00');
|
|
36
|
+
src_1.toFullUnitsFixed(75, 'susd').should.equal('0.75');
|
|
37
|
+
src_1.toFullUnitsFixed(-100, 'susd').should.equal('-1.00');
|
|
38
|
+
src_1.toFullUnitsFixed(0, 'btc').should.equal('0.00000000');
|
|
39
|
+
src_1.toFullUnitsFixed(75, 'btc').should.equal('0.00000075');
|
|
40
|
+
src_1.toFullUnitsFixed(750000, 'btc').should.equal('0.00750000');
|
|
41
|
+
src_1.toFullUnitsFixed(-7500000, 'btc').should.equal('-0.07500000');
|
|
42
|
+
});
|
|
43
|
+
it('should convert big numbers into full fixed units', () => {
|
|
44
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(0), 'susd').should.equal('0.00');
|
|
45
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(75), 'susd').should.equal('0.75');
|
|
46
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default('7500000000000'), 'susd').should.equal('75000000000.00');
|
|
47
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default('750000000000000000000000000'), 'susd').should.equal('7500000000000000000000000.00');
|
|
48
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(-100), 'susd').should.equal('-1.00');
|
|
49
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(0), 'btc').should.equal('0.00000000');
|
|
50
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(75), 'btc').should.equal('0.00000075');
|
|
51
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(750000), 'btc').should.equal('0.00750000');
|
|
52
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(-7500000), 'btc').should.equal('-0.07500000');
|
|
53
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default('75000000000000000000000000'), 'btc').should.equal('750000000000000000.00000000');
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
describe('toBaseUnits', () => {
|
|
57
|
+
it('should convert into base units', () => {
|
|
58
|
+
src_1.toBaseUnits(0, 'susd').should.equal('0');
|
|
59
|
+
src_1.toBaseUnits('0.75', 'susd').should.equal('75');
|
|
60
|
+
src_1.toBaseUnits('-1.00', 'susd').should.equal('-100');
|
|
61
|
+
src_1.toBaseUnits('0', 'btc').should.equal('0');
|
|
62
|
+
src_1.toBaseUnits('0.000000000', 'btc').should.equal('0');
|
|
63
|
+
src_1.toBaseUnits('0.00000075', 'btc').should.equal('75');
|
|
64
|
+
src_1.toBaseUnits('0.00750000', 'btc').should.equal('750000');
|
|
65
|
+
src_1.toBaseUnits('-0.07500000', 'btc').should.equal('-7500000');
|
|
66
|
+
});
|
|
67
|
+
it('should convert big numbers into base units', () => {
|
|
68
|
+
src_1.toBaseUnits(bignumber_js_1.default(0), 'susd').should.equal('0');
|
|
69
|
+
src_1.toBaseUnits(bignumber_js_1.default(75), 'susd').should.equal('7500');
|
|
70
|
+
src_1.toBaseUnits(bignumber_js_1.default('7500000000000'), 'susd').should.equal('750000000000000');
|
|
71
|
+
src_1.toBaseUnits(bignumber_js_1.default('750000000000000000000000000'), 'susd').should.equal('7.5e+28');
|
|
72
|
+
src_1.toBaseUnits(bignumber_js_1.default(-100), 'susd').should.equal('-10000');
|
|
73
|
+
src_1.toBaseUnits(bignumber_js_1.default(0), 'btc').should.equal('0');
|
|
74
|
+
src_1.toBaseUnits(bignumber_js_1.default(75), 'btc').should.equal('7500000000');
|
|
75
|
+
src_1.toBaseUnits(bignumber_js_1.default(750000), 'btc').should.equal('75000000000000');
|
|
76
|
+
src_1.toBaseUnits(bignumber_js_1.default(-7500000), 'btc').should.equal('-750000000000000');
|
|
77
|
+
src_1.toBaseUnits(bignumber_js_1.default('75000000000000000000000000'), 'btc').should.equal('7.5e+33');
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
describe('toMarketValueBaseUnits', () => {
|
|
81
|
+
it('should convert into market value base units', () => {
|
|
82
|
+
src_1.toMarketValueBaseUnits('susd', 1, 0).should.equal(BigInt(0));
|
|
83
|
+
src_1.toMarketValueBaseUnits('susd', 1, 10).should.equal(BigInt(10));
|
|
84
|
+
src_1.toMarketValueBaseUnits('susd', 70000000, 0).should.equal(BigInt(0));
|
|
85
|
+
src_1.toMarketValueBaseUnits('susd', 70000000, 10).should.equal(BigInt(700000000));
|
|
86
|
+
src_1.toMarketValueBaseUnits('btc', 1, 0).should.equal(BigInt(0));
|
|
87
|
+
src_1.toMarketValueBaseUnits('btc', 1, 10).should.equal(BigInt(0));
|
|
88
|
+
src_1.toMarketValueBaseUnits('btc', 70000000, 0).should.equal(BigInt(0));
|
|
89
|
+
src_1.toMarketValueBaseUnits('btc', 70000000, 10).should.equal(BigInt(700));
|
|
90
|
+
src_1.toMarketValueBaseUnits('btc', bignumber_js_1.default('7000000000000000000000000'), 10).should.equal(BigInt('69999999999999999280'));
|
|
91
|
+
});
|
|
92
|
+
it('should allow changing the numerator of the trading pair', () => {
|
|
93
|
+
// $3.38 market value for 1 eth at 338.2582 cents market price
|
|
94
|
+
src_1.toMarketValueBaseUnits('teth', 338.2582, BigInt(10000000000000000).toString(), 'tsusd').should.equal(BigInt(338));
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdW5pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRUFBcUM7QUFDckMsa0JBQWdCO0FBQ2hCLG1DQUErRjtBQUUvRixRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtJQUNyQixRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUMzQixFQUFFLENBQUMsd0NBQXdDLEVBQUUsR0FBRyxFQUFFO1lBQ2hELGlCQUFXLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsaUJBQVcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxpQkFBVyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0MsaUJBQVcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QyxpQkFBVyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLGlCQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEQsaUJBQVcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDRDQUE0QyxFQUFFLEdBQUcsRUFBRTtZQUNwRCxpQkFBVyxDQUFDLHNCQUFTLENBQUMs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Q0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RCw0QkFBc0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0QsNEJBQXNCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLDRCQUFzQixDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUM3RSw0QkFBc0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUQsNEJBQXNCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdELDRCQUFzQixDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRSw0QkFBc0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdEUsNEJBQXNCLENBQUMsS0FBSyxFQUFFLHNCQUFTLENBQUMsMkJBQTJCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNwRixNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FDL0IsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHlEQUF5RCxFQUFFLEdBQUcsRUFBRTtZQUNqRSw4REFBOEQ7WUFDOUQsNEJBQXNCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCAnc2hvdWxkJztcbmltcG9ydCB7IHRvRnVsbFVuaXRzLCB0b0Z1bGxVbml0c0ZpeGVkLCB0b0Jhc2VVbml0cywgdG9NYXJrZXRWYWx1ZUJhc2VVbml0cyB9IGZyb20gJy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCd1bml0cycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3RvRnVsbFVuaXRzJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY29udmVydCBudW1iZXJzIGludG8gZnVsbCB1bml0cycsICgpID0+IHtcbiAgICAgIHRvRnVsbFVuaXRzKDAsICdzdXNkJykuc2hvdWxkLmVxdWFsKCcwJyk7XG4gICAgICB0b0Z1bGxVbml0cyg3NSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzAuNzUnKTtcbiAgICAgIHRvRnVsbFVuaXRzKC0xMDAsICdzdXNkJykuc2hvdWxkLmVxdWFsKCctMScpO1xuICAgICAgdG9GdWxsVW5pdHMoMCwgJ2J0YycpLnNob3VsZC5lcXVhbCgnMCcpO1xuICAgICAgdG9GdWxsVW5pdHMoNzUsICdidGMnKS5zaG91bGQuZXF1YWwoJzcuNWUtNycpO1xuICAgICAgdG9GdWxsVW5pdHMoNzUwMDAwLCAnYnRjJykuc2hvdWxkLmVxdWFsKCcwLjAwNzUnKTtcbiAgICAgIHRvRnVsbFVuaXRzKC03NTAwMDAwLCAnYnRjJykuc2hvdWxkLmVxdWFsKCctMC4wNzUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY29udmVydCBiaWcgbnVtYmVycyBpbnRvIGZ1bGwgdW5pdHMnLCAoKSA9PiB7XG4gICAgICB0b0Z1bGxVbml0cyhCaWdOdW1iZXIoMCksICdzdXNkJykuc2hvdWxkLmVxdWFsKCcwJyk7XG4gICAgICB0b0Z1bGxVbml0cyhCaWdOdW1iZXIoNzUpLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnMC43NScpO1xuICAgICAgdG9GdWxsVW5pdHMoQmlnTnVtYmVyKCc3NTAwMDAwMDAwMDAwJyksICdzdXNkJykuc2hvdWxkLmVxdWFsKCc3NTAwMDAwMDAwMCcpO1xuICAgICAgdG9GdWxsVW5pdHMoQmlnTnVtYmVyKCc3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzcuNWUrMjQnKTtcbiAgICAgIHRvRnVsbFVuaXRzKEJpZ051bWJlcigtMTAwKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJy0xJyk7XG4gICAgICB0b0Z1bGxVbml0cyhCaWdOdW1iZXIoMCksICdidGMnKS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICAgIHRvRnVsbFVuaXRzKEJpZ051bWJlcig3NSksICdidGMnKS5zaG91bGQuZXF1YWwoJzcuNWUtNycpO1xuICAgICAgdG9GdWxsVW5pdHMoQmlnTnVtYmVyKDc1MDAwMCksICdidGMnKS5zaG91bGQuZXF1YWwoJzAuMDA3NScpO1xuICAgICAgdG9GdWxsVW5pdHMoQmlnTnVtYmVyKC03NTAwMDAwKSwgJ2J0YycpLnNob3VsZC5lcXVhbCgnLTAuMDc1Jyk7XG4gICAgICB0b0Z1bGxVbml0cyhCaWdOdW1iZXIoJzc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyksICdidGMnKS5zaG91bGQuZXF1YWwoJzc1MDAwMDAwMDAwMDAwMDAwMCcpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndG9GdWxsVW5pdHNGaXhlZCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgbnVtYmVycyBpbnRvIGZ1bGwgZml4ZWQgdW5pdHMnLCAoKSA9PiB7XG4gICAgICB0b0Z1bGxVbml0c0ZpeGVkKDAsICdzdXNkJykuc2hvdWxkLmVxdWFsKCcwLjAwJyk7XG4gICAgICB0b0Z1bGxVbml0c0ZpeGVkKDc1LCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnMC43NScpO1xuICAgICAgdG9GdWxsVW5pdHNGaXhlZCgtMTAwLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnLTEuMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoMCwgJ2J0YycpLnNob3VsZC5lcXVhbCgnMC4wMDAwMDAwMCcpO1xuICAgICAgdG9GdWxsVW5pdHNGaXhlZCg3NSwgJ2J0YycpLnNob3VsZC5lcXVhbCgnMC4wMDAwMDA3NScpO1xuICAgICAgdG9GdWxsVW5pdHNGaXhlZCg3NTAwMDAsICdidGMnKS5zaG91bGQuZXF1YWwoJzAuMDA3NTAwMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoLTc1MDAwMDAsICdidGMnKS5zaG91bGQuZXF1YWwoJy0wLjA3NTAwMDAwJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgYmlnIG51bWJlcnMgaW50byBmdWxsIGZpeGVkIHVuaXRzJywgKCkgPT4ge1xuICAgICAgdG9GdWxsVW5pdHNGaXhlZChCaWdOdW1iZXIoMCksICdzdXNkJykuc2hvdWxkLmVxdWFsKCcwLjAwJyk7XG4gICAgICB0b0Z1bGxVbml0c0ZpeGVkKEJpZ051bWJlcig3NSksICdzdXNkJykuc2hvdWxkLmVxdWFsKCcwLjc1Jyk7XG4gICAgICB0b0Z1bGxVbml0c0ZpeGVkKEJpZ051bWJlcignNzUwMDAwMDAwMDAwMCcpLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnNzUwMDAwMDAwMDAuMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKCc3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKC0xMDApLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnLTEuMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKDApLCAnYnRjJykuc2hvdWxkLmVxdWFsKCcwLjAwMDAwMDAwJyk7XG4gICAgICB0b0Z1bGxVbml0c0ZpeGVkKEJpZ051bWJlcig3NSksICdidGMnKS5zaG91bGQuZXF1YWwoJzAuMDAwMDAwNzUnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKDc1MDAwMCksICdidGMnKS5zaG91bGQuZXF1YWwoJzAuMDA3NTAwMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKC03NTAwMDAwKSwgJ2J0YycpLnNob3VsZC5lcXVhbCgnLTAuMDc1MDAwMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKCc3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcpLCAnYnRjJykuc2hvdWxkLmVxdWFsKCc3NTAwMDAwMDAwMDAwMDAwMDAuMDAwMDAwMDAnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3RvQmFzZVVuaXRzJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY29udmVydCBpbnRvIGJhc2UgdW5pdHMnLCAoKSA9PiB7XG4gICAgICB0b0Jhc2VVbml0cygwLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnMCcpO1xuICAgICAgdG9CYXNlVW5pdHMoJzAuNzUnLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnNzUnKTtcbiAgICAgIHRvQmFzZVVuaXRzKCctMS4wMCcsICdzdXNkJykuc2hvdWxkLmVxdWFsKCctMTAwJyk7XG4gICAgICB0b0Jhc2VVbml0cygnMCcsICdidGMnKS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICAgIHRvQmFzZVVuaXRzKCcwLjAwMDAwMDAwMCcsICdidGMnKS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICAgIHRvQmFzZVVuaXRzKCcwLjAwMDAwMDc1JywgJ2J0YycpLnNob3VsZC5lcXVhbCgnNzUnKTtcbiAgICAgIHRvQmFzZVVuaXRzKCcwLjAwNzUwMDAwJywgJ2J0YycpLnNob3VsZC5lcXVhbCgnNzUwMDAwJyk7XG4gICAgICB0b0Jhc2VVbml0cygnLTAuMDc1MDAwMDAnLCAnYnRjJykuc2hvdWxkLmVxdWFsKCctNzUwMDAwMCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjb252ZXJ0IGJpZyBudW1iZXJzIGludG8gYmFzZSB1bml0cycsICgpID0+IHtcbiAgICAgIHRvQmFzZVVuaXRzKEJpZ051bWJlcigwKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICAgIHRvQmFzZVVuaXRzKEJpZ051bWJlcig3NSksICdzdXNkJykuc2hvdWxkLmVxdWFsKCc3NTAwJyk7XG4gICAgICB0b0Jhc2VVbml0cyhCaWdOdW1iZXIoJzc1MDAwMDAwMDAwMDAnKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzc1MDAwMDAwMDAwMDAwMCcpO1xuICAgICAgdG9CYXNlVW5pdHMoQmlnTnVtYmVyKCc3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzcuNWUrMjgnKTtcbiAgICAgIHRvQmFzZVVuaXRzKEJpZ051bWJlcigtMTAwKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJy0xMDAwMCcpO1xuICAgICAgdG9CYXNlVW5pdHMoQmlnTnVtYmVyKDApLCAnYnRjJykuc2hvdWxkLmVxdWFsKCcwJyk7XG4gICAgICB0b0Jhc2VVbml0cyhCaWdOdW1iZXIoNzUpLCAnYnRjJykuc2hvdWxkLmVxdWFsKCc3NTAwMDAwMDAwJyk7XG4gICAgICB0b0Jhc2VVbml0cyhCaWdOdW1iZXIoNzUwMDAwKSwgJ2J0YycpLnNob3VsZC5lcXVhbCgnNzUwMDAwMDAwMDAwMDAnKTtcbiAgICAgIHRvQmFzZVVuaXRzKEJpZ051bWJlcigtNzUwMDAwMCksICdidGMnKS5zaG91bGQuZXF1YWwoJy03NTAwMDAwMDAwMDAwMDAnKTtcbiAgICAgIHRvQmFzZVVuaXRzKEJpZ051bWJlcignNzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKSwgJ2J0YycpLnNob3VsZC5lcXVhbCgnNy41ZSszMycpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndG9NYXJrZXRWYWx1ZUJhc2VVbml0cycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgaW50byBtYXJrZXQgdmFsdWUgYmFzZSB1bml0cycsICgpID0+IHtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ3N1c2QnLCAxLCAwKS5zaG91bGQuZXF1YWwoQmlnSW50KDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ3N1c2QnLCAxLCAxMCkuc2hvdWxkLmVxdWFsKEJpZ0ludCgxMCkpO1xuICAgICAgdG9NYXJrZXRWYWx1ZUJhc2VVbml0cygnc3VzZCcsIDcwMDAwMDAwLCAwKS5zaG91bGQuZXF1YWwoQmlnSW50KDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ3N1c2QnLCA3MDAwMDAwMCwgMTApLnNob3VsZC5lcXVhbChCaWdJbnQoNzAwMDAwMDAwKSk7XG4gICAgICB0b01hcmtldFZhbHVlQmFzZVVuaXRzKCdidGMnLCAxLCAwKS5zaG91bGQuZXF1YWwoQmlnSW50KDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ2J0YycsIDEsIDEwKS5zaG91bGQuZXF1YWwoQmlnSW50KDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ2J0YycsIDcwMDAwMDAwLCAwKS5zaG91bGQuZXF1YWwoQmlnSW50KDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ2J0YycsIDcwMDAwMDAwLCAxMCkuc2hvdWxkLmVxdWFsKEJpZ0ludCg3MDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ2J0YycsIEJpZ051bWJlcignNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcpLCAxMCkuc2hvdWxkLmVxdWFsKFxuICAgICAgICBCaWdJbnQoJzY5OTk5OTk5OTk5OTk5OTk5MjgwJylcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFsbG93IGNoYW5naW5nIHRoZSBudW1lcmF0b3Igb2YgdGhlIHRyYWRpbmcgcGFpcicsICgpID0+IHtcbiAgICAgIC8vICQzLjM4IG1hcmtldCB2YWx1ZSBmb3IgMSBldGggYXQgMzM4LjI1ODIgY2VudHMgbWFya2V0IHByaWNlXG4gICAgICB0b01hcmtldFZhbHVlQmFzZVVuaXRzKCd0ZXRoJywgMzM4LjI1ODIsIEJpZ0ludCgxMDAwMDAwMDAwMDAwMDAwMCkudG9TdHJpbmcoKSwgJ3RzdXNkJykuc2hvdWxkLmVxdWFsKEJpZ0ludCgzMzgpKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|