@onekeyfe/hd-core 1.1.2-alpha.1 → 1.1.2-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 (56) hide show
  1. package/dist/api/BaseMethod.d.ts +2 -0
  2. package/dist/api/BaseMethod.d.ts.map +1 -1
  3. package/dist/api/allnetwork/AllNetworkGetAddress.d.ts +4 -28
  4. package/dist/api/allnetwork/AllNetworkGetAddress.d.ts.map +1 -1
  5. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts +46 -0
  6. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -0
  7. package/dist/api/allnetwork/AllNetworkGetAddressByLoop.d.ts +8 -0
  8. package/dist/api/allnetwork/AllNetworkGetAddressByLoop.d.ts.map +1 -0
  9. package/dist/api/cosmos/CosmosGetPublicKey.d.ts +1 -1
  10. package/dist/api/cosmos/CosmosGetPublicKey.d.ts.map +1 -1
  11. package/dist/api/evm/EVMGetPublicKey.d.ts +1 -0
  12. package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
  13. package/dist/api/index.d.ts +1 -0
  14. package/dist/api/index.d.ts.map +1 -1
  15. package/dist/core/RequestQueue.d.ts +4 -0
  16. package/dist/core/RequestQueue.d.ts.map +1 -1
  17. package/dist/core/index.d.ts +1 -2
  18. package/dist/core/index.d.ts.map +1 -1
  19. package/dist/device/Device.d.ts +1 -0
  20. package/dist/device/Device.d.ts.map +1 -1
  21. package/dist/events/call.d.ts +9 -0
  22. package/dist/events/call.d.ts.map +1 -1
  23. package/dist/events/core.d.ts +2 -2
  24. package/dist/events/core.d.ts.map +1 -1
  25. package/dist/events/iframe.d.ts +11 -1
  26. package/dist/events/iframe.d.ts.map +1 -1
  27. package/dist/index.d.ts +39 -10
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +272 -104
  30. package/dist/inject.d.ts +3 -0
  31. package/dist/inject.d.ts.map +1 -1
  32. package/dist/types/api/allNetworkGetAddress.d.ts +11 -1
  33. package/dist/types/api/allNetworkGetAddress.d.ts.map +1 -1
  34. package/dist/types/api/evmGetPublicKey.d.ts +1 -0
  35. package/dist/types/api/evmGetPublicKey.d.ts.map +1 -1
  36. package/dist/types/api/index.d.ts +2 -1
  37. package/dist/types/api/index.d.ts.map +1 -1
  38. package/package.json +4 -4
  39. package/src/api/BaseMethod.ts +3 -0
  40. package/src/api/allnetwork/AllNetworkGetAddress.ts +5 -407
  41. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +427 -0
  42. package/src/api/allnetwork/AllNetworkGetAddressByLoop.ts +104 -0
  43. package/src/api/cosmos/CosmosGetPublicKey.ts +1 -1
  44. package/src/api/evm/EVMGetPublicKey.ts +9 -3
  45. package/src/api/index.ts +1 -0
  46. package/src/core/RequestQueue.ts +26 -0
  47. package/src/core/index.ts +28 -2
  48. package/src/device/Device.ts +14 -0
  49. package/src/events/call.ts +10 -0
  50. package/src/events/core.ts +7 -1
  51. package/src/events/iframe.ts +12 -1
  52. package/src/index.ts +2 -1
  53. package/src/inject.ts +47 -0
  54. package/src/types/api/allNetworkGetAddress.ts +17 -1
  55. package/src/types/api/evmGetPublicKey.ts +1 -0
  56. package/src/types/api/index.ts +2 -1
package/dist/index.js CHANGED
@@ -26,6 +26,82 @@ var ByteBuffer__default = /*#__PURE__*/_interopDefaultLegacy(ByteBuffer);
26
26
  var BigNumber__default = /*#__PURE__*/_interopDefaultLegacy(BigNumber);
27
27
  var JSZip__default = /*#__PURE__*/_interopDefaultLegacy(JSZip);
28
28
 
29
+ /******************************************************************************
30
+ Copyright (c) Microsoft Corporation.
31
+
32
+ Permission to use, copy, modify, and/or distribute this software for any
33
+ purpose with or without fee is hereby granted.
34
+
35
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
36
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
37
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
38
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
39
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
40
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
41
+ PERFORMANCE OF THIS SOFTWARE.
42
+ ***************************************************************************** */
43
+
44
+ function __rest(s, e) {
45
+ var t = {};
46
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
47
+ t[p] = s[p];
48
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
49
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
50
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
51
+ t[p[i]] = s[p[i]];
52
+ }
53
+ return t;
54
+ }
55
+
56
+ function __awaiter(thisArg, _arguments, P, generator) {
57
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
58
+ return new (P || (P = Promise))(function (resolve, reject) {
59
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
60
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
61
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
62
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
63
+ });
64
+ }
65
+
66
+ function __values(o) {
67
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
68
+ if (m) return m.call(o);
69
+ if (o && typeof o.length === "number") return {
70
+ next: function () {
71
+ if (o && i >= o.length) o = void 0;
72
+ return { value: o && o[i++], done: !o };
73
+ }
74
+ };
75
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
76
+ }
77
+
78
+ function __asyncValues(o) {
79
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
80
+ var m = o[Symbol.asyncIterator], i;
81
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
82
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
83
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
84
+ }
85
+
86
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
87
+ var e = new Error(message);
88
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
89
+ };
90
+
91
+ const callbackManager = new Map();
92
+ const generateCallbackId = () => `callback_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
93
+ const registerCallback = (id, callback) => {
94
+ callbackManager.set(id, callback);
95
+ };
96
+ const executeCallback = (id, ...args) => {
97
+ const callback = callbackManager.get(id);
98
+ if (callback) {
99
+ callback(...args);
100
+ }
101
+ };
102
+ const cleanupCallback = (id) => {
103
+ callbackManager.delete(id);
104
+ };
29
105
  const inject = ({ call, cancel, dispose, eventEmitter, init, updateSettings, switchTransport, uiResponse, }) => {
30
106
  const api = Object.assign({ on: (type, fn) => {
31
107
  eventEmitter.on(type, fn);
@@ -77,6 +153,20 @@ const createCoreApi = (call) => ({
77
153
  getNextU2FCounter: (connectId, params) => call(Object.assign(Object.assign({}, params), { connectId, method: 'getNextU2FCounter' })),
78
154
  setU2FCounter: (connectId, params) => call(Object.assign(Object.assign({}, params), { connectId, method: 'setU2FCounter' })),
79
155
  allNetworkGetAddress: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), { connectId, deviceId, method: 'allNetworkGetAddress' })),
156
+ allNetworkGetAddressByLoop: (connectId, deviceId, params) => {
157
+ const { onLoopItemResponse, onAllItemsResponse } = params, restParams = __rest(params, ["onLoopItemResponse", "onAllItemsResponse"]);
158
+ const callbackId = generateCallbackId();
159
+ registerCallback(callbackId, onLoopItemResponse);
160
+ const callbackIdFinish = generateCallbackId();
161
+ registerCallback(callbackIdFinish, (data) => {
162
+ onAllItemsResponse === null || onAllItemsResponse === void 0 ? void 0 : onAllItemsResponse(data);
163
+ cleanupCallback(callbackIdFinish);
164
+ cleanupCallback(callbackId);
165
+ });
166
+ return call(Object.assign(Object.assign({}, restParams), { connectId,
167
+ deviceId, method: 'allNetworkGetAddressByLoop', callbackId,
168
+ callbackIdFinish }));
169
+ },
80
170
  evmGetAddress: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), { connectId, deviceId, method: 'evmGetAddress' })),
81
171
  evmGetPublicKey: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), { connectId, deviceId, method: 'evmGetPublicKey' })),
82
172
  evmSignMessage: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), { connectId, deviceId, method: 'evmSignMessage' })),
@@ -684,68 +774,6 @@ const topLevelInject = () => {
684
774
  return api;
685
775
  };
686
776
 
687
- /******************************************************************************
688
- Copyright (c) Microsoft Corporation.
689
-
690
- Permission to use, copy, modify, and/or distribute this software for any
691
- purpose with or without fee is hereby granted.
692
-
693
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
694
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
695
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
696
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
697
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
698
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
699
- PERFORMANCE OF THIS SOFTWARE.
700
- ***************************************************************************** */
701
-
702
- function __rest(s, e) {
703
- var t = {};
704
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
705
- t[p] = s[p];
706
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
707
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
708
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
709
- t[p[i]] = s[p[i]];
710
- }
711
- return t;
712
- }
713
-
714
- function __awaiter(thisArg, _arguments, P, generator) {
715
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
716
- return new (P || (P = Promise))(function (resolve, reject) {
717
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
718
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
719
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
720
- step((generator = generator.apply(thisArg, _arguments || [])).next());
721
- });
722
- }
723
-
724
- function __values(o) {
725
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
726
- if (m) return m.call(o);
727
- if (o && typeof o.length === "number") return {
728
- next: function () {
729
- if (o && i >= o.length) o = void 0;
730
- return { value: o && o[i++], done: !o };
731
- }
732
- };
733
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
734
- }
735
-
736
- function __asyncValues(o) {
737
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
738
- var m = o[Symbol.asyncIterator], i;
739
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
740
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
741
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
742
- }
743
-
744
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
745
- var e = new Error(message);
746
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
747
- };
748
-
749
777
  const LOG_EVENT = 'LOG_EVENT';
750
778
  const LOG = {
751
779
  OUTPUT: 'log-output',
@@ -25798,6 +25826,7 @@ const IFRAME = {
25798
25826
  CALL: 'iframe-call',
25799
25827
  CANCEL: 'iframe-cancel',
25800
25828
  SWITCH_TRANSPORT: 'iframe-switch-transport',
25829
+ CALLBACK: 'iframe-callback',
25801
25830
  };
25802
25831
  const createIFrameMessage = (type, payload) => ({
25803
25832
  event: UI_EVENT,
@@ -26691,6 +26720,15 @@ class Device extends events.exports {
26691
26720
  const env = DataManager.getSettings('env');
26692
26721
  if ((this.isUsedHere() && !this.keepSession && this.mainId) ||
26693
26722
  (this.mainId && DataManager.isBleConnect(env))) {
26723
+ if (this.pendingCallbackPromise) {
26724
+ try {
26725
+ Log$a.debug('Waiting for callback tasks to complete before releasing device (in release method)');
26726
+ yield this.pendingCallbackPromise.promise;
26727
+ }
26728
+ catch (error) {
26729
+ Log$a.error('Error waiting for callback tasks in release method:', error);
26730
+ }
26731
+ }
26694
26732
  if (this.commands) {
26695
26733
  this.commands.dispose(false);
26696
26734
  if (this.commands.callPromise) {
@@ -30041,12 +30079,13 @@ const networkConfigMap = {
30041
30079
  methodName: 'neoGetAddress',
30042
30080
  },
30043
30081
  };
30044
- class AllNetworkGetAddress extends BaseMethod {
30082
+ class AllNetworkGetAddressBase extends BaseMethod {
30045
30083
  init() {
30084
+ var _a, _b;
30046
30085
  this.checkDeviceId = true;
30047
30086
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
30048
30087
  validateParams(this.payload, [{ name: 'bundle', type: 'array' }]);
30049
- this.payload.bundle.forEach((batch) => {
30088
+ (_b = (_a = this.payload) === null || _a === void 0 ? void 0 : _a.bundle) === null || _b === void 0 ? void 0 : _b.forEach((batch) => {
30050
30089
  validateParams(batch, [
30051
30090
  { name: 'path', required: true },
30052
30091
  { name: 'network', type: 'string', required: true },
@@ -30112,45 +30151,8 @@ class AllNetworkGetAddress extends BaseMethod {
30112
30151
  });
30113
30152
  }
30114
30153
  run() {
30115
- var _a, _b;
30116
30154
  return __awaiter(this, void 0, void 0, function* () {
30117
- const responses = [];
30118
- const resultMap = {};
30119
- const { bundle } = this.payload;
30120
- const methodGroups = bundle
30121
- .map((param, index) => this.generateMethodName({
30122
- network: param.network,
30123
- payload: param,
30124
- originalIndex: index,
30125
- }))
30126
- .reduce((acc, cur) => {
30127
- if (!acc[cur.methodName]) {
30128
- acc[cur.methodName] = [];
30129
- }
30130
- acc[cur.methodName].push(cur);
30131
- return acc;
30132
- }, {});
30133
- let i = 0;
30134
- for (const [methodName, params] of Object.entries(methodGroups)) {
30135
- const methodParams = {
30136
- bundle: params.map(param => (Object.assign({}, param.params))),
30137
- };
30138
- const response = yield this.callMethod(methodName, methodParams);
30139
- for (let i = 0; i < params.length; i++) {
30140
- const { _originRequestParams, _originalIndex } = params[i];
30141
- const responseKey = `${_originalIndex}`;
30142
- resultMap[responseKey] = Object.assign(Object.assign({}, _originRequestParams), response[i]);
30143
- }
30144
- if (((_b = (_a = this.payload) === null || _a === void 0 ? void 0 : _a.bundle) === null || _b === void 0 ? void 0 : _b.length) > 1) {
30145
- const progress = Math.round(((i + 1) / this.payload.bundle.length) * 100);
30146
- this.postMessage(createUiMessage(UI_REQUEST.DEVICE_PROGRESS, { progress }));
30147
- }
30148
- i++;
30149
- }
30150
- for (let i = 0; i < bundle.length; i++) {
30151
- responses.push(resultMap[i]);
30152
- }
30153
- return Promise.resolve(responses);
30155
+ return Promise.resolve(this.getAllNetworkAddress());
30154
30156
  });
30155
30157
  }
30156
30158
  }
@@ -30200,6 +30202,126 @@ function handleSkippableHardwareError(e, device, method) {
30200
30202
  return error;
30201
30203
  }
30202
30204
 
30205
+ class AllNetworkGetAddress extends AllNetworkGetAddressBase {
30206
+ getAllNetworkAddress() {
30207
+ var _a, _b;
30208
+ return __awaiter(this, void 0, void 0, function* () {
30209
+ const responses = [];
30210
+ const resultMap = {};
30211
+ const { bundle } = this.payload;
30212
+ const methodGroups = bundle
30213
+ .map((param, index) => this.generateMethodName({
30214
+ network: param.network,
30215
+ payload: param,
30216
+ originalIndex: index,
30217
+ }))
30218
+ .reduce((acc, cur) => {
30219
+ if (!acc[cur.methodName]) {
30220
+ acc[cur.methodName] = [];
30221
+ }
30222
+ acc[cur.methodName].push(cur);
30223
+ return acc;
30224
+ }, {});
30225
+ let i = 0;
30226
+ for (const [methodName, params] of Object.entries(methodGroups)) {
30227
+ const methodParams = {
30228
+ bundle: params.map(param => (Object.assign({}, param.params))),
30229
+ };
30230
+ const response = yield this.callMethod(methodName, methodParams);
30231
+ for (let i = 0; i < params.length; i++) {
30232
+ const { _originRequestParams, _originalIndex } = params[i];
30233
+ const responseKey = `${_originalIndex}`;
30234
+ resultMap[responseKey] = Object.assign(Object.assign({}, _originRequestParams), response[i]);
30235
+ }
30236
+ if (((_b = (_a = this.payload) === null || _a === void 0 ? void 0 : _a.bundle) === null || _b === void 0 ? void 0 : _b.length) > 1) {
30237
+ const progress = Math.round(((i + 1) / this.payload.bundle.length) * 100);
30238
+ this.postMessage(createUiMessage(UI_REQUEST.DEVICE_PROGRESS, { progress }));
30239
+ }
30240
+ i++;
30241
+ }
30242
+ for (let i = 0; i < bundle.length; i++) {
30243
+ responses.push(resultMap[i]);
30244
+ }
30245
+ return Promise.resolve(responses);
30246
+ });
30247
+ }
30248
+ }
30249
+
30250
+ class AllNetworkGetAddressByLoop extends AllNetworkGetAddressBase {
30251
+ getAllNetworkAddress() {
30252
+ return __awaiter(this, void 0, void 0, function* () {
30253
+ const { callbackId, callbackIdFinish } = this.payload;
30254
+ if (!callbackId) {
30255
+ throw new Error('callbackId is required');
30256
+ }
30257
+ if (!callbackIdFinish) {
30258
+ throw new Error('callbackIdFinish is required');
30259
+ }
30260
+ const bundle = this.payload.bundle || [this.payload];
30261
+ const callbackPromise = this.processCallbacksInBackground(bundle, callbackId, callbackIdFinish);
30262
+ this.device.pendingCallbackPromise = hdShared.createDeferred(callbackPromise);
30263
+ if (this.context && this.payload.connectId) {
30264
+ this.context.registerCallbackTask(this.payload.connectId, this.device.pendingCallbackPromise);
30265
+ }
30266
+ return Promise.resolve([]);
30267
+ });
30268
+ }
30269
+ processCallbacksInBackground(bundle, callbackId, callbackIdFinish) {
30270
+ var _a;
30271
+ return __awaiter(this, void 0, void 0, function* () {
30272
+ try {
30273
+ const allResults = [];
30274
+ for (let i = 0; i < bundle.length; i++) {
30275
+ const item = bundle[i];
30276
+ try {
30277
+ const methodParams = this.generateMethodName({
30278
+ network: item.network,
30279
+ payload: item,
30280
+ originalIndex: i,
30281
+ });
30282
+ const singleMethodParams = {
30283
+ bundle: [methodParams.params],
30284
+ };
30285
+ const response = yield this.callMethod(methodParams.methodName, singleMethodParams);
30286
+ const singleResult = Object.assign(Object.assign({}, item), response[0]);
30287
+ allResults.push(singleResult);
30288
+ this.sendItemCallback(callbackId, singleResult, null, i);
30289
+ }
30290
+ catch (error) {
30291
+ this.sendItemCallback(callbackId, null, error, i);
30292
+ console.error(`Error processing item ${i}:`, error);
30293
+ }
30294
+ }
30295
+ this.sendFinishCallback(callbackIdFinish, allResults);
30296
+ }
30297
+ finally {
30298
+ (_a = this.context) === null || _a === void 0 ? void 0 : _a.cancelCallbackTasks(this.payload.connectId);
30299
+ }
30300
+ });
30301
+ }
30302
+ sendFinishCallback(callbackId, data) {
30303
+ this.postMessage({
30304
+ event: IFRAME.CALLBACK,
30305
+ type: IFRAME.CALLBACK,
30306
+ payload: {
30307
+ callbackId,
30308
+ data,
30309
+ },
30310
+ });
30311
+ }
30312
+ sendItemCallback(callbackId, data, error, itemIndex) {
30313
+ this.postMessage({
30314
+ event: IFRAME.CALLBACK,
30315
+ type: IFRAME.CALLBACK,
30316
+ payload: {
30317
+ callbackId,
30318
+ data: Object.assign(Object.assign({}, data), { index: itemIndex }),
30319
+ error: error ? { message: error.message, code: error.code } : null,
30320
+ },
30321
+ });
30322
+ }
30323
+ }
30324
+
30203
30325
  var bitcoin = [
30204
30326
  {
30205
30327
  name: "Bitcoin",
@@ -31613,6 +31735,7 @@ class EVMGetPublicKey extends BaseMethod {
31613
31735
  constructor() {
31614
31736
  super(...arguments);
31615
31737
  this.hasBundle = false;
31738
+ this.confirmShowOnOneKey = false;
31616
31739
  this.useBatch = false;
31617
31740
  }
31618
31741
  init() {
@@ -31620,7 +31743,8 @@ class EVMGetPublicKey extends BaseMethod {
31620
31743
  this.checkDeviceId = true;
31621
31744
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
31622
31745
  this.hasBundle = !!((_a = this.payload) === null || _a === void 0 ? void 0 : _a.bundle);
31623
- this.useBatch = (_c = (_b = this.payload) === null || _b === void 0 ? void 0 : _b.bundle) === null || _c === void 0 ? void 0 : _c.every((item) => item.showOnOneKey !== true);
31746
+ this.confirmShowOnOneKey = (_c = (_b = this.payload) === null || _b === void 0 ? void 0 : _b.bundle) === null || _c === void 0 ? void 0 : _c.some((item) => !!item.showOnOneKey);
31747
+ this.useBatch = !this.confirmShowOnOneKey && this.hasBundle && this.payload.useBatch;
31624
31748
  const payload = this.hasBundle ? this.payload : { bundle: [this.payload] };
31625
31749
  validateParams(payload, [{ name: 'bundle', type: 'array' }]);
31626
31750
  this.params = [];
@@ -31656,7 +31780,7 @@ class EVMGetPublicKey extends BaseMethod {
31656
31780
  var _a;
31657
31781
  return __awaiter(this, void 0, void 0, function* () {
31658
31782
  const responses = [];
31659
- if (this.useBatch && this.hasBundle && supportBatchPublicKey((_a = this.device) === null || _a === void 0 ? void 0 : _a.features)) {
31783
+ if (this.useBatch && supportBatchPublicKey((_a = this.device) === null || _a === void 0 ? void 0 : _a.features)) {
31660
31784
  try {
31661
31785
  const res = yield batchGetPublickeys(this.device, this.params, 'secp256k1', 60, {
31662
31786
  includeNode: false,
@@ -38113,6 +38237,7 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
38113
38237
  promptWebDeviceAccess: PromptWebDeviceAccess,
38114
38238
  cipherKeyValue: CipherKeyValue,
38115
38239
  allNetworkGetAddress: AllNetworkGetAddress,
38240
+ allNetworkGetAddressByLoop: AllNetworkGetAddressByLoop,
38116
38241
  btcGetAddress: BTCGetAddress,
38117
38242
  btcGetPublicKey: BTCGetPublicKey,
38118
38243
  btcSignMessage: BTCSignMessage,
@@ -38325,6 +38450,7 @@ const Log$1 = getLogger(exports.LoggerNames.Core);
38325
38450
  class RequestQueue {
38326
38451
  constructor() {
38327
38452
  this.requestQueue = new Map();
38453
+ this.pendingCallbackTasks = new Map();
38328
38454
  this.generateRequestId = (method) => {
38329
38455
  if (method && method.responseID != null) {
38330
38456
  return method.responseID;
@@ -38401,6 +38527,28 @@ class RequestQueue {
38401
38527
  releaseTask(requestId) {
38402
38528
  this.requestQueue.delete(requestId);
38403
38529
  }
38530
+ registerPendingCallbackTask(connectId, callbackPromise) {
38531
+ this.pendingCallbackTasks.set(connectId, callbackPromise);
38532
+ callbackPromise.promise.finally(() => {
38533
+ Log$1.debug(`Callback task completed for connectId: ${connectId}`);
38534
+ this.pendingCallbackTasks.delete(connectId);
38535
+ });
38536
+ }
38537
+ waitForPendingCallbackTasks(connectId) {
38538
+ return __awaiter(this, void 0, void 0, function* () {
38539
+ const pendingTask = this.pendingCallbackTasks.get(connectId);
38540
+ if (pendingTask) {
38541
+ Log$1.debug(`Waiting for pending callback task to complete for connectId: ${connectId}`);
38542
+ yield pendingTask.promise;
38543
+ }
38544
+ });
38545
+ }
38546
+ cancelCallbackTasks(connectId) {
38547
+ const pendingTask = this.pendingCallbackTasks.get(connectId);
38548
+ if (pendingTask) {
38549
+ pendingTask.resolve();
38550
+ }
38551
+ }
38404
38552
  }
38405
38553
 
38406
38554
  const getMutex = () => {
@@ -38523,6 +38671,9 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
38523
38671
  Log.debug('passphrase state change, clear device cache');
38524
38672
  DevicePool.clearDeviceCache(method.payload.connectId);
38525
38673
  }
38674
+ if (method.connectId) {
38675
+ yield context.waitForCallbackTasks(method.connectId);
38676
+ }
38526
38677
  yield waitForPendingPromise(getPrePendingCallPromise, setPrePendingCallPromise);
38527
38678
  const task = requestQueue.createTask(method);
38528
38679
  let device;
@@ -38546,6 +38697,7 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
38546
38697
  }
38547
38698
  Log.debug('Call API - setDevice: ', device.mainId);
38548
38699
  (_b = method.setDevice) === null || _b === void 0 ? void 0 : _b.call(method, device);
38700
+ method.context = context;
38549
38701
  device.on(DEVICE.PIN, onDevicePinHandler);
38550
38702
  device.on(DEVICE.BUTTON, onDeviceButtonHandler);
38551
38703
  device.on(DEVICE.PASSPHRASE, message.payload.useEmptyPassphrase ? onEmptyPassphraseHandler : onDevicePassphraseHandler);
@@ -38553,6 +38705,9 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
38553
38705
  device.on(DEVICE.FEATURES, onDeviceFeaturesHandler);
38554
38706
  device.on(DEVICE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE, onSelectDeviceInBootloaderForWebDeviceHandler);
38555
38707
  try {
38708
+ if (method.connectId) {
38709
+ yield context.waitForCallbackTasks(method.connectId);
38710
+ }
38556
38711
  yield waitForPendingPromise(getPrePendingCallPromise, setPrePendingCallPromise);
38557
38712
  const inner = () => __awaiter(void 0, void 0, void 0, function* () {
38558
38713
  var _c, _d, _e, _f, _g;
@@ -38890,6 +39045,7 @@ const cancel = (context, connectId) => {
38890
39045
  const { requestQueue, setPrePendingCallPromise } = context;
38891
39046
  if (connectId) {
38892
39047
  try {
39048
+ requestQueue.cancelCallbackTasks(connectId);
38893
39049
  const requestIds = requestQueue.getRequestTasksId();
38894
39050
  Log.debug(`Cancel Api connect requestQueues: length:${requestIds.length} requestIds:${requestIds.join(',')}`);
38895
39051
  const canceledDevices = [];
@@ -39070,6 +39226,11 @@ class Core extends events.exports {
39070
39226
  setPrePendingCallPromise: (promise) => {
39071
39227
  this.prePendingCallPromise = promise;
39072
39228
  },
39229
+ registerCallbackTask: (connectId, callbackPromise) => {
39230
+ this.requestQueue.registerPendingCallbackTask(connectId, callbackPromise);
39231
+ },
39232
+ waitForCallbackTasks: (connectId) => this.requestQueue.waitForPendingCallbackTasks(connectId),
39233
+ cancelCallbackTasks: (connectId) => this.requestQueue.cancelCallbackTasks(connectId),
39073
39234
  };
39074
39235
  }
39075
39236
  handleMessage(message) {
@@ -39111,6 +39272,11 @@ class Core extends events.exports {
39111
39272
  cancel(this.getCoreContext(), message.payload.connectId);
39112
39273
  break;
39113
39274
  }
39275
+ case IFRAME.CALLBACK: {
39276
+ Log.log('callback message: ', message);
39277
+ postMessage(message);
39278
+ break;
39279
+ }
39114
39280
  }
39115
39281
  return Promise.resolve(message);
39116
39282
  });
@@ -39209,6 +39375,7 @@ exports.UI_REQUEST = UI_REQUEST;
39209
39375
  exports.UI_RESPONSE = UI_RESPONSE;
39210
39376
  exports.checkNeedUpdateBootForClassicAndMini = checkNeedUpdateBootForClassicAndMini;
39211
39377
  exports.checkNeedUpdateBootForTouch = checkNeedUpdateBootForTouch;
39378
+ exports.cleanupCallback = cleanupCallback;
39212
39379
  exports.corsValidator = corsValidator;
39213
39380
  exports.createDeviceMessage = createDeviceMessage;
39214
39381
  exports.createErrorMessage = createErrorMessage;
@@ -39220,6 +39387,7 @@ exports.createUiMessage = createUiMessage;
39220
39387
  exports.createUiResponse = createUiResponse;
39221
39388
  exports["default"] = HardwareSdk;
39222
39389
  exports.enableLog = enableLog;
39390
+ exports.executeCallback = executeCallback;
39223
39391
  exports.getDeviceBLEFirmwareVersion = getDeviceBLEFirmwareVersion;
39224
39392
  exports.getDeviceBleName = getDeviceBleName;
39225
39393
  exports.getDeviceBoardloaderVersion = getDeviceBoardloaderVersion;
package/dist/inject.d.ts CHANGED
@@ -2,6 +2,9 @@
2
2
  import { EventEmitter } from 'events';
3
3
  import { CallMethod } from './events';
4
4
  import { CoreApi } from './types/api';
5
+ declare const executeCallback: (id: string, ...args: any[]) => void;
6
+ declare const cleanupCallback: (id: string) => void;
7
+ export { executeCallback, cleanupCallback };
5
8
  export interface InjectApi {
6
9
  call: CallMethod;
7
10
  eventEmitter: EventEmitter;
@@ -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,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC7C;AAED,eAAO,MAAM,MAAM,gGAShB,SAAS,KAAG,OAiCd,CAAC;AAEF,eAAO,MAAM,aAAa,SAClB,OAAO,CAAC,MAAM,CAAC,KACpB,KACD,OAAO,EACL,IAAI,GACJ,KAAK,GACL,MAAM,GACN,oBAAoB,GACpB,MAAM,GACN,MAAM,GACN,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,gBAAgB,GAChB,iBAAiB,CA2RnB,CAAC"}
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;AActC,QAAA,MAAM,eAAe,OAAQ,MAAM,WAAW,GAAG,EAAE,SAKlD,CAAC;AAEF,QAAA,MAAM,eAAe,OAAQ,MAAM,SAElC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC7C;AAED,eAAO,MAAM,MAAM,gGAShB,SAAS,KAAG,OAiCd,CAAC;AAEF,eAAO,MAAM,aAAa,SAClB,OAAO,CAAC,MAAM,CAAC,KACpB,KACD,OAAO,EACL,IAAI,GACJ,KAAK,GACL,MAAM,GACN,oBAAoB,GACpB,MAAM,GACN,MAAM,GACN,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,gBAAgB,GAChB,iBAAiB,CAiTnB,CAAC"}
@@ -44,7 +44,7 @@ type AllNetworkAddressPayload = {
44
44
  root_fingerprint: number;
45
45
  xpubSegwit: string;
46
46
  };
47
- export type AllNetworkAddress = CommonResponseParams & {
47
+ export type AllNetworkAddress = AllNetworkAddressParams & {
48
48
  success: boolean;
49
49
  payload?: AllNetworkAddressPayload | {
50
50
  error: string;
@@ -57,6 +57,16 @@ export type AllNetworkAddress = CommonResponseParams & {
57
57
  export type AllNetworkGetAddressParams = {
58
58
  bundle: AllNetworkAddressParams[];
59
59
  };
60
+ export type AllNetworkGetAddressParamsByLoop = {
61
+ callbackId?: string;
62
+ callbackIdFinish?: string;
63
+ onLoopItemResponse: (data?: AllNetworkAddress, error?: {
64
+ message: string;
65
+ code?: number;
66
+ }) => void;
67
+ onAllItemsResponse: (data?: AllNetworkAddress[]) => void;
68
+ };
60
69
  export declare function allNetworkGetAddress(connectId: string, deviceId: string, params: CommonParams & AllNetworkGetAddressParams): Response<AllNetworkAddress[]>;
70
+ export declare function allNetworkGetAddressByLoop(connectId: string, deviceId: string, params: CommonParams & AllNetworkGetAddressParamsByLoop): Response<string[]>;
61
71
  export {};
62
72
  //# sourceMappingURL=allNetworkGetAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"allNetworkGetAddress.d.ts","sourceRoot":"","sources":["../../../src/types/api/allNetworkGetAddress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"allNetworkGetAddress.d.ts","sourceRoot":"","sources":["../../../src/types/api/allNetworkGetAddress.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export type EVMGetPublicKeyParams = {
9
9
  path: string | number[];
10
10
  showOnOneKey?: boolean;
11
11
  chainId?: number;
12
+ useBatch?: boolean;
12
13
  };
13
14
  export declare function evmGetPublicKey(connectId: string, deviceId: string, params: CommonParams & EVMGetPublicKeyParams): Response<EVMPublicKey>;
14
15
  export declare function evmGetPublicKey(connectId: string, deviceId: string, params: CommonParams & {
@@ -1 +1 @@
1
- {"version":3,"file":"evmGetPublicKey.d.ts","sourceRoot":"","sources":["../../../src/types/api/evmGetPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IAIZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,iBAAiB,CAAC;AAEtB,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,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;AAEjC,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,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"evmGetPublicKey.d.ts","sourceRoot":"","sources":["../../../src/types/api/evmGetPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IAIZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,iBAAiB,CAAC;AAEtB,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,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;AAEjC,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,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC"}
@@ -36,7 +36,7 @@ import { deviceCancel } from './deviceCancel';
36
36
  import { getNextU2FCounter } from './getNextU2FCounter';
37
37
  import { setU2FCounter } from './setU2FCounter';
38
38
  import { cipherKeyValue } from './cipherKeyValue';
39
- import { allNetworkGetAddress } from './allNetworkGetAddress';
39
+ import { allNetworkGetAddress, allNetworkGetAddressByLoop } from './allNetworkGetAddress';
40
40
  import { evmGetAddress } from './evmGetAddress';
41
41
  import { evmGetPublicKey } from './evmGetPublicKey';
42
42
  import { evmSignMessage } from './evmSignMessage';
@@ -178,6 +178,7 @@ export type CoreApi = {
178
178
  firmwareUpdateV3: typeof firmwareUpdateV3;
179
179
  cipherKeyValue: typeof cipherKeyValue;
180
180
  allNetworkGetAddress: typeof allNetworkGetAddress;
181
+ allNetworkGetAddressByLoop: typeof allNetworkGetAddressByLoop;
181
182
  evmGetAddress: typeof evmGetAddress;
182
183
  evmGetPublicKey: typeof evmGetPublicKey;
183
184
  evmSignMessage: typeof evmSignMessage;