@onekeyfe/hd-core 1.1.4-alpha.0 → 1.1.4-alpha.2
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/BaseMethod.d.ts +0 -2
- package/dist/api/BaseMethod.d.ts.map +1 -1
- package/dist/api/allnetwork/AllNetworkGetAddress.d.ts +28 -4
- package/dist/api/allnetwork/AllNetworkGetAddress.d.ts.map +1 -1
- package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
- package/dist/api/cosmos/CosmosGetPublicKey.d.ts +1 -1
- package/dist/api/cosmos/CosmosGetPublicKey.d.ts.map +1 -1
- package/dist/api/device/DeviceUnlock.d.ts +2 -0
- package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
- package/dist/api/evm/EVMGetPublicKey.d.ts +0 -1
- package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
- package/dist/api/index.d.ts +0 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/core/RequestQueue.d.ts +0 -4
- package/dist/core/RequestQueue.d.ts.map +1 -1
- package/dist/core/index.d.ts +2 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/device/Device.d.ts +1 -4
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/events/call.d.ts +0 -9
- package/dist/events/call.d.ts.map +1 -1
- package/dist/events/core.d.ts +2 -2
- package/dist/events/core.d.ts.map +1 -1
- package/dist/events/iframe.d.ts +1 -11
- package/dist/events/iframe.d.ts.map +1 -1
- package/dist/index.d.ts +10 -38
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +193 -402
- package/dist/inject.d.ts +0 -3
- package/dist/inject.d.ts.map +1 -1
- package/dist/types/api/allNetworkGetAddress.d.ts +2 -9
- package/dist/types/api/allNetworkGetAddress.d.ts.map +1 -1
- package/dist/types/api/evmGetPublicKey.d.ts +0 -1
- package/dist/types/api/evmGetPublicKey.d.ts.map +1 -1
- package/dist/types/api/index.d.ts +1 -2
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/utils/findDefectiveBatchDevice.d.ts +5 -0
- package/dist/utils/findDefectiveBatchDevice.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/api/BaseMethod.ts +0 -3
- package/src/api/allnetwork/AllNetworkGetAddress.ts +407 -14
- package/src/api/btc/BTCGetPublicKey.ts +0 -13
- package/src/api/cosmos/CosmosGetPublicKey.ts +1 -1
- package/src/api/device/DeviceUnlock.ts +48 -1
- package/src/api/evm/EVMGetPublicKey.ts +3 -9
- package/src/api/index.ts +0 -1
- package/src/core/RequestQueue.ts +0 -26
- package/src/core/index.ts +82 -41
- package/src/device/Device.ts +0 -66
- package/src/events/call.ts +0 -10
- package/src/events/core.ts +1 -7
- package/src/events/iframe.ts +1 -12
- package/src/index.ts +1 -2
- package/src/inject.ts +0 -47
- package/src/types/api/allNetworkGetAddress.ts +2 -16
- package/src/types/api/evmGetPublicKey.ts +0 -1
- package/src/types/api/index.ts +1 -2
- package/src/utils/findDefectiveBatchDevice.ts +29 -0
- package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts +0 -47
- package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +0 -1
- package/dist/api/allnetwork/AllNetworkGetAddressByLoop.d.ts +0 -8
- package/dist/api/allnetwork/AllNetworkGetAddressByLoop.d.ts.map +0 -1
- package/src/api/allnetwork/AllNetworkGetAddressBase.ts +0 -477
- package/src/api/allnetwork/AllNetworkGetAddressByLoop.ts +0 -151
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createDeferred,
|
|
3
|
-
ERRORS,
|
|
4
|
-
HardwareError,
|
|
5
|
-
HardwareErrorCode,
|
|
6
|
-
HardwareErrorCodeMessage,
|
|
7
|
-
} from '@onekeyfe/hd-shared';
|
|
8
|
-
import type {
|
|
9
|
-
AllNetworkAddress,
|
|
10
|
-
AllNetworkGetAddressParamsByLoop,
|
|
11
|
-
} from '../../types/api/allNetworkGetAddress';
|
|
12
|
-
|
|
13
|
-
import { IFRAME } from '../../events';
|
|
14
|
-
import AllNetworkGetAddressBase from './AllNetworkGetAddressBase';
|
|
15
|
-
import { Unsuccessful } from '../../types';
|
|
16
|
-
|
|
17
|
-
export default class AllNetworkGetAddressByLoop extends AllNetworkGetAddressBase {
|
|
18
|
-
async getAllNetworkAddress() {
|
|
19
|
-
const { callbackId, callbackIdFinish } = this.payload as AllNetworkGetAddressParamsByLoop;
|
|
20
|
-
if (!callbackId) {
|
|
21
|
-
throw new Error('callbackId is required');
|
|
22
|
-
}
|
|
23
|
-
if (!callbackIdFinish) {
|
|
24
|
-
throw new Error('callbackIdFinish is required');
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const bundle = this.payload.bundle || [this.payload];
|
|
28
|
-
|
|
29
|
-
// process callbacks in background
|
|
30
|
-
const callbackPromise = this.processCallbacksInBackground(bundle, callbackId, callbackIdFinish);
|
|
31
|
-
this.device.pendingCallbackPromise = createDeferred(callbackPromise);
|
|
32
|
-
|
|
33
|
-
// register to context for scheduling management
|
|
34
|
-
if (this.context && this.payload.connectId) {
|
|
35
|
-
this.context.registerCallbackTask(this.payload.connectId, this.device.pendingCallbackPromise);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// return empty array immediately
|
|
39
|
-
return Promise.resolve([]);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
private async processCallbacksInBackground(
|
|
43
|
-
bundle: any[],
|
|
44
|
-
callbackId: string,
|
|
45
|
-
callbackIdFinish: string
|
|
46
|
-
): Promise<void> {
|
|
47
|
-
try {
|
|
48
|
-
const allResults: AllNetworkAddress[] = [];
|
|
49
|
-
|
|
50
|
-
for (let i = 0; i < bundle.length; i++) {
|
|
51
|
-
const item = bundle[i];
|
|
52
|
-
|
|
53
|
-
if (this.abortController?.signal.aborted) {
|
|
54
|
-
throw new Error(HardwareErrorCodeMessage[HardwareErrorCode.RepeatUnlocking]);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const methodParams = this.generateMethodName({
|
|
58
|
-
network: item.network,
|
|
59
|
-
payload: item,
|
|
60
|
-
originalIndex: i,
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
const singleMethodParams = {
|
|
64
|
-
bundle: [methodParams.params],
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
const response = await this.callMethod(methodParams.methodName, singleMethodParams);
|
|
68
|
-
|
|
69
|
-
if (this.abortController?.signal.aborted) {
|
|
70
|
-
throw new Error(HardwareErrorCodeMessage[HardwareErrorCode.RepeatUnlocking]);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
const singleResult = {
|
|
74
|
-
...item,
|
|
75
|
-
...response[0],
|
|
76
|
-
};
|
|
77
|
-
allResults.push(singleResult);
|
|
78
|
-
|
|
79
|
-
this.sendItemCallback(callbackId, singleResult, i);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
this.sendFinishCallback({
|
|
83
|
-
callbackId: callbackIdFinish,
|
|
84
|
-
data: allResults,
|
|
85
|
-
});
|
|
86
|
-
} catch (error: any) {
|
|
87
|
-
let errorCode = error.errorCode || error.code;
|
|
88
|
-
let errorMessage = error.message;
|
|
89
|
-
|
|
90
|
-
if (error instanceof HardwareError) {
|
|
91
|
-
errorCode = error.errorCode;
|
|
92
|
-
errorMessage = error.message;
|
|
93
|
-
} else if (error.message === HardwareErrorCodeMessage[HardwareErrorCode.RepeatUnlocking]) {
|
|
94
|
-
errorCode = HardwareErrorCode.RepeatUnlocking;
|
|
95
|
-
errorMessage = error.message;
|
|
96
|
-
} else {
|
|
97
|
-
const hardwareError = ERRORS.TypedError(HardwareErrorCode.RuntimeError, error.message);
|
|
98
|
-
errorCode = hardwareError.errorCode;
|
|
99
|
-
errorMessage = hardwareError.message;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
this.sendFinishCallback({
|
|
103
|
-
callbackId: callbackIdFinish,
|
|
104
|
-
error: {
|
|
105
|
-
success: false,
|
|
106
|
-
payload: {
|
|
107
|
-
error: errorMessage,
|
|
108
|
-
code: errorCode,
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
});
|
|
112
|
-
} finally {
|
|
113
|
-
this.context?.cancelCallbackTasks(this.payload.connectId);
|
|
114
|
-
this.abortController = null;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
private sendFinishCallback({
|
|
119
|
-
callbackId,
|
|
120
|
-
data,
|
|
121
|
-
error,
|
|
122
|
-
}: {
|
|
123
|
-
callbackId: string;
|
|
124
|
-
data?: AllNetworkAddress[];
|
|
125
|
-
error?: Unsuccessful;
|
|
126
|
-
}) {
|
|
127
|
-
this.postMessage({
|
|
128
|
-
event: IFRAME.CALLBACK,
|
|
129
|
-
type: IFRAME.CALLBACK,
|
|
130
|
-
payload: {
|
|
131
|
-
callbackId,
|
|
132
|
-
data,
|
|
133
|
-
error,
|
|
134
|
-
},
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
private sendItemCallback(callbackId: string, data: any, itemIndex: number) {
|
|
139
|
-
this.postMessage({
|
|
140
|
-
event: IFRAME.CALLBACK,
|
|
141
|
-
type: IFRAME.CALLBACK,
|
|
142
|
-
payload: {
|
|
143
|
-
callbackId,
|
|
144
|
-
data: {
|
|
145
|
-
...data,
|
|
146
|
-
index: itemIndex,
|
|
147
|
-
},
|
|
148
|
-
},
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
}
|