@bitgo/sdk-core 38.20.0 → 38.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/src/bitgo/environments.d.ts +5 -0
  2. package/dist/src/bitgo/environments.d.ts.map +1 -1
  3. package/dist/src/bitgo/environments.js +2 -1
  4. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts +33 -4
  5. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -1
  6. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.js +71 -4
  7. package/dist/src/bitgo/utils/index.d.ts +1 -0
  8. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  9. package/dist/src/bitgo/utils/index.js +2 -1
  10. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  11. package/dist/src/bitgo/utils/mpcUtils.js +2 -1
  12. package/dist/src/bitgo/utils/siws.d.ts +17 -0
  13. package/dist/src/bitgo/utils/siws.d.ts.map +1 -0
  14. package/dist/src/bitgo/utils/siws.js +171 -0
  15. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +5 -0
  16. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  17. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +12 -1
  18. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +7 -0
  19. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  20. package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
  21. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +5 -0
  22. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  23. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +8 -1
  24. package/dist/src/bitgo/utils/tss/index.d.ts +1 -0
  25. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  26. package/dist/src/bitgo/utils/tss/index.js +2 -1
  27. package/dist/src/bitgo/utils/tss/keyVerification.d.ts +45 -0
  28. package/dist/src/bitgo/utils/tss/keyVerification.d.ts.map +1 -0
  29. package/dist/src/bitgo/utils/tss/keyVerification.js +192 -0
  30. package/dist/src/bitgo/wallet/iWallet.d.ts +16 -0
  31. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  32. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  33. package/dist/src/bitgo/wallet/wallet.d.ts +21 -1
  34. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  35. package/dist/src/bitgo/wallet/wallet.js +39 -1
  36. package/dist/test/unit/bitgo/safe/rootCoin.d.ts +2 -0
  37. package/dist/test/unit/bitgo/safe/rootCoin.d.ts.map +1 -0
  38. package/dist/test/unit/bitgo/safe/rootCoin.js +13 -0
  39. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.js +69 -1
  40. package/dist/test/unit/bitgo/utils/siws.d.ts +2 -0
  41. package/dist/test/unit/bitgo/utils/siws.d.ts.map +1 -0
  42. package/dist/test/unit/bitgo/utils/siws.js +206 -0
  43. package/dist/test/unit/bitgo/utils/tss/keyVerification.d.ts +2 -0
  44. package/dist/test/unit/bitgo/utils/tss/keyVerification.d.ts.map +1 -0
  45. package/dist/test/unit/bitgo/utils/tss/keyVerification.js +229 -0
  46. package/dist/test/unit/bitgo/wallet/walletVerifyKey.d.ts +2 -0
  47. package/dist/test/unit/bitgo/wallet/walletVerifyKey.d.ts.map +1 -0
  48. package/dist/test/unit/bitgo/wallet/walletVerifyKey.js +160 -0
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +6 -6
@@ -12,6 +12,7 @@ export { ITssUtils, IEddsaUtils, TxRequest, EddsaUnsignedTransaction } from './e
12
12
  export * as BaseTssUtils from './baseTSSUtils';
13
13
  export * from './baseTypes';
14
14
  export * from './addressVerification';
15
+ export * from './keyVerification';
15
16
  export * from './preHashedSignable';
16
17
  export * from './recipientUtils';
17
18
  export * from './keyShareEnvelope';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,cAAc,MAAM,aAAa,CAAC;AAE9C,iCAAiC;AACjC,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,sCAAsC;AACtC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,CAAC;AAG3B,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,cAAc,MAAM,aAAa,CAAC;AAE9C,iCAAiC;AACjC,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,sCAAsC;AACtC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,CAAC;AAG3B,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -47,8 +47,9 @@ exports.RedpallasUtils = __importStar(require("./redpallas"));
47
47
  exports.BaseTssUtils = __importStar(require("./baseTSSUtils"));
48
48
  __exportStar(require("./baseTypes"), exports);
49
49
  __exportStar(require("./addressVerification"), exports);
50
+ __exportStar(require("./keyVerification"), exports);
50
51
  __exportStar(require("./preHashedSignable"), exports);
51
52
  __exportStar(require("./recipientUtils"), exports);
52
53
  __exportStar(require("./keyShareEnvelope"), exports);
53
54
  __exportStar(require("./signableConsistency"), exports);
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFtRTtBQU0xRCxtQkFORixlQUFRLENBTUU7QUFFUiw4RkFSVSxxQkFBYSxPQVFWO0FBQ2IsZ0dBVHlCLHVCQUFlLE9BU3pCO0FBUnhCLHNEQUFzQztBQUN0QyxzREFBc0M7QUFDdEMsOERBQThDO0FBWTlDLCtEQUErQztBQUMvQyw4Q0FBNEI7QUFDNUIsd0RBQXNDO0FBQ3RDLHNEQUFvQztBQUNwQyxtREFBaUM7QUFDakMscURBQW1DO0FBQ25DLHdEQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUc3NVdGlscywgeyBUc3NVdGlsc1R5cGVzLCBFZGRzYVV0aWxzVHlwZXMgfSBmcm9tICcuL2VkZHNhJztcbmV4cG9ydCAqIGFzIEVDRFNBVXRpbHMgZnJvbSAnLi9lY2RzYSc7XG5leHBvcnQgKiBhcyBFRERTQVV0aWxzIGZyb20gJy4vZWRkc2EnO1xuZXhwb3J0ICogYXMgUmVkcGFsbGFzVXRpbHMgZnJvbSAnLi9yZWRwYWxsYXMnO1xuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIEVERFNBVXRpbHMgKi9cbmV4cG9ydCB7IFRzc1V0aWxzIH07XG4vKiogQGRlcHJlY2F0ZWQgdXNlIEVERFNBVXRpbHNUeXBlcyAqL1xuZXhwb3J0IHsgVHNzVXRpbHNUeXBlcyB9O1xuZXhwb3J0IHsgRWRkc2FVdGlsc1R5cGVzIH07XG5cbi8vIGV4cG9ydGluZyB0aGlzIHR5cGVzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuLyoqIEBkZXByZWNhdGVkIHVzZSBFRERTQVV0aWxzLjx0eXBlL21ldGhvZD4gKi9cbmV4cG9ydCB7IElUc3NVdGlscywgSUVkZHNhVXRpbHMsIFR4UmVxdWVzdCwgRWRkc2FVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnLi9lZGRzYSc7XG5cbmV4cG9ydCAqIGFzIEJhc2VUc3NVdGlscyBmcm9tICcuL2Jhc2VUU1NVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2VUeXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2FkZHJlc3NWZXJpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9wcmVIYXNoZWRTaWduYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwaWVudFV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4va2V5U2hhcmVFbnZlbG9wZSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ25hYmxlQ29uc2lzdGVuY3knO1xuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFtRTtBQU0xRCxtQkFORixlQUFRLENBTUU7QUFFUiw4RkFSVSxxQkFBYSxPQVFWO0FBQ2IsZ0dBVHlCLHVCQUFlLE9BU3pCO0FBUnhCLHNEQUFzQztBQUN0QyxzREFBc0M7QUFDdEMsOERBQThDO0FBWTlDLCtEQUErQztBQUMvQyw4Q0FBNEI7QUFDNUIsd0RBQXNDO0FBQ3RDLG9EQUFrQztBQUNsQyxzREFBb0M7QUFDcEMsbURBQWlDO0FBQ2pDLHFEQUFtQztBQUNuQyx3REFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVHNzVXRpbHMsIHsgVHNzVXRpbHNUeXBlcywgRWRkc2FVdGlsc1R5cGVzIH0gZnJvbSAnLi9lZGRzYSc7XG5leHBvcnQgKiBhcyBFQ0RTQVV0aWxzIGZyb20gJy4vZWNkc2EnO1xuZXhwb3J0ICogYXMgRUREU0FVdGlscyBmcm9tICcuL2VkZHNhJztcbmV4cG9ydCAqIGFzIFJlZHBhbGxhc1V0aWxzIGZyb20gJy4vcmVkcGFsbGFzJztcblxuLyoqIEBkZXByZWNhdGVkIHVzZSBFRERTQVV0aWxzICovXG5leHBvcnQgeyBUc3NVdGlscyB9O1xuLyoqIEBkZXByZWNhdGVkIHVzZSBFRERTQVV0aWxzVHlwZXMgKi9cbmV4cG9ydCB7IFRzc1V0aWxzVHlwZXMgfTtcbmV4cG9ydCB7IEVkZHNhVXRpbHNUeXBlcyB9O1xuXG4vLyBleHBvcnRpbmcgdGhpcyB0eXBlcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbi8qKiBAZGVwcmVjYXRlZCB1c2UgRUREU0FVdGlscy48dHlwZS9tZXRob2Q+ICovXG5leHBvcnQgeyBJVHNzVXRpbHMsIElFZGRzYVV0aWxzLCBUeFJlcXVlc3QsIEVkZHNhVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4vZWRkc2EnO1xuXG5leHBvcnQgKiBhcyBCYXNlVHNzVXRpbHMgZnJvbSAnLi9iYXNlVFNTVXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlVHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9hZGRyZXNzVmVyaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4va2V5VmVyaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcHJlSGFzaGVkU2lnbmFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNpcGllbnRVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2tleVNoYXJlRW52ZWxvcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWduYWJsZUNvbnNpc3RlbmN5JztcbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { UserSigningMaterial } from '../../tss/eddsa/types';
2
+ /**
3
+ * Parses the user TSS EdDSA signing material that a client passes as `prv` when signing,
4
+ * and rejects anything that does not decode as user signing material.
5
+ *
6
+ * Decoding is a shape check only, but it keeps malformed input away from the combine routine,
7
+ * which throws raw, input-interpolating errors for malformed shares.
8
+ *
9
+ * The input is private key material, so no error message may interpolate any part of it.
10
+ * In particular, JSON.parse errors on Node >= 20 include the raw input in their message,
11
+ * which is why parse failures are rethrown with a constant message.
12
+ *
13
+ * @param prv - stringified user signing material (`uShare`, `bitgoYShare`, `backupYShare`)
14
+ */
15
+ export declare function parseEddsaUserSigningMaterial(prv: string): UserSigningMaterial;
16
+ /**
17
+ * Verifies that user TSS EdDSA signing material (`prv`) recombines to a given commonKeychain.
18
+ *
19
+ * Recombines the user's share with the BitGo and backup Y shares — the same computation the
20
+ * SDK performs when creating the user keychain or signing — and compares the result against
21
+ * the wallet's commonKeychain. Returns false rather than throwing when the keys do not match.
22
+ * Shares that pass the shape check but are cryptographically inconsistent are rejected with
23
+ * a constant message: the combine routine throws raw errors, some of which interpolate
24
+ * submitter-controlled fields, which must not surface through the API.
25
+ *
26
+ * Recombination alone is not proof of possession, so two further checks run first. The seed is
27
+ * bound to `uShare.y`, and the Y shares must carry their VSS commitment `v` — `keyCombine`
28
+ * verifies a Y share's secret `u` only when `v` is present, so material without `v` cannot be
29
+ * verified at all and throws a distinct error rather than being judged a non-match. Genuine
30
+ * shares produced by `keyShare` always carry `v`.
31
+ *
32
+ * A true result is a consistency check for a caller inspecting its own material, not proof of
33
+ * possession, and must never be used as an authorization signal: a caller who knows only the
34
+ * wallet's public commonKeychain can construct material that passes — an `uShare` whose seed
35
+ * matches its `y`, plus Y shares with a chosen secret `u` and the `v` solved from it, whose
36
+ * `y` values sum to the common key.
37
+ *
38
+ * @param params.prv - stringified user signing material, as passed as `prv` when signing
39
+ * @param params.commonKeychain - the wallet's user keychain commonKeychain
40
+ */
41
+ export declare function eddsaUserSigningMaterialMatchesCommonKeychain(params: {
42
+ prv: string;
43
+ commonKeychain: string;
44
+ }): Promise<boolean>;
45
+ //# sourceMappingURL=keyVerification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyVerification.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/keyVerification.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAiE5D;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAY9E;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,6CAA6C,CAAC,MAAM,EAAE;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBnB"}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.parseEddsaUserSigningMaterial = parseEddsaUserSigningMaterial;
40
+ exports.eddsaUserSigningMaterialMatchesCommonKeychain = eddsaUserSigningMaterialMatchesCommonKeychain;
41
+ /**
42
+ * @prettier
43
+ */
44
+ const t = __importStar(require("io-ts"));
45
+ const tss_1 = __importDefault(require("../../../account-lib/mpc/tss"));
46
+ const HEX_32_BYTES = /^[0-9a-f]{64}$/i;
47
+ /** 32-byte hex string; every hex field of genuine MPCv1 signing material is fixed-width 32 bytes. */
48
+ const Hex32Bytes = new t.Type('Hex32Bytes', (u) => typeof u === 'string' && HEX_32_BYTES.test(u), (u, c) => (typeof u === 'string' && HEX_32_BYTES.test(u) ? t.success(u) : t.failure(u, c)), t.identity);
49
+ const UShareCodec = t.type({
50
+ i: t.number,
51
+ t: t.number,
52
+ n: t.number,
53
+ y: Hex32Bytes,
54
+ seed: Hex32Bytes,
55
+ chaincode: Hex32Bytes,
56
+ });
57
+ /**
58
+ * `v` is the optional VSS commitment: absent on shares created without verifiable secret sharing.
59
+ * It is declared through `t.partial` rather than a union with `undefined` so that decoding an
60
+ * absent `v` does not materialize it as an own property on the share handed to `keyCombine`.
61
+ */
62
+ const YShareCodec = t.intersection([
63
+ t.type({
64
+ i: t.number,
65
+ j: t.number,
66
+ y: Hex32Bytes,
67
+ u: Hex32Bytes,
68
+ chaincode: Hex32Bytes,
69
+ }),
70
+ t.partial({ v: Hex32Bytes }),
71
+ ]);
72
+ const UserSigningMaterialCodec = t.type({
73
+ uShare: UShareCodec,
74
+ bitgoYShare: YShareCodec,
75
+ backupYShare: YShareCodec,
76
+ });
77
+ /**
78
+ * Maps a decode failure to a constant message. Never interpolates `error.value`: the input is
79
+ * private key material. This is also why the codecs call `t.failure` without a message and why
80
+ * the `validationErrors` reporter in `utils/decode.ts` is not used — both embed the failing value.
81
+ */
82
+ function toInvalidKeyMessage(errors) {
83
+ const [error] = errors;
84
+ // the head of the context is the root codec itself, so the remaining keys are the field path.
85
+ // purely numeric keys are intersection/union member indices rather than field names.
86
+ const segments = error.context
87
+ .slice(1)
88
+ .map((entry) => entry.key)
89
+ .filter((key) => !/^\d+$/.test(key));
90
+ if (segments.length === 0) {
91
+ return 'Invalid user key - signing material is not an object';
92
+ }
93
+ if (segments.length === 1 && (error.value === undefined || error.value === null)) {
94
+ return `Invalid user key - missing ${segments[0]}`;
95
+ }
96
+ return `Invalid user key - ${segments[0]} is not a valid share`;
97
+ }
98
+ /**
99
+ * Parses the user TSS EdDSA signing material that a client passes as `prv` when signing,
100
+ * and rejects anything that does not decode as user signing material.
101
+ *
102
+ * Decoding is a shape check only, but it keeps malformed input away from the combine routine,
103
+ * which throws raw, input-interpolating errors for malformed shares.
104
+ *
105
+ * The input is private key material, so no error message may interpolate any part of it.
106
+ * In particular, JSON.parse errors on Node >= 20 include the raw input in their message,
107
+ * which is why parse failures are rethrown with a constant message.
108
+ *
109
+ * @param prv - stringified user signing material (`uShare`, `bitgoYShare`, `backupYShare`)
110
+ */
111
+ function parseEddsaUserSigningMaterial(prv) {
112
+ let parsed;
113
+ try {
114
+ parsed = JSON.parse(prv);
115
+ }
116
+ catch (e) {
117
+ throw new Error('Invalid user key - could not parse signing material');
118
+ }
119
+ const decoded = UserSigningMaterialCodec.decode(parsed);
120
+ if (decoded._tag === 'Left') {
121
+ throw new Error(toInvalidKeyMessage(decoded.left));
122
+ }
123
+ return decoded.right;
124
+ }
125
+ /**
126
+ * Checks that `uShare.y` is the public point actually derived from `uShare.seed`.
127
+ *
128
+ * `keyCombine` derives the private scalar from the seed but reconstructs the common keychain from
129
+ * the declared `y` fields, so it never compares the two. Without this check a caller who knows
130
+ * only the wallet's public commonKeychain can submit genuine public fields alongside a seed they
131
+ * do not own and still verify. Re-running `keyShare` with the share's own seed and chaincode
132
+ * reproduces the derivation and yields the `y` the seed really commits to.
133
+ */
134
+ function uShareSeedMatchesY(MPC, uShare) {
135
+ const seedchain = Buffer.concat([Buffer.from(uShare.seed, 'hex'), Buffer.from(uShare.chaincode, 'hex')]);
136
+ let derived;
137
+ try {
138
+ derived = MPC.keyShare(uShare.i, uShare.t, uShare.n, seedchain).uShare;
139
+ }
140
+ catch (e) {
141
+ // keyShare rejects an out-of-range index or threshold, which makes the share unusable
142
+ return false;
143
+ }
144
+ return derived.y === uShare.y;
145
+ }
146
+ /**
147
+ * Verifies that user TSS EdDSA signing material (`prv`) recombines to a given commonKeychain.
148
+ *
149
+ * Recombines the user's share with the BitGo and backup Y shares — the same computation the
150
+ * SDK performs when creating the user keychain or signing — and compares the result against
151
+ * the wallet's commonKeychain. Returns false rather than throwing when the keys do not match.
152
+ * Shares that pass the shape check but are cryptographically inconsistent are rejected with
153
+ * a constant message: the combine routine throws raw errors, some of which interpolate
154
+ * submitter-controlled fields, which must not surface through the API.
155
+ *
156
+ * Recombination alone is not proof of possession, so two further checks run first. The seed is
157
+ * bound to `uShare.y`, and the Y shares must carry their VSS commitment `v` — `keyCombine`
158
+ * verifies a Y share's secret `u` only when `v` is present, so material without `v` cannot be
159
+ * verified at all and throws a distinct error rather than being judged a non-match. Genuine
160
+ * shares produced by `keyShare` always carry `v`.
161
+ *
162
+ * A true result is a consistency check for a caller inspecting its own material, not proof of
163
+ * possession, and must never be used as an authorization signal: a caller who knows only the
164
+ * wallet's public commonKeychain can construct material that passes — an `uShare` whose seed
165
+ * matches its `y`, plus Y shares with a chosen secret `u` and the `v` solved from it, whose
166
+ * `y` values sum to the common key.
167
+ *
168
+ * @param params.prv - stringified user signing material, as passed as `prv` when signing
169
+ * @param params.commonKeychain - the wallet's user keychain commonKeychain
170
+ */
171
+ async function eddsaUserSigningMaterialMatchesCommonKeychain(params) {
172
+ const signingMaterial = parseEddsaUserSigningMaterial(params.prv);
173
+ const MPC = await tss_1.default.initialize();
174
+ if (!uShareSeedMatchesY(MPC, signingMaterial.uShare)) {
175
+ return false;
176
+ }
177
+ // keyCombine verifies a Y share's secret `u` against its commitment only when `v` is present,
178
+ // so material without `v` cannot be verified at all; reject it distinctly instead of judging
179
+ // it a non-match, which would misreport genuine material that lacks the commitment
180
+ if (signingMaterial.bitgoYShare.v === undefined || signingMaterial.backupYShare.v === undefined) {
181
+ throw new Error('Unable to verify key - signing material has no VSS commitment');
182
+ }
183
+ let combinedKey;
184
+ try {
185
+ combinedKey = MPC.keyCombine(signingMaterial.uShare, [signingMaterial.bitgoYShare, signingMaterial.backupYShare]);
186
+ }
187
+ catch (e) {
188
+ throw new Error('Invalid user key - could not combine signing material');
189
+ }
190
+ return combinedKey.pShare.y + combinedKey.pShare.chaincode === params.commonKeychain;
191
+ }
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5VmVyaWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL3Rzcy9rZXlWZXJpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtRkEsc0VBWUM7QUFnREQsc0dBc0JDO0FBcktEOztHQUVHO0FBQ0gseUNBQTJCO0FBQzNCLHVFQUFpRTtBQUdqRSxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQztBQUV2QyxxR0FBcUc7QUFDckcsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUMzQixZQUFZLEVBQ1osQ0FBQyxDQUFDLEVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNqRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQzFGLENBQUMsQ0FBQyxRQUFRLENBQ1gsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ1gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ1gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ1gsQ0FBQyxFQUFFLFVBQVU7SUFDYixJQUFJLEVBQUUsVUFBVTtJQUNoQixTQUFTLEVBQUUsVUFBVTtDQUN0QixDQUFDLENBQUM7QUFFSDs7OztHQUlHO0FBQ0gsTUFBTSxX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QUFDLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsY0FBYyxDQUFDO0FBQ3ZGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcbmltcG9ydCBFZGRzYSwgeyBLZXlDb21iaW5lIH0gZnJvbSAnLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjL3Rzcyc7XG5pbXBvcnQgeyBVc2VyU2lnbmluZ01hdGVyaWFsIH0gZnJvbSAnLi4vLi4vdHNzL2VkZHNhL3R5cGVzJztcblxuY29uc3QgSEVYXzMyX0JZVEVTID0gL15bMC05YS1mXXs2NH0kL2k7XG5cbi8qKiAzMi1ieXRlIGhleCBzdHJpbmc7IGV2ZXJ5IGhleCBmaWVsZCBvZiBnZW51aW5lIE1QQ3YxIHNpZ25pbmcgbWF0ZXJpYWwgaXMgZml4ZWQtd2lkdGggMzIgYnl0ZXMuICovXG5jb25zdCBIZXgzMkJ5dGVzID0gbmV3IHQuVHlwZTxzdHJpbmcsIHN0cmluZywgdW5rbm93bj4oXG4gICdIZXgzMkJ5dGVzJyxcbiAgKHUpOiB1IGlzIHN0cmluZyA9PiB0eXBlb2YgdSA9PT0gJ3N0cmluZycgJiYgSEVYXzMyX0JZVEVTLnRlc3QodSksXG4gICh1LCBjKSA9PiAodHlwZW9mIHUgPT09ICdzdHJpbmcnICYmIEhFWF8zMl9CWVRFUy50ZXN0KHUpID8gdC5zdWNjZXNzKHUpIDogdC5mYWlsdXJlKHUsIGMpKSxcbiAgdC5pZGVudGl0eVxuKTtcblxuY29uc3QgVVNoYXJlQ29kZWMgPSB0LnR5cGUoe1xuICBpOiB0Lm51bWJlcixcbiAgdDogdC5udW1iZXIsXG4gIG46IHQubnVtYmVyLFxuICB5OiBIZXgzMkJ5dGVzLFxuICBzZWVkOiBIZXgzMkJ5dGVzLFxuICBjaGFpbmNvZGU6IEhleDMyQnl0ZXMsXG59KTtcblxuLyoqXG4gKiBgdmAgaXMgdGhlIG9wdGlvbmFsIFZTUyBjb21taXRtZW50OiBhYnNlbnQgb24gc2hhcmVzIGNyZWF0ZWQgd2l0aG91dCB2ZXJpZmlhYmxlIHNlY3JldCBzaGFyaW5nLlxuICogSXQgaXMgZGVjbGFyZWQgdGhyb3VnaCBgdC5wYXJ0aWFsYCByYXRoZXIgdGhhbiBhIHVuaW9uIHdpdGggYHVuZGVmaW5lZGAgc28gdGhhdCBkZWNvZGluZyBhblxuICogYWJzZW50IGB2YCBkb2VzIG5vdCBtYXRlcmlhbGl6ZSBpdCBhcyBhbiBvd24gcHJvcGVydHkgb24gdGhlIHNoYXJlIGhhbmRlZCB0byBga2V5Q29tYmluZWAuXG4gKi9cbmNvbnN0IFlTaGFyZUNvZGVjID0gdC5pbnRlcnNlY3Rpb24oW1xuICB0LnR5cGUoe1xuICAgIGk6IHQubnVtYmVyLFxuICAgIGo6IHQubnVtYmVyLFxuICAgIHk6IEhleDMyQnl0ZXMsXG4gICAgdTogSGV4MzJCeXRlcyxcbiAgICBjaGFpbmNvZGU6IEhleDMyQnl0ZXMsXG4gIH0pLFxuICB0LnBhcnRpYWwoeyB2OiBIZXgzMkJ5dGVzIH0pLFxuXSk7XG5cbmNvbnN0IFVzZXJTaWduaW5nTWF0ZXJpYWxDb2RlYyA9IHQudHlwZSh7XG4gIHVTaGFyZTogVVNoYXJlQ29kZWMsXG4gIGJpdGdvWVNoYXJlOiBZU2hhcmVDb2RlYyxcbiAgYmFja3VwWVNoYXJlOiBZU2hhcmVDb2RlYyxcbn0pO1xuXG4vKipcbiAqIE1hcHMgYSBkZWNvZGUgZmFpbHVyZSB0byBhIGNvbnN0YW50IG1lc3NhZ2UuIE5ldmVyIGludGVycG9sYXRlcyBgZXJyb3IudmFsdWVgOiB0aGUgaW5wdXQgaXNcbiAqIHByaXZhdGUga2V5IG1hdGVyaWFsLiBUaGlzIGlzIGFsc28gd2h5IHRoZSBjb2RlY3MgY2FsbCBgdC5mYWlsdXJlYCB3aXRob3V0IGEgbWVzc2FnZSBhbmQgd2h5XG4gKiB0aGUgYHZhbGlkYXRpb25FcnJvcnNgIHJlcG9ydGVyIGluIGB1dGlscy9kZWNvZGUudHNgIGlzIG5vdCB1c2VkIOKAlCBib3RoIGVtYmVkIHRoZSBmYWlsaW5nIHZhbHVlLlxuICovXG5mdW5jdGlvbiB0b0ludmFsaWRLZXlNZXNzYWdlKGVycm9yczogdC5FcnJvcnMpOiBzdHJpbmcge1xuICBjb25zdCBbZXJyb3JdID0gZXJyb3JzO1xuICAvLyB0aGUgaGVhZCBvZiB0aGUgY29udGV4dCBpcyB0aGUgcm9vdCBjb2RlYyBpdHNlbGYsIHNvIHRoZSByZW1haW5pbmcga2V5cyBhcmUgdGhlIGZpZWxkIHBhdGguXG4gIC8vIHB1cmVseSBudW1lcmljIGtleXMgYXJlIGludGVyc2VjdGlvbi91bmlvbiBtZW1iZXIgaW5kaWNlcyByYXRoZXIgdGhhbiBmaWVsZCBuYW1lcy5cbiAgY29uc3Qgc2VnbWVudHMgPSBlcnJvci5jb250ZXh0XG4gICAgLnNsaWNlKDEpXG4gICAgLm1hcCgoZW50cnkpID0+IGVudHJ5LmtleSlcbiAgICAuZmlsdGVyKChrZXkpID0+ICEvXlxcZCskLy50ZXN0KGtleSkpO1xuICBpZiAoc2VnbWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuICdJbnZhbGlkIHVzZXIga2V5IC0gc2lnbmluZyBtYXRlcmlhbCBpcyBub3QgYW4gb2JqZWN0JztcbiAgfVxuICBpZiAoc2VnbWVudHMubGVuZ3RoID09PSAxICYmIChlcnJvci52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGVycm9yLnZhbHVlID09PSBudWxsKSkge1xuICAgIHJldHVybiBgSW52YWxpZCB1c2VyIGtleSAtIG1pc3NpbmcgJHtzZWdtZW50c1swXX1gO1xuICB9XG4gIHJldHVybiBgSW52YWxpZCB1c2VyIGtleSAtICR7c2VnbWVudHNbMF19IGlzIG5vdCBhIHZhbGlkIHNoYXJlYDtcbn1cblxuLyoqXG4gKiBQYXJzZXMgdGhlIHVzZXIgVFNTIEVkRFNBIHNpZ25pbmcgbWF0ZXJpYWwgdGhhdCBhIGNsaWVudCBwYXNzZXMgYXMgYHBydmAgd2hlbiBzaWduaW5nLFxuICogYW5kIHJlamVjdHMgYW55dGhpbmcgdGhhdCBkb2VzIG5vdCBkZWNvZGUgYXMgdXNlciBzaWduaW5nIG1hdGVyaWFsLlxuICpcbiAqIERlY29kaW5nIGlzIGEgc2hhcGUgY2hlY2sgb25seSwgYnV0IGl0IGtlZXBzIG1hbGZvcm1lZCBpbnB1dCBhd2F5IGZyb20gdGhlIGNvbWJpbmUgcm91dGluZSxcbiAqIHdoaWNoIHRocm93cyByYXcsIGlucHV0LWludGVycG9sYXRpbmcgZXJyb3JzIGZvciBtYWxmb3JtZWQgc2hhcmVzLlxuICpcbiAqIFRoZSBpbnB1dCBpcyBwcml2YXRlIGtleSBtYXRlcmlhbCwgc28gbm8gZXJyb3IgbWVzc2FnZSBtYXkgaW50ZXJwb2xhdGUgYW55IHBhcnQgb2YgaXQuXG4gKiBJbiBwYXJ0aWN1bGFyLCBKU09OLnBhcnNlIGVycm9ycyBvbiBOb2RlID49IDIwIGluY2x1ZGUgdGhlIHJhdyBpbnB1dCBpbiB0aGVpciBtZXNzYWdlLFxuICogd2hpY2ggaXMgd2h5IHBhcnNlIGZhaWx1cmVzIGFyZSByZXRocm93biB3aXRoIGEgY29uc3RhbnQgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gcHJ2IC0gc3RyaW5naWZpZWQgdXNlciBzaWduaW5nIG1hdGVyaWFsIChgdVNoYXJlYCwgYGJpdGdvWVNoYXJlYCwgYGJhY2t1cFlTaGFyZWApXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUVkZHNhVXNlclNpZ25pbmdNYXRlcmlhbChwcnY6IHN0cmluZyk6IFVzZXJTaWduaW5nTWF0ZXJpYWwge1xuICBsZXQgcGFyc2VkOiB1bmtub3duO1xuICB0cnkge1xuICAgIHBhcnNlZCA9IEpTT04ucGFyc2UocHJ2KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1c2VyIGtleSAtIGNvdWxkIG5vdCBwYXJzZSBzaWduaW5nIG1hdGVyaWFsJyk7XG4gIH1cbiAgY29uc3QgZGVjb2RlZCA9IFVzZXJTaWduaW5nTWF0ZXJpYWxDb2RlYy5kZWNvZGUocGFyc2VkKTtcbiAgaWYgKGRlY29kZWQuX3RhZyA9PT0gJ0xlZnQnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKHRvSW52YWxpZEtleU1lc3NhZ2UoZGVjb2RlZC5sZWZ0KSk7XG4gIH1cbiAgcmV0dXJuIGRlY29kZWQucmlnaHQgYXMgVXNlclNpZ25pbmdNYXRlcmlhbDtcbn1cblxuLyoqXG4gKiBDaGVja3MgdGhhdCBgdVNoYXJlLnlgIGlzIHRoZSBwdWJsaWMgcG9pbnQgYWN0dWFsbHkgZGVyaXZlZCBmcm9tIGB1U2hhcmUuc2VlZGAuXG4gKlxuICogYGtleUNvbWJpbmVgIGRlcml2ZXMgdGhlIHByaXZhdGUgc2NhbGFyIGZyb20gdGhlIHNlZWQgYnV0IHJlY29uc3RydWN0cyB0aGUgY29tbW9uIGtleWNoYWluIGZyb21cbiAqIHRoZSBkZWNsYXJlZCBgeWAgZmllbGRzLCBzbyBpdCBuZXZlciBjb21wYXJlcyB0aGUgdHdvLiBXaXRob3V0IHRoaXMgY2hlY2sgYSBjYWxsZXIgd2hvIGtub3dzXG4gKiBvbmx5IHRoZSB3YWxsZXQncyBwdWJsaWMgY29tbW9uS2V5Y2hhaW4gY2FuIHN1Ym1pdCBnZW51aW5lIHB1YmxpYyBmaWVsZHMgYWxvbmdzaWRlIGEgc2VlZCB0aGV5XG4gKiBkbyBub3Qgb3duIGFuZCBzdGlsbCB2ZXJpZnkuIFJlLXJ1bm5pbmcgYGtleVNoYXJlYCB3aXRoIHRoZSBzaGFyZSdzIG93biBzZWVkIGFuZCBjaGFpbmNvZGVcbiAqIHJlcHJvZHVjZXMgdGhlIGRlcml2YXRpb24gYW5kIHlpZWxkcyB0aGUgYHlgIHRoZSBzZWVkIHJlYWxseSBjb21taXRzIHRvLlxuICovXG5mdW5jdGlvbiB1U2hhcmVTZWVkTWF0Y2hlc1koTVBDOiBFZGRzYSwgdVNoYXJlOiBVc2VyU2lnbmluZ01hdGVyaWFsWyd1U2hhcmUnXSk6IGJvb2xlYW4ge1xuICBjb25zdCBzZWVkY2hhaW4gPSBCdWZmZXIuY29uY2F0KFtCdWZmZXIuZnJvbSh1U2hhcmUuc2VlZCwgJ2hleCcpLCBCdWZmZXIuZnJvbSh1U2hhcmUuY2hhaW5jb2RlLCAnaGV4JyldKTtcbiAgbGV0IGRlcml2ZWQ6IFVzZXJTaWduaW5nTWF0ZXJpYWxbJ3VTaGFyZSddO1xuICB0cnkge1xuICAgIGRlcml2ZWQgPSBNUEMua2V5U2hhcmUodVNoYXJlLmksIHVTaGFyZS50LCB1U2hhcmUubiwgc2VlZGNoYWluKS51U2hhcmU7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBrZXlTaGFyZSByZWplY3RzIGFuIG91dC1vZi1yYW5nZSBpbmRleCBvciB0aHJlc2hvbGQsIHdoaWNoIG1ha2VzIHRoZSBzaGFyZSB1bnVzYWJsZVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gZGVyaXZlZC55ID09PSB1U2hhcmUueTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IHVzZXIgVFNTIEVkRFNBIHNpZ25pbmcgbWF0ZXJpYWwgKGBwcnZgKSByZWNvbWJpbmVzIHRvIGEgZ2l2ZW4gY29tbW9uS2V5Y2hhaW4uXG4gKlxuICogUmVjb21iaW5lcyB0aGUgdXNlcidzIHNoYXJlIHdpdGggdGhlIEJpdEdvIGFuZCBiYWNrdXAgWSBzaGFyZXMg4oCUIHRoZSBzYW1lIGNvbXB1dGF0aW9uIHRoZVxuICogU0RLIHBlcmZvcm1zIHdoZW4gY3JlYXRpbmcgdGhlIHVzZXIga2V5Y2hhaW4gb3Igc2lnbmluZyDigJQgYW5kIGNvbXBhcmVzIHRoZSByZXN1bHQgYWdhaW5zdFxuICogdGhlIHdhbGxldCdzIGNvbW1vbktleWNoYWluLiBSZXR1cm5zIGZhbHNlIHJhdGhlciB0aGFuIHRocm93aW5nIHdoZW4gdGhlIGtleXMgZG8gbm90IG1hdGNoLlxuICogU2hhcmVzIHRoYXQgcGFzcyB0aGUgc2hhcGUgY2hlY2sgYnV0IGFyZSBjcnlwdG9ncmFwaGljYWxseSBpbmNvbnNpc3RlbnQgYXJlIHJlamVjdGVkIHdpdGhcbiAqIGEgY29uc3RhbnQgbWVzc2FnZTogdGhlIGNvbWJpbmUgcm91dGluZSB0aHJvd3MgcmF3IGVycm9ycywgc29tZSBvZiB3aGljaCBpbnRlcnBvbGF0ZVxuICogc3VibWl0dGVyLWNvbnRyb2xsZWQgZmllbGRzLCB3aGljaCBtdXN0IG5vdCBzdXJmYWNlIHRocm91Z2ggdGhlIEFQSS5cbiAqXG4gKiBSZWNvbWJpbmF0aW9uIGFsb25lIGlzIG5vdCBwcm9vZiBvZiBwb3NzZXNzaW9uLCBzbyB0d28gZnVydGhlciBjaGVja3MgcnVuIGZpcnN0LiBUaGUgc2VlZCBpc1xuICogYm91bmQgdG8gYHVTaGFyZS55YCwgYW5kIHRoZSBZIHNoYXJlcyBtdXN0IGNhcnJ5IHRoZWlyIFZTUyBjb21taXRtZW50IGB2YCDigJQgYGtleUNvbWJpbmVgXG4gKiB2ZXJpZmllcyBhIFkgc2hhcmUncyBzZWNyZXQgYHVgIG9ubHkgd2hlbiBgdmAgaXMgcHJlc2VudCwgc28gbWF0ZXJpYWwgd2l0aG91dCBgdmAgY2Fubm90IGJlXG4gKiB2ZXJpZmllZCBhdCBhbGwgYW5kIHRocm93cyBhIGRpc3RpbmN0IGVycm9yIHJhdGhlciB0aGFuIGJlaW5nIGp1ZGdlZCBhIG5vbi1tYXRjaC4gR2VudWluZVxuICogc2hhcmVzIHByb2R1Y2VkIGJ5IGBrZXlTaGFyZWAgYWx3YXlzIGNhcnJ5IGB2YC5cbiAqXG4gKiBBIHRydWUgcmVzdWx0IGlzIGEgY29uc2lzdGVuY3kgY2hlY2sgZm9yIGEgY2FsbGVyIGluc3BlY3RpbmcgaXRzIG93biBtYXRlcmlhbCwgbm90IHByb29mIG9mXG4gKiBwb3NzZXNzaW9uLCBhbmQgbXVzdCBuZXZlciBiZSB1c2VkIGFzIGFuIGF1dGhvcml6YXRpb24gc2lnbmFsOiBhIGNhbGxlciB3aG8ga25vd3Mgb25seSB0aGVcbiAqIHdhbGxldCdzIHB1YmxpYyBjb21tb25LZXljaGFpbiBjYW4gY29uc3RydWN0IG1hdGVyaWFsIHRoYXQgcGFzc2VzIOKAlCBhbiBgdVNoYXJlYCB3aG9zZSBzZWVkXG4gKiBtYXRjaGVzIGl0cyBgeWAsIHBsdXMgWSBzaGFyZXMgd2l0aCBhIGNob3NlbiBzZWNyZXQgYHVgIGFuZCB0aGUgYHZgIHNvbHZlZCBmcm9tIGl0LCB3aG9zZVxuICogYHlgIHZhbHVlcyBzdW0gdG8gdGhlIGNvbW1vbiBrZXkuXG4gKlxuICogQHBhcmFtIHBhcmFtcy5wcnYgLSBzdHJpbmdpZmllZCB1c2VyIHNpZ25pbmcgbWF0ZXJpYWwsIGFzIHBhc3NlZCBhcyBgcHJ2YCB3aGVuIHNpZ25pbmdcbiAqIEBwYXJhbSBwYXJhbXMuY29tbW9uS2V5Y2hhaW4gLSB0aGUgd2FsbGV0J3MgdXNlciBrZXljaGFpbiBjb21tb25LZXljaGFpblxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRkc2FVc2VyU2lnbmluZ01hdGVyaWFsTWF0Y2hlc0NvbW1vbktleWNoYWluKHBhcmFtczoge1xuICBwcnY6IHN0cmluZztcbiAgY29tbW9uS2V5Y2hhaW46IHN0cmluZztcbn0pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3Qgc2lnbmluZ01hdGVyaWFsID0gcGFyc2VFZGRzYVVzZXJTaWduaW5nTWF0ZXJpYWwocGFyYW1zLnBydik7XG4gIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoKTtcbiAgaWYgKCF1U2hhcmVTZWVkTWF0Y2hlc1koTVBDLCBzaWduaW5nTWF0ZXJpYWwudVNoYXJlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvLyBrZXlDb21iaW5lIHZlcmlmaWVzIGEgWSBzaGFyZSdzIHNlY3JldCBgdWAgYWdhaW5zdCBpdHMgY29tbWl0bWVudCBvbmx5IHdoZW4gYHZgIGlzIHByZXNlbnQsXG4gIC8vIHNvIG1hdGVyaWFsIHdpdGhvdXQgYHZgIGNhbm5vdCBiZSB2ZXJpZmllZCBhdCBhbGw7IHJlamVjdCBpdCBkaXN0aW5jdGx5IGluc3RlYWQgb2YganVkZ2luZ1xuICAvLyBpdCBhIG5vbi1tYXRjaCwgd2hpY2ggd291bGQgbWlzcmVwb3J0IGdlbnVpbmUgbWF0ZXJpYWwgdGhhdCBsYWNrcyB0aGUgY29tbWl0bWVudFxuICBpZiAoc2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlLnYgPT09IHVuZGVmaW5lZCB8fCBzaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlLnYgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHZlcmlmeSBrZXkgLSBzaWduaW5nIG1hdGVyaWFsIGhhcyBubyBWU1MgY29tbWl0bWVudCcpO1xuICB9XG4gIGxldCBjb21iaW5lZEtleTogS2V5Q29tYmluZTtcbiAgdHJ5IHtcbiAgICBjb21iaW5lZEtleSA9IE1QQy5rZXlDb21iaW5lKHNpZ25pbmdNYXRlcmlhbC51U2hhcmUsIFtzaWduaW5nTWF0ZXJpYWwuYml0Z29ZU2hhcmUsIHNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmVdKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1c2VyIGtleSAtIGNvdWxkIG5vdCBjb21iaW5lIHNpZ25pbmcgbWF0ZXJpYWwnKTtcbiAgfVxuICByZXR1cm4gY29tYmluZWRLZXkucFNoYXJlLnkgKyBjb21iaW5lZEtleS5wU2hhcmUuY2hhaW5jb2RlID09PSBwYXJhbXMuY29tbW9uS2V5Y2hhaW47XG59XG4iXX0=
@@ -398,6 +398,21 @@ export interface GetUserPrvOptions {
398
398
  coldDerivationSeed?: string;
399
399
  walletPassphrase?: string;
400
400
  }
401
+ export interface VerifyKeyOptions {
402
+ /**
403
+ * User TSS signing material: the same string that would be passed as `prv` when signing a
404
+ * transaction. TSS EdDSA (MPCv1) wallets only.
405
+ */
406
+ prv: string;
407
+ reqId?: IRequestTracer;
408
+ }
409
+ export interface VerifyKeyResult {
410
+ /**
411
+ * Whether the signing material recombines to the wallet's commonKeychain. A consistency
412
+ * check, not proof of possession — never use it as an authorization signal.
413
+ */
414
+ match: boolean;
415
+ }
401
416
  export interface WalletCoinSpecific {
402
417
  tokenFlushThresholds?: any;
403
418
  addressVersion?: number;
@@ -1182,6 +1197,7 @@ export interface IWallet {
1182
1197
  prebuildTransaction(params?: PrebuildTransactionOptions): Promise<PrebuildTransactionResult>;
1183
1198
  signTransaction(params?: WalletSignTransactionOptions): Promise<SignedTransaction>;
1184
1199
  getUserPrv(params?: GetUserPrvOptions): Promise<string>;
1200
+ verifyKey(params: VerifyKeyOptions): Promise<VerifyKeyResult>;
1185
1201
  prebuildAndSignTransaction(params?: PrebuildAndSignTransactionOptions): Promise<SignedTransaction>;
1186
1202
  signAndSendTxRequest(params?: SignAndSendTxRequestOptions): Promise<SignedTransaction>;
1187
1203
  accelerateTransaction(params?: AccelerateTransactionOptions): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"iWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/iWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/iWallet.ts"],"names":[],"mappings":"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"}