@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.
Files changed (50) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.d.ts +1 -1
  3. package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.js +1 -1
  4. package/dist/src/account-lib/baseCoin/errors.d.ts +1 -1
  5. package/dist/src/account-lib/baseCoin/errors.js +2 -2
  6. package/dist/src/account-lib/index.d.ts +1 -0
  7. package/dist/src/account-lib/index.d.ts.map +1 -1
  8. package/dist/src/account-lib/index.js +2 -1
  9. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  10. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +61 -58
  11. package/dist/src/account-lib/staking/index.d.ts +2 -0
  12. package/dist/src/account-lib/staking/index.d.ts.map +1 -0
  13. package/dist/src/account-lib/staking/index.js +14 -0
  14. package/dist/src/account-lib/staking/utils.d.ts +19 -0
  15. package/dist/src/account-lib/staking/utils.d.ts.map +1 -0
  16. package/dist/src/account-lib/staking/utils.js +98 -0
  17. package/dist/src/account-lib/util/crypto.d.ts +7 -0
  18. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  19. package/dist/src/account-lib/util/crypto.js +20 -2
  20. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +2 -1
  21. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  22. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +2 -1
  23. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +9 -18
  24. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  25. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +14 -18
  26. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  27. package/dist/src/bitgo/tss/ecdsa/index.js +1 -1
  28. package/dist/src/bitgo/tss/ecdsa/types.d.ts +0 -2
  29. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  30. package/dist/src/bitgo/tss/ecdsa/types.js +1 -1
  31. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +28 -0
  32. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -0
  33. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +168 -0
  34. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +3 -0
  35. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -0
  36. package/dist/src/bitgo/utils/tss/ecdsa/index.js +15 -0
  37. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +39 -0
  38. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -0
  39. package/dist/src/bitgo/utils/tss/ecdsa/types.js +3 -0
  40. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +20 -5
  41. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  42. package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
  43. package/dist/src/bitgo/utils/tss/index.d.ts +1 -0
  44. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  45. package/dist/src/bitgo/utils/tss/index.js +3 -2
  46. package/dist/src/bitgo/wallet/iWallet.d.ts +1 -1
  47. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  48. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  49. package/dist/tsconfig.tsbuildinfo +608 -99
  50. 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;CACrE;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"}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVBlbmRpbmdBcHByb3ZhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9wZW5kaW5nQXBwcm92YWwvaVBlbmRpbmdBcHByb3ZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsOEJBQWlCLENBQUE7SUFDakIsc0NBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBR3BCO0FBRUQsSUFBWSxLQVVYO0FBVkQsV0FBWSxLQUFLO0lBQ2YsNEJBQW1CLENBQUE7SUFDbkIsaURBQXdDLENBQUE7SUFDeEMsbUVBQTBELENBQUE7SUFDMUQsMERBQWlELENBQUE7SUFDakQsZ0VBQXVELENBQUE7SUFDdkQsd0RBQStDLENBQUE7SUFDL0MsOEJBQXFCLENBQUE7SUFDckIsa0NBQXlCLENBQUE7SUFDekIsOEJBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVZXLEtBQUssR0FBTCxhQUFLLEtBQUwsYUFBSyxRQVVoQjtBQUVELElBQVksSUFLWDtBQUxELFdBQVksSUFBSTtJQUNkLGlEQUF5QyxDQUFBO0lBQ3pDLGtEQUEwQyxDQUFBO0lBQzFDLGlEQUF5QyxDQUFBO0lBQ3pDLDRFQUFvRSxDQUFBO0FBQ3RFLENBQUMsRUFMVyxJQUFJLEdBQUosWUFBSSxLQUFKLFlBQUksUUFLZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZXF1ZXN0VHJhY2VyIH0gZnJvbSAnLi4vLi4vYXBpJztcblxuZXhwb3J0IGVudW0gT3duZXJUeXBlIHtcbiAgV0FMTEVUID0gJ3dhbGxldCcsXG4gIEVOVEVSUFJJU0UgPSAnZW50ZXJwcmlzZScsXG59XG5cbmV4cG9ydCBlbnVtIFN0YXRlIHtcbiAgUEVORElORyA9ICdwZW5kaW5nJyxcbiAgQVdBSVRJTkdfU0lHTkFUVVJFID0gJ2F3YWl0aW5nU2lnbmF0dXJlJyxcbiAgUEVORElOR19CSVRHT19BRE1JTl9BUFBST1ZBTCA9ICdwZW5kaW5nQml0R29BZG1pbkFwcHJvdmFsJyxcbiAgUEVORElOR19JRF9WRVJJRklDQVRJT04gPSAncGVuZGluZ0lkVmVyaWZpY2F0aW9uJyxcbiAgUEVORElOR19DVVNUT0RJQU5fQVBQUk9WQUwgPSAncGVuZGluZ0N1c3RvZGlhbkFwcHJvdmFsJyxcbiAgUEVORElOR19GSU5BTF9BUFBST1ZBTCA9ICdwZW5kaW5nRmluYWxBcHByb3ZhbCcsXG4gIEFQUFJPVkVEID0gJ2FwcHJvdmVkJyxcbiAgUFJPQ0VTU0lORyA9ICdwcm9jZXNzaW5nJyxcbiAgUkVKRUNURUQgPSAncmVqZWN0ZWQnLFxufVxuXG5leHBvcnQgZW51bSBUeXBlIHtcbiAgVVNFUl9DSEFOR0VfUkVRVUVTVCA9ICd1c2VyQ2hhbmdlUmVxdWVzdCcsXG4gIFRSQU5TQUNUSU9OX1JFUVVFU1QgPSAndHJhbnNhY3Rpb25SZXF1ZXN0JyxcbiAgUE9MSUNZX1JVTEVfUkVRVUVTVCA9ICdwb2xpY3lSdWxlUmVxdWVzdCcsXG4gIFVQREFURV9BUFBST1ZBTFNfUkVRVUlSRURfUkVRVUVTVCA9ICd1cGRhdGVBcHByb3ZhbHNSZXF1aXJlZFJlcXVlc3QnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcHJvdmVPcHRpb25zIHtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICB0eD86IHN0cmluZztcbiAgeHBydj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZW5kaW5nQXBwcm92YWxJbmZvIHtcbiAgdHlwZTogVHlwZTtcbiAgdHJhbnNhY3Rpb25SZXF1ZXN0Pzoge1xuICAgIGNvaW5TcGVjaWZpYzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgICByZWNpcGllbnRzOiBhbnk7XG4gICAgYnVpbGRQYXJhbXM6IHtcbiAgICAgIHR5cGU/OiAnZmFub3V0JyB8ICdjb25zb2xpZGF0ZSc7XG4gICAgICBbaW5kZXg6IHN0cmluZ106IGFueTtcbiAgICB9O1xuICAgIHNvdXJjZVdhbGxldD86IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZW5kaW5nQXBwcm92YWxEYXRhIHtcbiAgaWQ6IHN0cmluZztcbiAgd2FsbGV0Pzogc3RyaW5nO1xuICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICBzdGF0ZTogU3RhdGU7XG4gIGNyZWF0b3I6IHN0cmluZztcbiAgaW5mbzogUGVuZGluZ0FwcHJvdmFsSW5mbztcbiAgYXBwcm92YWxzUmVxdWlyZWQ/OiBudW1iZXI7XG4gIHR4UmVxdWVzdElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQZW5kaW5nQXBwcm92YWwge1xuICBpZCgpOiBzdHJpbmc7XG4gIG93bmVyVHlwZSgpOiBPd25lclR5cGU7XG4gIHdhbGxldElkKCk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgZW50ZXJwcmlzZUlkKCk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgc3RhdGUoKTogU3RhdGU7XG4gIGNyZWF0b3IoKTogc3RyaW5nO1xuICB0eXBlKCk6IFR5cGU7XG4gIGluZm8oKTogUGVuZGluZ0FwcHJvdmFsSW5mbztcbiAgYXBwcm92YWxzUmVxdWlyZWQoKTogbnVtYmVyO1xuICB1cmwoZXh0cmE/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGdldChwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPElQZW5kaW5nQXBwcm92YWw+O1xuICBhcHByb3ZlKHBhcmFtcz86IEFwcHJvdmVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICByZWplY3QocGFyYW1zPzogUmVjb3JkPHN0cmluZywgbmV2ZXI+KTogUHJvbWlzZTxhbnk+O1xuICBjYW5jZWwocGFyYW1zPzogUmVjb3JkPHN0cmluZywgbmV2ZXI+KTogUHJvbWlzZTxhbnk+O1xuICByZWNyZWF0ZUFuZFNpZ25UU1NUcmFuc2FjdGlvbihwYXJhbXM6IEFwcHJvdmVPcHRpb25zLCByZXFJZDogSVJlcXVlc3RUcmFjZXIpOiBQcm9taXNlPHsgdHhIZXg6IHN0cmluZyB9PjtcbiAgcmVjcmVhdGVBbmRTaWduVHJhbnNhY3Rpb24ocGFyYW1zPzogYW55KTogUHJvbWlzZTxhbnk+O1xufVxuIl19
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 params.keyShare - TSS key share
9
- * @param params.encryptedNShares - encrypted NShares with information on how to decrypt
10
- * @param params.commonKeychain - expected common keychain of the combined key
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(params: {
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 params.keyShare - TSS key share of the party preparing exchange materials
23
- * @param params.recipientIndex - index of the recipient (1, 2, or 3)
24
- * @param params.recipientGpgPublicArmor - recipient's public gpg key in armor format
25
- * @param params.senderGpgPrivateArmor - sender's private gpg key in armor format
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(params: {
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;AAC/B;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,WAAW,CAAC,CA+DvB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,eAAe,CAAC,CAqB3B"}
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 params.keyShare - TSS key share
11
- * @param params.encryptedNShares - encrypted NShares with information on how to decrypt
12
- * @param params.commonKeychain - expected common keychain of the combined key
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(params) {
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.n,
30
- chaincode: encryptedNShare.nShare.chaincode,
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 params.keyShare - TSS key share of the party preparing exchange materials
71
- * @param params.recipientIndex - index of the recipient (1, 2, or 3)
72
- * @param params.recipientGpgPublicArmor - recipient's public gpg key in armor format
73
- * @param params.senderGpgPrivateArmor - sender's private gpg key in armor format
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(params) {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VjZHNhL2VjZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUE4RDtBQUU5RCx5Q0FBc0U7QUFJdEU7Ozs7Ozs7O0dBUUc7QUFDSSxLQUFLLFVBQVUsaUJBQWlCLENBQUMsTUFJdkM7SUFDQyxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQUssRUFBRSxDQUFDO0lBRXhCLE1BQU0sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzlELE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUU3QixJQUFJLFdBQStCLENBQUM7SUFDcEMsSUFBSSxVQUE4QixDQUFDO0lBQ25DLElBQUksWUFBZ0MsQ0FBQztJQUVyQyxLQUFLLE1BQU0sZUFBZSxJQUFJLGdCQUFnQixFQUFFO1FBQzlDLE1BQU0sWUFBWSxHQUFHLE1BQU0seUJBQWlCLENBQzFDLGVBQWUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQzVDLGVBQWUsQ0FBQyxpQkFBaUIsRUFDakMsZUFBZSxDQUFDLHFCQUFxQixDQUN0QyxDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQVc7WUFDckIsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLENBQUMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDckMsQ0FBQyxFQUFFLFlBQVk7WUFDZixDQUFDLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLFNBQVMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVM7U0FDNUMsQ0FBQztRQUVGLFFBQVEsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7WUFDaEMsS0FBSyxDQUFDO2dCQUNKLFVBQVUsR0FBRyxNQUFNLENBQUM7Z0JBQ3BCLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osWUFBWSxHQUFHLE1BQU0sQ0FBQztnQkFDdEIsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixXQUFXLEdBQUcsTUFBTSxDQUFDO2dCQUNyQixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN0QjtJQUVELElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0tBQzFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdELElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEtBQUssY0FBYyxFQUFFO1FBQzFFLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztLQUNsRDtJQUVELE1BQU0sZUFBZSxHQUFvQjtRQUN2QyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07UUFDdkIsV0FBVztRQUNYLFlBQVk7UUFDWixVQUFVO0tBQ1gsQ0FBQztJQUVGLE9BQU87UUFDTCxlQUFlO1FBQ2YsY0FBYztLQUNmLENBQUM7QUFDSixDQUFDO0FBbkVELDhDQW1FQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNJLEtBQUssVUFBVSxhQUFhLENBQUMsTUFLbkM7SUFDQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU1RixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDdEM7SUFFRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRTlCLE1BQU0scUJBQXFCLEdBQUcsTUFBTSwwQkFBa0IsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUVySCxPQUFPO1FBQ0wsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ1gsV0FBVztRQUNYLHFCQUFxQjtRQUNyQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7S0FDNUIsQ0FBQztBQUNKLENBQUM7QUExQkQsc0NBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUNEU0EsIEVjZHNhIH0gZnJvbSAnLi8uLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMvdHNzJztcbmltcG9ydCB7IERlY3J5cHRhYmxlTlNoYXJlLCBDb21iaW5lZEtleSwgU2lnbmluZ01hdGVyaWFsLCBFbmNyeXB0ZWROU2hhcmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGVuY3J5cHRBbmRTaWduVGV4dCwgcmVhZFNpZ25lZE1lc3NhZ2UgfSBmcm9tICcuLy4uLy4uL3V0aWxzJztcblxudHlwZSBOU2hhcmUgPSBFQ0RTQS5OU2hhcmU7XG50eXBlIEtleVNoYXJlID0gRUNEU0EuS2V5U2hhcmU7XG4vKipcbiAqIENvbWJpbmVzIE5TaGFyZXMgdG8gY29tYmluZSB0aGUgZmluYWwgVFNTIGtleVxuICogVGhpcyBjYW4gb25seSBiZSB1c2VkIHRvIGNyZWF0ZSB0aGUgVXNlciBvciBCYWNrdXAga2V5IHNpbmNlIGl0IHJlcXVpcmVzIHRoZSBjb21tb24ga2V5Y2hhaW4gZnJvbSBCaXRHbyBmaXJzdFxuICpcbiAqIEBwYXJhbSBwYXJhbXMua2V5U2hhcmUgLSBUU1Mga2V5IHNoYXJlXG4gKiBAcGFyYW0gcGFyYW1zLmVuY3J5cHRlZE5TaGFyZXMgLSBlbmNyeXB0ZWQgTlNoYXJlcyB3aXRoIGluZm9ybWF0aW9uIG9uIGhvdyB0byBkZWNyeXB0XG4gKiBAcGFyYW0gcGFyYW1zLmNvbW1vbktleWNoYWluIC0gZXhwZWN0ZWQgY29tbW9uIGtleWNoYWluIG9mIHRoZSBjb21iaW5lZCBrZXlcbiAqIEByZXR1cm5zIHtDb21iaW5lZEtleX0gY29tYmluZWQgVFNTIGtleVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlQ29tYmluZWRLZXkocGFyYW1zOiB7XG4gIGtleVNoYXJlOiBLZXlTaGFyZTtcbiAgZW5jcnlwdGVkTlNoYXJlczogRGVjcnlwdGFibGVOU2hhcmVbXTtcbiAgY29tbW9uS2V5Y2hhaW46IHN0cmluZztcbn0pOiBQcm9taXNlPENvbWJpbmVkS2V5PiB7XG4gIGNvbnN0IE1QQyA9IG5ldyBFY2RzYSgpO1xuXG4gIGNvbnN0IHsga2V5U2hhcmUsIGVuY3J5cHRlZE5TaGFyZXMsIGNvbW1vbktleWNoYWluIH0gPSBwYXJhbXM7XG4gIGNvbnN0IG5TaGFyZXM6IE5TaGFyZVtdID0gW107XG5cbiAgbGV0IGJpdGdvTlNoYXJlOiBOU2hhcmUgfCB1bmRlZmluZWQ7XG4gIGxldCB1c2VyTlNoYXJlOiBOU2hhcmUgfCB1bmRlZmluZWQ7XG4gIGxldCBiYWNrdXBOU2hhcmU6IE5TaGFyZSB8IHVuZGVmaW5lZDtcblxuICBmb3IgKGNvbnN0IGVuY3J5cHRlZE5TaGFyZSBvZiBlbmNyeXB0ZWROU2hhcmVzKSB7XG4gICAgY29uc3QgcHJpdmF0ZVNoYXJlID0gYXdhaXQgcmVhZFNpZ25lZE1lc3NhZ2UoXG4gICAgICBlbmNyeXB0ZWROU2hhcmUublNoYXJlLmVuY3J5cHRlZFByaXZhdGVTaGFyZSxcbiAgICAgIGVuY3J5cHRlZE5TaGFyZS5zZW5kZXJQdWJsaWNBcm1vcixcbiAgICAgIGVuY3J5cHRlZE5TaGFyZS5yZWNpcGllbnRQcml2YXRlQXJtb3JcbiAgICApO1xuXG4gICAgY29uc3QgblNoYXJlOiBOU2hhcmUgPSB7XG4gICAgICBpOiBlbmNyeXB0ZWROU2hhcmUublNoYXJlLmksXG4gICAgICBqOiBlbmNyeXB0ZWROU2hhcmUublNoYXJlLmosXG4gICAgICB5OiBlbmNyeXB0ZWROU2hhcmUublNoYXJlLnB1YmxpY1NoYXJlLFxuICAgICAgdTogcHJpdmF0ZVNoYXJlLFxuICAgICAgbjogZW5jcnlwdGVkTlNoYXJlLm5TaGFyZS5uLFxuICAgICAgY2hhaW5jb2RlOiBlbmNyeXB0ZWROU2hhcmUublNoYXJlLmNoYWluY29kZSxcbiAgICB9O1xuXG4gICAgc3dpdGNoIChlbmNyeXB0ZWROU2hhcmUublNoYXJlLmopIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgdXNlck5TaGFyZSA9IG5TaGFyZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIGJhY2t1cE5TaGFyZSA9IG5TaGFyZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIGJpdGdvTlNoYXJlID0gblNoYXJlO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBOU2hhcmUgaW5kZXgnKTtcbiAgICB9XG5cbiAgICBuU2hhcmVzLnB1c2goblNoYXJlKTtcbiAgfVxuXG4gIGlmICghYml0Z29OU2hhcmUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28gTiBTaGFyZScpO1xuICB9XG5cbiAgY29uc3QgY29tYmluZWRLZXkgPSBNUEMua2V5Q29tYmluZShrZXlTaGFyZS5wU2hhcmUsIG5TaGFyZXMpO1xuICBpZiAoY29tYmluZWRLZXkueFNoYXJlLnkgKyBjb21iaW5lZEtleS54U2hhcmUuY2hhaW5jb2RlICE9PSBjb21tb25LZXljaGFpbikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ29tbW9uIGtleWNoYWlucyBkbyBub3QgbWF0Y2gnKTtcbiAgfVxuXG4gIGNvbnN0IHNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0ge1xuICAgIHBTaGFyZToga2V5U2hhcmUucFNoYXJlLFxuICAgIGJpdGdvTlNoYXJlLFxuICAgIGJhY2t1cE5TaGFyZSxcbiAgICB1c2VyTlNoYXJlLFxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgc2lnbmluZ01hdGVyaWFsLFxuICAgIGNvbW1vbktleWNoYWluLFxuICB9O1xufVxuXG4vKipcbiAqIFByZXBhcmVzIGEgTlNoYXJlIHRvIGJlIGV4Y2hhbmdlZCB3aXRoIG90aGVyIGtleSBob2xkZXJzLlxuICogT3V0cHV0IGlzIGluIGEgZm9ybWF0IHRoYXQgaXMgdXNhYmxlIHdpdGhpbiBCaXRHbydzIGVjb3N5c3RlbS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zLmtleVNoYXJlIC0gVFNTIGtleSBzaGFyZSBvZiB0aGUgcGFydHkgcHJlcGFyaW5nIGV4Y2hhbmdlIG1hdGVyaWFsc1xuICogQHBhcmFtIHBhcmFtcy5yZWNpcGllbnRJbmRleCAtIGluZGV4IG9mIHRoZSByZWNpcGllbnQgKDEsIDIsIG9yIDMpXG4gKiBAcGFyYW0gcGFyYW1zLnJlY2lwaWVudEdwZ1B1YmxpY0FybW9yIC0gcmVjaXBpZW50J3MgcHVibGljIGdwZyBrZXkgaW4gYXJtb3IgZm9ybWF0XG4gKiBAcGFyYW0gcGFyYW1zLnNlbmRlckdwZ1ByaXZhdGVBcm1vciAtIHNlbmRlcidzIHByaXZhdGUgZ3BnIGtleSBpbiBhcm1vciBmb3JtYXRcbiAqIEByZXR1cm5zIHsgRW5jcnlwdGVkTlNoYXJlIH0gZW5jcnlwdGVkIFkgU2hhcmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHROU2hhcmUocGFyYW1zOiB7XG4gIGtleVNoYXJlOiBLZXlTaGFyZTtcbiAgcmVjaXBpZW50SW5kZXg6IG51bWJlcjtcbiAgcmVjaXBpZW50R3BnUHVibGljQXJtb3I6IHN0cmluZztcbiAgc2VuZGVyR3BnUHJpdmF0ZUFybW9yOiBzdHJpbmc7XG59KTogUHJvbWlzZTxFbmNyeXB0ZWROU2hhcmU+IHtcbiAgY29uc3QgeyBrZXlTaGFyZSwgcmVjaXBpZW50SW5kZXgsIHJlY2lwaWVudEdwZ1B1YmxpY0FybW9yLCBzZW5kZXJHcGdQcml2YXRlQXJtb3IgfSA9IHBhcmFtcztcblxuICBjb25zdCBuU2hhcmUgPSBrZXlTaGFyZS5uU2hhcmVzW3JlY2lwaWVudEluZGV4XTtcbiAgaWYgKCFuU2hhcmUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcmVjaXBpZW50Jyk7XG4gIH1cblxuICBjb25zdCBwdWJsaWNTaGFyZSA9IGtleVNoYXJlLnBTaGFyZS55O1xuICBjb25zdCBwcml2YXRlU2hhcmUgPSBuU2hhcmUudTtcblxuICBjb25zdCBlbmNyeXB0ZWRQcml2YXRlU2hhcmUgPSBhd2FpdCBlbmNyeXB0QW5kU2lnblRleHQocHJpdmF0ZVNoYXJlLCByZWNpcGllbnRHcGdQdWJsaWNBcm1vciwgc2VuZGVyR3BnUHJpdmF0ZUFybW9yKTtcblxuICByZXR1cm4ge1xuICAgIGk6IG5TaGFyZS5pLFxuICAgIGo6IG5TaGFyZS5qLFxuICAgIG46IG5TaGFyZS5uLFxuICAgIHB1YmxpY1NoYXJlLFxuICAgIGVuY3J5cHRlZFByaXZhdGVTaGFyZSxcbiAgICBjaGFpbmNvZGU6IG5TaGFyZS5jaGFpbmNvZGUsXG4gIH07XG59XG4iXX0=
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;AAE5C,eAAe,YAAY,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VjZHNhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBd0M7QUFFeEMsNERBQTRDO0FBRTVDLGtCQUFlLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEVDRFNBTWV0aG9kcyBmcm9tICcuL2VjZHNhJztcblxuZXhwb3J0ICogYXMgRUNEU0FNZXRob2RUeXBlcyBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgRUNEU0FNZXRob2RzO1xuIl19
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,CAAC,EAAE,MAAM,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IAEpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,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
+ {"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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VjZHNhL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ0RTQSB9IGZyb20gJy4vLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjL3Rzcyc7XG5cbi8vIE5TaGFyZSB0aGF0IGhhcyBiZWVuIGVuY3J5cHRlZCBhbmQgc2lnbmVkIHZpYSBHUEdcbmV4cG9ydCB0eXBlIEVuY3J5cHRlZE5TaGFyZSA9IHtcbiAgaTogbnVtYmVyO1xuICBqOiBudW1iZXI7XG4gIG46IHN0cmluZztcbiAgcHVibGljU2hhcmU6IHN0cmluZztcbiAgLy8gc2lnbmVkIGFuZCBlbmNyeXB0ZWQgZ3BnIGFybW9yXG4gIGVuY3J5cHRlZFByaXZhdGVTaGFyZTogc3RyaW5nO1xuICBjaGFpbmNvZGU6IHN0cmluZztcbn07XG5cbi8vIE5TaGFyZSB3aXRoIGluZm9ybWF0aW9uIG5lZWRlZCB0byBkZWNyeXB0IGFuZCB2ZXJpZnkgYSBHUEcgbWVzYXNnZVxuZXhwb3J0IHR5cGUgRGVjcnlwdGFibGVOU2hhcmUgPSB7XG4gIG5TaGFyZTogRW5jcnlwdGVkTlNoYXJlO1xuICByZWNpcGllbnRQcml2YXRlQXJtb3I6IHN0cmluZztcbiAgc2VuZGVyUHVibGljQXJtb3I6IHN0cmluZztcbn07XG5cbi8vIEZpbmFsIFRTUyBcIktleXBhaXJcIlxuZXhwb3J0IHR5cGUgQ29tYmluZWRLZXkgPSB7XG4gIGNvbW1vbktleWNoYWluOiBzdHJpbmc7XG4gIHNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsO1xufTtcblxuLy8gUHJpdmF0ZSBwb3J0aW9uIG9mIGEgVFNTIGtleSwgdGhpcyBtdXN0IGJlIGhhbmRsZWQgbGlrZSBhbnkgb3RoZXIgcHJpdmF0ZSBrZXlcbmV4cG9ydCB0eXBlIFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgcFNoYXJlOiBFQ0RTQS5QU2hhcmU7XG4gIGJpdGdvTlNoYXJlOiBFQ0RTQS5OU2hhcmU7XG4gIGJhY2t1cE5TaGFyZT86IEVDRFNBLk5TaGFyZTtcbiAgdXNlck5TaGFyZT86IEVDRFNBLk5TaGFyZTtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNvbWJpbmVkS2V5UGFyYW1zID0ge1xuICBrZXlTaGFyZTogRUNEU0EuS2V5U2hhcmU7XG4gIGVuY3J5cHRlZE5TaGFyZXM6IERlY3J5cHRhYmxlTlNoYXJlW107XG4gIGNvbW1vbktleWNoYWluOiBzdHJpbmc7XG59O1xuIl19
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"}