Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
chore: fix lint
  • Loading branch information
ByteZhang1024 committed Aug 22, 2025
commit a18c7794d3a2f7118c7f2a986ce42aa4f92c6aaa
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ This repository contains the following packages [^fn1]:
- [`@metamask/account-api`](packages/account-api)
- [`@metamask/eth-hd-keyring`](packages/keyring-eth-hd)
- [`@metamask/eth-ledger-bridge-keyring`](packages/keyring-eth-ledger-bridge)
- [`@metamask/eth-onekey-keyring`](packages/keyring-eth-onekey)
- [`@metamask/eth-qr-keyring`](packages/keyring-eth-qr)
- [`@metamask/eth-simple-keyring`](packages/keyring-eth-simple)
- [`@metamask/eth-snap-keyring`](packages/keyring-snap-bridge)
Expand All @@ -40,6 +41,7 @@ linkStyle default opacity:0.5
keyring_api(["@metamask/keyring-api"]);
eth_hd_keyring(["@metamask/eth-hd-keyring"]);
eth_ledger_bridge_keyring(["@metamask/eth-ledger-bridge-keyring"]);
eth_onekey_keyring(["@metamask/eth-onekey-keyring"]);
eth_qr_keyring(["@metamask/eth-qr-keyring"]);
eth_simple_keyring(["@metamask/eth-simple-keyring"]);
eth_trezor_keyring(["@metamask/eth-trezor-keyring"]);
Expand Down
6 changes: 3 additions & 3 deletions packages/keyring-eth-onekey/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ module.exports = merge(baseConfig, {
// An object that configures minimum threshold enforcement for coverage results
coverageThreshold: {
global: {
branches: 74.2,
branches: 74.31,
functions: 91.25,
lines: 92.78,
statements: 92.83,
lines: 92.83,
statements: 92.88,
},
},
});
51 changes: 19 additions & 32 deletions packages/keyring-eth-onekey/src/onekey-keyring.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,25 @@ import { OneKeyWebBridge } from './onekey-web-bridge';

const CONNECT_SRC = 'https://jssdk.onekey.so/1.1.5/';
const fakeAccounts = [
'0xF30952A1c534CDE7bC471380065726fa8686dfB3',
'0x44fe3Cf56CaF651C4bD34Ae6dbcffa34e9e3b84B',
'0x8Ee3374Fa705C1F939715871faf91d4348D5b906',
'0xEF69e24dE9CdEe93C4736FE29791E45d5D4CFd6A',
'0xC668a5116A045e9162902795021907Cb15aa2620',
'0xbF519F7a6D8E72266825D770C60dbac55a3baeb9',
'0x0258632Fe2F91011e06375eB0E6f8673C0463204',
'0x4fC1700C0C61980aef0Fb9bDBA67D8a25B5d4335',
'0xeEC5D417152aE295c047FB0B0eBd7c7090dDedEb',
'0xd3f978B9eEEdB68A38CF252B3779afbeb3623fDf',
'0xd819fE2beD53f44825F66873a159B687736d3092',
'0xE761dA62f053ad9eE221d325657535991Ab659bD',
'0xd4F1686961642340a80334b5171d85Bbd390c691',
'0x6772C4B1E841b295960Bb4662dceD9bb71726357',
'0x41bEAD6585eCA6c79B553Ca136f0DFA78A006899',
'0x73d0385F4d8E00C5e6504C6030F47BF6212736A8',
'0xFA01a39f8Abaeb660c3137f14A310d0b414b2A15',
'0x574BbB36871bA6b78E27f4B4dCFb76eA0091880B',
'0xba98D6a5ac827632E3457De7512d211e4ff7e8bD',
'0x1f815D67006163E502b8eD4947C91ad0A62De24e',
'0xf69619a3dCAA63757A6BA0AF3628f5F6C42c50d2',
'0xA8664Df3D5E74BE57c19fC7005BBcd0F5328041e',
'0xf2252f414e727d652d5a488fE4BFf7e64478737F',
'0x5708Ae081b48ad7bA8c50ca3D4fa0238d544D6FA',
'0x12eF7dfb86f6D5E3e0521b72472ca02D2a3814F4',
'0x9115Fa64b8B9864D6545Fc00d62B6A9Cbb876be7',
'0x8B6cF2eA1A54E054EFC35E4244Ac507c479bb5F6',
'0x6C480ba4409dd5FF29Cbd3ED67152B791750a708',
'0x5f2E5ddEd3DBD431deCc406Ae999F277B625Ba25',
'0x8a143C4CCed2ce826DE598Dbbf7C706cD6DB0Ccd',
] as const;

const fakeXPubKey =
'xpub6FnCn6nSzZAw5Tw7cgR9bi15UV96gLZhjDstkXXxvCLsUXBGXPdSnLFbdpq8p9HmGsApME5hQTZ3emM2rnY5agb9rXpVGyy3bdW6EEgAtqt';
'xpub6CNFa58kEQJu2hwMVoofpDEKVVSg6gfwqBqE2zHAianaUnQkrJzJJ42iLDp7Dmg2aP88qCKoFZ4jidk3tECdQuF4567NGHDfe7iBRwHxgke';
const fakeHdKey = HDKey.fromExtendedKey(fakeXPubKey);
const fakeTx = new EthereumTx({
nonce: '0x00',
Expand Down Expand Up @@ -1143,12 +1143,7 @@ describe('OneKeyKeyring', function () {
const unlockResult = 'unlocked';
const unlockSpy = sinon.stub(keyring, 'unlock').resolves(unlockResult);

// Mock bridge methods to avoid actual hardware calls (33-byte public key)
keyring.hdk.publicKey = Buffer.from(`02${'0'.repeat(64)}`, 'hex'); // 33 bytes
keyring.hdk.chainCode = Buffer.from(
'123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01',
'hex',
); // 32 bytes
keyring.hdk = fakeHdKey;

const accounts = await keyring.addAccounts(1);
expect(accounts).toHaveLength(1);
Expand All @@ -1164,11 +1159,7 @@ describe('OneKeyKeyring', function () {
const unlockResult = 'unlocked';
const unlockSpy = sinon.stub(keyring, 'unlock').resolves(unlockResult);

keyring.hdk.publicKey = Buffer.from(`02${'0'.repeat(64)}`, 'hex'); // 33 bytes
keyring.hdk.chainCode = Buffer.from(
'123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01',
'hex',
); // 32 bytes
keyring.hdk = fakeHdKey;

const accounts = await keyring.addAccounts(1);
expect(accounts).toHaveLength(1);
Expand All @@ -1191,11 +1182,7 @@ describe('OneKeyKeyring', function () {
keyring.hdPath = "m/44'/60'/x'/0/0"; // Ledger Live path (not in ALLOWED_HD_PATHS but we set directly)

const unlockSpy = sinon.stub(keyring, 'unlock').resolves('unlocked');
keyring.hdk.publicKey = Buffer.from(`02${'0'.repeat(64)}`, 'hex');
keyring.hdk.chainCode = Buffer.from(
'123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01',
'hex',
);
keyring.hdk = fakeHdKey;

// This should trigger the Ledger Live error paths during addAccounts
try {
Expand Down
3 changes: 3 additions & 0 deletions packages/keyring-eth-onekey/src/onekey-keyring.ts
Original file line number Diff line number Diff line change
Expand Up @@ -640,6 +640,9 @@ export class OneKeyKeyring extends EventEmitter {
if (this.#isLedgerLiveHdPath()) {
throw new Error('Ledger Live is not supported');
}
if (this.#isStandardBip44HdPath()) {
return `${pathBase}/0/${index}`;
}
return `${pathBase}/${index}`;
}

Expand Down
89 changes: 8 additions & 81 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5282,14 +5282,7 @@ __metadata:
languageName: node
linkType: hard

"bignumber.js@npm:^9.0.0, bignumber.js@npm:^9.0.1, bignumber.js@npm:^9.1.2, bignumber.js@npm:^9.3.0":
version: 9.3.0
resolution: "bignumber.js@npm:9.3.0"
checksum: 10/60b79efcf7b56b925fca8eebd10d1f4b70aa2bf6eade7f5af0266f0092226dd2abcd9a3ee315ecb39459750d5a630ce3980b707e5d7bea32c97ffd378e8cc159
languageName: node
linkType: hard

"bignumber.js@npm:^9.0.2":
"bignumber.js@npm:^9.0.0, bignumber.js@npm:^9.0.1, bignumber.js@npm:^9.0.2, bignumber.js@npm:^9.1.2, bignumber.js@npm:^9.3.0":
version: 9.3.1
resolution: "bignumber.js@npm:9.3.1"
checksum: 10/1be0372bf0d6d29d0a49b9e6a9cefbd54dad9918232ad21fcd4ec39030260773abf0c76af960c6b3b98d3115a3a71e61c6a111812d1395040a039cfa178e0245
Expand Down Expand Up @@ -6518,16 +6511,7 @@ __metadata:
languageName: node
linkType: hard

"es-define-property@npm:^1.0.0":
version: 1.0.0
resolution: "es-define-property@npm:1.0.0"
dependencies:
get-intrinsic: "npm:^1.2.4"
checksum: 10/f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6
languageName: node
linkType: hard

"es-define-property@npm:^1.0.1":
"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1":
version: 1.0.1
resolution: "es-define-property@npm:1.0.1"
checksum: 10/f8dc9e660d90919f11084db0a893128f3592b781ce967e4fccfb8f3106cb83e400a4032c559184ec52ee1dbd4b01e7776c7cd0b3327b1961b1a4a7008920fe78
Expand Down Expand Up @@ -7438,7 +7422,7 @@ __metadata:
languageName: node
linkType: hard

"follow-redirects@npm:^1.15.4":
"follow-redirects@npm:^1.15.4, follow-redirects@npm:^1.15.6":
version: 1.15.11
resolution: "follow-redirects@npm:1.15.11"
peerDependenciesMeta:
Expand All @@ -7448,16 +7432,6 @@ __metadata:
languageName: node
linkType: hard

"follow-redirects@npm:^1.15.6":
version: 1.15.9
resolution: "follow-redirects@npm:1.15.9"
peerDependenciesMeta:
debug:
optional: true
checksum: 10/e3ab42d1097e90d28b913903841e6779eb969b62a64706a3eb983e894a5db000fbd89296f45f08885a0e54cd558ef62e81be1165da9be25a6c44920da10f424c
languageName: node
linkType: hard

"for-each@npm:^0.3.3":
version: 0.3.3
resolution: "for-each@npm:0.3.3"
Expand All @@ -7477,18 +7451,7 @@ __metadata:
languageName: node
linkType: hard

"form-data@npm:^4.0.0":
version: 4.0.0
resolution: "form-data@npm:4.0.0"
dependencies:
asynckit: "npm:^0.4.0"
combined-stream: "npm:^1.0.8"
mime-types: "npm:^2.1.12"
checksum: 10/7264aa760a8cf09482816d8300f1b6e2423de1b02bba612a136857413fdc96d7178298ced106817655facc6b89036c6e12ae31c9eb5bdc16aabf502ae8a5d805
languageName: node
linkType: hard

"form-data@npm:^4.0.4":
"form-data@npm:^4.0.0, form-data@npm:^4.0.4":
version: 4.0.4
resolution: "form-data@npm:4.0.4"
dependencies:
Expand Down Expand Up @@ -7589,20 +7552,7 @@ __metadata:
languageName: node
linkType: hard

"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4":
version: 1.2.4
resolution: "get-intrinsic@npm:1.2.4"
dependencies:
es-errors: "npm:^1.3.0"
function-bind: "npm:^1.1.2"
has-proto: "npm:^1.0.1"
has-symbols: "npm:^1.0.3"
hasown: "npm:^2.0.0"
checksum: 10/85bbf4b234c3940edf8a41f4ecbd4e25ce78e5e6ad4e24ca2f77037d983b9ef943fd72f00f3ee97a49ec622a506b67db49c36246150377efcda1c9eb03e5f06d
languageName: node
linkType: hard

"get-intrinsic@npm:^1.2.6":
"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.6":
version: 1.3.0
resolution: "get-intrinsic@npm:1.3.0"
dependencies:
Expand Down Expand Up @@ -7823,16 +7773,7 @@ __metadata:
languageName: node
linkType: hard

"gopd@npm:^1.0.1":
version: 1.0.1
resolution: "gopd@npm:1.0.1"
dependencies:
get-intrinsic: "npm:^1.1.3"
checksum: 10/5fbc7ad57b368ae4cd2f41214bd947b045c1a4be2f194a7be1778d71f8af9dbf4004221f3b6f23e30820eb0d052b4f819fe6ebe8221e2a3c6f0ee4ef173421ca
languageName: node
linkType: hard

"gopd@npm:^1.2.0":
"gopd@npm:^1.0.1, gopd@npm:^1.2.0":
version: 1.2.0
resolution: "gopd@npm:1.2.0"
checksum: 10/94e296d69f92dc1c0768fcfeecfb3855582ab59a7c75e969d5f96ce50c3d201fd86d5a2857c22565764d5bb8a816c7b1e58f133ec318cd56274da36c5e3fb1a1
Expand Down Expand Up @@ -7876,21 +7817,7 @@ __metadata:
languageName: node
linkType: hard

"has-proto@npm:^1.0.1":
version: 1.0.1
resolution: "has-proto@npm:1.0.1"
checksum: 10/eab2ab0ed1eae6d058b9bbc4c1d99d2751b29717be80d02fd03ead8b62675488de0c7359bc1fdd4b87ef6fd11e796a9631ad4d7452d9324fdada70158c2e5be7
languageName: node
linkType: hard

"has-symbols@npm:^1.0.3":
version: 1.0.3
resolution: "has-symbols@npm:1.0.3"
checksum: 10/464f97a8202a7690dadd026e6d73b1ceeddd60fe6acfd06151106f050303eaa75855aaa94969df8015c11ff7c505f196114d22f7386b4a471038da5874cf5e9b
languageName: node
linkType: hard

"has-symbols@npm:^1.1.0":
"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0":
version: 1.1.0
resolution: "has-symbols@npm:1.1.0"
checksum: 10/959385c98696ebbca51e7534e0dc723ada325efa3475350951363cce216d27373e0259b63edb599f72eb94d6cde8577b4b2375f080b303947e560f85692834fa
Expand Down Expand Up @@ -7934,7 +7861,7 @@ __metadata:
languageName: node
linkType: hard

"hasown@npm:^2.0.0, hasown@npm:^2.0.2":
"hasown@npm:^2.0.2":
version: 2.0.2
resolution: "hasown@npm:2.0.2"
dependencies:
Expand Down
Loading