@metamask-previews/eth-trezor-keyring 10.1.0-e51c895 → 10.1.1-1fa477f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,11 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [10.1.1]
11
+
10
12
  ### Changed
11
13
 
12
- - Bump `@metamask/keyring-api` from `^23.1.0` to `^23.3.0` ([#562](https://github.com/MetaMask/accounts/pull/562), [#569](https://github.com/MetaMask/accounts/pull/569))
14
+ - Bump `@metamask/keyring-api` from `^23.1.0` to `^23.5.0` ([#562](https://github.com/MetaMask/accounts/pull/562), [#569](https://github.com/MetaMask/accounts/pull/569), [#583](https://github.com/MetaMask/accounts/pull/583), [#587](https://github.com/MetaMask/accounts/pull/587))
13
15
  - Bump `@metamask/keyring-sdk` from `^2.1.1` to `^2.2.0` ([#562](https://github.com/MetaMask/accounts/pull/562))
14
- - Bump `@metamask/hw-wallet-sdk` from `^0.8.0` to `^0.9.0` ([#576](https://github.com/MetaMask/accounts/pull/576))
16
+ - Bump `@metamask/hw-wallet-sdk` from `^0.8.0` to `^0.10.0` ([#576](https://github.com/MetaMask/accounts/pull/576), [#587](https://github.com/MetaMask/accounts/pull/587))
15
17
 
16
18
  ### Fixed
17
19
 
@@ -296,7 +298,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
296
298
 
297
299
  - Support new versions of ethereumjs/tx ([#88](https://github.com/metamask/eth-trezor-keyring/pull/88))
298
300
 
299
- [Unreleased]: https://github.com/MetaMask/accounts/compare/@metamask/eth-trezor-keyring@10.1.0...HEAD
301
+ [Unreleased]: https://github.com/MetaMask/accounts/compare/@metamask/eth-trezor-keyring@10.1.1...HEAD
302
+ [10.1.1]: https://github.com/MetaMask/accounts/compare/@metamask/eth-trezor-keyring@10.1.0...@metamask/eth-trezor-keyring@10.1.1
300
303
  [10.1.0]: https://github.com/MetaMask/accounts/compare/@metamask/eth-trezor-keyring@10.0.2...@metamask/eth-trezor-keyring@10.1.0
301
304
  [10.0.2]: https://github.com/MetaMask/accounts/compare/@metamask/eth-trezor-keyring@10.0.1...@metamask/eth-trezor-keyring@10.0.2
302
305
  [10.0.1]: https://github.com/MetaMask/accounts/compare/@metamask/eth-trezor-keyring@10.0.0...@metamask/eth-trezor-keyring@10.0.1
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createErrorFromTrezorResponse = void 0;
4
+ const hw_wallet_sdk_1 = require("@metamask/hw-wallet-sdk");
5
+ const trezor_error_handler_1 = require("./trezor-error-handler.cjs");
4
6
  /**
5
- * Creates an Error from a Trezor Connect unsuccessful response payload.
7
+ * Creates a HardwareWalletError from a Trezor Connect unsuccessful response payload.
6
8
  * Preserves machine-readable Trezor error codes when present.
7
9
  *
8
10
  * @param payload - The error payload from a Trezor Connect response.
9
- * @returns An Error with optional `.code` for downstream mapping.
11
+ * @returns A typed hardware wallet error for downstream handling.
10
12
  */
11
13
  function createErrorFromTrezorResponse(payload) {
12
14
  var _a;
@@ -15,7 +17,7 @@ function createErrorFromTrezorResponse(payload) {
15
17
  if ((payload === null || payload === void 0 ? void 0 : payload.code) !== undefined) {
16
18
  Object.assign(error, { code: payload.code });
17
19
  }
18
- return error;
20
+ return (0, trezor_error_handler_1.convertToHardwareWalletError)(error, message);
19
21
  }
20
22
  exports.createErrorFromTrezorResponse = createErrorFromTrezorResponse;
21
23
  //# sourceMappingURL=trezor-bridge-error.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trezor-bridge-error.cjs","sourceRoot":"","sources":["../src/trezor-bridge-error.ts"],"names":[],"mappings":";;;AAKA;;;;;;GAMG;AACH,SAAgB,6BAA6B,CAC3C,OAAuC;;IAEvC,MAAM,OAAO,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,eAAe,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAEjC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAXD,sEAWC","sourcesContent":["type TrezorErrorPayload = {\n error?: string;\n code?: string;\n};\n\n/**\n * Creates an Error from a Trezor Connect unsuccessful response payload.\n * Preserves machine-readable Trezor error codes when present.\n *\n * @param payload - The error payload from a Trezor Connect response.\n * @returns An Error with optional `.code` for downstream mapping.\n */\nexport function createErrorFromTrezorResponse(\n payload: TrezorErrorPayload | undefined,\n): Error {\n const message = payload?.error ?? 'Unknown error';\n const error = new Error(message);\n\n if (payload?.code !== undefined) {\n Object.assign(error, { code: payload.code });\n }\n\n return error;\n}\n"]}
1
+ {"version":3,"file":"trezor-bridge-error.cjs","sourceRoot":"","sources":["../src/trezor-bridge-error.ts"],"names":[],"mappings":";;;AAAA,2DAA8D;AAE9D,qEAAsE;AAOtE;;;;;;GAMG;AACH,SAAgB,6BAA6B,CAC3C,OAAuC;;IAEvC,MAAM,OAAO,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,eAAe,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAEjC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,IAAA,mDAA4B,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAXD,sEAWC","sourcesContent":["import { HardwareWalletError } from '@metamask/hw-wallet-sdk';\n\nimport { convertToHardwareWalletError } from './trezor-error-handler';\n\ntype TrezorErrorPayload = {\n error?: string;\n code?: string;\n};\n\n/**\n * Creates a HardwareWalletError from a Trezor Connect unsuccessful response payload.\n * Preserves machine-readable Trezor error codes when present.\n *\n * @param payload - The error payload from a Trezor Connect response.\n * @returns A typed hardware wallet error for downstream handling.\n */\nexport function createErrorFromTrezorResponse(\n payload: TrezorErrorPayload | undefined,\n): HardwareWalletError {\n const message = payload?.error ?? 'Unknown error';\n const error = new Error(message);\n\n if (payload?.code !== undefined) {\n Object.assign(error, { code: payload.code });\n }\n\n return convertToHardwareWalletError(error, message);\n}\n"]}
@@ -1,14 +1,15 @@
1
+ import { HardwareWalletError } from "@metamask/hw-wallet-sdk";
1
2
  type TrezorErrorPayload = {
2
3
  error?: string;
3
4
  code?: string;
4
5
  };
5
6
  /**
6
- * Creates an Error from a Trezor Connect unsuccessful response payload.
7
+ * Creates a HardwareWalletError from a Trezor Connect unsuccessful response payload.
7
8
  * Preserves machine-readable Trezor error codes when present.
8
9
  *
9
10
  * @param payload - The error payload from a Trezor Connect response.
10
- * @returns An Error with optional `.code` for downstream mapping.
11
+ * @returns A typed hardware wallet error for downstream handling.
11
12
  */
12
- export declare function createErrorFromTrezorResponse(payload: TrezorErrorPayload | undefined): Error;
13
+ export declare function createErrorFromTrezorResponse(payload: TrezorErrorPayload | undefined): HardwareWalletError;
13
14
  export {};
14
15
  //# sourceMappingURL=trezor-bridge-error.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trezor-bridge-error.d.cts","sourceRoot":"","sources":["../src/trezor-bridge-error.ts"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,kBAAkB,GAAG,SAAS,GACtC,KAAK,CASP"}
1
+ {"version":3,"file":"trezor-bridge-error.d.cts","sourceRoot":"","sources":["../src/trezor-bridge-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,gCAAgC;AAI9D,KAAK,kBAAkB,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,kBAAkB,GAAG,SAAS,GACtC,mBAAmB,CASrB"}
@@ -1,14 +1,15 @@
1
+ import { HardwareWalletError } from "@metamask/hw-wallet-sdk";
1
2
  type TrezorErrorPayload = {
2
3
  error?: string;
3
4
  code?: string;
4
5
  };
5
6
  /**
6
- * Creates an Error from a Trezor Connect unsuccessful response payload.
7
+ * Creates a HardwareWalletError from a Trezor Connect unsuccessful response payload.
7
8
  * Preserves machine-readable Trezor error codes when present.
8
9
  *
9
10
  * @param payload - The error payload from a Trezor Connect response.
10
- * @returns An Error with optional `.code` for downstream mapping.
11
+ * @returns A typed hardware wallet error for downstream handling.
11
12
  */
12
- export declare function createErrorFromTrezorResponse(payload: TrezorErrorPayload | undefined): Error;
13
+ export declare function createErrorFromTrezorResponse(payload: TrezorErrorPayload | undefined): HardwareWalletError;
13
14
  export {};
14
15
  //# sourceMappingURL=trezor-bridge-error.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trezor-bridge-error.d.mts","sourceRoot":"","sources":["../src/trezor-bridge-error.ts"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,kBAAkB,GAAG,SAAS,GACtC,KAAK,CASP"}
1
+ {"version":3,"file":"trezor-bridge-error.d.mts","sourceRoot":"","sources":["../src/trezor-bridge-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,gCAAgC;AAI9D,KAAK,kBAAkB,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,kBAAkB,GAAG,SAAS,GACtC,mBAAmB,CASrB"}
@@ -1,9 +1,11 @@
1
+ import { HardwareWalletError } from "@metamask/hw-wallet-sdk";
2
+ import { convertToHardwareWalletError } from "./trezor-error-handler.mjs";
1
3
  /**
2
- * Creates an Error from a Trezor Connect unsuccessful response payload.
4
+ * Creates a HardwareWalletError from a Trezor Connect unsuccessful response payload.
3
5
  * Preserves machine-readable Trezor error codes when present.
4
6
  *
5
7
  * @param payload - The error payload from a Trezor Connect response.
6
- * @returns An Error with optional `.code` for downstream mapping.
8
+ * @returns A typed hardware wallet error for downstream handling.
7
9
  */
8
10
  export function createErrorFromTrezorResponse(payload) {
9
11
  var _a;
@@ -12,6 +14,6 @@ export function createErrorFromTrezorResponse(payload) {
12
14
  if ((payload === null || payload === void 0 ? void 0 : payload.code) !== undefined) {
13
15
  Object.assign(error, { code: payload.code });
14
16
  }
15
- return error;
17
+ return convertToHardwareWalletError(error, message);
16
18
  }
17
19
  //# sourceMappingURL=trezor-bridge-error.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trezor-bridge-error.mjs","sourceRoot":"","sources":["../src/trezor-bridge-error.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,OAAuC;;IAEvC,MAAM,OAAO,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,eAAe,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAEjC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["type TrezorErrorPayload = {\n error?: string;\n code?: string;\n};\n\n/**\n * Creates an Error from a Trezor Connect unsuccessful response payload.\n * Preserves machine-readable Trezor error codes when present.\n *\n * @param payload - The error payload from a Trezor Connect response.\n * @returns An Error with optional `.code` for downstream mapping.\n */\nexport function createErrorFromTrezorResponse(\n payload: TrezorErrorPayload | undefined,\n): Error {\n const message = payload?.error ?? 'Unknown error';\n const error = new Error(message);\n\n if (payload?.code !== undefined) {\n Object.assign(error, { code: payload.code });\n }\n\n return error;\n}\n"]}
1
+ {"version":3,"file":"trezor-bridge-error.mjs","sourceRoot":"","sources":["../src/trezor-bridge-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,gCAAgC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,mCAA+B;AAOtE;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,OAAuC;;IAEvC,MAAM,OAAO,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,eAAe,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAEjC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC","sourcesContent":["import { HardwareWalletError } from '@metamask/hw-wallet-sdk';\n\nimport { convertToHardwareWalletError } from './trezor-error-handler';\n\ntype TrezorErrorPayload = {\n error?: string;\n code?: string;\n};\n\n/**\n * Creates a HardwareWalletError from a Trezor Connect unsuccessful response payload.\n * Preserves machine-readable Trezor error codes when present.\n *\n * @param payload - The error payload from a Trezor Connect response.\n * @returns A typed hardware wallet error for downstream handling.\n */\nexport function createErrorFromTrezorResponse(\n payload: TrezorErrorPayload | undefined,\n): HardwareWalletError {\n const message = payload?.error ?? 'Unknown error';\n const error = new Error(message);\n\n if (payload?.code !== undefined) {\n Object.assign(error, { code: payload.code });\n }\n\n return convertToHardwareWalletError(error, message);\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleTrezorTransportError = void 0;
3
+ exports.handleTrezorTransportError = exports.convertToHardwareWalletError = void 0;
4
4
  const hw_wallet_sdk_1 = require("@metamask/hw-wallet-sdk");
5
5
  const trezor_errors_1 = require("./trezor-errors.cjs");
6
6
  const USER_REJECTION_TREZOR_IDENTIFIERS = {
@@ -28,24 +28,24 @@ function getErrorDetails(error) {
28
28
  *
29
29
  * @param error - Error thrown from Trezor bridge or keyring flow.
30
30
  * @param fallbackMessage - Default message for unknown non-Error inputs.
31
- * @throws HardwareWalletError Always throws typed errors.
31
+ * @returns A typed hardware wallet error.
32
32
  */
33
- function handleTrezorTransportError(error, fallbackMessage) {
33
+ function convertToHardwareWalletError(error, fallbackMessage) {
34
34
  var _a, _b;
35
35
  if (error instanceof hw_wallet_sdk_1.HardwareWalletError) {
36
- throw error;
36
+ return error;
37
37
  }
38
38
  if (error instanceof Error) {
39
39
  const details = getErrorDetails(error);
40
40
  const identifier = [details.code, details.name, details.message].find((value) => value !== undefined && (0, trezor_errors_1.isKnownTrezorError)(value));
41
41
  if (identifier) {
42
- throw (0, trezor_errors_1.createTrezorError)(identifier, details.message);
42
+ return (0, trezor_errors_1.createTrezorError)(identifier, details.message);
43
43
  }
44
44
  const userRejectionCode = (0, hw_wallet_sdk_1.resolveUserRejectionErrorCode)(error);
45
45
  if (userRejectionCode !== undefined) {
46
- throw (0, trezor_errors_1.createTrezorError)(USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode], details.message);
46
+ return (0, trezor_errors_1.createTrezorError)(USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode], details.message);
47
47
  }
48
- throw new hw_wallet_sdk_1.HardwareWalletError((_a = details.message) !== null && _a !== void 0 ? _a : fallbackMessage, {
48
+ return new hw_wallet_sdk_1.HardwareWalletError((_a = details.message) !== null && _a !== void 0 ? _a : fallbackMessage, {
49
49
  code: hw_wallet_sdk_1.ErrorCode.Unknown,
50
50
  severity: hw_wallet_sdk_1.Severity.Err,
51
51
  category: hw_wallet_sdk_1.Category.Unknown,
@@ -55,14 +55,25 @@ function handleTrezorTransportError(error, fallbackMessage) {
55
55
  }
56
56
  const userRejectionCode = (0, hw_wallet_sdk_1.resolveUserRejectionErrorCode)(error);
57
57
  if (userRejectionCode !== undefined) {
58
- throw (0, trezor_errors_1.createTrezorError)(USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode]);
58
+ return (0, trezor_errors_1.createTrezorError)(USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode]);
59
59
  }
60
- throw new hw_wallet_sdk_1.HardwareWalletError(fallbackMessage, {
60
+ return new hw_wallet_sdk_1.HardwareWalletError(fallbackMessage, {
61
61
  code: hw_wallet_sdk_1.ErrorCode.Unknown,
62
62
  severity: hw_wallet_sdk_1.Severity.Err,
63
63
  category: hw_wallet_sdk_1.Category.Unknown,
64
64
  userMessage: fallbackMessage,
65
65
  });
66
66
  }
67
+ exports.convertToHardwareWalletError = convertToHardwareWalletError;
68
+ /**
69
+ * Converts unknown Trezor errors into typed HardwareWalletError instances.
70
+ *
71
+ * @param error - Error thrown from Trezor bridge or keyring flow.
72
+ * @param fallbackMessage - Default message for unknown non-Error inputs.
73
+ * @throws HardwareWalletError Always throws typed errors.
74
+ */
75
+ function handleTrezorTransportError(error, fallbackMessage) {
76
+ throw convertToHardwareWalletError(error, fallbackMessage);
77
+ }
67
78
  exports.handleTrezorTransportError = handleTrezorTransportError;
68
79
  //# sourceMappingURL=trezor-error-handler.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trezor-error-handler.cjs","sourceRoot":"","sources":["../src/trezor-error-handler.ts"],"names":[],"mappings":";;;AAAA,2DAMiC;AAEjC,uDAAwE;AAQxE,MAAM,iCAAiC,GAGnC;IACF,CAAC,yBAAS,CAAC,aAAa,CAAC,EAAE,yBAAyB;IACpD,CAAC,yBAAS,CAAC,YAAY,CAAC,EAAE,8BAA8B;CACzD,CAAC;AAEF,SAAS,eAAe,CAAC,KAAY;IACnC,MAAM,OAAO,GAAiB;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;IAEF,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAmC,CAAC;QACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,0BAA0B,CACxC,KAAc,EACd,eAAuB;;IAEvB,IAAI,KAAK,YAAY,mCAAmB,EAAE,CAAC;QACzC,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CACnE,CAAC,KAAK,EAAmB,EAAE,CACzB,KAAK,KAAK,SAAS,IAAI,IAAA,kCAAkB,EAAC,KAAK,CAAC,CACnD,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAA,iCAAiB,EAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,6CAA6B,EAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAA,iCAAiB,EACrB,iCAAiC,CAAC,iBAAiB,CAAC,EACpD,OAAO,CAAC,OAAO,CAChB,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,mCAAmB,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,eAAe,EAAE;YAChE,IAAI,EAAE,yBAAS,CAAC,OAAO;YACvB,QAAQ,EAAE,wBAAQ,CAAC,GAAG;YACtB,QAAQ,EAAE,wBAAQ,CAAC,OAAO;YAC1B,WAAW,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,eAAe;YAC/C,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAA,6CAA6B,EAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAA,iCAAiB,EACrB,iCAAiC,CAAC,iBAAiB,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,mCAAmB,CAAC,eAAe,EAAE;QAC7C,IAAI,EAAE,yBAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,wBAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,wBAAQ,CAAC,OAAO;QAC1B,WAAW,EAAE,eAAe;KAC7B,CAAC,CAAC;AACL,CAAC;AAjDD,gEAiDC","sourcesContent":["import {\n ErrorCode,\n Severity,\n Category,\n HardwareWalletError,\n resolveUserRejectionErrorCode,\n} from '@metamask/hw-wallet-sdk';\n\nimport { createTrezorError, isKnownTrezorError } from './trezor-errors';\n\ntype ErrorDetails = {\n message?: string;\n code?: string;\n name?: string;\n};\n\nconst USER_REJECTION_TREZOR_IDENTIFIERS: Record<\n ErrorCode.UserCancelled | ErrorCode.UserRejected,\n string\n> = {\n [ErrorCode.UserCancelled]: 'Failure_ActionCancelled',\n [ErrorCode.UserRejected]: 'Method_PermissionsNotGranted',\n};\n\nfunction getErrorDetails(error: Error): ErrorDetails {\n const details: ErrorDetails = {\n message: error.message,\n name: error.name,\n };\n\n if ('code' in error) {\n const { code } = error as Error & { code?: unknown };\n if (typeof code === 'string') {\n details.code = code;\n } else if (typeof code === 'number') {\n details.code = String(code);\n }\n }\n\n return details;\n}\n\n/**\n * Converts unknown Trezor errors into typed HardwareWalletError instances.\n *\n * @param error - Error thrown from Trezor bridge or keyring flow.\n * @param fallbackMessage - Default message for unknown non-Error inputs.\n * @throws HardwareWalletError Always throws typed errors.\n */\nexport function handleTrezorTransportError(\n error: unknown,\n fallbackMessage: string,\n): never {\n if (error instanceof HardwareWalletError) {\n throw error;\n }\n\n if (error instanceof Error) {\n const details = getErrorDetails(error);\n const identifier = [details.code, details.name, details.message].find(\n (value): value is string =>\n value !== undefined && isKnownTrezorError(value),\n );\n\n if (identifier) {\n throw createTrezorError(identifier, details.message);\n }\n\n const userRejectionCode = resolveUserRejectionErrorCode(error);\n if (userRejectionCode !== undefined) {\n throw createTrezorError(\n USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode],\n details.message,\n );\n }\n\n throw new HardwareWalletError(details.message ?? fallbackMessage, {\n code: ErrorCode.Unknown,\n severity: Severity.Err,\n category: Category.Unknown,\n userMessage: details.message ?? fallbackMessage,\n cause: error,\n });\n }\n\n const userRejectionCode = resolveUserRejectionErrorCode(error);\n if (userRejectionCode !== undefined) {\n throw createTrezorError(\n USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode],\n );\n }\n\n throw new HardwareWalletError(fallbackMessage, {\n code: ErrorCode.Unknown,\n severity: Severity.Err,\n category: Category.Unknown,\n userMessage: fallbackMessage,\n });\n}\n"]}
1
+ {"version":3,"file":"trezor-error-handler.cjs","sourceRoot":"","sources":["../src/trezor-error-handler.ts"],"names":[],"mappings":";;;AAAA,2DAMiC;AAEjC,uDAAwE;AAQxE,MAAM,iCAAiC,GAGnC;IACF,CAAC,yBAAS,CAAC,aAAa,CAAC,EAAE,yBAAyB;IACpD,CAAC,yBAAS,CAAC,YAAY,CAAC,EAAE,8BAA8B;CACzD,CAAC;AAEF,SAAS,eAAe,CAAC,KAAY;IACnC,MAAM,OAAO,GAAiB;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;IAEF,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAmC,CAAC;QACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAC1C,KAAc,EACd,eAAuB;;IAEvB,IAAI,KAAK,YAAY,mCAAmB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CACnE,CAAC,KAAK,EAAmB,EAAE,CACzB,KAAK,KAAK,SAAS,IAAI,IAAA,kCAAkB,EAAC,KAAK,CAAC,CACnD,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAA,iCAAiB,EAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,6CAA6B,EAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,IAAA,iCAAiB,EACtB,iCAAiC,CAAC,iBAAiB,CAAC,EACpD,OAAO,CAAC,OAAO,CAChB,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,mCAAmB,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,eAAe,EAAE;YACjE,IAAI,EAAE,yBAAS,CAAC,OAAO;YACvB,QAAQ,EAAE,wBAAQ,CAAC,GAAG;YACtB,QAAQ,EAAE,wBAAQ,CAAC,OAAO;YAC1B,WAAW,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,eAAe;YAC/C,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAA,6CAA6B,EAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,IAAA,iCAAiB,EACtB,iCAAiC,CAAC,iBAAiB,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,mCAAmB,CAAC,eAAe,EAAE;QAC9C,IAAI,EAAE,yBAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,wBAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,wBAAQ,CAAC,OAAO;QAC1B,WAAW,EAAE,eAAe;KAC7B,CAAC,CAAC;AACL,CAAC;AAjDD,oEAiDC;AAED;;;;;;GAMG;AACH,SAAgB,0BAA0B,CACxC,KAAc,EACd,eAAuB;IAEvB,MAAM,4BAA4B,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;AAC7D,CAAC;AALD,gEAKC","sourcesContent":["import {\n ErrorCode,\n Severity,\n Category,\n HardwareWalletError,\n resolveUserRejectionErrorCode,\n} from '@metamask/hw-wallet-sdk';\n\nimport { createTrezorError, isKnownTrezorError } from './trezor-errors';\n\ntype ErrorDetails = {\n message?: string;\n code?: string;\n name?: string;\n};\n\nconst USER_REJECTION_TREZOR_IDENTIFIERS: Record<\n ErrorCode.UserCancelled | ErrorCode.UserRejected,\n string\n> = {\n [ErrorCode.UserCancelled]: 'Failure_ActionCancelled',\n [ErrorCode.UserRejected]: 'Method_PermissionsNotGranted',\n};\n\nfunction getErrorDetails(error: Error): ErrorDetails {\n const details: ErrorDetails = {\n message: error.message,\n name: error.name,\n };\n\n if ('code' in error) {\n const { code } = error as Error & { code?: unknown };\n if (typeof code === 'string') {\n details.code = code;\n } else if (typeof code === 'number') {\n details.code = String(code);\n }\n }\n\n return details;\n}\n\n/**\n * Converts unknown Trezor errors into typed HardwareWalletError instances.\n *\n * @param error - Error thrown from Trezor bridge or keyring flow.\n * @param fallbackMessage - Default message for unknown non-Error inputs.\n * @returns A typed hardware wallet error.\n */\nexport function convertToHardwareWalletError(\n error: unknown,\n fallbackMessage: string,\n): HardwareWalletError {\n if (error instanceof HardwareWalletError) {\n return error;\n }\n\n if (error instanceof Error) {\n const details = getErrorDetails(error);\n const identifier = [details.code, details.name, details.message].find(\n (value): value is string =>\n value !== undefined && isKnownTrezorError(value),\n );\n\n if (identifier) {\n return createTrezorError(identifier, details.message);\n }\n\n const userRejectionCode = resolveUserRejectionErrorCode(error);\n if (userRejectionCode !== undefined) {\n return createTrezorError(\n USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode],\n details.message,\n );\n }\n\n return new HardwareWalletError(details.message ?? fallbackMessage, {\n code: ErrorCode.Unknown,\n severity: Severity.Err,\n category: Category.Unknown,\n userMessage: details.message ?? fallbackMessage,\n cause: error,\n });\n }\n\n const userRejectionCode = resolveUserRejectionErrorCode(error);\n if (userRejectionCode !== undefined) {\n return createTrezorError(\n USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode],\n );\n }\n\n return new HardwareWalletError(fallbackMessage, {\n code: ErrorCode.Unknown,\n severity: Severity.Err,\n category: Category.Unknown,\n userMessage: fallbackMessage,\n });\n}\n\n/**\n * Converts unknown Trezor errors into typed HardwareWalletError instances.\n *\n * @param error - Error thrown from Trezor bridge or keyring flow.\n * @param fallbackMessage - Default message for unknown non-Error inputs.\n * @throws HardwareWalletError Always throws typed errors.\n */\nexport function handleTrezorTransportError(\n error: unknown,\n fallbackMessage: string,\n): never {\n throw convertToHardwareWalletError(error, fallbackMessage);\n}\n"]}
@@ -1,3 +1,12 @@
1
+ import { HardwareWalletError } from "@metamask/hw-wallet-sdk";
2
+ /**
3
+ * Converts unknown Trezor errors into typed HardwareWalletError instances.
4
+ *
5
+ * @param error - Error thrown from Trezor bridge or keyring flow.
6
+ * @param fallbackMessage - Default message for unknown non-Error inputs.
7
+ * @returns A typed hardware wallet error.
8
+ */
9
+ export declare function convertToHardwareWalletError(error: unknown, fallbackMessage: string): HardwareWalletError;
1
10
  /**
2
11
  * Converts unknown Trezor errors into typed HardwareWalletError instances.
3
12
  *
@@ -1 +1 @@
1
- {"version":3,"file":"trezor-error-handler.d.cts","sourceRoot":"","sources":["../src/trezor-error-handler.ts"],"names":[],"mappings":"AA0CA;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,MAAM,GACtB,KAAK,CA8CP"}
1
+ {"version":3,"file":"trezor-error-handler.d.cts","sourceRoot":"","sources":["../src/trezor-error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,mBAAmB,EAEpB,gCAAgC;AAoCjC;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,MAAM,GACtB,mBAAmB,CA8CrB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,MAAM,GACtB,KAAK,CAEP"}
@@ -1,3 +1,12 @@
1
+ import { HardwareWalletError } from "@metamask/hw-wallet-sdk";
2
+ /**
3
+ * Converts unknown Trezor errors into typed HardwareWalletError instances.
4
+ *
5
+ * @param error - Error thrown from Trezor bridge or keyring flow.
6
+ * @param fallbackMessage - Default message for unknown non-Error inputs.
7
+ * @returns A typed hardware wallet error.
8
+ */
9
+ export declare function convertToHardwareWalletError(error: unknown, fallbackMessage: string): HardwareWalletError;
1
10
  /**
2
11
  * Converts unknown Trezor errors into typed HardwareWalletError instances.
3
12
  *
@@ -1 +1 @@
1
- {"version":3,"file":"trezor-error-handler.d.mts","sourceRoot":"","sources":["../src/trezor-error-handler.ts"],"names":[],"mappings":"AA0CA;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,MAAM,GACtB,KAAK,CA8CP"}
1
+ {"version":3,"file":"trezor-error-handler.d.mts","sourceRoot":"","sources":["../src/trezor-error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,mBAAmB,EAEpB,gCAAgC;AAoCjC;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,MAAM,GACtB,mBAAmB,CA8CrB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,MAAM,GACtB,KAAK,CAEP"}
@@ -25,24 +25,24 @@ function getErrorDetails(error) {
25
25
  *
26
26
  * @param error - Error thrown from Trezor bridge or keyring flow.
27
27
  * @param fallbackMessage - Default message for unknown non-Error inputs.
28
- * @throws HardwareWalletError Always throws typed errors.
28
+ * @returns A typed hardware wallet error.
29
29
  */
30
- export function handleTrezorTransportError(error, fallbackMessage) {
30
+ export function convertToHardwareWalletError(error, fallbackMessage) {
31
31
  var _a, _b;
32
32
  if (error instanceof HardwareWalletError) {
33
- throw error;
33
+ return error;
34
34
  }
35
35
  if (error instanceof Error) {
36
36
  const details = getErrorDetails(error);
37
37
  const identifier = [details.code, details.name, details.message].find((value) => value !== undefined && isKnownTrezorError(value));
38
38
  if (identifier) {
39
- throw createTrezorError(identifier, details.message);
39
+ return createTrezorError(identifier, details.message);
40
40
  }
41
41
  const userRejectionCode = resolveUserRejectionErrorCode(error);
42
42
  if (userRejectionCode !== undefined) {
43
- throw createTrezorError(USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode], details.message);
43
+ return createTrezorError(USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode], details.message);
44
44
  }
45
- throw new HardwareWalletError((_a = details.message) !== null && _a !== void 0 ? _a : fallbackMessage, {
45
+ return new HardwareWalletError((_a = details.message) !== null && _a !== void 0 ? _a : fallbackMessage, {
46
46
  code: ErrorCode.Unknown,
47
47
  severity: Severity.Err,
48
48
  category: Category.Unknown,
@@ -52,13 +52,23 @@ export function handleTrezorTransportError(error, fallbackMessage) {
52
52
  }
53
53
  const userRejectionCode = resolveUserRejectionErrorCode(error);
54
54
  if (userRejectionCode !== undefined) {
55
- throw createTrezorError(USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode]);
55
+ return createTrezorError(USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode]);
56
56
  }
57
- throw new HardwareWalletError(fallbackMessage, {
57
+ return new HardwareWalletError(fallbackMessage, {
58
58
  code: ErrorCode.Unknown,
59
59
  severity: Severity.Err,
60
60
  category: Category.Unknown,
61
61
  userMessage: fallbackMessage,
62
62
  });
63
63
  }
64
+ /**
65
+ * Converts unknown Trezor errors into typed HardwareWalletError instances.
66
+ *
67
+ * @param error - Error thrown from Trezor bridge or keyring flow.
68
+ * @param fallbackMessage - Default message for unknown non-Error inputs.
69
+ * @throws HardwareWalletError Always throws typed errors.
70
+ */
71
+ export function handleTrezorTransportError(error, fallbackMessage) {
72
+ throw convertToHardwareWalletError(error, fallbackMessage);
73
+ }
64
74
  //# sourceMappingURL=trezor-error-handler.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trezor-error-handler.mjs","sourceRoot":"","sources":["../src/trezor-error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACnB,6BAA6B,EAC9B,gCAAgC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,4BAAwB;AAQxE,MAAM,iCAAiC,GAGnC;IACF,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,yBAAyB;IACpD,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,8BAA8B;CACzD,CAAC;AAEF,SAAS,eAAe,CAAC,KAAY;IACnC,MAAM,OAAO,GAAiB;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;IAEF,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAmC,CAAC;QACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAc,EACd,eAAuB;;IAEvB,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;QACzC,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CACnE,CAAC,KAAK,EAAmB,EAAE,CACzB,KAAK,KAAK,SAAS,IAAI,kBAAkB,CAAC,KAAK,CAAC,CACnD,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,iBAAiB,CACrB,iCAAiC,CAAC,iBAAiB,CAAC,EACpD,OAAO,CAAC,OAAO,CAChB,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,mBAAmB,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,eAAe,EAAE;YAChE,IAAI,EAAE,SAAS,CAAC,OAAO;YACvB,QAAQ,EAAE,QAAQ,CAAC,GAAG;YACtB,QAAQ,EAAE,QAAQ,CAAC,OAAO;YAC1B,WAAW,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,eAAe;YAC/C,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,iBAAiB,CACrB,iCAAiC,CAAC,iBAAiB,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE;QAC7C,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,QAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,WAAW,EAAE,eAAe;KAC7B,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {\n ErrorCode,\n Severity,\n Category,\n HardwareWalletError,\n resolveUserRejectionErrorCode,\n} from '@metamask/hw-wallet-sdk';\n\nimport { createTrezorError, isKnownTrezorError } from './trezor-errors';\n\ntype ErrorDetails = {\n message?: string;\n code?: string;\n name?: string;\n};\n\nconst USER_REJECTION_TREZOR_IDENTIFIERS: Record<\n ErrorCode.UserCancelled | ErrorCode.UserRejected,\n string\n> = {\n [ErrorCode.UserCancelled]: 'Failure_ActionCancelled',\n [ErrorCode.UserRejected]: 'Method_PermissionsNotGranted',\n};\n\nfunction getErrorDetails(error: Error): ErrorDetails {\n const details: ErrorDetails = {\n message: error.message,\n name: error.name,\n };\n\n if ('code' in error) {\n const { code } = error as Error & { code?: unknown };\n if (typeof code === 'string') {\n details.code = code;\n } else if (typeof code === 'number') {\n details.code = String(code);\n }\n }\n\n return details;\n}\n\n/**\n * Converts unknown Trezor errors into typed HardwareWalletError instances.\n *\n * @param error - Error thrown from Trezor bridge or keyring flow.\n * @param fallbackMessage - Default message for unknown non-Error inputs.\n * @throws HardwareWalletError Always throws typed errors.\n */\nexport function handleTrezorTransportError(\n error: unknown,\n fallbackMessage: string,\n): never {\n if (error instanceof HardwareWalletError) {\n throw error;\n }\n\n if (error instanceof Error) {\n const details = getErrorDetails(error);\n const identifier = [details.code, details.name, details.message].find(\n (value): value is string =>\n value !== undefined && isKnownTrezorError(value),\n );\n\n if (identifier) {\n throw createTrezorError(identifier, details.message);\n }\n\n const userRejectionCode = resolveUserRejectionErrorCode(error);\n if (userRejectionCode !== undefined) {\n throw createTrezorError(\n USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode],\n details.message,\n );\n }\n\n throw new HardwareWalletError(details.message ?? fallbackMessage, {\n code: ErrorCode.Unknown,\n severity: Severity.Err,\n category: Category.Unknown,\n userMessage: details.message ?? fallbackMessage,\n cause: error,\n });\n }\n\n const userRejectionCode = resolveUserRejectionErrorCode(error);\n if (userRejectionCode !== undefined) {\n throw createTrezorError(\n USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode],\n );\n }\n\n throw new HardwareWalletError(fallbackMessage, {\n code: ErrorCode.Unknown,\n severity: Severity.Err,\n category: Category.Unknown,\n userMessage: fallbackMessage,\n });\n}\n"]}
1
+ {"version":3,"file":"trezor-error-handler.mjs","sourceRoot":"","sources":["../src/trezor-error-handler.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ErrorCode,\n Severity,\n Category,\n HardwareWalletError,\n resolveUserRejectionErrorCode,\n} from '@metamask/hw-wallet-sdk';\n\nimport { createTrezorError, isKnownTrezorError } from './trezor-errors';\n\ntype ErrorDetails = {\n message?: string;\n code?: string;\n name?: string;\n};\n\nconst USER_REJECTION_TREZOR_IDENTIFIERS: Record<\n ErrorCode.UserCancelled | ErrorCode.UserRejected,\n string\n> = {\n [ErrorCode.UserCancelled]: 'Failure_ActionCancelled',\n [ErrorCode.UserRejected]: 'Method_PermissionsNotGranted',\n};\n\nfunction getErrorDetails(error: Error): ErrorDetails {\n const details: ErrorDetails = {\n message: error.message,\n name: error.name,\n };\n\n if ('code' in error) {\n const { code } = error as Error & { code?: unknown };\n if (typeof code === 'string') {\n details.code = code;\n } else if (typeof code === 'number') {\n details.code = String(code);\n }\n }\n\n return details;\n}\n\n/**\n * Converts unknown Trezor errors into typed HardwareWalletError instances.\n *\n * @param error - Error thrown from Trezor bridge or keyring flow.\n * @param fallbackMessage - Default message for unknown non-Error inputs.\n * @returns A typed hardware wallet error.\n */\nexport function convertToHardwareWalletError(\n error: unknown,\n fallbackMessage: string,\n): HardwareWalletError {\n if (error instanceof HardwareWalletError) {\n return error;\n }\n\n if (error instanceof Error) {\n const details = getErrorDetails(error);\n const identifier = [details.code, details.name, details.message].find(\n (value): value is string =>\n value !== undefined && isKnownTrezorError(value),\n );\n\n if (identifier) {\n return createTrezorError(identifier, details.message);\n }\n\n const userRejectionCode = resolveUserRejectionErrorCode(error);\n if (userRejectionCode !== undefined) {\n return createTrezorError(\n USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode],\n details.message,\n );\n }\n\n return new HardwareWalletError(details.message ?? fallbackMessage, {\n code: ErrorCode.Unknown,\n severity: Severity.Err,\n category: Category.Unknown,\n userMessage: details.message ?? fallbackMessage,\n cause: error,\n });\n }\n\n const userRejectionCode = resolveUserRejectionErrorCode(error);\n if (userRejectionCode !== undefined) {\n return createTrezorError(\n USER_REJECTION_TREZOR_IDENTIFIERS[userRejectionCode],\n );\n }\n\n return new HardwareWalletError(fallbackMessage, {\n code: ErrorCode.Unknown,\n severity: Severity.Err,\n category: Category.Unknown,\n userMessage: fallbackMessage,\n });\n}\n\n/**\n * Converts unknown Trezor errors into typed HardwareWalletError instances.\n *\n * @param error - Error thrown from Trezor bridge or keyring flow.\n * @param fallbackMessage - Default message for unknown non-Error inputs.\n * @throws HardwareWalletError Always throws typed errors.\n */\nexport function handleTrezorTransportError(\n error: unknown,\n fallbackMessage: string,\n): never {\n throw convertToHardwareWalletError(error, fallbackMessage);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/eth-trezor-keyring",
3
- "version": "10.1.0-e51c895",
3
+ "version": "10.1.1-1fa477f",
4
4
  "description": "A MetaMask compatible keyring, for trezor hardware wallets",
5
5
  "keywords": [
6
6
  "ethereum",
@@ -71,8 +71,8 @@
71
71
  "@ethereumjs/tx": "^5.4.0",
72
72
  "@ethereumjs/util": "^9.1.0",
73
73
  "@metamask/eth-sig-util": "^8.2.0",
74
- "@metamask/hw-wallet-sdk": "0.9.0",
75
- "@metamask/keyring-api": "23.3.0",
74
+ "@metamask/hw-wallet-sdk": "0.10.0",
75
+ "@metamask/keyring-api": "23.5.0",
76
76
  "@metamask/keyring-sdk": "2.2.0",
77
77
  "@metamask/keyring-utils": "3.3.1",
78
78
  "@metamask/utils": "^11.11.0",
@@ -85,7 +85,7 @@
85
85
  "@ethereumjs/common": "^4.4.0",
86
86
  "@lavamoat/allow-scripts": "^3.2.1",
87
87
  "@lavamoat/preinstall-always-fail": "^2.1.0",
88
- "@metamask/account-api": "1.0.4",
88
+ "@metamask/account-api": "1.1.0",
89
89
  "@metamask/auto-changelog": "^6.1.0",
90
90
  "@ts-bridge/cli": "^0.6.3",
91
91
  "@types/ethereumjs-tx": "^1.0.1",