@onekeyfe/hd-web-sdk 0.1.12 → 0.1.16

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.
@@ -4072,6 +4072,9 @@ const inject = ({
4072
4072
  dispose,
4073
4073
  uiResponse,
4074
4074
  cancel,
4075
+ getLogs: () => call({
4076
+ method: 'getLogs'
4077
+ }),
4075
4078
  searchDevices: () => call({
4076
4079
  method: 'searchDevices'
4077
4080
  }),
@@ -4785,423 +4788,6 @@ function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
4785
4788
  }
4786
4789
  }
4787
4790
 
4788
- const colors = {
4789
- '@onekey/connect': 'color: #f4a742; background: #000;',
4790
- IFrame: 'color: #f4a742; background: #000;',
4791
- Core: 'color: #f4a742; background: #000;',
4792
- DescriptorStream: 'color: #77ab59; background: #000;',
4793
- DeviceList: 'color: #77ab59; background: #000;',
4794
- Device: 'color: #bada55; background: #000;',
4795
- DeviceCommands: 'color: #bada55; background: #000;',
4796
- DeviceConnector: 'color: #bada55; background: #000;',
4797
- Transport: 'color: #ffb6c1; background: #000;'
4798
- };
4799
- const MAX_ENTRIES = 100;
4800
-
4801
- class Log$6 {
4802
- constructor(prefix, enabled) {
4803
- this.prefix = prefix;
4804
- this.enabled = enabled;
4805
- this.messages = [];
4806
- this.css = typeof window !== 'undefined' && colors[prefix] ? colors[prefix] : '';
4807
- }
4808
-
4809
- addMessage(level, prefix, ...args) {
4810
- this.messages.push({
4811
- level,
4812
- prefix,
4813
- message: args,
4814
- timestamp: new Date().getTime()
4815
- });
4816
-
4817
- if (this.messages.length > MAX_ENTRIES) {
4818
- this.messages.shift();
4819
- }
4820
- }
4821
-
4822
- log(...args) {
4823
- this.addMessage('log', this.prefix, ...args);
4824
-
4825
- if (this.enabled) {
4826
- console.log(this.prefix, ...args);
4827
- }
4828
- }
4829
-
4830
- error(...args) {
4831
- this.addMessage('error', this.prefix, ...args);
4832
-
4833
- if (this.enabled) {
4834
- console.error(this.prefix, ...args);
4835
- }
4836
- }
4837
-
4838
- warn(...args) {
4839
- this.addMessage('warn', this.prefix, ...args);
4840
-
4841
- if (this.enabled) {
4842
- console.warn(this.prefix, ...args);
4843
- }
4844
- }
4845
-
4846
- debug(...args) {
4847
- this.addMessage('debug', this.prefix, ...args);
4848
-
4849
- if (this.enabled) {
4850
- if (this.css) {
4851
- console.log(`%c${this.prefix}`, this.css, ...args);
4852
- } else {
4853
- console.log(this.prefix, ...args);
4854
- }
4855
- }
4856
- }
4857
-
4858
- }
4859
-
4860
- const _logs = {};
4861
-
4862
- const initLog = (prefix, enabled) => {
4863
- const instance = new Log$6(prefix, !!enabled);
4864
- _logs[prefix] = instance;
4865
- return instance;
4866
- };
4867
-
4868
- const enableLog = enabled => {
4869
- Object.keys(_logs).forEach(key => {
4870
- _logs[key].enabled = !!enabled;
4871
- });
4872
- };
4873
-
4874
- const httpRequest$1 = (url, type = 'text') => __awaiter(void 0, void 0, void 0, function* () {
4875
- const response = yield axios__default["default"].request({
4876
- url,
4877
- withCredentials: false,
4878
- responseType: type === 'binary' ? 'arraybuffer' : 'json'
4879
- });
4880
-
4881
- if (+response.status === 200) {
4882
- if (type === 'json') {
4883
- return response.data;
4884
- }
4885
-
4886
- if (type === 'binary') {
4887
- return response.data;
4888
- }
4889
-
4890
- return response.data;
4891
- }
4892
-
4893
- throw new Error(`httpRequest error: ${url} ${response.statusText}`);
4894
- });
4895
-
4896
- const httpRequest = (url, type) => httpRequest$1(url, type);
4897
-
4898
- const getTimeStamp = () => new Date().getTime();
4899
-
4900
- const VER_NUMS = 3;
4901
- const versionRegex = new RegExp(/^[0-9]{1,3}(\.[0-9]{1,3}){0,2}$/);
4902
-
4903
- const isValidVersionString = version => versionRegex.test(version);
4904
-
4905
- const isValidVersionArray = version => {
4906
- if (!Array.isArray(version)) {
4907
- return false;
4908
- }
4909
-
4910
- if (version.length === 0 || version.length > VER_NUMS) {
4911
- return false;
4912
- }
4913
-
4914
- if (version[0] === 0) {
4915
- return false;
4916
- }
4917
-
4918
- for (let i = 0; i < version.length; i++) {
4919
- if (typeof version[i] !== 'number' || version[i] < 0) {
4920
- return false;
4921
- }
4922
- }
4923
-
4924
- return true;
4925
- };
4926
-
4927
- const normalizeVersionArray = version => {
4928
- if (version.length === VER_NUMS) {
4929
- return version;
4930
- }
4931
-
4932
- const partialVersion = [...version];
4933
-
4934
- for (let i = version.length; i < VER_NUMS; i++) {
4935
- partialVersion.push(0);
4936
- }
4937
-
4938
- return partialVersion;
4939
- };
4940
-
4941
- const versionSplit = version => {
4942
- if (!isValidVersionString(version)) {
4943
- return [0, 0, 0];
4944
- }
4945
-
4946
- return version.split('.').map(v => Number(v));
4947
- };
4948
-
4949
- const versionCompare = (a, b) => {
4950
- if (typeof a === 'string' && typeof b === 'string' && a === b) {
4951
- return 0;
4952
- }
4953
-
4954
- const pa = typeof a === 'string' ? versionSplit(a) : a;
4955
- const pb = typeof b === 'string' ? versionSplit(b) : b;
4956
- const vpa = isValidVersionArray(pa);
4957
- const vpb = isValidVersionArray(pb);
4958
-
4959
- if (!vpa && !vpb) {
4960
- return 0;
4961
- }
4962
-
4963
- if (!vpa && vpb) {
4964
- return -1;
4965
- }
4966
-
4967
- if (vpa && !vpb) {
4968
- return 1;
4969
- }
4970
-
4971
- const npa = normalizeVersionArray(pa);
4972
- const npb = normalizeVersionArray(pb);
4973
-
4974
- for (let i = 0; i < VER_NUMS; i++) {
4975
- if (npa[i] > npb[i]) return 1;
4976
- if (npb[i] > npa[i]) return -1;
4977
- }
4978
-
4979
- return 0;
4980
- };
4981
-
4982
- function patchFeatures(response) {
4983
- if (response.type !== 'Features') {
4984
- return response;
4985
- }
4986
-
4987
- if (response.message.major_version < 1) {
4988
- response.message.major_version = 1;
4989
- }
4990
-
4991
- return response;
4992
- }
4993
-
4994
- const getDeviceModel = features => {
4995
- if (!features || typeof features !== 'object') {
4996
- return 'model_mini';
4997
- }
4998
-
4999
- if (features.model === '1') {
5000
- return 'model_mini';
5001
- }
5002
-
5003
- return 'model_touch';
5004
- };
5005
-
5006
- const getDeviceType = features => {
5007
- if (!features || typeof features !== 'object' || !features.serial_no) {
5008
- return 'classic';
5009
- }
5010
-
5011
- const serialNo = features.serial_no;
5012
- const miniFlag = serialNo.slice(0, 2);
5013
- if (miniFlag.toLowerCase() === 'mi') return 'mini';
5014
- if (miniFlag.toLowerCase() === 'tc') return 'touch';
5015
- return 'classic';
5016
- };
5017
-
5018
- const getDeviceTypeOnBootloader = features => {
5019
- if (!features || typeof features !== 'object') {
5020
- return 'classic';
5021
- }
5022
-
5023
- if (features.model === 'T') {
5024
- return 'touch';
5025
- }
5026
-
5027
- return getDeviceType(features);
5028
- };
5029
-
5030
- const getDeviceTypeByBleName = name => {
5031
- if (!name) return 'classic';
5032
- if (name.startsWith('MI')) return 'mini';
5033
- if (name.startsWith('T')) return 'touch';
5034
- return 'classic';
5035
- };
5036
-
5037
- const getDeviceTypeByDeviceId = deviceId => {
5038
- if (!deviceId) {
5039
- return 'classic';
5040
- }
5041
-
5042
- const miniFlag = deviceId.slice(0, 2);
5043
- if (miniFlag.toLowerCase() === 'mi') return 'mini';
5044
- return 'classic';
5045
- };
5046
-
5047
- const getDeviceUUID = features => {
5048
- const deviceType = getDeviceType(features);
5049
-
5050
- if (deviceType === 'classic') {
5051
- return features.onekey_serial;
5052
- }
5053
-
5054
- return features.serial_no;
5055
- };
5056
-
5057
- const getDeviceLabel = features => {
5058
- const deviceType = getDeviceType(features);
5059
-
5060
- if (typeof features.label === 'string') {
5061
- return features.label;
5062
- }
5063
-
5064
- return `My OneKey ${deviceType.charAt(0).toUpperCase() + deviceType.slice(1)}`;
5065
- };
5066
-
5067
- const getDeviceFirmwareVersion = features => {
5068
- if (!features) return [0, 0, 0];
5069
-
5070
- if (features.onekey_version) {
5071
- return features.onekey_version.split('.');
5072
- }
5073
-
5074
- return [features.major_version, features.minor_version, features.patch_version];
5075
- };
5076
-
5077
- const getDeviceBLEFirmwareVersion = features => {
5078
- if (!features.ble_ver) {
5079
- return null;
5080
- }
5081
-
5082
- return features.ble_ver.split('.');
5083
- };
5084
-
5085
- const HD_HARDENED = 0x80000000;
5086
-
5087
- const toHardened = n => (n | HD_HARDENED) >>> 0;
5088
-
5089
- const fromHardened = n => (n & ~HD_HARDENED) >>> 0;
5090
-
5091
- const PATH_NOT_VALID = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'Not a valid path');
5092
- const PATH_NEGATIVE_VALUES = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'Path cannot contain negative values');
5093
-
5094
- const getHDPath = path => {
5095
- const parts = path.toLowerCase().split('/');
5096
- if (parts[0] !== 'm') throw PATH_NOT_VALID;
5097
- return parts.filter(p => p !== 'm' && p !== '').map(p => {
5098
- let hardened = false;
5099
-
5100
- if (p.substr(p.length - 1) === "'") {
5101
- hardened = true;
5102
- p = p.substr(0, p.length - 1);
5103
- }
5104
-
5105
- let n = parseInt(p);
5106
-
5107
- if (Number.isNaN(n)) {
5108
- throw PATH_NOT_VALID;
5109
- } else if (n < 0) {
5110
- throw PATH_NEGATIVE_VALUES;
5111
- }
5112
-
5113
- if (hardened) {
5114
- n = toHardened(n);
5115
- }
5116
-
5117
- return n;
5118
- });
5119
- };
5120
-
5121
- const isMultisigPath = path => Array.isArray(path) && path[0] === toHardened(48);
5122
-
5123
- const isSegwitPath = path => Array.isArray(path) && path[0] === toHardened(49);
5124
-
5125
- const getScriptType = path => {
5126
- if (!Array.isArray(path) || path.length < 1) return 'SPENDADDRESS';
5127
- const p1 = fromHardened(path[0]);
5128
-
5129
- switch (p1) {
5130
- case 48:
5131
- return 'SPENDMULTISIG';
5132
-
5133
- case 49:
5134
- return 'SPENDP2SHWITNESS';
5135
-
5136
- case 84:
5137
- return 'SPENDWITNESS';
5138
-
5139
- default:
5140
- return 'SPENDADDRESS';
5141
- }
5142
- };
5143
-
5144
- const getOutputScriptType = path => {
5145
- if (!Array.isArray(path) || path.length < 1) return 'PAYTOADDRESS';
5146
-
5147
- if (path[0] === 49) {
5148
- return 'PAYTOP2SHWITNESS';
5149
- }
5150
-
5151
- const p = fromHardened(path[0]);
5152
-
5153
- switch (p) {
5154
- case 48:
5155
- return 'PAYTOMULTISIG';
5156
-
5157
- case 49:
5158
- return 'PAYTOP2SHWITNESS';
5159
-
5160
- case 84:
5161
- return 'PAYTOWITNESS';
5162
-
5163
- default:
5164
- return 'PAYTOADDRESS';
5165
- }
5166
- };
5167
-
5168
- const serializedPath = path => {
5169
- const pathStr = path.map(p => {
5170
- if (p & HD_HARDENED) {
5171
- return `${p & ~HD_HARDENED}'`;
5172
- }
5173
-
5174
- return p;
5175
- }).join('/');
5176
- return `m/${pathStr}`;
5177
- };
5178
-
5179
- const validatePath = (path, length = 0, base = false) => {
5180
- let valid;
5181
-
5182
- if (typeof path === 'string') {
5183
- valid = getHDPath(path);
5184
- } else if (Array.isArray(path)) {
5185
- valid = path.map(p => {
5186
- const n = parseInt(p);
5187
-
5188
- if (Number.isNaN(n)) {
5189
- throw PATH_NOT_VALID;
5190
- } else if (n < 0) {
5191
- throw PATH_NEGATIVE_VALUES;
5192
- }
5193
-
5194
- return n;
5195
- });
5196
- } else {
5197
- valid = undefined;
5198
- }
5199
-
5200
- if (!valid) throw PATH_NOT_VALID;
5201
- if (length > 0 && valid.length < length) throw PATH_NOT_VALID;
5202
- return base ? valid.splice(0, 3) : valid;
5203
- };
5204
-
5205
4791
  var nested = {
5206
4792
  BinanceGetAddress: {
5207
4793
  fields: {
@@ -13862,6 +13448,513 @@ var MessagesJSON = {
13862
13448
  nested: nested
13863
13449
  };
13864
13450
 
13451
+ const httpRequest$1 = (url, type = 'text') => __awaiter(void 0, void 0, void 0, function* () {
13452
+ const response = yield axios__default["default"].request({
13453
+ url,
13454
+ withCredentials: false,
13455
+ responseType: type === 'binary' ? 'arraybuffer' : 'json'
13456
+ });
13457
+
13458
+ if (+response.status === 200) {
13459
+ if (type === 'json') {
13460
+ return response.data;
13461
+ }
13462
+
13463
+ if (type === 'binary') {
13464
+ return response.data;
13465
+ }
13466
+
13467
+ return response.data;
13468
+ }
13469
+
13470
+ throw new Error(`httpRequest error: ${url} ${response.statusText}`);
13471
+ });
13472
+
13473
+ const httpRequest = (url, type) => httpRequest$1(url, type);
13474
+
13475
+ const getTimeStamp = () => new Date().getTime();
13476
+
13477
+ const VER_NUMS = 3;
13478
+ const versionRegex = new RegExp(/^[0-9]{1,3}(\.[0-9]{1,3}){0,2}$/);
13479
+
13480
+ const isValidVersionString = version => versionRegex.test(version);
13481
+
13482
+ const isValidVersionArray = version => {
13483
+ if (!Array.isArray(version)) {
13484
+ return false;
13485
+ }
13486
+
13487
+ if (version.length === 0 || version.length > VER_NUMS) {
13488
+ return false;
13489
+ }
13490
+
13491
+ if (version[0] === 0) {
13492
+ return false;
13493
+ }
13494
+
13495
+ for (let i = 0; i < version.length; i++) {
13496
+ if (typeof version[i] !== 'number' || version[i] < 0) {
13497
+ return false;
13498
+ }
13499
+ }
13500
+
13501
+ return true;
13502
+ };
13503
+
13504
+ const normalizeVersionArray = version => {
13505
+ if (version.length === VER_NUMS) {
13506
+ return version;
13507
+ }
13508
+
13509
+ const partialVersion = [...version];
13510
+
13511
+ for (let i = version.length; i < VER_NUMS; i++) {
13512
+ partialVersion.push(0);
13513
+ }
13514
+
13515
+ return partialVersion;
13516
+ };
13517
+
13518
+ const versionSplit = version => {
13519
+ if (!isValidVersionString(version)) {
13520
+ return [0, 0, 0];
13521
+ }
13522
+
13523
+ return version.split('.').map(v => Number(v));
13524
+ };
13525
+
13526
+ const versionCompare = (a, b) => {
13527
+ if (typeof a === 'string' && typeof b === 'string' && a === b) {
13528
+ return 0;
13529
+ }
13530
+
13531
+ const pa = typeof a === 'string' ? versionSplit(a) : a;
13532
+ const pb = typeof b === 'string' ? versionSplit(b) : b;
13533
+ const vpa = isValidVersionArray(pa);
13534
+ const vpb = isValidVersionArray(pb);
13535
+
13536
+ if (!vpa && !vpb) {
13537
+ return 0;
13538
+ }
13539
+
13540
+ if (!vpa && vpb) {
13541
+ return -1;
13542
+ }
13543
+
13544
+ if (vpa && !vpb) {
13545
+ return 1;
13546
+ }
13547
+
13548
+ const npa = normalizeVersionArray(pa);
13549
+ const npb = normalizeVersionArray(pb);
13550
+
13551
+ for (let i = 0; i < VER_NUMS; i++) {
13552
+ if (npa[i] > npb[i]) return 1;
13553
+ if (npb[i] > npa[i]) return -1;
13554
+ }
13555
+
13556
+ return 0;
13557
+ };
13558
+
13559
+ function patchFeatures(response) {
13560
+ if (response.type !== 'Features') {
13561
+ return response;
13562
+ }
13563
+
13564
+ if (response.message.major_version < 1) {
13565
+ response.message.major_version = 1;
13566
+ }
13567
+
13568
+ return response;
13569
+ }
13570
+
13571
+ const getDeviceModel = features => {
13572
+ if (!features || typeof features !== 'object') {
13573
+ return 'model_mini';
13574
+ }
13575
+
13576
+ if (features.model === '1') {
13577
+ return 'model_mini';
13578
+ }
13579
+
13580
+ return 'model_touch';
13581
+ };
13582
+
13583
+ const getDeviceType = features => {
13584
+ if (!features || typeof features !== 'object' || !features.serial_no) {
13585
+ return 'classic';
13586
+ }
13587
+
13588
+ const serialNo = features.serial_no;
13589
+ const miniFlag = serialNo.slice(0, 2);
13590
+ if (miniFlag.toLowerCase() === 'mi') return 'mini';
13591
+ if (miniFlag.toLowerCase() === 'tc') return 'touch';
13592
+ return 'classic';
13593
+ };
13594
+
13595
+ const getDeviceTypeOnBootloader = features => getDeviceType(features);
13596
+
13597
+ const getDeviceTypeByBleName = name => {
13598
+ if (!name) return 'classic';
13599
+ if (name.startsWith('MI')) return 'mini';
13600
+ if (name.startsWith('T')) return 'touch';
13601
+ return 'classic';
13602
+ };
13603
+
13604
+ const getDeviceTypeByDeviceId = deviceId => {
13605
+ if (!deviceId) {
13606
+ return 'classic';
13607
+ }
13608
+
13609
+ const miniFlag = deviceId.slice(0, 2);
13610
+ if (miniFlag.toLowerCase() === 'mi') return 'mini';
13611
+ return 'classic';
13612
+ };
13613
+
13614
+ const getDeviceUUID = features => {
13615
+ const deviceType = getDeviceType(features);
13616
+
13617
+ if (deviceType === 'classic') {
13618
+ return features.onekey_serial;
13619
+ }
13620
+
13621
+ return features.serial_no;
13622
+ };
13623
+
13624
+ const getDeviceLabel = features => {
13625
+ const deviceType = getDeviceType(features);
13626
+
13627
+ if (typeof features.label === 'string') {
13628
+ return features.label;
13629
+ }
13630
+
13631
+ return `My OneKey ${deviceType.charAt(0).toUpperCase() + deviceType.slice(1)}`;
13632
+ };
13633
+
13634
+ const getDeviceFirmwareVersion = features => {
13635
+ if (!features) return [0, 0, 0];
13636
+
13637
+ if (features.onekey_version) {
13638
+ return features.onekey_version.split('.');
13639
+ }
13640
+
13641
+ return [features.major_version, features.minor_version, features.patch_version];
13642
+ };
13643
+
13644
+ const getDeviceBLEFirmwareVersion = features => {
13645
+ if (!features.ble_ver) {
13646
+ return null;
13647
+ }
13648
+
13649
+ return features.ble_ver.split('.');
13650
+ };
13651
+
13652
+ const HD_HARDENED = 0x80000000;
13653
+
13654
+ const toHardened = n => (n | HD_HARDENED) >>> 0;
13655
+
13656
+ const fromHardened = n => (n & ~HD_HARDENED) >>> 0;
13657
+
13658
+ const PATH_NOT_VALID = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'Not a valid path');
13659
+ const PATH_NEGATIVE_VALUES = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'Path cannot contain negative values');
13660
+
13661
+ const getHDPath = path => {
13662
+ const parts = path.toLowerCase().split('/');
13663
+ if (parts[0] !== 'm') throw PATH_NOT_VALID;
13664
+ return parts.filter(p => p !== 'm' && p !== '').map(p => {
13665
+ let hardened = false;
13666
+
13667
+ if (p.substr(p.length - 1) === "'") {
13668
+ hardened = true;
13669
+ p = p.substr(0, p.length - 1);
13670
+ }
13671
+
13672
+ let n = parseInt(p);
13673
+
13674
+ if (Number.isNaN(n)) {
13675
+ throw PATH_NOT_VALID;
13676
+ } else if (n < 0) {
13677
+ throw PATH_NEGATIVE_VALUES;
13678
+ }
13679
+
13680
+ if (hardened) {
13681
+ n = toHardened(n);
13682
+ }
13683
+
13684
+ return n;
13685
+ });
13686
+ };
13687
+
13688
+ const isMultisigPath = path => Array.isArray(path) && path[0] === toHardened(48);
13689
+
13690
+ const isSegwitPath = path => Array.isArray(path) && path[0] === toHardened(49);
13691
+
13692
+ const getScriptType = path => {
13693
+ if (!Array.isArray(path) || path.length < 1) return 'SPENDADDRESS';
13694
+ const p1 = fromHardened(path[0]);
13695
+
13696
+ switch (p1) {
13697
+ case 48:
13698
+ return 'SPENDMULTISIG';
13699
+
13700
+ case 49:
13701
+ return 'SPENDP2SHWITNESS';
13702
+
13703
+ case 84:
13704
+ return 'SPENDWITNESS';
13705
+
13706
+ default:
13707
+ return 'SPENDADDRESS';
13708
+ }
13709
+ };
13710
+
13711
+ const getOutputScriptType = path => {
13712
+ if (!Array.isArray(path) || path.length < 1) return 'PAYTOADDRESS';
13713
+
13714
+ if (path[0] === 49) {
13715
+ return 'PAYTOP2SHWITNESS';
13716
+ }
13717
+
13718
+ const p = fromHardened(path[0]);
13719
+
13720
+ switch (p) {
13721
+ case 48:
13722
+ return 'PAYTOMULTISIG';
13723
+
13724
+ case 49:
13725
+ return 'PAYTOP2SHWITNESS';
13726
+
13727
+ case 84:
13728
+ return 'PAYTOWITNESS';
13729
+
13730
+ default:
13731
+ return 'PAYTOADDRESS';
13732
+ }
13733
+ };
13734
+
13735
+ const serializedPath = path => {
13736
+ const pathStr = path.map(p => {
13737
+ if (p & HD_HARDENED) {
13738
+ return `${p & ~HD_HARDENED}'`;
13739
+ }
13740
+
13741
+ return p;
13742
+ }).join('/');
13743
+ return `m/${pathStr}`;
13744
+ };
13745
+
13746
+ const validatePath = (path, length = 0, base = false) => {
13747
+ let valid;
13748
+
13749
+ if (typeof path === 'string') {
13750
+ valid = getHDPath(path);
13751
+ } else if (Array.isArray(path)) {
13752
+ valid = path.map(p => {
13753
+ const n = parseInt(p);
13754
+
13755
+ if (Number.isNaN(n)) {
13756
+ throw PATH_NOT_VALID;
13757
+ } else if (n < 0) {
13758
+ throw PATH_NEGATIVE_VALUES;
13759
+ }
13760
+
13761
+ return n;
13762
+ });
13763
+ } else {
13764
+ valid = undefined;
13765
+ }
13766
+
13767
+ if (!valid) throw PATH_NOT_VALID;
13768
+ if (length > 0 && valid.length < length) throw PATH_NOT_VALID;
13769
+ return base ? valid.splice(0, 3) : valid;
13770
+ };
13771
+
13772
+ const LOG_EVENT = 'LOG_EVENT';
13773
+ const LOG = {
13774
+ OUTPUT: 'log-output'
13775
+ };
13776
+
13777
+ const createLogMessage = (type, payload) => ({
13778
+ event: LOG_EVENT,
13779
+ type,
13780
+ payload
13781
+ });
13782
+
13783
+ const MAX_ENTRIES = 500;
13784
+ let postMessage$1;
13785
+
13786
+ class Log$6 {
13787
+ constructor(prefix, enabled) {
13788
+ this.prefix = prefix;
13789
+ this.enabled = enabled;
13790
+ this.messages = [];
13791
+ }
13792
+
13793
+ addMessage(level, prefix, ...args) {
13794
+ this.messages.push({
13795
+ level,
13796
+ prefix,
13797
+ message: args,
13798
+ timestamp: new Date().getTime()
13799
+ });
13800
+
13801
+ if (this.messages.length > MAX_ENTRIES) {
13802
+ this.messages.shift();
13803
+ }
13804
+ }
13805
+
13806
+ log(...args) {
13807
+ this.addMessage('log', this.prefix, ...args);
13808
+
13809
+ if (!this.enabled) {
13810
+ return;
13811
+ }
13812
+
13813
+ sendLogMessage(this.prefix, ...args);
13814
+ console.log(this.prefix, ...args);
13815
+ }
13816
+
13817
+ error(...args) {
13818
+ this.addMessage('error', this.prefix, ...args);
13819
+
13820
+ if (!this.enabled) {
13821
+ return;
13822
+ }
13823
+
13824
+ sendLogMessage(this.prefix, ...args);
13825
+ console.error(this.prefix, ...args);
13826
+ }
13827
+
13828
+ warn(...args) {
13829
+ this.addMessage('warn', this.prefix, ...args);
13830
+
13831
+ if (!this.enabled) {
13832
+ return;
13833
+ }
13834
+
13835
+ sendLogMessage(this.prefix, ...args);
13836
+ console.warn(this.prefix, ...args);
13837
+ }
13838
+
13839
+ debug(...args) {
13840
+ this.addMessage('debug', this.prefix, ...args);
13841
+
13842
+ if (!this.enabled) {
13843
+ return;
13844
+ }
13845
+
13846
+ sendLogMessage(this.prefix, ...args);
13847
+ console.log(this.prefix, ...args);
13848
+ }
13849
+
13850
+ }
13851
+
13852
+ const _logs = {};
13853
+
13854
+ const initLog = (prefix, enabled) => {
13855
+ const instance = new Log$6(prefix, !!enabled);
13856
+ _logs[prefix] = instance;
13857
+ return instance;
13858
+ };
13859
+
13860
+ const enableLog = enabled => {
13861
+ Object.keys(_logs).forEach(key => {
13862
+ _logs[key].enabled = !!enabled;
13863
+ });
13864
+ };
13865
+
13866
+ const getLog = () => {
13867
+ let logs = [];
13868
+ Object.keys(_logs).forEach(key => {
13869
+ logs = logs.concat(_logs[key].messages);
13870
+ });
13871
+ logs.sort((a, b) => a.timestamp - b.timestamp);
13872
+ return logs;
13873
+ };
13874
+
13875
+ const setLoggerPostMessage = postMessageFn => {
13876
+ postMessage$1 = postMessageFn;
13877
+ };
13878
+
13879
+ const serializeLog = (...args) => args.map(arg => {
13880
+ if (typeof arg === 'string') {
13881
+ return arg;
13882
+ }
13883
+
13884
+ if (typeof arg === 'number') {
13885
+ return arg;
13886
+ }
13887
+
13888
+ if (typeof arg === 'boolean') {
13889
+ return arg;
13890
+ }
13891
+
13892
+ if (typeof arg === 'undefined') {
13893
+ return arg;
13894
+ }
13895
+
13896
+ if (typeof arg === 'object') {
13897
+ return JSON.stringify(arg, getCircularReplacer());
13898
+ }
13899
+
13900
+ return arg;
13901
+ });
13902
+
13903
+ const getCircularReplacer = () => {
13904
+ const seen = new WeakSet();
13905
+ return (_, value) => {
13906
+ if (typeof value === 'object' && value !== null) {
13907
+ if (seen.has(value)) {
13908
+ return;
13909
+ }
13910
+
13911
+ seen.add(value);
13912
+ }
13913
+
13914
+ return value;
13915
+ };
13916
+ };
13917
+
13918
+ const sendLogMessage = (prefix, ...args) => {
13919
+ postMessage$1 === null || postMessage$1 === void 0 ? void 0 : postMessage$1(createLogMessage(LOG.OUTPUT, serializeLog(prefix, ...args)));
13920
+ };
13921
+
13922
+ exports.d0 = void 0;
13923
+
13924
+ (function (LoggerNames) {
13925
+ LoggerNames["Core"] = "Core";
13926
+ LoggerNames["Transport"] = "Transport";
13927
+ LoggerNames["Device"] = "Device";
13928
+ LoggerNames["DeviceCommands"] = "DeviceCommands";
13929
+ LoggerNames["DeviceConnector"] = "DeviceConnector";
13930
+ LoggerNames["DeviceList"] = "DeviceList";
13931
+ LoggerNames["HdBleSdk"] = "@onekey/hd-ble-sdk";
13932
+ LoggerNames["HdTransportHttp"] = "@onekey/hd-transport-http";
13933
+ LoggerNames["HdBleTransport"] = "@onekey/hd-ble-transport";
13934
+ LoggerNames["Connect"] = "@onekey/connect";
13935
+ LoggerNames["Iframe"] = "IFrame";
13936
+ LoggerNames["SendMessage"] = "[SendMessage]";
13937
+ LoggerNames["Method"] = "[Method]";
13938
+ })(exports.d0 || (exports.d0 = {}));
13939
+
13940
+ const LoggerMap = {
13941
+ [exports.d0.Core]: initLog(exports.d0.Core),
13942
+ [exports.d0.Transport]: initLog(exports.d0.Transport),
13943
+ [exports.d0.Device]: initLog(exports.d0.Device),
13944
+ [exports.d0.DeviceCommands]: initLog(exports.d0.DeviceCommands),
13945
+ [exports.d0.DeviceConnector]: initLog(exports.d0.DeviceConnector),
13946
+ [exports.d0.DeviceList]: initLog(exports.d0.DeviceList),
13947
+ [exports.d0.HdBleSdk]: initLog(exports.d0.HdBleSdk),
13948
+ [exports.d0.HdTransportHttp]: initLog(exports.d0.HdTransportHttp),
13949
+ [exports.d0.HdBleTransport]: initLog(exports.d0.HdBleTransport),
13950
+ [exports.d0.Connect]: initLog(exports.d0.Connect),
13951
+ [exports.d0.Iframe]: initLog(exports.d0.Iframe),
13952
+ [exports.d0.SendMessage]: initLog(exports.d0.SendMessage),
13953
+ [exports.d0.Method]: initLog(exports.d0.Method)
13954
+ };
13955
+
13956
+ const getLogger = key => LoggerMap[key];
13957
+
13865
13958
  const getReleaseStatus = (releases, currentVersion) => {
13866
13959
  const newVersions = releases.filter(r => semver__default["default"].gt(r.version.join('.'), currentVersion));
13867
13960
 
@@ -14034,11 +14127,13 @@ DataManager.getTransportStatus = localVersion => {
14034
14127
  return isLatest ? 'valid' : 'outdated';
14035
14128
  };
14036
14129
 
14037
- const Log$5 = initLog('Transport');
14130
+ const Log$5 = getLogger(exports.d0.Transport);
14131
+ const BleLogger = getLogger(exports.d0.HdBleTransport);
14132
+ const HttpLogger = getLogger(exports.d0.HdTransportHttp);
14038
14133
 
14039
14134
  class TransportManager {
14040
14135
  static load() {
14041
- console.log('transport manager load');
14136
+ Log$5.debug('transport manager load');
14042
14137
  this.defaultMessages = DataManager.getProtobufMessages();
14043
14138
  this.currentMessages = this.defaultMessages;
14044
14139
  }
@@ -14051,13 +14146,13 @@ class TransportManager {
14051
14146
 
14052
14147
  if (env === 'react-native') {
14053
14148
  if (!this.reactNativeInit) {
14054
- yield this.transport.init();
14149
+ yield this.transport.init(BleLogger);
14055
14150
  this.reactNativeInit = true;
14056
14151
  } else {
14057
14152
  Log$5.debug('React Native Do Not Initializing transports');
14058
14153
  }
14059
14154
  } else {
14060
- yield this.transport.init();
14155
+ yield this.transport.init(HttpLogger);
14061
14156
  }
14062
14157
 
14063
14158
  Log$5.debug('Configuring transports');
@@ -14065,6 +14160,10 @@ class TransportManager {
14065
14160
  Log$5.debug('Configuring transports done');
14066
14161
  } catch (error) {
14067
14162
  Log$5.debug('Initializing transports error: ', error);
14163
+
14164
+ if (error.code === 'ECONNABORTED') {
14165
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BridgeTimeoutError);
14166
+ }
14068
14167
  }
14069
14168
  });
14070
14169
  }
@@ -14099,7 +14198,7 @@ class TransportManager {
14099
14198
  this.transport = new TransportConstructor();
14100
14199
  }
14101
14200
 
14102
- console.log('set transport: ', this.transport);
14201
+ Log$5.debug('set transport: ', this.transport);
14103
14202
  }
14104
14203
 
14105
14204
  static getTransport() {
@@ -14240,11 +14339,11 @@ const assertType = (res, resType) => {
14240
14339
  const splitResTypes = Array.isArray(resType) ? resType : resType.split('|');
14241
14340
 
14242
14341
  if (!splitResTypes.includes(res.type)) {
14243
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, `assertType: Response of unexpected type: ${res.type}. Should be ${resType}`);
14342
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.ResponseUnexpectTypeError, `assertType: Response of unexpected type: ${res.type}. Should be ${resType}`);
14244
14343
  }
14245
14344
  };
14246
14345
 
14247
- const Log$4 = initLog('DeviceCommands');
14346
+ const Log$4 = getLogger(exports.d0.DeviceCommands);
14248
14347
 
14249
14348
  class DeviceCommands {
14250
14349
  constructor(device, mainId) {
@@ -14268,8 +14367,10 @@ class DeviceCommands {
14268
14367
  }
14269
14368
 
14270
14369
  call(type, msg = {}) {
14370
+ var _a, _b;
14371
+
14271
14372
  return __awaiter(this, void 0, void 0, function* () {
14272
- console.log('[DeviceCommands] [call] Sending', type, this.transport);
14373
+ Log$4.debug('[DeviceCommands] [call] Sending', type);
14273
14374
 
14274
14375
  try {
14275
14376
  const promise = this.transport.call(this.mainId, type, msg);
@@ -14279,6 +14380,14 @@ class DeviceCommands {
14279
14380
  return res;
14280
14381
  } catch (error) {
14281
14382
  Log$4.debug('[DeviceCommands] [call] Received error', error);
14383
+
14384
+ if (((_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) === 'device disconnected during action') {
14385
+ return {
14386
+ type: 'BridgeNetworkError',
14387
+ message: {}
14388
+ };
14389
+ }
14390
+
14282
14391
  throw error;
14283
14392
  }
14284
14393
  });
@@ -14295,8 +14404,17 @@ class DeviceCommands {
14295
14404
  try {
14296
14405
  assertType(response, resType);
14297
14406
  } catch (error) {
14298
- console.log('DeviceCommands typedcall error: ', error);
14299
- throw error;
14407
+ Log$4.debug('DeviceCommands typedcall error: ', error);
14408
+
14409
+ if (error instanceof hdShared.HardwareError) {
14410
+ if (error.errorCode === hdShared.HardwareErrorCode.ResponseUnexpectTypeError) {
14411
+ if (error.message.indexOf('BridgeNetworkError') > -1) {
14412
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BridgeNetworkError);
14413
+ }
14414
+ }
14415
+ } else {
14416
+ throw error;
14417
+ }
14300
14418
  }
14301
14419
 
14302
14420
  return response;
@@ -14311,7 +14429,7 @@ class DeviceCommands {
14311
14429
  }
14312
14430
 
14313
14431
  _filterCommonTypes(res) {
14314
- console.log('_filterCommonTypes: ', res);
14432
+ Log$4.debug('_filterCommonTypes: ', res);
14315
14433
 
14316
14434
  if (res.type === 'Failure') {
14317
14435
  const {
@@ -14413,12 +14531,11 @@ const UI_REQUEST = {
14413
14531
  FIRMWARE_NOT_INSTALLED: 'ui-device_firmware_not_installed',
14414
14532
  NOT_USE_ONEKEY_DEVICE: 'ui-device_please_use_onekey_device'
14415
14533
  };
14416
- const VERSION = '1.0.0-alpha.1';
14417
- const DEFAULT_DOMAIN = `https://hardware-sdk.onekey.so/`;
14534
+ const DEFAULT_DOMAIN = `https://jssdk.onekey.so/`;
14418
14535
  const DEFAULT_PRIORITY = 2;
14419
14536
  const initialSettings = {
14420
14537
  configSrc: './data/config.json',
14421
- version: VERSION,
14538
+ version: '',
14422
14539
  debug: false,
14423
14540
  priority: DEFAULT_PRIORITY,
14424
14541
  trustedHost: false,
@@ -14515,7 +14632,7 @@ const parseRunOptions = options => {
14515
14632
  return options;
14516
14633
  };
14517
14634
 
14518
- const Log$3 = initLog('Device');
14635
+ const Log$3 = getLogger(exports.d0.Device);
14519
14636
 
14520
14637
  class Device extends events.exports {
14521
14638
  constructor(descriptor) {
@@ -14877,7 +14994,7 @@ class Device extends events.exports {
14877
14994
  }
14878
14995
 
14879
14996
  const cacheDeviceMap = new Map();
14880
- const Log$2 = initLog('DeviceList');
14997
+ const Log$2 = getLogger(exports.d0.DeviceList);
14881
14998
 
14882
14999
  class DeviceList extends events.exports {
14883
15000
  constructor() {
@@ -14895,7 +15012,7 @@ class DeviceList extends events.exports {
14895
15012
  const descriptorList = (_c = deviceDiff === null || deviceDiff === void 0 ? void 0 : deviceDiff.descriptors) !== null && _c !== void 0 ? _c : [];
14896
15013
  this.devices = {};
14897
15014
  const deviceList = [];
14898
- console.log('get device list');
15015
+ Log$2.debug('get device list');
14899
15016
 
14900
15017
  try {
14901
15018
  for (var descriptorList_1 = __asyncValues(descriptorList), descriptorList_1_1; descriptorList_1_1 = yield descriptorList_1.next(), !descriptorList_1_1.done;) {
@@ -16352,19 +16469,26 @@ class CheckTransportRelease extends BaseMethod {
16352
16469
 
16353
16470
  }
16354
16471
 
16355
- class CheckBridgeStatus extends BaseMethod {
16472
+ class CheckBridgeStatus$1 extends BaseMethod {
16356
16473
  init() {
16357
16474
  this.useDevice = false;
16358
16475
  }
16359
16476
 
16360
16477
  run() {
16361
16478
  return __awaiter(this, void 0, void 0, function* () {
16362
- return new Promise(resolve => {
16479
+ return new Promise((resolve, reject) => {
16363
16480
  axios__default["default"].request({
16364
16481
  url: 'http://localhost:21320',
16365
16482
  method: 'POST',
16366
- withCredentials: false
16367
- }).then(() => resolve(true)).catch(() => resolve(false));
16483
+ withCredentials: false,
16484
+ timeout: 3000
16485
+ }).then(() => resolve(true)).catch(e => {
16486
+ if (e.code === 'ECONNABORTED') {
16487
+ reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BridgeTimeoutError));
16488
+ } else {
16489
+ resolve(false);
16490
+ }
16491
+ });
16368
16492
  });
16369
16493
  });
16370
16494
  }
@@ -16643,7 +16767,7 @@ class DeviceVerify extends BaseMethod {
16643
16767
  data: sha256__default["default"].sha256(this.params.data)
16644
16768
  }));
16645
16769
  response = res.message;
16646
- } else if (deviceType === 'mini') {
16770
+ } else {
16647
16771
  const signatureRes = yield this.device.commands.typedCall('SESignMessage', 'SEMessageSignature', {
16648
16772
  message: this.params.data
16649
16773
  });
@@ -18565,6 +18689,8 @@ class FirmwareUpdate extends BaseMethod {
18565
18689
  }
18566
18690
 
18567
18691
  run() {
18692
+ var _a;
18693
+
18568
18694
  return __awaiter(this, void 0, void 0, function* () {
18569
18695
  const {
18570
18696
  device,
@@ -18588,7 +18714,7 @@ class FirmwareUpdate extends BaseMethod {
18588
18714
  binary = firmware.binary;
18589
18715
  }
18590
18716
  } catch (err) {
18591
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateDownloadFailed, err);
18717
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateDownloadFailed, (_a = err.message) !== null && _a !== void 0 ? _a : err);
18592
18718
  }
18593
18719
 
18594
18720
  return uploadFirmware(params.updateType, this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, {
@@ -18599,6 +18725,20 @@ class FirmwareUpdate extends BaseMethod {
18599
18725
 
18600
18726
  }
18601
18727
 
18728
+ class CheckBridgeStatus extends BaseMethod {
18729
+ init() {
18730
+ this.useDevice = false;
18731
+ }
18732
+
18733
+ run() {
18734
+ return __awaiter(this, void 0, void 0, function* () {
18735
+ const logs = getLog();
18736
+ return Promise.resolve(logs);
18737
+ });
18738
+ }
18739
+
18740
+ }
18741
+
18602
18742
  var ApiMethods = /*#__PURE__*/Object.freeze({
18603
18743
  __proto__: null,
18604
18744
  searchDevices: SearchDevices,
@@ -18612,7 +18752,7 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
18612
18752
  checkFirmwareRelease: CheckFirmwareRelease,
18613
18753
  checkBLEFirmwareRelease: CheckBLEFirmwareRelease,
18614
18754
  checkTransportRelease: CheckTransportRelease,
18615
- checkBridgeStatus: CheckBridgeStatus,
18755
+ checkBridgeStatus: CheckBridgeStatus$1,
18616
18756
  deviceBackup: DeviceBackup,
18617
18757
  deviceChangePin: DeviceChangePin,
18618
18758
  deviceFlags: DeviceFlags,
@@ -18641,7 +18781,8 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
18641
18781
  solSignTransaction: SolSignTransaction,
18642
18782
  stellarGetAddress: StellarGetAddress,
18643
18783
  stellarSignTransaction: StellarSignTransaction,
18644
- firmwareUpdate: FirmwareUpdate
18784
+ firmwareUpdate: FirmwareUpdate,
18785
+ getLogs: CheckBridgeStatus
18645
18786
  });
18646
18787
 
18647
18788
  function findMethod(message) {
@@ -18674,7 +18815,7 @@ const resolveAfter = (msec, value) => new Promise(resolve => {
18674
18815
  setTimeout(resolve, msec, value);
18675
18816
  });
18676
18817
 
18677
- const Log$1 = initLog('DeviceConnector');
18818
+ const Log$1 = getLogger(exports.d0.DeviceConnector);
18678
18819
 
18679
18820
  const getDiff = (current, descriptors) => {
18680
18821
  const env = DataManager.getSettings('env');
@@ -18787,7 +18928,7 @@ class DeviceConnector {
18787
18928
 
18788
18929
  acquire(path, session) {
18789
18930
  return __awaiter(this, void 0, void 0, function* () {
18790
- console.log('acquire', path, session);
18931
+ Log$1.debug('acquire', path, session);
18791
18932
  const env = DataManager.getSettings('env');
18792
18933
 
18793
18934
  try {
@@ -18830,7 +18971,7 @@ class DeviceConnector {
18830
18971
 
18831
18972
  }
18832
18973
 
18833
- const Log = initLog('Core');
18974
+ const Log = getLogger(exports.d0.Core);
18834
18975
 
18835
18976
  let _core;
18836
18977
 
@@ -18893,7 +19034,7 @@ const callAPI = message => __awaiter(void 0, void 0, void 0, function* () {
18893
19034
  return Promise.reject(error);
18894
19035
  }
18895
19036
 
18896
- Log.debug('Call API - setDevice: ', device);
19037
+ Log.debug('Call API - setDevice: ', device.mainId);
18897
19038
  (_a = method.setDevice) === null || _a === void 0 ? void 0 : _a.call(method, device);
18898
19039
  device.on(DEVICE.PIN, onDevicePinHandler);
18899
19040
  device.on(DEVICE.BUTTON, (d, code) => {
@@ -18936,7 +19077,7 @@ const callAPI = message => __awaiter(void 0, void 0, void 0, function* () {
18936
19077
 
18937
19078
  try {
18938
19079
  const response = yield method.run();
18939
- Log.debug('Call API - Inner Method Run: ', device);
19080
+ Log.debug('Call API - Inner Method Run: ');
18940
19081
  messageResponse = createResponseMessage(method.responseID, true, response);
18941
19082
  _callPromise === null || _callPromise === void 0 ? void 0 : _callPromise.resolve(messageResponse);
18942
19083
  } catch (error) {
@@ -18948,7 +19089,7 @@ const callAPI = message => __awaiter(void 0, void 0, void 0, function* () {
18948
19089
  }
18949
19090
  });
18950
19091
 
18951
- Log.debug('Call API - Device Run: ', device);
19092
+ Log.debug('Call API - Device Run: ', device.mainId);
18952
19093
 
18953
19094
  const deviceRun = () => device.run(inner);
18954
19095
 
@@ -18957,7 +19098,7 @@ const callAPI = message => __awaiter(void 0, void 0, void 0, function* () {
18957
19098
  try {
18958
19099
  return yield _callPromise.promise;
18959
19100
  } catch (e) {
18960
- console.log('Device Run Error: ', e);
19101
+ Log.debug('Device Run Error: ', e);
18961
19102
  return createResponseMessage(method.responseID, false, {
18962
19103
  error: e
18963
19104
  });
@@ -19083,7 +19224,7 @@ const closePopup = () => {
19083
19224
  };
19084
19225
 
19085
19226
  const onDevicePinHandler = (...[device, type, callback]) => __awaiter(void 0, void 0, void 0, function* () {
19086
- console.log('onDevicePinHandler');
19227
+ Log.debug('onDevicePinHandler');
19087
19228
  const uiPromise = createUiPromise(UI_RESPONSE.RECEIVE_PIN, device);
19088
19229
  postMessage(createUiMessage(UI_REQUEST$1.REQUEST_PIN, {
19089
19230
  device: device.toMessageObject(),
@@ -19196,6 +19337,11 @@ const init = (settings, Transport) => __awaiter(void 0, void 0, void 0, function
19196
19337
  }
19197
19338
 
19198
19339
  enableLog(DataManager.getSettings('debug'));
19340
+
19341
+ if (DataManager.getSettings('env') !== 'react-native') {
19342
+ setLoggerPostMessage(postMessage);
19343
+ }
19344
+
19199
19345
  initCore();
19200
19346
  initConnector();
19201
19347
  return _core;
@@ -19233,6 +19379,8 @@ __webpack_unused_export__ = DEVICE;
19233
19379
  __webpack_unused_export__ = DEVICE_EVENT;
19234
19380
  __webpack_unused_export__ = DataManager;
19235
19381
  exports.Bg = IFRAME;
19382
+ __webpack_unused_export__ = LOG;
19383
+ exports.og = LOG_EVENT;
19236
19384
  __webpack_unused_export__ = RESPONSE_EVENT;
19237
19385
  exports.rF = UI_EVENT;
19238
19386
  __webpack_unused_export__ = UI_REQUEST$1;
@@ -19241,6 +19389,7 @@ __webpack_unused_export__ = corsValidator;
19241
19389
  __webpack_unused_export__ = createDeviceMessage;
19242
19390
  exports.xG = createErrorMessage;
19243
19391
  __webpack_unused_export__ = createIFrameMessage;
19392
+ __webpack_unused_export__ = createLogMessage;
19244
19393
  __webpack_unused_export__ = createResponseMessage;
19245
19394
  __webpack_unused_export__ = createUiMessage;
19246
19395
  __webpack_unused_export__ = createUiResponse;
@@ -19253,11 +19402,12 @@ __webpack_unused_export__ = getDeviceTypeByDeviceId;
19253
19402
  __webpack_unused_export__ = getDeviceUUID;
19254
19403
  __webpack_unused_export__ = getEnv;
19255
19404
  __webpack_unused_export__ = getHDPath;
19405
+ __webpack_unused_export__ = getLog;
19406
+ exports.jl = getLogger;
19256
19407
  __webpack_unused_export__ = getScriptType;
19257
19408
  __webpack_unused_export__ = getTimeStamp;
19258
19409
  __webpack_unused_export__ = httpRequest;
19259
19410
  __webpack_unused_export__ = init;
19260
- exports.KR = initLog;
19261
19411
  __webpack_unused_export__ = isValidVersionArray;
19262
19412
  __webpack_unused_export__ = isValidVersionString;
19263
19413
  __webpack_unused_export__ = normalizeVersionArray;
@@ -19265,6 +19415,7 @@ exports._4 = parseConnectSettings;
19265
19415
  exports.kW = parseMessage;
19266
19416
  __webpack_unused_export__ = patchFeatures;
19267
19417
  __webpack_unused_export__ = safeThrowError;
19418
+ exports.hZ = setLoggerPostMessage;
19268
19419
  __webpack_unused_export__ = versionCompare;
19269
19420
  __webpack_unused_export__ = versionSplit;
19270
19421
 
@@ -20375,6 +20526,7 @@ function createDeferred(arg, data) {
20375
20526
  }
20376
20527
 
20377
20528
  function fillStringWithArguments(value, object) {
20529
+ if (typeof value !== 'string') return value;
20378
20530
  return value.replace(/\{([^}]+)\}/g, (_, arg) => object[arg] || '?');
20379
20531
  }
20380
20532
 
@@ -20445,7 +20597,10 @@ const HardwareErrorCode = {
20445
20597
  PinInvalid: 801,
20446
20598
  PinCancelled: 802,
20447
20599
  ActionCancelled: 803,
20448
- FirmwareError: 804
20600
+ FirmwareError: 804,
20601
+ ResponseUnexpectTypeError: 805,
20602
+ BridgeNetworkError: 806,
20603
+ BridgeTimeoutError: 807
20449
20604
  };
20450
20605
  const HardwareErrorCodeMessage = {
20451
20606
  [HardwareErrorCode.UnknownError]: 'Unknown error occurred. Check message property.',
@@ -20486,7 +20641,10 @@ const HardwareErrorCodeMessage = {
20486
20641
  [HardwareErrorCode.PinInvalid]: 'Pin invalid',
20487
20642
  [HardwareErrorCode.PinCancelled]: 'Pin cancelled',
20488
20643
  [HardwareErrorCode.ActionCancelled]: 'Action cancelled by user',
20489
- [HardwareErrorCode.FirmwareError]: 'Firmware installation failed'
20644
+ [HardwareErrorCode.FirmwareError]: 'Firmware installation failed',
20645
+ [HardwareErrorCode.ResponseUnexpectTypeError]: 'Response type is not expected',
20646
+ [HardwareErrorCode.BridgeNetworkError]: 'Bridge network error',
20647
+ [HardwareErrorCode.BridgeTimeoutError]: 'Bridge network timeout'
20490
20648
  };
20491
20649
 
20492
20650
  const TypedError = (hardwareError, message) => {
@@ -20518,14 +20676,26 @@ const serializeError = payload => {
20518
20676
  return payload;
20519
20677
  };
20520
20678
 
20679
+ const CreateErrorByMessage = message => {
20680
+ for (const code of Object.values(HardwareErrorCode)) {
20681
+ if (HardwareErrorCodeMessage[code] === message) {
20682
+ return TypedError(code);
20683
+ }
20684
+ }
20685
+
20686
+ return new HardwareError(message);
20687
+ };
20688
+
20521
20689
  var HardwareError$1 = /*#__PURE__*/Object.freeze({
20522
20690
  __proto__: null,
20523
20691
  HardwareError: HardwareError,
20524
20692
  HardwareErrorCode: HardwareErrorCode,
20525
20693
  HardwareErrorCodeMessage: HardwareErrorCodeMessage,
20526
20694
  TypedError: TypedError,
20527
- serializeError: serializeError
20695
+ serializeError: serializeError,
20696
+ CreateErrorByMessage: CreateErrorByMessage
20528
20697
  });
20698
+ exports.CreateErrorByMessage = CreateErrorByMessage;
20529
20699
  exports.ERRORS = HardwareError$1;
20530
20700
  exports.HardwareError = HardwareError;
20531
20701
  exports.HardwareErrorCode = HardwareErrorCode;
@@ -45536,12 +45706,13 @@ function createCodeJsBridgeReceive(payloadStr) {
45536
45706
  ;// CONCATENATED MODULE: ./src/utils/bridgeUtils.ts
45537
45707
 
45538
45708
 
45709
+
45539
45710
  // eslint-disable-next-line import/no-mutable-exports
45540
45711
 
45541
45712
  let frameBridge; // eslint-disable-next-line import/no-mutable-exports
45542
45713
 
45543
45714
  let hostBridge;
45544
- const Log = (0,dist/* initLog */.KR)('[SendMessage]');
45715
+ const Log = (0,dist/* getLogger */.jl)(dist/* LoggerNames.SendMessage */.d0.SendMessage);
45545
45716
  const createJsBridge = params => {
45546
45717
  const bridge = new JsBridgeIframe(params);
45547
45718
 
@@ -45555,17 +45726,24 @@ const sendMessage = async (messages, isHost = true) => {
45555
45726
  const bridge = isHost ? hostBridge : frameBridge;
45556
45727
 
45557
45728
  try {
45558
- Log.debug('request: ', messages);
45729
+ if (messages.event !== 'LOG_EVENT') {
45730
+ Log.debug('request: ', messages);
45731
+ }
45732
+
45559
45733
  const result = await (bridge === null || bridge === void 0 ? void 0 : bridge.request({
45560
45734
  scope: bridge_config.scope,
45561
45735
  data: { ...messages
45562
45736
  }
45563
45737
  }));
45564
- Log.debug('response: ', result);
45738
+
45739
+ if (messages.event !== 'LOG_EVENT') {
45740
+ Log.debug('response: ', result);
45741
+ }
45742
+
45565
45743
  return result;
45566
45744
  } catch (error) {
45567
45745
  Log.error(error);
45568
- throw error;
45746
+ throw shared_dist.ERRORS.CreateErrorByMessage(error.message);
45569
45747
  }
45570
45748
  };
45571
45749
 
@@ -45577,7 +45755,7 @@ const sendMessage = async (messages, isHost = true) => {
45577
45755
 
45578
45756
 
45579
45757
  const eventEmitter = new (events_default())();
45580
- const src_Log = (0,dist/* initLog */.KR)('@onekey/connect');
45758
+ const src_Log = (0,dist/* getLogger */.jl)(dist/* LoggerNames.Connect */.d0.Connect);
45581
45759
 
45582
45760
  let _settings = (0,dist/* parseConnectSettings */._4)();
45583
45761
 
@@ -45597,6 +45775,10 @@ const handleMessage = async message => {
45597
45775
  eventEmitter.emit(message.type, message.payload);
45598
45776
  break;
45599
45777
 
45778
+ case dist/* LOG_EVENT */.og:
45779
+ eventEmitter.emit(message.event, message);
45780
+ break;
45781
+
45600
45782
  default:
45601
45783
  src_Log.log('No need to be captured message', message.event);
45602
45784
  }
@@ -45652,9 +45834,17 @@ const createJSBridge = messageEvent => {
45652
45834
  targetOrigin: origin,
45653
45835
  receiveHandler: async messageEvent => {
45654
45836
  const message = (0,dist/* parseMessage */.kW)(messageEvent);
45655
- console.log('Host Bridge Receive message: ', message);
45837
+
45838
+ if (message.event !== 'LOG_EVENT') {
45839
+ src_Log.debug('Host Bridge Receive message: ', message);
45840
+ }
45841
+
45656
45842
  const response = await handleMessage(message);
45657
- src_Log.debug('Host Bridge response: ', response);
45843
+
45844
+ if (message.event !== 'LOG_EVENT') {
45845
+ src_Log.debug('Host Bridge response: ', response);
45846
+ }
45847
+
45658
45848
  return response;
45659
45849
  }
45660
45850
  });
@@ -45670,12 +45860,15 @@ const src_init = async settings => {
45670
45860
  ...settings
45671
45861
  });
45672
45862
  (0,dist/* enableLog */.yI)(!!settings.debug);
45863
+ (0,dist/* setLoggerPostMessage */.hZ)(handleMessage);
45673
45864
  src_Log.debug('init');
45674
45865
  window.addEventListener('message', createJSBridge);
45675
45866
  window.addEventListener('unload', src_dispose);
45676
45867
 
45677
45868
  try {
45678
- await init(_settings);
45869
+ await init({ ..._settings,
45870
+ version: "0.1.16"
45871
+ });
45679
45872
  return true;
45680
45873
  } catch (e) {
45681
45874
  console.log('init error: ', e);
@@ -45714,7 +45907,13 @@ const call = async params => {
45714
45907
  return (0,dist/* createErrorMessage */.xG)(shared_dist.ERRORS.TypedError(shared_dist.HardwareErrorCode.CallMethodNotResponse));
45715
45908
  } catch (error) {
45716
45909
  src_Log.error('__call error: ', error);
45717
- return (0,dist/* createErrorMessage */.xG)(error);
45910
+ let err = error;
45911
+
45912
+ if (!(err instanceof shared_dist.HardwareError)) {
45913
+ err = shared_dist.ERRORS.CreateErrorByMessage(error.message);
45914
+ }
45915
+
45916
+ return (0,dist/* createErrorMessage */.xG)(err);
45718
45917
  }
45719
45918
  };
45720
45919