Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
4 changes: 2 additions & 2 deletions packages/connect-examples/electron-example/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "hardware-example",
"productName": "HardwareExample",
"executableName": "onekey-hardware-example",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"author": "OneKey",
"description": "End-to-end encrypted workspaces for teams",
"main": "dist/index.js",
Expand All @@ -22,7 +22,7 @@
"ts:check": "yarn tsc --noEmit"
},
"dependencies": {
"@onekeyfe/hd-transport-electron": "1.1.20-alpha.2",
"@onekeyfe/hd-transport-electron": "1.1.20",
"@stoprocent/noble": "2.3.4",
"debug": "4.3.4",
"electron-is-dev": "^3.0.1",
Expand Down
10 changes: 5 additions & 5 deletions packages/connect-examples/expo-example/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "expo-example",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"scripts": {
"start": "cross-env CONNECT_SRC=https://localhost:8087/ yarn expo start --dev-client",
"android": "yarn expo run:android",
Expand All @@ -19,10 +19,10 @@
"@noble/ed25519": "^2.1.0",
"@noble/hashes": "^1.3.3",
"@noble/secp256k1": "^1.7.1",
"@onekeyfe/hd-ble-sdk": "1.1.20-alpha.2",
"@onekeyfe/hd-common-connect-sdk": "1.1.20-alpha.2",
"@onekeyfe/hd-core": "1.1.20-alpha.2",
"@onekeyfe/hd-web-sdk": "1.1.20-alpha.2",
"@onekeyfe/hd-ble-sdk": "1.1.20",
"@onekeyfe/hd-common-connect-sdk": "1.1.20",
"@onekeyfe/hd-core": "1.1.20",
"@onekeyfe/hd-web-sdk": "1.1.20",
"@onekeyfe/react-native-ble-utils": "^0.1.3",
"@polkadot/util-crypto": "13.1.1",
"@react-native-async-storage/async-storage": "1.21.0",
Expand Down
8 changes: 4 additions & 4 deletions packages/connect-examples/expo-playground/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "onekey-hardware-playground",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"private": true,
"sideEffects": [
"app/utils/shim.js",
Expand All @@ -17,9 +17,9 @@
},
"dependencies": {
"@noble/hashes": "^1.8.0",
"@onekeyfe/hd-common-connect-sdk": "1.1.20-alpha.2",
"@onekeyfe/hd-core": "1.1.20-alpha.2",
"@onekeyfe/hd-shared": "1.1.20-alpha.2",
"@onekeyfe/hd-common-connect-sdk": "1.1.20",
"@onekeyfe/hd-core": "1.1.20",
"@onekeyfe/hd-shared": "1.1.20",
"@radix-ui/react-checkbox": "^1.3.2",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-dropdown-menu": "^2.1.15",
Expand Down
6 changes: 3 additions & 3 deletions packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-core",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"description": "Core processes and APIs for communicating with OneKey hardware devices.",
"author": "OneKey",
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
Expand All @@ -25,8 +25,8 @@
"url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
},
"dependencies": {
"@onekeyfe/hd-shared": "1.1.20-alpha.2",
"@onekeyfe/hd-transport": "1.1.20-alpha.2",
"@onekeyfe/hd-shared": "1.1.20",
"@onekeyfe/hd-transport": "1.1.20",
"axios": "1.12.2",
"bignumber.js": "^9.0.2",
"bytebuffer": "^5.0.1",
Expand Down
62 changes: 49 additions & 13 deletions packages/core/src/data-manager/DataManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@ import { EDeviceType, EFirmwareType } from '@onekeyfe/hd-shared';
import MessagesJSON from '../data/messages/messages.json';
import MessagesLegacyV1JSON from '../data/messages/messages_legacy_v1.json';
import {
LoggerNames,
getDeviceBLEFirmwareVersion,
getDeviceFirmwareVersion,
getDeviceType,
getFirmwareType,
getFirmwareUpdateField,
getLogger,
getTimeStamp,
} from '../utils';
import { DeviceModelToTypes } from '../types';
Expand All @@ -27,6 +29,8 @@ import type {
RemoteConfigResponse,
} from '../types';

const Log = getLogger(LoggerNames.Core);

export const FIRMWARE_FIELDS = [
'firmware',
'firmware-v2',
Expand Down Expand Up @@ -387,18 +391,50 @@ export default class DataManager {
if (!settings.fetchConfig) {
return;
}
try {
const url = settings.preRelease
? 'https://data.onekey.so/pre-config.json'
: 'https://data.onekey.so/config.json';

const { data } = await axios.get<RemoteConfigResponse>(
`${url}?noCache=${getTimeStamp()}`,
// because of iframe timeout is 10000
{
timeout: 7000,

const url = settings.preRelease
? 'https://data.onekey.so/pre-config.json'
: 'https://data.onekey.so/config.json';

const urlWithCache = `${url}?noCache=${getTimeStamp()}`;
let data: RemoteConfigResponse | null = null;
let fetchMethod: 'configFetcher' | 'axios' | 'none' = 'none';

// 1. Try custom configFetcher first (client-side IP direct connection support)
if (settings.configFetcher) {
Log.debug('[DataConfig] Trying configFetcher (client-side fetcher)...');
try {
data = await settings.configFetcher(urlWithCache);
if (data) {
fetchMethod = 'configFetcher';
Log.log('[DataConfig] ConfigFetcher success');
} else {
Log.debug('[DataConfig] ConfigFetcher returned null, will fallback to axios');
}
);
} catch (e) {
Log.warn('[DataConfig] ConfigFetcher error, will fallback to axios:', e);
}
}

// 2. Fallback to default axios request
if (!data) {
Log.debug('[DataConfig] Trying axios (SDK default fetcher)...');
try {
const response = await axios.get<RemoteConfigResponse>(urlWithCache, {
// because of iframe timeout is 10000
timeout: 7000,
});
data = response.data;
fetchMethod = 'axios';
Log.log('[DataConfig] Axios fetch success');
} catch (e) {
Log.warn('[DataConfig] Axios fetch error:', e);
}
}

// 3. Apply config if available
if (data) {
Log.log(`[DataConfig] Config loaded successfully via [${fetchMethod}]`);
this.deviceMap = {
[EDeviceType.Classic]: this.enrichFirmwareReleaseInfo(data.classic),
[EDeviceType.Classic1s]: this.enrichFirmwareReleaseInfo(data.classic1s),
Expand All @@ -410,8 +446,8 @@ export default class DataManager {
this.assets = {
bridge: data.bridge,
};
} catch (e) {
// ignore
} else {
Log.warn('[DataConfig] All fetch methods failed, using built-in default config');
}
}

Expand Down
1 change: 1 addition & 0 deletions packages/core/src/types/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ export type ConnectSettings = {
preRelease?: boolean;
fetchConfig?: boolean;
extension?: string;
configFetcher?: (url: string) => Promise<RemoteConfigResponse | null>;
};

export type IVersionArray = [number, number, number];
Expand Down
8 changes: 4 additions & 4 deletions packages/hd-ble-sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-ble-sdk",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"author": "OneKey",
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
"license": "ISC",
Expand All @@ -20,8 +20,8 @@
"lint:fix": "eslint . --fix"
},
"dependencies": {
"@onekeyfe/hd-core": "1.1.20-alpha.2",
"@onekeyfe/hd-shared": "1.1.20-alpha.2",
"@onekeyfe/hd-transport-react-native": "1.1.20-alpha.2"
"@onekeyfe/hd-core": "1.1.20",
"@onekeyfe/hd-shared": "1.1.20",
"@onekeyfe/hd-transport-react-native": "1.1.20"
}
}
14 changes: 7 additions & 7 deletions packages/hd-common-connect-sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-common-connect-sdk",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"author": "OneKey",
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
"license": "ISC",
Expand All @@ -20,11 +20,11 @@
"lint:fix": "eslint . --fix"
},
"dependencies": {
"@onekeyfe/hd-core": "1.1.20-alpha.2",
"@onekeyfe/hd-shared": "1.1.20-alpha.2",
"@onekeyfe/hd-transport-emulator": "1.1.20-alpha.2",
"@onekeyfe/hd-transport-http": "1.1.20-alpha.2",
"@onekeyfe/hd-transport-lowlevel": "1.1.20-alpha.2",
"@onekeyfe/hd-transport-web-device": "1.1.20-alpha.2"
"@onekeyfe/hd-core": "1.1.20",
"@onekeyfe/hd-shared": "1.1.20",
"@onekeyfe/hd-transport-emulator": "1.1.20",
"@onekeyfe/hd-transport-http": "1.1.20",
"@onekeyfe/hd-transport-lowlevel": "1.1.20",
"@onekeyfe/hd-transport-web-device": "1.1.20"
}
}
8 changes: 4 additions & 4 deletions packages/hd-transport-electron/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-transport-electron",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"author": "OneKey",
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
"license": "MIT",
Expand All @@ -25,9 +25,9 @@
"electron-log": ">=4.0.0"
},
"dependencies": {
"@onekeyfe/hd-core": "1.1.20-alpha.2",
"@onekeyfe/hd-shared": "1.1.20-alpha.2",
"@onekeyfe/hd-transport": "1.1.20-alpha.2",
"@onekeyfe/hd-core": "1.1.20",
"@onekeyfe/hd-shared": "1.1.20",
"@onekeyfe/hd-transport": "1.1.20",
"@stoprocent/noble": "2.3.4",
"p-retry": "^4.6.2"
},
Expand Down
6 changes: 3 additions & 3 deletions packages/hd-transport-emulator/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-transport-emulator",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"description": "hardware emulator transport",
"author": "OneKey",
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
Expand All @@ -24,8 +24,8 @@
"url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
},
"dependencies": {
"@onekeyfe/hd-shared": "1.1.20-alpha.2",
"@onekeyfe/hd-transport": "1.1.20-alpha.2",
"@onekeyfe/hd-shared": "1.1.20",
"@onekeyfe/hd-transport": "1.1.20",
"axios": "1.12.2",
"secure-json-parse": "^4.0.0"
}
Expand Down
6 changes: 3 additions & 3 deletions packages/hd-transport-http/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-transport-http",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"description": "hardware http transport",
"author": "OneKey",
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
Expand All @@ -24,8 +24,8 @@
"url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
},
"dependencies": {
"@onekeyfe/hd-shared": "1.1.20-alpha.2",
"@onekeyfe/hd-transport": "1.1.20-alpha.2",
"@onekeyfe/hd-shared": "1.1.20",
"@onekeyfe/hd-transport": "1.1.20",
"axios": "1.12.2",
"secure-json-parse": "^4.0.0"
}
Expand Down
6 changes: 3 additions & 3 deletions packages/hd-transport-lowlevel/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-transport-lowlevel",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
"license": "MIT",
"main": "dist/index.js",
Expand All @@ -19,7 +19,7 @@
"lint:fix": "eslint . --fix"
},
"dependencies": {
"@onekeyfe/hd-shared": "1.1.20-alpha.2",
"@onekeyfe/hd-transport": "1.1.20-alpha.2"
"@onekeyfe/hd-shared": "1.1.20",
"@onekeyfe/hd-transport": "1.1.20"
}
}
6 changes: 3 additions & 3 deletions packages/hd-transport-react-native/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-transport-react-native",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
"license": "MIT",
"main": "dist/index.js",
Expand All @@ -19,8 +19,8 @@
"lint:fix": "eslint . --fix"
},
"dependencies": {
"@onekeyfe/hd-shared": "1.1.20-alpha.2",
"@onekeyfe/hd-transport": "1.1.20-alpha.2",
"@onekeyfe/hd-shared": "1.1.20",
"@onekeyfe/hd-transport": "1.1.20",
"@onekeyfe/react-native-ble-utils": "^0.1.4",
"react-native-ble-plx": "3.5.0"
}
Expand Down
8 changes: 4 additions & 4 deletions packages/hd-transport-web-device/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-transport-web-device",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"author": "OneKey",
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
"license": "MIT",
Expand All @@ -20,11 +20,11 @@
"lint:fix": "eslint . --fix"
},
"dependencies": {
"@onekeyfe/hd-shared": "1.1.20-alpha.2",
"@onekeyfe/hd-transport": "1.1.20-alpha.2"
"@onekeyfe/hd-shared": "1.1.20",
"@onekeyfe/hd-transport": "1.1.20"
},
"devDependencies": {
"@onekeyfe/hd-transport-electron": "1.1.20-alpha.2",
"@onekeyfe/hd-transport-electron": "1.1.20",
"@types/w3c-web-usb": "^1.0.6",
"@types/web-bluetooth": "^0.0.17"
}
Expand Down
2 changes: 1 addition & 1 deletion packages/hd-transport/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-transport",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"description": "Transport layer abstractions and utilities for OneKey hardware SDK.",
"author": "OneKey",
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
Expand Down
10 changes: 5 additions & 5 deletions packages/hd-web-sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-web-sdk",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"author": "OneKey",
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
"license": "ISC",
Expand All @@ -21,10 +21,10 @@
},
"dependencies": {
"@onekeyfe/cross-inpage-provider-core": "^0.0.17",
"@onekeyfe/hd-core": "1.1.20-alpha.2",
"@onekeyfe/hd-shared": "1.1.20-alpha.2",
"@onekeyfe/hd-transport-http": "1.1.20-alpha.2",
"@onekeyfe/hd-transport-web-device": "1.1.20-alpha.2"
"@onekeyfe/hd-core": "1.1.20",
"@onekeyfe/hd-shared": "1.1.20",
"@onekeyfe/hd-transport-http": "1.1.20",
"@onekeyfe/hd-transport-web-device": "1.1.20"
},
"devDependencies": {
"@babel/plugin-proposal-optional-chaining": "^7.17.12",
Expand Down
2 changes: 1 addition & 1 deletion packages/shared/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/hd-shared",
"version": "1.1.20-alpha.2",
"version": "1.1.20",
"description": "Hardware SDK's shared tool library",
"keywords": [
"Hardware-SDK",
Expand Down
Loading