@onekeyfe/hd-core 0.1.51 → 0.1.53
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/dist/api/BatchGetPublicKey.d.ts +11 -0
- package/dist/api/BatchGetPublicKey.d.ts.map +1 -0
- package/dist/api/aptos/AptosGetAddress.d.ts +2 -2
- package/dist/api/aptos/AptosGetAddress.d.ts.map +1 -1
- package/dist/api/helpers/hexUtils.d.ts +2 -0
- package/dist/api/helpers/hexUtils.d.ts.map +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/device/Device.d.ts +0 -2
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/index.d.ts +12 -3
- package/dist/index.js +132 -19
- package/dist/inject.d.ts.map +1 -1
- package/dist/types/api/aptosGetAddress.d.ts +1 -0
- package/dist/types/api/aptosGetAddress.d.ts.map +1 -1
- package/dist/types/api/batchGetPublicKey.d.ts +11 -0
- package/dist/types/api/batchGetPublicKey.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +2 -0
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/params.d.ts +0 -1
- package/dist/types/params.d.ts.map +1 -1
- package/dist/utils/deviceFeaturesUtils.d.ts +1 -0
- package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/api/BatchGetPublicKey.ts +40 -0
- package/src/api/aptos/AptosGetAddress.ts +26 -2
- package/src/api/helpers/hexUtils.ts +33 -0
- package/src/api/index.ts +1 -0
- package/src/core/index.ts +9 -15
- package/src/data/messages/messages.json +41 -0
- package/src/device/Device.ts +2 -10
- package/src/inject.ts +6 -0
- package/src/types/api/aptosGetAddress.ts +1 -0
- package/src/types/api/batchGetPublicKey.ts +18 -0
- package/src/types/api/index.ts +2 -0
- package/src/types/params.ts +0 -6
- package/src/utils/deviceFeaturesUtils.ts +14 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseMethod } from './BaseMethod';
|
|
2
|
+
export default class BatchGetPublicKey extends BaseMethod {
|
|
3
|
+
init(): void;
|
|
4
|
+
getVersionRange(): {
|
|
5
|
+
model_mini: {
|
|
6
|
+
min: string;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<any>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=BatchGetPublicKey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BatchGetPublicKey.d.ts","sourceRoot":"","sources":["../../src/api/BatchGetPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,UAAU;IACvD,IAAI;IAaJ,eAAe;;;;;IAQT,GAAG;CAaV"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AptosGetAddress as HardwareAptosGetAddress } from '@onekeyfe/hd-transport';
|
|
2
2
|
import { BaseMethod } from '../BaseMethod';
|
|
3
|
-
import { AptosAddress } from '../../types';
|
|
4
3
|
export default class AptosGetAddress extends BaseMethod<HardwareAptosGetAddress[]> {
|
|
5
4
|
hasBundle: boolean;
|
|
6
5
|
init(): void;
|
|
7
|
-
|
|
6
|
+
publicKeyToAddress(publicKey: string): string;
|
|
7
|
+
run(): Promise<any>;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=AptosGetAddress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AptosGetAddress.d.ts","sourceRoot":"","sources":["../../../src/api/aptos/AptosGetAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGpF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"AptosGetAddress.d.ts","sourceRoot":"","sources":["../../../src/api/aptos/AptosGetAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGpF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,uBAAuB,EAAE,CAAC;IAChF,SAAS,UAAS;IAElB,IAAI;IA6BJ,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAO9B,GAAG;CAkCV"}
|
|
@@ -4,4 +4,6 @@ export declare const addHexPrefix: (str: string) => string;
|
|
|
4
4
|
export declare const isHexString: (value: string, length?: number | undefined) => boolean;
|
|
5
5
|
export declare const stripHexStartZeroes: (str: string) => string;
|
|
6
6
|
export declare const formatAnyHex: (value: any) => any;
|
|
7
|
+
export declare function bytesToHex(uint8a: Uint8Array): string;
|
|
8
|
+
export declare function hexToBytes(hex: string): Uint8Array;
|
|
7
9
|
//# sourceMappingURL=hexUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hexUtils.d.ts","sourceRoot":"","sources":["../../../src/api/helpers/hexUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,OAAiD,CAAC;AAG7F,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAAkD,CAAC;AAGhG,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,MAAgD,CAAC;AAE5F,eAAO,MAAM,WAAW,UAAW,MAAM,yCAQxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAS,MAAM,WAK9C,CAAC;AAQF,eAAO,MAAM,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAiB1C,CAAC"}
|
|
1
|
+
{"version":3,"file":"hexUtils.d.ts","sourceRoot":"","sources":["../../../src/api/helpers/hexUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,OAAiD,CAAC;AAG7F,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAAkD,CAAC;AAGhG,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,MAAgD,CAAC;AAE5F,eAAO,MAAM,WAAW,UAAW,MAAM,yCAQxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAS,MAAM,WAK9C,CAAC;AAQF,eAAO,MAAM,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAiB1C,CAAC;AAMF,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAQrD;AAKD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAclD"}
|
package/dist/api/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export { default as deviceVerify } from './device/DeviceVerify';
|
|
|
19
19
|
export { default as deviceWipe } from './device/DeviceWipe';
|
|
20
20
|
export { default as firmwareUpdate } from './FirmwareUpdate';
|
|
21
21
|
export { default as requestWebUsbDevice } from './RequestWebUsbDevice';
|
|
22
|
+
export { default as batchGetPublicKey } from './BatchGetPublicKey';
|
|
22
23
|
export { default as cipherKeyValue } from './CipherKeyValue';
|
|
23
24
|
export { default as btcGetAddress } from './btc/BTCGetAddress';
|
|
24
25
|
export { default as btcGetPublicKey } from './btc/BTCGetPublicKey';
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAErF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEpF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAErF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAqBlC,OAAO,EACL,WAAW,EAYZ,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAE7D,OAAO,eAAe,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAqBlC,OAAO,EACL,WAAW,EAYZ,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAE7D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AA2BxD,eAAO,MAAM,OAAO,YAAmB,WAAW,iBA0PjD,CAAC;AA2KF,eAAO,MAAM,MAAM,0CAkBlB,CAAC;AA8IF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IACtC,aAAa,CAAC,OAAO,EAAE,WAAW;IA8CxC,OAAO;CAGR;AAED,eAAO,MAAM,QAAQ,YAGpB,CAAC;AAEF,eAAO,MAAM,aAAa,uBAIzB,CAAC;AAMF,eAAO,MAAM,IAAI,aAAoB,eAAe,aAAa,GAAG,8BAmBnE,CAAC"}
|
package/dist/device/Device.d.ts
CHANGED
|
@@ -11,7 +11,6 @@ export declare type InitOptions = {
|
|
|
11
11
|
initSession?: boolean;
|
|
12
12
|
deviceId?: string;
|
|
13
13
|
passphraseState?: string;
|
|
14
|
-
skipPassphraseCheck?: boolean;
|
|
15
14
|
};
|
|
16
15
|
export declare type RunOptions = {
|
|
17
16
|
keepSession?: boolean;
|
|
@@ -43,7 +42,6 @@ export declare class Device extends EventEmitter {
|
|
|
43
42
|
needReloadDevice: boolean;
|
|
44
43
|
keepSession: boolean;
|
|
45
44
|
passphraseState: string | undefined;
|
|
46
|
-
skipPassphraseCheck: boolean | undefined;
|
|
47
45
|
constructor(descriptor: DeviceDescriptor);
|
|
48
46
|
static fromDescriptor(originalDescriptor: DeviceDescriptor): Device;
|
|
49
47
|
toMessageObject(): DeviceTyped | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,gBAAgB,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAEL,QAAQ,EAIT,MAAM,qBAAqB,CAAC;AAW7B,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,WAAW,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEtF,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAIrC,oBAAY,WAAW,GAAG;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,7 +11,6 @@ interface CommonParams {
|
|
|
11
11
|
timeout?: number;
|
|
12
12
|
passphraseState?: string;
|
|
13
13
|
initSession?: boolean;
|
|
14
|
-
skipPassphraseCheck?: boolean;
|
|
15
14
|
}
|
|
16
15
|
declare type Params<T> = CommonParams & T & {
|
|
17
16
|
bundle?: undefined;
|
|
@@ -347,6 +346,16 @@ declare type DeviceSupportFeatures = SupportFeatures & {
|
|
|
347
346
|
};
|
|
348
347
|
declare function deviceSupportFeatures(connectId?: string): Response<DeviceSupportFeatures>;
|
|
349
348
|
|
|
349
|
+
declare type BatchGetPublicKeyParams = {
|
|
350
|
+
paths: string[];
|
|
351
|
+
ecdsaCurveName: 'secp256k1' | 'ed25519';
|
|
352
|
+
};
|
|
353
|
+
declare type BatchGetPublicKeyResponse = {
|
|
354
|
+
path: string;
|
|
355
|
+
publicKey: string;
|
|
356
|
+
}[];
|
|
357
|
+
declare function batchGetPublicKey(connectId: string, deviceId: string, params: CommonParams & BatchGetPublicKeyParams): Response<BatchGetPublicKeyResponse>;
|
|
358
|
+
|
|
350
359
|
declare type CipheredKeyValue = {
|
|
351
360
|
path: string;
|
|
352
361
|
} & CipheredKeyValue$1;
|
|
@@ -1021,6 +1030,7 @@ declare function nearSignTransaction(connectId: string, deviceId: string, params
|
|
|
1021
1030
|
|
|
1022
1031
|
declare type AptosAddress = {
|
|
1023
1032
|
path: string;
|
|
1033
|
+
publicKey?: string;
|
|
1024
1034
|
} & AptosAddress$1;
|
|
1025
1035
|
declare type AptosGetAddressParams = {
|
|
1026
1036
|
path: string | number[];
|
|
@@ -1070,6 +1080,7 @@ declare type CoreApi = {
|
|
|
1070
1080
|
checkFirmwareRelease: typeof checkFirmwareRelease;
|
|
1071
1081
|
checkBLEFirmwareRelease: typeof checkBLEFirmwareRelease;
|
|
1072
1082
|
firmwareUpdate: typeof firmwareUpdate;
|
|
1083
|
+
batchGetPublicKey: typeof batchGetPublicKey;
|
|
1073
1084
|
cipherKeyValue: typeof cipherKeyValue;
|
|
1074
1085
|
evmGetAddress: typeof evmGetAddress;
|
|
1075
1086
|
evmGetPublicKey: typeof evmGetPublicKey;
|
|
@@ -1460,7 +1471,6 @@ declare type InitOptions = {
|
|
|
1460
1471
|
initSession?: boolean;
|
|
1461
1472
|
deviceId?: string;
|
|
1462
1473
|
passphraseState?: string;
|
|
1463
|
-
skipPassphraseCheck?: boolean;
|
|
1464
1474
|
};
|
|
1465
1475
|
declare type RunOptions = {
|
|
1466
1476
|
keepSession?: boolean;
|
|
@@ -1492,7 +1502,6 @@ declare class Device extends EventEmitter {
|
|
|
1492
1502
|
needReloadDevice: boolean;
|
|
1493
1503
|
keepSession: boolean;
|
|
1494
1504
|
passphraseState: string | undefined;
|
|
1495
|
-
skipPassphraseCheck: boolean | undefined;
|
|
1496
1505
|
constructor(descriptor: OneKeyDeviceInfo);
|
|
1497
1506
|
static fromDescriptor(originalDescriptor: OneKeyDeviceInfo): Device;
|
|
1498
1507
|
toMessageObject(): Device$1 | null;
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,7 @@ var axios = require('axios');
|
|
|
8
8
|
var BigNumber = require('bignumber.js');
|
|
9
9
|
var sha256 = require('js-sha256');
|
|
10
10
|
var hdTransport = require('@onekeyfe/hd-transport');
|
|
11
|
+
var sha3 = require('js-sha3');
|
|
11
12
|
|
|
12
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
14
|
|
|
@@ -15,6 +16,7 @@ var semver__default = /*#__PURE__*/_interopDefaultLegacy(semver);
|
|
|
15
16
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
16
17
|
var BigNumber__default = /*#__PURE__*/_interopDefaultLegacy(BigNumber);
|
|
17
18
|
var sha256__default = /*#__PURE__*/_interopDefaultLegacy(sha256);
|
|
19
|
+
var sha3__default = /*#__PURE__*/_interopDefaultLegacy(sha3);
|
|
18
20
|
|
|
19
21
|
const inject = ({ call, cancel, dispose, eventEmitter, init, uiResponse, }) => {
|
|
20
22
|
const api = {
|
|
@@ -35,6 +37,7 @@ const inject = ({ call, cancel, dispose, eventEmitter, init, uiResponse, }) => {
|
|
|
35
37
|
getLogs: () => call({ method: 'getLogs' }),
|
|
36
38
|
searchDevices: () => call({ method: 'searchDevices' }),
|
|
37
39
|
getFeatures: connectId => call({ connectId, method: 'getFeatures' }),
|
|
40
|
+
batchGetPublicKey: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), { connectId, deviceId, method: 'batchGetPublicKey' })),
|
|
38
41
|
checkFirmwareRelease: connectId => call({ connectId, method: 'checkFirmwareRelease' }),
|
|
39
42
|
checkBLEFirmwareRelease: connectId => call({ connectId, method: 'checkBLEFirmwareRelease' }),
|
|
40
43
|
checkTransportRelease: () => call({ method: 'checkTransportRelease' }),
|
|
@@ -831,6 +834,12 @@ const getPassphraseState = (features, commands) => __awaiter(void 0, void 0, voi
|
|
|
831
834
|
});
|
|
832
835
|
return message.address;
|
|
833
836
|
});
|
|
837
|
+
const supportBatchPublicKey = (features) => {
|
|
838
|
+
if (!features)
|
|
839
|
+
return false;
|
|
840
|
+
const currentVersion = getDeviceFirmwareVersion(features).join('.');
|
|
841
|
+
return semver__default["default"].gte(currentVersion, '2.6.0');
|
|
842
|
+
};
|
|
834
843
|
|
|
835
844
|
var nested = {
|
|
836
845
|
AptosGetAddress: {
|
|
@@ -3883,6 +3892,45 @@ var nested = {
|
|
|
3883
3892
|
}
|
|
3884
3893
|
}
|
|
3885
3894
|
},
|
|
3895
|
+
BatchGetPublickeys: {
|
|
3896
|
+
fields: {
|
|
3897
|
+
ecdsa_curve_name: {
|
|
3898
|
+
type: "string",
|
|
3899
|
+
id: 1,
|
|
3900
|
+
options: {
|
|
3901
|
+
"default": "ed25519"
|
|
3902
|
+
}
|
|
3903
|
+
},
|
|
3904
|
+
paths: {
|
|
3905
|
+
rule: "repeated",
|
|
3906
|
+
type: "Path",
|
|
3907
|
+
id: 2
|
|
3908
|
+
}
|
|
3909
|
+
},
|
|
3910
|
+
nested: {
|
|
3911
|
+
Path: {
|
|
3912
|
+
fields: {
|
|
3913
|
+
address_n: {
|
|
3914
|
+
rule: "repeated",
|
|
3915
|
+
type: "uint32",
|
|
3916
|
+
id: 1,
|
|
3917
|
+
options: {
|
|
3918
|
+
packed: false
|
|
3919
|
+
}
|
|
3920
|
+
}
|
|
3921
|
+
}
|
|
3922
|
+
}
|
|
3923
|
+
}
|
|
3924
|
+
},
|
|
3925
|
+
EcdsaPublicKeys: {
|
|
3926
|
+
fields: {
|
|
3927
|
+
public_keys: {
|
|
3928
|
+
rule: "repeated",
|
|
3929
|
+
type: "bytes",
|
|
3930
|
+
id: 1
|
|
3931
|
+
}
|
|
3932
|
+
}
|
|
3933
|
+
},
|
|
3886
3934
|
DebugLinkDecision: {
|
|
3887
3935
|
fields: {
|
|
3888
3936
|
yes_no: {
|
|
@@ -9074,6 +9122,8 @@ var nested = {
|
|
|
9074
9122
|
MessageType_CosiCommitment: 72,
|
|
9075
9123
|
MessageType_CosiSign: 73,
|
|
9076
9124
|
MessageType_CosiSignature: 74,
|
|
9125
|
+
MessageType_BatchGetPublickeys: 10016,
|
|
9126
|
+
MessageType_EcdsaPublicKeys: 10017,
|
|
9077
9127
|
MessageType_DebugLinkDecision: 100,
|
|
9078
9128
|
MessageType_DebugLinkGetState: 101,
|
|
9079
9129
|
MessageType_DebugLinkState: 102,
|
|
@@ -11127,7 +11177,6 @@ class Device extends events.exports {
|
|
|
11127
11177
|
this.needReloadDevice = false;
|
|
11128
11178
|
this.keepSession = false;
|
|
11129
11179
|
this.passphraseState = undefined;
|
|
11130
|
-
this.skipPassphraseCheck = false;
|
|
11131
11180
|
this.originalDescriptor = descriptor;
|
|
11132
11181
|
}
|
|
11133
11182
|
static fromDescriptor(originalDescriptor) {
|
|
@@ -11254,13 +11303,11 @@ class Device extends events.exports {
|
|
|
11254
11303
|
}
|
|
11255
11304
|
getInternalState(_deviceId) {
|
|
11256
11305
|
var _a, _b;
|
|
11257
|
-
Log$4.debug('getInternalState session param: ', `device_id: ${_deviceId}`, `features.device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}
|
|
11306
|
+
Log$4.debug('getInternalState session param: ', `device_id: ${_deviceId}`, `features.device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
|
|
11258
11307
|
Log$4.debug('getInternalState session cache: ', deviceSessionCache);
|
|
11259
11308
|
const deviceId = _deviceId || ((_b = this.features) === null || _b === void 0 ? void 0 : _b.device_id);
|
|
11260
11309
|
if (!deviceId)
|
|
11261
11310
|
return undefined;
|
|
11262
|
-
if (this.skipPassphraseCheck)
|
|
11263
|
-
return deviceSessionCache[deviceId];
|
|
11264
11311
|
if (!this.passphraseState)
|
|
11265
11312
|
return undefined;
|
|
11266
11313
|
const usePassKey = `${deviceId}@${this.passphraseState}`;
|
|
@@ -11277,10 +11324,8 @@ class Device extends events.exports {
|
|
|
11277
11324
|
Log$4.debug('setInternalState session param: ', `state: ${state}`, `initSession: ${initSession}`, `device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
|
|
11278
11325
|
if (!this.features)
|
|
11279
11326
|
return;
|
|
11280
|
-
if (!this.
|
|
11281
|
-
|
|
11282
|
-
return;
|
|
11283
|
-
}
|
|
11327
|
+
if (!this.passphraseState && !initSession)
|
|
11328
|
+
return;
|
|
11284
11329
|
let key = `${this.features.device_id}`;
|
|
11285
11330
|
if (this.passphraseState) {
|
|
11286
11331
|
key += `@${this.passphraseState}`;
|
|
@@ -11307,7 +11352,6 @@ class Device extends events.exports {
|
|
|
11307
11352
|
return __awaiter(this, void 0, void 0, function* () {
|
|
11308
11353
|
Log$4.debug('initialize param:', options);
|
|
11309
11354
|
this.passphraseState = options === null || options === void 0 ? void 0 : options.passphraseState;
|
|
11310
|
-
this.skipPassphraseCheck = options === null || options === void 0 ? void 0 : options.skipPassphraseCheck;
|
|
11311
11355
|
if (options === null || options === void 0 ? void 0 : options.initSession) {
|
|
11312
11356
|
this.clearInternalState(options === null || options === void 0 ? void 0 : options.deviceId);
|
|
11313
11357
|
}
|
|
@@ -11831,6 +11875,24 @@ const formatAnyHex = value => {
|
|
|
11831
11875
|
}
|
|
11832
11876
|
return value;
|
|
11833
11877
|
};
|
|
11878
|
+
Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));
|
|
11879
|
+
function hexToBytes(hex) {
|
|
11880
|
+
if (typeof hex !== 'string') {
|
|
11881
|
+
throw new TypeError(`hexToBytes: expected string, got ${typeof hex}`);
|
|
11882
|
+
}
|
|
11883
|
+
if (hex.length % 2)
|
|
11884
|
+
throw new Error('hexToBytes: received invalid unpadded hex');
|
|
11885
|
+
const array = new Uint8Array(hex.length / 2);
|
|
11886
|
+
for (let i = 0; i < array.length; i++) {
|
|
11887
|
+
const j = i * 2;
|
|
11888
|
+
const hexByte = hex.slice(j, j + 2);
|
|
11889
|
+
const byte = Number.parseInt(hexByte, 16);
|
|
11890
|
+
if (Number.isNaN(byte) || byte < 0)
|
|
11891
|
+
throw new Error('Invalid byte sequence');
|
|
11892
|
+
array[i] = byte;
|
|
11893
|
+
}
|
|
11894
|
+
return array;
|
|
11895
|
+
}
|
|
11834
11896
|
|
|
11835
11897
|
const invalidParameter = (message) => hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, message);
|
|
11836
11898
|
const validateParams = (values, fields) => {
|
|
@@ -12281,6 +12343,41 @@ class RequestWebUsbDevice extends BaseMethod {
|
|
|
12281
12343
|
}
|
|
12282
12344
|
}
|
|
12283
12345
|
|
|
12346
|
+
class BatchGetPublicKey extends BaseMethod {
|
|
12347
|
+
init() {
|
|
12348
|
+
this.checkDeviceId = true;
|
|
12349
|
+
validateParams(this.payload, [
|
|
12350
|
+
{ name: 'paths', type: 'array' },
|
|
12351
|
+
{ name: 'ecdsaCurveName', type: 'string' },
|
|
12352
|
+
]);
|
|
12353
|
+
this.params = this.payload.paths.map((path) => {
|
|
12354
|
+
const addressN = validatePath(path, 1);
|
|
12355
|
+
return { address_n: addressN };
|
|
12356
|
+
});
|
|
12357
|
+
}
|
|
12358
|
+
getVersionRange() {
|
|
12359
|
+
return {
|
|
12360
|
+
model_mini: {
|
|
12361
|
+
min: '2.6.0',
|
|
12362
|
+
},
|
|
12363
|
+
};
|
|
12364
|
+
}
|
|
12365
|
+
run() {
|
|
12366
|
+
var _a;
|
|
12367
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12368
|
+
const res = yield this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
|
|
12369
|
+
paths: this.params,
|
|
12370
|
+
ecdsa_curve_name: (_a = this.payload.ecdsaCurveName) !== null && _a !== void 0 ? _a : 'secp256k1',
|
|
12371
|
+
});
|
|
12372
|
+
const result = res.message.public_keys.map((publicKey, index) => ({
|
|
12373
|
+
path: serializedPath(this.params[index].address_n),
|
|
12374
|
+
publicKey,
|
|
12375
|
+
}));
|
|
12376
|
+
return Promise.resolve(result);
|
|
12377
|
+
});
|
|
12378
|
+
}
|
|
12379
|
+
}
|
|
12380
|
+
|
|
12284
12381
|
class CipherKeyValue extends BaseMethod {
|
|
12285
12382
|
constructor() {
|
|
12286
12383
|
super(...arguments);
|
|
@@ -14792,6 +14889,7 @@ class NearSignTransaction extends BaseMethod {
|
|
|
14792
14889
|
}
|
|
14793
14890
|
}
|
|
14794
14891
|
|
|
14892
|
+
const { sha3_256: sha3Hash } = sha3__default["default"];
|
|
14795
14893
|
class AptosGetAddress extends BaseMethod {
|
|
14796
14894
|
constructor() {
|
|
14797
14895
|
super(...arguments);
|
|
@@ -14819,8 +14917,27 @@ class AptosGetAddress extends BaseMethod {
|
|
|
14819
14917
|
});
|
|
14820
14918
|
});
|
|
14821
14919
|
}
|
|
14920
|
+
publicKeyToAddress(publicKey) {
|
|
14921
|
+
const hash = sha3Hash.create();
|
|
14922
|
+
hash.update(hexToBytes(publicKey));
|
|
14923
|
+
hash.update("\x00");
|
|
14924
|
+
return hash.hex();
|
|
14925
|
+
}
|
|
14822
14926
|
run() {
|
|
14927
|
+
var _a;
|
|
14823
14928
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14929
|
+
if (this.hasBundle && supportBatchPublicKey((_a = this.device) === null || _a === void 0 ? void 0 : _a.features)) {
|
|
14930
|
+
const res = yield this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
|
|
14931
|
+
paths: this.params,
|
|
14932
|
+
ecdsa_curve_name: 'ed25519',
|
|
14933
|
+
});
|
|
14934
|
+
const result = res.message.public_keys.map((publicKey, index) => ({
|
|
14935
|
+
path: serializedPath(this.params[index].address_n),
|
|
14936
|
+
publicKey,
|
|
14937
|
+
address: this.publicKeyToAddress(publicKey),
|
|
14938
|
+
}));
|
|
14939
|
+
return Promise.resolve(result);
|
|
14940
|
+
}
|
|
14824
14941
|
const responses = [];
|
|
14825
14942
|
for (let i = 0; i < this.params.length; i++) {
|
|
14826
14943
|
const param = this.params[i];
|
|
@@ -14889,6 +15006,7 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
|
|
|
14889
15006
|
deviceWipe: DeviceWipe,
|
|
14890
15007
|
firmwareUpdate: FirmwareUpdate,
|
|
14891
15008
|
requestWebUsbDevice: RequestWebUsbDevice,
|
|
15009
|
+
batchGetPublicKey: BatchGetPublicKey,
|
|
14892
15010
|
cipherKeyValue: CipherKeyValue,
|
|
14893
15011
|
btcGetAddress: BTCGetAddress,
|
|
14894
15012
|
btcGetPublicKey: BTCGetPublicKey,
|
|
@@ -15058,7 +15176,6 @@ const Log = getLogger(exports.LoggerNames.Core);
|
|
|
15058
15176
|
const parseInitOptions = (method) => ({
|
|
15059
15177
|
initSession: method === null || method === void 0 ? void 0 : method.payload.initSession,
|
|
15060
15178
|
passphraseState: method === null || method === void 0 ? void 0 : method.payload.passphraseState,
|
|
15061
|
-
skipPassphraseCheck: method === null || method === void 0 ? void 0 : method.payload.skipPassphraseCheck,
|
|
15062
15179
|
deviceId: method === null || method === void 0 ? void 0 : method.payload.deviceId,
|
|
15063
15180
|
});
|
|
15064
15181
|
let _core;
|
|
@@ -15173,13 +15290,11 @@ const callAPI = (message) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
15173
15290
|
require: support.require,
|
|
15174
15291
|
}));
|
|
15175
15292
|
}
|
|
15176
|
-
|
|
15177
|
-
|
|
15178
|
-
|
|
15179
|
-
|
|
15180
|
-
|
|
15181
|
-
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceCheckPassphraseStateError));
|
|
15182
|
-
}
|
|
15293
|
+
const passphraseState = yield device.checkPassphraseState();
|
|
15294
|
+
checkPassphraseSafety(method, device.features);
|
|
15295
|
+
if (passphraseState) {
|
|
15296
|
+
DevicePool.clearDeviceCache(method.payload.connectId);
|
|
15297
|
+
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceCheckPassphraseStateError));
|
|
15183
15298
|
}
|
|
15184
15299
|
}
|
|
15185
15300
|
try {
|
|
@@ -15404,8 +15519,6 @@ const cancel = (connectId) => {
|
|
|
15404
15519
|
const checkPassphraseSafety = (method, features) => {
|
|
15405
15520
|
if (!method.useDevicePassphraseState)
|
|
15406
15521
|
return;
|
|
15407
|
-
if (method.payload.skipPassphraseCheck)
|
|
15408
|
-
return;
|
|
15409
15522
|
if ((features === null || features === void 0 ? void 0 : features.passphrase_protection) === true && !method.payload.passphraseState) {
|
|
15410
15523
|
DevicePool.clearDeviceCache(method.payload.connectId);
|
|
15411
15524
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceOpenedPassphrase);
|
package/dist/inject.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,MAAM,+DAOhB,SAAS,KAAG,
|
|
1
|
+
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,MAAM,+DAOhB,SAAS,KAAG,OAiKd,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { AptosAddress as HardwareAptosAddress } from '@onekeyfe/hd-transport';
|
|
|
2
2
|
import type { CommonParams, Response } from '../params';
|
|
3
3
|
export declare type AptosAddress = {
|
|
4
4
|
path: string;
|
|
5
|
+
publicKey?: string;
|
|
5
6
|
} & HardwareAptosAddress;
|
|
6
7
|
export declare type AptosGetAddressParams = {
|
|
7
8
|
path: string | number[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aptosGetAddress.d.ts","sourceRoot":"","sources":["../../../src/types/api/aptosGetAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,oBAAY,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"aptosGetAddress.d.ts","sourceRoot":"","sources":["../../../src/types/api/aptosGetAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,oBAAY,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,oBAAoB,CAAC;AAEzB,oBAAY,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,qBAAqB,GAC3C,QAAQ,CAAC,YAAY,CAAC,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG;IAAE,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAAE,GAC1D,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CommonParams, Response } from '../params';
|
|
2
|
+
export declare type BatchGetPublicKeyParams = {
|
|
3
|
+
paths: string[];
|
|
4
|
+
ecdsaCurveName: 'secp256k1' | 'ed25519';
|
|
5
|
+
};
|
|
6
|
+
export declare type BatchGetPublicKeyResponse = {
|
|
7
|
+
path: string;
|
|
8
|
+
publicKey: string;
|
|
9
|
+
}[];
|
|
10
|
+
export declare function batchGetPublicKey(connectId: string, deviceId: string, params: CommonParams & BatchGetPublicKeyParams): Response<BatchGetPublicKeyResponse>;
|
|
11
|
+
//# sourceMappingURL=batchGetPublicKey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchGetPublicKey.d.ts","sourceRoot":"","sources":["../../../src/types/api/batchGetPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,oBAAY,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,EAAE,CAAC;IAKhB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC;AAE9E,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,uBAAuB,GAC7C,QAAQ,CAAC,yBAAyB,CAAC,CAAC"}
|
|
@@ -22,6 +22,7 @@ import { deviceSettings } from './deviceSettings';
|
|
|
22
22
|
import { deviceFlags } from './deviceFlags';
|
|
23
23
|
import { deviceUpdateReboot } from './deviceUpdateReboot';
|
|
24
24
|
import { deviceSupportFeatures } from './deviceSupportFeatures';
|
|
25
|
+
import { batchGetPublicKey } from './batchGetPublicKey';
|
|
25
26
|
import { cipherKeyValue } from './cipherKeyValue';
|
|
26
27
|
import { evmGetAddress } from './evmGetAddress';
|
|
27
28
|
import { evmGetPublicKey } from './evmGetPublicKey';
|
|
@@ -88,6 +89,7 @@ export declare type CoreApi = {
|
|
|
88
89
|
checkFirmwareRelease: typeof checkFirmwareRelease;
|
|
89
90
|
checkBLEFirmwareRelease: typeof checkBLEFirmwareRelease;
|
|
90
91
|
firmwareUpdate: typeof firmwareUpdate;
|
|
92
|
+
batchGetPublicKey: typeof batchGetPublicKey;
|
|
91
93
|
cipherKeyValue: typeof cipherKeyValue;
|
|
92
94
|
evmGetAddress: typeof evmGetAddress;
|
|
93
95
|
evmGetPublicKey: typeof evmGetPublicKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/params.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/types/params.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,WAAW,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/types/params.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,oBAAY,MAAM,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,oBAAY,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC"}
|
|
@@ -12,4 +12,5 @@ export declare const getDeviceBLEFirmwareVersion: (features: Features) => IVersi
|
|
|
12
12
|
export declare const supportInputPinOnSoftware: (features: Features) => SupportFeatureType;
|
|
13
13
|
export declare const supportNewPassphrase: (features?: import("packages/hd-transport/dist").Features | undefined) => SupportFeatureType;
|
|
14
14
|
export declare const getPassphraseState: (features: Features, commands: DeviceCommands) => Promise<string | false>;
|
|
15
|
+
export declare const supportBatchPublicKey: (features?: import("packages/hd-transport/dist").Features | undefined) => boolean;
|
|
15
16
|
//# sourceMappingURL=deviceFeaturesUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceFeaturesUtils.d.ts","sourceRoot":"","sources":["../../src/utils/deviceFeaturesUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,cAAc,4EAA0B,YAUpD,CAAC;AAEF,eAAO,MAAM,aAAa,4EAA0B,WAUnD,CAAC;AAEF,eAAO,MAAM,yBAAyB,4EAA0B,WACvC,CAAC;AAE1B,eAAO,MAAM,sBAAsB,iCAAoB,WAAW,GAAG,IAKpE,CAAC;AAEF,eAAO,MAAM,uBAAuB,qCAAwB,WAQ3D,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,QAAQ,WAM/C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,QAAQ,WAOhD,CAAC;AAKF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,GAAG,SAAS,kBAOtE,CAAC;AAKF,eAAO,MAAM,2BAA2B,aAAc,QAAQ,KAAG,aAAa,GAAG,IAQhF,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ,KAAG,kBAU9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,4EAA0B,kBAW1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAoB,QAAQ,YAAY,cAAc,4BAUpF,CAAC"}
|
|
1
|
+
{"version":3,"file":"deviceFeaturesUtils.d.ts","sourceRoot":"","sources":["../../src/utils/deviceFeaturesUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,cAAc,4EAA0B,YAUpD,CAAC;AAEF,eAAO,MAAM,aAAa,4EAA0B,WAUnD,CAAC;AAEF,eAAO,MAAM,yBAAyB,4EAA0B,WACvC,CAAC;AAE1B,eAAO,MAAM,sBAAsB,iCAAoB,WAAW,GAAG,IAKpE,CAAC;AAEF,eAAO,MAAM,uBAAuB,qCAAwB,WAQ3D,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,QAAQ,WAM/C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,QAAQ,WAOhD,CAAC;AAKF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,GAAG,SAAS,kBAOtE,CAAC;AAKF,eAAO,MAAM,2BAA2B,aAAc,QAAQ,KAAG,aAAa,GAAG,IAQhF,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ,KAAG,kBAU9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,4EAA0B,kBAW1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAoB,QAAQ,YAAY,cAAc,4BAUpF,CAAC;AAEF,eAAO,MAAM,qBAAqB,4EAA0B,OAY3D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/hd-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.53",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "OneKey",
|
|
6
6
|
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
|
|
@@ -24,11 +24,12 @@
|
|
|
24
24
|
"url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@onekeyfe/hd-shared": "^0.1.
|
|
28
|
-
"@onekeyfe/hd-transport": "^0.1.
|
|
27
|
+
"@onekeyfe/hd-shared": "^0.1.53",
|
|
28
|
+
"@onekeyfe/hd-transport": "^0.1.53",
|
|
29
29
|
"axios": "^0.27.2",
|
|
30
30
|
"bignumber.js": "^9.0.2",
|
|
31
31
|
"js-sha256": "^0.9.0",
|
|
32
|
+
"js-sha3": "^0.8.0",
|
|
32
33
|
"parse-uri": "^1.0.7",
|
|
33
34
|
"semver": "^7.3.7"
|
|
34
35
|
},
|
|
@@ -36,5 +37,5 @@
|
|
|
36
37
|
"@types/parse-uri": "^1.0.0",
|
|
37
38
|
"@types/semver": "^7.3.9"
|
|
38
39
|
},
|
|
39
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "33a915c10a4f664e60f0eacc6b75bfc913b0e8e3"
|
|
40
41
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { BaseMethod } from './BaseMethod';
|
|
2
|
+
import { validateParams } from './helpers/paramsValidator';
|
|
3
|
+
import { validatePath, serializedPath } from './helpers/pathUtils';
|
|
4
|
+
|
|
5
|
+
export default class BatchGetPublicKey extends BaseMethod {
|
|
6
|
+
init() {
|
|
7
|
+
this.checkDeviceId = true;
|
|
8
|
+
validateParams(this.payload, [
|
|
9
|
+
{ name: 'paths', type: 'array' },
|
|
10
|
+
{ name: 'ecdsaCurveName', type: 'string' },
|
|
11
|
+
]);
|
|
12
|
+
|
|
13
|
+
this.params = this.payload.paths.map((path: string) => {
|
|
14
|
+
const addressN = validatePath(path, 1);
|
|
15
|
+
return { address_n: addressN };
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
getVersionRange() {
|
|
20
|
+
return {
|
|
21
|
+
model_mini: {
|
|
22
|
+
min: '2.6.0',
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async run() {
|
|
28
|
+
// @ts-expect-error
|
|
29
|
+
const res = await this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
|
|
30
|
+
paths: this.params,
|
|
31
|
+
ecdsa_curve_name: this.payload.ecdsaCurveName ?? 'secp256k1',
|
|
32
|
+
});
|
|
33
|
+
// @ts-expect-error
|
|
34
|
+
const result = res.message.public_keys.map((publicKey: string, index: number) => ({
|
|
35
|
+
path: serializedPath((this.params as unknown as any[])[index].address_n),
|
|
36
|
+
publicKey,
|
|
37
|
+
}));
|
|
38
|
+
return Promise.resolve(result);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -4,7 +4,10 @@ import { serializedPath, validatePath } from '../helpers/pathUtils';
|
|
|
4
4
|
import { BaseMethod } from '../BaseMethod';
|
|
5
5
|
import { validateParams } from '../helpers/paramsValidator';
|
|
6
6
|
import { AptosAddress, AptosGetAddressParams } from '../../types';
|
|
7
|
-
|
|
7
|
+
import { supportBatchPublicKey } from '../../utils/deviceFeaturesUtils';
|
|
8
|
+
import sha3 from "js-sha3";
|
|
9
|
+
import { hexToBytes } from '../helpers/hexUtils';
|
|
10
|
+
const { sha3_256: sha3Hash } = sha3;
|
|
8
11
|
export default class AptosGetAddress extends BaseMethod<HardwareAptosGetAddress[]> {
|
|
9
12
|
hasBundle = false;
|
|
10
13
|
|
|
@@ -37,9 +40,30 @@ export default class AptosGetAddress extends BaseMethod<HardwareAptosGetAddress[
|
|
|
37
40
|
});
|
|
38
41
|
}
|
|
39
42
|
|
|
43
|
+
publicKeyToAddress(publicKey: string) {
|
|
44
|
+
const hash = sha3Hash.create();
|
|
45
|
+
hash.update(hexToBytes(publicKey));
|
|
46
|
+
hash.update("\x00");
|
|
47
|
+
return hash.hex();
|
|
48
|
+
}
|
|
49
|
+
|
|
40
50
|
async run() {
|
|
41
|
-
|
|
51
|
+
if (this.hasBundle && supportBatchPublicKey(this.device?.features)) {
|
|
52
|
+
// @ts-expect-error
|
|
53
|
+
const res = await this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
|
|
54
|
+
paths: this.params,
|
|
55
|
+
ecdsa_curve_name: 'ed25519',
|
|
56
|
+
});
|
|
57
|
+
// @ts-expect-error
|
|
58
|
+
const result = res.message.public_keys.map((publicKey: string, index: number) => ({
|
|
59
|
+
path: serializedPath((this.params as unknown as any[])[index].address_n),
|
|
60
|
+
publicKey,
|
|
61
|
+
address: this.publicKeyToAddress(publicKey),
|
|
62
|
+
}));
|
|
63
|
+
return Promise.resolve(result);
|
|
64
|
+
}
|
|
42
65
|
|
|
66
|
+
const responses: AptosAddress[] = [];
|
|
43
67
|
for (let i = 0; i < this.params.length; i++) {
|
|
44
68
|
const param = this.params[i];
|
|
45
69
|
|
|
@@ -47,3 +47,36 @@ export const formatAnyHex: (value: any) => any = value => {
|
|
|
47
47
|
|
|
48
48
|
return value;
|
|
49
49
|
};
|
|
50
|
+
|
|
51
|
+
const hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));
|
|
52
|
+
/**
|
|
53
|
+
* @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef]))
|
|
54
|
+
*/
|
|
55
|
+
export function bytesToHex(uint8a: Uint8Array): string {
|
|
56
|
+
// pre-caching improves the speed 6x
|
|
57
|
+
if (!(uint8a instanceof Uint8Array)) throw new Error('Uint8Array expected');
|
|
58
|
+
let hex = '';
|
|
59
|
+
for (let i = 0; i < uint8a.length; i++) {
|
|
60
|
+
hex += hexes[uint8a[i]];
|
|
61
|
+
}
|
|
62
|
+
return hex;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @example hexToBytes('deadbeef')
|
|
67
|
+
*/
|
|
68
|
+
export function hexToBytes(hex: string): Uint8Array {
|
|
69
|
+
if (typeof hex !== 'string') {
|
|
70
|
+
throw new TypeError(`hexToBytes: expected string, got ${typeof hex}`);
|
|
71
|
+
}
|
|
72
|
+
if (hex.length % 2) throw new Error('hexToBytes: received invalid unpadded hex');
|
|
73
|
+
const array = new Uint8Array(hex.length / 2);
|
|
74
|
+
for (let i = 0; i < array.length; i++) {
|
|
75
|
+
const j = i * 2;
|
|
76
|
+
const hexByte = hex.slice(j, j + 2);
|
|
77
|
+
const byte = Number.parseInt(hexByte, 16);
|
|
78
|
+
if (Number.isNaN(byte) || byte < 0) throw new Error('Invalid byte sequence');
|
|
79
|
+
array[i] = byte;
|
|
80
|
+
}
|
|
81
|
+
return array;
|
|
82
|
+
}
|
package/src/api/index.ts
CHANGED
|
@@ -20,6 +20,7 @@ export { default as deviceWipe } from './device/DeviceWipe';
|
|
|
20
20
|
export { default as firmwareUpdate } from './FirmwareUpdate';
|
|
21
21
|
export { default as requestWebUsbDevice } from './RequestWebUsbDevice';
|
|
22
22
|
|
|
23
|
+
export { default as batchGetPublicKey } from './BatchGetPublicKey';
|
|
23
24
|
export { default as cipherKeyValue } from './CipherKeyValue';
|
|
24
25
|
|
|
25
26
|
export { default as btcGetAddress } from './btc/BTCGetAddress';
|
package/src/core/index.ts
CHANGED
|
@@ -44,7 +44,6 @@ const Log = getLogger(LoggerNames.Core);
|
|
|
44
44
|
const parseInitOptions = (method?: BaseMethod): InitOptions => ({
|
|
45
45
|
initSession: method?.payload.initSession,
|
|
46
46
|
passphraseState: method?.payload.passphraseState,
|
|
47
|
-
skipPassphraseCheck: method?.payload.skipPassphraseCheck,
|
|
48
47
|
deviceId: method?.payload.deviceId,
|
|
49
48
|
});
|
|
50
49
|
|
|
@@ -230,19 +229,17 @@ export const callAPI = async (message: CoreMessage) => {
|
|
|
230
229
|
);
|
|
231
230
|
}
|
|
232
231
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
const passphraseState = await device.checkPassphraseState();
|
|
232
|
+
// Check Device passphrase State
|
|
233
|
+
const passphraseState = await device.checkPassphraseState();
|
|
236
234
|
|
|
237
|
-
|
|
238
|
-
|
|
235
|
+
// Double check, handles the special case of Touch/Pro
|
|
236
|
+
checkPassphraseSafety(method, device.features);
|
|
239
237
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
}
|
|
238
|
+
if (passphraseState) {
|
|
239
|
+
DevicePool.clearDeviceCache(method.payload.connectId);
|
|
240
|
+
return Promise.reject(
|
|
241
|
+
ERRORS.TypedError(HardwareErrorCode.DeviceCheckPassphraseStateError)
|
|
242
|
+
);
|
|
246
243
|
}
|
|
247
244
|
}
|
|
248
245
|
|
|
@@ -511,9 +508,6 @@ export const cancel = (connectId?: string) => {
|
|
|
511
508
|
const checkPassphraseSafety = (method: BaseMethod, features?: Features) => {
|
|
512
509
|
if (!method.useDevicePassphraseState) return;
|
|
513
510
|
|
|
514
|
-
// skip check passphrase status
|
|
515
|
-
if (method.payload.skipPassphraseCheck) return;
|
|
516
|
-
|
|
517
511
|
if (features?.passphrase_protection === true && !method.payload.passphraseState) {
|
|
518
512
|
DevicePool.clearDeviceCache(method.payload.connectId);
|
|
519
513
|
throw ERRORS.TypedError(HardwareErrorCode.DeviceOpenedPassphrase);
|
|
@@ -3042,6 +3042,45 @@
|
|
|
3042
3042
|
}
|
|
3043
3043
|
}
|
|
3044
3044
|
},
|
|
3045
|
+
"BatchGetPublickeys": {
|
|
3046
|
+
"fields": {
|
|
3047
|
+
"ecdsa_curve_name": {
|
|
3048
|
+
"type": "string",
|
|
3049
|
+
"id": 1,
|
|
3050
|
+
"options": {
|
|
3051
|
+
"default": "ed25519"
|
|
3052
|
+
}
|
|
3053
|
+
},
|
|
3054
|
+
"paths": {
|
|
3055
|
+
"rule": "repeated",
|
|
3056
|
+
"type": "Path",
|
|
3057
|
+
"id": 2
|
|
3058
|
+
}
|
|
3059
|
+
},
|
|
3060
|
+
"nested": {
|
|
3061
|
+
"Path": {
|
|
3062
|
+
"fields": {
|
|
3063
|
+
"address_n": {
|
|
3064
|
+
"rule": "repeated",
|
|
3065
|
+
"type": "uint32",
|
|
3066
|
+
"id": 1,
|
|
3067
|
+
"options": {
|
|
3068
|
+
"packed": false
|
|
3069
|
+
}
|
|
3070
|
+
}
|
|
3071
|
+
}
|
|
3072
|
+
}
|
|
3073
|
+
}
|
|
3074
|
+
},
|
|
3075
|
+
"EcdsaPublicKeys": {
|
|
3076
|
+
"fields": {
|
|
3077
|
+
"public_keys": {
|
|
3078
|
+
"rule": "repeated",
|
|
3079
|
+
"type": "bytes",
|
|
3080
|
+
"id": 1
|
|
3081
|
+
}
|
|
3082
|
+
}
|
|
3083
|
+
},
|
|
3045
3084
|
"DebugLinkDecision": {
|
|
3046
3085
|
"fields": {
|
|
3047
3086
|
"yes_no": {
|
|
@@ -8203,6 +8242,8 @@
|
|
|
8203
8242
|
"MessageType_CosiCommitment": 72,
|
|
8204
8243
|
"MessageType_CosiSign": 73,
|
|
8205
8244
|
"MessageType_CosiSignature": 74,
|
|
8245
|
+
"MessageType_BatchGetPublickeys": 10016,
|
|
8246
|
+
"MessageType_EcdsaPublicKeys": 10017,
|
|
8206
8247
|
"MessageType_DebugLinkDecision": 100,
|
|
8207
8248
|
"MessageType_DebugLinkGetState": 101,
|
|
8208
8249
|
"MessageType_DebugLinkState": 102,
|
package/src/device/Device.ts
CHANGED
|
@@ -32,7 +32,6 @@ export type InitOptions = {
|
|
|
32
32
|
initSession?: boolean;
|
|
33
33
|
deviceId?: string;
|
|
34
34
|
passphraseState?: string;
|
|
35
|
-
skipPassphraseCheck?: boolean;
|
|
36
35
|
};
|
|
37
36
|
|
|
38
37
|
export type RunOptions = {
|
|
@@ -115,8 +114,6 @@ export class Device extends EventEmitter {
|
|
|
115
114
|
|
|
116
115
|
passphraseState: string | undefined = undefined;
|
|
117
116
|
|
|
118
|
-
skipPassphraseCheck: boolean | undefined = false;
|
|
119
|
-
|
|
120
117
|
constructor(descriptor: DeviceDescriptor) {
|
|
121
118
|
super();
|
|
122
119
|
this.originalDescriptor = descriptor;
|
|
@@ -259,14 +256,12 @@ export class Device extends EventEmitter {
|
|
|
259
256
|
'getInternalState session param: ',
|
|
260
257
|
`device_id: ${_deviceId}`,
|
|
261
258
|
`features.device_id: ${this.features?.device_id}`,
|
|
262
|
-
`passphraseState: ${this.passphraseState}
|
|
263
|
-
`skipPassphraseCheck: ${this.skipPassphraseCheck}`
|
|
259
|
+
`passphraseState: ${this.passphraseState}`
|
|
264
260
|
);
|
|
265
261
|
Log.debug('getInternalState session cache: ', deviceSessionCache);
|
|
266
262
|
|
|
267
263
|
const deviceId = _deviceId || this.features?.device_id;
|
|
268
264
|
if (!deviceId) return undefined;
|
|
269
|
-
if (this.skipPassphraseCheck) return deviceSessionCache[deviceId];
|
|
270
265
|
if (!this.passphraseState) return undefined;
|
|
271
266
|
|
|
272
267
|
const usePassKey = `${deviceId}@${this.passphraseState}`;
|
|
@@ -291,9 +286,7 @@ export class Device extends EventEmitter {
|
|
|
291
286
|
);
|
|
292
287
|
|
|
293
288
|
if (!this.features) return;
|
|
294
|
-
if (!this.
|
|
295
|
-
if (!this.passphraseState && !initSession) return;
|
|
296
|
-
}
|
|
289
|
+
if (!this.passphraseState && !initSession) return;
|
|
297
290
|
|
|
298
291
|
let key = `${this.features.device_id}`;
|
|
299
292
|
if (this.passphraseState) {
|
|
@@ -323,7 +316,6 @@ export class Device extends EventEmitter {
|
|
|
323
316
|
Log.debug('initialize param:', options);
|
|
324
317
|
|
|
325
318
|
this.passphraseState = options?.passphraseState;
|
|
326
|
-
this.skipPassphraseCheck = options?.skipPassphraseCheck;
|
|
327
319
|
|
|
328
320
|
if (options?.initSession) {
|
|
329
321
|
this.clearInternalState(options?.deviceId);
|
package/src/inject.ts
CHANGED
|
@@ -53,6 +53,12 @@ export const inject = ({
|
|
|
53
53
|
*/
|
|
54
54
|
getFeatures: connectId => call({ connectId, method: 'getFeatures' }),
|
|
55
55
|
|
|
56
|
+
/**
|
|
57
|
+
* 批量获取公钥
|
|
58
|
+
*/
|
|
59
|
+
batchGetPublicKey: (connectId, deviceId, params) =>
|
|
60
|
+
call({ ...params, connectId, deviceId, method: 'batchGetPublicKey' }),
|
|
61
|
+
|
|
56
62
|
/**
|
|
57
63
|
* 检查固件版本
|
|
58
64
|
*/
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CommonParams, Response } from '../params';
|
|
2
|
+
|
|
3
|
+
export type BatchGetPublicKeyParams = {
|
|
4
|
+
paths: string[];
|
|
5
|
+
/**
|
|
6
|
+
* secp256k1 for eth and btc
|
|
7
|
+
* ed25519 for sol, stc, aptos
|
|
8
|
+
*/
|
|
9
|
+
ecdsaCurveName: 'secp256k1' | 'ed25519';
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export type BatchGetPublicKeyResponse = { path: string; publicKey: string }[];
|
|
13
|
+
|
|
14
|
+
export declare function batchGetPublicKey(
|
|
15
|
+
connectId: string,
|
|
16
|
+
deviceId: string,
|
|
17
|
+
params: CommonParams & BatchGetPublicKeyParams
|
|
18
|
+
): Response<BatchGetPublicKeyResponse>;
|
package/src/types/api/index.ts
CHANGED
|
@@ -26,6 +26,7 @@ import { deviceFlags } from './deviceFlags';
|
|
|
26
26
|
import { deviceUpdateReboot } from './deviceUpdateReboot';
|
|
27
27
|
import { deviceSupportFeatures } from './deviceSupportFeatures';
|
|
28
28
|
|
|
29
|
+
import { batchGetPublicKey } from './batchGetPublicKey';
|
|
29
30
|
import { cipherKeyValue } from './cipherKeyValue';
|
|
30
31
|
|
|
31
32
|
import { evmGetAddress } from './evmGetAddress';
|
|
@@ -116,6 +117,7 @@ export type CoreApi = {
|
|
|
116
117
|
checkBLEFirmwareRelease: typeof checkBLEFirmwareRelease;
|
|
117
118
|
firmwareUpdate: typeof firmwareUpdate;
|
|
118
119
|
|
|
120
|
+
batchGetPublicKey: typeof batchGetPublicKey;
|
|
119
121
|
cipherKeyValue: typeof cipherKeyValue;
|
|
120
122
|
|
|
121
123
|
/**
|
package/src/types/params.ts
CHANGED
|
@@ -20,12 +20,6 @@ export interface CommonParams {
|
|
|
20
20
|
* Every init session
|
|
21
21
|
*/
|
|
22
22
|
initSession?: boolean;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* skip passhprase check
|
|
26
|
-
* !! Use with caution, there are safety risks !!
|
|
27
|
-
*/
|
|
28
|
-
skipPassphraseCheck?: boolean;
|
|
29
23
|
}
|
|
30
24
|
|
|
31
25
|
export type Params<T> = CommonParams & T & { bundle?: undefined };
|
|
@@ -131,3 +131,17 @@ export const getPassphraseState = async (features: Features, commands: DeviceCom
|
|
|
131
131
|
|
|
132
132
|
return message.address;
|
|
133
133
|
};
|
|
134
|
+
|
|
135
|
+
export const supportBatchPublicKey = (features?: Features): boolean => {
|
|
136
|
+
if (!features) return false;
|
|
137
|
+
|
|
138
|
+
// TODO: support batch public key for touch
|
|
139
|
+
// const deviceType = getDeviceType(features);
|
|
140
|
+
// if (deviceType === 'touch' || deviceType === 'pro') {
|
|
141
|
+
// return true;
|
|
142
|
+
// }
|
|
143
|
+
|
|
144
|
+
const currentVersion = getDeviceFirmwareVersion(features).join('.');
|
|
145
|
+
|
|
146
|
+
return semver.gte(currentVersion, '2.6.0');
|
|
147
|
+
};
|