@bitgo/sdk-core 1.1.0-rc.22 → 1.1.0-rc.23
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 +17 -0
- package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.d.ts +1 -1
- package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.js +1 -1
- package/dist/src/account-lib/baseCoin/errors.d.ts +1 -1
- package/dist/src/account-lib/baseCoin/errors.js +2 -2
- package/dist/src/account-lib/index.d.ts +1 -0
- package/dist/src/account-lib/index.d.ts.map +1 -1
- package/dist/src/account-lib/index.js +2 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +61 -58
- package/dist/src/account-lib/staking/index.d.ts +2 -0
- package/dist/src/account-lib/staking/index.d.ts.map +1 -0
- package/dist/src/account-lib/staking/index.js +14 -0
- package/dist/src/account-lib/staking/utils.d.ts +19 -0
- package/dist/src/account-lib/staking/utils.d.ts.map +1 -0
- package/dist/src/account-lib/staking/utils.js +98 -0
- package/dist/src/account-lib/util/crypto.d.ts +7 -0
- package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
- package/dist/src/account-lib/util/crypto.js +20 -2
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +2 -1
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/iPendingApproval.js +2 -1
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +9 -18
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/ecdsa.js +14 -18
- package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/index.js +1 -1
- package/dist/src/bitgo/tss/ecdsa/types.d.ts +0 -2
- package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +28 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +168 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +3 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.js +15 -0
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +39 -0
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/types.js +3 -0
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +20 -5
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/index.d.ts +1 -0
- package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +3 -2
- package/dist/src/bitgo/wallet/iWallet.d.ts +1 -1
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/tsconfig.tsbuildinfo +608 -99
- package/package.json +3 -3
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOperationConfig = exports.WithdrawMethodId = exports.ActivateMethodId = exports.UnvoteMethodId = exports.VoteMethodId = exports.UnlockMethodId = exports.LockMethodId = void 0;
|
|
4
|
+
const statics_1 = require("@bitgo/statics");
|
|
5
|
+
const baseCoin_1 = require("../baseCoin");
|
|
6
|
+
exports.LockMethodId = '0xf83d08ba'; // lock()
|
|
7
|
+
exports.UnlockMethodId = '0x6198e339'; // unlock()
|
|
8
|
+
exports.VoteMethodId = '0x580d747a'; // vote()
|
|
9
|
+
exports.UnvoteMethodId = '0x6e198475'; // revokeActive()
|
|
10
|
+
exports.ActivateMethodId = '0x1c5a9d9c'; // activate()
|
|
11
|
+
exports.WithdrawMethodId = '0x2e1a7d4d'; // withdraw()
|
|
12
|
+
const LockedGoldTestnetAddress = '0x94c3e6675015d8479b648657e7ddfcd938489d0d';
|
|
13
|
+
const LockedGoldMainnetAddress = '0x6cc083aed9e3ebe302a6336dbc7c921c9f03349e';
|
|
14
|
+
const ElectionTestnetAddress = '0x11fe523f93cac185d12cb39cc3bd279d2de524f8';
|
|
15
|
+
const ElectionMainnetAddress = '0x8d6677192144292870907e3fa8a5527fe55a7ff6';
|
|
16
|
+
const operations = {
|
|
17
|
+
[baseCoin_1.StakingOperationTypes.LOCK]: {
|
|
18
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
19
|
+
contractAddress: LockedGoldTestnetAddress,
|
|
20
|
+
methodId: exports.LockMethodId,
|
|
21
|
+
types: [],
|
|
22
|
+
},
|
|
23
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
24
|
+
contractAddress: LockedGoldMainnetAddress,
|
|
25
|
+
methodId: exports.LockMethodId,
|
|
26
|
+
types: [],
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
[baseCoin_1.StakingOperationTypes.UNLOCK]: {
|
|
30
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
31
|
+
contractAddress: LockedGoldTestnetAddress,
|
|
32
|
+
methodId: exports.UnlockMethodId,
|
|
33
|
+
types: ['uint256'],
|
|
34
|
+
},
|
|
35
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
36
|
+
contractAddress: LockedGoldMainnetAddress,
|
|
37
|
+
methodId: exports.UnlockMethodId,
|
|
38
|
+
types: ['uint256'],
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
[baseCoin_1.StakingOperationTypes.VOTE]: {
|
|
42
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
43
|
+
contractAddress: ElectionTestnetAddress,
|
|
44
|
+
methodId: exports.VoteMethodId,
|
|
45
|
+
types: ['address', 'uint256', 'address', 'address'],
|
|
46
|
+
},
|
|
47
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
48
|
+
contractAddress: ElectionMainnetAddress,
|
|
49
|
+
methodId: exports.VoteMethodId,
|
|
50
|
+
types: ['address', 'uint256', 'address', 'address'],
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
[baseCoin_1.StakingOperationTypes.UNVOTE]: {
|
|
54
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
55
|
+
contractAddress: ElectionTestnetAddress,
|
|
56
|
+
methodId: exports.UnvoteMethodId,
|
|
57
|
+
types: ['address', 'uint256', 'address', 'address', 'uint256'],
|
|
58
|
+
},
|
|
59
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
60
|
+
contractAddress: ElectionMainnetAddress,
|
|
61
|
+
methodId: exports.UnvoteMethodId,
|
|
62
|
+
types: ['address', 'uint256', 'address', 'address', 'uint256'],
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
[baseCoin_1.StakingOperationTypes.ACTIVATE]: {
|
|
66
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
67
|
+
contractAddress: ElectionTestnetAddress,
|
|
68
|
+
methodId: exports.ActivateMethodId,
|
|
69
|
+
types: ['address'],
|
|
70
|
+
},
|
|
71
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
72
|
+
contractAddress: ElectionMainnetAddress,
|
|
73
|
+
methodId: exports.ActivateMethodId,
|
|
74
|
+
types: ['address'],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
[baseCoin_1.StakingOperationTypes.WITHDRAW]: {
|
|
78
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
79
|
+
contractAddress: LockedGoldTestnetAddress,
|
|
80
|
+
methodId: exports.WithdrawMethodId,
|
|
81
|
+
types: ['uint256'],
|
|
82
|
+
},
|
|
83
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
84
|
+
contractAddress: LockedGoldMainnetAddress,
|
|
85
|
+
methodId: exports.WithdrawMethodId,
|
|
86
|
+
types: ['uint256'],
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* @param type
|
|
92
|
+
* @param network
|
|
93
|
+
*/
|
|
94
|
+
function getOperationConfig(type, network) {
|
|
95
|
+
return operations[type][network];
|
|
96
|
+
}
|
|
97
|
+
exports.getOperationConfig = getOperationConfig;
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvc3Rha2luZy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBNkM7QUFDN0MsMENBQW9EO0FBUXZDLFFBQUEsWUFBWSxHQUFHLFlBQVksQ0FBQyxDQUFDLFNBQVM7QUFDdEMsUUFBQSxjQUFjLEdBQUcsWUFBWSxDQUFDLENBQUMsV0FBVztBQUMxQyxRQUFBLFlBQVksR0FBRyxZQUFZLENBQUMsQ0FBQyxTQUFTO0FBQ3RDLFFBQUEsY0FBYyxHQUFHLFlBQVksQ0FBQyxDQUFDLGlCQUFpQjtBQUNoRCxRQUFBLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxDQUFDLGFBQWE7QUFDOUMsUUFBQSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsQ0FBQyxhQUFhO0FBRTNELE1BQU0sd0JBQXdCLEdBQUcsNENBQTRDLENBQUM7QUFDOUUsTUFBTSx3QkFBd0IsR0FBRyw0Q0FBNEMsQ0FBQztBQUM5RSxNQUFNLHNCQUFzQixHQUFHLDRDQUE0QyxDQUFDO0FBQzVFLE1BQU0sc0JBQXNCLEdBQUcsNENBQTRDLENBQUM7QUFFNUUsTUFBTSxVQUFVLEdBQUc7SUFDakIsQ0FBQyxnQ0FBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM1QixDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsZUFBZSxFQUFFLHdCQUF3QjtZQUN6QyxRQUFRLEVBQUUsb0JBQVk7WUFDdEIsS0FBSyxFQUFFLEVBQUU7U0FDVjtRQUNELENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQixlQUFlLEVBQUUsd0JBQXdCO1lBQ3pDLFFBQVEsRUFBRSxvQkFBWTtZQUN0QixLQUFLLEVBQUUsRUFBRTtTQUNWO0tBQ0Y7SUFDRCxDQUFDLGdDQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzlCLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQixlQUFlLEVBQUUsd0JBQXdCO1lBQ3pDLFFBQVEsRUFBRSxzQkFBYztZQUN4QixLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUM7U0FDbkI7UUFDRCxDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsZUFBZSxFQUFFLHdCQUF3QjtZQUN6QyxRQUFRLEVBQUUsc0JBQWM7WUFDeEIsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQ25CO0tBQ0Y7SUFDRCxDQUFDLGdDQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzVCLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQixlQUFlLEVBQUUsc0JBQXNCO1lBQ3ZDLFFBQVEsRUFBRSxvQkFBWTtZQUN0QixLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7U0FDcEQ7UUFDRCxDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsZUFBZSxFQUFFLHNCQUFzQjtZQUN2QyxRQUFRLEVBQUUsb0JBQVk7WUFDdEIsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO1NBQ3BEO0tBQ0Y7SUFDRCxDQUFDLGdDQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzlCLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQixlQUFlLEVBQUUsc0JBQXNCO1lBQ3ZDLFFBQVEsRUFBRSxzQkFBYztZQUN4QixLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO1NBQy9EO1FBQ0QsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JCLGVBQWUsRUFBRSxzQkFBc0I7WUFDdkMsUUFBUSxFQUFFLHNCQUFjO1lBQ3hCLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7U0FDL0Q7S0FDRjtJQUNELENBQUMsZ0NBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDaEMsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JCLGVBQWUsRUFBRSxzQkFBc0I7WUFDdkMsUUFBUSxFQUFFLHdCQUFnQjtZQUMxQixLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUM7U0FDbkI7UUFDRCxDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsZUFBZSxFQUFFLHNCQUFzQjtZQUN2QyxRQUFRLEVBQUUsd0JBQWdCO1lBQzFCLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQztTQUNuQjtLQUNGO0lBQ0QsQ0FBQyxnQ0FBcUIsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUNoQyxDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsZUFBZSxFQUFFLHdCQUF3QjtZQUN6QyxRQUFRLEVBQUUsd0JBQWdCO1lBQzFCLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQztTQUNuQjtRQUNELENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQixlQUFlLEVBQUUsd0JBQXdCO1lBQ3pDLFFBQVEsRUFBRSx3QkFBZ0I7WUFDMUIsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQ25CO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsSUFBMkIsRUFBRSxPQUFvQjtJQUNsRixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRkQsZ0RBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZXR3b3JrVHlwZSB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFN0YWtpbmdPcGVyYXRpb25UeXBlcyB9IGZyb20gJy4uL2Jhc2VDb2luJztcblxuZXhwb3J0IGludGVyZmFjZSBDb250cmFjdE1ldGhvZENvbmZpZyB7XG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICBtZXRob2RJZDogc3RyaW5nO1xuICB0eXBlczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjb25zdCBMb2NrTWV0aG9kSWQgPSAnMHhmODNkMDhiYSc7IC8vIGxvY2soKVxuZXhwb3J0IGNvbnN0IFVubG9ja01ldGhvZElkID0gJzB4NjE5OGUzMzknOyAvLyB1bmxvY2soKVxuZXhwb3J0IGNvbnN0IFZvdGVNZXRob2RJZCA9ICcweDU4MGQ3NDdhJzsgLy8gdm90ZSgpXG5leHBvcnQgY29uc3QgVW52b3RlTWV0aG9kSWQgPSAnMHg2ZTE5ODQ3NSc7IC8vIHJldm9rZUFjdGl2ZSgpXG5leHBvcnQgY29uc3QgQWN0aXZhdGVNZXRob2RJZCA9ICcweDFjNWE5ZDljJzsgLy8gYWN0aXZhdGUoKVxuZXhwb3J0IGNvbnN0IFdpdGhkcmF3TWV0aG9kSWQgPSAnMHgyZTFhN2Q0ZCc7IC8vIHdpdGhkcmF3KClcblxuY29uc3QgTG9ja2VkR29sZFRlc3RuZXRBZGRyZXNzID0gJzB4OTRjM2U2Njc1MDE1ZDg0NzliNjQ4NjU3ZTdkZGZjZDkzODQ4OWQwZCc7XG5jb25zdCBMb2NrZWRHb2xkTWFpbm5ldEFkZHJlc3MgPSAnMHg2Y2MwODNhZWQ5ZTNlYmUzMDJhNjMzNmRiYzdjOTIxYzlmMDMzNDllJztcbmNvbnN0IEVsZWN0aW9uVGVzdG5ldEFkZHJlc3MgPSAnMHgxMWZlNTIzZjkzY2FjMTg1ZDEyY2IzOWNjM2JkMjc5ZDJkZTUyNGY4JztcbmNvbnN0IEVsZWN0aW9uTWFpbm5ldEFkZHJlc3MgPSAnMHg4ZDY2NzcxOTIxNDQyOTI4NzA5MDdlM2ZhOGE1NTI3ZmU1NWE3ZmY2JztcblxuY29uc3Qgb3BlcmF0aW9ucyA9IHtcbiAgW1N0YWtpbmdPcGVyYXRpb25UeXBlcy5MT0NLXToge1xuICAgIFtOZXR3b3JrVHlwZS5URVNUTkVUXToge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiBMb2NrZWRHb2xkVGVzdG5ldEFkZHJlc3MsXG4gICAgICBtZXRob2RJZDogTG9ja01ldGhvZElkLFxuICAgICAgdHlwZXM6IFtdLFxuICAgIH0sXG4gICAgW05ldHdvcmtUeXBlLk1BSU5ORVRdOiB7XG4gICAgICBjb250cmFjdEFkZHJlc3M6IExvY2tlZEdvbGRNYWlubmV0QWRkcmVzcyxcbiAgICAgIG1ldGhvZElkOiBMb2NrTWV0aG9kSWQsXG4gICAgICB0eXBlczogW10sXG4gICAgfSxcbiAgfSxcbiAgW1N0YWtpbmdPcGVyYXRpb25UeXBlcy5VTkxPQ0tdOiB7XG4gICAgW05ldHdvcmtUeXBlLlRFU1RORVRdOiB7XG4gICAgICBjb250cmFjdEFkZHJlc3M6IExvY2tlZEdvbGRUZXN0bmV0QWRkcmVzcyxcbiAgICAgIG1ldGhvZElkOiBVbmxvY2tNZXRob2RJZCxcbiAgICAgIHR5cGVzOiBbJ3VpbnQyNTYnXSxcbiAgICB9LFxuICAgIFtOZXR3b3JrVHlwZS5NQUlOTkVUXToge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiBMb2NrZWRHb2xkTWFpbm5ldEFkZHJlc3MsXG4gICAgICBtZXRob2RJZDogVW5sb2NrTWV0aG9kSWQsXG4gICAgICB0eXBlczogWyd1aW50MjU2J10sXG4gICAgfSxcbiAgfSxcbiAgW1N0YWtpbmdPcGVyYXRpb25UeXBlcy5WT1RFXToge1xuICAgIFtOZXR3b3JrVHlwZS5URVNUTkVUXToge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiBFbGVjdGlvblRlc3RuZXRBZGRyZXNzLFxuICAgICAgbWV0aG9kSWQ6IFZvdGVNZXRob2RJZCxcbiAgICAgIHR5cGVzOiBbJ2FkZHJlc3MnLCAndWludDI1NicsICdhZGRyZXNzJywgJ2FkZHJlc3MnXSxcbiAgICB9LFxuICAgIFtOZXR3b3JrVHlwZS5NQUlOTkVUXToge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiBFbGVjdGlvbk1haW5uZXRBZGRyZXNzLFxuICAgICAgbWV0aG9kSWQ6IFZvdGVNZXRob2RJZCxcbiAgICAgIHR5cGVzOiBbJ2FkZHJlc3MnLCAndWludDI1NicsICdhZGRyZXNzJywgJ2FkZHJlc3MnXSxcbiAgICB9LFxuICB9LFxuICBbU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOVk9URV06IHtcbiAgICBbTmV0d29ya1R5cGUuVEVTVE5FVF06IHtcbiAgICAgIGNvbnRyYWN0QWRkcmVzczogRWxlY3Rpb25UZXN0bmV0QWRkcmVzcyxcbiAgICAgIG1ldGhvZElkOiBVbnZvdGVNZXRob2RJZCxcbiAgICAgIHR5cGVzOiBbJ2FkZHJlc3MnLCAndWludDI1NicsICdhZGRyZXNzJywgJ2FkZHJlc3MnLCAndWludDI1NiddLFxuICAgIH0sXG4gICAgW05ldHdvcmtUeXBlLk1BSU5ORVRdOiB7XG4gICAgICBjb250cmFjdEFkZHJlc3M6IEVsZWN0aW9uTWFpbm5ldEFkZHJlc3MsXG4gICAgICBtZXRob2RJZDogVW52b3RlTWV0aG9kSWQsXG4gICAgICB0eXBlczogWydhZGRyZXNzJywgJ3VpbnQyNTYnLCAnYWRkcmVzcycsICdhZGRyZXNzJywgJ3VpbnQyNTYnXSxcbiAgICB9LFxuICB9LFxuICBbU3Rha2luZ09wZXJhdGlvblR5cGVzLkFDVElWQVRFXToge1xuICAgIFtOZXR3b3JrVHlwZS5URVNUTkVUXToge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiBFbGVjdGlvblRlc3RuZXRBZGRyZXNzLFxuICAgICAgbWV0aG9kSWQ6IEFjdGl2YXRlTWV0aG9kSWQsXG4gICAgICB0eXBlczogWydhZGRyZXNzJ10sXG4gICAgfSxcbiAgICBbTmV0d29ya1R5cGUuTUFJTk5FVF06IHtcbiAgICAgIGNvbnRyYWN0QWRkcmVzczogRWxlY3Rpb25NYWlubmV0QWRkcmVzcyxcbiAgICAgIG1ldGhvZElkOiBBY3RpdmF0ZU1ldGhvZElkLFxuICAgICAgdHlwZXM6IFsnYWRkcmVzcyddLFxuICAgIH0sXG4gIH0sXG4gIFtTdGFraW5nT3BlcmF0aW9uVHlwZXMuV0lUSERSQVddOiB7XG4gICAgW05ldHdvcmtUeXBlLlRFU1RORVRdOiB7XG4gICAgICBjb250cmFjdEFkZHJlc3M6IExvY2tlZEdvbGRUZXN0bmV0QWRkcmVzcyxcbiAgICAgIG1ldGhvZElkOiBXaXRoZHJhd01ldGhvZElkLFxuICAgICAgdHlwZXM6IFsndWludDI1NiddLFxuICAgIH0sXG4gICAgW05ldHdvcmtUeXBlLk1BSU5ORVRdOiB7XG4gICAgICBjb250cmFjdEFkZHJlc3M6IExvY2tlZEdvbGRNYWlubmV0QWRkcmVzcyxcbiAgICAgIG1ldGhvZElkOiBXaXRoZHJhd01ldGhvZElkLFxuICAgICAgdHlwZXM6IFsndWludDI1NiddLFxuICAgIH0sXG4gIH0sXG59O1xuXG4vKipcbiAqIEBwYXJhbSB0eXBlXG4gKiBAcGFyYW0gbmV0d29ya1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uQ29uZmlnKHR5cGU6IFN0YWtpbmdPcGVyYXRpb25UeXBlcywgbmV0d29yazogTmV0d29ya1R5cGUpOiBDb250cmFjdE1ldGhvZENvbmZpZyB7XG4gIHJldHVybiBvcGVyYXRpb25zW3R5cGVdW25ldHdvcmtdO1xufVxuIl19
|
|
@@ -88,6 +88,13 @@ export declare function toHex(buffer: Buffer | Uint8Array): string;
|
|
|
88
88
|
* @returns {string} - the hex value
|
|
89
89
|
*/
|
|
90
90
|
export declare function bigIntToHex(bigint: bigint): string;
|
|
91
|
+
/**
|
|
92
|
+
* Returns a BigInt value from hex
|
|
93
|
+
*
|
|
94
|
+
* @param {string} hex - hex value to be converted to bigint
|
|
95
|
+
* @returns {bigint} - bigint representation of the hex value
|
|
96
|
+
*/
|
|
97
|
+
export declare function hexToBigInt(hex: string): bigint;
|
|
91
98
|
/**
|
|
92
99
|
* Check if base58 decoded string is equale to length
|
|
93
100
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/util/crypto.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAM9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO/C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO/C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOvD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO5D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO5D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;;GAMG;AAEH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM/D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAEpD"}
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/util/crypto.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAM9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO/C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO/C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOvD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO5D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO5D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAU/C;AAED;;;;;;GAMG;AAEH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM/D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAEpD"}
|
|
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.toUint8Array = exports.isBase58 = exports.bigIntToHex = exports.toHex = exports.isValidBLSPublicKey = exports.isValidBLSPrivateKey = exports.isValidEd25519PublicKey = exports.isValidEd25519SecretKey = exports.isValidEd25519Seed = exports.isValidPrv = exports.isValidPub = exports.isValidXprv = exports.isValidXpub = exports.rawPrvToExtendedKeys = exports.xprvToRawPrv = exports.xpubToUncompressedPub = void 0;
|
|
25
|
+
exports.toUint8Array = exports.isBase58 = exports.hexToBigInt = exports.bigIntToHex = exports.toHex = exports.isValidBLSPublicKey = exports.isValidBLSPrivateKey = exports.isValidEd25519PublicKey = exports.isValidEd25519SecretKey = exports.isValidEd25519Seed = exports.isValidPrv = exports.isValidPub = exports.isValidXprv = exports.isValidXpub = exports.rawPrvToExtendedKeys = exports.xprvToRawPrv = exports.xpubToUncompressedPub = void 0;
|
|
26
26
|
const bip32 = __importStar(require("bip32"));
|
|
27
27
|
const bitcoinjs_lib_1 = require("bitcoinjs-lib");
|
|
28
28
|
const nacl = __importStar(require("tweetnacl"));
|
|
@@ -240,6 +240,24 @@ function bigIntToHex(bigint) {
|
|
|
240
240
|
return '0x' + '0'.slice(0, hex.length % 2) + hex;
|
|
241
241
|
}
|
|
242
242
|
exports.bigIntToHex = bigIntToHex;
|
|
243
|
+
/**
|
|
244
|
+
* Returns a BigInt value from hex
|
|
245
|
+
*
|
|
246
|
+
* @param {string} hex - hex value to be converted to bigint
|
|
247
|
+
* @returns {bigint} - bigint representation of the hex value
|
|
248
|
+
*/
|
|
249
|
+
function hexToBigInt(hex) {
|
|
250
|
+
// Strangely bigint.toString(16) gives a hex string without 0x
|
|
251
|
+
// but it won't accept the same string without 0x to convert
|
|
252
|
+
// to a bigint (BigInt(hex string)). So have to introduce this
|
|
253
|
+
// check to convert to add 0x in case if hex string
|
|
254
|
+
// doesn't have it.
|
|
255
|
+
if (hex.slice(0, 2) === '0x') {
|
|
256
|
+
return BigInt(hex);
|
|
257
|
+
}
|
|
258
|
+
return BigInt('0x' + hex);
|
|
259
|
+
}
|
|
260
|
+
exports.hexToBigInt = hexToBigInt;
|
|
243
261
|
/**
|
|
244
262
|
* Check if base58 decoded string is equale to length
|
|
245
263
|
*
|
|
@@ -266,4 +284,4 @@ function toUint8Array(str) {
|
|
|
266
284
|
return hex.decode(str);
|
|
267
285
|
}
|
|
268
286
|
exports.toUint8Array = toUint8Array;
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL3V0aWwvY3J5cHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBK0I7QUFDL0IsaURBQWlEO0FBQ2pELGdEQUFrQztBQUNsQyxvREFBc0M7QUFDdEMscURBQXVDO0FBQ3ZDLHdFQUE4QztBQUU5QyxnREFBd0I7QUFFeEI7OztHQUdHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsSUFBWTtJQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDakM7SUFDRCxPQUFPLHNCQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLHdCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFO1FBQzlFLFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFQRCxzREFPQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNqQztJQUVELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSx3QkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBQ2pDO0lBQ0QsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BDLENB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SUFDeEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxPQUFPLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUNuRCxDQUFDO0FBSEQsa0NBR0M7QUFFRDs7Ozs7O0dBTUc7QUFFSCxTQUFnQixRQUFRLENBQUMsS0FBYSxFQUFFLE1BQWM7SUFDcEQsSUFBSTtRQUNGLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBSSxjQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUM7S0FDeEQ7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDO0FBTkQsNEJBTUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRkQsb0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiaXAzMiBmcm9tICdiaXAzMic7XG5pbXBvcnQgeyBFQ1BhaXIsIG5ldHdvcmtzIH0gZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgKiBhcyBuYWNsIGZyb20gJ3R3ZWV0bmFjbCc7XG5pbXBvcnQgKiBhcyBoZXggZnJvbSAnQHN0YWJsZWxpYi9oZXgnO1xuaW1wb3J0ICogYXMgYmxzIGZyb20gJ25vYmxlLWJsczEyLTM4MSc7XG5pbXBvcnQgc3RyaXBIZXhQcmVmaXggZnJvbSAnc3RyaXAtaGV4LXByZWZpeCc7XG5pbXBvcnQgeyBFeHRlbmRlZEtleXMgfSBmcm9tICcuLi9iYXNlQ29pbi9pZmFjZSc7XG5pbXBvcnQgYnM1OCBmcm9tICdiczU4JztcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30geHB1YiAtIGEgYmFzZS01OCBlbmNvZGVkIGV4dGVuZGVkIHB1YmxpYyBrZXkgKEJJUDMyKVxuICogQHJldHVybnMge3N0cmluZ30gdGhlIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5IGluIGhleGFkZWNpbWFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB4cHViVG9VbmNvbXByZXNzZWRQdWIoeHB1Yjogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFpc1ZhbGlkWHB1Yih4cHViKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCB4cHViJyk7XG4gIH1cbiAgcmV0dXJuIEVDUGFpci5mcm9tUHVibGljS2V5KGJpcDMyLmZyb21CYXNlNTgoeHB1YiwgbmV0d29ya3MuYml0Y29pbikucHVibGljS2V5LCB7XG4gICAgY29tcHJlc3NlZDogZmFsc2UsXG4gIH0pLnB1YmxpY0tleS50b1N0cmluZygnaGV4Jyk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHhwcnYgLSBiYXNlNTgtZW5jb2RlZCBleHRlbmRlZCBwcml2YXRlIGtleSAoQklQMzIpXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgaGV4LWVuY29kZWQgcmF3IHByaXZhdGUga2V5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB4cHJ2VG9SYXdQcnYoeHBydjogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFpc1ZhbGlkWHBydih4cHJ2KSkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCB4cHJ2Jyk7XG4gIH1cblxuICBjb25zdCB7IHByaXZhdGVLZXkgfSA9IGJpcDMyLmZyb21CYXNlNTgoeHBydiwgbmV0d29ya3MuYml0Y29pbik7XG4gIGlmICghcHJpdmF0ZUtleSkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCB4cHJ2Jyk7XG4gIH1cbiAgcmV0dXJuIHByaXZhdGVLZXkudG9TdHJpbmcoJ2hleCcpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcnYgLSBQcml2YXRlIGtleSBpbiBoZXggZm9ybWF0IHRvIGdldCB0aGUgZXh0ZW5kZWQga2V5cyBmb3JcbiAqIEByZXR1cm5zIHtFeHRlbmRlZEtleXN9IHhwcnYgYW5kIHhwdWIgaW4gc3RyaW5nIGZvcm1hdFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmF3UHJ2VG9FeHRlbmRlZEtleXMocHJ2OiBzdHJpbmcpOiBFeHRlbmRlZEtleXMge1xuICBjb25zdCBoZCA9IGJpcDMyLmZyb21Qcml2YXRlS2V5KEJ1ZmZlci5mcm9tKHBydiwgJ2hleCcpLCBCdWZmZXIuYWxsb2MoMzIpKTtcbiAgcmV0dXJuIHtcbiAgICB4cHJ2OiBoZC50b0Jhc2U1OCgpLFxuICAgIHhwdWI6IGhkLm5ldXRlcmVkKCkudG9CYXNlNTgoKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyBhIHZhbGlkIEJJUDMyIHhwdWIgb3Igbm90XG4gKlxuICogQHBhcmFtIHhwdWJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRYcHViKHhwdWI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoeHB1Yi5zdWJzdHIoMCwgNCkgIT09ICd4cHViJykge1xuICAgIC8vIGNoZWNrIGZvciB4cHViIGZvcm1hdHMgd2UgZG9uJ3Qgc3VwcG9ydCwgc3VjaCBhcyB0cHViXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHRyeSB7XG4gICAgYmlwMzIuZnJvbUJhc2U1OCh4cHViLCBuZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIC8vIGlmIEhEIGdlbmVyYXRpb24gZGlkbid0IHRocm93LCBpdCBpcyBhIHZhbGlkIHhwdWJcbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogV2hldGhlciB0aGUgaW5wdXQgaXMgYSB2YWxpZCBCSVAzMiB4cHJ2IG9yIG5vdFxuICpcbiAqIEBwYXJhbSB4cHJ2XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkWHBydih4cHJ2OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKHhwcnYuc3Vic3RyKDAsIDQpICE9PSAneHBydicpIHtcbiAgICAvLyBjaGVjayBmb3IgeHBydiBmb3JtYXRzIHdlIGRvbid0IHN1cHBvcnRcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdHJ5IHtcbiAgICBiaXAzMi5mcm9tQmFzZTU4KHhwcnYsIG5ldHdvcmtzLmJpdGNvaW4pO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gaWYgSEQgZ2VuZXJhdGlvbiBkaWRuJ3QgdGhyb3csIGl0IGlzIGEgdmFsaWQgeHBydlxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyBhIHZhbGlkIHNlY3AyNTZrMSBwdWJsaWMga2V5XG4gKlxuICogQHBhcmFtIHB1YlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFB1YihwdWI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIEVDUGFpci5mcm9tUHVibGljS2V5KEJ1ZmZlci5mcm9tKHB1YiwgJ2hleCcpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyBhIHZhbGlkIHNlY3AyNTZrMSBwcml2YXRlIGtleVxuICpcbiAqIEBwYXJhbSBwcnZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRQcnYocHJ2OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBFQ1BhaXIuZnJvbVByaXZhdGVLZXkoQnVmZmVyLmZyb20ocHJ2LCAnaGV4JykpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIGEgdmFsaWQgZWQyNTUxOSBwcml2YXRlIGtleVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcnYgQSBoZXhhZGVjaW1hbCBwcml2YXRlIGtleSB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGlucHV0IGlzIGEgdmFsaWQgcHVibGljIGtleSBvciBub3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRFZDI1NTE5U2VlZChwcnY6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIGNvbnN0IGRlY29kZWRQcnYgPSB0b1VpbnQ4QXJyYXkocHJ2KTtcbiAgICByZXR1cm4gZGVjb2RlZFBydi5sZW5ndGggPT09IG5hY2wuc2lnbi5zZWVkTGVuZ3RoO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogV2hldGhlciB0aGUgaW5wdXQgaXMgYSB2YWxpZCBlZDI1NTE5IHByaXZhdGUga2V5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHBydiBBIGhleGFkZWNpbWFsIHByaXZhdGUga2V5IHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciB0aGUgaW5wdXQgaXMgYSB2YWxpZCBwdWJsaWMga2V5IG9yIG5vdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEVkMjU1MTlTZWNyZXRLZXkocHJ2OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkZWNvZGVkUHJ2ID0gdG9VaW50OEFycmF5KHBydik7XG4gICAgcmV0dXJuIGRlY29kZWRQcnYubGVuZ3RoID09PSBuYWNsLnNpZ24uc2VjcmV0S2V5TGVuZ3RoO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogV2hldGhlciB0aGUgaW5wdXQgaXMgYSB2YWxpZCBlZDI1NTE5IHB1YmxpYyBrZXlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHViIEEgaGV4YWRlY2ltYWwgcHVibGljIGtleSB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGlucHV0IGlzIGEgdmFsaWQgcHVibGljIGtleSBvciBub3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRFZDI1NTE5UHVibGljS2V5KHB1Yjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgY29uc3QgZGVjb2RlZFB1YiA9IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHB1YiwgJ2hleCcpKTtcbiAgICByZXR1cm4gZGVjb2RlZFB1Yi5sZW5ndGggPT09IG5hY2wuc2lnbi5wdWJsaWNLZXlMZW5ndGg7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyBhIHZhbGlkIEJMUyBwcml2YXRlIGtleVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcnYgYSBwcml2YXRlIGtleSB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGlucHV0IGlzIGEgdmFsaWQgcHJpdmF0ZSBrZXkgb3Igbm90XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQkxTUHJpdmF0ZUtleShwcnY6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiBibHMuRnIuaXNWYWxpZChCaWdJbnQocHJ2KSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBXaGV0aGVyIGlucHV0IGlzIGEgdmFsaWQgQkxTIHB1YmxpYyBrZXlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHViIHRoZSBwdWJsaWMga2V5IHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciBpbnB1dCBpcyBhIHZhbGlkIHB1YmxpYyBrZXkgb3Igbm90XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQkxTUHVibGljS2V5KHB1Yjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgYmxzLlBvaW50RzEuZnJvbUNvbXByZXNzZWRIZXgoc3RyaXBIZXhQcmVmaXgocHViKSkuYXNzZXJ0VmFsaWRpdHkoKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgYW4gaGV4IHN0cmluZyBvZiB0aGUgZ2l2ZW4gYnVmZmVyXG4gKlxuICogQHBhcmFtIHtCdWZmZXIgfCBVaW50OEFycmF5fSBidWZmZXIgLSB0aGUgYnVmZmVyIHRvIGJlIGNvbnZlcnRlZCB0byBoZXhcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gdGhlIGhleCB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9IZXgoYnVmZmVyOiBCdWZmZXIgfCBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgcmV0dXJuIGhleC5lbmNvZGUoYnVmZmVyLCB0cnVlKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFuIGhleCBzdHJpbmcgb2YgdGhlIGdpdmVuIGJpZ2ludFxuICpcbiAqIEBwYXJhbSB7YmlnaW50fSBiaWdpbnQgLSB0aGUgYmlnaW50IHRvIGJlIGNvbnZlcnRlZCB0byBoZXhcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gdGhlIGhleCB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmlnSW50VG9IZXgoYmlnaW50OiBiaWdpbnQpOiBzdHJpbmcge1xuICBjb25zdCBoZXggPSBiaWdpbnQudG9TdHJpbmcoMTYpO1xuICByZXR1cm4gJzB4JyArICcwJy5zbGljZSgwLCBoZXgubGVuZ3RoICUgMikgKyBoZXg7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYmFzZTU4IGRlY29kZWQgc3RyaW5nIGlzIGVxdWFsZSB0byBsZW5ndGhcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBzdHJpbmcgdG8gYmUgY2hlY2tlZFxuICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aCAtIGV4cGVjdGVkIGRlY29kZWQgbGVuZ3RoXG4gKiBAcmV0dXJuIHtib29sZWFufSBpZiB0aGUgc3RyaW5nIGNhbiBkZWNvZGVkIGFzIGJhc2U1OCBhbmQgbWF0Y2ggdGhlIGV4cGVjdGVkIGxlbmd0aFxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Jhc2U1OCh2YWx1ZTogc3RyaW5nLCBsZW5ndGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiAhIXZhbHVlICYmIGJzNTguZGVjb2RlKHZhbHVlKS5sZW5ndGggPT09IGxlbmd0aDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgYSBVaW50OEFycmF5IG9mIHRoZSBnaXZlbiBoZXggc3RyaW5nXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0ciAtIHRoZSBoZXggc3RyaW5nIHRvIGJlIGNvbnZlcnRlZFxuICogQHJldHVybnMge3N0cmluZ30gLSB0aGUgVWludDhBcnJheSB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9VaW50OEFycmF5KHN0cjogc3RyaW5nKTogVWludDhBcnJheSB7XG4gIHJldHVybiBoZXguZGVjb2RlKHN0cik7XG59XG4iXX0=
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL3V0aWwvY3J5cHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBK0I7QUFDL0IsaURBQWlEO0FBQ2pELGdEQUFrQztBQUNsQyxvREFBc0M7QUFDdEMscURBQXVDO0FBQ3ZDLHdFQUE4QztBQUU5QyxnREFBd0I7QUFFeEI7OztHQUdHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsSUFBWTtJQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDakM7SUFDRCxPQUFPLHNCQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLHdCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFO1FBQzlFLFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFQRCxzREFPQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNqQztJQUVELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSx3QkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBQ2pDO0lBQ0QsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BDLENB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SUFDeEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxPQUFPLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUNuRCxDQUFDO0FBSEQsa0NBR0M7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLDhEQUE4RDtJQUM5RCw0REFBNEQ7SUFDNUQsOERBQThEO0lBQzlELG1EQUFtRDtJQUNuRCxtQkFBbUI7SUFDbkIsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDNUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDcEI7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQVZELGtDQVVDO0FBRUQ7Ozs7OztHQU1HO0FBRUgsU0FBZ0IsUUFBUSxDQUFDLEtBQWEsRUFBRSxNQUFjO0lBQ3BELElBQUk7UUFDRixPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksY0FBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDO0tBQ3hEO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQztBQU5ELDRCQU1DO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixZQUFZLENBQUMsR0FBVztJQUN0QyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekIsQ0FBQztBQUZELG9DQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYmlwMzIgZnJvbSAnYmlwMzInO1xuaW1wb3J0IHsgRUNQYWlyLCBuZXR3b3JrcyB9IGZyb20gJ2JpdGNvaW5qcy1saWInO1xuaW1wb3J0ICogYXMgbmFjbCBmcm9tICd0d2VldG5hY2wnO1xuaW1wb3J0ICogYXMgaGV4IGZyb20gJ0BzdGFibGVsaWIvaGV4JztcbmltcG9ydCAqIGFzIGJscyBmcm9tICdub2JsZS1ibHMxMi0zODEnO1xuaW1wb3J0IHN0cmlwSGV4UHJlZml4IGZyb20gJ3N0cmlwLWhleC1wcmVmaXgnO1xuaW1wb3J0IHsgRXh0ZW5kZWRLZXlzIH0gZnJvbSAnLi4vYmFzZUNvaW4vaWZhY2UnO1xuaW1wb3J0IGJzNTggZnJvbSAnYnM1OCc7XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHhwdWIgLSBhIGJhc2UtNTggZW5jb2RlZCBleHRlbmRlZCBwdWJsaWMga2V5IChCSVAzMilcbiAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSB1bmNvbXByZXNzZWQgcHVibGljIGtleSBpbiBoZXhhZGVjaW1hbFxuICovXG5leHBvcnQgZnVuY3Rpb24geHB1YlRvVW5jb21wcmVzc2VkUHViKHhwdWI6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghaXNWYWxpZFhwdWIoeHB1YikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgeHB1YicpO1xuICB9XG4gIHJldHVybiBFQ1BhaXIuZnJvbVB1YmxpY0tleShiaXAzMi5mcm9tQmFzZTU4KHhwdWIsIG5ldHdvcmtzLmJpdGNvaW4pLnB1YmxpY0tleSwge1xuICAgIGNvbXByZXNzZWQ6IGZhbHNlLFxuICB9KS5wdWJsaWNLZXkudG9TdHJpbmcoJ2hleCcpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB4cHJ2IC0gYmFzZTU4LWVuY29kZWQgZXh0ZW5kZWQgcHJpdmF0ZSBrZXkgKEJJUDMyKVxuICogQHJldHVybnMge3N0cmluZ30gdGhlIGhleC1lbmNvZGVkIHJhdyBwcml2YXRlIGtleVxuICovXG5leHBvcnQgZnVuY3Rpb24geHBydlRvUmF3UHJ2KHhwcnY6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghaXNWYWxpZFhwcnYoeHBydikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgeHBydicpO1xuICB9XG5cbiAgY29uc3QgeyBwcml2YXRlS2V5IH0gPSBiaXAzMi5mcm9tQmFzZTU4KHhwcnYsIG5ldHdvcmtzLmJpdGNvaW4pO1xuICBpZiAoIXByaXZhdGVLZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgeHBydicpO1xuICB9XG4gIHJldHVybiBwcml2YXRlS2V5LnRvU3RyaW5nKCdoZXgnKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJ2IC0gUHJpdmF0ZSBrZXkgaW4gaGV4IGZvcm1hdCB0byBnZXQgdGhlIGV4dGVuZGVkIGtleXMgZm9yXG4gKiBAcmV0dXJucyB7RXh0ZW5kZWRLZXlzfSB4cHJ2IGFuZCB4cHViIGluIHN0cmluZyBmb3JtYXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJhd1BydlRvRXh0ZW5kZWRLZXlzKHBydjogc3RyaW5nKTogRXh0ZW5kZWRLZXlzIHtcbiAgY29uc3QgaGQgPSBiaXAzMi5mcm9tUHJpdmF0ZUtleShCdWZmZXIuZnJvbShwcnYsICdoZXgnKSwgQnVmZmVyLmFsbG9jKDMyKSk7XG4gIHJldHVybiB7XG4gICAgeHBydjogaGQudG9CYXNlNTgoKSxcbiAgICB4cHViOiBoZC5uZXV0ZXJlZCgpLnRvQmFzZTU4KCksXG4gIH07XG59XG5cbi8qKlxuICogV2hldGhlciB0aGUgaW5wdXQgaXMgYSB2YWxpZCBCSVAzMiB4cHViIG9yIG5vdFxuICpcbiAqIEBwYXJhbSB4cHViXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkWHB1Yih4cHViOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKHhwdWIuc3Vic3RyKDAsIDQpICE9PSAneHB1YicpIHtcbiAgICAvLyBjaGVjayBmb3IgeHB1YiBmb3JtYXRzIHdlIGRvbid0IHN1cHBvcnQsIHN1Y2ggYXMgdHB1YlxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB0cnkge1xuICAgIGJpcDMyLmZyb21CYXNlNTgoeHB1YiwgbmV0d29ya3MuYml0Y29pbik7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvLyBpZiBIRCBnZW5lcmF0aW9uIGRpZG4ndCB0aHJvdywgaXQgaXMgYSB2YWxpZCB4cHViXG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIGEgdmFsaWQgQklQMzIgeHBydiBvciBub3RcbiAqXG4gKiBAcGFyYW0geHBydlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFhwcnYoeHBydjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmICh4cHJ2LnN1YnN0cigwLCA0KSAhPT0gJ3hwcnYnKSB7XG4gICAgLy8gY2hlY2sgZm9yIHhwcnYgZm9ybWF0cyB3ZSBkb24ndCBzdXBwb3J0XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHRyeSB7XG4gICAgYmlwMzIuZnJvbUJhc2U1OCh4cHJ2LCBuZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIC8vIGlmIEhEIGdlbmVyYXRpb24gZGlkbid0IHRocm93LCBpdCBpcyBhIHZhbGlkIHhwcnZcbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogV2hldGhlciB0aGUgaW5wdXQgaXMgYSB2YWxpZCBzZWNwMjU2azEgcHVibGljIGtleVxuICpcbiAqIEBwYXJhbSBwdWJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBFQ1BhaXIuZnJvbVB1YmxpY0tleShCdWZmZXIuZnJvbShwdWIsICdoZXgnKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogV2hldGhlciB0aGUgaW5wdXQgaXMgYSB2YWxpZCBzZWNwMjU2azEgcHJpdmF0ZSBrZXlcbiAqXG4gKiBAcGFyYW0gcHJ2XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkUHJ2KHBydjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgRUNQYWlyLmZyb21Qcml2YXRlS2V5KEJ1ZmZlci5mcm9tKHBydiwgJ2hleCcpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyBhIHZhbGlkIGVkMjU1MTkgcHJpdmF0ZSBrZXlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJ2IEEgaGV4YWRlY2ltYWwgcHJpdmF0ZSBrZXkgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoZSBpbnB1dCBpcyBhIHZhbGlkIHB1YmxpYyBrZXkgb3Igbm90XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRWQyNTUxOVNlZWQocHJ2OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkZWNvZGVkUHJ2ID0gdG9VaW50OEFycmF5KHBydik7XG4gICAgcmV0dXJuIGRlY29kZWRQcnYubGVuZ3RoID09PSBuYWNsLnNpZ24uc2VlZExlbmd0aDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIGEgdmFsaWQgZWQyNTUxOSBwcml2YXRlIGtleVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcnYgQSBoZXhhZGVjaW1hbCBwcml2YXRlIGtleSB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGlucHV0IGlzIGEgdmFsaWQgcHVibGljIGtleSBvciBub3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRFZDI1NTE5U2VjcmV0S2V5KHBydjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgY29uc3QgZGVjb2RlZFBydiA9IHRvVWludDhBcnJheShwcnYpO1xuICAgIHJldHVybiBkZWNvZGVkUHJ2Lmxlbmd0aCA9PT0gbmFjbC5zaWduLnNlY3JldEtleUxlbmd0aDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIGEgdmFsaWQgZWQyNTUxOSBwdWJsaWMga2V5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHB1YiBBIGhleGFkZWNpbWFsIHB1YmxpYyBrZXkgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoZSBpbnB1dCBpcyBhIHZhbGlkIHB1YmxpYyBrZXkgb3Igbm90XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRWQyNTUxOVB1YmxpY0tleShwdWI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIGNvbnN0IGRlY29kZWRQdWIgPSBuZXcgVWludDhBcnJheShCdWZmZXIuZnJvbShwdWIsICdoZXgnKSk7XG4gICAgcmV0dXJuIGRlY29kZWRQdWIubGVuZ3RoID09PSBuYWNsLnNpZ24ucHVibGljS2V5TGVuZ3RoO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogV2hldGhlciB0aGUgaW5wdXQgaXMgYSB2YWxpZCBCTFMgcHJpdmF0ZSBrZXlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJ2IGEgcHJpdmF0ZSBrZXkgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoZSBpbnB1dCBpcyBhIHZhbGlkIHByaXZhdGUga2V5IG9yIG5vdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEJMU1ByaXZhdGVLZXkocHJ2OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYmxzLkZyLmlzVmFsaWQoQmlnSW50KHBydikpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogV2hldGhlciBpbnB1dCBpcyBhIHZhbGlkIEJMUyBwdWJsaWMga2V5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHB1YiB0aGUgcHVibGljIGtleSB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgaW5wdXQgaXMgYSB2YWxpZCBwdWJsaWMga2V5IG9yIG5vdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEJMU1B1YmxpY0tleShwdWI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIGJscy5Qb2ludEcxLmZyb21Db21wcmVzc2VkSGV4KHN0cmlwSGV4UHJlZml4KHB1YikpLmFzc2VydFZhbGlkaXR5KCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFuIGhleCBzdHJpbmcgb2YgdGhlIGdpdmVuIGJ1ZmZlclxuICpcbiAqIEBwYXJhbSB7QnVmZmVyIHwgVWludDhBcnJheX0gYnVmZmVyIC0gdGhlIGJ1ZmZlciB0byBiZSBjb252ZXJ0ZWQgdG8gaGV4XG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIHRoZSBoZXggdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSGV4KGJ1ZmZlcjogQnVmZmVyIHwgVWludDhBcnJheSk6IHN0cmluZyB7XG4gIHJldHVybiBoZXguZW5jb2RlKGJ1ZmZlciwgdHJ1ZSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhbiBoZXggc3RyaW5nIG9mIHRoZSBnaXZlbiBiaWdpbnRcbiAqXG4gKiBAcGFyYW0ge2JpZ2ludH0gYmlnaW50IC0gdGhlIGJpZ2ludCB0byBiZSBjb252ZXJ0ZWQgdG8gaGV4XG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIHRoZSBoZXggdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpZ0ludFRvSGV4KGJpZ2ludDogYmlnaW50KTogc3RyaW5nIHtcbiAgY29uc3QgaGV4ID0gYmlnaW50LnRvU3RyaW5nKDE2KTtcbiAgcmV0dXJuICcweCcgKyAnMCcuc2xpY2UoMCwgaGV4Lmxlbmd0aCAlIDIpICsgaGV4O1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBCaWdJbnQgdmFsdWUgZnJvbSBoZXhcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaGV4IC0gaGV4IHZhbHVlIHRvIGJlIGNvbnZlcnRlZCB0byBiaWdpbnRcbiAqIEByZXR1cm5zIHtiaWdpbnR9IC0gYmlnaW50IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBoZXggdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhleFRvQmlnSW50KGhleDogc3RyaW5nKTogYmlnaW50IHtcbiAgLy8gU3RyYW5nZWx5IGJpZ2ludC50b1N0cmluZygxNikgZ2l2ZXMgYSBoZXggc3RyaW5nIHdpdGhvdXQgMHhcbiAgLy8gYnV0IGl0IHdvbid0IGFjY2VwdCB0aGUgc2FtZSBzdHJpbmcgd2l0aG91dCAweCB0byBjb252ZXJ0XG4gIC8vIHRvIGEgYmlnaW50IChCaWdJbnQoaGV4IHN0cmluZykpLiBTbyBoYXZlIHRvIGludHJvZHVjZSB0aGlzXG4gIC8vIGNoZWNrIHRvIGNvbnZlcnQgdG8gYWRkIDB4IGluIGNhc2UgaWYgaGV4IHN0cmluZ1xuICAvLyBkb2Vzbid0IGhhdmUgaXQuXG4gIGlmIChoZXguc2xpY2UoMCwgMikgPT09ICcweCcpIHtcbiAgICByZXR1cm4gQmlnSW50KGhleCk7XG4gIH1cbiAgcmV0dXJuIEJpZ0ludCgnMHgnICsgaGV4KTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBiYXNlNTggZGVjb2RlZCBzdHJpbmcgaXMgZXF1YWxlIHRvIGxlbmd0aFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIHN0cmluZyB0byBiZSBjaGVja2VkXG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoIC0gZXhwZWN0ZWQgZGVjb2RlZCBsZW5ndGhcbiAqIEByZXR1cm4ge2Jvb2xlYW59IGlmIHRoZSBzdHJpbmcgY2FuIGRlY29kZWQgYXMgYmFzZTU4IGFuZCBtYXRjaCB0aGUgZXhwZWN0ZWQgbGVuZ3RoXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQmFzZTU4KHZhbHVlOiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuICEhdmFsdWUgJiYgYnM1OC5kZWNvZGUodmFsdWUpLmxlbmd0aCA9PT0gbGVuZ3RoO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBhIFVpbnQ4QXJyYXkgb2YgdGhlIGdpdmVuIGhleCBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyIC0gdGhlIGhleCBzdHJpbmcgdG8gYmUgY29udmVydGVkXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIHRoZSBVaW50OEFycmF5IHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1VpbnQ4QXJyYXkoc3RyOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIGhleC5kZWNvZGUoc3RyKTtcbn1cbiJdfQ==
|
|
@@ -18,7 +18,8 @@ export declare enum Type {
|
|
|
18
18
|
USER_CHANGE_REQUEST = "userChangeRequest",
|
|
19
19
|
TRANSACTION_REQUEST = "transactionRequest",
|
|
20
20
|
POLICY_RULE_REQUEST = "policyRuleRequest",
|
|
21
|
-
UPDATE_APPROVALS_REQUIRED_REQUEST = "updateApprovalsRequiredRequest"
|
|
21
|
+
UPDATE_APPROVALS_REQUIRED_REQUEST = "updateApprovalsRequiredRequest",
|
|
22
|
+
TRANSACTION_REQUEST_FULL = "transactionRequestFull"
|
|
22
23
|
}
|
|
23
24
|
export interface ApproveOptions {
|
|
24
25
|
walletPassphrase?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iPendingApproval.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/pendingApproval/iPendingApproval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAED,oBAAY,KAAK;IACf,OAAO,YAAY;IACnB,kBAAkB,sBAAsB;IACxC,4BAA4B,8BAA8B;IAC1D,uBAAuB,0BAA0B;IACjD,0BAA0B,6BAA6B;IACvD,sBAAsB,yBAAyB;IAC/C,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,QAAQ,aAAa;CACtB;AAED,oBAAY,IAAI;IACd,mBAAmB,sBAAsB;IACzC,mBAAmB,uBAAuB;IAC1C,mBAAmB,sBAAsB;IACzC,iCAAiC,mCAAmC;
|
|
1
|
+
{"version":3,"file":"iPendingApproval.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/pendingApproval/iPendingApproval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAED,oBAAY,KAAK;IACf,OAAO,YAAY;IACnB,kBAAkB,sBAAsB;IACxC,4BAA4B,8BAA8B;IAC1D,uBAAuB,0BAA0B;IACjD,0BAA0B,6BAA6B;IACvD,sBAAsB,yBAAyB;IAC/C,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,QAAQ,aAAa;CACtB;AAED,oBAAY,IAAI;IACd,mBAAmB,sBAAsB;IACzC,mBAAmB,uBAAuB;IAC1C,mBAAmB,sBAAsB;IACzC,iCAAiC,mCAAmC;IACpE,wBAAwB,2BAA2B;CACpD;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,IAAI,CAAC;IACX,kBAAkB,CAAC,EAAE;QACnB,YAAY,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QACrC,UAAU,EAAE,GAAG,CAAC;QAChB,WAAW,EAAE;YACX,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;YAChC,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;SACtB,CAAC;QACF,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,IAAI,MAAM,CAAC;IACb,SAAS,IAAI,SAAS,CAAC;IACvB,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;IACnC,KAAK,IAAI,KAAK,CAAC;IACf,OAAO,IAAI,MAAM,CAAC;IAClB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,mBAAmB,CAAC;IAC5B,iBAAiB,IAAI,MAAM,CAAC;IAC5B,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/D,OAAO,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,6BAA6B,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzG,0BAA0B,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACxD"}
|
|
@@ -24,5 +24,6 @@ var Type;
|
|
|
24
24
|
Type["TRANSACTION_REQUEST"] = "transactionRequest";
|
|
25
25
|
Type["POLICY_RULE_REQUEST"] = "policyRuleRequest";
|
|
26
26
|
Type["UPDATE_APPROVALS_REQUIRED_REQUEST"] = "updateApprovalsRequiredRequest";
|
|
27
|
+
Type["TRANSACTION_REQUEST_FULL"] = "transactionRequestFull";
|
|
27
28
|
})(Type = exports.Type || (exports.Type = {}));
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVBlbmRpbmdBcHByb3ZhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9wZW5kaW5nQXBwcm92YWwvaVBlbmRpbmdBcHByb3ZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsOEJBQWlCLENBQUE7SUFDakIsc0NBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBR3BCO0FBRUQsSUFBWSxLQVVYO0FBVkQsV0FBWSxLQUFLO0lBQ2YsNEJBQW1CLENBQUE7SUFDbkIsaURBQXdDLENBQUE7SUFDeEMsbUVBQTBELENBQUE7SUFDMUQsMERBQWlELENBQUE7SUFDakQsZ0VBQXVELENBQUE7SUFDdkQsd0RBQStDLENBQUE7SUFDL0MsOEJBQXFCLENBQUE7SUFDckIsa0NBQXlCLENBQUE7SUFDekIsOEJBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVZXLEtBQUssR0FBTCxhQUFLLEtBQUwsYUFBSyxRQVVoQjtBQUVELElBQVksSUFNWDtBQU5ELFdBQVksSUFBSTtJQUNkLGlEQUF5QyxDQUFBO0lBQ3pDLGtEQUEwQyxDQUFBO0lBQzFDLGlEQUF5QyxDQUFBO0lBQ3pDLDRFQUFvRSxDQUFBO0lBQ3BFLDJEQUFtRCxDQUFBO0FBQ3JELENBQUMsRUFOVyxJQUFJLEdBQUosWUFBSSxLQUFKLFlBQUksUUFNZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZXF1ZXN0VHJhY2VyIH0gZnJvbSAnLi4vLi4vYXBpJztcblxuZXhwb3J0IGVudW0gT3duZXJUeXBlIHtcbiAgV0FMTEVUID0gJ3dhbGxldCcsXG4gIEVOVEVSUFJJU0UgPSAnZW50ZXJwcmlzZScsXG59XG5cbmV4cG9ydCBlbnVtIFN0YXRlIHtcbiAgUEVORElORyA9ICdwZW5kaW5nJyxcbiAgQVdBSVRJTkdfU0lHTkFUVVJFID0gJ2F3YWl0aW5nU2lnbmF0dXJlJyxcbiAgUEVORElOR19CSVRHT19BRE1JTl9BUFBST1ZBTCA9ICdwZW5kaW5nQml0R29BZG1pbkFwcHJvdmFsJyxcbiAgUEVORElOR19JRF9WRVJJRklDQVRJT04gPSAncGVuZGluZ0lkVmVyaWZpY2F0aW9uJyxcbiAgUEVORElOR19DVVNUT0RJQU5fQVBQUk9WQUwgPSAncGVuZGluZ0N1c3RvZGlhbkFwcHJvdmFsJyxcbiAgUEVORElOR19GSU5BTF9BUFBST1ZBTCA9ICdwZW5kaW5nRmluYWxBcHByb3ZhbCcsXG4gIEFQUFJPVkVEID0gJ2FwcHJvdmVkJyxcbiAgUFJPQ0VTU0lORyA9ICdwcm9jZXNzaW5nJyxcbiAgUkVKRUNURUQgPSAncmVqZWN0ZWQnLFxufVxuXG5leHBvcnQgZW51bSBUeXBlIHtcbiAgVVNFUl9DSEFOR0VfUkVRVUVTVCA9ICd1c2VyQ2hhbmdlUmVxdWVzdCcsXG4gIFRSQU5TQUNUSU9OX1JFUVVFU1QgPSAndHJhbnNhY3Rpb25SZXF1ZXN0JyxcbiAgUE9MSUNZX1JVTEVfUkVRVUVTVCA9ICdwb2xpY3lSdWxlUmVxdWVzdCcsXG4gIFVQREFURV9BUFBST1ZBTFNfUkVRVUlSRURfUkVRVUVTVCA9ICd1cGRhdGVBcHByb3ZhbHNSZXF1aXJlZFJlcXVlc3QnLFxuICBUUkFOU0FDVElPTl9SRVFVRVNUX0ZVTEwgPSAndHJhbnNhY3Rpb25SZXF1ZXN0RnVsbCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwcm92ZU9wdGlvbnMge1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIHR4Pzogc3RyaW5nO1xuICB4cHJ2Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlbmRpbmdBcHByb3ZhbEluZm8ge1xuICB0eXBlOiBUeXBlO1xuICB0cmFuc2FjdGlvblJlcXVlc3Q/OiB7XG4gICAgY29pblNwZWNpZmljOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICAgIHJlY2lwaWVudHM6IGFueTtcbiAgICBidWlsZFBhcmFtczoge1xuICAgICAgdHlwZT86ICdmYW5vdXQnIHwgJ2NvbnNvbGlkYXRlJztcbiAgICAgIFtpbmRleDogc3RyaW5nXTogYW55O1xuICAgIH07XG4gICAgc291cmNlV2FsbGV0Pzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlbmRpbmdBcHByb3ZhbERhdGEge1xuICBpZDogc3RyaW5nO1xuICB3YWxsZXQ/OiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gIHN0YXRlOiBTdGF0ZTtcbiAgY3JlYXRvcjogc3RyaW5nO1xuICBpbmZvOiBQZW5kaW5nQXBwcm92YWxJbmZvO1xuICBhcHByb3ZhbHNSZXF1aXJlZD86IG51bWJlcjtcbiAgdHhSZXF1ZXN0SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlbmRpbmdBcHByb3ZhbCB7XG4gIGlkKCk6IHN0cmluZztcbiAgb3duZXJUeXBlKCk6IE93bmVyVHlwZTtcbiAgd2FsbGV0SWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBlbnRlcnByaXNlSWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBzdGF0ZSgpOiBTdGF0ZTtcbiAgY3JlYXRvcigpOiBzdHJpbmc7XG4gIHR5cGUoKTogVHlwZTtcbiAgaW5mbygpOiBQZW5kaW5nQXBwcm92YWxJbmZvO1xuICBhcHByb3ZhbHNSZXF1aXJlZCgpOiBudW1iZXI7XG4gIHVybChleHRyYT86IHN0cmluZyk6IHN0cmluZztcbiAgZ2V0KHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIG5ldmVyPik6IFByb21pc2U8SVBlbmRpbmdBcHByb3ZhbD47XG4gIGFwcHJvdmUocGFyYW1zPzogQXBwcm92ZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHJlamVjdChwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPGFueT47XG4gIGNhbmNlbChwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPGFueT47XG4gIHJlY3JlYXRlQW5kU2lnblRTU1RyYW5zYWN0aW9uKHBhcmFtczogQXBwcm92ZU9wdGlvbnMsIHJlcUlkOiBJUmVxdWVzdFRyYWNlcik6IFByb21pc2U8eyB0eEhleDogc3RyaW5nIH0+O1xuICByZWNyZWF0ZUFuZFNpZ25UcmFuc2FjdGlvbihwYXJhbXM/OiBhbnkpOiBQcm9taXNlPGFueT47XG59XG4iXX0=
|
|
@@ -5,31 +5,22 @@ declare type KeyShare = ECDSA.KeyShare;
|
|
|
5
5
|
* Combines NShares to combine the final TSS key
|
|
6
6
|
* This can only be used to create the User or Backup key since it requires the common keychain from BitGo first
|
|
7
7
|
*
|
|
8
|
-
* @param
|
|
9
|
-
* @param
|
|
10
|
-
* @param
|
|
8
|
+
* @param keyShare - TSS key share
|
|
9
|
+
* @param encryptedNShares - encrypted NShares with information on how to decrypt
|
|
10
|
+
* @param commonKeychain - expected common keychain of the combined key
|
|
11
11
|
* @returns {CombinedKey} combined TSS key
|
|
12
12
|
*/
|
|
13
|
-
export declare function createCombinedKey(
|
|
14
|
-
keyShare: KeyShare;
|
|
15
|
-
encryptedNShares: DecryptableNShare[];
|
|
16
|
-
commonKeychain: string;
|
|
17
|
-
}): Promise<CombinedKey>;
|
|
13
|
+
export declare function createCombinedKey(keyShare: KeyShare, encryptedNShares: DecryptableNShare[], commonKeychain: string): Promise<CombinedKey>;
|
|
18
14
|
/**
|
|
19
15
|
* Prepares a NShare to be exchanged with other key holders.
|
|
20
16
|
* Output is in a format that is usable within BitGo's ecosystem.
|
|
21
17
|
*
|
|
22
|
-
* @param
|
|
23
|
-
* @param
|
|
24
|
-
* @param
|
|
25
|
-
* @param
|
|
18
|
+
* @param keyShare - TSS key share of the party preparing exchange materials
|
|
19
|
+
* @param recipientIndex - index of the recipient (1, 2, or 3)
|
|
20
|
+
* @param recipientGpgPublicArmor - recipient's public gpg key in armor format
|
|
21
|
+
* @param senderGpgPrivateArmor - sender's private gpg key in armor format
|
|
26
22
|
* @returns { EncryptedNShare } encrypted Y Share
|
|
27
23
|
*/
|
|
28
|
-
export declare function encryptNShare(
|
|
29
|
-
keyShare: KeyShare;
|
|
30
|
-
recipientIndex: number;
|
|
31
|
-
recipientGpgPublicArmor: string;
|
|
32
|
-
senderGpgPrivateArmor: string;
|
|
33
|
-
}): Promise<EncryptedNShare>;
|
|
24
|
+
export declare function encryptNShare(keyShare: KeyShare, recipientIndex: number, recipientGpgPublicArmor: string, senderGpgPrivateArmor: string): Promise<EncryptedNShare>;
|
|
34
25
|
export {};
|
|
35
26
|
//# sourceMappingURL=ecdsa.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAS,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAC;AAI3F,aAAK,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAS,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAC;AAI3F,aAAK,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AAE/B;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,iBAAiB,EAAE,EACrC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,CAAC,CA8DtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,MAAM,EACtB,uBAAuB,EAAE,MAAM,EAC/B,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,eAAe,CAAC,CAiB1B"}
|
|
@@ -7,14 +7,13 @@ const utils_1 = require("./../../utils");
|
|
|
7
7
|
* Combines NShares to combine the final TSS key
|
|
8
8
|
* This can only be used to create the User or Backup key since it requires the common keychain from BitGo first
|
|
9
9
|
*
|
|
10
|
-
* @param
|
|
11
|
-
* @param
|
|
12
|
-
* @param
|
|
10
|
+
* @param keyShare - TSS key share
|
|
11
|
+
* @param encryptedNShares - encrypted NShares with information on how to decrypt
|
|
12
|
+
* @param commonKeychain - expected common keychain of the combined key
|
|
13
13
|
* @returns {CombinedKey} combined TSS key
|
|
14
14
|
*/
|
|
15
|
-
async function createCombinedKey(
|
|
15
|
+
async function createCombinedKey(keyShare, encryptedNShares, commonKeychain) {
|
|
16
16
|
const MPC = new tss_1.Ecdsa();
|
|
17
|
-
const { keyShare, encryptedNShares, commonKeychain } = params;
|
|
18
17
|
const nShares = [];
|
|
19
18
|
let bitgoNShare;
|
|
20
19
|
let userNShare;
|
|
@@ -24,10 +23,10 @@ async function createCombinedKey(params) {
|
|
|
24
23
|
const nShare = {
|
|
25
24
|
i: encryptedNShare.nShare.i,
|
|
26
25
|
j: encryptedNShare.nShare.j,
|
|
27
|
-
y: encryptedNShare.nShare.publicShare,
|
|
26
|
+
y: encryptedNShare.nShare.publicShare.slice(0, 65),
|
|
28
27
|
u: privateShare,
|
|
29
|
-
n: encryptedNShare.nShare.
|
|
30
|
-
chaincode: encryptedNShare.nShare.
|
|
28
|
+
n: encryptedNShare.nShare.publicShare.slice(129),
|
|
29
|
+
chaincode: encryptedNShare.nShare.publicShare.slice(65, 129),
|
|
31
30
|
};
|
|
32
31
|
switch (encryptedNShare.nShare.j) {
|
|
33
32
|
case 1:
|
|
@@ -67,29 +66,26 @@ exports.createCombinedKey = createCombinedKey;
|
|
|
67
66
|
* Prepares a NShare to be exchanged with other key holders.
|
|
68
67
|
* Output is in a format that is usable within BitGo's ecosystem.
|
|
69
68
|
*
|
|
70
|
-
* @param
|
|
71
|
-
* @param
|
|
72
|
-
* @param
|
|
73
|
-
* @param
|
|
69
|
+
* @param keyShare - TSS key share of the party preparing exchange materials
|
|
70
|
+
* @param recipientIndex - index of the recipient (1, 2, or 3)
|
|
71
|
+
* @param recipientGpgPublicArmor - recipient's public gpg key in armor format
|
|
72
|
+
* @param senderGpgPrivateArmor - sender's private gpg key in armor format
|
|
74
73
|
* @returns { EncryptedNShare } encrypted Y Share
|
|
75
74
|
*/
|
|
76
|
-
async function encryptNShare(
|
|
77
|
-
const { keyShare, recipientIndex, recipientGpgPublicArmor, senderGpgPrivateArmor } = params;
|
|
75
|
+
async function encryptNShare(keyShare, recipientIndex, recipientGpgPublicArmor, senderGpgPrivateArmor) {
|
|
78
76
|
const nShare = keyShare.nShares[recipientIndex];
|
|
79
77
|
if (!nShare) {
|
|
80
78
|
throw new Error('Invalid recipient');
|
|
81
79
|
}
|
|
82
|
-
const publicShare = keyShare.pShare.y;
|
|
80
|
+
const publicShare = keyShare.pShare.y + nShare.chaincode + nShare.n;
|
|
83
81
|
const privateShare = nShare.u;
|
|
84
82
|
const encryptedPrivateShare = await utils_1.encryptAndSignText(privateShare, recipientGpgPublicArmor, senderGpgPrivateArmor);
|
|
85
83
|
return {
|
|
86
84
|
i: nShare.i,
|
|
87
85
|
j: nShare.j,
|
|
88
|
-
n: nShare.n,
|
|
89
86
|
publicShare,
|
|
90
87
|
encryptedPrivateShare,
|
|
91
|
-
chaincode: nShare.chaincode,
|
|
92
88
|
};
|
|
93
89
|
}
|
|
94
90
|
exports.encryptNShare = encryptNShare;
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VjZHNhL2VjZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUE4RDtBQUU5RCx5Q0FBc0U7QUFLdEU7Ozs7Ozs7O0dBUUc7QUFDSSxLQUFLLFVBQVUsaUJBQWlCLENBQ3JDLFFBQWtCLEVBQ2xCLGdCQUFxQyxFQUNyQyxjQUFzQjtJQUV0QixNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQUssRUFBRSxDQUFDO0lBRXhCLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUU3QixJQUFJLFdBQStCLENBQUM7SUFDcEMsSUFBSSxVQUE4QixDQUFDO0lBQ25DLElBQUksWUFBZ0MsQ0FBQztJQUVyQyxLQUFLLE1BQU0sZUFBZSxJQUFJLGdCQUFnQixFQUFFO1FBQzlDLE1BQU0sWUFBWSxHQUFHLE1BQU0seUJBQWlCLENBQzFDLGVBQWUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQzVDLGVBQWUsQ0FBQyxpQkFBaUIsRUFDakMsZUFBZSxDQUFDLHFCQUFxQixDQUN0QyxDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQVc7WUFDckIsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLENBQUMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNsRCxDQUFDLEVBQUUsWUFBWTtZQUNmLENBQUMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQ2hELFNBQVMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQztTQUM3RCxDQUFDO1FBRUYsUUFBUSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRTtZQUNoQyxLQUFLLENBQUM7Z0JBQ0osVUFBVSxHQUFHLE1BQU0sQ0FBQztnQkFDcEIsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixZQUFZLEdBQUcsTUFBTSxDQUFDO2dCQUN0QixNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLFdBQVcsR0FBRyxNQUFNLENBQUM7Z0JBQ3JCLE1BQU07WUFDUjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDM0M7UUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ3RCO0lBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FDMUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0QsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsS0FBSyxjQUFjLEVBQUU7UUFDMUUsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsTUFBTSxlQUFlLEdBQW9CO1FBQ3ZDLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtRQUN2QixXQUFXO1FBQ1gsWUFBWTtRQUNaLFVBQVU7S0FDWCxDQUFDO0lBRUYsT0FBTztRQUNMLGVBQWU7UUFDZixjQUFjO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFsRUQsOENBa0VDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0ksS0FBSyxVQUFVLGFBQWEsQ0FDakMsUUFBa0IsRUFDbEIsY0FBc0IsRUFDdEIsdUJBQStCLEVBQy9CLHFCQUE2QjtJQUU3QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDdEM7SUFFRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDcEUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUU5QixNQUFNLHFCQUFxQixHQUFHLE1BQU0sMEJBQWtCLENBQUMsWUFBWSxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFFckgsT0FBTztRQUNMLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNYLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNYLFdBQVc7UUFDWCxxQkFBcUI7S0FDdEIsQ0FBQztBQUNKLENBQUM7QUF0QkQsc0NBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUNEU0EsIEVjZHNhIH0gZnJvbSAnLi8uLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMvdHNzJztcbmltcG9ydCB7IERlY3J5cHRhYmxlTlNoYXJlLCBDb21iaW5lZEtleSwgU2lnbmluZ01hdGVyaWFsLCBFbmNyeXB0ZWROU2hhcmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGVuY3J5cHRBbmRTaWduVGV4dCwgcmVhZFNpZ25lZE1lc3NhZ2UgfSBmcm9tICcuLy4uLy4uL3V0aWxzJztcblxudHlwZSBOU2hhcmUgPSBFQ0RTQS5OU2hhcmU7XG50eXBlIEtleVNoYXJlID0gRUNEU0EuS2V5U2hhcmU7XG5cbi8qKlxuICogQ29tYmluZXMgTlNoYXJlcyB0byBjb21iaW5lIHRoZSBmaW5hbCBUU1Mga2V5XG4gKiBUaGlzIGNhbiBvbmx5IGJlIHVzZWQgdG8gY3JlYXRlIHRoZSBVc2VyIG9yIEJhY2t1cCBrZXkgc2luY2UgaXQgcmVxdWlyZXMgdGhlIGNvbW1vbiBrZXljaGFpbiBmcm9tIEJpdEdvIGZpcnN0XG4gKlxuICogQHBhcmFtIGtleVNoYXJlIC0gVFNTIGtleSBzaGFyZVxuICogQHBhcmFtIGVuY3J5cHRlZE5TaGFyZXMgLSBlbmNyeXB0ZWQgTlNoYXJlcyB3aXRoIGluZm9ybWF0aW9uIG9uIGhvdyB0byBkZWNyeXB0XG4gKiBAcGFyYW0gY29tbW9uS2V5Y2hhaW4gLSBleHBlY3RlZCBjb21tb24ga2V5Y2hhaW4gb2YgdGhlIGNvbWJpbmVkIGtleVxuICogQHJldHVybnMge0NvbWJpbmVkS2V5fSBjb21iaW5lZCBUU1Mga2V5XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVDb21iaW5lZEtleShcbiAga2V5U2hhcmU6IEtleVNoYXJlLFxuICBlbmNyeXB0ZWROU2hhcmVzOiBEZWNyeXB0YWJsZU5TaGFyZVtdLFxuICBjb21tb25LZXljaGFpbjogc3RyaW5nXG4pOiBQcm9taXNlPENvbWJpbmVkS2V5PiB7XG4gIGNvbnN0IE1QQyA9IG5ldyBFY2RzYSgpO1xuXG4gIGNvbnN0IG5TaGFyZXM6IE5TaGFyZVtdID0gW107XG5cbiAgbGV0IGJpdGdvTlNoYXJlOiBOU2hhcmUgfCB1bmRlZmluZWQ7XG4gIGxldCB1c2VyTlNoYXJlOiBOU2hhcmUgfCB1bmRlZmluZWQ7XG4gIGxldCBiYWNrdXBOU2hhcmU6IE5TaGFyZSB8IHVuZGVmaW5lZDtcblxuICBmb3IgKGNvbnN0IGVuY3J5cHRlZE5TaGFyZSBvZiBlbmNyeXB0ZWROU2hhcmVzKSB7XG4gICAgY29uc3QgcHJpdmF0ZVNoYXJlID0gYXdhaXQgcmVhZFNpZ25lZE1lc3NhZ2UoXG4gICAgICBlbmNyeXB0ZWROU2hhcmUublNoYXJlLmVuY3J5cHRlZFByaXZhdGVTaGFyZSxcbiAgICAgIGVuY3J5cHRlZE5TaGFyZS5zZW5kZXJQdWJsaWNBcm1vcixcbiAgICAgIGVuY3J5cHRlZE5TaGFyZS5yZWNpcGllbnRQcml2YXRlQXJtb3JcbiAgICApO1xuXG4gICAgY29uc3QgblNoYXJlOiBOU2hhcmUgPSB7XG4gICAgICBpOiBlbmNyeXB0ZWROU2hhcmUublNoYXJlLmksXG4gICAgICBqOiBlbmNyeXB0ZWROU2hhcmUublNoYXJlLmosXG4gICAgICB5OiBlbmNyeXB0ZWROU2hhcmUublNoYXJlLnB1YmxpY1NoYXJlLnNsaWNlKDAsIDY1KSxcbiAgICAgIHU6IHByaXZhdGVTaGFyZSxcbiAgICAgIG46IGVuY3J5cHRlZE5TaGFyZS5uU2hhcmUucHVibGljU2hhcmUuc2xpY2UoMTI5KSxcbiAgICAgIGNoYWluY29kZTogZW5jcnlwdGVkTlNoYXJlLm5TaGFyZS5wdWJsaWNTaGFyZS5zbGljZSg2NSwgMTI5KSxcbiAgICB9O1xuXG4gICAgc3dpdGNoIChlbmNyeXB0ZWROU2hhcmUublNoYXJlLmopIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgdXNlck5TaGFyZSA9IG5TaGFyZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIGJhY2t1cE5TaGFyZSA9IG5TaGFyZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIGJpdGdvTlNoYXJlID0gblNoYXJlO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBOU2hhcmUgaW5kZXgnKTtcbiAgICB9XG5cbiAgICBuU2hhcmVzLnB1c2goblNoYXJlKTtcbiAgfVxuXG4gIGlmICghYml0Z29OU2hhcmUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28gTiBTaGFyZScpO1xuICB9XG5cbiAgY29uc3QgY29tYmluZWRLZXkgPSBNUEMua2V5Q29tYmluZShrZXlTaGFyZS5wU2hhcmUsIG5TaGFyZXMpO1xuICBpZiAoY29tYmluZWRLZXkueFNoYXJlLnkgKyBjb21iaW5lZEtleS54U2hhcmUuY2hhaW5jb2RlICE9PSBjb21tb25LZXljaGFpbikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ29tbW9uIGtleWNoYWlucyBkbyBub3QgbWF0Y2gnKTtcbiAgfVxuXG4gIGNvbnN0IHNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0ge1xuICAgIHBTaGFyZToga2V5U2hhcmUucFNoYXJlLFxuICAgIGJpdGdvTlNoYXJlLFxuICAgIGJhY2t1cE5TaGFyZSxcbiAgICB1c2VyTlNoYXJlLFxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgc2lnbmluZ01hdGVyaWFsLFxuICAgIGNvbW1vbktleWNoYWluLFxuICB9O1xufVxuXG4vKipcbiAqIFByZXBhcmVzIGEgTlNoYXJlIHRvIGJlIGV4Y2hhbmdlZCB3aXRoIG90aGVyIGtleSBob2xkZXJzLlxuICogT3V0cHV0IGlzIGluIGEgZm9ybWF0IHRoYXQgaXMgdXNhYmxlIHdpdGhpbiBCaXRHbydzIGVjb3N5c3RlbS5cbiAqXG4gKiBAcGFyYW0ga2V5U2hhcmUgLSBUU1Mga2V5IHNoYXJlIG9mIHRoZSBwYXJ0eSBwcmVwYXJpbmcgZXhjaGFuZ2UgbWF0ZXJpYWxzXG4gKiBAcGFyYW0gcmVjaXBpZW50SW5kZXggLSBpbmRleCBvZiB0aGUgcmVjaXBpZW50ICgxLCAyLCBvciAzKVxuICogQHBhcmFtIHJlY2lwaWVudEdwZ1B1YmxpY0FybW9yIC0gcmVjaXBpZW50J3MgcHVibGljIGdwZyBrZXkgaW4gYXJtb3IgZm9ybWF0XG4gKiBAcGFyYW0gc2VuZGVyR3BnUHJpdmF0ZUFybW9yIC0gc2VuZGVyJ3MgcHJpdmF0ZSBncGcga2V5IGluIGFybW9yIGZvcm1hdFxuICogQHJldHVybnMgeyBFbmNyeXB0ZWROU2hhcmUgfSBlbmNyeXB0ZWQgWSBTaGFyZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5jcnlwdE5TaGFyZShcbiAga2V5U2hhcmU6IEtleVNoYXJlLFxuICByZWNpcGllbnRJbmRleDogbnVtYmVyLFxuICByZWNpcGllbnRHcGdQdWJsaWNBcm1vcjogc3RyaW5nLFxuICBzZW5kZXJHcGdQcml2YXRlQXJtb3I6IHN0cmluZ1xuKTogUHJvbWlzZTxFbmNyeXB0ZWROU2hhcmU+IHtcbiAgY29uc3QgblNoYXJlID0ga2V5U2hhcmUublNoYXJlc1tyZWNpcGllbnRJbmRleF07XG4gIGlmICghblNoYXJlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlY2lwaWVudCcpO1xuICB9XG5cbiAgY29uc3QgcHVibGljU2hhcmUgPSBrZXlTaGFyZS5wU2hhcmUueSArIG5TaGFyZS5jaGFpbmNvZGUgKyBuU2hhcmUubjtcbiAgY29uc3QgcHJpdmF0ZVNoYXJlID0gblNoYXJlLnU7XG5cbiAgY29uc3QgZW5jcnlwdGVkUHJpdmF0ZVNoYXJlID0gYXdhaXQgZW5jcnlwdEFuZFNpZ25UZXh0KHByaXZhdGVTaGFyZSwgcmVjaXBpZW50R3BnUHVibGljQXJtb3IsIHNlbmRlckdwZ1ByaXZhdGVBcm1vcik7XG5cbiAgcmV0dXJuIHtcbiAgICBpOiBuU2hhcmUuaSxcbiAgICBqOiBuU2hhcmUuaixcbiAgICBwdWJsaWNTaGFyZSxcbiAgICBlbmNyeXB0ZWRQcml2YXRlU2hhcmUsXG4gIH07XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,gBAAgB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,gBAAgB,MAAM,SAAS,CAAC;AAC5C,eAAe,YAAY,CAAC"}
|
|
@@ -23,4 +23,4 @@ exports.ECDSAMethodTypes = void 0;
|
|
|
23
23
|
const ECDSAMethods = __importStar(require("./ecdsa"));
|
|
24
24
|
exports.ECDSAMethodTypes = __importStar(require("./types"));
|
|
25
25
|
exports.default = ECDSAMethods;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VjZHNhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBd0M7QUFFeEMsNERBQTRDO0FBQzVDLGtCQUFlLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEVDRFNBTWV0aG9kcyBmcm9tICcuL2VjZHNhJztcblxuZXhwb3J0ICogYXMgRUNEU0FNZXRob2RUeXBlcyBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IEVDRFNBTWV0aG9kcztcbiJdfQ==
|
|
@@ -2,10 +2,8 @@ import { ECDSA } from './../../../account-lib/mpc/tss';
|
|
|
2
2
|
export declare type EncryptedNShare = {
|
|
3
3
|
i: number;
|
|
4
4
|
j: number;
|
|
5
|
-
n: string;
|
|
6
5
|
publicShare: string;
|
|
7
6
|
encryptedPrivateShare: string;
|
|
8
|
-
chaincode: string;
|
|
9
7
|
};
|
|
10
8
|
export declare type DecryptableNShare = {
|
|
11
9
|
nShare: EncryptedNShare;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAGvD,oBAAY,eAAe,GAAG;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAGvD,oBAAY,eAAe,GAAG;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IAEpB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAGF,oBAAY,iBAAiB,GAAG;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAGF,oBAAY,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAGF,oBAAY,eAAe,GAAG;IAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;CAC3B,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IACzB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VjZHNhL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ0RTQSB9IGZyb20gJy4vLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjL3Rzcyc7XG5cbi8vIE5TaGFyZSB0aGF0IGhhcyBiZWVuIGVuY3J5cHRlZCBhbmQgc2lnbmVkIHZpYSBHUEdcbmV4cG9ydCB0eXBlIEVuY3J5cHRlZE5TaGFyZSA9IHtcbiAgaTogbnVtYmVyO1xuICBqOiBudW1iZXI7XG4gIHB1YmxpY1NoYXJlOiBzdHJpbmc7XG4gIC8vIHNpZ25lZCBhbmQgZW5jcnlwdGVkIGdwZyBhcm1vclxuICBlbmNyeXB0ZWRQcml2YXRlU2hhcmU6IHN0cmluZztcbn07XG5cbi8vIE5TaGFyZSB3aXRoIGluZm9ybWF0aW9uIG5lZWRlZCB0byBkZWNyeXB0IGFuZCB2ZXJpZnkgYSBHUEcgbWVzYXNnZVxuZXhwb3J0IHR5cGUgRGVjcnlwdGFibGVOU2hhcmUgPSB7XG4gIG5TaGFyZTogRW5jcnlwdGVkTlNoYXJlO1xuICByZWNpcGllbnRQcml2YXRlQXJtb3I6IHN0cmluZztcbiAgc2VuZGVyUHVibGljQXJtb3I6IHN0cmluZztcbn07XG5cbi8vIEZpbmFsIFRTUyBcIktleXBhaXJcIlxuZXhwb3J0IHR5cGUgQ29tYmluZWRLZXkgPSB7XG4gIGNvbW1vbktleWNoYWluOiBzdHJpbmc7XG4gIHNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsO1xufTtcblxuLy8gUHJpdmF0ZSBwb3J0aW9uIG9mIGEgVFNTIGtleSwgdGhpcyBtdXN0IGJlIGhhbmRsZWQgbGlrZSBhbnkgb3RoZXIgcHJpdmF0ZSBrZXlcbmV4cG9ydCB0eXBlIFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgcFNoYXJlOiBFQ0RTQS5QU2hhcmU7XG4gIGJpdGdvTlNoYXJlOiBFQ0RTQS5OU2hhcmU7XG4gIGJhY2t1cE5TaGFyZT86IEVDRFNBLk5TaGFyZTtcbiAgdXNlck5TaGFyZT86IEVDRFNBLk5TaGFyZTtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNvbWJpbmVkS2V5UGFyYW1zID0ge1xuICBrZXlTaGFyZTogRUNEU0EuS2V5U2hhcmU7XG4gIGVuY3J5cHRlZE5TaGFyZXM6IERlY3J5cHRhYmxlTlNoYXJlW107XG4gIGNvbW1vbktleWNoYWluOiBzdHJpbmc7XG59O1xuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ECDSA } from '../../../../account-lib/mpc/tss';
|
|
2
|
+
import { SerializedKeyPair } from 'openpgp';
|
|
3
|
+
import { Keychain } from '../../../keychain';
|
|
4
|
+
import { MpcUtils } from '../../../utils/mpcUtils';
|
|
5
|
+
import * as openpgp from 'openpgp';
|
|
6
|
+
import { IBaseCoin, KeychainsTriplet } from '../../../baseCoin';
|
|
7
|
+
import { IWallet } from '../../../wallet';
|
|
8
|
+
import { BitGoBase } from '../../../bitgoBase';
|
|
9
|
+
import { IEcdsaUtils } from './types';
|
|
10
|
+
declare type KeyShare = ECDSA.KeyShare;
|
|
11
|
+
/** @inheritdoc */
|
|
12
|
+
export declare class EcdsaUtils extends MpcUtils implements IEcdsaUtils {
|
|
13
|
+
private _wallet?;
|
|
14
|
+
constructor(bitgo: BitGoBase, baseCoin: IBaseCoin, wallet?: IWallet);
|
|
15
|
+
private get wallet();
|
|
16
|
+
/** @inheritdoc */
|
|
17
|
+
createKeychains(params: {
|
|
18
|
+
passphrase: string;
|
|
19
|
+
enterprise?: string | undefined;
|
|
20
|
+
originalPasscodeEncryptionCode?: string | undefined;
|
|
21
|
+
}): Promise<KeychainsTriplet>;
|
|
22
|
+
/** @inheritdoc */
|
|
23
|
+
createBitgoKeychain(userGpgKey: SerializedKeyPair<string>, userKeyShare: KeyShare, backupKeyShare: KeyShare, enterprise?: string): Promise<Keychain>;
|
|
24
|
+
/** @inheritdoc */
|
|
25
|
+
createParticipantKeychain(userGpgKey: openpgp.SerializedKeyPair<string>, recipientIndex: number, userKeyShare: KeyShare, backupKeyShare: KeyShare, bitgoKeychain: Keychain, passphrase: string, originalPasscodeEncryptionCode?: string): Promise<Keychain>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=ecdsa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAsB,QAAQ,EAAW,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,aAAK,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AAI/B,kBAAkB;AAClB,qBAAa,UAAW,SAAQ,QAAS,YAAW,WAAW;IAC7D,OAAO,CAAC,OAAO,CAAC,CAAU;gBAEd,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO;IAKnE,OAAO,KAAK,MAAM,GAKjB;IAED,kBAAkB;IACZ,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,8BAA8B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACrD,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkD7B,kBAAkB;IACZ,mBAAmB,CACvB,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACrC,YAAY,EAAE,QAAQ,EACtB,cAAc,EAAE,QAAQ,EACxB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,CAAC;IA0CpB,kBAAkB;IACZ,yBAAyB,CAC7B,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC7C,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,QAAQ,EACtB,cAAc,EAAE,QAAQ,EACxB,aAAa,EAAE,QAAQ,EACvB,UAAU,EAAE,MAAM,EAClB,8BAA8B,CAAC,EAAE,MAAM,GACtC,OAAO,CAAC,QAAQ,CAAC;CA6ErB"}
|