@onekeyfe/hd-core 1.1.19-alpha.1 → 1.1.19-alpha.3

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 (56) hide show
  1. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  2. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  3. package/dist/api/btc/helpers/btcParamsUtils.d.ts.map +1 -1
  4. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +4 -4
  5. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  6. package/dist/api/firmware/bootloaderHelper.d.ts +1 -1
  7. package/dist/api/firmware/bootloaderHelper.d.ts.map +1 -1
  8. package/dist/api/firmware/updateBootloader.d.ts +1 -1
  9. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  10. package/dist/api/firmware/uploadFirmware.d.ts +1 -1
  11. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  12. package/dist/api/polkadot/PolkadotGetAddress.d.ts +2 -2
  13. package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
  14. package/dist/api/polkadot/PolkadotSignTransaction.d.ts +1 -1
  15. package/dist/api/polkadot/PolkadotSignTransaction.d.ts.map +1 -1
  16. package/dist/api/polkadot/networks.d.ts +7 -1
  17. package/dist/api/polkadot/networks.d.ts.map +1 -1
  18. package/dist/api/tron/TronGetAddress.d.ts +2 -2
  19. package/dist/api/tron/TronGetAddress.d.ts.map +1 -1
  20. package/dist/api/tron/TronSignMessage.d.ts +4 -1
  21. package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
  22. package/dist/api/tron/TronSignTransaction.d.ts +3 -3
  23. package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
  24. package/dist/api/xrp/XrpGetAddress.d.ts.map +1 -1
  25. package/dist/core/index.d.ts +3 -3
  26. package/dist/core/index.d.ts.map +1 -1
  27. package/dist/device/DeviceCommands.d.ts +6 -6
  28. package/dist/device/DeviceCommands.d.ts.map +1 -1
  29. package/dist/index.d.ts +3 -2
  30. package/dist/index.js +116 -54
  31. package/dist/types/api/polkadotSignTransaction.d.ts +2 -1
  32. package/dist/types/api/polkadotSignTransaction.d.ts.map +1 -1
  33. package/dist/utils/logger.d.ts +1 -1
  34. package/dist/utils/logger.d.ts.map +1 -1
  35. package/dist/utils/tracing.d.ts.map +1 -1
  36. package/package.json +6 -8
  37. package/src/api/FirmwareUpdate.ts +2 -1
  38. package/src/api/FirmwareUpdateV2.ts +2 -1
  39. package/src/api/btc/helpers/btcParamsUtils.ts +1 -0
  40. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +16 -18
  41. package/src/api/firmware/bootloaderHelper.ts +3 -1
  42. package/src/api/firmware/updateBootloader.ts +6 -3
  43. package/src/api/firmware/uploadFirmware.ts +65 -35
  44. package/src/api/polkadot/PolkadotGetAddress.ts +5 -5
  45. package/src/api/polkadot/PolkadotSignTransaction.ts +8 -5
  46. package/src/api/polkadot/networks.ts +16 -0
  47. package/src/api/tron/TronGetAddress.ts +3 -2
  48. package/src/api/tron/TronSignMessage.ts +7 -4
  49. package/src/api/tron/TronSignTransaction.ts +14 -3
  50. package/src/api/xrp/XrpGetAddress.ts +0 -19
  51. package/src/core/index.ts +30 -23
  52. package/src/data/messages/messages.json +4 -0
  53. package/src/device/DeviceCommands.ts +14 -6
  54. package/src/types/api/polkadotSignTransaction.ts +2 -1
  55. package/src/utils/logger.ts +3 -2
  56. package/src/utils/tracing.ts +47 -60
@@ -1,15 +1,11 @@
1
1
  /**
2
2
  * SDK Tracing Utilities
3
- * 用于追踪对象实例和请求调用链路
4
- *
5
- * 支持多个 SDK 实例,每个实例有独立的追踪上下文
3
+ * Tracks object instances and request call chains across multiple SDK instances
6
4
  */
7
5
 
8
6
  import { getLogger, LoggerNames } from './logger';
9
7
 
10
- // ============================================================
11
- // 全局计数器(跨 SDK 实例)
12
- // ============================================================
8
+ // Global counters (cross-SDK instances)
13
9
 
14
10
  const Log = getLogger(LoggerNames.Core);
15
11
 
@@ -17,8 +13,8 @@ let globalInstanceCounter = 0;
17
13
  let sdkInstanceCounter = 0;
18
14
 
19
15
  /**
20
- * 生成 SDK 实例 ID
21
- * @returns 格式: "SDK-<序号>-<时间戳>"
16
+ * Generate SDK instance ID
17
+ * @returns Format: "SDK-<number>-<timestamp>"
22
18
  * @example "SDK-1-123456"
23
19
  */
24
20
  export function generateSdkInstanceId(): string {
@@ -28,11 +24,11 @@ export function generateSdkInstanceId(): string {
28
24
  }
29
25
 
30
26
  /**
31
- * 生成全局唯一的实例 ID
32
- * @param type 实例类型 (Device, DeviceCommands, BaseMethod, etc.)
33
- * @param sdkInstanceId SDK 实例 ID(可选,用于前缀)
34
- * @returns 格式: <SDK实例>.<类型>-<序号>-<时间戳>
35
- * @example "SDK-1.Device-1-123456" "Device-1-123456"(无 SDK 实例)
27
+ * Generate globally unique instance ID
28
+ * @param type Instance type (Device, DeviceCommands, BaseMethod, etc.)
29
+ * @param sdkInstanceId SDK instance ID (optional)
30
+ * @returns Format: <SDK>.<type>-<number>-<timestamp>
31
+ * @example "SDK-1.Device-1-123456" or "Device-1-123456"
36
32
  */
37
33
  export function generateInstanceId(type: string, sdkInstanceId?: string): string {
38
34
  globalInstanceCounter++;
@@ -41,58 +37,56 @@ export function generateInstanceId(type: string, sdkInstanceId?: string): string
41
37
  return sdkInstanceId ? `${sdkInstanceId}.${baseId}` : baseId;
42
38
  }
43
39
 
44
- // ============================================================
45
- // 请求上下文管理
46
- // ============================================================
40
+ // Request context management
47
41
 
48
42
  /**
49
- * 请求上下文信息
43
+ * Request context information
50
44
  */
51
45
  export interface RequestContext {
52
- /** 请求唯一 ID (复用 BaseMethod.responseID) */
46
+ /** Request unique ID (reuses BaseMethod.responseID) */
53
47
  responseID: number;
54
- /** SDK 实例 ID */
48
+ /** SDK instance ID */
55
49
  sdkInstanceId?: string;
56
- /** API 方法名 */
50
+ /** API method name */
57
51
  methodName: string;
58
- /** 设备连接 ID */
52
+ /** Device connection ID */
59
53
  connectId?: string;
60
- /** Device 实例 ID */
54
+ /** Device instance ID */
61
55
  deviceInstanceId?: string;
62
- /** DeviceCommands 实例 ID */
56
+ /** DeviceCommands instance ID */
63
57
  commandsInstanceId?: string;
64
- /** 父请求 ID (用于嵌套调用如 allNetworkGetAddress) */
58
+ /** Parent request ID (for nested calls like allNetworkGetAddress) */
65
59
  parentResponseID?: number;
66
- /** 请求开始时间 */
60
+ /** Request start time */
67
61
  startTime: number;
68
- /** 请求结束时间 */
62
+ /** Request end time */
69
63
  endTime?: number;
70
- /** 请求状态 */
64
+ /** Request status */
71
65
  status?: 'pending' | 'running' | 'success' | 'error' | 'cancelled';
72
- /** 错误信息 */
66
+ /** Error message */
73
67
  error?: string;
74
68
  }
75
69
 
76
70
  /**
77
- * SDK 实例追踪上下文
71
+ * SDK instance tracing context
78
72
  */
79
73
  export interface SdkTracingContext {
80
- /** SDK 实例 ID */
74
+ /** SDK instance ID */
81
75
  sdkInstanceId: string;
82
- /** 创建时间 */
76
+ /** Creation timestamp */
83
77
  createdAt: number;
84
- /** 活跃请求 */
78
+ /** Active requests */
85
79
  activeRequests: Map<number, RequestContext>;
86
80
  }
87
81
 
88
- // 全局 SDK 实例追踪 Map
82
+ // Global SDK instance tracking map
89
83
  const sdkInstances = new Map<string, SdkTracingContext>();
90
84
 
91
- // 全局请求 Map(跨 SDK 实例,用于快速查找)
85
+ // Global request map (cross-SDK instances for quick lookup)
92
86
  const globalActiveRequests = new Map<number, RequestContext>();
93
87
 
94
88
  /**
95
- * 创建 SDK 实例追踪上下文
89
+ * Create SDK instance tracing context
96
90
  */
97
91
  export function createSdkTracingContext(): SdkTracingContext {
98
92
  const sdkInstanceId = generateSdkInstanceId();
@@ -108,10 +102,10 @@ export function createSdkTracingContext(): SdkTracingContext {
108
102
  }
109
103
 
110
104
  /**
111
- * 创建并注册请求上下文
112
- * @param responseID 请求 ID (复用 BaseMethod.responseID)
113
- * @param methodName API 方法名
114
- * @param options 额外选项
105
+ * Create and register request context
106
+ * @param responseID Request ID (reuses BaseMethod.responseID)
107
+ * @param methodName API method name
108
+ * @param options Additional options
115
109
  */
116
110
  export function createRequestContext(
117
111
  responseID: number,
@@ -136,10 +130,10 @@ export function createRequestContext(
136
130
  status: 'pending',
137
131
  };
138
132
 
139
- // 注册到全局 Map
133
+ // Register to global map
140
134
  globalActiveRequests.set(context.responseID, context);
141
135
 
142
- // 注册到 SDK 实例 Map
136
+ // Register to SDK instance map
143
137
  if (options?.sdkInstanceId) {
144
138
  const sdkContext = sdkInstances.get(options.sdkInstanceId);
145
139
  if (sdkContext) {
@@ -151,7 +145,7 @@ export function createRequestContext(
151
145
  }
152
146
 
153
147
  /**
154
- * 更新请求状态
148
+ * Update request context
155
149
  */
156
150
  export function updateRequestContext(responseID: number, updates: Partial<RequestContext>): void {
157
151
  const context = globalActiveRequests.get(responseID);
@@ -161,7 +155,7 @@ export function updateRequestContext(responseID: number, updates: Partial<Reques
161
155
  }
162
156
 
163
157
  /**
164
- * 完成请求
158
+ * Complete request context
165
159
  */
166
160
  export function completeRequestContext(responseID: number, error?: Error): void {
167
161
  const context = globalActiveRequests.get(responseID);
@@ -170,16 +164,15 @@ export function completeRequestContext(responseID: number, error?: Error): void
170
164
  context.status = error ? 'error' : 'success';
171
165
  if (error) {
172
166
  context.error = error.message;
173
- // print core log
174
167
  Log.error(
175
168
  `[RequestContext] [completeRequestContext] Error: ${formatRequestContext(context)}`
176
169
  );
177
170
  }
178
171
 
179
- // 从活跃列表移除
172
+ // Remove from active list
180
173
  globalActiveRequests.delete(responseID);
181
174
 
182
- // SDK 实例移除
175
+ // Remove from SDK instance
183
176
  if (context.sdkInstanceId) {
184
177
  const sdkContext = sdkInstances.get(context.sdkInstanceId);
185
178
  if (sdkContext) {
@@ -189,12 +182,10 @@ export function completeRequestContext(responseID: number, error?: Error): void
189
182
  }
190
183
  }
191
184
 
192
- // ============================================================
193
- // 查询 API
194
- // ============================================================
185
+ // Query API
195
186
 
196
187
  /**
197
- * 获取特定 Device 实例的活跃请求
188
+ * Get active requests for specific Device instance
198
189
  */
199
190
  export function getActiveRequestsByDeviceInstance(deviceInstanceId: string): RequestContext[] {
200
191
  return Array.from(globalActiveRequests.values()).filter(
@@ -202,12 +193,10 @@ export function getActiveRequestsByDeviceInstance(deviceInstanceId: string): Req
202
193
  );
203
194
  }
204
195
 
205
- // ============================================================
206
- // 格式化输出
207
- // ============================================================
196
+ // Format output
208
197
 
209
198
  /**
210
- * 格式化请求上下文用于日志输出
199
+ * Format request context for logging
211
200
  */
212
201
  export function formatRequestContext(context: RequestContext): string {
213
202
  const duration = context.endTime
@@ -230,22 +219,20 @@ export function formatRequestContext(context: RequestContext): string {
230
219
  return parts.join(' ');
231
220
  }
232
221
 
233
- // ============================================================
234
- // 清理和重置
235
- // ============================================================
222
+ // Cleanup and reset
236
223
 
237
224
  /**
238
- * 清理特定 SDK 实例
225
+ * Cleanup specific SDK instance
239
226
  */
240
227
  export function cleanupSdkInstance(sdkInstanceId: string): void {
241
228
  const sdkContext = sdkInstances.get(sdkInstanceId);
242
229
  if (sdkContext) {
243
- // 从全局活跃请求中移除该 SDK 的请求
230
+ // Remove SDK requests from global active requests
244
231
  for (const responseID of sdkContext.activeRequests.keys()) {
245
232
  globalActiveRequests.delete(responseID);
246
233
  }
247
234
 
248
- // 移除 SDK 实例
235
+ // Remove SDK instance
249
236
  sdkInstances.delete(sdkInstanceId);
250
237
  }
251
238
  }