@injectivelabs/wallet-trezor 1.15.0 → 1.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/cjs/index.d.ts +3 -0
  2. package/dist/cjs/index.js +22 -0
  3. package/dist/cjs/package.json +3 -0
  4. package/dist/cjs/strategy/Base.d.ts +42 -0
  5. package/dist/cjs/strategy/Base.js +280 -0
  6. package/dist/cjs/strategy/TrezorBip32.d.ts +5 -0
  7. package/dist/cjs/strategy/TrezorBip32.js +17 -0
  8. package/dist/cjs/strategy/TrezorBip44.d.ts +5 -0
  9. package/dist/cjs/strategy/TrezorBip44.js +17 -0
  10. package/dist/cjs/strategy/hw/AccountManager.d.ts +19 -0
  11. package/dist/cjs/strategy/hw/AccountManager.js +106 -0
  12. package/dist/cjs/strategy/hw/index.d.ts +4 -0
  13. package/dist/cjs/strategy/hw/index.js +12 -0
  14. package/dist/cjs/strategy/hw/transport/base.d.ts +6 -0
  15. package/dist/cjs/strategy/hw/transport/base.js +19 -0
  16. package/dist/cjs/strategy/hw/transport/transport-init.d.ts +4 -0
  17. package/dist/cjs/strategy/hw/transport/transport-init.js +27 -0
  18. package/dist/cjs/strategy/hw/transport/transport-no-init.d.ts +4 -0
  19. package/dist/cjs/strategy/hw/transport/transport-no-init.js +12 -0
  20. package/dist/cjs/types.d.ts +11 -0
  21. package/dist/cjs/types.js +9 -0
  22. package/dist/cjs/utils.d.ts +16 -0
  23. package/dist/cjs/utils.js +34 -0
  24. package/dist/esm/index.d.ts +3 -0
  25. package/dist/esm/index.js +3 -0
  26. package/dist/esm/package.json +3 -0
  27. package/dist/esm/strategy/Base.d.ts +42 -0
  28. package/dist/esm/strategy/Base.js +277 -0
  29. package/dist/esm/strategy/TrezorBip32.d.ts +5 -0
  30. package/dist/esm/strategy/TrezorBip32.js +10 -0
  31. package/dist/esm/strategy/TrezorBip44.d.ts +5 -0
  32. package/dist/esm/strategy/TrezorBip44.js +10 -0
  33. package/dist/esm/strategy/hw/AccountManager.d.ts +19 -0
  34. package/dist/esm/strategy/hw/AccountManager.js +100 -0
  35. package/dist/esm/strategy/hw/index.d.ts +4 -0
  36. package/dist/esm/strategy/hw/index.js +4 -0
  37. package/dist/esm/strategy/hw/transport/base.d.ts +6 -0
  38. package/dist/esm/strategy/hw/transport/base.js +13 -0
  39. package/dist/esm/strategy/hw/transport/transport-init.d.ts +4 -0
  40. package/dist/esm/strategy/hw/transport/transport-init.js +21 -0
  41. package/dist/esm/strategy/hw/transport/transport-no-init.d.ts +4 -0
  42. package/dist/esm/strategy/hw/transport/transport-no-init.js +6 -0
  43. package/dist/esm/types.d.ts +11 -0
  44. package/dist/esm/types.js +6 -0
  45. package/dist/esm/utils.d.ts +16 -0
  46. package/dist/esm/utils.js +30 -0
  47. package/package.json +6 -6
@@ -0,0 +1,30 @@
1
+ import { TrezorException } from '@injectivelabs/exceptions';
2
+ import { sanitizeTypedData, TypedDataUtilsHashStruct, SignTypedDataVersionV4, TypedDataUtilsSanitizeData, } from '@injectivelabs/sdk-ts';
3
+ /**
4
+ * Calculates the domain_separator_hash and message_hash from an EIP-712 Typed Data object.
5
+ *
6
+ * The Trezor Model 1 does not currently support constructing the hash on the device,
7
+ * so this function pre-computes them.
8
+ *
9
+ * @template {TypedMessage} T
10
+ * @param {T} data - The EIP-712 Typed Data object.
11
+ * @param {boolean} metamask_v4_compat - Set to `true` for compatibility with Metamask's signTypedData_v4 function.
12
+ * @returns {{domain_separator_hash: string, message_hash?: string} & T} The hashes.
13
+ */
14
+ export const transformTypedData = (data, metamask_v4_compat = true) => {
15
+ if (!metamask_v4_compat) {
16
+ throw new TrezorException(new Error('Trezor: Only version 4 of typed data signing is supported'));
17
+ }
18
+ const version = SignTypedDataVersionV4;
19
+ const { types, primaryType, domain, message } = TypedDataUtilsSanitizeData(data);
20
+ const domainSeparatorHash = TypedDataUtilsHashStruct('EIP712Domain', sanitizeTypedData(domain), types, version).toString('hex');
21
+ let messageHash = null;
22
+ if (primaryType !== 'EIP712Domain') {
23
+ messageHash = TypedDataUtilsHashStruct(primaryType, sanitizeTypedData(message), types, version).toString('hex');
24
+ }
25
+ return {
26
+ domain_separator_hash: domainSeparatorHash,
27
+ message_hash: messageHash,
28
+ ...data,
29
+ };
30
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@injectivelabs/wallet-trezor",
3
3
  "description": "Trezor wallet strategy for use with @injectivelabs/wallet-core.",
4
- "version": "1.15.0",
4
+ "version": "1.15.2",
5
5
  "sideEffects": false,
6
6
  "type": "module",
7
7
  "author": {
@@ -59,10 +59,10 @@
59
59
  "@bangjelkoski/trezor-connect-web": "^9.4.7-beta.1",
60
60
  "@ethereumjs/common": "3.1.1",
61
61
  "@ethereumjs/tx": "^4.1.1",
62
- "@injectivelabs/exceptions": "^1.15.0",
63
- "@injectivelabs/sdk-ts": "^1.15.0",
64
- "@injectivelabs/ts-types": "^1.15.0",
65
- "@injectivelabs/wallet-base": "^1.15.0",
62
+ "@injectivelabs/exceptions": "^1.15.1",
63
+ "@injectivelabs/sdk-ts": "^1.15.2",
64
+ "@injectivelabs/ts-types": "^1.15.2",
65
+ "@injectivelabs/wallet-base": "^1.15.2",
66
66
  "alchemy-sdk": "^3.4.7",
67
67
  "hdkey": "^2.1.0"
68
68
  },
@@ -72,5 +72,5 @@
72
72
  "resolutions": {
73
73
  "@ethereumjs/common": "3.1.1"
74
74
  },
75
- "gitHead": "acae5b41a4c8a0ac4f137cce434b9db81800a1c5"
75
+ "gitHead": "64a57f3115b63114124d0d1fb61f75e520905499"
76
76
  }