@sidhujag/sysweb3-keyring 2.1.8 → 2.1.9

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.
@@ -1,14 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.evmSubmissionFailure = exports.copyEvmSubmissionFailure = void 0;
3
4
  exports.captureEvmSubmission = captureEvmSubmission;
4
5
  exports.assertDurableEvmSubmission = assertDurableEvmSubmission;
5
- exports.evmSubmissionFailure = evmSubmissionFailure;
6
- exports.copyEvmSubmissionFailure = copyEvmSubmissionFailure;
7
6
  exports.assertSignedEvmTransactionMatches = assertSignedEvmTransactionMatches;
8
7
  exports.submitSignedEvmTransaction = submitSignedEvmTransaction;
9
8
  exports.submitSignedHardwareEvmTransaction = submitSignedHardwareEvmTransaction;
10
9
  const transaction_1 = require("ethers/transaction");
11
10
  const evm_envelope_1 = require("./evm-envelope");
11
+ const evm_submission_failure_1 = require("./evm-submission-failure");
12
+ var evm_submission_failure_2 = require("./evm-submission-failure");
13
+ Object.defineProperty(exports, "copyEvmSubmissionFailure", { enumerable: true, get: function () { return evm_submission_failure_2.copyEvmSubmissionFailure; } });
14
+ Object.defineProperty(exports, "evmSubmissionFailure", { enumerable: true, get: function () { return evm_submission_failure_2.evmSubmissionFailure; } });
12
15
  const capturedBoundaries = new WeakSet();
13
16
  function assertSynchronous(check) {
14
17
  const result = check();
@@ -117,21 +120,6 @@ function assertDurableEvmSubmission(boundary) {
117
120
  throw new TypeError('A captured durable EVM submission is required');
118
121
  boundary.assertCurrent();
119
122
  }
120
- const failures = new WeakMap();
121
- /** Return owned stage evidence only; unrecognized errors carry no classification. */
122
- function evmSubmissionFailure(error) {
123
- return error && (typeof error === 'object' || typeof error === 'function')
124
- ? failures.get(error)
125
- : undefined;
126
- }
127
- /** Preserve local evidence when an existing public API wraps its Error object. */
128
- function copyEvmSubmissionFailure(source, target) {
129
- if (source && (typeof source === 'object' || typeof source === 'function')) {
130
- const failure = failures.get(source);
131
- if (failure)
132
- failures.set(target, failure);
133
- }
134
- }
135
123
  /** Compare signed wire bytes with the complete envelope captured before signing. */
136
124
  function assertSignedEvmTransactionMatches(rawTransaction, expectedUnsignedTransaction, expectedFrom) {
137
125
  if (typeof rawTransaction !== 'string' ||
@@ -243,52 +231,10 @@ async function submit(rawTransaction, broadcast, boundary, beforeBroadcast, expe
243
231
  }
244
232
  }
245
233
  catch (cause) {
246
- const failure = Object.freeze({
234
+ throw (0, evm_submission_failure_1.annotateEvmSubmissionFailure)(cause, {
247
235
  transactionNotBroadcast: !dispatched,
248
236
  ...(hash ? { signedTransactionHash: hash } : {}),
249
237
  });
250
- // Preserve provider Error identity/class and its data/shortMessage/reason/
251
- // cause contract. Only the locally owned submission fields are overwritten.
252
- let error = cause instanceof Error
253
- ? cause
254
- : new Error(typeof cause === 'string' ? cause : 'EVM submission failed');
255
- if (!(cause instanceof Error) && cause && typeof cause === 'object') {
256
- // JSON-RPC adapters can reject with a plain error object. Copy data
257
- // descriptors without invoking accessors or accepting its stage claim.
258
- for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(cause))) {
259
- if (key !== 'transactionNotBroadcast' &&
260
- key !== 'signedTransactionHash' &&
261
- 'value' in descriptor) {
262
- Object.defineProperty(error, key, descriptor);
263
- }
264
- }
265
- }
266
- const stageDescriptors = Object.fromEntries(Object.entries({ ...failure, signedTransactionHash: hash }).map(([key, value]) => [
267
- key,
268
- { value, enumerable: true, configurable: true, writable: true },
269
- ]));
270
- try {
271
- Object.defineProperties(error, stageDescriptors);
272
- }
273
- catch {
274
- // A frozen provider Error may have non-configurable forged stage fields.
275
- // Retain its original details/cause without allowing those fields to win.
276
- const wrapped = new Error(error.message);
277
- wrapped.name = error.name;
278
- const descriptors = Object.getOwnPropertyDescriptors(error);
279
- delete descriptors.transactionNotBroadcast;
280
- delete descriptors.signedTransactionHash;
281
- Object.defineProperties(wrapped, descriptors);
282
- if (!Object.prototype.hasOwnProperty.call(wrapped, 'cause'))
283
- Object.defineProperty(wrapped, 'cause', {
284
- value: error,
285
- configurable: true,
286
- });
287
- Object.defineProperties(wrapped, stageDescriptors);
288
- error = wrapped;
289
- }
290
- failures.set(error, failure);
291
- throw error;
292
238
  }
293
239
  }
294
240
  //# sourceMappingURL=evm-submission.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evm-submission.js","sourceRoot":"","sources":["../../../src/transactions/evm-submission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-submission.js","sourceRoot":"","sources":["../../../src/transactions/evm-submission.ts"],"names":[],"mappings":"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"}
@@ -5,40 +5,48 @@ const address_1 = require("ethers/address");
5
5
  const crypto_1 = require("ethers/crypto");
6
6
  const transaction_1 = require("ethers/transaction");
7
7
  const evm_submission_1 = require("./evm-submission");
8
+ const evm_submission_failure_1 = require("./evm-submission-failure");
8
9
  const hardware_transaction_authority_1 = require("../hardware-transaction-authority");
9
10
  /** Sign the reviewed bytes through the shared Ledger adapter without changing fees or nonce. */
10
11
  async function signLedgerEvmTransaction(signer, request, authority) {
11
- const owner = (0, hardware_transaction_authority_1.captureHardwareTransactionAuthority)(authority);
12
- const { accountIndex, unsignedTransaction } = request;
13
- const expectedAddress = (0, address_1.getAddress)(request.expectedAddress);
14
- if (!Number.isSafeInteger(accountIndex) ||
15
- accountIndex < 0 ||
16
- accountIndex > 0x7fffffff ||
17
- typeof unsignedTransaction !== 'string')
18
- throw new TypeError('Invalid reviewed Ledger transaction');
19
- const transaction = transaction_1.Transaction.from(unsignedTransaction);
20
- if (transaction.isSigned() ||
21
- transaction.chainId <= 0n ||
22
- transaction.unsignedSerialized !== unsignedTransaction)
23
- throw new TypeError('Ledger signing requires canonical unsigned transaction bytes');
24
- owner.assertCurrent();
25
- const signature = await signer.evm.signEVMTransaction({
26
- accountIndex,
27
- expectedAddress,
28
- rawTx: unsignedTransaction.slice(2),
29
- }, owner);
30
- owner.assertCurrent();
31
- transaction.signature = crypto_1.Signature.from({
32
- r: `0x${signature.r}`,
33
- s: `0x${signature.s}`,
34
- v: Number.parseInt(signature.v, 16),
35
- });
36
- const rawTransaction = transaction.serialized;
37
- if (transaction.from?.toLowerCase() !== expectedAddress.toLowerCase()) {
38
- throw Object.assign(new Error('Hardware signature does not match the approved account'), { code: 'HARDWARE_ACCOUNT_MISMATCH', transactionNotBroadcast: true });
12
+ try {
13
+ const owner = (0, hardware_transaction_authority_1.captureHardwareTransactionAuthority)(authority);
14
+ const { accountIndex, unsignedTransaction } = request;
15
+ const expectedAddress = (0, address_1.getAddress)(request.expectedAddress);
16
+ if (!Number.isSafeInteger(accountIndex) ||
17
+ accountIndex < 0 ||
18
+ accountIndex > 0x7fffffff ||
19
+ typeof unsignedTransaction !== 'string')
20
+ throw new TypeError('Invalid reviewed Ledger transaction');
21
+ const transaction = transaction_1.Transaction.from(unsignedTransaction);
22
+ if (transaction.isSigned() ||
23
+ transaction.chainId <= 0n ||
24
+ transaction.unsignedSerialized !== unsignedTransaction)
25
+ throw new TypeError('Ledger signing requires canonical unsigned transaction bytes');
26
+ owner.assertCurrent();
27
+ const signature = await signer.evm.signEVMTransaction({
28
+ accountIndex,
29
+ expectedAddress,
30
+ rawTx: unsignedTransaction.slice(2),
31
+ }, owner);
32
+ owner.assertCurrent();
33
+ transaction.signature = crypto_1.Signature.from({
34
+ r: `0x${signature.r}`,
35
+ s: `0x${signature.s}`,
36
+ v: Number.parseInt(signature.v, 16),
37
+ });
38
+ const rawTransaction = transaction.serialized;
39
+ if (transaction.from?.toLowerCase() !== expectedAddress.toLowerCase()) {
40
+ throw Object.assign(new Error('Hardware signature does not match the approved account'), { code: 'HARDWARE_ACCOUNT_MISMATCH' });
41
+ }
42
+ const checked = (0, evm_submission_1.assertSignedEvmTransactionMatches)(rawTransaction, unsignedTransaction, expectedAddress);
43
+ owner.assertCurrent();
44
+ return Object.freeze({ rawTransaction, hash: checked.hash });
45
+ }
46
+ catch (cause) {
47
+ throw (0, evm_submission_failure_1.annotateEvmSubmissionFailure)(cause, {
48
+ transactionNotBroadcast: true,
49
+ });
39
50
  }
40
- const checked = (0, evm_submission_1.assertSignedEvmTransactionMatches)(rawTransaction, unsignedTransaction, expectedAddress);
41
- owner.assertCurrent();
42
- return Object.freeze({ rawTransaction, hash: checked.hash });
43
51
  }
44
52
  //# sourceMappingURL=ledger-signing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-signing.js","sourceRoot":"","sources":["../../../src/transactions/ledger-signing.ts"],"names":[],"mappings":";;AAWA,4DAyDC;AApED,4CAA4C;AAC5C,0CAA0C;AAC1C,oDAAiD;AAEjD,qDAAqE;AACrE,sFAAwF;AAKxF,gGAAgG;AACzF,KAAK,UAAU,wBAAwB,CAC5C,MAAwD,EACxD,OAIE,EACF,SAAuC;IAEvC,MAAM,KAAK,GAAG,IAAA,oEAAmC,EAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;IACtD,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5D,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;QACnC,YAAY,GAAG,CAAC;QAChB,YAAY,GAAG,UAAU;QACzB,OAAO,mBAAmB,KAAK,QAAQ;QAEvC,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,yBAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1D,IACE,WAAW,CAAC,QAAQ,EAAE;QACtB,WAAW,CAAC,OAAO,IAAI,EAAE;QACzB,WAAW,CAAC,kBAAkB,KAAK,mBAAmB;QAEtD,MAAM,IAAI,SAAS,CACjB,8DAA8D,CAC/D,CAAC;IACJ,KAAK,CAAC,aAAa,EAAE,CAAC;IACtB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,kBAAkB,CACnD;QACE,YAAY;QACZ,eAAe;QACf,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;KACpC,EACD,KAAK,CACN,CAAC;IACF,KAAK,CAAC,aAAa,EAAE,CAAC;IACtB,WAAW,CAAC,SAAS,GAAG,kBAAS,CAAC,IAAI,CAAC;QACrC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,EAAE;QACrB,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,EAAE;QACrB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC;IAC9C,IAAI,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;QACtE,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CAAC,wDAAwD,CAAC,EACnE,EAAE,IAAI,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,IAAI,EAAE,CACrE,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,kDAAiC,EAC/C,cAAc,EACd,mBAAmB,EACnB,eAAe,CAChB,CAAC;IACF,KAAK,CAAC,aAAa,EAAE,CAAC;IACtB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAK,EAAE,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"ledger-signing.js","sourceRoot":"","sources":["../../../src/transactions/ledger-signing.ts"],"names":[],"mappings":";;AAYA,4DA+DC;AA3ED,4CAA4C;AAC5C,0CAA0C;AAC1C,oDAAiD;AAEjD,qDAAqE;AACrE,qEAAwE;AACxE,sFAAwF;AAKxF,gGAAgG;AACzF,KAAK,UAAU,wBAAwB,CAC5C,MAAwD,EACxD,OAIE,EACF,SAAuC;IAEvC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,oEAAmC,EAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;QACtD,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5D,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;YACnC,YAAY,GAAG,CAAC;YAChB,YAAY,GAAG,UAAU;YACzB,OAAO,mBAAmB,KAAK,QAAQ;YAEvC,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,yBAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC1D,IACE,WAAW,CAAC,QAAQ,EAAE;YACtB,WAAW,CAAC,OAAO,IAAI,EAAE;YACzB,WAAW,CAAC,kBAAkB,KAAK,mBAAmB;YAEtD,MAAM,IAAI,SAAS,CACjB,8DAA8D,CAC/D,CAAC;QACJ,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,kBAAkB,CACnD;YACE,YAAY;YACZ,eAAe;YACf,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;SACpC,EACD,KAAK,CACN,CAAC;QACF,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,WAAW,CAAC,SAAS,GAAG,kBAAS,CAAC,IAAI,CAAC;YACrC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,EAAE;YACrB,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,EAAE;YACrB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC;QAC9C,IAAI,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;YACtE,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CAAC,wDAAwD,CAAC,EACnE,EAAE,IAAI,EAAE,2BAA2B,EAAE,CACtC,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,kDAAiC,EAC/C,cAAc,EACd,mBAAmB,EACnB,eAAe,CAChB,CAAC;QACF,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,qDAA4B,EAAC,KAAK,EAAE;YACxC,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signTrezorEvmTransaction = signTrezorEvmTransaction;
4
+ const address_1 = require("ethers/address");
5
+ const crypto_1 = require("ethers/crypto");
6
+ const transaction_1 = require("ethers/transaction");
7
+ const utils_1 = require("ethers/utils");
8
+ const evm_submission_1 = require("./evm-submission");
9
+ const evm_submission_failure_1 = require("./evm-submission-failure");
10
+ const evm_fees_1 = require("../evm-fees");
11
+ const hardware_transaction_authority_1 = require("../hardware-transaction-authority");
12
+ // Connect returns hexadecimal fields, including an optionally numeric recovery v.
13
+ const trezorSignature = (signature) => {
14
+ const { r, s, v } = signature;
15
+ if (![r, s].every((value) => /^(?:0x)?[0-9a-f]{64}$/i.test(value)))
16
+ throw new Error('Invalid Trezor signature scalar encoding');
17
+ if (typeof v === 'string' && !/^(?:0x)?[0-9a-f]+$/i.test(v))
18
+ throw new Error('Invalid Trezor signature recovery value');
19
+ const recovery = typeof v === 'number' ? v : Number.parseInt(v, 16);
20
+ if (!Number.isSafeInteger(recovery) || recovery < 0)
21
+ throw new Error('Invalid Trezor signature recovery value');
22
+ return crypto_1.Signature.from({
23
+ r: `0x${r.replace(/^0x/i, '')}`,
24
+ s: `0x${s.replace(/^0x/i, '')}`,
25
+ v: recovery,
26
+ });
27
+ };
28
+ /** Sign reviewed bytes through an explicitly hosted Trezor keyring. */
29
+ async function signTrezorEvmTransaction(signer, request, authority) {
30
+ try {
31
+ const owner = (0, hardware_transaction_authority_1.captureHardwareTransactionAuthority)(authority);
32
+ const { accountIndex, coin, slip44, unsignedTransaction } = request;
33
+ const expectedAddress = (0, address_1.getAddress)(request.expectedAddress);
34
+ if (!Number.isSafeInteger(accountIndex) ||
35
+ accountIndex < 0 ||
36
+ accountIndex > 0x7fffffff ||
37
+ !Number.isSafeInteger(slip44) ||
38
+ slip44 < 0 ||
39
+ slip44 > 0x7fffffff ||
40
+ typeof coin !== 'string' ||
41
+ coin.length === 0 ||
42
+ typeof unsignedTransaction !== 'string')
43
+ throw new TypeError('Invalid reviewed Trezor transaction');
44
+ const transaction = transaction_1.Transaction.from(unsignedTransaction);
45
+ if (transaction.isSigned() ||
46
+ transaction.chainId <= 0n ||
47
+ transaction.chainId > BigInt(Number.MAX_SAFE_INTEGER) ||
48
+ (transaction.type !== 0 && transaction.type !== 2) ||
49
+ transaction.unsignedSerialized !== unsignedTransaction)
50
+ throw new TypeError('Trezor signing requires canonical unsigned type 0 or type 2 transaction bytes');
51
+ (0, evm_fees_1.assertEvmGasLimit)(transaction.gasLimit, transaction.chainId);
52
+ const common = {
53
+ to: transaction.to,
54
+ value: (0, utils_1.toBeHex)(transaction.value),
55
+ gasLimit: (0, utils_1.toBeHex)(transaction.gasLimit),
56
+ nonce: (0, utils_1.toBeHex)(transaction.nonce),
57
+ data: transaction.data,
58
+ chainId: Number(transaction.chainId),
59
+ };
60
+ const tx = transaction.type === 0
61
+ ? { ...common, gasPrice: (0, utils_1.toBeHex)(transaction.gasPrice) }
62
+ : {
63
+ ...common,
64
+ maxFeePerGas: (0, utils_1.toBeHex)(transaction.maxFeePerGas),
65
+ maxPriorityFeePerGas: (0, utils_1.toBeHex)(transaction.maxPriorityFeePerGas),
66
+ accessList: transaction.accessList.map(({ address, storageKeys }) => ({
67
+ address,
68
+ storageKeys: [...storageKeys],
69
+ })),
70
+ };
71
+ owner.assertCurrent();
72
+ const signature = await signer.signEthTransaction({ index: String(accountIndex), coin, slip44, tx }, owner);
73
+ owner.assertCurrent();
74
+ if (signature.success !== true)
75
+ throw new Error('Transaction signature failed');
76
+ transaction.signature = trezorSignature(signature.payload);
77
+ const rawTransaction = transaction.serialized;
78
+ if (transaction.from?.toLowerCase() !== expectedAddress.toLowerCase())
79
+ throw Object.assign(new Error('Hardware signature does not match the approved account'), { code: 'HARDWARE_ACCOUNT_MISMATCH' });
80
+ const checked = (0, evm_submission_1.assertSignedEvmTransactionMatches)(rawTransaction, unsignedTransaction, expectedAddress);
81
+ owner.assertCurrent();
82
+ return Object.freeze({ rawTransaction, hash: checked.hash });
83
+ }
84
+ catch (cause) {
85
+ throw (0, evm_submission_failure_1.annotateEvmSubmissionFailure)(cause, {
86
+ transactionNotBroadcast: true,
87
+ });
88
+ }
89
+ }
90
+ //# sourceMappingURL=trezor-signing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trezor-signing.js","sourceRoot":"","sources":["../../../src/transactions/trezor-signing.ts"],"names":[],"mappings":"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"}