@sidhujag/sysweb3-keyring 1.0.627 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +66 -0
  3. package/cjs/hardware-wallet-manager.js +302 -128
  4. package/cjs/hardware-wallet-manager.js.map +1 -1
  5. package/cjs/keyring-core.js +2605 -0
  6. package/cjs/keyring-core.js.map +1 -0
  7. package/cjs/keyring-manager.js +31 -2439
  8. package/cjs/keyring-manager.js.map +1 -1
  9. package/cjs/ledger/bitcoin_client/lib/appClient.js.map +1 -1
  10. package/cjs/ledger/host-types.js +10 -0
  11. package/cjs/ledger/host-types.js.map +1 -0
  12. package/cjs/ledger/index.js +243 -447
  13. package/cjs/ledger/index.js.map +1 -1
  14. package/cjs/ledger/prepare-psbt.js +177 -0
  15. package/cjs/ledger/prepare-psbt.js.map +1 -0
  16. package/cjs/software-hd-account.js +23 -0
  17. package/cjs/software-hd-account.js.map +1 -0
  18. package/cjs/software.js +74 -0
  19. package/cjs/software.js.map +1 -0
  20. package/cjs/storage-core.js +227 -0
  21. package/cjs/storage-core.js.map +1 -0
  22. package/cjs/storage.js +15 -210
  23. package/cjs/storage.js.map +1 -1
  24. package/cjs/transactions/ethereum.js +176 -39
  25. package/cjs/transactions/ethereum.js.map +1 -1
  26. package/cjs/transactions/evm-local-signer.js +11 -1
  27. package/cjs/transactions/evm-local-signer.js.map +1 -1
  28. package/cjs/transactions/hardware-psbt.js +159 -0
  29. package/cjs/transactions/hardware-psbt.js.map +1 -0
  30. package/cjs/transactions/prepared-evm.js +196 -0
  31. package/cjs/transactions/prepared-evm.js.map +1 -0
  32. package/cjs/transactions/syscoin-core.js +651 -0
  33. package/cjs/transactions/syscoin-core.js.map +1 -0
  34. package/cjs/transactions/syscoin.js +8 -768
  35. package/cjs/transactions/syscoin.js.map +1 -1
  36. package/cjs/trezor/connect.js +243 -0
  37. package/cjs/trezor/connect.js.map +1 -0
  38. package/cjs/trezor/index.js +96 -58
  39. package/cjs/trezor/index.js.map +1 -1
  40. package/cjs/trezor/witness.js +25 -0
  41. package/cjs/trezor/witness.js.map +1 -0
  42. package/cjs/types.js.map +1 -1
  43. package/cjs/utils/psbt-account-scope.js +5 -3
  44. package/cjs/utils/psbt-account-scope.js.map +1 -1
  45. package/esm/errorUtils.js +72 -0
  46. package/esm/errorUtils.js.map +1 -0
  47. package/esm/ethers-v6.js +207 -0
  48. package/esm/ethers-v6.js.map +1 -0
  49. package/esm/hardware-wallet-manager.js +643 -0
  50. package/esm/hardware-wallet-manager.js.map +1 -0
  51. package/esm/ledger/bitcoin_client/lib/appClient.js +279 -0
  52. package/esm/ledger/bitcoin_client/lib/appClient.js.map +1 -0
  53. package/esm/ledger/bitcoin_client/lib/bip32.js +49 -0
  54. package/esm/ledger/bitcoin_client/lib/bip32.js.map +1 -0
  55. package/esm/ledger/bitcoin_client/lib/buffertools.js +119 -0
  56. package/esm/ledger/bitcoin_client/lib/buffertools.js.map +1 -0
  57. package/esm/ledger/bitcoin_client/lib/clientCommands.js +269 -0
  58. package/esm/ledger/bitcoin_client/lib/clientCommands.js.map +1 -0
  59. package/esm/ledger/bitcoin_client/lib/merkelizedPsbt.js +50 -0
  60. package/esm/ledger/bitcoin_client/lib/merkelizedPsbt.js.map +1 -0
  61. package/esm/ledger/bitcoin_client/lib/merkle.js +111 -0
  62. package/esm/ledger/bitcoin_client/lib/merkle.js.map +1 -0
  63. package/esm/ledger/bitcoin_client/lib/merkleMap.js +42 -0
  64. package/esm/ledger/bitcoin_client/lib/merkleMap.js.map +1 -0
  65. package/esm/ledger/bitcoin_client/lib/policy.js +68 -0
  66. package/esm/ledger/bitcoin_client/lib/policy.js.map +1 -0
  67. package/esm/ledger/bitcoin_client/lib/psbtv2.js +645 -0
  68. package/esm/ledger/bitcoin_client/lib/psbtv2.js.map +1 -0
  69. package/esm/ledger/bitcoin_client/lib/varint.js +108 -0
  70. package/esm/ledger/bitcoin_client/lib/varint.js.map +1 -0
  71. package/esm/ledger/consts.js +4 -0
  72. package/esm/ledger/consts.js.map +1 -0
  73. package/esm/ledger/dmk-evm.js +258 -0
  74. package/esm/ledger/dmk-evm.js.map +1 -0
  75. package/esm/ledger/dmk-session.js +264 -0
  76. package/esm/ledger/dmk-session.js.map +1 -0
  77. package/esm/ledger/dmk-utxo.js +279 -0
  78. package/esm/ledger/dmk-utxo.js.map +1 -0
  79. package/esm/ledger/host-types.js +5 -0
  80. package/esm/ledger/host-types.js.map +1 -0
  81. package/esm/ledger/index.js +268 -0
  82. package/esm/ledger/index.js.map +1 -0
  83. package/esm/ledger/prepare-psbt.js +141 -0
  84. package/esm/ledger/prepare-psbt.js.map +1 -0
  85. package/esm/ledger/types.js +2 -0
  86. package/esm/ledger/types.js.map +1 -0
  87. package/esm/ledger-host.js +36 -0
  88. package/esm/ledger-host.js.map +1 -0
  89. package/esm/private-records.js +153 -0
  90. package/esm/private-records.js.map +1 -0
  91. package/esm/providers.js +588 -0
  92. package/esm/providers.js.map +1 -0
  93. package/esm/signers.js +28 -0
  94. package/esm/signers.js.map +1 -0
  95. package/esm/trezor/connect.js +206 -0
  96. package/esm/trezor/connect.js.map +1 -0
  97. package/esm/trezor/index.js +876 -0
  98. package/esm/trezor/index.js.map +1 -0
  99. package/esm/trezor/witness.js +21 -0
  100. package/esm/trezor/witness.js.map +1 -0
  101. package/esm/types.js +17 -0
  102. package/esm/types.js.map +1 -0
  103. package/esm/utils/derivation-paths.js +109 -0
  104. package/esm/utils/derivation-paths.js.map +1 -0
  105. package/esm/utils/psbt-account-scope.js +310 -0
  106. package/esm/utils/psbt-account-scope.js.map +1 -0
  107. package/package.json +55 -8
  108. package/types/hardware-wallet-manager.d.ts +12 -19
  109. package/types/keyring-core.d.ts +263 -0
  110. package/types/keyring-manager.d.ts +7 -224
  111. package/types/ledger/bitcoin_client/lib/appClient.d.ts +6 -3
  112. package/types/ledger/dmk-evm.d.ts +8 -0
  113. package/types/ledger/dmk-session.d.ts +60 -0
  114. package/types/ledger/dmk-utxo.d.ts +26 -0
  115. package/types/ledger/host-types.d.ts +131 -0
  116. package/types/ledger/index.d.ts +21 -58
  117. package/types/ledger/prepare-psbt.d.ts +3 -0
  118. package/types/ledger/types.d.ts +3 -0
  119. package/types/ledger-host.d.ts +7 -0
  120. package/types/software-hd-account.d.ts +16 -0
  121. package/types/software.d.ts +39 -0
  122. package/types/storage-core.d.ts +22 -0
  123. package/types/storage.d.ts +1 -4
  124. package/types/transactions/ethereum.d.ts +17 -7
  125. package/types/transactions/evm-local-signer.d.ts +3 -1
  126. package/types/transactions/hardware-psbt.d.ts +7 -0
  127. package/types/transactions/prepared-evm.d.ts +53 -0
  128. package/types/transactions/syscoin-core.d.ts +92 -0
  129. package/types/transactions/syscoin.d.ts +8 -67
  130. package/types/trezor/connect.d.ts +42 -0
  131. package/types/trezor/index.d.ts +22 -4
  132. package/types/trezor/witness.d.ts +3 -0
  133. package/types/types.d.ts +10 -0
  134. package/types/utils/psbt-account-scope.d.ts +1 -0
  135. package/cjs/transactions/__tests__/integration.test.js +0 -237
  136. package/cjs/transactions/__tests__/integration.test.js.map +0 -1
  137. package/cjs/transactions/__tests__/syscoin.test.js +0 -361
  138. package/cjs/transactions/__tests__/syscoin.test.js.map +0 -1
  139. package/types/transactions/__tests__/integration.test.d.ts +0 -1
  140. package/types/transactions/__tests__/syscoin.test.d.ts +0 -1
@@ -39,28 +39,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.TrezorKeyring = void 0;
40
40
  /* eslint-disable camelcase */
41
41
  const eth_sig_util_1 = require("@metamask/eth-sig-util");
42
- const connect_webextension_1 = __importStar(require("@trezor/connect-webextension"));
43
- const utxo_lib_1 = require("@trezor/utxo-lib");
44
42
  const bitcoin_ops_1 = __importDefault(require("bitcoin-ops"));
43
+ const bs58check_1 = __importDefault(require("bs58check"));
45
44
  const buffer_1 = require("buffer");
46
45
  const syscoinjs = __importStar(require("syscoinjs-lib"));
46
+ const connect_1 = __importStar(require("./connect"));
47
+ const witness_1 = require("./witness");
47
48
  const hardware_wallet_manager_1 = require("../hardware-wallet-manager");
48
49
  const derivation_paths_1 = require("../utils/derivation-paths");
49
50
  const bitcoinjs = syscoinjs.utils.bitcoinjs;
50
51
  const { p2wsh } = bitcoinjs.payments;
51
52
  const { decompile } = bitcoinjs.script;
52
- const { fromBase58Check, fromBech32 } = utxo_lib_1.address;
53
+ const { fromBech32 } = bitcoinjs.address;
54
+ const fromBase58Check = (value) => {
55
+ try {
56
+ return bitcoinjs.address.fromBase58Check(value);
57
+ }
58
+ catch (error) {
59
+ // The former decoder also accepted a two-byte network version. Preserve
60
+ // exactly that checksum-verified format without loading the legacy fork.
61
+ const payload = bs58check_1.default.decode(value);
62
+ if (payload.length === 22) {
63
+ return {
64
+ version: (payload[0] << 8) | payload[1],
65
+ hash: payload.subarray(2),
66
+ };
67
+ }
68
+ throw error;
69
+ }
70
+ };
53
71
  const initialHDPath = `m/44'/60'/0'/0/0`;
54
72
  const DELAY_BETWEEN_POPUPS = 2000; // Increased from 1000ms to 2000ms for more reliable operation
55
73
  const stripHexPrefix = (value) => value.startsWith('0x') || value.startsWith('0X') ? value.slice(2) : value;
56
- const serializeWitness = (witness) => {
57
- const stack = witness.map((item) => buffer_1.Buffer.from(item));
58
- const size = utxo_lib_1.bufferutils.varIntSize(stack.length) +
59
- stack.reduce((total, item) => total + utxo_lib_1.bufferutils.varIntSize(item.length) + item.length, 0);
60
- const writer = new utxo_lib_1.bufferutils.BufferWriter(buffer_1.Buffer.alloc(size));
61
- writer.writeVector(stack);
62
- return writer.buffer;
63
- };
64
74
  const finalizedFields = (input) => {
65
75
  if (!input.finalScriptSig && !input.finalScriptWitness)
66
76
  return null;
@@ -76,6 +86,19 @@ class TrezorKeyring {
76
86
  this.hdPath = initialHDPath;
77
87
  this.paths = {};
78
88
  this.initialized = false;
89
+ this.lifecycleGeneration = 0;
90
+ this.onTrezorConnected = ({ type, }) => {
91
+ if (type === hardware_wallet_manager_1.HardwareWalletType.TREZOR) {
92
+ console.log('Trezor connected');
93
+ this.initialized = true;
94
+ }
95
+ };
96
+ this.onTrezorDisconnected = ({ type, }) => {
97
+ if (type === hardware_wallet_manager_1.HardwareWalletType.TREZOR) {
98
+ console.log('Trezor disconnected');
99
+ this.initialized = false;
100
+ }
101
+ };
79
102
  this._transformTypedData = (data, version) => {
80
103
  const { types, primaryType, domain, message } = this._sanitizeData(data);
81
104
  const domainSeparatorHash = eth_sig_util_1.TypedDataUtils.hashStruct('EIP712Domain', this._sanitizeData(domain), types, version).toString('hex');
@@ -94,36 +117,42 @@ class TrezorKeyring {
94
117
  this.hdPath = '';
95
118
  this.paths = {};
96
119
  this.hardwareWalletManager = new hardware_wallet_manager_1.HardwareWalletManager();
97
- // Set up event listeners
98
- this.hardwareWalletManager.on('connected', ({ type }) => {
99
- if (type === hardware_wallet_manager_1.HardwareWalletType.TREZOR) {
100
- console.log('Trezor connected');
101
- this.initialized = true;
102
- }
103
- });
104
- this.hardwareWalletManager.on('disconnected', ({ type }) => {
105
- if (type === hardware_wallet_manager_1.HardwareWalletType.TREZOR) {
106
- console.log('Trezor disconnected');
107
- this.initialized = false;
108
- }
109
- });
110
- connect_webextension_1.default.on(connect_webextension_1.DEVICE_EVENT, (event) => {
111
- if (event.payload.features) {
112
- this.model = event.payload.features.model;
113
- }
114
- });
120
+ this.observeTrezor();
121
+ }
122
+ observeTrezor() {
123
+ // Manager destruction removes its listeners. Reusing an unlocked keyring
124
+ // must restore these same callbacks without multiplying them on each init.
125
+ if (!this.hardwareWalletManager
126
+ .listeners('connected')
127
+ .includes(this.onTrezorConnected))
128
+ this.hardwareWalletManager.on('connected', this.onTrezorConnected);
129
+ if (!this.hardwareWalletManager
130
+ .listeners('disconnected')
131
+ .includes(this.onTrezorDisconnected))
132
+ this.hardwareWalletManager.on('disconnected', this.onTrezorDisconnected);
133
+ if (!this.unsubscribeTrezor)
134
+ this.unsubscribeTrezor = (0, connect_1.subscribeTrezorEvents)((event) => {
135
+ if (event.type === 'model')
136
+ this.model = event.model;
137
+ });
115
138
  }
116
139
  /**
117
140
  * Initialize Trezor script.
118
141
  */
119
142
  async init() {
143
+ const generation = this.lifecycleGeneration;
144
+ this.observeTrezor();
120
145
  if (this.initialized) {
121
146
  return true;
122
147
  }
123
148
  // Add a small delay to ensure Chrome extension context is ready
124
149
  // This helps prevent "waiting for handshake" errors
125
150
  await new Promise((resolve) => setTimeout(resolve, 100));
151
+ if (generation !== this.lifecycleGeneration)
152
+ return false;
126
153
  const result = await this.hardwareWalletManager.initializeTrezor();
154
+ if (generation !== this.lifecycleGeneration)
155
+ return false;
127
156
  if (result) {
128
157
  this.initialized = true;
129
158
  }
@@ -150,15 +179,17 @@ class TrezorKeyring {
150
179
  // Use hardware wallet manager's retry mechanism with custom config
151
180
  return this.hardwareWalletManager
152
181
  .retryOperation(operation, operationName, trezorRetryConfig)
153
- .catch((error) => {
182
+ .catch(async (error) => {
154
183
  // Clean up Trezor state on failure
155
- if (error.message?.includes('Popup closed') ||
156
- error.message?.includes('cancelled') ||
157
- error.message?.includes('denied')) {
184
+ const message = String(error.message || '').toLowerCase();
185
+ if (message.includes('popup closed') ||
186
+ message.includes('cancelled') ||
187
+ message.includes('canceled') ||
188
+ message.includes('denied')) {
158
189
  this.initialized = false;
159
190
  // Dispose Trezor connection to clean up
160
191
  try {
161
- connect_webextension_1.default.dispose();
192
+ await connect_1.default.dispose();
162
193
  }
163
194
  catch (disposeError) {
164
195
  console.log('Failed to dispose Trezor on error:', disposeError);
@@ -185,12 +216,12 @@ class TrezorKeyring {
185
216
  // For EVM networks, getAccountInfo is not supported
186
217
  // We need to use getAddress instead
187
218
  if (slip44 === 60) {
188
- const addressResponse = await connect_webextension_1.default.ethereumGetAddress({
219
+ const addressResponse = await connect_1.default.ethereumGetAddress({
189
220
  path: this.hdPath,
190
221
  showOnTrezor: false,
191
222
  });
192
223
  if (!addressResponse.success) {
193
- throw new Error(addressResponse.payload.error || 'Failed to get EVM address');
224
+ throw (0, connect_1.trezorResponseError)(addressResponse);
194
225
  }
195
226
  // Return a compatible AccountInfo structure
196
227
  return {
@@ -204,14 +235,14 @@ class TrezorKeyring {
204
235
  };
205
236
  }
206
237
  // For UTXO networks, use the standard getAccountInfo
207
- const response = await connect_webextension_1.default.getAccountInfo({
208
- coin,
238
+ const response = await connect_1.default.getAccountInfo({
239
+ coin: coin,
209
240
  path: this.hdPath,
210
241
  });
211
242
  if (response.success) {
212
243
  return response.payload;
213
244
  }
214
- throw new Error(response.payload.error);
245
+ throw (0, connect_1.trezorResponseError)(response);
215
246
  }, 'getAccountInfo');
216
247
  }
217
248
  /**
@@ -224,13 +255,16 @@ class TrezorKeyring {
224
255
  return this.model;
225
256
  }
226
257
  /**
227
- * This removes the Trezor Connect iframe from the DOM
258
+ * This disposes the active Trezor Suite connection
228
259
  *
229
260
  * @returns void
230
261
  */
231
262
  dispose() {
263
+ this.lifecycleGeneration++;
232
264
  try {
233
- connect_webextension_1.default.dispose();
265
+ void connect_1.default.dispose().catch((error) => {
266
+ console.log('Error disposing Trezor:', error);
267
+ });
234
268
  this.initialized = false;
235
269
  // Clear any cached data
236
270
  this.publicKey = buffer_1.Buffer.from('', 'hex');
@@ -262,7 +296,7 @@ class TrezorKeyring {
262
296
  method = 'verifyMessage';
263
297
  }
264
298
  // @ts-ignore
265
- const { success, payload } = await connect_webextension_1.default[method]({
299
+ const { success, payload } = await connect_1.default[method]({
266
300
  coin,
267
301
  address,
268
302
  message,
@@ -271,7 +305,7 @@ class TrezorKeyring {
271
305
  if (success) {
272
306
  return { success, payload };
273
307
  }
274
- throw new Error(payload.error);
308
+ throw (0, connect_1.trezorResponseError)({ payload });
275
309
  }, 'verifyMessage');
276
310
  }
277
311
  /**
@@ -290,7 +324,7 @@ class TrezorKeyring {
290
324
  try {
291
325
  // For EVM networks, use ethereumGetPublicKey
292
326
  if (slip44 === 60) {
293
- const { success, payload } = await connect_webextension_1.default.ethereumGetPublicKey({
327
+ const { success, payload } = await connect_1.default.ethereumGetPublicKey({
294
328
  path: this.hdPath,
295
329
  showOnTrezor: false,
296
330
  });
@@ -306,7 +340,7 @@ class TrezorKeyring {
306
340
  return { success: false, payload };
307
341
  }
308
342
  // For UTXO networks, use standard getPublicKey
309
- const { success, payload } = await connect_webextension_1.default.getPublicKey({
343
+ const { success, payload } = await connect_1.default.getPublicKey({
310
344
  coin: coin,
311
345
  path: this.hdPath,
312
346
  });
@@ -355,9 +389,9 @@ class TrezorKeyring {
355
389
  const approvedTransaction = unsignedSnapshot(psbt);
356
390
  const approvedFinalInputs = psbt.data.inputs.map(finalizedFields);
357
391
  const payload = await this.executeWithRetry(async () => {
358
- const response = await connect_webextension_1.default.signTransaction(utxoTransaction);
392
+ const response = await connect_1.default.signTransaction(utxoTransaction);
359
393
  if (!response.success) {
360
- throw new Error('Trezor sign failed: ' + response.payload.error);
394
+ throw (0, connect_1.trezorResponseError)(response, 'Trezor sign failed: ');
361
395
  }
362
396
  return response.payload;
363
397
  }, 'signUtxoTransaction');
@@ -377,7 +411,7 @@ class TrezorKeyring {
377
411
  current.witness !== approved.witness ||
378
412
  buffer_1.Buffer.from(tx.ins[index].script).toString('hex') !==
379
413
  approved.scriptSig ||
380
- serializeWitness(tx.ins[index].witness || []).toString('hex') !==
414
+ (0, witness_1.serializeWitness)(tx.ins[index].witness || []).toString('hex') !==
381
415
  approved.witness);
382
416
  })) {
383
417
  throw new Error('Trezor changed an already-finalized input');
@@ -671,14 +705,14 @@ class TrezorKeyring {
671
705
  await new Promise((resolve) => setTimeout(resolve, DELAY_BETWEEN_POPUPS));
672
706
  // Use dynamic path generation based on actual network parameters
673
707
  this.setHdPath(coin, Number(index) || 0, slip44);
674
- const response = await connect_webextension_1.default.ethereumSignTransaction({
708
+ const response = await connect_1.default.ethereumSignTransaction({
675
709
  path: this.hdPath,
676
710
  transaction: tx,
677
711
  });
678
712
  if (response.success) {
679
713
  return response;
680
714
  }
681
- throw new Error(response.payload.error);
715
+ throw (0, connect_1.trezorResponseError)(response);
682
716
  }, 'signEthTransaction');
683
717
  }
684
718
  /**
@@ -702,12 +736,14 @@ class TrezorKeyring {
702
736
  }
703
737
  async _signUtxoPersonalMessage({ coin, index, slip44, message, }) {
704
738
  try {
739
+ if (typeof message !== 'string')
740
+ throw new Error('Message must be a string');
705
741
  // Use dynamic path generation instead of hardcoded switch
706
742
  this.setHdPath(coin, index || 0, slip44);
707
- const { success, payload } = await connect_webextension_1.default.signMessage({
743
+ const { success, payload } = await connect_1.default.signMessage({
708
744
  path: this.hdPath,
709
745
  coin: coin,
710
- message: message,
746
+ message,
711
747
  });
712
748
  if (success) {
713
749
  return { success, payload };
@@ -724,7 +760,7 @@ class TrezorKeyring {
724
760
  setTimeout(async () => {
725
761
  try {
726
762
  this.setHdPath('eth', index, 60);
727
- connect_webextension_1.default.ethereumSignMessage({
763
+ connect_1.default.ethereumSignMessage({
728
764
  path: this.hdPath,
729
765
  message: stripHexPrefix(message),
730
766
  hex: true,
@@ -742,11 +778,11 @@ class TrezorKeyring {
742
778
  else {
743
779
  reject(
744
780
  // @ts-ignore
745
- new Error(response.payload.error || 'Unknown error'));
781
+ (0, connect_1.trezorResponseError)(response));
746
782
  }
747
783
  })
748
784
  .catch((e) => {
749
- reject(new Error(e.toString() || 'Unknown error'));
785
+ reject(e instanceof Error ? e : new Error(String(e)));
750
786
  });
751
787
  }
752
788
  catch (error) {
@@ -797,7 +833,7 @@ class TrezorKeyring {
797
833
  } = dataWithHashes;
798
834
  // This is necessary to avoid popup collision
799
835
  // between the unlock & sign trezor popups
800
- const response = await connect_webextension_1.default.ethereumSignTypedData({
836
+ const response = await connect_1.default.ethereumSignTypedData({
801
837
  path: this.hdPath,
802
838
  data: {
803
839
  types: {
@@ -820,7 +856,7 @@ class TrezorKeyring {
820
856
  return response.payload.signature;
821
857
  }
822
858
  // @ts-ignore
823
- throw new Error(response.payload.error || 'Unknown error');
859
+ throw (0, connect_1.trezorResponseError)(response);
824
860
  }, 'signTypedData');
825
861
  }
826
862
  /**
@@ -835,7 +871,7 @@ class TrezorKeyring {
835
871
  const fullPath = (0, derivation_paths_1.getAddressDerivationPath)(currency, slip44, accountIndex, false, // Not a change address
836
872
  0);
837
873
  try {
838
- const { payload, success } = await connect_webextension_1.default.getAddress({
874
+ const { payload, success } = await connect_1.default.getAddress({
839
875
  path: fullPath,
840
876
  coin: currency,
841
877
  showOnTrezor: true, // This displays the address on device for verification
@@ -862,6 +898,8 @@ class TrezorKeyring {
862
898
  * Clean up resources
863
899
  */
864
900
  async destroy() {
901
+ this.unsubscribeTrezor?.();
902
+ this.unsubscribeTrezor = undefined;
865
903
  try {
866
904
  // First dispose Trezor Connect
867
905
  this.dispose();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/trezor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/trezor/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeWitness = void 0;
4
+ const buffer_1 = require("buffer");
5
+ const varuint_bitcoin_1 = require("varuint-bitcoin");
6
+ /** Canonical Bitcoin witness-vector encoding (CompactSize count and lengths). */
7
+ const serializeWitness = (witness) => {
8
+ const stack = witness.map((item) => buffer_1.Buffer.from(item));
9
+ const size = (0, varuint_bitcoin_1.encodingLength)(stack.length) +
10
+ stack.reduce((total, item) => total + (0, varuint_bitcoin_1.encodingLength)(item.length) + item.length, 0);
11
+ const result = buffer_1.Buffer.alloc(size);
12
+ let offset = 0;
13
+ const writeLength = (value) => {
14
+ offset += (0, varuint_bitcoin_1.encode)(value, result, offset).bytes;
15
+ };
16
+ writeLength(stack.length);
17
+ for (const item of stack) {
18
+ writeLength(item.length);
19
+ result.set(item, offset);
20
+ offset += item.length;
21
+ }
22
+ return result;
23
+ };
24
+ exports.serializeWitness = serializeWitness;
25
+ //# sourceMappingURL=witness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"witness.js","sourceRoot":"","sources":["../../../src/trezor/witness.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,qDAAyD;AAEzD,iFAAiF;AAC1E,MAAM,gBAAgB,GAAG,CAAC,OAA8B,EAAU,EAAE;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,MAAM,IAAI,GACR,IAAA,gCAAc,EAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,KAAK,CAAC,MAAM,CACV,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAA,gCAAc,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAClE,CAAC,CACF,CAAC;IACJ,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE;QACpC,MAAM,IAAI,IAAA,wBAAM,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC;IAChD,CAAC,CAAC;IACF,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzB,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AApBW,QAAA,gBAAgB,oBAoB3B"}
package/cjs/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAKA,+DAAmE;AAiVnE,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,mDAA6B,CAAA;IAC7B,uCAAiB,CAAA;AACnB,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,sDAA+B,CAAA;IAC/B,kDAA2B,CAAA;IAC3B,wCAAiB,CAAA;IACjB,kDAA2B,CAAA;AAC7B,CAAC,EALW,mBAAmB,mCAAnB,mBAAmB,QAK9B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAKA,+DAAmE;AAwVnE,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,mDAA6B,CAAA;IAC7B,uCAAiB,CAAA;AACnB,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,sDAA+B,CAAA;IAC/B,kDAA2B,CAAA;IAC3B,wCAAiB,CAAA;IACjB,kDAA2B,CAAA;AAC7B,CAAC,EALW,mBAAmB,mCAAnB,mBAAmB,QAK9B"}
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.parsePsbtAccountXpub = void 0;
36
37
  exports.createPsbtDerivationGuard = createPsbtDerivationGuard;
37
38
  exports.assertPsbtAccountScope = assertPsbtAccountScope;
38
39
  const ecc = __importStar(require("@bitcoinerlab/secp256k1"));
@@ -60,7 +61,7 @@ const childIndex = (value) => {
60
61
  return fail();
61
62
  return index;
62
63
  };
63
- const publicAccountNode = (xpub) => {
64
+ const parsePsbtAccountXpub = (xpub) => {
64
65
  // Account keys use coin-specific xpub/zpub/vpub version bytes. Preserve the
65
66
  // checked public payload instead of guessing its network from that prefix.
66
67
  const codec = require('bs58check');
@@ -72,9 +73,10 @@ const publicAccountNode = (xpub) => {
72
73
  bip32: { public: payload.readUInt32BE(0), private: 0x0488ade4 },
73
74
  });
74
75
  };
76
+ exports.parsePsbtAccountXpub = parsePsbtAccountXpub;
75
77
  function createPsbtDerivationGuard(scope) {
76
78
  const { account, accountId, accountType, network } = scope;
77
- const node = publicAccountNode(account.xpub);
79
+ const node = (0, exports.parsePsbtAccountXpub)(account.xpub);
78
80
  const prefix = accountType === types_1.KeyringAccountType.HDAccount
79
81
  ? `m/84'/${network.slip44}'/${accountId}'`
80
82
  : (0, derivation_paths_1.getAccountDerivationPath)(network.currency, network.slip44, accountType === types_1.KeyringAccountType.Imported && node.depth === 3
@@ -105,7 +107,7 @@ function assertPsbtAccountScope(psbt, scope) {
105
107
  const bitcoinNetwork = network.slip44 === 1 ? config.networks.testnet : config.networks.mainnet;
106
108
  const singleAddress = accountType === types_1.KeyringAccountType.Imported &&
107
109
  account.xpub === account.address;
108
- const node = singleAddress ? undefined : publicAccountNode(account.xpub);
110
+ const node = singleAddress ? undefined : (0, exports.parsePsbtAccountXpub)(account.xpub);
109
111
  const guardPath = singleAddress
110
112
  ? undefined
111
113
  : createPsbtDerivationGuard(scope);
@@ -1 +1 @@
1
- {"version":3,"file":"psbt-account-scope.js","sourceRoot":"","sources":["../../../src/utils/psbt-account-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"psbt-account-scope.js","sourceRoot":"","sources":["../../../src/utils/psbt-account-scope.ts"],"names":[],"mappings":"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"}