@metamask-previews/hw-wallet-sdk 0.5.0-fd40efd → 0.8.0-5c366be

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,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.8.0]
11
+
12
+ ### Added
13
+
14
+ - Add `PermissionCameraPromptDismissed` error code and `QR_WALLET_ERROR_MAPPINGS` used for extension QR hardware wallet camera flows ([#490](https://github.com/MetaMask/accounts/pull/490))
15
+
16
+ ## [0.7.0]
17
+
18
+ ### Added
19
+
20
+ - Add `PermissionCameraDenied` error code and `CAMERA_PERMISSION_DENIED` mapping for mobile camera permission handling ([#485](https://github.com/MetaMask/accounts/pull/485))
21
+
22
+ ## [0.6.0]
23
+
24
+ ### Added
25
+
26
+ - Add `TREZOR_ERROR_MAPPINGS` static error data for Trezor hardware wallets ([#471](https://github.com/MetaMask/accounts/pull/471))
27
+
10
28
  ## [0.5.0]
11
29
 
12
30
  ### Added
@@ -47,7 +65,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
47
65
  - Add hardware related error mappings and custom hardware error ([#421](https://github.com/MetaMask/accounts/pull/421))
48
66
  - Add BLE and mobile error mappings with new error codes for Bluetooth permissions, connection states, and mobile support ([#433](https://github.com/MetaMask/accounts/pull/433))
49
67
 
50
- [Unreleased]: https://github.com/MetaMask/accounts/compare/@metamask/hw-wallet-sdk@0.5.0...HEAD
68
+ [Unreleased]: https://github.com/MetaMask/accounts/compare/@metamask/hw-wallet-sdk@0.8.0...HEAD
69
+ [0.8.0]: https://github.com/MetaMask/accounts/compare/@metamask/hw-wallet-sdk@0.7.0...@metamask/hw-wallet-sdk@0.8.0
70
+ [0.7.0]: https://github.com/MetaMask/accounts/compare/@metamask/hw-wallet-sdk@0.6.0...@metamask/hw-wallet-sdk@0.7.0
71
+ [0.6.0]: https://github.com/MetaMask/accounts/compare/@metamask/hw-wallet-sdk@0.5.0...@metamask/hw-wallet-sdk@0.6.0
51
72
  [0.5.0]: https://github.com/MetaMask/accounts/compare/@metamask/hw-wallet-sdk@0.4.0...@metamask/hw-wallet-sdk@0.5.0
52
73
  [0.4.0]: https://github.com/MetaMask/accounts/compare/@metamask/hw-wallet-sdk@0.3.0...@metamask/hw-wallet-sdk@0.4.0
53
74
  [0.3.0]: https://github.com/MetaMask/accounts/compare/@metamask/hw-wallet-sdk@0.2.0...@metamask/hw-wallet-sdk@0.3.0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MOBILE_ERROR_MAPPINGS = exports.BLE_ERROR_MAPPINGS = exports.LEDGER_ERROR_MAPPINGS = void 0;
3
+ exports.TREZOR_ERROR_MAPPINGS = exports.QR_WALLET_ERROR_MAPPINGS = exports.MOBILE_ERROR_MAPPINGS = exports.BLE_ERROR_MAPPINGS = exports.LEDGER_ERROR_MAPPINGS = void 0;
4
4
  const hardware_errors_enums_1 = require("./hardware-errors-enums.cjs");
5
5
  exports.LEDGER_ERROR_MAPPINGS = {
6
6
  '0x9000': {
@@ -187,6 +187,13 @@ exports.BLE_ERROR_MAPPINGS = {
187
187
  },
188
188
  };
189
189
  exports.MOBILE_ERROR_MAPPINGS = {
190
+ CAMERA_PERMISSION_DENIED: {
191
+ code: hardware_errors_enums_1.ErrorCode.PermissionCameraDenied,
192
+ message: 'Camera permission denied',
193
+ severity: hardware_errors_enums_1.Severity.Err,
194
+ category: hardware_errors_enums_1.Category.Configuration,
195
+ userMessage: 'Camera permission is required to scan QR codes. Please enable it in your device settings.',
196
+ },
190
197
  NOT_SUPPORTED: {
191
198
  code: hardware_errors_enums_1.ErrorCode.MobileNotSupported,
192
199
  message: 'Operation not supported on mobile',
@@ -195,4 +202,220 @@ exports.MOBILE_ERROR_MAPPINGS = {
195
202
  userMessage: 'This operation is not supported on mobile devices.',
196
203
  },
197
204
  };
205
+ /**
206
+ * QR error mappings - static error data for QR hardware wallets and their related flows.
207
+ */
208
+ exports.QR_WALLET_ERROR_MAPPINGS = {
209
+ CAMERA_PERMISSION_PROMPT_DISMISSED: {
210
+ code: hardware_errors_enums_1.ErrorCode.PermissionCameraPromptDismissed,
211
+ message: 'Camera permission prompt dismissed without granting access',
212
+ severity: hardware_errors_enums_1.Severity.Warning,
213
+ category: hardware_errors_enums_1.Category.Configuration,
214
+ userMessage: 'MetaMask needs camera access to scan the QR code on your device.',
215
+ },
216
+ CAMERA_PERMISSION_BLOCKED: {
217
+ code: hardware_errors_enums_1.ErrorCode.PermissionCameraDenied,
218
+ message: 'Camera permission blocked by the browser',
219
+ severity: hardware_errors_enums_1.Severity.Err,
220
+ category: hardware_errors_enums_1.Category.Configuration,
221
+ userMessage: 'To continue, allow camera access in your browser settings.',
222
+ },
223
+ };
224
+ /* eslint-disable @typescript-eslint/naming-convention */
225
+ /**
226
+ * Trezor error mappings - static error data for Trezor hardware wallets.
227
+ * These mappings provide consistent error classification across Trezor integrations.
228
+ */
229
+ exports.TREZOR_ERROR_MAPPINGS = {
230
+ Transport_Missing: {
231
+ code: hardware_errors_enums_1.ErrorCode.ConnectionTransportMissing,
232
+ message: 'Trezor transport is unavailable',
233
+ severity: hardware_errors_enums_1.Severity.Err,
234
+ category: hardware_errors_enums_1.Category.Connection,
235
+ userMessage: 'Unable to connect to your Trezor device. Please reconnect and try again.',
236
+ },
237
+ Device_Disconnected: {
238
+ code: hardware_errors_enums_1.ErrorCode.DeviceDisconnected,
239
+ message: 'Trezor device disconnected',
240
+ severity: hardware_errors_enums_1.Severity.Err,
241
+ category: hardware_errors_enums_1.Category.Connection,
242
+ userMessage: 'Your Trezor device was disconnected. Please reconnect and try again.',
243
+ },
244
+ Popup_ConnectionMissing: {
245
+ code: hardware_errors_enums_1.ErrorCode.ConnectionClosed,
246
+ message: 'Trezor popup connection unavailable',
247
+ severity: hardware_errors_enums_1.Severity.Err,
248
+ category: hardware_errors_enums_1.Category.Connection,
249
+ userMessage: 'Connection to your Trezor device popup failed. Please retry.',
250
+ },
251
+ Desktop_ConnectionMissing: {
252
+ code: hardware_errors_enums_1.ErrorCode.ConnectionClosed,
253
+ message: 'Trezor desktop connection unavailable',
254
+ severity: hardware_errors_enums_1.Severity.Err,
255
+ category: hardware_errors_enums_1.Category.Connection,
256
+ userMessage: 'Connection to Trezor Suite failed. Please retry with your device connected.',
257
+ },
258
+ Method_Interrupted: {
259
+ code: hardware_errors_enums_1.ErrorCode.ConnectionClosed,
260
+ message: 'Trezor action was interrupted',
261
+ severity: hardware_errors_enums_1.Severity.Err,
262
+ category: hardware_errors_enums_1.Category.Connection,
263
+ userMessage: 'Connection to your Trezor device was closed. Please reconnect and try again.',
264
+ },
265
+ Method_Cancel: {
266
+ code: hardware_errors_enums_1.ErrorCode.UserCancelled,
267
+ message: 'User cancelled action on Trezor device',
268
+ severity: hardware_errors_enums_1.Severity.Warning,
269
+ category: hardware_errors_enums_1.Category.UserAction,
270
+ userMessage: 'Action was cancelled on your Trezor device.',
271
+ },
272
+ Method_PermissionsNotGranted: {
273
+ code: hardware_errors_enums_1.ErrorCode.UserRejected,
274
+ message: 'Permission not granted on Trezor device',
275
+ severity: hardware_errors_enums_1.Severity.Warning,
276
+ category: hardware_errors_enums_1.Category.UserAction,
277
+ userMessage: 'Permission was rejected on your Trezor device.',
278
+ },
279
+ Failure_ActionCancelled: {
280
+ code: hardware_errors_enums_1.ErrorCode.UserCancelled,
281
+ message: 'User cancelled action on Trezor device',
282
+ severity: hardware_errors_enums_1.Severity.Warning,
283
+ category: hardware_errors_enums_1.Category.UserAction,
284
+ userMessage: 'Action was cancelled on your Trezor device.',
285
+ },
286
+ Device_InvalidState: {
287
+ code: hardware_errors_enums_1.ErrorCode.AuthenticationFailed,
288
+ message: 'Trezor device authentication failed',
289
+ severity: hardware_errors_enums_1.Severity.Err,
290
+ category: hardware_errors_enums_1.Category.Authentication,
291
+ userMessage: 'Authentication failed on your Trezor device. Check your passphrase and retry.',
292
+ },
293
+ Device_CallInProgress: {
294
+ code: hardware_errors_enums_1.ErrorCode.DeviceCallInProgress,
295
+ message: 'Trezor device call already in progress',
296
+ severity: hardware_errors_enums_1.Severity.Err,
297
+ category: hardware_errors_enums_1.Category.DeviceState,
298
+ userMessage: 'Your Trezor device is busy. Finish the current action and retry.',
299
+ },
300
+ Init_IframeTimeout: {
301
+ code: hardware_errors_enums_1.ErrorCode.ConnectionTimeout,
302
+ message: 'Trezor connection timed out',
303
+ severity: hardware_errors_enums_1.Severity.Err,
304
+ category: hardware_errors_enums_1.Category.Connection,
305
+ userMessage: 'Connection to your Trezor device timed out. Please try again.',
306
+ },
307
+ Init_IframeBlocked: {
308
+ code: hardware_errors_enums_1.ErrorCode.ConnectionBlocked,
309
+ message: 'Trezor iframe blocked',
310
+ severity: hardware_errors_enums_1.Severity.Err,
311
+ category: hardware_errors_enums_1.Category.Connection,
312
+ userMessage: 'Trezor connection popup was blocked. Please allow popups and try again.',
313
+ },
314
+ Init_ManifestMissing: {
315
+ code: hardware_errors_enums_1.ErrorCode.Unknown,
316
+ message: 'Trezor manifest is missing',
317
+ severity: hardware_errors_enums_1.Severity.Err,
318
+ category: hardware_errors_enums_1.Category.Configuration,
319
+ userMessage: 'Trezor integration is not configured correctly. Please retry later.',
320
+ },
321
+ Device_NotFound: {
322
+ code: hardware_errors_enums_1.ErrorCode.DeviceNotFound,
323
+ message: 'Trezor device not found',
324
+ severity: hardware_errors_enums_1.Severity.Err,
325
+ category: hardware_errors_enums_1.Category.Connection,
326
+ userMessage: 'No Trezor device found. Please connect your device and try again.',
327
+ },
328
+ Device_UsedElsewhere: {
329
+ code: hardware_errors_enums_1.ErrorCode.DeviceUsedElsewhere,
330
+ message: 'Trezor device is used elsewhere',
331
+ severity: hardware_errors_enums_1.Severity.Err,
332
+ category: hardware_errors_enums_1.Category.DeviceState,
333
+ userMessage: 'Your Trezor device is busy in another window. Close the other flow and try again.',
334
+ },
335
+ Device_MultipleNotSupported: {
336
+ code: hardware_errors_enums_1.ErrorCode.DeviceMultipleConnected,
337
+ message: 'Multiple Trezor devices are not supported',
338
+ severity: hardware_errors_enums_1.Severity.Err,
339
+ category: hardware_errors_enums_1.Category.DeviceState,
340
+ userMessage: 'Multiple Trezor devices are connected. Keep one connected and retry.',
341
+ },
342
+ Device_MissingCapability: {
343
+ code: hardware_errors_enums_1.ErrorCode.DeviceMissingCapability,
344
+ message: 'Trezor device is missing capability',
345
+ severity: hardware_errors_enums_1.Severity.Err,
346
+ category: hardware_errors_enums_1.Category.DeviceState,
347
+ userMessage: 'Your Trezor firmware does not support this action. Please update and retry.',
348
+ },
349
+ Device_MissingCapabilityBtcOnly: {
350
+ code: hardware_errors_enums_1.ErrorCode.DeviceBtcOnlyFirmware,
351
+ message: 'Trezor device firmware only supports BTC',
352
+ severity: hardware_errors_enums_1.Severity.Err,
353
+ category: hardware_errors_enums_1.Category.DeviceState,
354
+ userMessage: 'Your Trezor firmware currently supports BTC only. Update firmware and retry.',
355
+ },
356
+ Failure_PinCancelled: {
357
+ code: hardware_errors_enums_1.ErrorCode.AuthenticationPinCancelled,
358
+ message: 'Trezor PIN entry cancelled',
359
+ severity: hardware_errors_enums_1.Severity.Warning,
360
+ category: hardware_errors_enums_1.Category.Authentication,
361
+ userMessage: 'PIN entry was cancelled on your Trezor device.',
362
+ },
363
+ Failure_PinInvalid: {
364
+ code: hardware_errors_enums_1.ErrorCode.AuthenticationIncorrectPin,
365
+ message: 'Trezor PIN is invalid',
366
+ severity: hardware_errors_enums_1.Severity.Err,
367
+ category: hardware_errors_enums_1.Category.Authentication,
368
+ userMessage: 'The PIN is incorrect. Please try again.',
369
+ },
370
+ Failure_PinMismatch: {
371
+ code: hardware_errors_enums_1.ErrorCode.AuthenticationIncorrectPin,
372
+ message: 'Trezor PIN mismatch',
373
+ severity: hardware_errors_enums_1.Severity.Err,
374
+ category: hardware_errors_enums_1.Category.Authentication,
375
+ userMessage: 'The PIN does not match. Please try again.',
376
+ },
377
+ Failure_WipeCodeMismatch: {
378
+ code: hardware_errors_enums_1.ErrorCode.AuthenticationWipeCodeMismatch,
379
+ message: 'Trezor wipe code mismatch',
380
+ severity: hardware_errors_enums_1.Severity.Err,
381
+ category: hardware_errors_enums_1.Category.Authentication,
382
+ userMessage: 'The wipe code does not match. Please verify and try again.',
383
+ },
384
+ Device_ModeException: {
385
+ code: hardware_errors_enums_1.ErrorCode.DeviceIncompatibleMode,
386
+ message: 'Trezor device mode is incompatible',
387
+ severity: hardware_errors_enums_1.Severity.Err,
388
+ category: hardware_errors_enums_1.Category.DeviceState,
389
+ userMessage: 'Your Trezor is in an incompatible mode for this action. Check the device and retry.',
390
+ },
391
+ Device_ThpPairingTagInvalid: {
392
+ code: hardware_errors_enums_1.ErrorCode.AuthenticationSecurityCondition,
393
+ message: 'Trezor pairing security check failed',
394
+ severity: hardware_errors_enums_1.Severity.Err,
395
+ category: hardware_errors_enums_1.Category.Authentication,
396
+ userMessage: 'A security check failed on your Trezor device. Reconnect and try again.',
397
+ },
398
+ Backend_Disconnected: {
399
+ code: hardware_errors_enums_1.ErrorCode.ConnectionClosed,
400
+ message: 'Trezor backend disconnected',
401
+ severity: hardware_errors_enums_1.Severity.Err,
402
+ category: hardware_errors_enums_1.Category.Connection,
403
+ userMessage: 'Trezor backend disconnected. Please retry.',
404
+ },
405
+ Method_NoResponse: {
406
+ code: hardware_errors_enums_1.ErrorCode.ConnectionClosed,
407
+ message: 'Trezor call returned no response',
408
+ severity: hardware_errors_enums_1.Severity.Err,
409
+ category: hardware_errors_enums_1.Category.Connection,
410
+ userMessage: 'Trezor did not return a response. Reconnect your device and try again.',
411
+ },
412
+ Device_InitializeFailed: {
413
+ code: hardware_errors_enums_1.ErrorCode.AuthenticationDeviceLocked,
414
+ message: 'Trezor device initialization failed',
415
+ severity: hardware_errors_enums_1.Severity.Err,
416
+ category: hardware_errors_enums_1.Category.Authentication,
417
+ userMessage: 'Your Trezor device failed to initialize. Please unlock it and try again.',
418
+ },
419
+ };
420
+ /* eslint-enable @typescript-eslint/naming-convention */
198
421
  //# sourceMappingURL=hardware-error-mappings.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hardware-error-mappings.cjs","sourceRoot":"","sources":["../src/hardware-error-mappings.ts"],"names":[],"mappings":"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","sourcesContent":["import { ErrorCode, Severity, Category } from './hardware-errors-enums';\n\nexport type ErrorMapping = {\n code: ErrorCode;\n message: string;\n severity: Severity;\n category: Category;\n userMessage?: string;\n};\n\nexport const LEDGER_ERROR_MAPPINGS: Record<string, ErrorMapping> = {\n '0x9000': {\n code: ErrorCode.Success,\n message: 'Operation successful',\n severity: Severity.Info,\n category: Category.Success,\n },\n '0x6300': {\n code: ErrorCode.AuthenticationFailed,\n message: 'Authentication failed',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Authentication failed. Please verify your credentials.',\n },\n '0x63c0': {\n code: ErrorCode.AuthenticationPinAttemptsRemaining,\n message: 'PIN attempts remaining',\n severity: Severity.Warning,\n category: Category.Authentication,\n userMessage: 'Incorrect PIN. Please try again.',\n },\n '0x6982': {\n code: ErrorCode.AuthenticationSecurityCondition,\n message: 'Security conditions not satisfied',\n severity: Severity.Err,\n category: Category.Authentication,\n\n userMessage:\n 'Device is locked or access rights are insufficient. Please unlock your device.',\n },\n '0x6985': {\n code: ErrorCode.UserRejected,\n message: 'User rejected action on device',\n severity: Severity.Warning,\n category: Category.UserAction,\n\n userMessage:\n 'Transaction was rejected. Please approve on your device to continue.',\n },\n '0x9804': {\n code: ErrorCode.AuthenticationSecurityCondition,\n message: 'App update required',\n severity: Severity.Err,\n category: Category.Authentication,\n\n userMessage: 'Please update your Ledger app to continue.',\n },\n '0x9808': {\n code: ErrorCode.AuthenticationFailed,\n message: 'Contradiction in secret code status',\n severity: Severity.Err,\n category: Category.Authentication,\n },\n '0x9840': {\n code: ErrorCode.AuthenticationDeviceBlocked,\n message: 'Code blocked',\n severity: Severity.Critical,\n category: Category.Authentication,\n\n userMessage:\n 'Your device is blocked due to too many failed attempts. Please follow device recovery procedures.',\n },\n '0x650f': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Please open it on your Ledger device to continue.',\n },\n '0x5515': {\n code: ErrorCode.AuthenticationDeviceLocked,\n message: 'Device is locked',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Please unlock your Ledger device to continue.',\n },\n '0x5501': {\n code: ErrorCode.UserRejected,\n message: 'User refused on device',\n severity: Severity.Warning,\n category: Category.UserAction,\n userMessage:\n 'Operation was rejected. Please approve on your device to continue.',\n },\n '0x6a80': {\n code: ErrorCode.DeviceStateBlindSignNotSupported,\n message: 'Blind signing not supported',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Blind signing is not supported on this device.',\n },\n '0x6a83': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Currently on solana. Please open it to continue.',\n },\n '0x6d00': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Currently on bitcoin. Please open it to continue.',\n },\n '0x6e00': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n '0x6501': {\n code: ErrorCode.DeviceStateEthAppOutOfDate,\n message: 'Ethereum app out of date',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is out of date. Please update it to continue.',\n },\n '0x6f00': {\n code: ErrorCode.DeviceUnresponsive,\n message: 'Device unresponsive',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your device is not responding. Please disconnect and reconnect your device.',\n },\n '0x6b0c': {\n code: ErrorCode.AuthenticationDeviceLocked,\n message: 'Device locked',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Please unlock your Ledger device to continue.',\n },\n '0x6a15': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n '0x6511': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n};\n\nexport const BLE_ERROR_MAPPINGS = {\n BLUETOOTH_PERMISSION_DENIED: {\n code: ErrorCode.PermissionBluetoothDenied,\n message: 'Bluetooth permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Bluetooth permission is required to connect to your hardware wallet. Please enable it in your device settings.',\n },\n LOCATION_PERMISSION_DENIED: {\n code: ErrorCode.PermissionLocationDenied,\n message: 'Location permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Location permission is required for Bluetooth scanning on Android. Please enable it in your device settings.',\n },\n NEARBY_DEVICES_PERMISSION_DENIED: {\n code: ErrorCode.PermissionNearbyDevicesDenied,\n message: 'Nearby devices permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Nearby devices permission is required to scan for your hardware wallet. Please enable it in your device settings.',\n },\n BLUETOOTH_DISABLED: {\n code: ErrorCode.BluetoothDisabled,\n message: 'Bluetooth is turned off',\n severity: Severity.Warning,\n category: Category.Connection,\n userMessage:\n 'Bluetooth is turned off. Please enable Bluetooth to connect to your hardware wallet.',\n },\n BLUETOOTH_SCAN_FAILED: {\n code: ErrorCode.BluetoothScanFailed,\n message: 'Bluetooth scanning failed',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage: 'Unable to scan for Bluetooth devices. Please try again.',\n },\n BLUETOOTH_CONNECTION_FAILED: {\n code: ErrorCode.BluetoothConnectionFailed,\n message: 'Bluetooth connection failed',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Failed to connect via Bluetooth. Please make sure your device is nearby and try again.',\n },\n};\n\nexport const MOBILE_ERROR_MAPPINGS = {\n NOT_SUPPORTED: {\n code: ErrorCode.MobileNotSupported,\n message: 'Operation not supported on mobile',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'This operation is not supported on mobile devices.',\n },\n};\n"]}
1
+ {"version":3,"file":"hardware-error-mappings.cjs","sourceRoot":"","sources":["../src/hardware-error-mappings.ts"],"names":[],"mappings":"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","sourcesContent":["import { ErrorCode, Severity, Category } from './hardware-errors-enums';\n\nexport type ErrorMapping = {\n code: ErrorCode;\n message: string;\n severity: Severity;\n category: Category;\n userMessage?: string;\n};\n\nexport const LEDGER_ERROR_MAPPINGS: Record<string, ErrorMapping> = {\n '0x9000': {\n code: ErrorCode.Success,\n message: 'Operation successful',\n severity: Severity.Info,\n category: Category.Success,\n },\n '0x6300': {\n code: ErrorCode.AuthenticationFailed,\n message: 'Authentication failed',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Authentication failed. Please verify your credentials.',\n },\n '0x63c0': {\n code: ErrorCode.AuthenticationPinAttemptsRemaining,\n message: 'PIN attempts remaining',\n severity: Severity.Warning,\n category: Category.Authentication,\n userMessage: 'Incorrect PIN. Please try again.',\n },\n '0x6982': {\n code: ErrorCode.AuthenticationSecurityCondition,\n message: 'Security conditions not satisfied',\n severity: Severity.Err,\n category: Category.Authentication,\n\n userMessage:\n 'Device is locked or access rights are insufficient. Please unlock your device.',\n },\n '0x6985': {\n code: ErrorCode.UserRejected,\n message: 'User rejected action on device',\n severity: Severity.Warning,\n category: Category.UserAction,\n\n userMessage:\n 'Transaction was rejected. Please approve on your device to continue.',\n },\n '0x9804': {\n code: ErrorCode.AuthenticationSecurityCondition,\n message: 'App update required',\n severity: Severity.Err,\n category: Category.Authentication,\n\n userMessage: 'Please update your Ledger app to continue.',\n },\n '0x9808': {\n code: ErrorCode.AuthenticationFailed,\n message: 'Contradiction in secret code status',\n severity: Severity.Err,\n category: Category.Authentication,\n },\n '0x9840': {\n code: ErrorCode.AuthenticationDeviceBlocked,\n message: 'Code blocked',\n severity: Severity.Critical,\n category: Category.Authentication,\n\n userMessage:\n 'Your device is blocked due to too many failed attempts. Please follow device recovery procedures.',\n },\n '0x650f': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Please open it on your Ledger device to continue.',\n },\n '0x5515': {\n code: ErrorCode.AuthenticationDeviceLocked,\n message: 'Device is locked',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Please unlock your Ledger device to continue.',\n },\n '0x5501': {\n code: ErrorCode.UserRejected,\n message: 'User refused on device',\n severity: Severity.Warning,\n category: Category.UserAction,\n userMessage:\n 'Operation was rejected. Please approve on your device to continue.',\n },\n '0x6a80': {\n code: ErrorCode.DeviceStateBlindSignNotSupported,\n message: 'Blind signing not supported',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Blind signing is not supported on this device.',\n },\n '0x6a83': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Currently on solana. Please open it to continue.',\n },\n '0x6d00': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Currently on bitcoin. Please open it to continue.',\n },\n '0x6e00': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n '0x6501': {\n code: ErrorCode.DeviceStateEthAppOutOfDate,\n message: 'Ethereum app out of date',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is out of date. Please update it to continue.',\n },\n '0x6f00': {\n code: ErrorCode.DeviceUnresponsive,\n message: 'Device unresponsive',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your device is not responding. Please disconnect and reconnect your device.',\n },\n '0x6b0c': {\n code: ErrorCode.AuthenticationDeviceLocked,\n message: 'Device locked',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Please unlock your Ledger device to continue.',\n },\n '0x6a15': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n '0x6511': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n};\n\nexport const BLE_ERROR_MAPPINGS = {\n BLUETOOTH_PERMISSION_DENIED: {\n code: ErrorCode.PermissionBluetoothDenied,\n message: 'Bluetooth permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Bluetooth permission is required to connect to your hardware wallet. Please enable it in your device settings.',\n },\n LOCATION_PERMISSION_DENIED: {\n code: ErrorCode.PermissionLocationDenied,\n message: 'Location permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Location permission is required for Bluetooth scanning on Android. Please enable it in your device settings.',\n },\n NEARBY_DEVICES_PERMISSION_DENIED: {\n code: ErrorCode.PermissionNearbyDevicesDenied,\n message: 'Nearby devices permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Nearby devices permission is required to scan for your hardware wallet. Please enable it in your device settings.',\n },\n BLUETOOTH_DISABLED: {\n code: ErrorCode.BluetoothDisabled,\n message: 'Bluetooth is turned off',\n severity: Severity.Warning,\n category: Category.Connection,\n userMessage:\n 'Bluetooth is turned off. Please enable Bluetooth to connect to your hardware wallet.',\n },\n BLUETOOTH_SCAN_FAILED: {\n code: ErrorCode.BluetoothScanFailed,\n message: 'Bluetooth scanning failed',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage: 'Unable to scan for Bluetooth devices. Please try again.',\n },\n BLUETOOTH_CONNECTION_FAILED: {\n code: ErrorCode.BluetoothConnectionFailed,\n message: 'Bluetooth connection failed',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Failed to connect via Bluetooth. Please make sure your device is nearby and try again.',\n },\n};\n\nexport const MOBILE_ERROR_MAPPINGS = {\n CAMERA_PERMISSION_DENIED: {\n code: ErrorCode.PermissionCameraDenied,\n message: 'Camera permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Camera permission is required to scan QR codes. Please enable it in your device settings.',\n },\n NOT_SUPPORTED: {\n code: ErrorCode.MobileNotSupported,\n message: 'Operation not supported on mobile',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'This operation is not supported on mobile devices.',\n },\n};\n\n/**\n * QR error mappings - static error data for QR hardware wallets and their related flows.\n */\nexport const QR_WALLET_ERROR_MAPPINGS: Record<string, ErrorMapping> = {\n CAMERA_PERMISSION_PROMPT_DISMISSED: {\n code: ErrorCode.PermissionCameraPromptDismissed,\n message: 'Camera permission prompt dismissed without granting access',\n severity: Severity.Warning,\n category: Category.Configuration,\n userMessage:\n 'MetaMask needs camera access to scan the QR code on your device.',\n },\n CAMERA_PERMISSION_BLOCKED: {\n code: ErrorCode.PermissionCameraDenied,\n message: 'Camera permission blocked by the browser',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage: 'To continue, allow camera access in your browser settings.',\n },\n};\n\n/* eslint-disable @typescript-eslint/naming-convention */\n/**\n * Trezor error mappings - static error data for Trezor hardware wallets.\n * These mappings provide consistent error classification across Trezor integrations.\n */\nexport const TREZOR_ERROR_MAPPINGS: Record<string, ErrorMapping> = {\n Transport_Missing: {\n code: ErrorCode.ConnectionTransportMissing,\n message: 'Trezor transport is unavailable',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Unable to connect to your Trezor device. Please reconnect and try again.',\n },\n Device_Disconnected: {\n code: ErrorCode.DeviceDisconnected,\n message: 'Trezor device disconnected',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Your Trezor device was disconnected. Please reconnect and try again.',\n },\n Popup_ConnectionMissing: {\n code: ErrorCode.ConnectionClosed,\n message: 'Trezor popup connection unavailable',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage: 'Connection to your Trezor device popup failed. Please retry.',\n },\n Desktop_ConnectionMissing: {\n code: ErrorCode.ConnectionClosed,\n message: 'Trezor desktop connection unavailable',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Connection to Trezor Suite failed. Please retry with your device connected.',\n },\n Method_Interrupted: {\n code: ErrorCode.ConnectionClosed,\n message: 'Trezor action was interrupted',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Connection to your Trezor device was closed. Please reconnect and try again.',\n },\n Method_Cancel: {\n code: ErrorCode.UserCancelled,\n message: 'User cancelled action on Trezor device',\n severity: Severity.Warning,\n category: Category.UserAction,\n userMessage: 'Action was cancelled on your Trezor device.',\n },\n Method_PermissionsNotGranted: {\n code: ErrorCode.UserRejected,\n message: 'Permission not granted on Trezor device',\n severity: Severity.Warning,\n category: Category.UserAction,\n userMessage: 'Permission was rejected on your Trezor device.',\n },\n Failure_ActionCancelled: {\n code: ErrorCode.UserCancelled,\n message: 'User cancelled action on Trezor device',\n severity: Severity.Warning,\n category: Category.UserAction,\n userMessage: 'Action was cancelled on your Trezor device.',\n },\n Device_InvalidState: {\n code: ErrorCode.AuthenticationFailed,\n message: 'Trezor device authentication failed',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage:\n 'Authentication failed on your Trezor device. Check your passphrase and retry.',\n },\n Device_CallInProgress: {\n code: ErrorCode.DeviceCallInProgress,\n message: 'Trezor device call already in progress',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your Trezor device is busy. Finish the current action and retry.',\n },\n Init_IframeTimeout: {\n code: ErrorCode.ConnectionTimeout,\n message: 'Trezor connection timed out',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Connection to your Trezor device timed out. Please try again.',\n },\n Init_IframeBlocked: {\n code: ErrorCode.ConnectionBlocked,\n message: 'Trezor iframe blocked',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Trezor connection popup was blocked. Please allow popups and try again.',\n },\n Init_ManifestMissing: {\n code: ErrorCode.Unknown,\n message: 'Trezor manifest is missing',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Trezor integration is not configured correctly. Please retry later.',\n },\n Device_NotFound: {\n code: ErrorCode.DeviceNotFound,\n message: 'Trezor device not found',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'No Trezor device found. Please connect your device and try again.',\n },\n Device_UsedElsewhere: {\n code: ErrorCode.DeviceUsedElsewhere,\n message: 'Trezor device is used elsewhere',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your Trezor device is busy in another window. Close the other flow and try again.',\n },\n Device_MultipleNotSupported: {\n code: ErrorCode.DeviceMultipleConnected,\n message: 'Multiple Trezor devices are not supported',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Multiple Trezor devices are connected. Keep one connected and retry.',\n },\n Device_MissingCapability: {\n code: ErrorCode.DeviceMissingCapability,\n message: 'Trezor device is missing capability',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your Trezor firmware does not support this action. Please update and retry.',\n },\n Device_MissingCapabilityBtcOnly: {\n code: ErrorCode.DeviceBtcOnlyFirmware,\n message: 'Trezor device firmware only supports BTC',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your Trezor firmware currently supports BTC only. Update firmware and retry.',\n },\n Failure_PinCancelled: {\n code: ErrorCode.AuthenticationPinCancelled,\n message: 'Trezor PIN entry cancelled',\n severity: Severity.Warning,\n category: Category.Authentication,\n userMessage: 'PIN entry was cancelled on your Trezor device.',\n },\n Failure_PinInvalid: {\n code: ErrorCode.AuthenticationIncorrectPin,\n message: 'Trezor PIN is invalid',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'The PIN is incorrect. Please try again.',\n },\n Failure_PinMismatch: {\n code: ErrorCode.AuthenticationIncorrectPin,\n message: 'Trezor PIN mismatch',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'The PIN does not match. Please try again.',\n },\n Failure_WipeCodeMismatch: {\n code: ErrorCode.AuthenticationWipeCodeMismatch,\n message: 'Trezor wipe code mismatch',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'The wipe code does not match. Please verify and try again.',\n },\n Device_ModeException: {\n code: ErrorCode.DeviceIncompatibleMode,\n message: 'Trezor device mode is incompatible',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your Trezor is in an incompatible mode for this action. Check the device and retry.',\n },\n Device_ThpPairingTagInvalid: {\n code: ErrorCode.AuthenticationSecurityCondition,\n message: 'Trezor pairing security check failed',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage:\n 'A security check failed on your Trezor device. Reconnect and try again.',\n },\n Backend_Disconnected: {\n code: ErrorCode.ConnectionClosed,\n message: 'Trezor backend disconnected',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage: 'Trezor backend disconnected. Please retry.',\n },\n Method_NoResponse: {\n code: ErrorCode.ConnectionClosed,\n message: 'Trezor call returned no response',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Trezor did not return a response. Reconnect your device and try again.',\n },\n Device_InitializeFailed: {\n code: ErrorCode.AuthenticationDeviceLocked,\n message: 'Trezor device initialization failed',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage:\n 'Your Trezor device failed to initialize. Please unlock it and try again.',\n },\n};\n/* eslint-enable @typescript-eslint/naming-convention */\n"]}
@@ -52,6 +52,13 @@ export declare const BLE_ERROR_MAPPINGS: {
52
52
  };
53
53
  };
54
54
  export declare const MOBILE_ERROR_MAPPINGS: {
55
+ CAMERA_PERMISSION_DENIED: {
56
+ code: ErrorCode;
57
+ message: string;
58
+ severity: Severity;
59
+ category: Category;
60
+ userMessage: string;
61
+ };
55
62
  NOT_SUPPORTED: {
56
63
  code: ErrorCode;
57
64
  message: string;
@@ -60,4 +67,13 @@ export declare const MOBILE_ERROR_MAPPINGS: {
60
67
  userMessage: string;
61
68
  };
62
69
  };
70
+ /**
71
+ * QR error mappings - static error data for QR hardware wallets and their related flows.
72
+ */
73
+ export declare const QR_WALLET_ERROR_MAPPINGS: Record<string, ErrorMapping>;
74
+ /**
75
+ * Trezor error mappings - static error data for Trezor hardware wallets.
76
+ * These mappings provide consistent error classification across Trezor integrations.
77
+ */
78
+ export declare const TREZOR_ERROR_MAPPINGS: Record<string, ErrorMapping>;
63
79
  //# sourceMappingURL=hardware-error-mappings.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hardware-error-mappings.d.cts","sourceRoot":"","sources":["../src/hardware-error-mappings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,oCAAgC;AAExE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAuJ9D,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD9B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;CAQjC,CAAC"}
1
+ {"version":3,"file":"hardware-error-mappings.d.cts","sourceRoot":"","sources":["../src/hardware-error-mappings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,oCAAgC;AAExE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAuJ9D,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD9B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;CAgBjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAgBjE,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAgN9D,CAAC"}
@@ -52,6 +52,13 @@ export declare const BLE_ERROR_MAPPINGS: {
52
52
  };
53
53
  };
54
54
  export declare const MOBILE_ERROR_MAPPINGS: {
55
+ CAMERA_PERMISSION_DENIED: {
56
+ code: ErrorCode;
57
+ message: string;
58
+ severity: Severity;
59
+ category: Category;
60
+ userMessage: string;
61
+ };
55
62
  NOT_SUPPORTED: {
56
63
  code: ErrorCode;
57
64
  message: string;
@@ -60,4 +67,13 @@ export declare const MOBILE_ERROR_MAPPINGS: {
60
67
  userMessage: string;
61
68
  };
62
69
  };
70
+ /**
71
+ * QR error mappings - static error data for QR hardware wallets and their related flows.
72
+ */
73
+ export declare const QR_WALLET_ERROR_MAPPINGS: Record<string, ErrorMapping>;
74
+ /**
75
+ * Trezor error mappings - static error data for Trezor hardware wallets.
76
+ * These mappings provide consistent error classification across Trezor integrations.
77
+ */
78
+ export declare const TREZOR_ERROR_MAPPINGS: Record<string, ErrorMapping>;
63
79
  //# sourceMappingURL=hardware-error-mappings.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hardware-error-mappings.d.mts","sourceRoot":"","sources":["../src/hardware-error-mappings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,oCAAgC;AAExE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAuJ9D,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD9B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;CAQjC,CAAC"}
1
+ {"version":3,"file":"hardware-error-mappings.d.mts","sourceRoot":"","sources":["../src/hardware-error-mappings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,oCAAgC;AAExE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAuJ9D,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD9B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;CAgBjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAgBjE,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAgN9D,CAAC"}
@@ -184,6 +184,13 @@ export const BLE_ERROR_MAPPINGS = {
184
184
  },
185
185
  };
186
186
  export const MOBILE_ERROR_MAPPINGS = {
187
+ CAMERA_PERMISSION_DENIED: {
188
+ code: ErrorCode.PermissionCameraDenied,
189
+ message: 'Camera permission denied',
190
+ severity: Severity.Err,
191
+ category: Category.Configuration,
192
+ userMessage: 'Camera permission is required to scan QR codes. Please enable it in your device settings.',
193
+ },
187
194
  NOT_SUPPORTED: {
188
195
  code: ErrorCode.MobileNotSupported,
189
196
  message: 'Operation not supported on mobile',
@@ -192,4 +199,220 @@ export const MOBILE_ERROR_MAPPINGS = {
192
199
  userMessage: 'This operation is not supported on mobile devices.',
193
200
  },
194
201
  };
202
+ /**
203
+ * QR error mappings - static error data for QR hardware wallets and their related flows.
204
+ */
205
+ export const QR_WALLET_ERROR_MAPPINGS = {
206
+ CAMERA_PERMISSION_PROMPT_DISMISSED: {
207
+ code: ErrorCode.PermissionCameraPromptDismissed,
208
+ message: 'Camera permission prompt dismissed without granting access',
209
+ severity: Severity.Warning,
210
+ category: Category.Configuration,
211
+ userMessage: 'MetaMask needs camera access to scan the QR code on your device.',
212
+ },
213
+ CAMERA_PERMISSION_BLOCKED: {
214
+ code: ErrorCode.PermissionCameraDenied,
215
+ message: 'Camera permission blocked by the browser',
216
+ severity: Severity.Err,
217
+ category: Category.Configuration,
218
+ userMessage: 'To continue, allow camera access in your browser settings.',
219
+ },
220
+ };
221
+ /* eslint-disable @typescript-eslint/naming-convention */
222
+ /**
223
+ * Trezor error mappings - static error data for Trezor hardware wallets.
224
+ * These mappings provide consistent error classification across Trezor integrations.
225
+ */
226
+ export const TREZOR_ERROR_MAPPINGS = {
227
+ Transport_Missing: {
228
+ code: ErrorCode.ConnectionTransportMissing,
229
+ message: 'Trezor transport is unavailable',
230
+ severity: Severity.Err,
231
+ category: Category.Connection,
232
+ userMessage: 'Unable to connect to your Trezor device. Please reconnect and try again.',
233
+ },
234
+ Device_Disconnected: {
235
+ code: ErrorCode.DeviceDisconnected,
236
+ message: 'Trezor device disconnected',
237
+ severity: Severity.Err,
238
+ category: Category.Connection,
239
+ userMessage: 'Your Trezor device was disconnected. Please reconnect and try again.',
240
+ },
241
+ Popup_ConnectionMissing: {
242
+ code: ErrorCode.ConnectionClosed,
243
+ message: 'Trezor popup connection unavailable',
244
+ severity: Severity.Err,
245
+ category: Category.Connection,
246
+ userMessage: 'Connection to your Trezor device popup failed. Please retry.',
247
+ },
248
+ Desktop_ConnectionMissing: {
249
+ code: ErrorCode.ConnectionClosed,
250
+ message: 'Trezor desktop connection unavailable',
251
+ severity: Severity.Err,
252
+ category: Category.Connection,
253
+ userMessage: 'Connection to Trezor Suite failed. Please retry with your device connected.',
254
+ },
255
+ Method_Interrupted: {
256
+ code: ErrorCode.ConnectionClosed,
257
+ message: 'Trezor action was interrupted',
258
+ severity: Severity.Err,
259
+ category: Category.Connection,
260
+ userMessage: 'Connection to your Trezor device was closed. Please reconnect and try again.',
261
+ },
262
+ Method_Cancel: {
263
+ code: ErrorCode.UserCancelled,
264
+ message: 'User cancelled action on Trezor device',
265
+ severity: Severity.Warning,
266
+ category: Category.UserAction,
267
+ userMessage: 'Action was cancelled on your Trezor device.',
268
+ },
269
+ Method_PermissionsNotGranted: {
270
+ code: ErrorCode.UserRejected,
271
+ message: 'Permission not granted on Trezor device',
272
+ severity: Severity.Warning,
273
+ category: Category.UserAction,
274
+ userMessage: 'Permission was rejected on your Trezor device.',
275
+ },
276
+ Failure_ActionCancelled: {
277
+ code: ErrorCode.UserCancelled,
278
+ message: 'User cancelled action on Trezor device',
279
+ severity: Severity.Warning,
280
+ category: Category.UserAction,
281
+ userMessage: 'Action was cancelled on your Trezor device.',
282
+ },
283
+ Device_InvalidState: {
284
+ code: ErrorCode.AuthenticationFailed,
285
+ message: 'Trezor device authentication failed',
286
+ severity: Severity.Err,
287
+ category: Category.Authentication,
288
+ userMessage: 'Authentication failed on your Trezor device. Check your passphrase and retry.',
289
+ },
290
+ Device_CallInProgress: {
291
+ code: ErrorCode.DeviceCallInProgress,
292
+ message: 'Trezor device call already in progress',
293
+ severity: Severity.Err,
294
+ category: Category.DeviceState,
295
+ userMessage: 'Your Trezor device is busy. Finish the current action and retry.',
296
+ },
297
+ Init_IframeTimeout: {
298
+ code: ErrorCode.ConnectionTimeout,
299
+ message: 'Trezor connection timed out',
300
+ severity: Severity.Err,
301
+ category: Category.Connection,
302
+ userMessage: 'Connection to your Trezor device timed out. Please try again.',
303
+ },
304
+ Init_IframeBlocked: {
305
+ code: ErrorCode.ConnectionBlocked,
306
+ message: 'Trezor iframe blocked',
307
+ severity: Severity.Err,
308
+ category: Category.Connection,
309
+ userMessage: 'Trezor connection popup was blocked. Please allow popups and try again.',
310
+ },
311
+ Init_ManifestMissing: {
312
+ code: ErrorCode.Unknown,
313
+ message: 'Trezor manifest is missing',
314
+ severity: Severity.Err,
315
+ category: Category.Configuration,
316
+ userMessage: 'Trezor integration is not configured correctly. Please retry later.',
317
+ },
318
+ Device_NotFound: {
319
+ code: ErrorCode.DeviceNotFound,
320
+ message: 'Trezor device not found',
321
+ severity: Severity.Err,
322
+ category: Category.Connection,
323
+ userMessage: 'No Trezor device found. Please connect your device and try again.',
324
+ },
325
+ Device_UsedElsewhere: {
326
+ code: ErrorCode.DeviceUsedElsewhere,
327
+ message: 'Trezor device is used elsewhere',
328
+ severity: Severity.Err,
329
+ category: Category.DeviceState,
330
+ userMessage: 'Your Trezor device is busy in another window. Close the other flow and try again.',
331
+ },
332
+ Device_MultipleNotSupported: {
333
+ code: ErrorCode.DeviceMultipleConnected,
334
+ message: 'Multiple Trezor devices are not supported',
335
+ severity: Severity.Err,
336
+ category: Category.DeviceState,
337
+ userMessage: 'Multiple Trezor devices are connected. Keep one connected and retry.',
338
+ },
339
+ Device_MissingCapability: {
340
+ code: ErrorCode.DeviceMissingCapability,
341
+ message: 'Trezor device is missing capability',
342
+ severity: Severity.Err,
343
+ category: Category.DeviceState,
344
+ userMessage: 'Your Trezor firmware does not support this action. Please update and retry.',
345
+ },
346
+ Device_MissingCapabilityBtcOnly: {
347
+ code: ErrorCode.DeviceBtcOnlyFirmware,
348
+ message: 'Trezor device firmware only supports BTC',
349
+ severity: Severity.Err,
350
+ category: Category.DeviceState,
351
+ userMessage: 'Your Trezor firmware currently supports BTC only. Update firmware and retry.',
352
+ },
353
+ Failure_PinCancelled: {
354
+ code: ErrorCode.AuthenticationPinCancelled,
355
+ message: 'Trezor PIN entry cancelled',
356
+ severity: Severity.Warning,
357
+ category: Category.Authentication,
358
+ userMessage: 'PIN entry was cancelled on your Trezor device.',
359
+ },
360
+ Failure_PinInvalid: {
361
+ code: ErrorCode.AuthenticationIncorrectPin,
362
+ message: 'Trezor PIN is invalid',
363
+ severity: Severity.Err,
364
+ category: Category.Authentication,
365
+ userMessage: 'The PIN is incorrect. Please try again.',
366
+ },
367
+ Failure_PinMismatch: {
368
+ code: ErrorCode.AuthenticationIncorrectPin,
369
+ message: 'Trezor PIN mismatch',
370
+ severity: Severity.Err,
371
+ category: Category.Authentication,
372
+ userMessage: 'The PIN does not match. Please try again.',
373
+ },
374
+ Failure_WipeCodeMismatch: {
375
+ code: ErrorCode.AuthenticationWipeCodeMismatch,
376
+ message: 'Trezor wipe code mismatch',
377
+ severity: Severity.Err,
378
+ category: Category.Authentication,
379
+ userMessage: 'The wipe code does not match. Please verify and try again.',
380
+ },
381
+ Device_ModeException: {
382
+ code: ErrorCode.DeviceIncompatibleMode,
383
+ message: 'Trezor device mode is incompatible',
384
+ severity: Severity.Err,
385
+ category: Category.DeviceState,
386
+ userMessage: 'Your Trezor is in an incompatible mode for this action. Check the device and retry.',
387
+ },
388
+ Device_ThpPairingTagInvalid: {
389
+ code: ErrorCode.AuthenticationSecurityCondition,
390
+ message: 'Trezor pairing security check failed',
391
+ severity: Severity.Err,
392
+ category: Category.Authentication,
393
+ userMessage: 'A security check failed on your Trezor device. Reconnect and try again.',
394
+ },
395
+ Backend_Disconnected: {
396
+ code: ErrorCode.ConnectionClosed,
397
+ message: 'Trezor backend disconnected',
398
+ severity: Severity.Err,
399
+ category: Category.Connection,
400
+ userMessage: 'Trezor backend disconnected. Please retry.',
401
+ },
402
+ Method_NoResponse: {
403
+ code: ErrorCode.ConnectionClosed,
404
+ message: 'Trezor call returned no response',
405
+ severity: Severity.Err,
406
+ category: Category.Connection,
407
+ userMessage: 'Trezor did not return a response. Reconnect your device and try again.',
408
+ },
409
+ Device_InitializeFailed: {
410
+ code: ErrorCode.AuthenticationDeviceLocked,
411
+ message: 'Trezor device initialization failed',
412
+ severity: Severity.Err,
413
+ category: Category.Authentication,
414
+ userMessage: 'Your Trezor device failed to initialize. Please unlock it and try again.',
415
+ },
416
+ };
417
+ /* eslint-enable @typescript-eslint/naming-convention */
195
418
  //# sourceMappingURL=hardware-error-mappings.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hardware-error-mappings.mjs","sourceRoot":"","sources":["../src/hardware-error-mappings.ts"],"names":[],"mappings":"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","sourcesContent":["import { ErrorCode, Severity, Category } from './hardware-errors-enums';\n\nexport type ErrorMapping = {\n code: ErrorCode;\n message: string;\n severity: Severity;\n category: Category;\n userMessage?: string;\n};\n\nexport const LEDGER_ERROR_MAPPINGS: Record<string, ErrorMapping> = {\n '0x9000': {\n code: ErrorCode.Success,\n message: 'Operation successful',\n severity: Severity.Info,\n category: Category.Success,\n },\n '0x6300': {\n code: ErrorCode.AuthenticationFailed,\n message: 'Authentication failed',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Authentication failed. Please verify your credentials.',\n },\n '0x63c0': {\n code: ErrorCode.AuthenticationPinAttemptsRemaining,\n message: 'PIN attempts remaining',\n severity: Severity.Warning,\n category: Category.Authentication,\n userMessage: 'Incorrect PIN. Please try again.',\n },\n '0x6982': {\n code: ErrorCode.AuthenticationSecurityCondition,\n message: 'Security conditions not satisfied',\n severity: Severity.Err,\n category: Category.Authentication,\n\n userMessage:\n 'Device is locked or access rights are insufficient. Please unlock your device.',\n },\n '0x6985': {\n code: ErrorCode.UserRejected,\n message: 'User rejected action on device',\n severity: Severity.Warning,\n category: Category.UserAction,\n\n userMessage:\n 'Transaction was rejected. Please approve on your device to continue.',\n },\n '0x9804': {\n code: ErrorCode.AuthenticationSecurityCondition,\n message: 'App update required',\n severity: Severity.Err,\n category: Category.Authentication,\n\n userMessage: 'Please update your Ledger app to continue.',\n },\n '0x9808': {\n code: ErrorCode.AuthenticationFailed,\n message: 'Contradiction in secret code status',\n severity: Severity.Err,\n category: Category.Authentication,\n },\n '0x9840': {\n code: ErrorCode.AuthenticationDeviceBlocked,\n message: 'Code blocked',\n severity: Severity.Critical,\n category: Category.Authentication,\n\n userMessage:\n 'Your device is blocked due to too many failed attempts. Please follow device recovery procedures.',\n },\n '0x650f': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Please open it on your Ledger device to continue.',\n },\n '0x5515': {\n code: ErrorCode.AuthenticationDeviceLocked,\n message: 'Device is locked',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Please unlock your Ledger device to continue.',\n },\n '0x5501': {\n code: ErrorCode.UserRejected,\n message: 'User refused on device',\n severity: Severity.Warning,\n category: Category.UserAction,\n userMessage:\n 'Operation was rejected. Please approve on your device to continue.',\n },\n '0x6a80': {\n code: ErrorCode.DeviceStateBlindSignNotSupported,\n message: 'Blind signing not supported',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Blind signing is not supported on this device.',\n },\n '0x6a83': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Currently on solana. Please open it to continue.',\n },\n '0x6d00': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Currently on bitcoin. Please open it to continue.',\n },\n '0x6e00': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n '0x6501': {\n code: ErrorCode.DeviceStateEthAppOutOfDate,\n message: 'Ethereum app out of date',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is out of date. Please update it to continue.',\n },\n '0x6f00': {\n code: ErrorCode.DeviceUnresponsive,\n message: 'Device unresponsive',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your device is not responding. Please disconnect and reconnect your device.',\n },\n '0x6b0c': {\n code: ErrorCode.AuthenticationDeviceLocked,\n message: 'Device locked',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Please unlock your Ledger device to continue.',\n },\n '0x6a15': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n '0x6511': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n};\n\nexport const BLE_ERROR_MAPPINGS = {\n BLUETOOTH_PERMISSION_DENIED: {\n code: ErrorCode.PermissionBluetoothDenied,\n message: 'Bluetooth permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Bluetooth permission is required to connect to your hardware wallet. Please enable it in your device settings.',\n },\n LOCATION_PERMISSION_DENIED: {\n code: ErrorCode.PermissionLocationDenied,\n message: 'Location permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Location permission is required for Bluetooth scanning on Android. Please enable it in your device settings.',\n },\n NEARBY_DEVICES_PERMISSION_DENIED: {\n code: ErrorCode.PermissionNearbyDevicesDenied,\n message: 'Nearby devices permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Nearby devices permission is required to scan for your hardware wallet. Please enable it in your device settings.',\n },\n BLUETOOTH_DISABLED: {\n code: ErrorCode.BluetoothDisabled,\n message: 'Bluetooth is turned off',\n severity: Severity.Warning,\n category: Category.Connection,\n userMessage:\n 'Bluetooth is turned off. Please enable Bluetooth to connect to your hardware wallet.',\n },\n BLUETOOTH_SCAN_FAILED: {\n code: ErrorCode.BluetoothScanFailed,\n message: 'Bluetooth scanning failed',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage: 'Unable to scan for Bluetooth devices. Please try again.',\n },\n BLUETOOTH_CONNECTION_FAILED: {\n code: ErrorCode.BluetoothConnectionFailed,\n message: 'Bluetooth connection failed',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Failed to connect via Bluetooth. Please make sure your device is nearby and try again.',\n },\n};\n\nexport const MOBILE_ERROR_MAPPINGS = {\n NOT_SUPPORTED: {\n code: ErrorCode.MobileNotSupported,\n message: 'Operation not supported on mobile',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'This operation is not supported on mobile devices.',\n },\n};\n"]}
1
+ {"version":3,"file":"hardware-error-mappings.mjs","sourceRoot":"","sources":["../src/hardware-error-mappings.ts"],"names":[],"mappings":"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","sourcesContent":["import { ErrorCode, Severity, Category } from './hardware-errors-enums';\n\nexport type ErrorMapping = {\n code: ErrorCode;\n message: string;\n severity: Severity;\n category: Category;\n userMessage?: string;\n};\n\nexport const LEDGER_ERROR_MAPPINGS: Record<string, ErrorMapping> = {\n '0x9000': {\n code: ErrorCode.Success,\n message: 'Operation successful',\n severity: Severity.Info,\n category: Category.Success,\n },\n '0x6300': {\n code: ErrorCode.AuthenticationFailed,\n message: 'Authentication failed',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Authentication failed. Please verify your credentials.',\n },\n '0x63c0': {\n code: ErrorCode.AuthenticationPinAttemptsRemaining,\n message: 'PIN attempts remaining',\n severity: Severity.Warning,\n category: Category.Authentication,\n userMessage: 'Incorrect PIN. Please try again.',\n },\n '0x6982': {\n code: ErrorCode.AuthenticationSecurityCondition,\n message: 'Security conditions not satisfied',\n severity: Severity.Err,\n category: Category.Authentication,\n\n userMessage:\n 'Device is locked or access rights are insufficient. Please unlock your device.',\n },\n '0x6985': {\n code: ErrorCode.UserRejected,\n message: 'User rejected action on device',\n severity: Severity.Warning,\n category: Category.UserAction,\n\n userMessage:\n 'Transaction was rejected. Please approve on your device to continue.',\n },\n '0x9804': {\n code: ErrorCode.AuthenticationSecurityCondition,\n message: 'App update required',\n severity: Severity.Err,\n category: Category.Authentication,\n\n userMessage: 'Please update your Ledger app to continue.',\n },\n '0x9808': {\n code: ErrorCode.AuthenticationFailed,\n message: 'Contradiction in secret code status',\n severity: Severity.Err,\n category: Category.Authentication,\n },\n '0x9840': {\n code: ErrorCode.AuthenticationDeviceBlocked,\n message: 'Code blocked',\n severity: Severity.Critical,\n category: Category.Authentication,\n\n userMessage:\n 'Your device is blocked due to too many failed attempts. Please follow device recovery procedures.',\n },\n '0x650f': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Please open it on your Ledger device to continue.',\n },\n '0x5515': {\n code: ErrorCode.AuthenticationDeviceLocked,\n message: 'Device is locked',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Please unlock your Ledger device to continue.',\n },\n '0x5501': {\n code: ErrorCode.UserRejected,\n message: 'User refused on device',\n severity: Severity.Warning,\n category: Category.UserAction,\n userMessage:\n 'Operation was rejected. Please approve on your device to continue.',\n },\n '0x6a80': {\n code: ErrorCode.DeviceStateBlindSignNotSupported,\n message: 'Blind signing not supported',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Blind signing is not supported on this device.',\n },\n '0x6a83': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Currently on solana. Please open it to continue.',\n },\n '0x6d00': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Ethereum app is closed. Currently on bitcoin. Please open it to continue.',\n },\n '0x6e00': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n '0x6501': {\n code: ErrorCode.DeviceStateEthAppOutOfDate,\n message: 'Ethereum app out of date',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is out of date. Please update it to continue.',\n },\n '0x6f00': {\n code: ErrorCode.DeviceUnresponsive,\n message: 'Device unresponsive',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your device is not responding. Please disconnect and reconnect your device.',\n },\n '0x6b0c': {\n code: ErrorCode.AuthenticationDeviceLocked,\n message: 'Device locked',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'Please unlock your Ledger device to continue.',\n },\n '0x6a15': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n '0x6511': {\n code: ErrorCode.DeviceStateEthAppClosed,\n message: 'Ethereum app closed',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'Ethereum app is closed. Please open it to continue.',\n },\n};\n\nexport const BLE_ERROR_MAPPINGS = {\n BLUETOOTH_PERMISSION_DENIED: {\n code: ErrorCode.PermissionBluetoothDenied,\n message: 'Bluetooth permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Bluetooth permission is required to connect to your hardware wallet. Please enable it in your device settings.',\n },\n LOCATION_PERMISSION_DENIED: {\n code: ErrorCode.PermissionLocationDenied,\n message: 'Location permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Location permission is required for Bluetooth scanning on Android. Please enable it in your device settings.',\n },\n NEARBY_DEVICES_PERMISSION_DENIED: {\n code: ErrorCode.PermissionNearbyDevicesDenied,\n message: 'Nearby devices permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Nearby devices permission is required to scan for your hardware wallet. Please enable it in your device settings.',\n },\n BLUETOOTH_DISABLED: {\n code: ErrorCode.BluetoothDisabled,\n message: 'Bluetooth is turned off',\n severity: Severity.Warning,\n category: Category.Connection,\n userMessage:\n 'Bluetooth is turned off. Please enable Bluetooth to connect to your hardware wallet.',\n },\n BLUETOOTH_SCAN_FAILED: {\n code: ErrorCode.BluetoothScanFailed,\n message: 'Bluetooth scanning failed',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage: 'Unable to scan for Bluetooth devices. Please try again.',\n },\n BLUETOOTH_CONNECTION_FAILED: {\n code: ErrorCode.BluetoothConnectionFailed,\n message: 'Bluetooth connection failed',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Failed to connect via Bluetooth. Please make sure your device is nearby and try again.',\n },\n};\n\nexport const MOBILE_ERROR_MAPPINGS = {\n CAMERA_PERMISSION_DENIED: {\n code: ErrorCode.PermissionCameraDenied,\n message: 'Camera permission denied',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Camera permission is required to scan QR codes. Please enable it in your device settings.',\n },\n NOT_SUPPORTED: {\n code: ErrorCode.MobileNotSupported,\n message: 'Operation not supported on mobile',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage: 'This operation is not supported on mobile devices.',\n },\n};\n\n/**\n * QR error mappings - static error data for QR hardware wallets and their related flows.\n */\nexport const QR_WALLET_ERROR_MAPPINGS: Record<string, ErrorMapping> = {\n CAMERA_PERMISSION_PROMPT_DISMISSED: {\n code: ErrorCode.PermissionCameraPromptDismissed,\n message: 'Camera permission prompt dismissed without granting access',\n severity: Severity.Warning,\n category: Category.Configuration,\n userMessage:\n 'MetaMask needs camera access to scan the QR code on your device.',\n },\n CAMERA_PERMISSION_BLOCKED: {\n code: ErrorCode.PermissionCameraDenied,\n message: 'Camera permission blocked by the browser',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage: 'To continue, allow camera access in your browser settings.',\n },\n};\n\n/* eslint-disable @typescript-eslint/naming-convention */\n/**\n * Trezor error mappings - static error data for Trezor hardware wallets.\n * These mappings provide consistent error classification across Trezor integrations.\n */\nexport const TREZOR_ERROR_MAPPINGS: Record<string, ErrorMapping> = {\n Transport_Missing: {\n code: ErrorCode.ConnectionTransportMissing,\n message: 'Trezor transport is unavailable',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Unable to connect to your Trezor device. Please reconnect and try again.',\n },\n Device_Disconnected: {\n code: ErrorCode.DeviceDisconnected,\n message: 'Trezor device disconnected',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Your Trezor device was disconnected. Please reconnect and try again.',\n },\n Popup_ConnectionMissing: {\n code: ErrorCode.ConnectionClosed,\n message: 'Trezor popup connection unavailable',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage: 'Connection to your Trezor device popup failed. Please retry.',\n },\n Desktop_ConnectionMissing: {\n code: ErrorCode.ConnectionClosed,\n message: 'Trezor desktop connection unavailable',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Connection to Trezor Suite failed. Please retry with your device connected.',\n },\n Method_Interrupted: {\n code: ErrorCode.ConnectionClosed,\n message: 'Trezor action was interrupted',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Connection to your Trezor device was closed. Please reconnect and try again.',\n },\n Method_Cancel: {\n code: ErrorCode.UserCancelled,\n message: 'User cancelled action on Trezor device',\n severity: Severity.Warning,\n category: Category.UserAction,\n userMessage: 'Action was cancelled on your Trezor device.',\n },\n Method_PermissionsNotGranted: {\n code: ErrorCode.UserRejected,\n message: 'Permission not granted on Trezor device',\n severity: Severity.Warning,\n category: Category.UserAction,\n userMessage: 'Permission was rejected on your Trezor device.',\n },\n Failure_ActionCancelled: {\n code: ErrorCode.UserCancelled,\n message: 'User cancelled action on Trezor device',\n severity: Severity.Warning,\n category: Category.UserAction,\n userMessage: 'Action was cancelled on your Trezor device.',\n },\n Device_InvalidState: {\n code: ErrorCode.AuthenticationFailed,\n message: 'Trezor device authentication failed',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage:\n 'Authentication failed on your Trezor device. Check your passphrase and retry.',\n },\n Device_CallInProgress: {\n code: ErrorCode.DeviceCallInProgress,\n message: 'Trezor device call already in progress',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your Trezor device is busy. Finish the current action and retry.',\n },\n Init_IframeTimeout: {\n code: ErrorCode.ConnectionTimeout,\n message: 'Trezor connection timed out',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Connection to your Trezor device timed out. Please try again.',\n },\n Init_IframeBlocked: {\n code: ErrorCode.ConnectionBlocked,\n message: 'Trezor iframe blocked',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Trezor connection popup was blocked. Please allow popups and try again.',\n },\n Init_ManifestMissing: {\n code: ErrorCode.Unknown,\n message: 'Trezor manifest is missing',\n severity: Severity.Err,\n category: Category.Configuration,\n userMessage:\n 'Trezor integration is not configured correctly. Please retry later.',\n },\n Device_NotFound: {\n code: ErrorCode.DeviceNotFound,\n message: 'Trezor device not found',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'No Trezor device found. Please connect your device and try again.',\n },\n Device_UsedElsewhere: {\n code: ErrorCode.DeviceUsedElsewhere,\n message: 'Trezor device is used elsewhere',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your Trezor device is busy in another window. Close the other flow and try again.',\n },\n Device_MultipleNotSupported: {\n code: ErrorCode.DeviceMultipleConnected,\n message: 'Multiple Trezor devices are not supported',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Multiple Trezor devices are connected. Keep one connected and retry.',\n },\n Device_MissingCapability: {\n code: ErrorCode.DeviceMissingCapability,\n message: 'Trezor device is missing capability',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your Trezor firmware does not support this action. Please update and retry.',\n },\n Device_MissingCapabilityBtcOnly: {\n code: ErrorCode.DeviceBtcOnlyFirmware,\n message: 'Trezor device firmware only supports BTC',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your Trezor firmware currently supports BTC only. Update firmware and retry.',\n },\n Failure_PinCancelled: {\n code: ErrorCode.AuthenticationPinCancelled,\n message: 'Trezor PIN entry cancelled',\n severity: Severity.Warning,\n category: Category.Authentication,\n userMessage: 'PIN entry was cancelled on your Trezor device.',\n },\n Failure_PinInvalid: {\n code: ErrorCode.AuthenticationIncorrectPin,\n message: 'Trezor PIN is invalid',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'The PIN is incorrect. Please try again.',\n },\n Failure_PinMismatch: {\n code: ErrorCode.AuthenticationIncorrectPin,\n message: 'Trezor PIN mismatch',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'The PIN does not match. Please try again.',\n },\n Failure_WipeCodeMismatch: {\n code: ErrorCode.AuthenticationWipeCodeMismatch,\n message: 'Trezor wipe code mismatch',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage: 'The wipe code does not match. Please verify and try again.',\n },\n Device_ModeException: {\n code: ErrorCode.DeviceIncompatibleMode,\n message: 'Trezor device mode is incompatible',\n severity: Severity.Err,\n category: Category.DeviceState,\n userMessage:\n 'Your Trezor is in an incompatible mode for this action. Check the device and retry.',\n },\n Device_ThpPairingTagInvalid: {\n code: ErrorCode.AuthenticationSecurityCondition,\n message: 'Trezor pairing security check failed',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage:\n 'A security check failed on your Trezor device. Reconnect and try again.',\n },\n Backend_Disconnected: {\n code: ErrorCode.ConnectionClosed,\n message: 'Trezor backend disconnected',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage: 'Trezor backend disconnected. Please retry.',\n },\n Method_NoResponse: {\n code: ErrorCode.ConnectionClosed,\n message: 'Trezor call returned no response',\n severity: Severity.Err,\n category: Category.Connection,\n userMessage:\n 'Trezor did not return a response. Reconnect your device and try again.',\n },\n Device_InitializeFailed: {\n code: ErrorCode.AuthenticationDeviceLocked,\n message: 'Trezor device initialization failed',\n severity: Severity.Err,\n category: Category.Authentication,\n userMessage:\n 'Your Trezor device failed to initialize. Please unlock it and try again.',\n },\n};\n/* eslint-enable @typescript-eslint/naming-convention */\n"]}
@@ -54,6 +54,8 @@ var ErrorCode;
54
54
  ErrorCode[ErrorCode["BluetoothScanFailed"] = 7101] = "BluetoothScanFailed";
55
55
  ErrorCode[ErrorCode["BluetoothConnectionFailed"] = 7102] = "BluetoothConnectionFailed";
56
56
  ErrorCode[ErrorCode["MobileNotSupported"] = 7300] = "MobileNotSupported";
57
+ ErrorCode[ErrorCode["PermissionCameraDenied"] = 7301] = "PermissionCameraDenied";
58
+ ErrorCode[ErrorCode["PermissionCameraPromptDismissed"] = 7302] = "PermissionCameraPromptDismissed";
57
59
  // Transaction
58
60
  ErrorCode[ErrorCode["TxInsufficientFunds"] = 10000] = "TxInsufficientFunds";
59
61
  // Unknown/fallback
@@ -1 +1 @@
1
- {"version":3,"file":"hardware-errors-enums.cjs","sourceRoot":"","sources":["../src/hardware-errors-enums.ts"],"names":[],"mappings":";;;AAAA,kBAAkB;AAClB,IAAY,SAgEX;AAhED,WAAY,SAAS;IACnB,UAAU;IACV,+CAAW,CAAA;IAEX,iBAAiB;IACjB,4EAA2B,CAAA;IAC3B,wFAAiC,CAAA;IACjC,wGAAyC,CAAA;IACzC,wFAAiC,CAAA;IACjC,wFAAiC,CAAA;IACjC,0FAAkC,CAAA;IAClC,kGAAsC,CAAA;IACtC,gGAAqC,CAAA;IAErC,cAAc;IACd,4DAAmB,CAAA;IACnB,8DAAoB,CAAA;IACpB,oFAA+B,CAAA;IAC/B,sEAAwB,CAAA;IAExB,eAAe;IACf,gEAAqB,CAAA;IACrB,4EAA2B,CAAA;IAC3B,wEAAyB,CAAA;IACzB,0EAA0B,CAAA;IAC1B,4EAA2B,CAAA;IAC3B,wEAAyB,CAAA;IACzB,gEAAqB,CAAA;IACrB,kFAA8B,CAAA;IAC9B,kFAA8B,CAAA;IAC9B,8EAA4B,CAAA;IAC5B,gFAA6B,CAAA;IAE7B,yBAAyB;IACzB,wFAAiC,CAAA;IACjC,oEAAuB,CAAA;IACvB,sEAAwB,CAAA;IACxB,sEAAwB,CAAA;IAExB,WAAW;IACX,sFAAgC,CAAA;IAChC,4EAA2B,CAAA;IAC3B,4EAA2B,CAAA;IAE3B,eAAe;IACf,oGAAuC,CAAA;IACvC,wFAAiC,CAAA;IACjC,kFAA8B,CAAA;IAC9B,wFAAiC,CAAA;IAEjC,+BAA+B;IAC/B,sFAAgC,CAAA;IAChC,oFAA+B,CAAA;IAC/B,8FAAoC,CAAA;IACpC,sEAAwB,CAAA;IACxB,0EAA0B,CAAA;IAC1B,sFAAgC,CAAA;IAChC,wEAAyB,CAAA;IAEzB,cAAc;IACd,2EAA2B,CAAA;IAE3B,mBAAmB;IACnB,mDAAe,CAAA;AACjB,CAAC,EAhEW,SAAS,yBAAT,SAAS,QAgEpB;AAED,gBAAgB;AAChB,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;AACvB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAED,gBAAgB;AAChB,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,6CAAiC,CAAA;IACjC,iCAAqB,CAAA;IACrB,qCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,+BAAmB,CAAA;IACnB,2CAA+B,CAAA;AACjC,CAAC,EATW,QAAQ,wBAAR,QAAQ,QASnB","sourcesContent":["// Error Code Enum\nexport enum ErrorCode {\n // Success\n Success = 0,\n\n // Authentication\n AuthenticationFailed = 1000,\n AuthenticationIncorrectPin = 1001,\n AuthenticationPinAttemptsRemaining = 1002,\n AuthenticationPinCancelled = 1003,\n AuthenticationDeviceLocked = 1100,\n AuthenticationDeviceBlocked = 1101,\n AuthenticationSecurityCondition = 1200,\n AuthenticationWipeCodeMismatch = 1300,\n\n // User action\n UserRejected = 2000,\n UserCancelled = 2001,\n UserConfirmationRequired = 2002,\n UserInputRequired = 2003,\n\n // Device state\n DeviceNotReady = 3000,\n DeviceInvalidSession = 3001,\n DeviceDisconnected = 3003,\n DeviceUsedElsewhere = 3004,\n DeviceCallInProgress = 3005,\n DeviceUnresponsive = 3006,\n DeviceNotFound = 3010,\n DeviceMultipleConnected = 3011,\n DeviceMissingCapability = 3020,\n DeviceBtcOnlyFirmware = 3021,\n DeviceIncompatibleMode = 3030,\n\n // Connection & transport\n ConnectionTransportMissing = 4000,\n ConnectionClosed = 4001,\n ConnectionTimeout = 4002,\n ConnectionBlocked = 4003,\n\n // Protocol\n ProtocolUnexpectedMessage = 5000,\n ProtocolCommandError = 5001,\n ProtocolMessageError = 5002,\n\n // Device state\n DeviceStateBlindSignNotSupported = 6001,\n DeviceStateOnlyV4Supported = 6002,\n DeviceStateEthAppClosed = 6003,\n DeviceStateEthAppOutOfDate = 6004,\n\n // Mobile/BLE Permission Errors\n PermissionBluetoothDenied = 7000,\n PermissionLocationDenied = 7001,\n PermissionNearbyDevicesDenied = 7002,\n BluetoothDisabled = 7100,\n BluetoothScanFailed = 7101,\n BluetoothConnectionFailed = 7102,\n MobileNotSupported = 7300,\n\n // Transaction\n TxInsufficientFunds = 10000,\n\n // Unknown/fallback\n Unknown = 99999,\n}\n\n// Severity Enum\nexport enum Severity {\n Info = 'Info',\n Err = 'Error',\n Warning = 'Warning',\n Critical = 'Critical',\n}\n\n// Category Enum\nexport enum Category {\n Success = 'Success',\n Authentication = 'Authentication',\n Protocol = 'Protocol',\n Connection = 'Connection',\n UserAction = 'UserAction',\n DeviceState = 'DeviceState',\n Unknown = 'Unknown',\n Configuration = 'Configuration',\n}\n"]}
1
+ {"version":3,"file":"hardware-errors-enums.cjs","sourceRoot":"","sources":["../src/hardware-errors-enums.ts"],"names":[],"mappings":";;;AAAA,kBAAkB;AAClB,IAAY,SAkEX;AAlED,WAAY,SAAS;IACnB,UAAU;IACV,+CAAW,CAAA;IAEX,iBAAiB;IACjB,4EAA2B,CAAA;IAC3B,wFAAiC,CAAA;IACjC,wGAAyC,CAAA;IACzC,wFAAiC,CAAA;IACjC,wFAAiC,CAAA;IACjC,0FAAkC,CAAA;IAClC,kGAAsC,CAAA;IACtC,gGAAqC,CAAA;IAErC,cAAc;IACd,4DAAmB,CAAA;IACnB,8DAAoB,CAAA;IACpB,oFAA+B,CAAA;IAC/B,sEAAwB,CAAA;IAExB,eAAe;IACf,gEAAqB,CAAA;IACrB,4EAA2B,CAAA;IAC3B,wEAAyB,CAAA;IACzB,0EAA0B,CAAA;IAC1B,4EAA2B,CAAA;IAC3B,wEAAyB,CAAA;IACzB,gEAAqB,CAAA;IACrB,kFAA8B,CAAA;IAC9B,kFAA8B,CAAA;IAC9B,8EAA4B,CAAA;IAC5B,gFAA6B,CAAA;IAE7B,yBAAyB;IACzB,wFAAiC,CAAA;IACjC,oEAAuB,CAAA;IACvB,sEAAwB,CAAA;IACxB,sEAAwB,CAAA;IAExB,WAAW;IACX,sFAAgC,CAAA;IAChC,4EAA2B,CAAA;IAC3B,4EAA2B,CAAA;IAE3B,eAAe;IACf,oGAAuC,CAAA;IACvC,wFAAiC,CAAA;IACjC,kFAA8B,CAAA;IAC9B,wFAAiC,CAAA;IAEjC,+BAA+B;IAC/B,sFAAgC,CAAA;IAChC,oFAA+B,CAAA;IAC/B,8FAAoC,CAAA;IACpC,sEAAwB,CAAA;IACxB,0EAA0B,CAAA;IAC1B,sFAAgC,CAAA;IAChC,wEAAyB,CAAA;IACzB,gFAA6B,CAAA;IAC7B,kGAAsC,CAAA;IAEtC,cAAc;IACd,2EAA2B,CAAA;IAE3B,mBAAmB;IACnB,mDAAe,CAAA;AACjB,CAAC,EAlEW,SAAS,yBAAT,SAAS,QAkEpB;AAED,gBAAgB;AAChB,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;AACvB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAED,gBAAgB;AAChB,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,6CAAiC,CAAA;IACjC,iCAAqB,CAAA;IACrB,qCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,+BAAmB,CAAA;IACnB,2CAA+B,CAAA;AACjC,CAAC,EATW,QAAQ,wBAAR,QAAQ,QASnB","sourcesContent":["// Error Code Enum\nexport enum ErrorCode {\n // Success\n Success = 0,\n\n // Authentication\n AuthenticationFailed = 1000,\n AuthenticationIncorrectPin = 1001,\n AuthenticationPinAttemptsRemaining = 1002,\n AuthenticationPinCancelled = 1003,\n AuthenticationDeviceLocked = 1100,\n AuthenticationDeviceBlocked = 1101,\n AuthenticationSecurityCondition = 1200,\n AuthenticationWipeCodeMismatch = 1300,\n\n // User action\n UserRejected = 2000,\n UserCancelled = 2001,\n UserConfirmationRequired = 2002,\n UserInputRequired = 2003,\n\n // Device state\n DeviceNotReady = 3000,\n DeviceInvalidSession = 3001,\n DeviceDisconnected = 3003,\n DeviceUsedElsewhere = 3004,\n DeviceCallInProgress = 3005,\n DeviceUnresponsive = 3006,\n DeviceNotFound = 3010,\n DeviceMultipleConnected = 3011,\n DeviceMissingCapability = 3020,\n DeviceBtcOnlyFirmware = 3021,\n DeviceIncompatibleMode = 3030,\n\n // Connection & transport\n ConnectionTransportMissing = 4000,\n ConnectionClosed = 4001,\n ConnectionTimeout = 4002,\n ConnectionBlocked = 4003,\n\n // Protocol\n ProtocolUnexpectedMessage = 5000,\n ProtocolCommandError = 5001,\n ProtocolMessageError = 5002,\n\n // Device state\n DeviceStateBlindSignNotSupported = 6001,\n DeviceStateOnlyV4Supported = 6002,\n DeviceStateEthAppClosed = 6003,\n DeviceStateEthAppOutOfDate = 6004,\n\n // Mobile/BLE Permission Errors\n PermissionBluetoothDenied = 7000,\n PermissionLocationDenied = 7001,\n PermissionNearbyDevicesDenied = 7002,\n BluetoothDisabled = 7100,\n BluetoothScanFailed = 7101,\n BluetoothConnectionFailed = 7102,\n MobileNotSupported = 7300,\n PermissionCameraDenied = 7301,\n PermissionCameraPromptDismissed = 7302,\n\n // Transaction\n TxInsufficientFunds = 10000,\n\n // Unknown/fallback\n Unknown = 99999,\n}\n\n// Severity Enum\nexport enum Severity {\n Info = 'Info',\n Err = 'Error',\n Warning = 'Warning',\n Critical = 'Critical',\n}\n\n// Category Enum\nexport enum Category {\n Success = 'Success',\n Authentication = 'Authentication',\n Protocol = 'Protocol',\n Connection = 'Connection',\n UserAction = 'UserAction',\n DeviceState = 'DeviceState',\n Unknown = 'Unknown',\n Configuration = 'Configuration',\n}\n"]}
@@ -41,6 +41,8 @@ export declare enum ErrorCode {
41
41
  BluetoothScanFailed = 7101,
42
42
  BluetoothConnectionFailed = 7102,
43
43
  MobileNotSupported = 7300,
44
+ PermissionCameraDenied = 7301,
45
+ PermissionCameraPromptDismissed = 7302,
44
46
  TxInsufficientFunds = 10000,
45
47
  Unknown = 99999
46
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hardware-errors-enums.d.cts","sourceRoot":"","sources":["../src/hardware-errors-enums.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS;IAEnB,OAAO,IAAI;IAGX,oBAAoB,OAAO;IAC3B,0BAA0B,OAAO;IACjC,kCAAkC,OAAO;IACzC,0BAA0B,OAAO;IACjC,0BAA0B,OAAO;IACjC,2BAA2B,OAAO;IAClC,+BAA+B,OAAO;IACtC,8BAA8B,OAAO;IAGrC,YAAY,OAAO;IACnB,aAAa,OAAO;IACpB,wBAAwB,OAAO;IAC/B,iBAAiB,OAAO;IAGxB,cAAc,OAAO;IACrB,oBAAoB,OAAO;IAC3B,kBAAkB,OAAO;IACzB,mBAAmB,OAAO;IAC1B,oBAAoB,OAAO;IAC3B,kBAAkB,OAAO;IACzB,cAAc,OAAO;IACrB,uBAAuB,OAAO;IAC9B,uBAAuB,OAAO;IAC9B,qBAAqB,OAAO;IAC5B,sBAAsB,OAAO;IAG7B,0BAA0B,OAAO;IACjC,gBAAgB,OAAO;IACvB,iBAAiB,OAAO;IACxB,iBAAiB,OAAO;IAGxB,yBAAyB,OAAO;IAChC,oBAAoB,OAAO;IAC3B,oBAAoB,OAAO;IAG3B,gCAAgC,OAAO;IACvC,0BAA0B,OAAO;IACjC,uBAAuB,OAAO;IAC9B,0BAA0B,OAAO;IAGjC,yBAAyB,OAAO;IAChC,wBAAwB,OAAO;IAC/B,6BAA6B,OAAO;IACpC,iBAAiB,OAAO;IACxB,mBAAmB,OAAO;IAC1B,yBAAyB,OAAO;IAChC,kBAAkB,OAAO;IAGzB,mBAAmB,QAAQ;IAG3B,OAAO,QAAQ;CAChB;AAGD,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,GAAG,UAAU;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAGD,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,aAAa,kBAAkB;CAChC"}
1
+ {"version":3,"file":"hardware-errors-enums.d.cts","sourceRoot":"","sources":["../src/hardware-errors-enums.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS;IAEnB,OAAO,IAAI;IAGX,oBAAoB,OAAO;IAC3B,0BAA0B,OAAO;IACjC,kCAAkC,OAAO;IACzC,0BAA0B,OAAO;IACjC,0BAA0B,OAAO;IACjC,2BAA2B,OAAO;IAClC,+BAA+B,OAAO;IACtC,8BAA8B,OAAO;IAGrC,YAAY,OAAO;IACnB,aAAa,OAAO;IACpB,wBAAwB,OAAO;IAC/B,iBAAiB,OAAO;IAGxB,cAAc,OAAO;IACrB,oBAAoB,OAAO;IAC3B,kBAAkB,OAAO;IACzB,mBAAmB,OAAO;IAC1B,oBAAoB,OAAO;IAC3B,kBAAkB,OAAO;IACzB,cAAc,OAAO;IACrB,uBAAuB,OAAO;IAC9B,uBAAuB,OAAO;IAC9B,qBAAqB,OAAO;IAC5B,sBAAsB,OAAO;IAG7B,0BAA0B,OAAO;IACjC,gBAAgB,OAAO;IACvB,iBAAiB,OAAO;IACxB,iBAAiB,OAAO;IAGxB,yBAAyB,OAAO;IAChC,oBAAoB,OAAO;IAC3B,oBAAoB,OAAO;IAG3B,gCAAgC,OAAO;IACvC,0BAA0B,OAAO;IACjC,uBAAuB,OAAO;IAC9B,0BAA0B,OAAO;IAGjC,yBAAyB,OAAO;IAChC,wBAAwB,OAAO;IAC/B,6BAA6B,OAAO;IACpC,iBAAiB,OAAO;IACxB,mBAAmB,OAAO;IAC1B,yBAAyB,OAAO;IAChC,kBAAkB,OAAO;IACzB,sBAAsB,OAAO;IAC7B,+BAA+B,OAAO;IAGtC,mBAAmB,QAAQ;IAG3B,OAAO,QAAQ;CAChB;AAGD,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,GAAG,UAAU;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAGD,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,aAAa,kBAAkB;CAChC"}
@@ -41,6 +41,8 @@ export declare enum ErrorCode {
41
41
  BluetoothScanFailed = 7101,
42
42
  BluetoothConnectionFailed = 7102,
43
43
  MobileNotSupported = 7300,
44
+ PermissionCameraDenied = 7301,
45
+ PermissionCameraPromptDismissed = 7302,
44
46
  TxInsufficientFunds = 10000,
45
47
  Unknown = 99999
46
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hardware-errors-enums.d.mts","sourceRoot":"","sources":["../src/hardware-errors-enums.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS;IAEnB,OAAO,IAAI;IAGX,oBAAoB,OAAO;IAC3B,0BAA0B,OAAO;IACjC,kCAAkC,OAAO;IACzC,0BAA0B,OAAO;IACjC,0BAA0B,OAAO;IACjC,2BAA2B,OAAO;IAClC,+BAA+B,OAAO;IACtC,8BAA8B,OAAO;IAGrC,YAAY,OAAO;IACnB,aAAa,OAAO;IACpB,wBAAwB,OAAO;IAC/B,iBAAiB,OAAO;IAGxB,cAAc,OAAO;IACrB,oBAAoB,OAAO;IAC3B,kBAAkB,OAAO;IACzB,mBAAmB,OAAO;IAC1B,oBAAoB,OAAO;IAC3B,kBAAkB,OAAO;IACzB,cAAc,OAAO;IACrB,uBAAuB,OAAO;IAC9B,uBAAuB,OAAO;IAC9B,qBAAqB,OAAO;IAC5B,sBAAsB,OAAO;IAG7B,0BAA0B,OAAO;IACjC,gBAAgB,OAAO;IACvB,iBAAiB,OAAO;IACxB,iBAAiB,OAAO;IAGxB,yBAAyB,OAAO;IAChC,oBAAoB,OAAO;IAC3B,oBAAoB,OAAO;IAG3B,gCAAgC,OAAO;IACvC,0BAA0B,OAAO;IACjC,uBAAuB,OAAO;IAC9B,0BAA0B,OAAO;IAGjC,yBAAyB,OAAO;IAChC,wBAAwB,OAAO;IAC/B,6BAA6B,OAAO;IACpC,iBAAiB,OAAO;IACxB,mBAAmB,OAAO;IAC1B,yBAAyB,OAAO;IAChC,kBAAkB,OAAO;IAGzB,mBAAmB,QAAQ;IAG3B,OAAO,QAAQ;CAChB;AAGD,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,GAAG,UAAU;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAGD,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,aAAa,kBAAkB;CAChC"}
1
+ {"version":3,"file":"hardware-errors-enums.d.mts","sourceRoot":"","sources":["../src/hardware-errors-enums.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS;IAEnB,OAAO,IAAI;IAGX,oBAAoB,OAAO;IAC3B,0BAA0B,OAAO;IACjC,kCAAkC,OAAO;IACzC,0BAA0B,OAAO;IACjC,0BAA0B,OAAO;IACjC,2BAA2B,OAAO;IAClC,+BAA+B,OAAO;IACtC,8BAA8B,OAAO;IAGrC,YAAY,OAAO;IACnB,aAAa,OAAO;IACpB,wBAAwB,OAAO;IAC/B,iBAAiB,OAAO;IAGxB,cAAc,OAAO;IACrB,oBAAoB,OAAO;IAC3B,kBAAkB,OAAO;IACzB,mBAAmB,OAAO;IAC1B,oBAAoB,OAAO;IAC3B,kBAAkB,OAAO;IACzB,cAAc,OAAO;IACrB,uBAAuB,OAAO;IAC9B,uBAAuB,OAAO;IAC9B,qBAAqB,OAAO;IAC5B,sBAAsB,OAAO;IAG7B,0BAA0B,OAAO;IACjC,gBAAgB,OAAO;IACvB,iBAAiB,OAAO;IACxB,iBAAiB,OAAO;IAGxB,yBAAyB,OAAO;IAChC,oBAAoB,OAAO;IAC3B,oBAAoB,OAAO;IAG3B,gCAAgC,OAAO;IACvC,0BAA0B,OAAO;IACjC,uBAAuB,OAAO;IAC9B,0BAA0B,OAAO;IAGjC,yBAAyB,OAAO;IAChC,wBAAwB,OAAO;IAC/B,6BAA6B,OAAO;IACpC,iBAAiB,OAAO;IACxB,mBAAmB,OAAO;IAC1B,yBAAyB,OAAO;IAChC,kBAAkB,OAAO;IACzB,sBAAsB,OAAO;IAC7B,+BAA+B,OAAO;IAGtC,mBAAmB,QAAQ;IAG3B,OAAO,QAAQ;CAChB;AAGD,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,GAAG,UAAU;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAGD,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,aAAa,kBAAkB;CAChC"}
@@ -51,6 +51,8 @@ export var ErrorCode;
51
51
  ErrorCode[ErrorCode["BluetoothScanFailed"] = 7101] = "BluetoothScanFailed";
52
52
  ErrorCode[ErrorCode["BluetoothConnectionFailed"] = 7102] = "BluetoothConnectionFailed";
53
53
  ErrorCode[ErrorCode["MobileNotSupported"] = 7300] = "MobileNotSupported";
54
+ ErrorCode[ErrorCode["PermissionCameraDenied"] = 7301] = "PermissionCameraDenied";
55
+ ErrorCode[ErrorCode["PermissionCameraPromptDismissed"] = 7302] = "PermissionCameraPromptDismissed";
54
56
  // Transaction
55
57
  ErrorCode[ErrorCode["TxInsufficientFunds"] = 10000] = "TxInsufficientFunds";
56
58
  // Unknown/fallback
@@ -1 +1 @@
1
- {"version":3,"file":"hardware-errors-enums.mjs","sourceRoot":"","sources":["../src/hardware-errors-enums.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,MAAM,CAAN,IAAY,SAgEX;AAhED,WAAY,SAAS;IACnB,UAAU;IACV,+CAAW,CAAA;IAEX,iBAAiB;IACjB,4EAA2B,CAAA;IAC3B,wFAAiC,CAAA;IACjC,wGAAyC,CAAA;IACzC,wFAAiC,CAAA;IACjC,wFAAiC,CAAA;IACjC,0FAAkC,CAAA;IAClC,kGAAsC,CAAA;IACtC,gGAAqC,CAAA;IAErC,cAAc;IACd,4DAAmB,CAAA;IACnB,8DAAoB,CAAA;IACpB,oFAA+B,CAAA;IAC/B,sEAAwB,CAAA;IAExB,eAAe;IACf,gEAAqB,CAAA;IACrB,4EAA2B,CAAA;IAC3B,wEAAyB,CAAA;IACzB,0EAA0B,CAAA;IAC1B,4EAA2B,CAAA;IAC3B,wEAAyB,CAAA;IACzB,gEAAqB,CAAA;IACrB,kFAA8B,CAAA;IAC9B,kFAA8B,CAAA;IAC9B,8EAA4B,CAAA;IAC5B,gFAA6B,CAAA;IAE7B,yBAAyB;IACzB,wFAAiC,CAAA;IACjC,oEAAuB,CAAA;IACvB,sEAAwB,CAAA;IACxB,sEAAwB,CAAA;IAExB,WAAW;IACX,sFAAgC,CAAA;IAChC,4EAA2B,CAAA;IAC3B,4EAA2B,CAAA;IAE3B,eAAe;IACf,oGAAuC,CAAA;IACvC,wFAAiC,CAAA;IACjC,kFAA8B,CAAA;IAC9B,wFAAiC,CAAA;IAEjC,+BAA+B;IAC/B,sFAAgC,CAAA;IAChC,oFAA+B,CAAA;IAC/B,8FAAoC,CAAA;IACpC,sEAAwB,CAAA;IACxB,0EAA0B,CAAA;IAC1B,sFAAgC,CAAA;IAChC,wEAAyB,CAAA;IAEzB,cAAc;IACd,2EAA2B,CAAA;IAE3B,mBAAmB;IACnB,mDAAe,CAAA;AACjB,CAAC,EAhEW,SAAS,KAAT,SAAS,QAgEpB;AAED,gBAAgB;AAChB,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;AACvB,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAED,gBAAgB;AAChB,MAAM,CAAN,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,6CAAiC,CAAA;IACjC,iCAAqB,CAAA;IACrB,qCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,+BAAmB,CAAA;IACnB,2CAA+B,CAAA;AACjC,CAAC,EATW,QAAQ,KAAR,QAAQ,QASnB","sourcesContent":["// Error Code Enum\nexport enum ErrorCode {\n // Success\n Success = 0,\n\n // Authentication\n AuthenticationFailed = 1000,\n AuthenticationIncorrectPin = 1001,\n AuthenticationPinAttemptsRemaining = 1002,\n AuthenticationPinCancelled = 1003,\n AuthenticationDeviceLocked = 1100,\n AuthenticationDeviceBlocked = 1101,\n AuthenticationSecurityCondition = 1200,\n AuthenticationWipeCodeMismatch = 1300,\n\n // User action\n UserRejected = 2000,\n UserCancelled = 2001,\n UserConfirmationRequired = 2002,\n UserInputRequired = 2003,\n\n // Device state\n DeviceNotReady = 3000,\n DeviceInvalidSession = 3001,\n DeviceDisconnected = 3003,\n DeviceUsedElsewhere = 3004,\n DeviceCallInProgress = 3005,\n DeviceUnresponsive = 3006,\n DeviceNotFound = 3010,\n DeviceMultipleConnected = 3011,\n DeviceMissingCapability = 3020,\n DeviceBtcOnlyFirmware = 3021,\n DeviceIncompatibleMode = 3030,\n\n // Connection & transport\n ConnectionTransportMissing = 4000,\n ConnectionClosed = 4001,\n ConnectionTimeout = 4002,\n ConnectionBlocked = 4003,\n\n // Protocol\n ProtocolUnexpectedMessage = 5000,\n ProtocolCommandError = 5001,\n ProtocolMessageError = 5002,\n\n // Device state\n DeviceStateBlindSignNotSupported = 6001,\n DeviceStateOnlyV4Supported = 6002,\n DeviceStateEthAppClosed = 6003,\n DeviceStateEthAppOutOfDate = 6004,\n\n // Mobile/BLE Permission Errors\n PermissionBluetoothDenied = 7000,\n PermissionLocationDenied = 7001,\n PermissionNearbyDevicesDenied = 7002,\n BluetoothDisabled = 7100,\n BluetoothScanFailed = 7101,\n BluetoothConnectionFailed = 7102,\n MobileNotSupported = 7300,\n\n // Transaction\n TxInsufficientFunds = 10000,\n\n // Unknown/fallback\n Unknown = 99999,\n}\n\n// Severity Enum\nexport enum Severity {\n Info = 'Info',\n Err = 'Error',\n Warning = 'Warning',\n Critical = 'Critical',\n}\n\n// Category Enum\nexport enum Category {\n Success = 'Success',\n Authentication = 'Authentication',\n Protocol = 'Protocol',\n Connection = 'Connection',\n UserAction = 'UserAction',\n DeviceState = 'DeviceState',\n Unknown = 'Unknown',\n Configuration = 'Configuration',\n}\n"]}
1
+ {"version":3,"file":"hardware-errors-enums.mjs","sourceRoot":"","sources":["../src/hardware-errors-enums.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,MAAM,CAAN,IAAY,SAkEX;AAlED,WAAY,SAAS;IACnB,UAAU;IACV,+CAAW,CAAA;IAEX,iBAAiB;IACjB,4EAA2B,CAAA;IAC3B,wFAAiC,CAAA;IACjC,wGAAyC,CAAA;IACzC,wFAAiC,CAAA;IACjC,wFAAiC,CAAA;IACjC,0FAAkC,CAAA;IAClC,kGAAsC,CAAA;IACtC,gGAAqC,CAAA;IAErC,cAAc;IACd,4DAAmB,CAAA;IACnB,8DAAoB,CAAA;IACpB,oFAA+B,CAAA;IAC/B,sEAAwB,CAAA;IAExB,eAAe;IACf,gEAAqB,CAAA;IACrB,4EAA2B,CAAA;IAC3B,wEAAyB,CAAA;IACzB,0EAA0B,CAAA;IAC1B,4EAA2B,CAAA;IAC3B,wEAAyB,CAAA;IACzB,gEAAqB,CAAA;IACrB,kFAA8B,CAAA;IAC9B,kFAA8B,CAAA;IAC9B,8EAA4B,CAAA;IAC5B,gFAA6B,CAAA;IAE7B,yBAAyB;IACzB,wFAAiC,CAAA;IACjC,oEAAuB,CAAA;IACvB,sEAAwB,CAAA;IACxB,sEAAwB,CAAA;IAExB,WAAW;IACX,sFAAgC,CAAA;IAChC,4EAA2B,CAAA;IAC3B,4EAA2B,CAAA;IAE3B,eAAe;IACf,oGAAuC,CAAA;IACvC,wFAAiC,CAAA;IACjC,kFAA8B,CAAA;IAC9B,wFAAiC,CAAA;IAEjC,+BAA+B;IAC/B,sFAAgC,CAAA;IAChC,oFAA+B,CAAA;IAC/B,8FAAoC,CAAA;IACpC,sEAAwB,CAAA;IACxB,0EAA0B,CAAA;IAC1B,sFAAgC,CAAA;IAChC,wEAAyB,CAAA;IACzB,gFAA6B,CAAA;IAC7B,kGAAsC,CAAA;IAEtC,cAAc;IACd,2EAA2B,CAAA;IAE3B,mBAAmB;IACnB,mDAAe,CAAA;AACjB,CAAC,EAlEW,SAAS,KAAT,SAAS,QAkEpB;AAED,gBAAgB;AAChB,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;AACvB,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAED,gBAAgB;AAChB,MAAM,CAAN,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,6CAAiC,CAAA;IACjC,iCAAqB,CAAA;IACrB,qCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,+BAAmB,CAAA;IACnB,2CAA+B,CAAA;AACjC,CAAC,EATW,QAAQ,KAAR,QAAQ,QASnB","sourcesContent":["// Error Code Enum\nexport enum ErrorCode {\n // Success\n Success = 0,\n\n // Authentication\n AuthenticationFailed = 1000,\n AuthenticationIncorrectPin = 1001,\n AuthenticationPinAttemptsRemaining = 1002,\n AuthenticationPinCancelled = 1003,\n AuthenticationDeviceLocked = 1100,\n AuthenticationDeviceBlocked = 1101,\n AuthenticationSecurityCondition = 1200,\n AuthenticationWipeCodeMismatch = 1300,\n\n // User action\n UserRejected = 2000,\n UserCancelled = 2001,\n UserConfirmationRequired = 2002,\n UserInputRequired = 2003,\n\n // Device state\n DeviceNotReady = 3000,\n DeviceInvalidSession = 3001,\n DeviceDisconnected = 3003,\n DeviceUsedElsewhere = 3004,\n DeviceCallInProgress = 3005,\n DeviceUnresponsive = 3006,\n DeviceNotFound = 3010,\n DeviceMultipleConnected = 3011,\n DeviceMissingCapability = 3020,\n DeviceBtcOnlyFirmware = 3021,\n DeviceIncompatibleMode = 3030,\n\n // Connection & transport\n ConnectionTransportMissing = 4000,\n ConnectionClosed = 4001,\n ConnectionTimeout = 4002,\n ConnectionBlocked = 4003,\n\n // Protocol\n ProtocolUnexpectedMessage = 5000,\n ProtocolCommandError = 5001,\n ProtocolMessageError = 5002,\n\n // Device state\n DeviceStateBlindSignNotSupported = 6001,\n DeviceStateOnlyV4Supported = 6002,\n DeviceStateEthAppClosed = 6003,\n DeviceStateEthAppOutOfDate = 6004,\n\n // Mobile/BLE Permission Errors\n PermissionBluetoothDenied = 7000,\n PermissionLocationDenied = 7001,\n PermissionNearbyDevicesDenied = 7002,\n BluetoothDisabled = 7100,\n BluetoothScanFailed = 7101,\n BluetoothConnectionFailed = 7102,\n MobileNotSupported = 7300,\n PermissionCameraDenied = 7301,\n PermissionCameraPromptDismissed = 7302,\n\n // Transaction\n TxInsufficientFunds = 10000,\n\n // Unknown/fallback\n Unknown = 99999,\n}\n\n// Severity Enum\nexport enum Severity {\n Info = 'Info',\n Err = 'Error',\n Warning = 'Warning',\n Critical = 'Critical',\n}\n\n// Category Enum\nexport enum Category {\n Success = 'Success',\n Authentication = 'Authentication',\n Protocol = 'Protocol',\n Connection = 'Connection',\n UserAction = 'UserAction',\n DeviceState = 'DeviceState',\n Unknown = 'Unknown',\n Configuration = 'Configuration',\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/hw-wallet-sdk",
3
- "version": "0.5.0-fd40efd",
3
+ "version": "0.8.0-5c366be",
4
4
  "description": "MetaMask Hardware Device SDK",
5
5
  "keywords": [
6
6
  "metamask",