@sidhujag/sysweb3-keyring 2.1.9 → 2.1.11

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 (45) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +8 -5
  3. package/cjs/hardware-signing-data.js +85 -0
  4. package/cjs/hardware-signing-data.js.map +1 -0
  5. package/cjs/hardware-wallet-manager.js +36 -13
  6. package/cjs/hardware-wallet-manager.js.map +1 -1
  7. package/cjs/ledger/index.js +41 -51
  8. package/cjs/ledger/index.js.map +1 -1
  9. package/cjs/transactions/ethereum.js +92 -70
  10. package/cjs/transactions/ethereum.js.map +1 -1
  11. package/cjs/transactions/prepared-evm.js.map +1 -1
  12. package/cjs/trezor/connect.js +155 -50
  13. package/cjs/trezor/connect.js.map +1 -1
  14. package/cjs/trezor/index.js +159 -138
  15. package/cjs/trezor/index.js.map +1 -1
  16. package/cjs/types.js.map +1 -1
  17. package/esm/hardware-signing-data.js +82 -0
  18. package/esm/hardware-signing-data.js.map +1 -0
  19. package/esm/hardware-wallet-manager.js +36 -13
  20. package/esm/hardware-wallet-manager.js.map +1 -1
  21. package/esm/ledger/dmk-evm.js +13 -48
  22. package/esm/ledger/dmk-evm.js.map +1 -1
  23. package/esm/ledger/dmk-utxo.js +9 -6
  24. package/esm/ledger/dmk-utxo.js.map +1 -1
  25. package/esm/ledger/index.js +41 -51
  26. package/esm/ledger/index.js.map +1 -1
  27. package/esm/transactions/ethereum.js +92 -70
  28. package/esm/transactions/ethereum.js.map +1 -1
  29. package/esm/transactions/prepared-evm.js.map +1 -1
  30. package/esm/trezor/connect.js +155 -50
  31. package/esm/trezor/connect.js.map +1 -1
  32. package/esm/trezor/index.js +160 -139
  33. package/esm/trezor/index.js.map +1 -1
  34. package/esm/types.js.map +1 -1
  35. package/package.json +1 -1
  36. package/types/hardware-signing-data.d.ts +2 -0
  37. package/types/hardware-wallet-manager.d.ts +3 -1
  38. package/types/ledger/host-types.d.ts +3 -3
  39. package/types/ledger/index.d.ts +2 -1
  40. package/types/ledger/types.d.ts +4 -4
  41. package/types/transactions/ethereum.d.ts +4 -2
  42. package/types/transactions/prepared-evm.d.ts +1 -0
  43. package/types/trezor/connect.d.ts +10 -1
  44. package/types/trezor/index.d.ts +21 -11
  45. package/types/types.d.ts +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.1.10
4
+
5
+ - Require current host authority and cancellation signals for personal, typed-data and raw-digest message signing. Hardware raw digests reject before device work; owned typed data is the supported hardware primitive.
6
+ - Retain Trezor invocation ownership through initialization, retries and raw-call drain; release cancelled initialization state and preserve typed disconnect failures.
7
+ - Share bounded immutable signing-data capture across software, Ledger and Trezor, including the Ledger host adapter.
8
+
3
9
  ## 2.1.9
4
10
 
5
11
  - Share canonical Trezor EVM signing across all six existing transaction paths and explicitly hosted native consumers. Preserve reviewed nonces, fees, access lists and account identity, with current-session checks before and after device signing.
package/README.md CHANGED
@@ -139,11 +139,14 @@ const submitted = await keyringManager.ethereumTransaction.sendFormattedTransact
139
139
  { mode: 'reviewed-native', assertCurrent: assertReviewCurrent }
140
140
  );
141
141
 
142
- // Sign message
143
- const signature = await keyringManager.ethereumTransaction.signPersonalMessage([
144
- '0x48656c6c6f', // "Hello" in hex
145
- accountAddress,
146
- ]);
142
+ // The host owns the reviewed account/network/session and revokes its authority
143
+ // when that context changes or the approval is cancelled.
144
+ async function signReviewedMessage(reviewedMessage, accountAddress, authority) {
145
+ return keyringManager.ethereumTransaction.signPersonalMessage(
146
+ [reviewedMessage, accountAddress],
147
+ authority // Required { assertCurrent, signal } from the active host approval.
148
+ );
149
+ }
147
150
  ```
148
151
 
149
152
  ### Hardware Wallet Support
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.captureHardwareSigningData = captureHardwareSigningData;
4
+ const MAX_SIGNING_NODES = 16384;
5
+ const MAX_SIGNING_BYTES = 1024 * 1024;
6
+ const MAX_INTEGER_MAGNITUDE = 1n << 256n;
7
+ /** Own a bounded signing payload before initialization or platform code can await. */
8
+ function captureHardwareSigningData(value, invalid) {
9
+ const seen = new WeakSet();
10
+ let nodes = 0;
11
+ let bytes = 0;
12
+ const charge = (size) => {
13
+ bytes += size;
14
+ if (bytes > MAX_SIGNING_BYTES)
15
+ throw invalid();
16
+ };
17
+ const text = (input) => {
18
+ // Refuse oversized input before computing its encoded size or copying it.
19
+ if (input.length > MAX_SIGNING_BYTES - bytes)
20
+ throw invalid();
21
+ charge(Buffer.byteLength(input, 'utf8'));
22
+ return input;
23
+ };
24
+ const capture = (input, depth) => {
25
+ if (depth > 64 || ++nodes > MAX_SIGNING_NODES)
26
+ throw invalid();
27
+ charge(8);
28
+ if (input === null || typeof input === 'boolean')
29
+ return input;
30
+ if (typeof input === 'string')
31
+ return text(input);
32
+ if (typeof input === 'bigint') {
33
+ // EIP-712 numeric types are at most 256 bits; bound conversion allocation.
34
+ if (input <= -MAX_INTEGER_MAGNITUDE || input >= MAX_INTEGER_MAGNITUDE)
35
+ throw invalid();
36
+ return text(input.toString());
37
+ }
38
+ if (typeof input === 'number') {
39
+ if (!Number.isFinite(input))
40
+ throw invalid();
41
+ return input;
42
+ }
43
+ if (input instanceof Uint8Array) {
44
+ charge(2 + input.byteLength * 2);
45
+ return `0x${Buffer.from(input).toString('hex')}`;
46
+ }
47
+ if (!input || typeof input !== 'object' || seen.has(input))
48
+ throw invalid();
49
+ const array = Array.isArray(input);
50
+ const prototype = Object.getPrototypeOf(input);
51
+ if (!array && prototype !== Object.prototype && prototype !== null)
52
+ throw invalid();
53
+ if (array && input.length > MAX_SIGNING_NODES)
54
+ throw invalid();
55
+ seen.add(input);
56
+ try {
57
+ const result = array ? [] : Object.create(null);
58
+ let count = 0;
59
+ // Avoid allocating an unbounded key array before applying the work budget.
60
+ for (const key in input) {
61
+ if (!Object.prototype.hasOwnProperty.call(input, key))
62
+ continue;
63
+ if (++nodes > MAX_SIGNING_NODES)
64
+ throw invalid();
65
+ text(key);
66
+ if (array && key !== String(count++))
67
+ throw invalid();
68
+ const descriptor = Object.getOwnPropertyDescriptor(input, key);
69
+ if (!('value' in descriptor) ||
70
+ (array && descriptor.value === undefined))
71
+ throw invalid();
72
+ if (descriptor.value !== undefined)
73
+ result[key] = capture(descriptor.value, depth + 1);
74
+ }
75
+ if (array && count !== input.length)
76
+ throw invalid();
77
+ return Object.freeze(result);
78
+ }
79
+ finally {
80
+ seen.delete(input);
81
+ }
82
+ };
83
+ return capture(value, 0);
84
+ }
85
+ //# sourceMappingURL=hardware-signing-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hardware-signing-data.js","sourceRoot":"","sources":["../../src/hardware-signing-data.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HardwareWalletManager = void 0;
4
4
  const events_1 = require("events");
5
+ const hardware_transaction_authority_1 = require("./hardware-transaction-authority");
5
6
  const hardware_wallet_types_1 = require("./hardware-wallet-types");
6
7
  const host_types_1 = require("./ledger/host-types");
7
8
  /**
@@ -125,6 +126,15 @@ class HardwareWalletManager extends events_1.EventEmitter {
125
126
  * Initialize Trezor with retry logic
126
127
  */
127
128
  async initializeTrezor() {
129
+ return this.initializeTrezorInternal();
130
+ }
131
+ async initializeTrezorOwned(session, assertCurrent) {
132
+ (0, hardware_transaction_authority_1.assertHardwareOperationCurrent)(assertCurrent);
133
+ return this.initializeTrezorInternal(Object.freeze({ session, assertCurrent }));
134
+ }
135
+ async initializeTrezorInternal(owned) {
136
+ if (owned)
137
+ (0, hardware_transaction_authority_1.assertHardwareOperationCurrent)(owned.assertCurrent);
128
138
  this.requireTrezor();
129
139
  if (this.destruction) {
130
140
  throw Object.assign(new Error('Trezor connection is closing'), {
@@ -146,6 +156,8 @@ class HardwareWalletManager extends events_1.EventEmitter {
146
156
  console.log('[HardwareWalletManager] Trezor connection already in progress');
147
157
  // Wait a bit and check again
148
158
  await this.delay(1000);
159
+ if (owned)
160
+ (0, hardware_transaction_authority_1.assertHardwareOperationCurrent)(owned.assertCurrent);
149
161
  if (generation !== this.lifecycleGeneration || this.destruction)
150
162
  return false;
151
163
  const updated = this.connectionPool.get(key);
@@ -154,27 +166,38 @@ class HardwareWalletManager extends events_1.EventEmitter {
154
166
  const owner = {};
155
167
  this.trezorInitialization = owner;
156
168
  try {
157
- return await this.initializeTrezorWithRetry(key, owner, generation);
169
+ return await this.initializeTrezorWithRetry(key, owner, generation, owned);
158
170
  }
159
171
  finally {
160
- if (this.trezorInitialization === owner)
172
+ if (this.trezorInitialization === owner) {
173
+ // A revoked authority may throw before the retry path can mark failure.
174
+ // Retire only this attempt; a late completion must not remove a successor.
175
+ if (generation === this.lifecycleGeneration &&
176
+ this.connectionPool.get(key)?.status === hardware_wallet_types_1.ConnectionStatus.CONNECTING)
177
+ this.connectionPool.delete(key);
161
178
  this.trezorInitialization = undefined;
179
+ }
162
180
  }
163
181
  }
164
182
  /**
165
183
  * Initialize Trezor with exponential backoff retry
166
184
  */
167
- async initializeTrezorWithRetry(key, owner, generation) {
185
+ async initializeTrezorWithRetry(key, owner, generation, owned) {
168
186
  const entry = {
169
187
  status: hardware_wallet_types_1.ConnectionStatus.CONNECTING,
170
188
  lastActivity: Date.now(),
171
189
  retryCount: 0,
172
190
  };
173
191
  this.connectionPool.set(key, entry);
174
- const isCurrent = () => generation === this.lifecycleGeneration &&
175
- this.trezorInitialization === owner &&
176
- this.connectionPool.get(key) === entry &&
177
- !this.destruction;
192
+ const isCurrent = () => {
193
+ if (owned)
194
+ (0, hardware_transaction_authority_1.assertHardwareOperationCurrent)(owned.assertCurrent);
195
+ return (generation === this.lifecycleGeneration &&
196
+ this.trezorInitialization === owner &&
197
+ this.connectionPool.get(key) === entry &&
198
+ !this.destruction);
199
+ };
200
+ const connection = owned?.session ?? this.requireTrezor();
178
201
  let lastError;
179
202
  // Reduce retry attempts for Trezor to prevent repeated popups
180
203
  const trezorRetryConfig = {
@@ -194,14 +217,14 @@ class HardwareWalletManager extends events_1.EventEmitter {
194
217
  return false;
195
218
  // Dispose the previous Suite connection before initialization
196
219
  try {
197
- await this.requireTrezor().dispose();
220
+ await connection.dispose();
198
221
  }
199
222
  catch (disposeError) {
200
223
  console.log('[HardwareWalletManager] Dispose error (safe to ignore):', disposeError);
201
224
  }
202
225
  if (!isCurrent())
203
226
  return false;
204
- await this.requireTrezor().init();
227
+ await connection.init();
205
228
  if (!isCurrent())
206
229
  return false;
207
230
  entry.status = hardware_wallet_types_1.ConnectionStatus.CONNECTED;
@@ -232,7 +255,7 @@ class HardwareWalletManager extends events_1.EventEmitter {
232
255
  // Instead of just marking as connected, verify the connection
233
256
  try {
234
257
  // Test the connection with a simple call
235
- const testResponse = await this.requireTrezor().getFeatures();
258
+ const testResponse = await connection.getFeatures();
236
259
  if (!isCurrent())
237
260
  return false;
238
261
  if (testResponse.success) {
@@ -250,7 +273,7 @@ class HardwareWalletManager extends events_1.EventEmitter {
250
273
  return false;
251
274
  // If test failed, dispose and retry
252
275
  try {
253
- await this.requireTrezor().dispose();
276
+ await connection.dispose();
254
277
  if (!isCurrent())
255
278
  return false;
256
279
  await this.delay(500);
@@ -269,7 +292,7 @@ class HardwareWalletManager extends events_1.EventEmitter {
269
292
  console.log('[HardwareWalletManager] Trezor device is in use by another application');
270
293
  // Try to dispose and reinitialize
271
294
  try {
272
- await this.requireTrezor().dispose();
295
+ await connection.dispose();
273
296
  if (!isCurrent())
274
297
  return false;
275
298
  await this.delay(2000); // Wait 2 seconds before retry
@@ -310,7 +333,7 @@ class HardwareWalletManager extends events_1.EventEmitter {
310
333
  return false;
311
334
  // Clean up on failure
312
335
  try {
313
- await this.requireTrezor().dispose();
336
+ await connection.dispose();
314
337
  }
315
338
  catch (disposeError) {
316
339
  console.log('[HardwareWalletManager] Failed to dispose on error:', disposeError);
@@ -1 +1 @@
1
- {"version":3,"file":"hardware-wallet-manager.js","sourceRoot":"","sources":["../../src/hardware-wallet-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hardware-wallet-manager.js","sourceRoot":"","sources":["../../src/hardware-wallet-manager.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LedgerKeyring = void 0;
4
4
  const eth_sig_util_1 = require("@metamask/eth-sig-util");
5
5
  const ethers_1 = require("ethers");
6
+ const hardware_signing_data_1 = require("../hardware-signing-data");
6
7
  const hardware_transaction_authority_1 = require("../hardware-transaction-authority");
7
8
  const hardware_wallet_types_1 = require("../hardware-wallet-types");
8
9
  const host_types_1 = require("./host-types");
@@ -54,43 +55,6 @@ const checkedSignature = (value, digest, expected) => {
54
55
  throw invalidSignature();
55
56
  }
56
57
  };
57
- // Detach the approved typed data before connection or host code can await/mutate it.
58
- const copyTypedData = (value, seen = new WeakSet(), depth = 0) => {
59
- if (depth > 64)
60
- throw invalidRequest();
61
- if (value === null || typeof value === 'string' || typeof value === 'boolean')
62
- return value;
63
- if (typeof value === 'bigint')
64
- return value.toString();
65
- if (typeof value === 'number') {
66
- if (!Number.isFinite(value))
67
- throw invalidRequest();
68
- return value;
69
- }
70
- if (value instanceof Uint8Array)
71
- return `0x${Buffer.from(value).toString('hex')}`;
72
- if (!value || typeof value !== 'object' || seen.has(value))
73
- throw invalidRequest();
74
- const array = Array.isArray(value);
75
- const prototype = Object.getPrototypeOf(value);
76
- if (!array && prototype !== Object.prototype && prototype !== null)
77
- throw invalidRequest();
78
- seen.add(value);
79
- try {
80
- const result = array ? [] : Object.create(null);
81
- for (const key of Object.keys(value)) {
82
- const descriptor = Object.getOwnPropertyDescriptor(value, key);
83
- if (!('value' in descriptor))
84
- throw invalidRequest();
85
- if (descriptor.value !== undefined)
86
- result[key] = copyTypedData(descriptor.value, seen, depth + 1);
87
- }
88
- return Object.freeze(result);
89
- }
90
- finally {
91
- seen.delete(value);
92
- }
93
- };
94
58
  /** Small authority-side facade. Device SDKs belong exclusively in ledger-host. */
95
59
  class LedgerKeyring {
96
60
  // Retain the first constructor position for existing shared-manager callers.
@@ -106,7 +70,8 @@ class LedgerKeyring {
106
70
  slip44,
107
71
  checkOnDevice: true,
108
72
  }));
109
- this.signUtxoMessage = (request) => {
73
+ this.signUtxoMessage = (request, authority) => {
74
+ const owner = (0, hardware_transaction_authority_1.captureHardwareTransactionAuthority)(authority);
110
75
  const approved = Object.freeze({
111
76
  currency: request.currency,
112
77
  slip44: request.slip44,
@@ -116,7 +81,7 @@ class LedgerKeyring {
116
81
  change: request.change,
117
82
  accountXpub: request.accountXpub,
118
83
  });
119
- return this.run((host) => host.utxo.signMessage(approved));
84
+ return this.run((host, assertCurrent) => host.utxo.signMessage(approved, { ...owner, assertCurrent }), owner);
120
85
  };
121
86
  this.signPsbt = async (request, authority) => {
122
87
  const owner = (0, hardware_transaction_authority_1.captureHardwareTransactionAuthority)(authority);
@@ -200,7 +165,8 @@ class LedgerKeyring {
200
165
  throw error;
201
166
  }
202
167
  },
203
- signPersonalMessage: async (request) => {
168
+ signPersonalMessage: async (request, authority) => {
169
+ const owner = (0, hardware_transaction_authority_1.captureHardwareTransactionAuthority)(authority);
204
170
  const expected = approvedAddress(request.expectedAddress);
205
171
  const messageHex = Buffer.from(hexBytes(request.message)).toString('hex');
206
172
  const digest = (0, ethers_1.hashMessage)(hexBytes(messageHex));
@@ -209,9 +175,17 @@ class LedgerKeyring {
209
175
  expectedAddress: expected,
210
176
  messageHex,
211
177
  };
212
- return this.run(async (host) => checkedSignature(await host.evm.signPersonalMessage(approved), digest, expected).serialized);
178
+ return this.run(async (host, assertCurrent) => {
179
+ const result = await host.evm.signPersonalMessage(approved, {
180
+ ...owner,
181
+ assertCurrent,
182
+ });
183
+ assertCurrent();
184
+ return checkedSignature(result, digest, expected).serialized;
185
+ }, owner);
213
186
  },
214
- signTypedData: async (request) => {
187
+ signTypedData: async (request, authority) => {
188
+ const owner = (0, hardware_transaction_authority_1.captureHardwareTransactionAuthority)(authority);
215
189
  const { version } = request;
216
190
  if (version !== eth_sig_util_1.SignTypedDataVersion.V3 &&
217
191
  version !== eth_sig_util_1.SignTypedDataVersion.V4)
@@ -220,7 +194,7 @@ class LedgerKeyring {
220
194
  const index = accountIndex(request.accountIndex);
221
195
  let data, digest;
222
196
  try {
223
- data = copyTypedData(request.data);
197
+ data = (0, hardware_signing_data_1.captureHardwareSigningData)(request.data, invalidRequest);
224
198
  digest = `0x${eth_sig_util_1.TypedDataUtils.eip712Hash(data, version).toString('hex')}`;
225
199
  }
226
200
  catch {
@@ -232,7 +206,14 @@ class LedgerKeyring {
232
206
  data,
233
207
  version,
234
208
  };
235
- return this.run(async (host) => checkedSignature(await host.evm.signTypedData(approved), digest, expected).serialized);
209
+ return this.run(async (host, assertCurrent) => {
210
+ const result = await host.evm.signTypedData(approved, {
211
+ ...owner,
212
+ assertCurrent,
213
+ });
214
+ assertCurrent();
215
+ return checkedSignature(result, digest, expected).serialized;
216
+ }, owner);
236
217
  },
237
218
  };
238
219
  this.utxo = {
@@ -256,18 +237,27 @@ class LedgerKeyring {
256
237
  async run(operation, options) {
257
238
  const generation = this.generation;
258
239
  const host = this.requireHost();
259
- hostActivity.set(host, (hostActivity.get(host) ?? 0) + 1);
260
- // A visible platform host owns discovery, permission and device selection.
261
- if (!host.getStatus().connected) {
262
- const request = { useGrantedDevices: true };
263
- await (options ? host.connect(request, options) : host.connect(request));
264
- }
265
240
  const assertCurrent = () => {
266
- if (generation !== this.generation)
241
+ if (generation !== this.generation || options?.signal?.aborted)
242
+ throw (0, host_types_1.ledgerCancelledError)();
243
+ if (options?.assertCurrent)
244
+ (0, hardware_transaction_authority_1.assertHardwareOperationCurrent)(options.assertCurrent);
245
+ if (generation !== this.generation || options?.signal?.aborted)
267
246
  throw (0, host_types_1.ledgerCancelledError)();
268
247
  };
269
248
  assertCurrent();
249
+ hostActivity.set(host, (hostActivity.get(host) ?? 0) + 1);
270
250
  try {
251
+ // A visible platform host owns discovery, permission and device selection.
252
+ if (!host.getStatus().connected) {
253
+ assertCurrent();
254
+ const request = { useGrantedDevices: true };
255
+ await (options
256
+ ? host.connect(request, { ...options, assertCurrent })
257
+ : host.connect(request));
258
+ assertCurrent();
259
+ }
260
+ assertCurrent();
271
261
  const result = await operation(host, assertCurrent);
272
262
  assertCurrent();
273
263
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ledger/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ledger/index.ts"],"names":[],"mappings":"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"}