Skip to content

Commit

Permalink
fix: remove ledger clear signing
Browse files Browse the repository at this point in the history
  • Loading branch information
heisenberg-2077 committed Dec 5, 2024
1 parent 90eb11f commit 2fcc0e0
Showing 1 changed file with 24 additions and 39 deletions.
63 changes: 24 additions & 39 deletions src/background/service/keyring/eth-ledger-keyring.ts
Original file line number Diff line number Diff line change
Expand Up @@ -403,45 +403,30 @@ class LedgerBridgeKeyring {
try {
await this.makeApp(true);

let res: {
v: number;
s: string;
r: string;
};

// https://github.com/LedgerHQ/ledger-live/blob/5bae039273beeeb02d8640d778fd7bf5f7fd3776/libs/coin-evm/src/hw-signMessage.ts#L68C7-L79C10
try {
res = await this.app!.signEIP712Message(hdPath, data);
} catch (e) {
const shouldFallbackOnHashedMethod =
'statusText' in e && e.statusText === 'INS_NOT_SUPPORTED';
if (!shouldFallbackOnHashedMethod) throw e;

const {
domain,
types,
primaryType,
message,
} = sigUtil.TypedDataUtils.sanitizeData(data);
const domainSeparatorHex = sigUtil.TypedDataUtils.hashStruct(
'EIP712Domain',
domain,
types,
isV4
).toString('hex');
const hashStructMessageHex = sigUtil.TypedDataUtils.hashStruct(
primaryType as string,
message,
types,
isV4
).toString('hex');

res = await this.app!.signEIP712HashedMessage(
hdPath,
domainSeparatorHex,
hashStructMessageHex
);
}
const {
domain,
types,
primaryType,
message,
} = sigUtil.TypedDataUtils.sanitizeData(data);
const domainSeparatorHex = sigUtil.TypedDataUtils.hashStruct(
'EIP712Domain',
domain,
types,
isV4
).toString('hex');
const hashStructMessageHex = sigUtil.TypedDataUtils.hashStruct(
primaryType as string,
message,
types,
isV4
).toString('hex');

const res = await this.app!.signEIP712HashedMessage(
hdPath,
domainSeparatorHex,
hashStructMessageHex
);

let v = res.v.toString(16);
if (v.length < 2) {
Expand Down

0 comments on commit 2fcc0e0

Please sign in to comment.