@metamask-previews/hw-wallet-sdk 0.8.0-ea8175e → 0.9.0-e51c895

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,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Fixed
11
+
12
+ - Add shared user-rejection detection helpers so hardware wallet libraries can classify cancellation-like errors consistently ([#576](https://github.com/MetaMask/accounts/pull/576))
13
+ - Provider-style `4001` codes are distinguished from this SDK's `ConnectionClosed` error code.
14
+
10
15
  ## [0.8.0]
11
16
 
12
17
  ### Added
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 MetaMask
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -221,7 +221,6 @@ exports.QR_WALLET_ERROR_MAPPINGS = {
221
221
  userMessage: 'To continue, allow camera access in your browser settings.',
222
222
  },
223
223
  };
224
- /* eslint-disable @typescript-eslint/naming-convention */
225
224
  /**
226
225
  * Trezor error mappings - static error data for Trezor hardware wallets.
227
226
  * These mappings provide consistent error classification across Trezor integrations.
@@ -417,5 +416,4 @@ exports.TREZOR_ERROR_MAPPINGS = {
417
416
  userMessage: 'Your Trezor device failed to initialize. Please unlock it and try again.',
418
417
  },
419
418
  };
420
- /* eslint-enable @typescript-eslint/naming-convention */
421
419
  //# 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":";;;AAAA,uEAAwE;AAU3D,QAAA,qBAAqB,GAAiC;IACjE,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,OAAO;QACvB,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,gCAAQ,CAAC,IAAI;QACvB,QAAQ,EAAE,gCAAQ,CAAC,OAAO;KAC3B;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,oBAAoB;QACpC,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QACjC,WAAW,EAAE,wDAAwD;KACtE;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,kCAAkC;QAClD,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,gCAAQ,CAAC,OAAO;QAC1B,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QACjC,WAAW,EAAE,kCAAkC;KAChD;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,+BAA+B;QAC/C,OAAO,EAAE,mCAAmC;QAC5C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QAEjC,WAAW,EACT,gFAAgF;KACnF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,YAAY;QAC5B,OAAO,EAAE,gCAAgC;QACzC,QAAQ,EAAE,gCAAQ,CAAC,OAAO;QAC1B,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAE7B,WAAW,EACT,sEAAsE;KACzE;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,+BAA+B;QAC/C,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QAEjC,WAAW,EAAE,4CAA4C;KAC1D;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,oBAAoB;QACpC,OAAO,EAAE,qCAAqC;QAC9C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;KAClC;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,2BAA2B;QAC3C,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,gCAAQ,CAAC,QAAQ;QAC3B,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QAEjC,WAAW,EACT,mGAAmG;KACtG;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,uBAAuB;QACvC,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EACT,2EAA2E;KAC9E;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,0BAA0B;QAC1C,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QACjC,WAAW,EAAE,+CAA+C;KAC7D;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,YAAY;QAC5B,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,gCAAQ,CAAC,OAAO;QAC1B,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EACT,oEAAoE;KACvE;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,gCAAgC;QAChD,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EAAE,gDAAgD;KAC9D;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,uBAAuB;QACvC,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EACT,0EAA0E;KAC7E;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,uBAAuB;QACvC,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EACT,2EAA2E;KAC9E;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,uBAAuB;QACvC,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EAAE,qDAAqD;KACnE;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,0BAA0B;QAC1C,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EAAE,4DAA4D;KAC1E;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,kBAAkB;QAClC,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EACT,6EAA6E;KAChF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,0BAA0B;QAC1C,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QACjC,WAAW,EAAE,+CAA+C;KAC7D;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,uBAAuB;QACvC,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EAAE,qDAAqD;KACnE;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iCAAS,CAAC,uBAAuB;QACvC,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EAAE,qDAAqD;KACnE;CACF,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAChC,2BAA2B,EAAE;QAC3B,IAAI,EAAE,iCAAS,CAAC,yBAAyB;QACzC,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,aAAa;QAChC,WAAW,EACT,gHAAgH;KACnH;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,iCAAS,CAAC,wBAAwB;QACxC,OAAO,EAAE,4BAA4B;QACrC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,aAAa;QAChC,WAAW,EACT,8GAA8G;KACjH;IACD,gCAAgC,EAAE;QAChC,IAAI,EAAE,iCAAS,CAAC,6BAA6B;QAC7C,OAAO,EAAE,kCAAkC;QAC3C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,aAAa;QAChC,WAAW,EACT,mHAAmH;KACtH;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,iCAAS,CAAC,iBAAiB;QACjC,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,gCAAQ,CAAC,OAAO;QAC1B,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EACT,sFAAsF;KACzF;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,iCAAS,CAAC,mBAAmB;QACnC,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EAAE,yDAAyD;KACvE;IACD,2BAA2B,EAAE;QAC3B,IAAI,EAAE,iCAAS,CAAC,yBAAyB;QACzC,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EACT,wFAAwF;KAC3F;CACF,CAAC;AAEW,QAAA,qBAAqB,GAAG;IACnC,wBAAwB,EAAE;QACxB,IAAI,EAAE,iCAAS,CAAC,sBAAsB;QACtC,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,aAAa;QAChC,WAAW,EACT,2FAA2F;KAC9F;IACD,aAAa,EAAE;QACb,IAAI,EAAE,iCAAS,CAAC,kBAAkB;QAClC,OAAO,EAAE,mCAAmC;QAC5C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EAAE,oDAAoD;KAClE;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,wBAAwB,GAAiC;IACpE,kCAAkC,EAAE;QAClC,IAAI,EAAE,iCAAS,CAAC,+BAA+B;QAC/C,OAAO,EAAE,4DAA4D;QACrE,QAAQ,EAAE,gCAAQ,CAAC,OAAO;QAC1B,QAAQ,EAAE,gCAAQ,CAAC,aAAa;QAChC,WAAW,EACT,kEAAkE;KACrE;IACD,yBAAyB,EAAE;QACzB,IAAI,EAAE,iCAAS,CAAC,sBAAsB;QACtC,OAAO,EAAE,0CAA0C;QACnD,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,aAAa;QAChC,WAAW,EAAE,4DAA4D;KAC1E;CACF,CAAC;AAEF,yDAAyD;AACzD;;;GAGG;AACU,QAAA,qBAAqB,GAAiC;IACjE,iBAAiB,EAAE;QACjB,IAAI,EAAE,iCAAS,CAAC,0BAA0B;QAC1C,OAAO,EAAE,iCAAiC;QAC1C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EACT,0EAA0E;KAC7E;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,iCAAS,CAAC,kBAAkB;QAClC,OAAO,EAAE,4BAA4B;QACrC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EACT,sEAAsE;KACzE;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,iCAAS,CAAC,gBAAgB;QAChC,OAAO,EAAE,qCAAqC;QAC9C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EAAE,8DAA8D;KAC5E;IACD,yBAAyB,EAAE;QACzB,IAAI,EAAE,iCAAS,CAAC,gBAAgB;QAChC,OAAO,EAAE,uCAAuC;QAChD,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EACT,6EAA6E;KAChF;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,iCAAS,CAAC,gBAAgB;QAChC,OAAO,EAAE,+BAA+B;QACxC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EACT,8EAA8E;KACjF;IACD,aAAa,EAAE;QACb,IAAI,EAAE,iCAAS,CAAC,aAAa;QAC7B,OAAO,EAAE,wCAAwC;QACjD,QAAQ,EAAE,gCAAQ,CAAC,OAAO;QAC1B,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EAAE,6CAA6C;KAC3D;IACD,4BAA4B,EAAE;QAC5B,IAAI,EAAE,iCAAS,CAAC,YAAY;QAC5B,OAAO,EAAE,yCAAyC;QAClD,QAAQ,EAAE,gCAAQ,CAAC,OAAO;QAC1B,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EAAE,gDAAgD;KAC9D;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,iCAAS,CAAC,aAAa;QAC7B,OAAO,EAAE,wCAAwC;QACjD,QAAQ,EAAE,gCAAQ,CAAC,OAAO;QAC1B,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EAAE,6CAA6C;KAC3D;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,iCAAS,CAAC,oBAAoB;QACpC,OAAO,EAAE,qCAAqC;QAC9C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QACjC,WAAW,EACT,+EAA+E;KAClF;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,iCAAS,CAAC,oBAAoB;QACpC,OAAO,EAAE,wCAAwC;QACjD,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EACT,kEAAkE;KACrE;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,iCAAS,CAAC,iBAAiB;QACjC,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EACT,+DAA+D;KAClE;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,iCAAS,CAAC,iBAAiB;QACjC,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EACT,yEAAyE;KAC5E;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,iCAAS,CAAC,OAAO;QACvB,OAAO,EAAE,4BAA4B;QACrC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,aAAa;QAChC,WAAW,EACT,qEAAqE;KACxE;IACD,eAAe,EAAE;QACf,IAAI,EAAE,iCAAS,CAAC,cAAc;QAC9B,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EACT,mEAAmE;KACtE;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,iCAAS,CAAC,mBAAmB;QACnC,OAAO,EAAE,iCAAiC;QAC1C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EACT,mFAAmF;KACtF;IACD,2BAA2B,EAAE;QAC3B,IAAI,EAAE,iCAAS,CAAC,uBAAuB;QACvC,OAAO,EAAE,2CAA2C;QACpD,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EACT,sEAAsE;KACzE;IACD,wBAAwB,EAAE;QACxB,IAAI,EAAE,iCAAS,CAAC,uBAAuB;QACvC,OAAO,EAAE,qCAAqC;QAC9C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EACT,6EAA6E;KAChF;IACD,+BAA+B,EAAE;QAC/B,IAAI,EAAE,iCAAS,CAAC,qBAAqB;QACrC,OAAO,EAAE,0CAA0C;QACnD,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EACT,8EAA8E;KACjF;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,iCAAS,CAAC,0BAA0B;QAC1C,OAAO,EAAE,4BAA4B;QACrC,QAAQ,EAAE,gCAAQ,CAAC,OAAO;QAC1B,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QACjC,WAAW,EAAE,gDAAgD;KAC9D;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,iCAAS,CAAC,0BAA0B;QAC1C,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QACjC,WAAW,EAAE,yCAAyC;KACvD;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,iCAAS,CAAC,0BAA0B;QAC1C,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QACjC,WAAW,EAAE,2CAA2C;KACzD;IACD,wBAAwB,EAAE;QACxB,IAAI,EAAE,iCAAS,CAAC,8BAA8B;QAC9C,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QACjC,WAAW,EAAE,4DAA4D;KAC1E;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,iCAAS,CAAC,sBAAsB;QACtC,OAAO,EAAE,oCAAoC;QAC7C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,WAAW;QAC9B,WAAW,EACT,qFAAqF;KACxF;IACD,2BAA2B,EAAE;QAC3B,IAAI,EAAE,iCAAS,CAAC,+BAA+B;QAC/C,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QACjC,WAAW,EACT,yEAAyE;KAC5E;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,iCAAS,CAAC,gBAAgB;QAChC,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EAAE,4CAA4C;KAC1D;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,iCAAS,CAAC,gBAAgB;QAChC,OAAO,EAAE,kCAAkC;QAC3C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,UAAU;QAC7B,WAAW,EACT,wEAAwE;KAC3E;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,iCAAS,CAAC,0BAA0B;QAC1C,OAAO,EAAE,qCAAqC;QAC9C,QAAQ,EAAE,gCAAQ,CAAC,GAAG;QACtB,QAAQ,EAAE,gCAAQ,CAAC,cAAc;QACjC,WAAW,EACT,0EAA0E;KAC7E;CACF,CAAC;AACF,wDAAwD","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"]}
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/**\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"]}
@@ -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;;;;;;;;;;;;;;;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"}
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;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAgN9D,CAAC"}
@@ -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;;;;;;;;;;;;;;;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"}
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;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAgN9D,CAAC"}
@@ -218,7 +218,6 @@ export const QR_WALLET_ERROR_MAPPINGS = {
218
218
  userMessage: 'To continue, allow camera access in your browser settings.',
219
219
  },
220
220
  };
221
- /* eslint-disable @typescript-eslint/naming-convention */
222
221
  /**
223
222
  * Trezor error mappings - static error data for Trezor hardware wallets.
224
223
  * These mappings provide consistent error classification across Trezor integrations.
@@ -414,5 +413,4 @@ export const TREZOR_ERROR_MAPPINGS = {
414
413
  userMessage: 'Your Trezor device failed to initialize. Please unlock it and try again.',
415
414
  },
416
415
  };
417
- /* eslint-enable @typescript-eslint/naming-convention */
418
416
  //# 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 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"]}
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/**\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"]}
package/dist/index.cjs CHANGED
@@ -18,4 +18,5 @@ __exportStar(require("./hardware-errors-enums.cjs"), exports);
18
18
  __exportStar(require("./hardware-error-mappings.cjs"), exports);
19
19
  __exportStar(require("./hardware-error.cjs"), exports);
20
20
  __exportStar(require("./types.cjs"), exports);
21
+ __exportStar(require("./user-rejection.cjs"), exports);
21
22
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAAwC;AACxC,gEAA0C;AAC1C,uDAAiC;AACjC,8CAAwB","sourcesContent":["export * from './hardware-errors-enums';\nexport * from './hardware-error-mappings';\nexport * from './hardware-error';\nexport * from './types';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAAwC;AACxC,gEAA0C;AAC1C,uDAAiC;AACjC,8CAAwB;AACxB,uDAAiC","sourcesContent":["export * from './hardware-errors-enums';\nexport * from './hardware-error-mappings';\nexport * from './hardware-error';\nexport * from './types';\nexport * from './user-rejection';\n"]}
package/dist/index.d.cts CHANGED
@@ -2,4 +2,5 @@ export * from "./hardware-errors-enums.cjs";
2
2
  export * from "./hardware-error-mappings.cjs";
3
3
  export * from "./hardware-error.cjs";
4
4
  export * from "./types.cjs";
5
+ export * from "./user-rejection.cjs";
5
6
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4CAAwC;AACxC,8CAA0C;AAC1C,qCAAiC;AACjC,4BAAwB"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4CAAwC;AACxC,8CAA0C;AAC1C,qCAAiC;AACjC,4BAAwB;AACxB,qCAAiC"}
package/dist/index.d.mts CHANGED
@@ -2,4 +2,5 @@ export * from "./hardware-errors-enums.mjs";
2
2
  export * from "./hardware-error-mappings.mjs";
3
3
  export * from "./hardware-error.mjs";
4
4
  export * from "./types.mjs";
5
+ export * from "./user-rejection.mjs";
5
6
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4CAAwC;AACxC,8CAA0C;AAC1C,qCAAiC;AACjC,4BAAwB"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4CAAwC;AACxC,8CAA0C;AAC1C,qCAAiC;AACjC,4BAAwB;AACxB,qCAAiC"}
package/dist/index.mjs CHANGED
@@ -2,4 +2,5 @@ export * from "./hardware-errors-enums.mjs";
2
2
  export * from "./hardware-error-mappings.mjs";
3
3
  export * from "./hardware-error.mjs";
4
4
  export * from "./types.mjs";
5
+ export * from "./user-rejection.mjs";
5
6
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4CAAwC;AACxC,8CAA0C;AAC1C,qCAAiC;AACjC,4BAAwB","sourcesContent":["export * from './hardware-errors-enums';\nexport * from './hardware-error-mappings';\nexport * from './hardware-error';\nexport * from './types';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4CAAwC;AACxC,8CAA0C;AAC1C,qCAAiC;AACjC,4BAAwB;AACxB,qCAAiC","sourcesContent":["export * from './hardware-errors-enums';\nexport * from './hardware-error-mappings';\nexport * from './hardware-error';\nexport * from './types';\nexport * from './user-rejection';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,uBAAuB;;;AAIvB,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,+BAAS,CAAA;IACT,yCAAmB,CAAA;AACrB,CAAC,EAPW,kBAAkB,kCAAlB,kBAAkB,QAO7B;AAED,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,mCAAe,CAAA;IACf,gDAA4B,CAAA;IAC5B,kEAA8C,CAAA;IAC9C,wCAAoB,CAAA;AACtB,CAAC,EATW,gBAAgB,gCAAhB,gBAAgB,QAS3B;AAED,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,4CAA6B,CAAA;IAC7B,qDAAsC,CAAA;IACtC,6CAA8B,CAAA;IAC9B,uCAAwB,CAAA;IACxB,0CAA2B,CAAA;IAC3B,yCAA0B,CAAA;IAC1B,6DAA8C,CAAA;IAC9C,6DAA8C,CAAA;IAC9C,6DAA8C,CAAA;IAC9C,qDAAsC,CAAA;IACtC,uDAAwC,CAAA;AAC1C,CAAC,EAbW,WAAW,2BAAX,WAAW,QAatB","sourcesContent":["// istanbul ignore file\n\nimport { type HardwareWalletError } from './hardware-error';\n\nexport enum HardwareWalletType {\n Ledger = 'ledger',\n Trezor = 'trezor',\n OneKey = 'onekey',\n Lattice = 'lattice',\n Qr = 'qr',\n Unknown = 'unknown',\n}\n\nexport enum ConnectionStatus {\n Disconnected = 'disconnected',\n Scanning = 'scanning',\n Connecting = 'connecting',\n Connected = 'connected',\n Ready = 'ready',\n AwaitingApp = 'awaiting_app',\n AwaitingConfirmation = 'awaiting_confirmation',\n ErrorState = 'error',\n}\n\nexport enum DeviceEvent {\n Connected = 'connected',\n Disconnected = 'disconnected',\n ConnectionFailed = 'connection_failed',\n DeviceLocked = 'device_locked',\n AppOpened = 'app_opened',\n AppNotOpen = 'app_not_open',\n AppChanged = 'app_changed',\n ConfirmationRequired = 'confirmation_required',\n ConfirmationReceived = 'confirmation_received',\n ConfirmationRejected = 'confirmation_rejected',\n OperationTimeout = 'operation_timeout',\n PermissionChanged = 'permission_changed',\n}\n\nexport type HardwareWalletConnectionState =\n | { status: ConnectionStatus.Disconnected }\n | { status: ConnectionStatus.Scanning }\n | { status: ConnectionStatus.Connecting; deviceId?: string }\n | { status: ConnectionStatus.Connected; deviceId: string }\n | { status: ConnectionStatus.Ready; deviceId?: string }\n | { status: ConnectionStatus.AwaitingApp; deviceId: string; appName?: string }\n | {\n status: ConnectionStatus.AwaitingConfirmation;\n deviceId: string;\n operationType?: string;\n }\n | { status: ConnectionStatus.ErrorState; error: HardwareWalletError };\n\nexport type DeviceEventPayload = {\n event: DeviceEvent;\n deviceId?: string;\n deviceName?: string;\n currentAppName?: string;\n previousAppName?: string;\n error?: Error;\n metadata?: Record<string, unknown>;\n};\n"]}
1
+ {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,uBAAuB;;;AAIvB,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,+BAAS,CAAA;IACT,yCAAmB,CAAA;AACrB,CAAC,EAPW,kBAAkB,kCAAlB,kBAAkB,QAO7B;AAED,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,mCAAe,CAAA;IACf,gDAA4B,CAAA;IAC5B,kEAA8C,CAAA;IAC9C,wCAAoB,CAAA;AACtB,CAAC,EATW,gBAAgB,gCAAhB,gBAAgB,QAS3B;AAED,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,4CAA6B,CAAA;IAC7B,qDAAsC,CAAA;IACtC,6CAA8B,CAAA;IAC9B,uCAAwB,CAAA;IACxB,0CAA2B,CAAA;IAC3B,yCAA0B,CAAA;IAC1B,6DAA8C,CAAA;IAC9C,6DAA8C,CAAA;IAC9C,6DAA8C,CAAA;IAC9C,qDAAsC,CAAA;IACtC,uDAAwC,CAAA;AAC1C,CAAC,EAbW,WAAW,2BAAX,WAAW,QAatB","sourcesContent":["// istanbul ignore file\n\nimport type { HardwareWalletError } from './hardware-error';\n\nexport enum HardwareWalletType {\n Ledger = 'ledger',\n Trezor = 'trezor',\n OneKey = 'onekey',\n Lattice = 'lattice',\n Qr = 'qr',\n Unknown = 'unknown',\n}\n\nexport enum ConnectionStatus {\n Disconnected = 'disconnected',\n Scanning = 'scanning',\n Connecting = 'connecting',\n Connected = 'connected',\n Ready = 'ready',\n AwaitingApp = 'awaiting_app',\n AwaitingConfirmation = 'awaiting_confirmation',\n ErrorState = 'error',\n}\n\nexport enum DeviceEvent {\n Connected = 'connected',\n Disconnected = 'disconnected',\n ConnectionFailed = 'connection_failed',\n DeviceLocked = 'device_locked',\n AppOpened = 'app_opened',\n AppNotOpen = 'app_not_open',\n AppChanged = 'app_changed',\n ConfirmationRequired = 'confirmation_required',\n ConfirmationReceived = 'confirmation_received',\n ConfirmationRejected = 'confirmation_rejected',\n OperationTimeout = 'operation_timeout',\n PermissionChanged = 'permission_changed',\n}\n\nexport type HardwareWalletConnectionState =\n | { status: ConnectionStatus.Disconnected }\n | { status: ConnectionStatus.Scanning }\n | { status: ConnectionStatus.Connecting; deviceId?: string }\n | { status: ConnectionStatus.Connected; deviceId: string }\n | { status: ConnectionStatus.Ready; deviceId?: string }\n | { status: ConnectionStatus.AwaitingApp; deviceId: string; appName?: string }\n | {\n status: ConnectionStatus.AwaitingConfirmation;\n deviceId: string;\n operationType?: string;\n }\n | { status: ConnectionStatus.ErrorState; error: HardwareWalletError };\n\nexport type DeviceEventPayload = {\n event: DeviceEvent;\n deviceId?: string;\n deviceName?: string;\n currentAppName?: string;\n previousAppName?: string;\n error?: Error;\n metadata?: Record<string, unknown>;\n};\n"]}
package/dist/types.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { type HardwareWalletError } from "./hardware-error.cjs";
1
+ import type { HardwareWalletError } from "./hardware-error.cjs";
2
2
  export declare enum HardwareWalletType {
3
3
  Ledger = "ledger",
4
4
  Trezor = "trezor",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAE,6BAAyB;AAE5D,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,EAAE,OAAO;IACT,OAAO,YAAY;CACpB;AAED,oBAAY,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,WAAW,iBAAiB;IAC5B,oBAAoB,0BAA0B;IAC9C,UAAU,UAAU;CACrB;AAED,oBAAY,WAAW;IACrB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,gBAAgB,sBAAsB;IACtC,YAAY,kBAAkB;IAC9B,SAAS,eAAe;IACxB,UAAU,iBAAiB;IAC3B,UAAU,gBAAgB;IAC1B,oBAAoB,0BAA0B;IAC9C,oBAAoB,0BAA0B;IAC9C,oBAAoB,0BAA0B;IAC9C,gBAAgB,sBAAsB;IACtC,iBAAiB,uBAAuB;CACzC;AAED,MAAM,MAAM,6BAA6B,GACrC;IAAE,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5E;IACE,MAAM,EAAE,gBAAgB,CAAC,oBAAoB,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,6BAAyB;AAE5D,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,EAAE,OAAO;IACT,OAAO,YAAY;CACpB;AAED,oBAAY,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,WAAW,iBAAiB;IAC5B,oBAAoB,0BAA0B;IAC9C,UAAU,UAAU;CACrB;AAED,oBAAY,WAAW;IACrB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,gBAAgB,sBAAsB;IACtC,YAAY,kBAAkB;IAC9B,SAAS,eAAe;IACxB,UAAU,iBAAiB;IAC3B,UAAU,gBAAgB;IAC1B,oBAAoB,0BAA0B;IAC9C,oBAAoB,0BAA0B;IAC9C,oBAAoB,0BAA0B;IAC9C,gBAAgB,sBAAsB;IACtC,iBAAiB,uBAAuB;CACzC;AAED,MAAM,MAAM,6BAA6B,GACrC;IAAE,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5E;IACE,MAAM,EAAE,gBAAgB,CAAC,oBAAoB,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC"}
package/dist/types.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { type HardwareWalletError } from "./hardware-error.mjs";
1
+ import type { HardwareWalletError } from "./hardware-error.mjs";
2
2
  export declare enum HardwareWalletType {
3
3
  Ledger = "ledger",
4
4
  Trezor = "trezor",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAE,6BAAyB;AAE5D,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,EAAE,OAAO;IACT,OAAO,YAAY;CACpB;AAED,oBAAY,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,WAAW,iBAAiB;IAC5B,oBAAoB,0BAA0B;IAC9C,UAAU,UAAU;CACrB;AAED,oBAAY,WAAW;IACrB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,gBAAgB,sBAAsB;IACtC,YAAY,kBAAkB;IAC9B,SAAS,eAAe;IACxB,UAAU,iBAAiB;IAC3B,UAAU,gBAAgB;IAC1B,oBAAoB,0BAA0B;IAC9C,oBAAoB,0BAA0B;IAC9C,oBAAoB,0BAA0B;IAC9C,gBAAgB,sBAAsB;IACtC,iBAAiB,uBAAuB;CACzC;AAED,MAAM,MAAM,6BAA6B,GACrC;IAAE,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5E;IACE,MAAM,EAAE,gBAAgB,CAAC,oBAAoB,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,6BAAyB;AAE5D,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,EAAE,OAAO;IACT,OAAO,YAAY;CACpB;AAED,oBAAY,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,WAAW,iBAAiB;IAC5B,oBAAoB,0BAA0B;IAC9C,UAAU,UAAU;CACrB;AAED,oBAAY,WAAW;IACrB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,gBAAgB,sBAAsB;IACtC,YAAY,kBAAkB;IAC9B,SAAS,eAAe;IACxB,UAAU,iBAAiB;IAC3B,UAAU,gBAAgB;IAC1B,oBAAoB,0BAA0B;IAC9C,oBAAoB,0BAA0B;IAC9C,oBAAoB,0BAA0B;IAC9C,gBAAgB,sBAAsB;IACtC,iBAAiB,uBAAuB;CACzC;AAED,MAAM,MAAM,6BAA6B,GACrC;IAAE,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5E;IACE,MAAM,EAAE,gBAAgB,CAAC,oBAAoB,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,uBAAuB;AAIvB,MAAM,CAAN,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,+BAAS,CAAA;IACT,yCAAmB,CAAA;AACrB,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B;AAED,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,mCAAe,CAAA;IACf,gDAA4B,CAAA;IAC5B,kEAA8C,CAAA;IAC9C,wCAAoB,CAAA;AACtB,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAED,MAAM,CAAN,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,4CAA6B,CAAA;IAC7B,qDAAsC,CAAA;IACtC,6CAA8B,CAAA;IAC9B,uCAAwB,CAAA;IACxB,0CAA2B,CAAA;IAC3B,yCAA0B,CAAA;IAC1B,6DAA8C,CAAA;IAC9C,6DAA8C,CAAA;IAC9C,6DAA8C,CAAA;IAC9C,qDAAsC,CAAA;IACtC,uDAAwC,CAAA;AAC1C,CAAC,EAbW,WAAW,KAAX,WAAW,QAatB","sourcesContent":["// istanbul ignore file\n\nimport { type HardwareWalletError } from './hardware-error';\n\nexport enum HardwareWalletType {\n Ledger = 'ledger',\n Trezor = 'trezor',\n OneKey = 'onekey',\n Lattice = 'lattice',\n Qr = 'qr',\n Unknown = 'unknown',\n}\n\nexport enum ConnectionStatus {\n Disconnected = 'disconnected',\n Scanning = 'scanning',\n Connecting = 'connecting',\n Connected = 'connected',\n Ready = 'ready',\n AwaitingApp = 'awaiting_app',\n AwaitingConfirmation = 'awaiting_confirmation',\n ErrorState = 'error',\n}\n\nexport enum DeviceEvent {\n Connected = 'connected',\n Disconnected = 'disconnected',\n ConnectionFailed = 'connection_failed',\n DeviceLocked = 'device_locked',\n AppOpened = 'app_opened',\n AppNotOpen = 'app_not_open',\n AppChanged = 'app_changed',\n ConfirmationRequired = 'confirmation_required',\n ConfirmationReceived = 'confirmation_received',\n ConfirmationRejected = 'confirmation_rejected',\n OperationTimeout = 'operation_timeout',\n PermissionChanged = 'permission_changed',\n}\n\nexport type HardwareWalletConnectionState =\n | { status: ConnectionStatus.Disconnected }\n | { status: ConnectionStatus.Scanning }\n | { status: ConnectionStatus.Connecting; deviceId?: string }\n | { status: ConnectionStatus.Connected; deviceId: string }\n | { status: ConnectionStatus.Ready; deviceId?: string }\n | { status: ConnectionStatus.AwaitingApp; deviceId: string; appName?: string }\n | {\n status: ConnectionStatus.AwaitingConfirmation;\n deviceId: string;\n operationType?: string;\n }\n | { status: ConnectionStatus.ErrorState; error: HardwareWalletError };\n\nexport type DeviceEventPayload = {\n event: DeviceEvent;\n deviceId?: string;\n deviceName?: string;\n currentAppName?: string;\n previousAppName?: string;\n error?: Error;\n metadata?: Record<string, unknown>;\n};\n"]}
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,uBAAuB;AAIvB,MAAM,CAAN,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,+BAAS,CAAA;IACT,yCAAmB,CAAA;AACrB,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B;AAED,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,mCAAe,CAAA;IACf,gDAA4B,CAAA;IAC5B,kEAA8C,CAAA;IAC9C,wCAAoB,CAAA;AACtB,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAED,MAAM,CAAN,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,4CAA6B,CAAA;IAC7B,qDAAsC,CAAA;IACtC,6CAA8B,CAAA;IAC9B,uCAAwB,CAAA;IACxB,0CAA2B,CAAA;IAC3B,yCAA0B,CAAA;IAC1B,6DAA8C,CAAA;IAC9C,6DAA8C,CAAA;IAC9C,6DAA8C,CAAA;IAC9C,qDAAsC,CAAA;IACtC,uDAAwC,CAAA;AAC1C,CAAC,EAbW,WAAW,KAAX,WAAW,QAatB","sourcesContent":["// istanbul ignore file\n\nimport type { HardwareWalletError } from './hardware-error';\n\nexport enum HardwareWalletType {\n Ledger = 'ledger',\n Trezor = 'trezor',\n OneKey = 'onekey',\n Lattice = 'lattice',\n Qr = 'qr',\n Unknown = 'unknown',\n}\n\nexport enum ConnectionStatus {\n Disconnected = 'disconnected',\n Scanning = 'scanning',\n Connecting = 'connecting',\n Connected = 'connected',\n Ready = 'ready',\n AwaitingApp = 'awaiting_app',\n AwaitingConfirmation = 'awaiting_confirmation',\n ErrorState = 'error',\n}\n\nexport enum DeviceEvent {\n Connected = 'connected',\n Disconnected = 'disconnected',\n ConnectionFailed = 'connection_failed',\n DeviceLocked = 'device_locked',\n AppOpened = 'app_opened',\n AppNotOpen = 'app_not_open',\n AppChanged = 'app_changed',\n ConfirmationRequired = 'confirmation_required',\n ConfirmationReceived = 'confirmation_received',\n ConfirmationRejected = 'confirmation_rejected',\n OperationTimeout = 'operation_timeout',\n PermissionChanged = 'permission_changed',\n}\n\nexport type HardwareWalletConnectionState =\n | { status: ConnectionStatus.Disconnected }\n | { status: ConnectionStatus.Scanning }\n | { status: ConnectionStatus.Connecting; deviceId?: string }\n | { status: ConnectionStatus.Connected; deviceId: string }\n | { status: ConnectionStatus.Ready; deviceId?: string }\n | { status: ConnectionStatus.AwaitingApp; deviceId: string; appName?: string }\n | {\n status: ConnectionStatus.AwaitingConfirmation;\n deviceId: string;\n operationType?: string;\n }\n | { status: ConnectionStatus.ErrorState; error: HardwareWalletError };\n\nexport type DeviceEventPayload = {\n event: DeviceEvent;\n deviceId?: string;\n deviceName?: string;\n currentAppName?: string;\n previousAppName?: string;\n error?: Error;\n metadata?: Record<string, unknown>;\n};\n"]}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveUserRejectionErrorCode = exports.isUserRejectionLikeError = void 0;
4
+ const hardware_error_1 = require("./hardware-error.cjs");
5
+ const hardware_errors_enums_1 = require("./hardware-errors-enums.cjs");
6
+ const PROVIDER_USER_REJECTED_CODE = 4001;
7
+ const USER_REJECTION_PATTERN = /(?:\buser rejected\b|\baction cancelled\b|\bcancelled\b|\bcanceled\b|failure_actioncancelled)/iu;
8
+ const USER_REJECTED_PATTERN = /\buser rejected\b/iu;
9
+ const PERMISSIONS_NOT_GRANTED_PATTERN = /\bpermissions? not granted\b/iu;
10
+ const USER_REJECTION_CODES = new Set([
11
+ 'Method_PermissionsNotGranted',
12
+ 'Method_Cancel',
13
+ 'Failure_ActionCancelled',
14
+ ]);
15
+ function isUserRejectionString(value) {
16
+ return (USER_REJECTION_PATTERN.test(value) ||
17
+ PERMISSIONS_NOT_GRANTED_PATTERN.test(value) ||
18
+ USER_REJECTION_CODES.has(value));
19
+ }
20
+ function isUserRejectedString(value) {
21
+ return (USER_REJECTED_PATTERN.test(value) ||
22
+ PERMISSIONS_NOT_GRANTED_PATTERN.test(value) ||
23
+ value === 'Method_PermissionsNotGranted');
24
+ }
25
+ function isHardwareWalletConnectionClosedError(error) {
26
+ if (error instanceof hardware_error_1.HardwareWalletError) {
27
+ return error.code === hardware_errors_enums_1.ErrorCode.ConnectionClosed;
28
+ }
29
+ const errorObject = error;
30
+ return (errorObject.name === 'HardwareWalletError' &&
31
+ errorObject.code === hardware_errors_enums_1.ErrorCode.ConnectionClosed);
32
+ }
33
+ function isProviderUserRejectedCode(code) {
34
+ return code === PROVIDER_USER_REJECTED_CODE;
35
+ }
36
+ /**
37
+ * Recursively checks whether an error value represents a user rejection or
38
+ * cancellation, mirroring detection used in MetaMask core signing flows.
39
+ *
40
+ * @param error - The error value to inspect.
41
+ * @param visited - Set of already-visited objects to avoid infinite recursion.
42
+ * @returns True when the error looks like a user rejection or cancellation.
43
+ */
44
+ function isUserRejectionLikeError(error, visited = new Set()) {
45
+ if (!error || visited.has(error)) {
46
+ return false;
47
+ }
48
+ visited.add(error);
49
+ if (typeof error === 'string') {
50
+ return isUserRejectionString(error);
51
+ }
52
+ if (typeof error !== 'object') {
53
+ return false;
54
+ }
55
+ const errorObject = error;
56
+ if (isHardwareWalletConnectionClosedError(error)) {
57
+ return false;
58
+ }
59
+ if (isProviderUserRejectedCode(errorObject.code)) {
60
+ return true;
61
+ }
62
+ return (isUserRejectionLikeError(errorObject.code, visited) ||
63
+ isUserRejectionLikeError(errorObject.message, visited) ||
64
+ isUserRejectionLikeError(errorObject.stack, visited) ||
65
+ isUserRejectionLikeError(errorObject.cause, visited) ||
66
+ isUserRejectionLikeError(errorObject.originalError, visited));
67
+ }
68
+ exports.isUserRejectionLikeError = isUserRejectionLikeError;
69
+ /**
70
+ * Resolves a hardware-wallet error code for user rejection-like errors.
71
+ *
72
+ * @param error - The error value to inspect.
73
+ * @returns `UserRejected` or `UserCancelled` when detected, otherwise `undefined`.
74
+ */
75
+ function resolveUserRejectionErrorCode(error) {
76
+ if (!isUserRejectionLikeError(error)) {
77
+ return undefined;
78
+ }
79
+ if (typeof error === 'string') {
80
+ return isUserRejectedString(error)
81
+ ? hardware_errors_enums_1.ErrorCode.UserRejected
82
+ : hardware_errors_enums_1.ErrorCode.UserCancelled;
83
+ }
84
+ const errorObject = error;
85
+ if (typeof errorObject.message === 'string') {
86
+ if (isUserRejectedString(errorObject.message)) {
87
+ return hardware_errors_enums_1.ErrorCode.UserRejected;
88
+ }
89
+ if (isUserRejectionString(errorObject.message)) {
90
+ return hardware_errors_enums_1.ErrorCode.UserCancelled;
91
+ }
92
+ }
93
+ if (typeof errorObject.code === 'string') {
94
+ if (isUserRejectedString(errorObject.code)) {
95
+ return hardware_errors_enums_1.ErrorCode.UserRejected;
96
+ }
97
+ if (isUserRejectionString(errorObject.code)) {
98
+ return hardware_errors_enums_1.ErrorCode.UserCancelled;
99
+ }
100
+ }
101
+ if (errorObject.cause !== undefined) {
102
+ const causeCode = resolveUserRejectionErrorCode(errorObject.cause);
103
+ if (causeCode !== undefined) {
104
+ return causeCode;
105
+ }
106
+ }
107
+ if (errorObject.originalError !== undefined) {
108
+ const originalCode = resolveUserRejectionErrorCode(errorObject.originalError);
109
+ if (originalCode !== undefined) {
110
+ return originalCode;
111
+ }
112
+ }
113
+ return hardware_errors_enums_1.ErrorCode.UserCancelled;
114
+ }
115
+ exports.resolveUserRejectionErrorCode = resolveUserRejectionErrorCode;
116
+ //# sourceMappingURL=user-rejection.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-rejection.cjs","sourceRoot":"","sources":["../src/user-rejection.ts"],"names":[],"mappings":"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","sourcesContent":["import { HardwareWalletError } from './hardware-error';\nimport { ErrorCode } from './hardware-errors-enums';\n\nconst PROVIDER_USER_REJECTED_CODE = 4001;\n\nconst USER_REJECTION_PATTERN =\n /(?:\\buser rejected\\b|\\baction cancelled\\b|\\bcancelled\\b|\\bcanceled\\b|failure_actioncancelled)/iu;\n\nconst USER_REJECTED_PATTERN = /\\buser rejected\\b/iu;\nconst PERMISSIONS_NOT_GRANTED_PATTERN = /\\bpermissions? not granted\\b/iu;\n\nconst USER_REJECTION_CODES = new Set<string>([\n 'Method_PermissionsNotGranted',\n 'Method_Cancel',\n 'Failure_ActionCancelled',\n]);\n\nfunction isUserRejectionString(value: string): boolean {\n return (\n USER_REJECTION_PATTERN.test(value) ||\n PERMISSIONS_NOT_GRANTED_PATTERN.test(value) ||\n USER_REJECTION_CODES.has(value)\n );\n}\n\nfunction isUserRejectedString(value: string): boolean {\n return (\n USER_REJECTED_PATTERN.test(value) ||\n PERMISSIONS_NOT_GRANTED_PATTERN.test(value) ||\n value === 'Method_PermissionsNotGranted'\n );\n}\n\ntype ErrorLikeObject = {\n code?: unknown;\n message?: unknown;\n name?: unknown;\n stack?: unknown;\n cause?: unknown;\n originalError?: unknown;\n};\n\nfunction isHardwareWalletConnectionClosedError(error: object): boolean {\n if (error instanceof HardwareWalletError) {\n return error.code === ErrorCode.ConnectionClosed;\n }\n\n const errorObject = error as ErrorLikeObject;\n return (\n errorObject.name === 'HardwareWalletError' &&\n errorObject.code === ErrorCode.ConnectionClosed\n );\n}\n\nfunction isProviderUserRejectedCode(code: unknown): boolean {\n return code === PROVIDER_USER_REJECTED_CODE;\n}\n\n/**\n * Recursively checks whether an error value represents a user rejection or\n * cancellation, mirroring detection used in MetaMask core signing flows.\n *\n * @param error - The error value to inspect.\n * @param visited - Set of already-visited objects to avoid infinite recursion.\n * @returns True when the error looks like a user rejection or cancellation.\n */\nexport function isUserRejectionLikeError(\n error: unknown,\n visited = new Set<unknown>(),\n): boolean {\n if (!error || visited.has(error)) {\n return false;\n }\n visited.add(error);\n\n if (typeof error === 'string') {\n return isUserRejectionString(error);\n }\n\n if (typeof error !== 'object') {\n return false;\n }\n\n const errorObject = error as ErrorLikeObject;\n\n if (isHardwareWalletConnectionClosedError(error)) {\n return false;\n }\n\n if (isProviderUserRejectedCode(errorObject.code)) {\n return true;\n }\n\n return (\n isUserRejectionLikeError(errorObject.code, visited) ||\n isUserRejectionLikeError(errorObject.message, visited) ||\n isUserRejectionLikeError(errorObject.stack, visited) ||\n isUserRejectionLikeError(errorObject.cause, visited) ||\n isUserRejectionLikeError(errorObject.originalError, visited)\n );\n}\n\n/**\n * Resolves a hardware-wallet error code for user rejection-like errors.\n *\n * @param error - The error value to inspect.\n * @returns `UserRejected` or `UserCancelled` when detected, otherwise `undefined`.\n */\nexport function resolveUserRejectionErrorCode(\n error: unknown,\n): ErrorCode.UserCancelled | ErrorCode.UserRejected | undefined {\n if (!isUserRejectionLikeError(error)) {\n return undefined;\n }\n\n if (typeof error === 'string') {\n return isUserRejectedString(error)\n ? ErrorCode.UserRejected\n : ErrorCode.UserCancelled;\n }\n\n const errorObject = error as ErrorLikeObject;\n\n if (typeof errorObject.message === 'string') {\n if (isUserRejectedString(errorObject.message)) {\n return ErrorCode.UserRejected;\n }\n if (isUserRejectionString(errorObject.message)) {\n return ErrorCode.UserCancelled;\n }\n }\n\n if (typeof errorObject.code === 'string') {\n if (isUserRejectedString(errorObject.code)) {\n return ErrorCode.UserRejected;\n }\n if (isUserRejectionString(errorObject.code)) {\n return ErrorCode.UserCancelled;\n }\n }\n\n if (errorObject.cause !== undefined) {\n const causeCode = resolveUserRejectionErrorCode(errorObject.cause);\n if (causeCode !== undefined) {\n return causeCode;\n }\n }\n\n if (errorObject.originalError !== undefined) {\n const originalCode = resolveUserRejectionErrorCode(\n errorObject.originalError,\n );\n if (originalCode !== undefined) {\n return originalCode;\n }\n }\n\n return ErrorCode.UserCancelled;\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import { ErrorCode } from "./hardware-errors-enums.cjs";
2
+ /**
3
+ * Recursively checks whether an error value represents a user rejection or
4
+ * cancellation, mirroring detection used in MetaMask core signing flows.
5
+ *
6
+ * @param error - The error value to inspect.
7
+ * @param visited - Set of already-visited objects to avoid infinite recursion.
8
+ * @returns True when the error looks like a user rejection or cancellation.
9
+ */
10
+ export declare function isUserRejectionLikeError(error: unknown, visited?: Set<unknown>): boolean;
11
+ /**
12
+ * Resolves a hardware-wallet error code for user rejection-like errors.
13
+ *
14
+ * @param error - The error value to inspect.
15
+ * @returns `UserRejected` or `UserCancelled` when detected, otherwise `undefined`.
16
+ */
17
+ export declare function resolveUserRejectionErrorCode(error: unknown): ErrorCode.UserCancelled | ErrorCode.UserRejected | undefined;
18
+ //# sourceMappingURL=user-rejection.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-rejection.d.cts","sourceRoot":"","sources":["../src/user-rejection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,oCAAgC;AAyDpD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,OAAO,eAAqB,GAC3B,OAAO,CA+BT;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,GACb,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,YAAY,GAAG,SAAS,CAgD9D"}
@@ -0,0 +1,18 @@
1
+ import { ErrorCode } from "./hardware-errors-enums.mjs";
2
+ /**
3
+ * Recursively checks whether an error value represents a user rejection or
4
+ * cancellation, mirroring detection used in MetaMask core signing flows.
5
+ *
6
+ * @param error - The error value to inspect.
7
+ * @param visited - Set of already-visited objects to avoid infinite recursion.
8
+ * @returns True when the error looks like a user rejection or cancellation.
9
+ */
10
+ export declare function isUserRejectionLikeError(error: unknown, visited?: Set<unknown>): boolean;
11
+ /**
12
+ * Resolves a hardware-wallet error code for user rejection-like errors.
13
+ *
14
+ * @param error - The error value to inspect.
15
+ * @returns `UserRejected` or `UserCancelled` when detected, otherwise `undefined`.
16
+ */
17
+ export declare function resolveUserRejectionErrorCode(error: unknown): ErrorCode.UserCancelled | ErrorCode.UserRejected | undefined;
18
+ //# sourceMappingURL=user-rejection.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-rejection.d.mts","sourceRoot":"","sources":["../src/user-rejection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,oCAAgC;AAyDpD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,OAAO,eAAqB,GAC3B,OAAO,CA+BT;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,GACb,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,YAAY,GAAG,SAAS,CAgD9D"}
@@ -0,0 +1,111 @@
1
+ import { HardwareWalletError } from "./hardware-error.mjs";
2
+ import { ErrorCode } from "./hardware-errors-enums.mjs";
3
+ const PROVIDER_USER_REJECTED_CODE = 4001;
4
+ const USER_REJECTION_PATTERN = /(?:\buser rejected\b|\baction cancelled\b|\bcancelled\b|\bcanceled\b|failure_actioncancelled)/iu;
5
+ const USER_REJECTED_PATTERN = /\buser rejected\b/iu;
6
+ const PERMISSIONS_NOT_GRANTED_PATTERN = /\bpermissions? not granted\b/iu;
7
+ const USER_REJECTION_CODES = new Set([
8
+ 'Method_PermissionsNotGranted',
9
+ 'Method_Cancel',
10
+ 'Failure_ActionCancelled',
11
+ ]);
12
+ function isUserRejectionString(value) {
13
+ return (USER_REJECTION_PATTERN.test(value) ||
14
+ PERMISSIONS_NOT_GRANTED_PATTERN.test(value) ||
15
+ USER_REJECTION_CODES.has(value));
16
+ }
17
+ function isUserRejectedString(value) {
18
+ return (USER_REJECTED_PATTERN.test(value) ||
19
+ PERMISSIONS_NOT_GRANTED_PATTERN.test(value) ||
20
+ value === 'Method_PermissionsNotGranted');
21
+ }
22
+ function isHardwareWalletConnectionClosedError(error) {
23
+ if (error instanceof HardwareWalletError) {
24
+ return error.code === ErrorCode.ConnectionClosed;
25
+ }
26
+ const errorObject = error;
27
+ return (errorObject.name === 'HardwareWalletError' &&
28
+ errorObject.code === ErrorCode.ConnectionClosed);
29
+ }
30
+ function isProviderUserRejectedCode(code) {
31
+ return code === PROVIDER_USER_REJECTED_CODE;
32
+ }
33
+ /**
34
+ * Recursively checks whether an error value represents a user rejection or
35
+ * cancellation, mirroring detection used in MetaMask core signing flows.
36
+ *
37
+ * @param error - The error value to inspect.
38
+ * @param visited - Set of already-visited objects to avoid infinite recursion.
39
+ * @returns True when the error looks like a user rejection or cancellation.
40
+ */
41
+ export function isUserRejectionLikeError(error, visited = new Set()) {
42
+ if (!error || visited.has(error)) {
43
+ return false;
44
+ }
45
+ visited.add(error);
46
+ if (typeof error === 'string') {
47
+ return isUserRejectionString(error);
48
+ }
49
+ if (typeof error !== 'object') {
50
+ return false;
51
+ }
52
+ const errorObject = error;
53
+ if (isHardwareWalletConnectionClosedError(error)) {
54
+ return false;
55
+ }
56
+ if (isProviderUserRejectedCode(errorObject.code)) {
57
+ return true;
58
+ }
59
+ return (isUserRejectionLikeError(errorObject.code, visited) ||
60
+ isUserRejectionLikeError(errorObject.message, visited) ||
61
+ isUserRejectionLikeError(errorObject.stack, visited) ||
62
+ isUserRejectionLikeError(errorObject.cause, visited) ||
63
+ isUserRejectionLikeError(errorObject.originalError, visited));
64
+ }
65
+ /**
66
+ * Resolves a hardware-wallet error code for user rejection-like errors.
67
+ *
68
+ * @param error - The error value to inspect.
69
+ * @returns `UserRejected` or `UserCancelled` when detected, otherwise `undefined`.
70
+ */
71
+ export function resolveUserRejectionErrorCode(error) {
72
+ if (!isUserRejectionLikeError(error)) {
73
+ return undefined;
74
+ }
75
+ if (typeof error === 'string') {
76
+ return isUserRejectedString(error)
77
+ ? ErrorCode.UserRejected
78
+ : ErrorCode.UserCancelled;
79
+ }
80
+ const errorObject = error;
81
+ if (typeof errorObject.message === 'string') {
82
+ if (isUserRejectedString(errorObject.message)) {
83
+ return ErrorCode.UserRejected;
84
+ }
85
+ if (isUserRejectionString(errorObject.message)) {
86
+ return ErrorCode.UserCancelled;
87
+ }
88
+ }
89
+ if (typeof errorObject.code === 'string') {
90
+ if (isUserRejectedString(errorObject.code)) {
91
+ return ErrorCode.UserRejected;
92
+ }
93
+ if (isUserRejectionString(errorObject.code)) {
94
+ return ErrorCode.UserCancelled;
95
+ }
96
+ }
97
+ if (errorObject.cause !== undefined) {
98
+ const causeCode = resolveUserRejectionErrorCode(errorObject.cause);
99
+ if (causeCode !== undefined) {
100
+ return causeCode;
101
+ }
102
+ }
103
+ if (errorObject.originalError !== undefined) {
104
+ const originalCode = resolveUserRejectionErrorCode(errorObject.originalError);
105
+ if (originalCode !== undefined) {
106
+ return originalCode;
107
+ }
108
+ }
109
+ return ErrorCode.UserCancelled;
110
+ }
111
+ //# sourceMappingURL=user-rejection.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-rejection.mjs","sourceRoot":"","sources":["../src/user-rejection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,6BAAyB;AACvD,OAAO,EAAE,SAAS,EAAE,oCAAgC;AAEpD,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAEzC,MAAM,sBAAsB,GAC1B,iGAAiG,CAAC;AAEpG,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AACpD,MAAM,+BAA+B,GAAG,gCAAgC,CAAC;AAEzE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS;IAC3C,8BAA8B;IAC9B,eAAe;IACf,yBAAyB;CAC1B,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,CACL,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,CACL,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,KAAK,KAAK,8BAA8B,CACzC,CAAC;AACJ,CAAC;AAWD,SAAS,qCAAqC,CAAC,KAAa;IAC1D,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,gBAAgB,CAAC;IACnD,CAAC;IAED,MAAM,WAAW,GAAG,KAAwB,CAAC;IAC7C,OAAO,CACL,WAAW,CAAC,IAAI,KAAK,qBAAqB;QAC1C,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,gBAAgB,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAa;IAC/C,OAAO,IAAI,KAAK,2BAA2B,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAc,EACd,UAAU,IAAI,GAAG,EAAW;IAE5B,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,KAAwB,CAAC;IAE7C,IAAI,qCAAqC,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,0BAA0B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,wBAAwB,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;QACnD,wBAAwB,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC;QACtD,wBAAwB,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;QACpD,wBAAwB,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;QACpD,wBAAwB,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAc;IAEd,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,oBAAoB,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC,SAAS,CAAC,YAAY;YACxB,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,MAAM,WAAW,GAAG,KAAwB,CAAC;IAE7C,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,IAAI,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC,YAAY,CAAC;QAChC,CAAC;QACD,IAAI,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC,aAAa,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzC,IAAI,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,SAAS,CAAC,YAAY,CAAC;QAChC,CAAC;QACD,IAAI,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC,aAAa,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,6BAA6B,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,6BAA6B,CAChD,WAAW,CAAC,aAAa,CAC1B,CAAC;QACF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,aAAa,CAAC;AACjC,CAAC","sourcesContent":["import { HardwareWalletError } from './hardware-error';\nimport { ErrorCode } from './hardware-errors-enums';\n\nconst PROVIDER_USER_REJECTED_CODE = 4001;\n\nconst USER_REJECTION_PATTERN =\n /(?:\\buser rejected\\b|\\baction cancelled\\b|\\bcancelled\\b|\\bcanceled\\b|failure_actioncancelled)/iu;\n\nconst USER_REJECTED_PATTERN = /\\buser rejected\\b/iu;\nconst PERMISSIONS_NOT_GRANTED_PATTERN = /\\bpermissions? not granted\\b/iu;\n\nconst USER_REJECTION_CODES = new Set<string>([\n 'Method_PermissionsNotGranted',\n 'Method_Cancel',\n 'Failure_ActionCancelled',\n]);\n\nfunction isUserRejectionString(value: string): boolean {\n return (\n USER_REJECTION_PATTERN.test(value) ||\n PERMISSIONS_NOT_GRANTED_PATTERN.test(value) ||\n USER_REJECTION_CODES.has(value)\n );\n}\n\nfunction isUserRejectedString(value: string): boolean {\n return (\n USER_REJECTED_PATTERN.test(value) ||\n PERMISSIONS_NOT_GRANTED_PATTERN.test(value) ||\n value === 'Method_PermissionsNotGranted'\n );\n}\n\ntype ErrorLikeObject = {\n code?: unknown;\n message?: unknown;\n name?: unknown;\n stack?: unknown;\n cause?: unknown;\n originalError?: unknown;\n};\n\nfunction isHardwareWalletConnectionClosedError(error: object): boolean {\n if (error instanceof HardwareWalletError) {\n return error.code === ErrorCode.ConnectionClosed;\n }\n\n const errorObject = error as ErrorLikeObject;\n return (\n errorObject.name === 'HardwareWalletError' &&\n errorObject.code === ErrorCode.ConnectionClosed\n );\n}\n\nfunction isProviderUserRejectedCode(code: unknown): boolean {\n return code === PROVIDER_USER_REJECTED_CODE;\n}\n\n/**\n * Recursively checks whether an error value represents a user rejection or\n * cancellation, mirroring detection used in MetaMask core signing flows.\n *\n * @param error - The error value to inspect.\n * @param visited - Set of already-visited objects to avoid infinite recursion.\n * @returns True when the error looks like a user rejection or cancellation.\n */\nexport function isUserRejectionLikeError(\n error: unknown,\n visited = new Set<unknown>(),\n): boolean {\n if (!error || visited.has(error)) {\n return false;\n }\n visited.add(error);\n\n if (typeof error === 'string') {\n return isUserRejectionString(error);\n }\n\n if (typeof error !== 'object') {\n return false;\n }\n\n const errorObject = error as ErrorLikeObject;\n\n if (isHardwareWalletConnectionClosedError(error)) {\n return false;\n }\n\n if (isProviderUserRejectedCode(errorObject.code)) {\n return true;\n }\n\n return (\n isUserRejectionLikeError(errorObject.code, visited) ||\n isUserRejectionLikeError(errorObject.message, visited) ||\n isUserRejectionLikeError(errorObject.stack, visited) ||\n isUserRejectionLikeError(errorObject.cause, visited) ||\n isUserRejectionLikeError(errorObject.originalError, visited)\n );\n}\n\n/**\n * Resolves a hardware-wallet error code for user rejection-like errors.\n *\n * @param error - The error value to inspect.\n * @returns `UserRejected` or `UserCancelled` when detected, otherwise `undefined`.\n */\nexport function resolveUserRejectionErrorCode(\n error: unknown,\n): ErrorCode.UserCancelled | ErrorCode.UserRejected | undefined {\n if (!isUserRejectionLikeError(error)) {\n return undefined;\n }\n\n if (typeof error === 'string') {\n return isUserRejectedString(error)\n ? ErrorCode.UserRejected\n : ErrorCode.UserCancelled;\n }\n\n const errorObject = error as ErrorLikeObject;\n\n if (typeof errorObject.message === 'string') {\n if (isUserRejectedString(errorObject.message)) {\n return ErrorCode.UserRejected;\n }\n if (isUserRejectionString(errorObject.message)) {\n return ErrorCode.UserCancelled;\n }\n }\n\n if (typeof errorObject.code === 'string') {\n if (isUserRejectedString(errorObject.code)) {\n return ErrorCode.UserRejected;\n }\n if (isUserRejectionString(errorObject.code)) {\n return ErrorCode.UserCancelled;\n }\n }\n\n if (errorObject.cause !== undefined) {\n const causeCode = resolveUserRejectionErrorCode(errorObject.cause);\n if (causeCode !== undefined) {\n return causeCode;\n }\n }\n\n if (errorObject.originalError !== undefined) {\n const originalCode = resolveUserRejectionErrorCode(\n errorObject.originalError,\n );\n if (originalCode !== undefined) {\n return originalCode;\n }\n }\n\n return ErrorCode.UserCancelled;\n}\n"]}
package/package.json CHANGED
@@ -1,19 +1,26 @@
1
1
  {
2
2
  "name": "@metamask-previews/hw-wallet-sdk",
3
- "version": "0.8.0-ea8175e",
3
+ "version": "0.9.0-e51c895",
4
4
  "description": "MetaMask Hardware Device SDK",
5
5
  "keywords": [
6
- "metamask",
7
- "hardware-wallet"
6
+ "hardware-wallet",
7
+ "metamask"
8
8
  ],
9
9
  "homepage": "https://github.com/MetaMask/accounts/tree/main/packages/hw-wallet-sdk#readme",
10
10
  "bugs": {
11
11
  "url": "https://github.com/MetaMask/accounts/issues"
12
12
  },
13
+ "license": "MIT",
13
14
  "repository": {
14
15
  "type": "git",
15
16
  "url": "https://github.com/MetaMask/accounts.git"
16
17
  },
18
+ "files": [
19
+ "dist/"
20
+ ],
21
+ "sideEffects": false,
22
+ "main": "./dist/index.cjs",
23
+ "types": "./dist/index.d.cts",
17
24
  "exports": {
18
25
  ".": {
19
26
  "import": {
@@ -24,30 +31,33 @@
24
31
  "types": "./dist/index.d.cts",
25
32
  "default": "./dist/index.cjs"
26
33
  }
27
- }
34
+ },
35
+ "./package.json": "./package.json"
36
+ },
37
+ "publishConfig": {
38
+ "access": "public",
39
+ "registry": "https://registry.npmjs.org/"
28
40
  },
29
- "main": "./dist/index.cjs",
30
- "types": "./dist/index.d.cts",
31
- "files": [
32
- "dist/"
33
- ],
34
41
  "scripts": {
35
- "build": "ts-bridge --project tsconfig.build.json --no-references",
42
+ "build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references",
43
+ "build:all": "ts-bridge --project tsconfig.build.json --verbose --clean",
36
44
  "build:clean": "yarn build --clean",
37
45
  "build:docs": "typedoc",
38
46
  "changelog:update": "../../scripts/update-changelog.sh @metamask/hw-wallet-sdk",
39
47
  "changelog:validate": "../../scripts/validate-changelog.sh @metamask/hw-wallet-sdk",
40
48
  "publish:preview": "yarn npm publish --tag preview",
49
+ "since-latest-release": "../../scripts/since-latest-release.sh",
41
50
  "test": "yarn test:source && yarn test:types",
42
- "test:clean": "jest --clearCache",
43
- "test:source": "jest && jest-it-up",
51
+ "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache",
52
+ "test:source": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter",
44
53
  "test:types": "../../scripts/tsd-test.sh ./src",
45
- "test:watch": "jest --watch"
54
+ "test:verbose": "NODE_OPTIONS=--experimental-vm-modules jest --verbose",
55
+ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch"
46
56
  },
47
57
  "devDependencies": {
48
58
  "@lavamoat/allow-scripts": "^3.2.1",
49
59
  "@lavamoat/preinstall-always-fail": "^2.1.0",
50
- "@metamask/auto-changelog": "^3.4.4",
60
+ "@metamask/auto-changelog": "^6.1.0",
51
61
  "@ts-bridge/cli": "^0.6.3",
52
62
  "@types/jest": "^29.5.12",
53
63
  "@types/node": "^20.12.12",
@@ -60,24 +70,20 @@
60
70
  "ts-node": "^10.9.2",
61
71
  "tsd": "^0.31.0",
62
72
  "typedoc": "^0.25.13",
63
- "typescript": "~5.6.3"
73
+ "typescript": "~5.3.3"
74
+ },
75
+ "tsd": {
76
+ "compilerOptions": {
77
+ "composite": "false"
78
+ },
79
+ "directory": "src"
64
80
  },
65
81
  "engines": {
66
82
  "node": "^18.18 || >=20"
67
83
  },
68
- "publishConfig": {
69
- "access": "public",
70
- "registry": "https://registry.npmjs.org/"
71
- },
72
84
  "lavamoat": {
73
85
  "allowScripts": {
74
86
  "@lavamoat/preinstall-always-fail": false
75
87
  }
76
- },
77
- "tsd": {
78
- "directory": "src",
79
- "compilerOptions": {
80
- "composite": "false"
81
- }
82
88
  }
83
89
  }