@sidhujag/sysweb3-keyring 1.0.628 → 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.
- package/CHANGELOG.md +22 -0
- package/README.md +66 -0
- package/cjs/hardware-wallet-manager.js +302 -128
- package/cjs/hardware-wallet-manager.js.map +1 -1
- package/cjs/keyring-core.js +93 -0
- package/cjs/keyring-core.js.map +1 -1
- package/cjs/keyring-manager.js +9 -3
- package/cjs/keyring-manager.js.map +1 -1
- package/cjs/ledger/bitcoin_client/lib/appClient.js.map +1 -1
- package/cjs/ledger/host-types.js +10 -0
- package/cjs/ledger/host-types.js.map +1 -0
- package/cjs/ledger/index.js +243 -447
- package/cjs/ledger/index.js.map +1 -1
- package/cjs/ledger/prepare-psbt.js +177 -0
- package/cjs/ledger/prepare-psbt.js.map +1 -0
- package/cjs/software-hd-account.js +23 -0
- package/cjs/software-hd-account.js.map +1 -0
- package/cjs/software.js +16 -0
- package/cjs/software.js.map +1 -1
- package/cjs/transactions/ethereum.js +55 -10
- package/cjs/transactions/ethereum.js.map +1 -1
- package/cjs/transactions/hardware-psbt.js +36 -44
- package/cjs/transactions/hardware-psbt.js.map +1 -1
- package/cjs/transactions/prepared-evm.js +196 -0
- package/cjs/transactions/prepared-evm.js.map +1 -0
- package/cjs/trezor/connect.js +243 -0
- package/cjs/trezor/connect.js.map +1 -0
- package/cjs/trezor/index.js +96 -58
- package/cjs/trezor/index.js.map +1 -1
- package/cjs/trezor/witness.js +25 -0
- package/cjs/trezor/witness.js.map +1 -0
- package/cjs/utils/psbt-account-scope.js +5 -3
- package/cjs/utils/psbt-account-scope.js.map +1 -1
- package/esm/errorUtils.js +72 -0
- package/esm/errorUtils.js.map +1 -0
- package/esm/ethers-v6.js +207 -0
- package/esm/ethers-v6.js.map +1 -0
- package/esm/hardware-wallet-manager.js +643 -0
- package/esm/hardware-wallet-manager.js.map +1 -0
- package/esm/ledger/bitcoin_client/lib/appClient.js +279 -0
- package/esm/ledger/bitcoin_client/lib/appClient.js.map +1 -0
- package/esm/ledger/bitcoin_client/lib/bip32.js +49 -0
- package/esm/ledger/bitcoin_client/lib/bip32.js.map +1 -0
- package/esm/ledger/bitcoin_client/lib/buffertools.js +119 -0
- package/esm/ledger/bitcoin_client/lib/buffertools.js.map +1 -0
- package/esm/ledger/bitcoin_client/lib/clientCommands.js +269 -0
- package/esm/ledger/bitcoin_client/lib/clientCommands.js.map +1 -0
- package/esm/ledger/bitcoin_client/lib/merkelizedPsbt.js +50 -0
- package/esm/ledger/bitcoin_client/lib/merkelizedPsbt.js.map +1 -0
- package/esm/ledger/bitcoin_client/lib/merkle.js +111 -0
- package/esm/ledger/bitcoin_client/lib/merkle.js.map +1 -0
- package/esm/ledger/bitcoin_client/lib/merkleMap.js +42 -0
- package/esm/ledger/bitcoin_client/lib/merkleMap.js.map +1 -0
- package/esm/ledger/bitcoin_client/lib/policy.js +68 -0
- package/esm/ledger/bitcoin_client/lib/policy.js.map +1 -0
- package/esm/ledger/bitcoin_client/lib/psbtv2.js +645 -0
- package/esm/ledger/bitcoin_client/lib/psbtv2.js.map +1 -0
- package/esm/ledger/bitcoin_client/lib/varint.js +108 -0
- package/esm/ledger/bitcoin_client/lib/varint.js.map +1 -0
- package/esm/ledger/consts.js +4 -0
- package/esm/ledger/consts.js.map +1 -0
- package/esm/ledger/dmk-evm.js +258 -0
- package/esm/ledger/dmk-evm.js.map +1 -0
- package/esm/ledger/dmk-session.js +264 -0
- package/esm/ledger/dmk-session.js.map +1 -0
- package/esm/ledger/dmk-utxo.js +279 -0
- package/esm/ledger/dmk-utxo.js.map +1 -0
- package/esm/ledger/host-types.js +5 -0
- package/esm/ledger/host-types.js.map +1 -0
- package/esm/ledger/index.js +268 -0
- package/esm/ledger/index.js.map +1 -0
- package/esm/ledger/prepare-psbt.js +141 -0
- package/esm/ledger/prepare-psbt.js.map +1 -0
- package/esm/ledger/types.js +2 -0
- package/esm/ledger/types.js.map +1 -0
- package/esm/ledger-host.js +36 -0
- package/esm/ledger-host.js.map +1 -0
- package/esm/private-records.js +153 -0
- package/esm/private-records.js.map +1 -0
- package/esm/providers.js +588 -0
- package/esm/providers.js.map +1 -0
- package/esm/signers.js +28 -0
- package/esm/signers.js.map +1 -0
- package/esm/trezor/connect.js +206 -0
- package/esm/trezor/connect.js.map +1 -0
- package/esm/trezor/index.js +876 -0
- package/esm/trezor/index.js.map +1 -0
- package/esm/trezor/witness.js +21 -0
- package/esm/trezor/witness.js.map +1 -0
- package/esm/types.js +17 -0
- package/esm/types.js.map +1 -0
- package/esm/utils/derivation-paths.js +109 -0
- package/esm/utils/derivation-paths.js.map +1 -0
- package/esm/utils/psbt-account-scope.js +310 -0
- package/esm/utils/psbt-account-scope.js.map +1 -0
- package/package.json +21 -8
- package/types/hardware-wallet-manager.d.ts +12 -19
- package/types/keyring-core.d.ts +6 -0
- package/types/keyring-manager.d.ts +2 -1
- package/types/ledger/bitcoin_client/lib/appClient.d.ts +6 -3
- package/types/ledger/dmk-evm.d.ts +8 -0
- package/types/ledger/dmk-session.d.ts +60 -0
- package/types/ledger/dmk-utxo.d.ts +26 -0
- package/types/ledger/host-types.d.ts +131 -0
- package/types/ledger/index.d.ts +21 -58
- package/types/ledger/prepare-psbt.d.ts +3 -0
- package/types/ledger/types.d.ts +3 -0
- package/types/ledger-host.d.ts +7 -0
- package/types/software-hd-account.d.ts +16 -0
- package/types/software.d.ts +16 -0
- package/types/transactions/ethereum.d.ts +1 -1
- package/types/transactions/prepared-evm.d.ts +53 -0
- package/types/trezor/connect.d.ts +42 -0
- package/types/trezor/index.d.ts +22 -4
- package/types/trezor/witness.d.ts +3 -0
- package/types/utils/psbt-account-scope.d.ts +1 -0
package/cjs/ledger/index.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.prepareLedgerPsbt = prepareLedgerPsbt;
|
|
37
|
+
const buffer_1 = require("buffer");
|
|
38
|
+
const syscoinjs = __importStar(require("syscoinjs-lib"));
|
|
39
|
+
const derivation_paths_1 = require("../utils/derivation-paths");
|
|
40
|
+
const psbt_account_scope_1 = require("../utils/psbt-account-scope");
|
|
41
|
+
const Transaction = syscoinjs.utils.bitcoinjs.Transaction;
|
|
42
|
+
/** Enrich public PSBT metadata only. Callers must also enforce account scope. */
|
|
43
|
+
function prepareLedgerPsbt(psbt, accountXpub, accountId, currency, slip44, fingerprint) {
|
|
44
|
+
if (!/^[0-9a-fA-F]{8}$/.test(fingerprint))
|
|
45
|
+
throw new Error('Invalid Ledger master fingerprint');
|
|
46
|
+
const accountNode = (0, psbt_account_scope_1.parsePsbtAccountXpub)(accountXpub);
|
|
47
|
+
// Enhance each input with bip32Derivation
|
|
48
|
+
const missingInputDerivations = [];
|
|
49
|
+
for (let i = 0; i < psbt.inputCount; i++) {
|
|
50
|
+
const dataInput = psbt.data.inputs[i];
|
|
51
|
+
// External inputs are already authorized by their final scripts. Do
|
|
52
|
+
// not invent wallet derivations or ask the device to sign them again.
|
|
53
|
+
if (dataInput.finalScriptSig || dataInput.finalScriptWitness)
|
|
54
|
+
continue;
|
|
55
|
+
// Skip if already has bip32Derivation
|
|
56
|
+
if (dataInput.bip32Derivation && dataInput.bip32Derivation.length > 0) {
|
|
57
|
+
// Scope validation has already limited these hints to the approved account.
|
|
58
|
+
for (const derivation of dataInput.bip32Derivation)
|
|
59
|
+
derivation.masterFingerprint = buffer_1.Buffer.from(fingerprint, 'hex');
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
// Ensure witnessUtxo is present if nonWitnessUtxo exists
|
|
63
|
+
if (!dataInput.witnessUtxo && dataInput.nonWitnessUtxo) {
|
|
64
|
+
const txBuffer = dataInput.nonWitnessUtxo;
|
|
65
|
+
const tx = Transaction.fromBuffer(txBuffer);
|
|
66
|
+
const vout = psbt.txInputs[i].index;
|
|
67
|
+
if (tx.outs[vout]) {
|
|
68
|
+
dataInput.witnessUtxo = {
|
|
69
|
+
script: tx.outs[vout].script,
|
|
70
|
+
value: tx.outs[vout].value,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// Extract path from unknownKeyVals by searching for the key, not using hardcoded index
|
|
75
|
+
let pathFromInput = null;
|
|
76
|
+
if (dataInput.unknownKeyVals && dataInput.unknownKeyVals.length > 0) {
|
|
77
|
+
for (const kv of dataInput.unknownKeyVals) {
|
|
78
|
+
const keyStr = buffer_1.Buffer.from(kv.key).toString();
|
|
79
|
+
if (keyStr === 'path') {
|
|
80
|
+
pathFromInput = buffer_1.Buffer.from(kv.value).toString();
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
let bip32Derivation = null;
|
|
86
|
+
if (pathFromInput) {
|
|
87
|
+
const fullPath = pathFromInput;
|
|
88
|
+
const accountPath = (0, derivation_paths_1.getAccountDerivationPath)(currency, slip44, accountId);
|
|
89
|
+
const relativePath = fullPath.replace(accountPath, '').replace(/^\//, '');
|
|
90
|
+
const derivationTokens = relativePath.split('/').filter((t) => t);
|
|
91
|
+
const derivedAccount = derivationTokens.reduce((acc, token) => {
|
|
92
|
+
const index = parseInt(token);
|
|
93
|
+
if (isNaN(index)) {
|
|
94
|
+
return acc;
|
|
95
|
+
}
|
|
96
|
+
return acc.derive(index);
|
|
97
|
+
}, accountNode);
|
|
98
|
+
const rawPubkey = derivedAccount.publicKey;
|
|
99
|
+
const pubkeyBuf = buffer_1.Buffer.isBuffer(rawPubkey)
|
|
100
|
+
? rawPubkey
|
|
101
|
+
: buffer_1.Buffer.from(rawPubkey);
|
|
102
|
+
if (pubkeyBuf && pubkeyBuf.length === 33) {
|
|
103
|
+
// Add the bip32Derivation that Ledger needs
|
|
104
|
+
bip32Derivation = {
|
|
105
|
+
masterFingerprint: buffer_1.Buffer.from(fingerprint, 'hex'),
|
|
106
|
+
path: fullPath,
|
|
107
|
+
pubkey: pubkeyBuf,
|
|
108
|
+
};
|
|
109
|
+
psbt.updateInput(i, {
|
|
110
|
+
bip32Derivation: [bip32Derivation],
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// Check the updated PSBT state (avoid stale local references)
|
|
115
|
+
const updatedInput = psbt.data.inputs[i];
|
|
116
|
+
if (!updatedInput.bip32Derivation ||
|
|
117
|
+
updatedInput.bip32Derivation.length === 0) {
|
|
118
|
+
missingInputDerivations.push(i);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// Enhance each output with bip32Derivation when it's a change/output owned by the wallet
|
|
122
|
+
for (let i = 0; i < psbt.data.outputs.length; i++) {
|
|
123
|
+
const dataOutput = psbt.data.outputs[i];
|
|
124
|
+
// Skip if derivation already present
|
|
125
|
+
if (dataOutput.bip32Derivation && dataOutput.bip32Derivation.length > 0) {
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
// Extract path from unknownKeyVals by searching for the key 'path'
|
|
129
|
+
let pathFromOutput = null;
|
|
130
|
+
if (dataOutput.unknownKeyVals && dataOutput.unknownKeyVals.length > 0) {
|
|
131
|
+
for (const kv of dataOutput.unknownKeyVals) {
|
|
132
|
+
const keyStr = buffer_1.Buffer.from(kv.key).toString();
|
|
133
|
+
if (keyStr === 'path') {
|
|
134
|
+
pathFromOutput = buffer_1.Buffer.from(kv.value).toString();
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (pathFromOutput) {
|
|
140
|
+
let bip32Derivation = null;
|
|
141
|
+
const fullPath = pathFromOutput;
|
|
142
|
+
const accountPath = (0, derivation_paths_1.getAccountDerivationPath)(currency, slip44, accountId);
|
|
143
|
+
const relativePath = fullPath.replace(accountPath, '').replace(/^\//, '');
|
|
144
|
+
const derivationTokens = relativePath.split('/').filter((t) => t);
|
|
145
|
+
const derivedAccount = derivationTokens.reduce((acc, token) => {
|
|
146
|
+
const index = parseInt(token);
|
|
147
|
+
if (isNaN(index)) {
|
|
148
|
+
return acc;
|
|
149
|
+
}
|
|
150
|
+
return acc.derive(index);
|
|
151
|
+
}, accountNode);
|
|
152
|
+
const rawOutPubkey = derivedAccount.publicKey;
|
|
153
|
+
const outPubkeyBuf = buffer_1.Buffer.isBuffer(rawOutPubkey)
|
|
154
|
+
? rawOutPubkey
|
|
155
|
+
: buffer_1.Buffer.from(rawOutPubkey);
|
|
156
|
+
if (outPubkeyBuf && outPubkeyBuf.length === 33) {
|
|
157
|
+
bip32Derivation = {
|
|
158
|
+
masterFingerprint: buffer_1.Buffer.from(fingerprint, 'hex'),
|
|
159
|
+
path: fullPath,
|
|
160
|
+
pubkey: outPubkeyBuf,
|
|
161
|
+
};
|
|
162
|
+
psbt.updateOutput(i, {
|
|
163
|
+
bip32Derivation: [bip32Derivation],
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
// Outputs without valid derivation are allowed (external recipients)
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// If any wallet-owned inputs/outputs are missing bip32Derivation, fail early with a clear error
|
|
170
|
+
if (missingInputDerivations.length > 0) {
|
|
171
|
+
const parts = [];
|
|
172
|
+
parts.push(`inputs [${missingInputDerivations.join(', ')}]`);
|
|
173
|
+
throw new Error(`convertToLedgerFormat: Missing bip32Derivation for ${parts.join(' and ')}. Ensure PSBT includes a 'path' unknownKeyVal or BIP32_DERIVATION for wallet-owned entries.`);
|
|
174
|
+
}
|
|
175
|
+
return psbt;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=prepare-psbt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare-psbt.js","sourceRoot":"","sources":["../../../src/ledger/prepare-psbt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,8CA0KC;AApLD,mCAAgC;AAEhC,yDAA2C;AAE3C,gEAAqE;AACrE,oEAAmE;AAEnE,MAAM,WAAW,GAAI,SAAS,CAAC,KAAa,CAAC,SAAS,CAAC,WAAW,CAAC;AAEnE,iFAAiF;AACjF,SAAgB,iBAAiB,CAC/B,IAAU,EACV,WAAmB,EACnB,SAAiB,EACjB,QAAgB,EAChB,MAAc,EACd,WAAmB;IAEnB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,IAAA,yCAAoB,EAAC,WAAW,CAAC,CAAC;IAEtD,0CAA0C;IAC1C,MAAM,uBAAuB,GAAa,EAAE,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEtC,oEAAoE;QACpE,sEAAsE;QACtE,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,kBAAkB;YAAE,SAAS;QAEvE,sCAAsC;QACtC,IAAI,SAAS,CAAC,eAAe,IAAI,SAAS,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,4EAA4E;YAC5E,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,eAAe;gBAChD,UAAU,CAAC,iBAAiB,GAAG,eAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACjE,SAAS;QACX,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC;YAC1C,MAAM,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAEpC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,SAAS,CAAC,WAAW,GAAG;oBACtB,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;oBAC5B,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK;iBAC3B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,uFAAuF;QACvF,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,aAAa,GAAG,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACjD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,eAAe,GAAQ,IAAI,CAAC;QAChC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,aAAa,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAA,2CAAwB,EAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAElE,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAC5C,CAAC,GAAQ,EAAE,KAAa,EAAE,EAAE;gBAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjB,OAAO,GAAG,CAAC;gBACb,CAAC;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EACD,WAAW,CACZ,CAAC;YAEF,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC;YAC3C,MAAM,SAAS,GAAG,eAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC1C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE3B,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBACzC,4CAA4C;gBAC5C,eAAe,GAAG;oBAChB,iBAAiB,EAAE,eAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;oBAClD,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,SAAS;iBAClB,CAAC;gBAEF,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE;oBAClB,eAAe,EAAE,CAAC,eAAe,CAAC;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,8DAA8D;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzC,IACE,CAAC,YAAY,CAAC,eAAe;YAC7B,YAAY,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EACzC,CAAC;YACD,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAExC,qCAAqC;QACrC,IAAI,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,SAAS;QACX,CAAC;QAED,mEAAmE;QACnE,IAAI,cAAc,GAAkB,IAAI,CAAC;QACzC,IAAI,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,cAAc,GAAG,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAClD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,eAAe,GAAQ,IAAI,CAAC;YAChC,MAAM,QAAQ,GAAG,cAAc,CAAC;YAChC,MAAM,WAAW,GAAG,IAAA,2CAAwB,EAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAElE,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAC5C,CAAC,GAAQ,EAAE,KAAa,EAAE,EAAE;gBAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjB,OAAO,GAAG,CAAC;gBACb,CAAC;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EACD,WAAW,CACZ,CAAC;YAEF,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC;YAC9C,MAAM,YAAY,GAAG,eAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAChD,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE9B,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBAC/C,eAAe,GAAG;oBAChB,iBAAiB,EAAE,eAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;oBAClD,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,YAAY;iBACrB,CAAC;gBAEF,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE;oBACnB,eAAe,EAAE,CAAC,eAAe,CAAC;iBACnC,CAAC,CAAC;YACL,CAAC;YACD,qEAAqE;QACvE,CAAC;IACH,CAAC;IAED,gGAAgG;IAChG,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,sDAAsD,KAAK,CAAC,IAAI,CAC9D,OAAO,CACR,6FAA6F,CAC/F,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.snapshotEvmHdIndex = snapshotEvmHdIndex;
|
|
4
|
+
function snapshotEvmHdIndex(value) {
|
|
5
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
6
|
+
throw new TypeError('Invalid Ethereum HD account index');
|
|
7
|
+
}
|
|
8
|
+
const prototype = Object.getPrototypeOf(value);
|
|
9
|
+
const names = Reflect.ownKeys(value);
|
|
10
|
+
const index = Object.getOwnPropertyDescriptor(value, 'index');
|
|
11
|
+
if ((prototype !== Object.prototype && prototype !== null) ||
|
|
12
|
+
names.length !== 1 ||
|
|
13
|
+
names[0] !== 'index' ||
|
|
14
|
+
!index ||
|
|
15
|
+
!index.enumerable ||
|
|
16
|
+
!('value' in index) ||
|
|
17
|
+
!Number.isSafeInteger(index.value) ||
|
|
18
|
+
index.value < 0 ||
|
|
19
|
+
index.value > 0x7fffffff)
|
|
20
|
+
throw new TypeError('Invalid Ethereum HD account index');
|
|
21
|
+
return index.value;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=software-hd-account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"software-hd-account.js","sourceRoot":"","sources":["../../src/software-hd-account.ts"],"names":[],"mappings":";;AAmBA,gDAoBC;AApBD,SAAgB,kBAAkB,CAAC,KAAiC;IAClE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9D,IACE,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;QACtD,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO;QACpB,CAAC,KAAK;QACN,CAAC,KAAK,CAAC,UAAU;QACjB,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC;QACnB,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;QAClC,KAAK,CAAC,KAAK,GAAG,CAAC;QACf,KAAK,CAAC,KAAK,GAAG,UAAU;QAExB,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,KAAK,CAAC;AACrB,CAAC"}
|
package/cjs/software.js
CHANGED
|
@@ -43,6 +43,22 @@ class SoftwareKeyring extends keyring_core_1.KeyringCore {
|
|
|
43
43
|
throw new Error('Direct session injection is unavailable in this host');
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Derive a fixed-path Ethereum HD runtime account without network or storage
|
|
48
|
+
* writes. The returned password-encrypted xprv is internal runtime state,
|
|
49
|
+
* never a public account/catalogue DTO. The host owns index allocation.
|
|
50
|
+
*/
|
|
51
|
+
deriveEvmHdRuntimeAccount(request, options) {
|
|
52
|
+
return this.deriveSoftwareEvmHdRuntimeAccount(request, options);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Sign exactly the prepared envelope without RPC, fee/nonce discovery or
|
|
56
|
+
* broadcasting. The host must journal the result before submitting it.
|
|
57
|
+
* A later lock cannot revoke already returned signed bytes.
|
|
58
|
+
*/
|
|
59
|
+
signPreparedEvmTransaction(request, options) {
|
|
60
|
+
return this.signPreparedSoftwareEvmTransaction(request, options);
|
|
61
|
+
}
|
|
46
62
|
static async createInitialized(host, seed, password, vaultStateGetter) {
|
|
47
63
|
const keyring = new SoftwareKeyring(host);
|
|
48
64
|
keyring.setVaultStateGetter(vaultStateGetter);
|
package/cjs/software.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"software.js","sourceRoot":"","sources":["../../src/software.ts"],"names":[],"mappings":";;;AAAA,oFAAoF;AACpF,iDAA6C;AAC7C,iDAAwD;
|
|
1
|
+
{"version":3,"file":"software.js","sourceRoot":"","sources":["../../src/software.ts"],"names":[],"mappings":";;;AAAA,oFAAoF;AACpF,iDAA6C;AAC7C,iDAAwD;AAqBxD,MAAM,KAAK,GAAG,IAAI,OAAO,EAMtB,CAAC;AAEJ,kFAAkF;AAC3E,MAAM,yBAAyB,GAAG,CACvC,OAA2B,EACN,EAAE;IACvB,MAAM,gBAAgB,GAAG,IAAA,qCAAsB,EAAC,OAAO,CAAC,CAAC;IACzD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAwB,CAAC;IACtD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,yBAAyB,6BAUpC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAyB,EAAE,EAAE;IAChD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACxE,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAa,eAAgB,SAAQ,0BAAiC;IACpE,YAAY,IAAyB;QACnC,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,CAAC;YACJ,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;YAC/C,YAAY,EAAE,SAAS;YACvB,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;QA2BL,6EAA6E;QAC7D,eAAU,GAAG,CAAC,MAAW,EAAS,EAAE;YAClD,KAAK,MAAM,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC,CAAC;QAEF,8EAA8E;QAC9D,4BAAuB,GAAG,CACxC,GAAG,OAA2D,EACvD,EAAE;YACT,KAAK,OAAO,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC,CAAC;IAtCF,CAAC;IAED;;;;OAIG;IACI,yBAAyB,CAC9B,OAAmC,EACnC,OAAmC;QAEnC,OAAO,IAAI,CAAC,iCAAiC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACI,0BAA0B,CAC/B,OAA0C,EAC1C,OAAkC;QAElC,OAAO,IAAI,CAAC,kCAAkC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAgBM,MAAM,CAAC,KAAK,CAAC,iBAAiB,CACnC,IAAyB,EACzB,IAAY,EACZ,QAAgB,EAChB,gBAA2B;QAE3B,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC9C,MAAM,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AA7DD,0CA6DC;AAED,iCAA6C;AAApC,2GAAA,kBAAkB,OAAA;AAC3B,6DAAyD;AAAhD,+GAAA,YAAY,OAAA"}
|
|
@@ -17,7 +17,35 @@ const derivation_paths_1 = require("../utils/derivation-paths");
|
|
|
17
17
|
const hardwareSignerUnavailable = (hardware) => Object.assign(new Error(`${hardware} signer is unavailable in this host`), {
|
|
18
18
|
code: 'HARDWARE_SIGNER_UNAVAILABLE',
|
|
19
19
|
});
|
|
20
|
+
const assertHardwareTransactionSender = (signedTx, expectedAddress) => {
|
|
21
|
+
if (transaction_1.Transaction.from(signedTx).from?.toLowerCase() !==
|
|
22
|
+
expectedAddress.toLowerCase()) {
|
|
23
|
+
throw Object.assign(new Error('Hardware signature does not match the approved account'), {
|
|
24
|
+
code: 'HARDWARE_ACCOUNT_MISMATCH',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
};
|
|
20
28
|
const stripHexPrefix = (value) => value.startsWith('0x') || value.startsWith('0X') ? value.slice(2) : value;
|
|
29
|
+
// Connect returns hexadecimal signature fields; normalize their encoding
|
|
30
|
+
// without mutating the response or reparsing an already numeric recovery v.
|
|
31
|
+
const trezorSignature = (signature) => {
|
|
32
|
+
const { r, s, v } = signature;
|
|
33
|
+
if (![r, s].every((value) => /^(?:0x)?[0-9a-f]{64}$/i.test(value))) {
|
|
34
|
+
throw new Error('Invalid Trezor signature scalar encoding');
|
|
35
|
+
}
|
|
36
|
+
if (typeof v === 'string' && !/^(?:0x)?[0-9a-f]+$/i.test(v)) {
|
|
37
|
+
throw new Error('Invalid Trezor signature recovery value');
|
|
38
|
+
}
|
|
39
|
+
const recovery = typeof v === 'number' ? v : Number.parseInt(v, 16);
|
|
40
|
+
if (!Number.isSafeInteger(recovery) || recovery < 0) {
|
|
41
|
+
throw new Error('Invalid Trezor signature recovery value');
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
r: `0x${stripHexPrefix(r)}`,
|
|
45
|
+
s: `0x${stripHexPrefix(s)}`,
|
|
46
|
+
v: recovery,
|
|
47
|
+
};
|
|
48
|
+
};
|
|
21
49
|
const normalizeEthersOverrideValue = (value) => (0, ethers_v6_1.normalizeTxValue)(value);
|
|
22
50
|
const nonNegativeFeeQuantity = (value, label) => {
|
|
23
51
|
// Match the exported BigNumberish object contract without trusting a
|
|
@@ -219,6 +247,7 @@ class EthereumTransactions {
|
|
|
219
247
|
return await this.requireLedgerSigner().evm.signTypedData({
|
|
220
248
|
version,
|
|
221
249
|
accountIndex: activeAccountId,
|
|
250
|
+
expectedAddress: activeAccount.address,
|
|
222
251
|
data: typedData,
|
|
223
252
|
});
|
|
224
253
|
};
|
|
@@ -310,6 +339,7 @@ class EthereumTransactions {
|
|
|
310
339
|
try {
|
|
311
340
|
const response = await this.requireLedgerSigner().evm.signPersonalMessage({
|
|
312
341
|
accountIndex: activeAccountId,
|
|
342
|
+
expectedAddress: activeAccount.address,
|
|
313
343
|
message: msg,
|
|
314
344
|
});
|
|
315
345
|
return response;
|
|
@@ -403,6 +433,7 @@ class EthereumTransactions {
|
|
|
403
433
|
}
|
|
404
434
|
const response = await this.requireLedgerSigner().evm.signPersonalMessage({
|
|
405
435
|
accountIndex: activeAccountId,
|
|
436
|
+
expectedAddress: activeAccount.address,
|
|
406
437
|
message: messageForLedger,
|
|
407
438
|
});
|
|
408
439
|
return response;
|
|
@@ -929,6 +960,7 @@ class EthereumTransactions {
|
|
|
929
960
|
const signature = await this.requireLedgerSigner().evm.signEVMTransaction({
|
|
930
961
|
rawTx: rawTx.replace('0x', ''),
|
|
931
962
|
accountIndex: activeAccountId,
|
|
963
|
+
expectedAddress: activeAccount.address,
|
|
932
964
|
});
|
|
933
965
|
assertCurrent();
|
|
934
966
|
const formattedSignature = {
|
|
@@ -939,6 +971,7 @@ class EthereumTransactions {
|
|
|
939
971
|
if (signature) {
|
|
940
972
|
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, formattedSignature);
|
|
941
973
|
assertCurrent();
|
|
974
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
942
975
|
const transactionResponse = await provider.sendTransaction(signedTx);
|
|
943
976
|
return {
|
|
944
977
|
isCanceled: true,
|
|
@@ -1001,8 +1034,9 @@ class EthereumTransactions {
|
|
|
1001
1034
|
});
|
|
1002
1035
|
assertCurrent();
|
|
1003
1036
|
if (signature.success) {
|
|
1004
|
-
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForTrezor, signature.payload);
|
|
1037
|
+
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForTrezor, trezorSignature(signature.payload));
|
|
1005
1038
|
assertCurrent();
|
|
1039
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
1006
1040
|
const transactionResponse = await provider.sendTransaction(signedTx);
|
|
1007
1041
|
return {
|
|
1008
1042
|
isCanceled: true,
|
|
@@ -1195,6 +1229,7 @@ class EthereumTransactions {
|
|
|
1195
1229
|
const signature = await this.requireLedgerSigner().evm.signEVMTransaction({
|
|
1196
1230
|
rawTx: rawTx.replace('0x', ''),
|
|
1197
1231
|
accountIndex: activeAccountId,
|
|
1232
|
+
expectedAddress: activeAccount.address,
|
|
1198
1233
|
});
|
|
1199
1234
|
assertCurrent();
|
|
1200
1235
|
const formattedSignature = {
|
|
@@ -1205,6 +1240,7 @@ class EthereumTransactions {
|
|
|
1205
1240
|
if (signature) {
|
|
1206
1241
|
try {
|
|
1207
1242
|
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, formattedSignature);
|
|
1243
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
1208
1244
|
assertBeforeBroadcast();
|
|
1209
1245
|
const finalTx = await provider.sendTransaction(signedTx);
|
|
1210
1246
|
return finalTx;
|
|
@@ -1287,8 +1323,8 @@ class EthereumTransactions {
|
|
|
1287
1323
|
chainId: activeNetwork.chainId,
|
|
1288
1324
|
type: 2, // Need explicit type for hardware wallet serialization
|
|
1289
1325
|
};
|
|
1290
|
-
|
|
1291
|
-
|
|
1326
|
+
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, trezorSignature(signature.payload));
|
|
1327
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
1292
1328
|
assertBeforeBroadcast();
|
|
1293
1329
|
const finalTx = await provider.sendTransaction(signedTx);
|
|
1294
1330
|
return finalTx;
|
|
@@ -1516,6 +1552,7 @@ class EthereumTransactions {
|
|
|
1516
1552
|
const signature = await this.requireLedgerSigner().evm.signEVMTransaction({
|
|
1517
1553
|
rawTx: rawTx.replace('0x', ''),
|
|
1518
1554
|
accountIndex: activeAccountId,
|
|
1555
|
+
expectedAddress: activeAccount.address,
|
|
1519
1556
|
});
|
|
1520
1557
|
const formattedSignature = {
|
|
1521
1558
|
r: `0x${signature.r}`,
|
|
@@ -1525,6 +1562,7 @@ class EthereumTransactions {
|
|
|
1525
1562
|
if (signature) {
|
|
1526
1563
|
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, formattedSignature);
|
|
1527
1564
|
assertSignedSender(signedTx);
|
|
1565
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
1528
1566
|
assertBeforeBroadcast();
|
|
1529
1567
|
const transactionResponse = await provider.sendTransaction(signedTx);
|
|
1530
1568
|
return {
|
|
@@ -1601,8 +1639,9 @@ class EthereumTransactions {
|
|
|
1601
1639
|
slip44: activeNetwork.slip44,
|
|
1602
1640
|
});
|
|
1603
1641
|
if (signature.success) {
|
|
1604
|
-
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForTrezor, signature.payload);
|
|
1642
|
+
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForTrezor, trezorSignature(signature.payload));
|
|
1605
1643
|
assertSignedSender(signedTx);
|
|
1644
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
1606
1645
|
assertBeforeBroadcast();
|
|
1607
1646
|
const transactionResponse = await provider.sendTransaction(signedTx);
|
|
1608
1647
|
return {
|
|
@@ -1780,6 +1819,7 @@ class EthereumTransactions {
|
|
|
1780
1819
|
const signature = await this.requireLedgerSigner().evm.signEVMTransaction({
|
|
1781
1820
|
rawTx: rawTx.replace('0x', ''),
|
|
1782
1821
|
accountIndex: activeAccountId,
|
|
1822
|
+
expectedAddress: activeAccount.address,
|
|
1783
1823
|
});
|
|
1784
1824
|
assertCurrent();
|
|
1785
1825
|
const formattedSignature = {
|
|
@@ -1791,6 +1831,7 @@ class EthereumTransactions {
|
|
|
1791
1831
|
try {
|
|
1792
1832
|
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, formattedSignature);
|
|
1793
1833
|
assertCurrent();
|
|
1834
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
1794
1835
|
const finalTx = await provider.sendTransaction(signedTx);
|
|
1795
1836
|
saveTrezorTx && saveTrezorTx(finalTx);
|
|
1796
1837
|
return finalTx;
|
|
@@ -1880,9 +1921,9 @@ class EthereumTransactions {
|
|
|
1880
1921
|
type: 2, // Need explicit type for hardware wallet serialization
|
|
1881
1922
|
};
|
|
1882
1923
|
}
|
|
1883
|
-
|
|
1884
|
-
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, signature.payload);
|
|
1924
|
+
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, trezorSignature(signature.payload));
|
|
1885
1925
|
assertCurrent();
|
|
1926
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
1886
1927
|
const finalTx = await provider.sendTransaction(signedTx);
|
|
1887
1928
|
saveTrezorTx && saveTrezorTx(finalTx);
|
|
1888
1929
|
return finalTx;
|
|
@@ -2001,6 +2042,7 @@ class EthereumTransactions {
|
|
|
2001
2042
|
const signature = await this.requireLedgerSigner().evm.signEVMTransaction({
|
|
2002
2043
|
rawTx: rawTx.replace('0x', ''),
|
|
2003
2044
|
accountIndex: activeAccountId,
|
|
2045
|
+
expectedAddress: activeAccount.address,
|
|
2004
2046
|
});
|
|
2005
2047
|
assertCurrent();
|
|
2006
2048
|
const formattedSignature = {
|
|
@@ -2012,6 +2054,7 @@ class EthereumTransactions {
|
|
|
2012
2054
|
try {
|
|
2013
2055
|
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, formattedSignature);
|
|
2014
2056
|
assertCurrent();
|
|
2057
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
2015
2058
|
const finalTx = await provider.sendTransaction(signedTx);
|
|
2016
2059
|
return finalTx;
|
|
2017
2060
|
}
|
|
@@ -2102,9 +2145,9 @@ class EthereumTransactions {
|
|
|
2102
2145
|
type: 2, // Need explicit type for hardware wallet serialization
|
|
2103
2146
|
};
|
|
2104
2147
|
}
|
|
2105
|
-
|
|
2106
|
-
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, signature.payload);
|
|
2148
|
+
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, trezorSignature(signature.payload));
|
|
2107
2149
|
assertCurrent();
|
|
2150
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
2108
2151
|
const finalTx = await provider.sendTransaction(signedTx);
|
|
2109
2152
|
return finalTx;
|
|
2110
2153
|
}
|
|
@@ -2219,6 +2262,7 @@ class EthereumTransactions {
|
|
|
2219
2262
|
const signature = await this.requireLedgerSigner().evm.signEVMTransaction({
|
|
2220
2263
|
rawTx: rawTx.replace('0x', ''),
|
|
2221
2264
|
accountIndex: activeAccountId,
|
|
2265
|
+
expectedAddress: activeAccount.address,
|
|
2222
2266
|
});
|
|
2223
2267
|
assertCurrent();
|
|
2224
2268
|
const formattedSignature = {
|
|
@@ -2230,6 +2274,7 @@ class EthereumTransactions {
|
|
|
2230
2274
|
try {
|
|
2231
2275
|
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, formattedSignature);
|
|
2232
2276
|
assertCurrent();
|
|
2277
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
2233
2278
|
const finalTx = await provider.sendTransaction(signedTx);
|
|
2234
2279
|
return finalTx;
|
|
2235
2280
|
}
|
|
@@ -2314,9 +2359,9 @@ class EthereumTransactions {
|
|
|
2314
2359
|
type: 2, // Need explicit type for hardware wallet serialization
|
|
2315
2360
|
};
|
|
2316
2361
|
}
|
|
2317
|
-
|
|
2318
|
-
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, signature.payload);
|
|
2362
|
+
const signedTx = (0, ethers_v6_1.serializeTransaction)(txFormattedForEthers, trezorSignature(signature.payload));
|
|
2319
2363
|
assertCurrent();
|
|
2364
|
+
assertHardwareTransactionSender(signedTx, activeAccount.address);
|
|
2320
2365
|
const finalTx = await provider.sendTransaction(signedTx);
|
|
2321
2366
|
return finalTx;
|
|
2322
2367
|
}
|