@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.
Files changed (64) hide show
  1. package/dist/api/BaseMethod.d.ts +0 -2
  2. package/dist/api/BaseMethod.d.ts.map +1 -1
  3. package/dist/api/allnetwork/AllNetworkGetAddress.d.ts +28 -4
  4. package/dist/api/allnetwork/AllNetworkGetAddress.d.ts.map +1 -1
  5. package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
  6. package/dist/api/cosmos/CosmosGetPublicKey.d.ts +1 -1
  7. package/dist/api/cosmos/CosmosGetPublicKey.d.ts.map +1 -1
  8. package/dist/api/device/DeviceUnlock.d.ts +2 -0
  9. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  10. package/dist/api/evm/EVMGetPublicKey.d.ts +0 -1
  11. package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
  12. package/dist/api/index.d.ts +0 -1
  13. package/dist/api/index.d.ts.map +1 -1
  14. package/dist/core/RequestQueue.d.ts +0 -4
  15. package/dist/core/RequestQueue.d.ts.map +1 -1
  16. package/dist/core/index.d.ts +2 -3
  17. package/dist/core/index.d.ts.map +1 -1
  18. package/dist/device/Device.d.ts +1 -4
  19. package/dist/device/Device.d.ts.map +1 -1
  20. package/dist/events/call.d.ts +0 -9
  21. package/dist/events/call.d.ts.map +1 -1
  22. package/dist/events/core.d.ts +2 -2
  23. package/dist/events/core.d.ts.map +1 -1
  24. package/dist/events/iframe.d.ts +1 -11
  25. package/dist/events/iframe.d.ts.map +1 -1
  26. package/dist/index.d.ts +10 -38
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +193 -402
  29. package/dist/inject.d.ts +0 -3
  30. package/dist/inject.d.ts.map +1 -1
  31. package/dist/types/api/allNetworkGetAddress.d.ts +2 -9
  32. package/dist/types/api/allNetworkGetAddress.d.ts.map +1 -1
  33. package/dist/types/api/evmGetPublicKey.d.ts +0 -1
  34. package/dist/types/api/evmGetPublicKey.d.ts.map +1 -1
  35. package/dist/types/api/index.d.ts +1 -2
  36. package/dist/types/api/index.d.ts.map +1 -1
  37. package/dist/utils/findDefectiveBatchDevice.d.ts +5 -0
  38. package/dist/utils/findDefectiveBatchDevice.d.ts.map +1 -1
  39. package/package.json +4 -4
  40. package/src/api/BaseMethod.ts +0 -3
  41. package/src/api/allnetwork/AllNetworkGetAddress.ts +407 -14
  42. package/src/api/btc/BTCGetPublicKey.ts +0 -13
  43. package/src/api/cosmos/CosmosGetPublicKey.ts +1 -1
  44. package/src/api/device/DeviceUnlock.ts +48 -1
  45. package/src/api/evm/EVMGetPublicKey.ts +3 -9
  46. package/src/api/index.ts +0 -1
  47. package/src/core/RequestQueue.ts +0 -26
  48. package/src/core/index.ts +82 -41
  49. package/src/device/Device.ts +0 -66
  50. package/src/events/call.ts +0 -10
  51. package/src/events/core.ts +1 -7
  52. package/src/events/iframe.ts +1 -12
  53. package/src/index.ts +1 -2
  54. package/src/inject.ts +0 -47
  55. package/src/types/api/allNetworkGetAddress.ts +2 -16
  56. package/src/types/api/evmGetPublicKey.ts +0 -1
  57. package/src/types/api/index.ts +1 -2
  58. package/src/utils/findDefectiveBatchDevice.ts +29 -0
  59. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts +0 -47
  60. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +0 -1
  61. package/dist/api/allnetwork/AllNetworkGetAddressByLoop.d.ts +0 -8
  62. package/dist/api/allnetwork/AllNetworkGetAddressByLoop.d.ts.map +0 -1
  63. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +0 -477
  64. 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
- }