@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.
- package/build/data/config.ts +1 -0
- package/build/iframe.html +1 -1
- package/build/js/iframe.784358907f627d069ecb.js +3 -0
- package/build/js/{iframe.ae8a60bf83e0c694af12.js.LICENSE.txt → iframe.784358907f627d069ecb.js.LICENSE.txt} +0 -0
- package/build/js/iframe.784358907f627d069ecb.js.map +1 -0
- package/build/onekey-js-sdk.js +662 -463
- package/build/onekey-js-sdk.js.map +1 -1
- package/build/onekey-js-sdk.min.js +1 -1
- package/build/onekey-js-sdk.min.js.map +1 -1
- package/dist/iframe/index.d.ts.map +1 -1
- package/dist/iframe/index.js +1 -1
- package/dist/iframe/index.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -5
- package/dist/index.js.map +1 -1
- package/dist/utils/bridgeUtils.d.ts.map +1 -1
- package/dist/utils/bridgeUtils.js +9 -4
- package/dist/utils/bridgeUtils.js.map +1 -1
- package/package.json +5 -5
- package/src/iframe/index.ts +3 -2
- package/src/index.ts +22 -7
- package/src/utils/bridgeUtils.ts +10 -5
- package/webpack/prod.webpack.config.ts +8 -0
- package/build/data/version.ts +0 -3
- package/build/js/iframe.ae8a60bf83e0c694af12.js +0 -3
- package/build/js/iframe.ae8a60bf83e0c694af12.js.map +0 -1
package/build/onekey-js-sdk.js
CHANGED
|
@@ -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 =
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
14299
|
-
|
|
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
|
-
|
|
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
|
|
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:
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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: '
|
|
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
|
-
|
|
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
|
-
|
|
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/*
|
|
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
|
-
|
|
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
|
-
|
|
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/*
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|