Skip to content

Commit 5de7bbf

Browse files
committed
chore: fix lint
1 parent fd4553b commit 5de7bbf

File tree

18 files changed

+353
-291
lines changed

18 files changed

+353
-291
lines changed

app/offscreen/onekey.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export default function init() {
7676
const settings: Partial<ConnectSettings> = {
7777
debug: true,
7878
fetchConfig: false,
79-
connectSrc: 'https://jssdk.onekey.so/1.1.5/',
79+
connectSrc: 'https://jssdk.onekey.so/1.1.17/',
8080
env: msg.params.env,
8181
};
8282

app/scripts/controller-init/keyring-controller-init.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,23 @@ import { QrKeyring, QrKeyringScannerBridge } from '@metamask/eth-qr-keyring';
66
import { KeyringClass } from '@metamask/keyring-utils';
77
import LatticeKeyring from 'eth-lattice-keyring';
88
import {
9-
OneKeyKeyring,
109
TrezorConnectBridge,
1110
TrezorKeyring,
1211
} from '@metamask/eth-trezor-keyring';
1312
import {
1413
LedgerIframeBridge,
1514
LedgerKeyring,
1615
} from '@metamask/eth-ledger-bridge-keyring';
16+
import { OneKeyWebBridge, OneKeyKeyring } from '@metamask/eth-onekey-keyring';
1717
import { hardwareKeyringBuilderFactory } from '../lib/hardware-keyring-builder-factory';
1818
import { isManifestV3 } from '../../../shared/modules/mv3.utils';
1919
import { qrKeyringBuilderFactory } from '../lib/qr-keyring-builder-factory';
2020
import { encryptorFactory } from '../lib/encryptor-factory';
2121
import { TrezorOffscreenBridge } from '../lib/offscreen-bridge/trezor-offscreen-bridge';
2222
import { LedgerOffscreenBridge } from '../lib/offscreen-bridge/ledger-offscreen-bridge';
23-
import { OneKeyOffscreenBridge } from './lib/offscreen-bridge/onekey-offscreen-bridge';
23+
import { OneKeyOffscreenBridge } from '../lib/offscreen-bridge/onekey-offscreen-bridge';
2424
import { LatticeKeyringOffscreen } from '../lib/offscreen-bridge/lattice-offscreen-keyring';
25-
import { hardwareOneKeyKeyringBuilderFactory } from './lib/hardware-onekey-keyring-builder-factory';
25+
import { hardwareOneKeyKeyringBuilderFactory } from '../lib/hardware-onekey-keyring-builder-factory';
2626
import { ControllerInitFunction } from './types';
2727
import {
2828
KeyringControllerMessenger,
@@ -42,6 +42,7 @@ import {
4242
* bridges.
4343
* @param request.encryptor - Optional encryptor to use for the controller.
4444
* @param request.getController - Function to get other controllers.
45+
* @param request.platform
4546
* @returns The initialized controller.
4647
*/
4748
export const KeyringControllerInit: ControllerInitFunction<
@@ -55,6 +56,7 @@ export const KeyringControllerInit: ControllerInitFunction<
5556
keyringOverrides,
5657
encryptor,
5758
getController,
59+
platform,
5860
}) => {
5961
const additionalKeyrings = [
6062
qrKeyringBuilderFactory(
@@ -85,24 +87,25 @@ export const KeyringControllerInit: ControllerInitFunction<
8587
LedgerKeyring as unknown as KeyringClass,
8688
keyringOverrides?.ledgerBridge || LedgerIframeBridge,
8789
),
90+
hardwareKeyringBuilderFactory(
91+
OneKeyKeyring as unknown as KeyringClass,
92+
keyringOverrides?.oneKey || OneKeyWebBridge,
93+
),
8894
);
8995
} else {
9096
additionalKeyrings.push(
9197
hardwareKeyringBuilderFactory(
9298
TrezorKeyring as unknown as KeyringClass,
9399
keyringOverrides?.trezorBridge || TrezorOffscreenBridge,
94100
),
95-
hardwareKeyringBuilderFactory(
96-
OneKeyKeyring as unknown as KeyringClass,
97-
keyringOverrides?.oneKey || TrezorOffscreenBridge,
98-
),
99101
hardwareKeyringBuilderFactory(
100102
LedgerKeyring as unknown as KeyringClass,
101103
keyringOverrides?.ledgerBridge || LedgerOffscreenBridge,
102104
),
103105
hardwareOneKeyKeyringBuilderFactory(
104-
OneKeyKeyring,
106+
OneKeyKeyring as unknown as KeyringClass,
105107
keyringOverrides?.oneKey || OneKeyOffscreenBridge,
108+
platform,
106109
),
107110
keyringBuilderFactory(LatticeKeyringOffscreen as unknown as KeyringClass),
108111
);

app/scripts/controller-init/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import ExtensionPlatform from '../platforms/extension';
1818
// This import is only used for the type.
1919
// eslint-disable-next-line import/no-restricted-paths
2020
import type { MetaMaskReduxState } from '../../../ui/store/store';
21+
import { OneKeyOffscreenBridge } from '../lib/offscreen-bridge/onekey-offscreen-bridge';
2122
import { Controller, ControllerFlatState } from './controller-list';
2223

2324
/** The supported controller names. */
@@ -144,7 +145,7 @@ export type ControllerInitRequest<
144145
qrBridge?: typeof QrKeyringScannerBridge;
145146
lattice?: KeyringClass;
146147
trezorBridge?: HardwareTransportBridgeClass;
147-
oneKey?: HardwareTransportBridgeClass;
148+
oneKey?: typeof OneKeyOffscreenBridge;
148149
ledgerBridge?: HardwareTransportBridgeClass;
149150
};
150151

app/scripts/lib/hardware-onekey-keyring-builder-factory.ts

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import {
2-
ONEKEY_HARDWARE_UI_EVENT,
3-
type OneKeyBridge,
4-
} from '@metamask/eth-onekey-keyring';
5-
import { KeyringClass, Json } from '@metamask/utils';
6-
import { Platform } from '../../../types/global';
1+
import { type OneKeyBridge } from '@metamask/eth-onekey-keyring';
2+
import { KeyringClass } from '@metamask/keyring-utils';
73
// eslint-disable-next-line import/no-restricted-paths
84
import { HARDWARE_ONEKEY_ERRORS_ROUTE } from '../../../ui/helpers/constants/routes';
5+
import ExtensionPlatform from '../platforms/extension';
96

107
/**
118
* A transport bridge between the keyring and the hardware device.
@@ -24,23 +21,24 @@ export type HardwareTransportBridgeClass = new () => OneKeyBridge;
2421
* @returns A builder function for the given Keyring.
2522
*/
2623
export function hardwareOneKeyKeyringBuilderFactory(
27-
Keyring: KeyringClass<Json>,
24+
Keyring: KeyringClass,
2825
Bridge: HardwareTransportBridgeClass,
29-
platform?: Platform,
26+
platform?: ExtensionPlatform,
3027
) {
3128
const builder = () => {
32-
const keyring = new Keyring({ bridge: new Bridge() });
33-
if ('on' in keyring && typeof keyring.on === 'function') {
34-
keyring.on(
35-
ONEKEY_HARDWARE_UI_EVENT,
36-
(payload: { type: string; code: number }) => {
37-
platform?.openExtensionInBrowser?.(
38-
`${HARDWARE_ONEKEY_ERRORS_ROUTE}/${payload.type ?? payload.code}`,
39-
);
40-
},
41-
);
29+
const bridge = new Bridge();
30+
if (
31+
'setUiEventCallback' in bridge &&
32+
typeof bridge.setUiEventCallback === 'function'
33+
) {
34+
bridge.setUiEventCallback((payload: { type: string; code: number }) => {
35+
platform?.openExtensionInBrowser?.(
36+
`${HARDWARE_ONEKEY_ERRORS_ROUTE}/${payload.type ?? payload.code}`,
37+
);
38+
});
4239
}
43-
return keyring;
40+
41+
return new Keyring({ bridge });
4442
};
4543

4644
builder.type = Keyring.type;

app/scripts/lib/offscreen-bridge/onekey-offscreen-bridge.ts

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
import {
2-
ONEKEY_HARDWARE_UI_EVENT,
3-
OneKeyBridge,
4-
} from '@metamask/eth-onekey-keyring';
1+
import { OneKeyBridge } from '@metamask/eth-onekey-keyring';
52
import type {
63
Params,
74
Response as OneKeyResponse,
85
EVMSignedTx,
96
EVMSignTransactionParams,
107
EVMSignMessageParams,
118
EVMSignTypedDataParams,
9+
Unsuccessful,
1210
} from '@onekeyfe/hd-core';
1311
import type { EthereumMessageSignature } from '@onekeyfe/hd-transport';
1412
import {
@@ -30,17 +28,10 @@ import {
3028
export class OneKeyOffscreenBridge implements OneKeyBridge {
3129
model: string | undefined;
3230

33-
private listeners: Map<string, (payload: unknown) => void> = new Map();
34-
35-
on(event: string, listener: (payload: unknown) => void) {
36-
this.listeners.set(event, listener);
37-
}
31+
private onUIEvent?: ((event: Unsuccessful['payload']) => void) | undefined;
3832

39-
off(event: string) {
40-
if (!this.listeners.has(event)) {
41-
return;
42-
}
43-
this.listeners.delete(event);
33+
setUiEventCallback(callback: (event: Unsuccessful['payload']) => void): void {
34+
this.onUIEvent = callback;
4435
}
4536

4637
init() {
@@ -54,9 +45,8 @@ export class OneKeyOffscreenBridge implements OneKeyBridge {
5445
msg.target === OffscreenCommunicationTarget.extension &&
5546
msg.event === OffscreenCommunicationEvents.onekeyDeviceConnectError
5647
) {
57-
const listener = this.listeners.get(ONEKEY_HARDWARE_UI_EVENT);
58-
if (listener) {
59-
listener(msg.payload);
48+
if (this.onUIEvent) {
49+
this.onUIEvent(msg.payload);
6050
}
6151
}
6252
});
@@ -79,6 +69,7 @@ export class OneKeyOffscreenBridge implements OneKeyBridge {
7969

8070
dispose() {
8171
return new Promise<void>((resolve) => {
72+
this.onUIEvent = undefined;
8273
chrome.runtime.sendMessage(
8374
{
8475
target: OffscreenCommunicationTarget.onekeyOffscreen,

app/scripts/metamask-controller.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ import {
7878
bytesToHex,
7979
} from '@metamask/utils';
8080
import { normalize } from '@metamask/eth-sig-util';
81-
import { OneKeyKeyring, OneKeyWebBridge } from '@metamask/eth-onekey-keyring';
81+
import { OneKeyKeyring } from '@metamask/eth-onekey-keyring';
8282
import { TRIGGER_TYPES } from '@metamask/notification-services-controller/notification-services';
8383

8484
import {

0 commit comments

Comments
 (0)