@bitgo/sdk-core 38.23.0 → 39.1.0
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/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +37 -3
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
- package/dist/src/bitgo/errors.d.ts +6 -0
- package/dist/src/bitgo/errors.d.ts.map +1 -1
- package/dist/src/bitgo/errors.js +11 -2
- package/dist/src/bitgo/keychain/iKeychains.d.ts +22 -2
- package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/iKeychains.js +1 -1
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +31 -1
- package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts +18 -0
- package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -1
- package/dist/src/bitgo/safe/derivableEd25519Pub.js +39 -3
- package/dist/src/bitgo/safe/recovery.d.ts +44 -3
- package/dist/src/bitgo/safe/recovery.d.ts.map +1 -1
- package/dist/src/bitgo/safe/recovery.js +74 -46
- package/dist/src/bitgo/safe/safe.d.ts +5 -5
- package/dist/src/bitgo/safe/safe.d.ts.map +1 -1
- package/dist/src/bitgo/safe/safe.js +24 -16
- package/dist/src/bitgo/tss/common.d.ts +11 -2
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +16 -4
- package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts +10 -5
- package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.js +11 -6
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +2 -1
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +6 -0
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +5 -4
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +5 -9
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts +4 -9
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.js +16 -21
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +32 -4
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +92 -3
- package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +5 -5
- package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +51 -76
- package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +40 -21
- package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +2 -13
- package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/recipientUtils.js +12 -1
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/BuildParams.d.ts +1 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/BuildParams.js +5 -1
- package/dist/src/bitgo/wallet/iWallet.d.ts +13 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/iWallets.d.ts +1 -0
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +1 -1
- package/dist/src/bitgo/wallet/safeKeychain.d.ts +1 -1
- package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/safeKeychain.js +4 -3
- package/dist/src/bitgo/wallet/wallet.d.ts +32 -1
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +210 -83
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +23 -9
- package/dist/test/unit/bitgo/safe/derivableEd25519Pub.js +29 -1
- package/dist/test/unit/bitgo/safe/recovery.d.ts.map +1 -1
- package/dist/test/unit/bitgo/safe/recovery.js +164 -6
- package/dist/test/unit/bitgo/safe/safe.js +54 -32
- package/dist/test/unit/bitgo/safe/safeDerivation.js +15 -53
- package/dist/test/unit/bitgo/tss/common.js +12 -5
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +422 -5
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +215 -44
- package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +37 -1
- package/dist/test/unit/bitgo/wallet/BuildParams.js +14 -1
- package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +29 -49
- package/dist/test/unit/bitgo/wallet/safeShareWallet.js +5 -4
- package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +180 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
|
@@ -7,69 +7,31 @@ const src_1 = require("../../../../src");
|
|
|
7
7
|
// The secp256k1 ROOT_XPRV vector is secret and lives only here; the leaf's own
|
|
8
8
|
// test/unit/safeDerivation.ts pins a public BIP32 vector instead.
|
|
9
9
|
// 32-byte synthetic root seed. The StrKey spelling was generated with stellar-sdk
|
|
10
|
-
// (Keypair.fromRawEd25519Seed); the
|
|
11
|
-
// SLIP-0010 implementation written from the spec and cross-checked against published vectors
|
|
12
|
-
// (SLIP-0010 test vector 1 seed 000102...0f derives m/0' to 68e0fe46...dade7a3).
|
|
10
|
+
// (Keypair.fromRawEd25519Seed); the leaf pins the same seed at the same BIP44 path.
|
|
13
11
|
const ROOT_SEED_STRKEY = 'SAAACAQDAQCQMBYIBEFAWDANBYHRAEISCMKBKFQXDAMRUGY4DUPB6NKI';
|
|
14
12
|
const ROOT_XPRV = 'xprv9s21ZrQH143K3hekyNj7TciR4XNYe1kMj68W2ipjJGNHETWP7o42AjDnSPgKhdZ4x8NBAvaL72RrXjuXNdmkMqLERZza73oYugGtbLFXG8g';
|
|
15
13
|
describe('safeDerivation', function () {
|
|
16
|
-
describe('parseSafeDerivationIndex', function () {
|
|
17
|
-
it('accepts numbers and digit strings', function () {
|
|
18
|
-
(0, src_1.parseSafeDerivationIndex)(0).should.equal(0);
|
|
19
|
-
(0, src_1.parseSafeDerivationIndex)(7).should.equal(7);
|
|
20
|
-
(0, src_1.parseSafeDerivationIndex)('42').should.equal(42);
|
|
21
|
-
(0, src_1.parseSafeDerivationIndex)(0x7fffffff).should.equal(0x7fffffff);
|
|
22
|
-
});
|
|
23
|
-
it('rejects negatives, non-integers, and out-of-range values', function () {
|
|
24
|
-
(() => (0, src_1.parseSafeDerivationIndex)(-1)).should.throw(/Invalid safe derivation index/);
|
|
25
|
-
(() => (0, src_1.parseSafeDerivationIndex)(1.5)).should.throw(/Invalid safe derivation index/);
|
|
26
|
-
(() => (0, src_1.parseSafeDerivationIndex)(0x80000000)).should.throw(/Invalid safe derivation index/);
|
|
27
|
-
});
|
|
28
|
-
it('rejects non-numeric strings', function () {
|
|
29
|
-
(() => (0, src_1.parseSafeDerivationIndex)("0'")).should.throw(/Invalid safe derivation index/);
|
|
30
|
-
(() => (0, src_1.parseSafeDerivationIndex)('m/0')).should.throw(/Invalid safe derivation index/);
|
|
31
|
-
(() => (0, src_1.parseSafeDerivationIndex)('')).should.throw(/Invalid safe derivation index/);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
describe('getSafeHardenedDerivationPath', function () {
|
|
35
|
-
it('formats m/<index> with hardened apostrophe', function () {
|
|
36
|
-
(0, src_1.getSafeHardenedDerivationPath)(0).should.equal("m/0'");
|
|
37
|
-
(0, src_1.getSafeHardenedDerivationPath)('7').should.equal("m/7'");
|
|
38
|
-
(0, src_1.getSafeHardenedDerivationPath)('007').should.equal("m/7'");
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
14
|
describe('deriveSafeChildHardenedFromXprv', function () {
|
|
42
|
-
it(
|
|
43
|
-
const child = (0, src_1.deriveSafeChildHardenedFromXprv)(ROOT_XPRV, 0);
|
|
44
|
-
child.derivationPath.should.equal("m/0'");
|
|
45
|
-
child.pub.should.equal('
|
|
46
|
-
child.prv.should.equal('
|
|
15
|
+
it("derives m/44'/0'/1'/0' from the root xprv", function () {
|
|
16
|
+
const child = (0, src_1.deriveSafeChildHardenedFromXprv)(ROOT_XPRV, (0, src_1.buildSafeBip44Path)(0, 'secp256k1Multisig', 0));
|
|
17
|
+
child.derivationPath.should.equal("m/44'/0'/1'/0'");
|
|
18
|
+
child.pub.should.equal('xpub6DpagSiper5rGnEAK4gGmRJPdgDQCzmWZSY59iJ63NUw6BecfdX71APcU5Wfrq3rCcaFoah1dh7ot2fp1nt5AJMJysxSouPCT5xuHtptAaz');
|
|
19
|
+
child.prv.should.equal('xprv9zqEGwBvpUXZ4J9hD39GQHMf5eNuoY3fCDcUMKtUV2wxDPKU86CrTN58cpUVsjJFu4XqVDZS8SFFX11kZfoRxY7pgaHL2NCqPye1oVPDuad');
|
|
47
20
|
});
|
|
48
21
|
});
|
|
49
22
|
describe('deriveSafeChildEd25519Hardened', function () {
|
|
50
|
-
it(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
derivationPath: "m/0'",
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
it('derives m/7 to the pinned SLIP-0010 vector', function () {
|
|
59
|
-
const child = (0, src_1.deriveSafeChildEd25519Hardened)(ROOT_SEED_STRKEY, '7');
|
|
60
|
-
child.should.eql({
|
|
61
|
-
prv: 'd54701e221cf51e9e208a7c59e3fe3e4cfbb6b91fd3f35ce092a471c35228217',
|
|
62
|
-
pub: 'GC2Y5EU2XA22SOSCRSZRNDEY3UAA4OJSLZ5NQUFUZDBQSLMVCIZCBHIN',
|
|
63
|
-
derivationPath: "m/7'",
|
|
23
|
+
it("derives m/44'/148'/2'/0' to the pinned SLIP-0010 vector", function () {
|
|
24
|
+
(0, src_1.deriveSafeChildEd25519Hardened)(ROOT_SEED_STRKEY, (0, src_1.buildSafeBip44Path)(148, 'ed25519Multisig', 0)).should.eql({
|
|
25
|
+
prv: '855e8d991b48037b3e0161fd57f1643044878d6afe0db0243719b5201e2e4f69',
|
|
26
|
+
pub: 'GDD3VVFKM64URLG6PO2UFWQXJH67N5UDOV5HZ23M5FJJT5G4LUO7RJWG',
|
|
27
|
+
derivationPath: "m/44'/148'/2'/0'",
|
|
64
28
|
});
|
|
65
29
|
});
|
|
66
30
|
it('rejects a malformed root seed', function () {
|
|
67
|
-
|
|
68
|
-
(() => (0, src_1.deriveSafeChildEd25519Hardened)(
|
|
69
|
-
|
|
70
|
-
it('rejects an invalid index', function () {
|
|
71
|
-
(() => (0, src_1.deriveSafeChildEd25519Hardened)(ROOT_SEED_STRKEY, -1)).should.throw(/Invalid safe derivation index/);
|
|
31
|
+
const path = (0, src_1.buildSafeBip44Path)(148, 'ed25519Multisig', 0);
|
|
32
|
+
(() => (0, src_1.deriveSafeChildEd25519Hardened)(ROOT_SEED_STRKEY.slice(0, 55), path)).should.throw(/Invalid ed25519 StrKey secret seed/);
|
|
33
|
+
(() => (0, src_1.deriveSafeChildEd25519Hardened)(ROOT_XPRV, path)).should.throw(/Invalid ed25519 StrKey secret seed/);
|
|
72
34
|
});
|
|
73
35
|
});
|
|
74
36
|
});
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZURlcml2YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vc2FmZS9zYWZlRGVyaXZhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFnQjtBQUNoQix5Q0FLeUI7QUFFekIsdUZBQXVGO0FBQ3ZGLHlGQUF5RjtBQUN6RiwrRUFBK0U7QUFDL0Usa0VBQWtFO0FBRWxFLGtGQUFrRjtBQUNsRixnR0FBZ0c7QUFDaEcsNkZBQTZGO0FBQzdGLGlGQUFpRjtBQUNqRixNQUFNLGdCQUFnQixHQUFHLDBEQUEwRCxDQUFDO0FBRXBGLE1BQU0sU0FBUyxHQUNiLGlIQUFpSCxDQUFDO0FBRXBILFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRTtJQUN6QixRQUFRLENBQUMsMEJBQTBCLEVBQUU7UUFDbkMsRUFBRSxDQUFDLG1DQUFtQyxFQUFFO1lBQ3RDLElBQUEsOEJBQXdCLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxJQUFBLDhCQUF3QixFQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsSUFBQSw4QkFBd0IsRUFBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELElBQUEsOEJBQXdCLEVBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywwREFBMEQsRUFBRTtZQUM3RCxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsOEJBQXdCLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztZQUNuRixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsOEJBQXdCLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDcEYsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLDhCQUF3QixFQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQzdGLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDZCQUE2QixFQUFFO1lBQ2hDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBQSw4QkFBd0IsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztZQUNyRixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsOEJBQXdCLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDdEYsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLDhCQUF3QixFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQ3JGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsK0JBQStCLEVBQUU7UUFDeEMsRUFBRSxDQUFDLDRDQUE0QyxFQUFFO1lBQy9DLElBQUEsbUNBQTZCLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RCxJQUFBLG1DQUE2QixFQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEQsSUFBQSxtQ0FBNkIsRUFBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsaUNBQWlDLEVBQUU7UUFDMUMsRUFBRSxDQUFDLGdDQUFnQyxFQUFFO1lBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUEscUNBQStCLEVBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVELEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ3BCLGlIQUFpSCxDQUNsSCxDQUFDO1lBQ0YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNwQixpSEFBaUgsQ0FDbEgsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsZ0NBQWdDLEVBQUU7UUFDekMsRUFBRSxDQUFDLDRDQUE0QyxFQUFFO1lBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUEsb0NBQThCLEVBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7Z0JBQ2YsR0FBRyxFQUFFLGtFQUFrRTtnQkFDdkUsR0FBRyxFQUFFLDBEQUEwRDtnQkFDL0QsY0FBYyxFQUFFLE1BQU07YUFDdkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsNENBQTRDLEVBQUU7WUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQ0FBOEIsRUFBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNwRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztnQkFDZixHQUFHLEVBQUUsa0VBQWtFO2dCQUN2RSxHQUFHLEVBQUUsMERBQTBEO2dCQUMvRCxjQUFjLEVBQUUsTUFBTTthQUN2QixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQkFBK0IsRUFBRTtZQUNsQyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsb0NBQThCLEVBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ25GLG9DQUFvQyxDQUNyQyxDQUFDO1lBQ0YsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLG9DQUE4QixFQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUMxRyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywwQkFBMEIsRUFBRTtZQUM3QixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsb0NBQThCLEVBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUM3RyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQge1xuICBkZXJpdmVTYWZlQ2hpbGRFZDI1NTE5SGFyZGVuZWQsXG4gIGRlcml2ZVNhZmVDaGlsZEhhcmRlbmVkRnJvbVhwcnYsXG4gIGdldFNhZmVIYXJkZW5lZERlcml2YXRpb25QYXRoLFxuICBwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgsXG59IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5cbi8vIERlbGliZXJhdGUgZ3VhcmQ6IHJlLWRlcml2ZXMgdGhyb3VnaCBzZGstY29yZSdzIHB1YmxpYyBiYXJyZWwgKHdoaWNoIHJlLWV4cG9ydHMgZnJvbVxuLy8gQGJpdGdvL3Nkay1saWItc2FmZXMpIHRvIHByb3ZlIHRoZSByZS1leHBvcnQgYW5kIGJ5dGUtZm9yLWJ5dGUgb3V0cHV0IGhvbGQgZW5kLXRvLWVuZC5cbi8vIFRoZSBzZWNwMjU2azEgUk9PVF9YUFJWIHZlY3RvciBpcyBzZWNyZXQgYW5kIGxpdmVzIG9ubHkgaGVyZTsgdGhlIGxlYWYncyBvd25cbi8vIHRlc3QvdW5pdC9zYWZlRGVyaXZhdGlvbi50cyBwaW5zIGEgcHVibGljIEJJUDMyIHZlY3RvciBpbnN0ZWFkLlxuXG4vLyAzMi1ieXRlIHN5bnRoZXRpYyByb290IHNlZWQuIFRoZSBTdHJLZXkgc3BlbGxpbmcgd2FzIGdlbmVyYXRlZCB3aXRoIHN0ZWxsYXItc2RrXG4vLyAoS2V5cGFpci5mcm9tUmF3RWQyNTUxOVNlZWQpOyB0aGUgZGVyaXZhdGlvbiB2ZWN0b3JzIGJlbG93IHdlcmUgZ2VuZXJhdGVkIHdpdGggYW4gaW5kZXBlbmRlbnRcbi8vIFNMSVAtMDAxMCBpbXBsZW1lbnRhdGlvbiB3cml0dGVuIGZyb20gdGhlIHNwZWMgYW5kIGNyb3NzLWNoZWNrZWQgYWdhaW5zdCBwdWJsaXNoZWQgdmVjdG9yc1xuLy8gKFNMSVAtMDAxMCB0ZXN0IHZlY3RvciAxIHNlZWQgMDAwMTAyLi4uMGYgZGVyaXZlcyBtLzAnIHRvIDY4ZTBmZTQ2Li4uZGFkZTdhMykuXG5jb25zdCBST09UX1NFRURfU1RSS0VZID0gJ1NBQUFDQVFEQVFDUU1CWUlCRUZBV0RBTkJZSFJBRUlTQ01LQktGUVhEQU1SVUdZNERVUEI2TktJJztcblxuY29uc3QgUk9PVF9YUFJWID1cbiAgJ3hwcnY5czIxWnJRSDE0M0szaGVreU5qN1RjaVI0WE5ZZTFrTWo2OFcyaXBqSkdOSEVUV1A3bzQyQWpEblNQZ0toZFo0eDhOQkF2YUw3MlJyWGp1WE5kbWtNcUxFUlp6YTczb1l1Z0d0YkxGWEc4Zyc7XG5cbmRlc2NyaWJlKCdzYWZlRGVyaXZhdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgZGVzY3JpYmUoJ3BhcnNlU2FmZURlcml2YXRpb25JbmRleCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnYWNjZXB0cyBudW1iZXJzIGFuZCBkaWdpdCBzdHJpbmdzJywgZnVuY3Rpb24gKCkge1xuICAgICAgcGFyc2VTYWZlRGVyaXZhdGlvbkluZGV4KDApLnNob3VsZC5lcXVhbCgwKTtcbiAgICAgIHBhcnNlU2FmZURlcml2YXRpb25JbmRleCg3KS5zaG91bGQuZXF1YWwoNyk7XG4gICAgICBwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgoJzQyJykuc2hvdWxkLmVxdWFsKDQyKTtcbiAgICAgIHBhcnNlU2FmZURlcml2YXRpb25JbmRleCgweDdmZmZmZmZmKS5zaG91bGQuZXF1YWwoMHg3ZmZmZmZmZik7XG4gICAgfSk7XG5cbiAgICBpdCgncmVqZWN0cyBuZWdhdGl2ZXMsIG5vbi1pbnRlZ2VycywgYW5kIG91dC1vZi1yYW5nZSB2YWx1ZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAoKCkgPT4gcGFyc2VTYWZlRGVyaXZhdGlvbkluZGV4KC0xKSkuc2hvdWxkLnRocm93KC9JbnZhbGlkIHNhZmUgZGVyaXZhdGlvbiBpbmRleC8pO1xuICAgICAgKCgpID0+IHBhcnNlU2FmZURlcml2YXRpb25JbmRleCgxLjUpKS5zaG91bGQudGhyb3coL0ludmFsaWQgc2FmZSBkZXJpdmF0aW9uIGluZGV4Lyk7XG4gICAgICAoKCkgPT4gcGFyc2VTYWZlRGVyaXZhdGlvbkluZGV4KDB4ODAwMDAwMDApKS5zaG91bGQudGhyb3coL0ludmFsaWQgc2FmZSBkZXJpdmF0aW9uIGluZGV4Lyk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVqZWN0cyBub24tbnVtZXJpYyBzdHJpbmdzJywgZnVuY3Rpb24gKCkge1xuICAgICAgKCgpID0+IHBhcnNlU2FmZURlcml2YXRpb25JbmRleChcIjAnXCIpKS5zaG91bGQudGhyb3coL0ludmFsaWQgc2FmZSBkZXJpdmF0aW9uIGluZGV4Lyk7XG4gICAgICAoKCkgPT4gcGFyc2VTYWZlRGVyaXZhdGlvbkluZGV4KCdtLzAnKSkuc2hvdWxkLnRocm93KC9JbnZhbGlkIHNhZmUgZGVyaXZhdGlvbiBpbmRleC8pO1xuICAgICAgKCgpID0+IHBhcnNlU2FmZURlcml2YXRpb25JbmRleCgnJykpLnNob3VsZC50aHJvdygvSW52YWxpZCBzYWZlIGRlcml2YXRpb24gaW5kZXgvKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldFNhZmVIYXJkZW5lZERlcml2YXRpb25QYXRoJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdmb3JtYXRzIG0vPGluZGV4PiB3aXRoIGhhcmRlbmVkIGFwb3N0cm9waGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBnZXRTYWZlSGFyZGVuZWREZXJpdmF0aW9uUGF0aCgwKS5zaG91bGQuZXF1YWwoXCJtLzAnXCIpO1xuICAgICAgZ2V0U2FmZUhhcmRlbmVkRGVyaXZhdGlvblBhdGgoJzcnKS5zaG91bGQuZXF1YWwoXCJtLzcnXCIpO1xuICAgICAgZ2V0U2FmZUhhcmRlbmVkRGVyaXZhdGlvblBhdGgoJzAwNycpLnNob3VsZC5lcXVhbChcIm0vNydcIik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkZXJpdmVTYWZlQ2hpbGRIYXJkZW5lZEZyb21YcHJ2JywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdkZXJpdmVzIG0vMCBmcm9tIHRoZSByb290IHhwcnYnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjaGlsZCA9IGRlcml2ZVNhZmVDaGlsZEhhcmRlbmVkRnJvbVhwcnYoUk9PVF9YUFJWLCAwKTtcbiAgICAgIGNoaWxkLmRlcml2YXRpb25QYXRoLnNob3VsZC5lcXVhbChcIm0vMCdcIik7XG4gICAgICBjaGlsZC5wdWIuc2hvdWxkLmVxdWFsKFxuICAgICAgICAneHB1YjY5UGJSNkhCNlphVzNROUNXQXpOc21XWEM4VEJEcTFWRW1kMjVYa3dVZ3JVM1BWR0FiajZia3NxUG5HV2NGZEFvZFhXUnBXTVhKNUtHaW00NW41NWNaalhlVzdGRHc0QnFhaHR4VEVONHdCJ1xuICAgICAgKTtcbiAgICAgIGNoaWxkLnBydi5zaG91bGQuZXF1YWwoXG4gICAgICAgICd4cHJ2OXZRRjFha0hHQzJDcHY0alE5VE5XZFpuZTZjZ3BOSGRzWWhSSDlNS3ZNS1ZBYkE3ZDRRcjN4Wk1ZWHFBUzM1VjRkYW1DRFAyaFlvaENMVmlIemNHaFg0VHI3ZGpqQ0JydUFYNzNTc2pDaUMnXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZGVyaXZlU2FmZUNoaWxkRWQyNTUxOUhhcmRlbmVkJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdkZXJpdmVzIG0vMCB0byB0aGUgcGlubmVkIFNMSVAtMDAxMCB2ZWN0b3InLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjaGlsZCA9IGRlcml2ZVNhZmVDaGlsZEVkMjU1MTlIYXJkZW5lZChST09UX1NFRURfU1RSS0VZLCAwKTtcbiAgICAgIGNoaWxkLnNob3VsZC5lcWwoe1xuICAgICAgICBwcnY6ICdiMTI3ZWI1MDkyMDExYzA4NTM0NWM4Y2UwYmZlZGE2MDY0ZjllMTI0OWUyOWNjMjM4YzFkNjRiZjJlNTg3Y2U3JyxcbiAgICAgICAgcHViOiAnR0NUWlI0NkZQRkFNWU43MzRTUUI0TkNOQkk0NE00RFNOTTVSSlBDRExPTUFPRlBFVVZVWFBLN1InLFxuICAgICAgICBkZXJpdmF0aW9uUGF0aDogXCJtLzAnXCIsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXJpdmVzIG0vNyB0byB0aGUgcGlubmVkIFNMSVAtMDAxMCB2ZWN0b3InLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjaGlsZCA9IGRlcml2ZVNhZmVDaGlsZEVkMjU1MTlIYXJkZW5lZChST09UX1NFRURfU1RSS0VZLCAnNycpO1xuICAgICAgY2hpbGQuc2hvdWxkLmVxbCh7XG4gICAgICAgIHBydjogJ2Q1NDcwMWUyMjFjZjUxZTllMjA4YTdjNTllM2ZlM2U0Y2ZiYjZiOTFmZDNmMzVjZTA5MmE0NzFjMzUyMjgyMTcnLFxuICAgICAgICBwdWI6ICdHQzJZNUVVMlhBMjJTT1NDUlNaUk5ERVkzVUFBNE9KU0xaNU5RVUZVWkRCUVNMTVZDSVpDQkhJTicsXG4gICAgICAgIGRlcml2YXRpb25QYXRoOiBcIm0vNydcIixcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlamVjdHMgYSBtYWxmb3JtZWQgcm9vdCBzZWVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgKCgpID0+IGRlcml2ZVNhZmVDaGlsZEVkMjU1MTlIYXJkZW5lZChST09UX1NFRURfU1RSS0VZLnNsaWNlKDAsIDU1KSwgMCkpLnNob3VsZC50aHJvdyhcbiAgICAgICAgL0ludmFsaWQgZWQyNTUxOSBTdHJLZXkgc2VjcmV0IHNlZWQvXG4gICAgICApO1xuICAgICAgKCgpID0+IGRlcml2ZVNhZmVDaGlsZEVkMjU1MTlIYXJkZW5lZChST09UX1hQUlYsIDApKS5zaG91bGQudGhyb3coL0ludmFsaWQgZWQyNTUxOSBTdHJLZXkgc2VjcmV0IHNlZWQvKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZWplY3RzIGFuIGludmFsaWQgaW5kZXgnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAoKCkgPT4gZGVyaXZlU2FmZUNoaWxkRWQyNTUxOUhhcmRlbmVkKFJPT1RfU0VFRF9TVFJLRVksIC0xKSkuc2hvdWxkLnRocm93KC9JbnZhbGlkIHNhZmUgZGVyaXZhdGlvbiBpbmRleC8pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZURlcml2YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vc2FmZS9zYWZlRGVyaXZhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFnQjtBQUNoQix5Q0FBc0g7QUFFdEgsdUZBQXVGO0FBQ3ZGLHlGQUF5RjtBQUN6RiwrRUFBK0U7QUFDL0Usa0VBQWtFO0FBRWxFLGtGQUFrRjtBQUNsRixvRkFBb0Y7QUFDcEYsTUFBTSxnQkFBZ0IsR0FBRywwREFBMEQsQ0FBQztBQUVwRixNQUFNLFNBQVMsR0FDYixpSEFBaUgsQ0FBQztBQUVwSCxRQUFRLENBQUMsZ0JBQWdCLEVBQUU7SUFDekIsUUFBUSxDQUFDLGlDQUFpQyxFQUFFO1FBQzFDLEVBQUUsQ0FBQywyQ0FBMkMsRUFBRTtZQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFBLHFDQUErQixFQUFDLFNBQVMsRUFBRSxJQUFBLHdCQUFrQixFQUFDLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hHLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BELEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDcEIsaUhBQWlILENBQ2xILENBQUM7WUFDRixLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ3BCLGlIQUFpSCxDQUNsSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxnQ0FBZ0MsRUFBRTtRQUN6QyxFQUFFLENBQUMseURBQXlELEVBQUU7WUFDNUQsSUFBQSxvQ0FBOEIsRUFBQyxnQkFBZ0IsRUFBRSxJQUFBLHdCQUFrQixFQUFDLEdBQUcsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7Z0JBQ3pHLEdBQUcsRUFBRSxrRUFBa0U7Z0JBQ3ZFLEdBQUcsRUFBRSwwREFBMEQ7Z0JBQy9ELGNBQWMsRUFBRSxrQkFBa0I7YUFDbkMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsK0JBQStCLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBQSx3QkFBa0IsRUFBQyxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLG9DQUE4QixFQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUN0RixvQ0FBb0MsQ0FDckMsQ0FBQztZQUNGLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBQSxvQ0FBOEIsRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDN0csQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHsgYnVpbGRTYWZlQmlwNDRQYXRoLCBkZXJpdmVTYWZlQ2hpbGRFZDI1NTE5SGFyZGVuZWQsIGRlcml2ZVNhZmVDaGlsZEhhcmRlbmVkRnJvbVhwcnYgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMnO1xuXG4vLyBEZWxpYmVyYXRlIGd1YXJkOiByZS1kZXJpdmVzIHRocm91Z2ggc2RrLWNvcmUncyBwdWJsaWMgYmFycmVsICh3aGljaCByZS1leHBvcnRzIGZyb21cbi8vIEBiaXRnby9zZGstbGliLXNhZmVzKSB0byBwcm92ZSB0aGUgcmUtZXhwb3J0IGFuZCBieXRlLWZvci1ieXRlIG91dHB1dCBob2xkIGVuZC10by1lbmQuXG4vLyBUaGUgc2VjcDI1NmsxIFJPT1RfWFBSViB2ZWN0b3IgaXMgc2VjcmV0IGFuZCBsaXZlcyBvbmx5IGhlcmU7IHRoZSBsZWFmJ3Mgb3duXG4vLyB0ZXN0L3VuaXQvc2FmZURlcml2YXRpb24udHMgcGlucyBhIHB1YmxpYyBCSVAzMiB2ZWN0b3IgaW5zdGVhZC5cblxuLy8gMzItYnl0ZSBzeW50aGV0aWMgcm9vdCBzZWVkLiBUaGUgU3RyS2V5IHNwZWxsaW5nIHdhcyBnZW5lcmF0ZWQgd2l0aCBzdGVsbGFyLXNka1xuLy8gKEtleXBhaXIuZnJvbVJhd0VkMjU1MTlTZWVkKTsgdGhlIGxlYWYgcGlucyB0aGUgc2FtZSBzZWVkIGF0IHRoZSBzYW1lIEJJUDQ0IHBhdGguXG5jb25zdCBST09UX1NFRURfU1RSS0VZID0gJ1NBQUFDQVFEQVFDUU1CWUlCRUZBV0RBTkJZSFJBRUlTQ01LQktGUVhEQU1SVUdZNERVUEI2TktJJztcblxuY29uc3QgUk9PVF9YUFJWID1cbiAgJ3hwcnY5czIxWnJRSDE0M0szaGVreU5qN1RjaVI0WE5ZZTFrTWo2OFcyaXBqSkdOSEVUV1A3bzQyQWpEblNQZ0toZFo0eDhOQkF2YUw3MlJyWGp1WE5kbWtNcUxFUlp6YTczb1l1Z0d0YkxGWEc4Zyc7XG5cbmRlc2NyaWJlKCdzYWZlRGVyaXZhdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgZGVzY3JpYmUoJ2Rlcml2ZVNhZmVDaGlsZEhhcmRlbmVkRnJvbVhwcnYnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoXCJkZXJpdmVzIG0vNDQnLzAnLzEnLzAnIGZyb20gdGhlIHJvb3QgeHBydlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjaGlsZCA9IGRlcml2ZVNhZmVDaGlsZEhhcmRlbmVkRnJvbVhwcnYoUk9PVF9YUFJWLCBidWlsZFNhZmVCaXA0NFBhdGgoMCwgJ3NlY3AyNTZrMU11bHRpc2lnJywgMCkpO1xuICAgICAgY2hpbGQuZGVyaXZhdGlvblBhdGguc2hvdWxkLmVxdWFsKFwibS80NCcvMCcvMScvMCdcIik7XG4gICAgICBjaGlsZC5wdWIuc2hvdWxkLmVxdWFsKFxuICAgICAgICAneHB1YjZEcGFnU2lwZXI1ckduRUFLNGdHbVJKUGRnRFFDem1XWlNZNTlpSjYzTlV3NkJlY2ZkWDcxQVBjVTVXZnJxM3JDY2FGb2FoMWRoN290MmZwMW50NUFKTUp5c3hTb3VQQ1Q1eHVIdHB0QWF6J1xuICAgICAgKTtcbiAgICAgIGNoaWxkLnBydi5zaG91bGQuZXF1YWwoXG4gICAgICAgICd4cHJ2OXpxRUd3QnZwVVhaNEo5aEQzOUdRSE1mNWVOdW9ZM2ZDRGNVTUt0VVYyd3hEUEtVODZDclRONThjcFVWc2pKRnU0WHFWRFpTOFNGRlgxMWtaZm9SeFk3cGdhSEwyTkNxUHllMW9WUER1YWQnXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZGVyaXZlU2FmZUNoaWxkRWQyNTUxOUhhcmRlbmVkJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KFwiZGVyaXZlcyBtLzQ0Jy8xNDgnLzInLzAnIHRvIHRoZSBwaW5uZWQgU0xJUC0wMDEwIHZlY3RvclwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBkZXJpdmVTYWZlQ2hpbGRFZDI1NTE5SGFyZGVuZWQoUk9PVF9TRUVEX1NUUktFWSwgYnVpbGRTYWZlQmlwNDRQYXRoKDE0OCwgJ2VkMjU1MTlNdWx0aXNpZycsIDApKS5zaG91bGQuZXFsKHtcbiAgICAgICAgcHJ2OiAnODU1ZThkOTkxYjQ4MDM3YjNlMDE2MWZkNTdmMTY0MzA0NDg3OGQ2YWZlMGRiMDI0MzcxOWI1MjAxZTJlNGY2OScsXG4gICAgICAgIHB1YjogJ0dERDNWVkZLTTY0VVJMRzZQTzJVRldRWEpINjdONVVET1Y1SFoyM001RkpKVDVHNExVTzdSSldHJyxcbiAgICAgICAgZGVyaXZhdGlvblBhdGg6IFwibS80NCcvMTQ4Jy8yJy8wJ1wiLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVqZWN0cyBhIG1hbGZvcm1lZCByb290IHNlZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBwYXRoID0gYnVpbGRTYWZlQmlwNDRQYXRoKDE0OCwgJ2VkMjU1MTlNdWx0aXNpZycsIDApO1xuICAgICAgKCgpID0+IGRlcml2ZVNhZmVDaGlsZEVkMjU1MTlIYXJkZW5lZChST09UX1NFRURfU1RSS0VZLnNsaWNlKDAsIDU1KSwgcGF0aCkpLnNob3VsZC50aHJvdyhcbiAgICAgICAgL0ludmFsaWQgZWQyNTUxOSBTdHJLZXkgc2VjcmV0IHNlZWQvXG4gICAgICApO1xuICAgICAgKCgpID0+IGRlcml2ZVNhZmVDaGlsZEVkMjU1MTlIYXJkZW5lZChST09UX1hQUlYsIHBhdGgpKS5zaG91bGQudGhyb3coL0ludmFsaWQgZWQyNTUxOSBTdHJLZXkgc2VjcmV0IHNlZWQvKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -41,7 +41,7 @@ describe('sendSignatureShareV2 request type dispatch', function () {
|
|
|
41
41
|
afterEach(function () {
|
|
42
42
|
sinon.restore();
|
|
43
43
|
});
|
|
44
|
-
async function captureRequestType(mpcAlgorithm, multisigTypeVersion) {
|
|
44
|
+
async function captureRequestType(mpcAlgorithm, multisigTypeVersion, signingType) {
|
|
45
45
|
let capturedBody;
|
|
46
46
|
const send = sinon.stub().callsFake((body) => {
|
|
47
47
|
capturedBody = body;
|
|
@@ -52,7 +52,7 @@ describe('sendSignatureShareV2 request type dispatch', function () {
|
|
|
52
52
|
post: sinon.stub().returns({ send }),
|
|
53
53
|
setRequestTracer: sinon.stub(),
|
|
54
54
|
};
|
|
55
|
-
await (0, common_1.sendSignatureShareV2)(mockBitGo, 'walletId', 'txRequestId', [], src_1.RequestType.tx, mpcAlgorithm, 'signerGpgPublicKey', undefined, multisigTypeVersion);
|
|
55
|
+
await (0, common_1.sendSignatureShareV2)(mockBitGo, 'walletId', 'txRequestId', [], src_1.RequestType.tx, mpcAlgorithm, 'signerGpgPublicKey', undefined, multisigTypeVersion, undefined, signingType);
|
|
56
56
|
if (!capturedBody) {
|
|
57
57
|
throw new Error('request body should have been captured');
|
|
58
58
|
}
|
|
@@ -64,8 +64,15 @@ describe('sendSignatureShareV2 request type dispatch', function () {
|
|
|
64
64
|
it('resolves eddsaMpcV2 for MPCv2 + eddsa', async function () {
|
|
65
65
|
assert.strictEqual(await captureRequestType('eddsa', 'MPCv2'), 'eddsaMpcV2');
|
|
66
66
|
});
|
|
67
|
-
it('resolves
|
|
68
|
-
assert.strictEqual(await captureRequestType('redpallas', 'MPCv2'), '
|
|
67
|
+
it('resolves redPallasMpcV2 for MPCv2 + redpallas (DSG rounds)', async function () {
|
|
68
|
+
assert.strictEqual(await captureRequestType('redpallas', 'MPCv2'), 'redPallasMpcV2');
|
|
69
|
+
});
|
|
70
|
+
it('resolves redPallasRerand for MPCv2 + redpallas + rerand signingType', async function () {
|
|
71
|
+
assert.strictEqual(await captureRequestType('redpallas', 'MPCv2', 'redPallasRerand'), 'redPallasRerand');
|
|
72
|
+
});
|
|
73
|
+
it('rejects rerand signingType for non-redpallas algorithms', async function () {
|
|
74
|
+
await assert.rejects(captureRequestType('eddsa', 'MPCv2', 'redPallasRerand'), /only supported for MPCv2 redpallas/);
|
|
75
|
+
await assert.rejects(captureRequestType('redpallas', undefined, 'redPallasRerand'), /only supported for MPCv2 redpallas/);
|
|
69
76
|
});
|
|
70
77
|
it('resolves eddsaMpcV1 for undefined multisigTypeVersion + eddsa', async function () {
|
|
71
78
|
assert.strictEqual(await captureRequestType('eddsa', undefined), 'eddsaMpcV1');
|
|
@@ -74,4 +81,4 @@ describe('sendSignatureShareV2 request type dispatch', function () {
|
|
|
74
81
|
assert.strictEqual(await captureRequestType('redpallas', undefined), '');
|
|
75
82
|
});
|
|
76
83
|
});
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2JpdGdvL3Rzcy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsNkNBQStCO0FBQy9CLDZEQUF3RTtBQUN4RSx5Q0FBa0Y7QUFFbEYsUUFBUSxDQUFDLDRDQUE0QyxFQUFFO0lBQ3JELFNBQVMsQ0FBQztRQUNSLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQixDQUFDLENBQUMsQ0FBQztJQUVILEtBQUssVUFBVSxrQkFBa0IsQ0FDL0IsWUFBMEIsRUFDMUIsbUJBQXdDLEVBQ3hDLFdBQStCO1FBRS9CLElBQUksWUFBMEMsQ0FBQztRQUMvQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0MsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBZSxDQUFDLEVBQUUsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFHO1lBQ2hCLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztZQUN0QyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3BDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUU7U0FDUCxDQUFDO1FBRTFCLE1BQU0sSUFBQSw2QkFBb0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixhQUFhLEVBQ2IsRUFBRSxFQUNGLGlCQUFXLENBQUMsRUFBRSxFQUNkLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsU0FBUyxFQUNULG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsV0FBVyxDQUNaLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVELEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxLQUFLO1FBQy9DLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDL0UsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUNBQXVDLEVBQUUsS0FBSztRQUMvQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sa0JBQWtCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQy9FLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDREQUE0RCxFQUFFLEtBQUs7UUFDcEUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHFFQUFxRSxFQUFFLEtBQUs7UUFDN0UsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNHLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHlEQUF5RCxFQUFFLEtBQUs7UUFDakUsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3BILE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FDbEIsa0JBQWtCLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxFQUM3RCxvQ0FBb0MsQ0FDckMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLCtEQUErRCxFQUFFLEtBQUs7UUFDdkUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNqRixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4RUFBOEUsRUFBRSxLQUFLO1FBQ3RGLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IHsgc2VuZFNpZ25hdHVyZVNoYXJlVjIgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2NvbW1vbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UsIFJlcXVlc3RUeXBlLCBUeFJlcXVlc3QsIE1QQ0FsZ29yaXRobSB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdzZW5kU2lnbmF0dXJlU2hhcmVWMiByZXF1ZXN0IHR5cGUgZGlzcGF0Y2gnLCBmdW5jdGlvbiAoKSB7XG4gIGFmdGVyRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgc2lub24ucmVzdG9yZSgpO1xuICB9KTtcblxuICBhc3luYyBmdW5jdGlvbiBjYXB0dXJlUmVxdWVzdFR5cGUoXG4gICAgbXBjQWxnb3JpdGhtOiBNUENBbGdvcml0aG0sXG4gICAgbXVsdGlzaWdUeXBlVmVyc2lvbjogJ01QQ3YyJyB8IHVuZGVmaW5lZCxcbiAgICBzaWduaW5nVHlwZT86ICdyZWRQYWxsYXNSZXJhbmQnXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgbGV0IGNhcHR1cmVkQm9keTogeyB0eXBlOiBzdHJpbmcgfSB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBzZW5kID0gc2lub24uc3R1YigpLmNhbGxzRmFrZSgoYm9keSkgPT4ge1xuICAgICAgY2FwdHVyZWRCb2R5ID0gYm9keTtcbiAgICAgIHJldHVybiB7IHJlc3VsdDogc2lub24uc3R1YigpLnJlc29sdmVzKHt9IGFzIFR4UmVxdWVzdCkgfTtcbiAgICB9KTtcbiAgICBjb25zdCBtb2NrQml0R28gPSB7XG4gICAgICB1cmw6IHNpbm9uLnN0dWIoKS5yZXR1cm5zKCcvbW9jay91cmwnKSxcbiAgICAgIHBvc3Q6IHNpbm9uLnN0dWIoKS5yZXR1cm5zKHsgc2VuZCB9KSxcbiAgICAgIHNldFJlcXVlc3RUcmFjZXI6IHNpbm9uLnN0dWIoKSxcbiAgICB9IGFzIHVua25vd24gYXMgQml0R29CYXNlO1xuXG4gICAgYXdhaXQgc2VuZFNpZ25hdHVyZVNoYXJlVjIoXG4gICAgICBtb2NrQml0R28sXG4gICAgICAnd2FsbGV0SWQnLFxuICAgICAgJ3R4UmVxdWVzdElkJyxcbiAgICAgIFtdLFxuICAgICAgUmVxdWVzdFR5cGUudHgsXG4gICAgICBtcGNBbGdvcml0aG0sXG4gICAgICAnc2lnbmVyR3BnUHVibGljS2V5JyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIG11bHRpc2lnVHlwZVZlcnNpb24sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBzaWduaW5nVHlwZVxuICAgICk7XG5cbiAgICBpZiAoIWNhcHR1cmVkQm9keSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZXF1ZXN0IGJvZHkgc2hvdWxkIGhhdmUgYmVlbiBjYXB0dXJlZCcpO1xuICAgIH1cbiAgICByZXR1cm4gY2FwdHVyZWRCb2R5LnR5cGU7XG4gIH1cblxuICBpdCgncmVzb2x2ZXMgZWNkc2FNcGNWMiBmb3IgTVBDdjIgKyBlY2RzYScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYXdhaXQgY2FwdHVyZVJlcXVlc3RUeXBlKCdlY2RzYScsICdNUEN2MicpLCAnZWNkc2FNcGNWMicpO1xuICB9KTtcblxuICBpdCgncmVzb2x2ZXMgZWRkc2FNcGNWMiBmb3IgTVBDdjIgKyBlZGRzYScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYXdhaXQgY2FwdHVyZVJlcXVlc3RUeXBlKCdlZGRzYScsICdNUEN2MicpLCAnZWRkc2FNcGNWMicpO1xuICB9KTtcblxuICBpdCgncmVzb2x2ZXMgcmVkUGFsbGFzTXBjVjIgZm9yIE1QQ3YyICsgcmVkcGFsbGFzIChEU0cgcm91bmRzKScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYXdhaXQgY2FwdHVyZVJlcXVlc3RUeXBlKCdyZWRwYWxsYXMnLCAnTVBDdjInKSwgJ3JlZFBhbGxhc01wY1YyJyk7XG4gIH0pO1xuXG4gIGl0KCdyZXNvbHZlcyByZWRQYWxsYXNSZXJhbmQgZm9yIE1QQ3YyICsgcmVkcGFsbGFzICsgcmVyYW5kIHNpZ25pbmdUeXBlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChhd2FpdCBjYXB0dXJlUmVxdWVzdFR5cGUoJ3JlZHBhbGxhcycsICdNUEN2MicsICdyZWRQYWxsYXNSZXJhbmQnKSwgJ3JlZFBhbGxhc1JlcmFuZCcpO1xuICB9KTtcblxuICBpdCgncmVqZWN0cyByZXJhbmQgc2lnbmluZ1R5cGUgZm9yIG5vbi1yZWRwYWxsYXMgYWxnb3JpdGhtcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBhd2FpdCBhc3NlcnQucmVqZWN0cyhjYXB0dXJlUmVxdWVzdFR5cGUoJ2VkZHNhJywgJ01QQ3YyJywgJ3JlZFBhbGxhc1JlcmFuZCcpLCAvb25seSBzdXBwb3J0ZWQgZm9yIE1QQ3YyIHJlZHBhbGxhcy8pO1xuICAgIGF3YWl0IGFzc2VydC5yZWplY3RzKFxuICAgICAgY2FwdHVyZVJlcXVlc3RUeXBlKCdyZWRwYWxsYXMnLCB1bmRlZmluZWQsICdyZWRQYWxsYXNSZXJhbmQnKSxcbiAgICAgIC9vbmx5IHN1cHBvcnRlZCBmb3IgTVBDdjIgcmVkcGFsbGFzL1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdyZXNvbHZlcyBlZGRzYU1wY1YxIGZvciB1bmRlZmluZWQgbXVsdGlzaWdUeXBlVmVyc2lvbiArIGVkZHNhJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChhd2FpdCBjYXB0dXJlUmVxdWVzdFR5cGUoJ2VkZHNhJywgdW5kZWZpbmVkKSwgJ2VkZHNhTXBjVjEnKTtcbiAgfSk7XG5cbiAgaXQoJ3Jlc29sdmVzIGFuIGVtcHR5IHR5cGUgZm9yIHJlZHBhbGxhcyB3aXRob3V0IE1QQ3YyIChubyBNUEN2MSB2YXJpYW50IGV4aXN0cyknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGF3YWl0IGNhcHR1cmVSZXF1ZXN0VHlwZSgncmVkcGFsbGFzJywgdW5kZWZpbmVkKSwgJycpO1xuICB9KTtcbn0pO1xuIl19
|