@ledgerhq/live-common 26.0.0 → 26.0.1-nightly.0
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/README.md +1 -1
- package/lib/__tests__/test-helpers/environment.d.ts +2 -0
- package/lib/__tests__/test-helpers/environment.d.ts.map +1 -0
- package/lib/__tests__/test-helpers/environment.js +107 -0
- package/lib/__tests__/test-helpers/environment.js.map +1 -0
- package/lib/__tests__/test-helpers/setup.d.ts +1 -1
- package/lib/__tests__/test-helpers/setup.d.ts.map +1 -1
- package/lib/__tests__/test-helpers/setup.js +1 -101
- package/lib/__tests__/test-helpers/setup.js.map +1 -1
- package/lib/ble/hooks/useBleDevicePairing.d.ts +18 -0
- package/lib/ble/hooks/useBleDevicePairing.d.ts.map +1 -0
- package/lib/ble/hooks/useBleDevicePairing.js +57 -0
- package/lib/ble/hooks/useBleDevicePairing.js.map +1 -0
- package/lib/ble/hooks/useBleDevicePairing.test.d.ts +2 -0
- package/lib/ble/hooks/useBleDevicePairing.test.d.ts.map +1 -0
- package/lib/ble/hooks/useBleDevicePairing.test.js +159 -0
- package/lib/ble/hooks/useBleDevicePairing.test.js.map +1 -0
- package/lib/ble/hooks/useBleDevicesScanning.d.ts +25 -0
- package/lib/ble/hooks/useBleDevicesScanning.d.ts.map +1 -0
- package/lib/ble/hooks/useBleDevicesScanning.js +117 -0
- package/lib/ble/hooks/useBleDevicesScanning.js.map +1 -0
- package/lib/ble/hooks/useBleDevicesScanning.test.d.ts +2 -0
- package/lib/ble/hooks/useBleDevicesScanning.test.d.ts.map +1 -0
- package/lib/ble/hooks/useBleDevicesScanning.test.js +281 -0
- package/lib/ble/hooks/useBleDevicesScanning.test.js.map +1 -0
- package/lib/ble/types.d.ts +21 -0
- package/lib/ble/types.d.ts.map +1 -0
- package/lib/ble/types.js +3 -0
- package/lib/ble/types.js.map +1 -0
- package/lib/bot/cli.d.ts +2 -0
- package/lib/bot/cli.d.ts.map +1 -0
- package/lib/bot/cli.js +14 -0
- package/lib/bot/cli.js.map +1 -0
- package/lib/bot/engine.d.ts +3 -2
- package/lib/bot/engine.d.ts.map +1 -1
- package/lib/bot/engine.js +106 -81
- package/lib/bot/engine.js.map +1 -1
- package/lib/bot/formatters.d.ts +2 -2
- package/lib/bot/formatters.d.ts.map +1 -1
- package/lib/bot/formatters.js +28 -11
- package/lib/bot/formatters.js.map +1 -1
- package/lib/bot/index.d.ts.map +1 -1
- package/lib/bot/index.js +31 -1
- package/lib/bot/index.js.map +1 -1
- package/lib/bot/types.d.ts +4 -2
- package/lib/bot/types.d.ts.map +1 -1
- package/lib/env.js +1 -1
- package/lib/families/cardano/js-estimateMaxSpendable.d.ts.map +1 -1
- package/lib/families/cardano/js-estimateMaxSpendable.js +3 -1
- package/lib/families/cardano/js-estimateMaxSpendable.js.map +1 -1
- package/lib/families/cosmos/specs.js +2 -2
- package/lib/families/cosmos/specs.js.map +1 -1
- package/lib/families/elrond/specs.js +1 -1
- package/lib/families/elrond/specs.js.map +1 -1
- package/lib/families/polkadot/bridge.integration.test.js +3 -3
- package/lib/families/polkadot/bridge.integration.test.js.map +1 -1
- package/lib/families/polkadot/specs.d.ts.map +1 -1
- package/lib/families/polkadot/specs.js +4 -3
- package/lib/families/polkadot/specs.js.map +1 -1
- package/lib/families/stellar/api/horizon.d.ts.map +1 -1
- package/lib/families/stellar/api/horizon.js +15 -10
- package/lib/families/stellar/api/horizon.js.map +1 -1
- package/lib/featureFlags/provider.d.ts +5 -1
- package/lib/featureFlags/provider.d.ts.map +1 -1
- package/lib/featureFlags/provider.js +6 -4
- package/lib/featureFlags/provider.js.map +1 -1
- package/lib/featureFlags/useFeature.d.ts.map +1 -1
- package/lib/featureFlags/useFeature.js +3 -1
- package/lib/featureFlags/useFeature.js.map +1 -1
- package/lib/generated/account.d.ts.map +1 -1
- package/lib/generated/account.js.map +1 -1
- package/lib/generated/bridge/js.d.ts.map +1 -1
- package/lib/generated/bridge/js.js.map +1 -1
- package/lib/generated/bridge/mock.d.ts.map +1 -1
- package/lib/generated/bridge/mock.js.map +1 -1
- package/lib/generated/cli-transaction.d.ts.map +1 -1
- package/lib/generated/cli-transaction.js.map +1 -1
- package/lib/generated/deviceTransactionConfig.d.ts.map +1 -1
- package/lib/generated/deviceTransactionConfig.js.map +1 -1
- package/lib/generated/exchange.d.ts.map +1 -1
- package/lib/generated/exchange.js.map +1 -1
- package/lib/generated/hw-getAddress.d.ts.map +1 -1
- package/lib/generated/hw-getAddress.js.map +1 -1
- package/lib/generated/hw-signMessage.d.ts.map +1 -1
- package/lib/generated/hw-signMessage.js.map +1 -1
- package/lib/generated/mock.d.ts.map +1 -1
- package/lib/generated/mock.js.map +1 -1
- package/lib/generated/platformAdapter.d.ts.map +1 -1
- package/lib/generated/platformAdapter.js.map +1 -1
- package/lib/generated/presync.d.ts.map +1 -1
- package/lib/generated/presync.js.map +1 -1
- package/lib/generated/specs.d.ts.map +1 -1
- package/lib/generated/specs.js.map +1 -1
- package/lib/generated/speculos-deviceActions.d.ts.map +1 -1
- package/lib/generated/speculos-deviceActions.js.map +1 -1
- package/lib/generated/transaction.d.ts.map +1 -1
- package/lib/generated/transaction.js.map +1 -1
- package/lib/generated/types.d.ts.map +1 -1
- package/lib/load/speculos.d.ts +1 -0
- package/lib/load/speculos.d.ts.map +1 -1
- package/lib/load/speculos.js +2 -1
- package/lib/load/speculos.js.map +1 -1
- package/lib/platform/react.d.ts.map +1 -1
- package/lib/platform/react.js +6 -3
- package/lib/platform/react.js.map +1 -1
- package/package.json +21 -22
- package/src/__tests__/test-helpers/environment.ts +91 -0
- package/src/__tests__/test-helpers/setup.ts +2 -91
- package/src/ble/hooks/useBleDevicePairing.test.ts +91 -0
- package/src/ble/hooks/useBleDevicePairing.ts +51 -0
- package/src/ble/hooks/useBleDevicesScanning.test.ts +252 -0
- package/src/ble/hooks/useBleDevicesScanning.ts +147 -0
- package/src/ble/types.ts +42 -0
- package/src/bot/cli.ts +18 -0
- package/src/bot/engine.ts +54 -30
- package/src/bot/formatters.ts +30 -11
- package/src/bot/index.ts +54 -1
- package/src/bot/types.ts +4 -2
- package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +1 -36
- package/src/env.ts +1 -1
- package/src/families/cardano/js-estimateMaxSpendable.ts +3 -1
- package/src/families/cosmos/specs.ts +2 -2
- package/src/families/elrond/specs.ts +1 -1
- package/src/families/polkadot/bridge.integration.test.ts +3 -3
- package/src/families/polkadot/specs.ts +4 -3
- package/src/families/stellar/api/horizon.ts +10 -6
- package/src/featureFlags/provider.tsx +11 -1
- package/src/featureFlags/useFeature.ts +6 -2
- package/src/generated/account.ts +0 -8
- package/src/generated/bridge/js.ts +0 -18
- package/src/generated/bridge/mock.ts +0 -8
- package/src/generated/cli-transaction.ts +0 -17
- package/src/generated/deviceTransactionConfig.ts +15 -31
- package/src/generated/exchange.ts +0 -5
- package/src/generated/hw-getAddress.ts +0 -18
- package/src/generated/hw-signMessage.ts +0 -3
- package/src/generated/mock.ts +0 -3
- package/src/generated/platformAdapter.ts +0 -4
- package/src/generated/presync.ts +0 -1
- package/src/generated/specs.ts +0 -17
- package/src/generated/speculos-deviceActions.ts +0 -17
- package/src/generated/transaction.ts +0 -18
- package/src/generated/types.ts +7 -4
- package/src/load/speculos.ts +2 -0
- package/src/platform/react.ts +7 -3
- package/lib/bot/test.bot.d.ts +0 -2
- package/lib/bot/test.bot.d.ts.map +0 -1
- package/lib/bot/test.bot.js +0 -62
- package/lib/bot/test.bot.js.map +0 -1
- package/src/bot/test.bot.ts +0 -21
package/README.md
CHANGED
|
@@ -79,6 +79,6 @@ This part of the repository is where you will add most of your code.
|
|
|
79
79
|
|
|
80
80
|
For a smooth and quick integration:
|
|
81
81
|
- See the developers’ documentation on the [Developer Portal](https://developers.ledger.com/docs/coin/general-process/) and
|
|
82
|
-
- Go on Discord to chat with developer support and the developer community.
|
|
82
|
+
- Go on [Discord](https://developers.ledger.com/discord-pro/) to chat with developer support and the developer community.
|
|
83
83
|
|
|
84
84
|
---
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/environment.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
exports.__esModule = true;
|
|
28
|
+
var winston_1 = __importDefault(require("winston"));
|
|
29
|
+
var logs_1 = require("@ledgerhq/logs");
|
|
30
|
+
var currencies_1 = require("../../currencies");
|
|
31
|
+
var version_1 = require("../../platform/version");
|
|
32
|
+
var env_1 = require("../../env");
|
|
33
|
+
(0, version_1.setPlatformVersion)("1.1.0");
|
|
34
|
+
(0, currencies_1.setSupportedCurrencies)([
|
|
35
|
+
"bitcoin",
|
|
36
|
+
"ethereum",
|
|
37
|
+
"bsc",
|
|
38
|
+
"polygon",
|
|
39
|
+
"elrond",
|
|
40
|
+
"ripple",
|
|
41
|
+
"bitcoin_cash",
|
|
42
|
+
"litecoin",
|
|
43
|
+
"dash",
|
|
44
|
+
"ethereum_classic",
|
|
45
|
+
"tezos",
|
|
46
|
+
"qtum",
|
|
47
|
+
"zcash",
|
|
48
|
+
"bitcoin_gold",
|
|
49
|
+
"stratis",
|
|
50
|
+
"dogecoin",
|
|
51
|
+
"digibyte",
|
|
52
|
+
"komodo",
|
|
53
|
+
"pivx",
|
|
54
|
+
"zencash",
|
|
55
|
+
"vertcoin",
|
|
56
|
+
"peercoin",
|
|
57
|
+
"viacoin",
|
|
58
|
+
"stakenet",
|
|
59
|
+
"stealthcoin",
|
|
60
|
+
"decred",
|
|
61
|
+
"tron",
|
|
62
|
+
"stellar",
|
|
63
|
+
"cosmos",
|
|
64
|
+
"algorand",
|
|
65
|
+
"polkadot",
|
|
66
|
+
"bitcoin_testnet",
|
|
67
|
+
"ethereum_ropsten",
|
|
68
|
+
"ethereum_goerli",
|
|
69
|
+
"cosmos_testnet",
|
|
70
|
+
"crypto_org_croeseid",
|
|
71
|
+
"crypto_org",
|
|
72
|
+
"filecoin",
|
|
73
|
+
"solana",
|
|
74
|
+
"celo",
|
|
75
|
+
"hedera",
|
|
76
|
+
"cardano",
|
|
77
|
+
"cardano_testnet",
|
|
78
|
+
"osmosis",
|
|
79
|
+
"filecoin",
|
|
80
|
+
]);
|
|
81
|
+
for (var k in process.env)
|
|
82
|
+
(0, env_1.setEnvUnsafe)(k, process.env[k]);
|
|
83
|
+
var _a = process.env, VERBOSE = _a.VERBOSE, VERBOSE_FILE = _a.VERBOSE_FILE;
|
|
84
|
+
var logger = winston_1["default"].createLogger({
|
|
85
|
+
level: "debug",
|
|
86
|
+
transports: []
|
|
87
|
+
});
|
|
88
|
+
var format = winston_1["default"].format;
|
|
89
|
+
var combine = format.combine, timestamp = format.timestamp, json = format.json;
|
|
90
|
+
var winstonFormat = combine(timestamp(), json());
|
|
91
|
+
if (VERBOSE_FILE) {
|
|
92
|
+
logger.add(new winston_1["default"].transports.File({
|
|
93
|
+
format: winstonFormat,
|
|
94
|
+
filename: VERBOSE_FILE,
|
|
95
|
+
level: "debug"
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
logger.add(new winston_1["default"].transports.Console({
|
|
99
|
+
format: winstonFormat,
|
|
100
|
+
silent: !VERBOSE
|
|
101
|
+
}));
|
|
102
|
+
// eslint-disable-next-line no-unused-vars
|
|
103
|
+
(0, logs_1.listen)(function (_a) {
|
|
104
|
+
var type = _a.type, message = _a.message, rest = __rest(_a, ["type", "message"]);
|
|
105
|
+
logger.log("debug", __assign({ message: type + (message ? ": " + message : "") }, rest));
|
|
106
|
+
});
|
|
107
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/environment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA8B;AAC9B,uCAAwC;AACxC,+CAA0D;AAC1D,kDAA4D;AAC5D,iCAAkD;AAElD,IAAA,4BAAkB,EAAC,OAAO,CAAC,CAAC;AAE5B,IAAA,mCAAsB,EAAC;IACrB,SAAS;IACT,UAAU;IACV,KAAK;IACL,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,UAAU;IACV,MAAM;IACN,kBAAkB;IAClB,OAAO;IACP,MAAM;IACN,OAAO;IACP,cAAc;IACd,SAAS;IACT,UAAU;IACV,UAAU;IACV,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,aAAa;IACb,QAAQ;IACR,MAAM;IACN,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,iBAAiB;IACjB,SAAS;IACT,UAAU;CACX,CAAC,CAAC;AAEH,KAAK,IAAM,CAAC,IAAI,OAAO,CAAC,GAAG;IAAE,IAAA,kBAAY,EAAC,CAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAElE,IAAA,KAA4B,OAAO,CAAC,GAAG,EAArC,OAAO,aAAA,EAAE,YAAY,kBAAgB,CAAC;AAC9C,IAAM,MAAM,GAAG,oBAAO,CAAC,YAAY,CAAC;IAClC,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,EAAE;CACf,CAAC,CAAC;AACK,IAAA,MAAM,GAAK,oBAAO,OAAZ,CAAa;AACnB,IAAA,OAAO,GAAsB,MAAM,QAA5B,EAAE,SAAS,GAAW,MAAM,UAAjB,EAAE,IAAI,GAAK,MAAM,KAAX,CAAY;AAC5C,IAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAEnD,IAAI,YAAY,EAAE;IAChB,MAAM,CAAC,GAAG,CACR,IAAI,oBAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,YAAY;QACtB,KAAK,EAAE,OAAO;KACf,CAAC,CACH,CAAC;CACH;AAED,MAAM,CAAC,GAAG,CACR,IAAI,oBAAO,CAAC,UAAU,CAAC,OAAO,CAAC;IAC7B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,CAAC,OAAO;CACjB,CAAC,CACH,CAAC;AACF,0CAA0C;AAC1C,IAAA,aAAM,EAAC,UAAC,EAA0B;IAAxB,IAAA,IAAI,UAAA,EAAE,OAAO,aAAA,EAAK,IAAI,cAAxB,mBAA0B,CAAF;IAC9B,MAAM,CAAC,GAAG,CAAC,OAAO,aAChB,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAE5C,IAAI,EACP,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import "./environment";
|
|
2
2
|
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/setup.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/setup.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC"}
|
|
@@ -1,36 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
-
var t = {};
|
|
15
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
-
t[p] = s[p];
|
|
17
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
-
t[p[i]] = s[p[i]];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
4
|
};
|
|
27
5
|
exports.__esModule = true;
|
|
28
|
-
|
|
29
|
-
var logs_1 = require("@ledgerhq/logs");
|
|
6
|
+
require("./environment");
|
|
30
7
|
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
31
|
-
var currencies_1 = require("../../currencies");
|
|
32
|
-
var version_1 = require("../../platform/version");
|
|
33
|
-
var env_1 = require("../../env");
|
|
34
8
|
jest.setTimeout(360000);
|
|
35
9
|
expect.extend({
|
|
36
10
|
toBeBigNumber: function (value) {
|
|
@@ -41,78 +15,4 @@ expect.extend({
|
|
|
41
15
|
return { message: message, pass: pass };
|
|
42
16
|
}
|
|
43
17
|
});
|
|
44
|
-
(0, version_1.setPlatformVersion)("1.1.0");
|
|
45
|
-
(0, currencies_1.setSupportedCurrencies)([
|
|
46
|
-
"bitcoin",
|
|
47
|
-
"ethereum",
|
|
48
|
-
"bsc",
|
|
49
|
-
"polygon",
|
|
50
|
-
"elrond",
|
|
51
|
-
"ripple",
|
|
52
|
-
"bitcoin_cash",
|
|
53
|
-
"litecoin",
|
|
54
|
-
"dash",
|
|
55
|
-
"ethereum_classic",
|
|
56
|
-
"tezos",
|
|
57
|
-
"qtum",
|
|
58
|
-
"zcash",
|
|
59
|
-
"bitcoin_gold",
|
|
60
|
-
"stratis",
|
|
61
|
-
"dogecoin",
|
|
62
|
-
"digibyte",
|
|
63
|
-
"komodo",
|
|
64
|
-
"pivx",
|
|
65
|
-
"zencash",
|
|
66
|
-
"vertcoin",
|
|
67
|
-
"peercoin",
|
|
68
|
-
"viacoin",
|
|
69
|
-
"stakenet",
|
|
70
|
-
"stealthcoin",
|
|
71
|
-
"decred",
|
|
72
|
-
"tron",
|
|
73
|
-
"stellar",
|
|
74
|
-
"cosmos",
|
|
75
|
-
"algorand",
|
|
76
|
-
"polkadot",
|
|
77
|
-
"bitcoin_testnet",
|
|
78
|
-
"ethereum_ropsten",
|
|
79
|
-
"ethereum_goerli",
|
|
80
|
-
"cosmos_testnet",
|
|
81
|
-
"crypto_org_croeseid",
|
|
82
|
-
"crypto_org",
|
|
83
|
-
"filecoin",
|
|
84
|
-
"solana",
|
|
85
|
-
"celo",
|
|
86
|
-
"hedera",
|
|
87
|
-
"cardano",
|
|
88
|
-
"cardano_testnet",
|
|
89
|
-
"osmosis",
|
|
90
|
-
"filecoin",
|
|
91
|
-
]);
|
|
92
|
-
for (var k in process.env)
|
|
93
|
-
(0, env_1.setEnvUnsafe)(k, process.env[k]);
|
|
94
|
-
var _a = process.env, VERBOSE = _a.VERBOSE, VERBOSE_FILE = _a.VERBOSE_FILE;
|
|
95
|
-
var logger = winston_1["default"].createLogger({
|
|
96
|
-
level: "debug",
|
|
97
|
-
transports: []
|
|
98
|
-
});
|
|
99
|
-
var format = winston_1["default"].format;
|
|
100
|
-
var combine = format.combine, timestamp = format.timestamp, json = format.json;
|
|
101
|
-
var winstonFormat = combine(timestamp(), json());
|
|
102
|
-
if (VERBOSE_FILE) {
|
|
103
|
-
logger.add(new winston_1["default"].transports.File({
|
|
104
|
-
format: winstonFormat,
|
|
105
|
-
filename: VERBOSE_FILE,
|
|
106
|
-
level: "debug"
|
|
107
|
-
}));
|
|
108
|
-
}
|
|
109
|
-
logger.add(new winston_1["default"].transports.Console({
|
|
110
|
-
format: winstonFormat,
|
|
111
|
-
silent: !VERBOSE
|
|
112
|
-
}));
|
|
113
|
-
// eslint-disable-next-line no-unused-vars
|
|
114
|
-
(0, logs_1.listen)(function (_a) {
|
|
115
|
-
var type = _a.type, message = _a.message, rest = __rest(_a, ["type", "message"]);
|
|
116
|
-
logger.log("debug", __assign({ message: type + (message ? ": " + message : "") }, rest));
|
|
117
|
-
});
|
|
118
18
|
//# sourceMappingURL=setup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/setup.ts"],"names":[],"mappings":";;;;;AAAA,yBAAuB;AAEvB,8DAAqC;AAErC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAExB,MAAM,CAAC,MAAM,CAAC;IACZ,aAAa,YAAC,KAAK;QACjB,IAAM,IAAI,GAAG,yBAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAM,OAAO,GAAG,IAAI;YAClB,CAAC,CAAC,cAAM,OAAA,UAAG,KAAK,oBAAiB,EAAzB,CAAyB;YACjC,CAAC,CAAC,cAAM,OAAA,UAAG,KAAK,wBAAqB,EAA7B,CAA6B,CAAC;QAExC,OAAO,EAAE,OAAO,SAAA,EAAE,IAAI,MAAA,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BleError } from "../types";
|
|
2
|
+
export declare type useBleDevicePairingArgs = {
|
|
3
|
+
deviceId: string;
|
|
4
|
+
};
|
|
5
|
+
export declare type PairingError = BleError | null;
|
|
6
|
+
export declare type useBleDevicePairingResult = {
|
|
7
|
+
isPaired: boolean;
|
|
8
|
+
pairingError: PairingError;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Triggers a BLE pairing with a device
|
|
12
|
+
* @param deviceId A BLE device id
|
|
13
|
+
* @returns An object containing:
|
|
14
|
+
* - isPaired: a boolean set to true if the device has been paired, false otherwise
|
|
15
|
+
* - pairingError: any PairingError that occurred, null otherwise
|
|
16
|
+
*/
|
|
17
|
+
export declare const useBleDevicePairing: ({ deviceId, }: useBleDevicePairingArgs) => useBleDevicePairingResult;
|
|
18
|
+
//# sourceMappingURL=useBleDevicePairing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBleDevicePairing.d.ts","sourceRoot":"","sources":["../../../src/ble/hooks/useBleDevicePairing.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,YAAY,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE3C,oBAAY,yBAAyB,GAAG;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,kBAE7B,uBAAuB,KAAG,yBAsB5B,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
|
+
};
|
|
21
|
+
exports.__esModule = true;
|
|
22
|
+
exports.useBleDevicePairing = void 0;
|
|
23
|
+
var react_1 = require("react");
|
|
24
|
+
var rxjs_1 = require("rxjs");
|
|
25
|
+
var operators_1 = require("rxjs/operators");
|
|
26
|
+
var deviceAccess_1 = require("../../hw/deviceAccess");
|
|
27
|
+
var getVersion_1 = __importDefault(require("../../hw/getVersion"));
|
|
28
|
+
/**
|
|
29
|
+
* Triggers a BLE pairing with a device
|
|
30
|
+
* @param deviceId A BLE device id
|
|
31
|
+
* @returns An object containing:
|
|
32
|
+
* - isPaired: a boolean set to true if the device has been paired, false otherwise
|
|
33
|
+
* - pairingError: any PairingError that occurred, null otherwise
|
|
34
|
+
*/
|
|
35
|
+
var useBleDevicePairing = function (_a) {
|
|
36
|
+
var deviceId = _a.deviceId;
|
|
37
|
+
var _b = __read((0, react_1.useState)(false), 2), isPaired = _b[0], setIsPaired = _b[1];
|
|
38
|
+
var _c = __read((0, react_1.useState)(null), 2), pairingError = _c[0], setPairingError = _c[1];
|
|
39
|
+
(0, react_1.useEffect)(function () {
|
|
40
|
+
var requestObservable = (0, deviceAccess_1.withDevice)(deviceId)(function (t) {
|
|
41
|
+
return (0, rxjs_1.from)((0, getVersion_1["default"])(t));
|
|
42
|
+
}).pipe((0, operators_1.first)());
|
|
43
|
+
requestObservable.subscribe({
|
|
44
|
+
next: function (_value) {
|
|
45
|
+
setIsPaired(true);
|
|
46
|
+
setPairingError(null);
|
|
47
|
+
},
|
|
48
|
+
error: function (error) {
|
|
49
|
+
setIsPaired(false);
|
|
50
|
+
setPairingError(error);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}, [deviceId]);
|
|
54
|
+
return { isPaired: isPaired, pairingError: pairingError };
|
|
55
|
+
};
|
|
56
|
+
exports.useBleDevicePairing = useBleDevicePairing;
|
|
57
|
+
//# sourceMappingURL=useBleDevicePairing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBleDevicePairing.js","sourceRoot":"","sources":["../../../src/ble/hooks/useBleDevicePairing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4C;AAC5C,6BAA4B;AAC5B,4CAAuC;AAEvC,sDAAmD;AACnD,mEAA6C;AAc7C;;;;;;GAMG;AACI,IAAM,mBAAmB,GAAG,UAAC,EAEV;QADxB,QAAQ,cAAA;IAEF,IAAA,KAAA,OAA0B,IAAA,gBAAQ,EAAU,KAAK,CAAC,IAAA,EAAjD,QAAQ,QAAA,EAAE,WAAW,QAA4B,CAAC;IACnD,IAAA,KAAA,OAAkC,IAAA,gBAAQ,EAAe,IAAI,CAAC,IAAA,EAA7D,YAAY,QAAA,EAAE,eAAe,QAAgC,CAAC;IAErE,IAAA,iBAAS,EAAC;QACR,IAAM,iBAAiB,GAAG,IAAA,yBAAU,EAAC,QAAQ,CAAC,CAAC,UAAC,CAAC;YAC/C,OAAA,IAAA,WAAI,EAAC,IAAA,uBAAU,EAAC,CAAC,CAAC,CAAC;QAAnB,CAAmB,CACpB,CAAC,IAAI,CAAC,IAAA,iBAAK,GAAE,CAAC,CAAC;QAEhB,iBAAiB,CAAC,SAAS,CAAC;YAC1B,IAAI,EAAE,UAAC,MAAoB;gBACzB,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,eAAe,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,KAAK,EAAE,UAAC,KAAe;gBACrB,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnB,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,EAAE,QAAQ,UAAA,EAAE,YAAY,cAAA,EAAE,CAAC;AACpC,CAAC,CAAC;AAxBW,QAAA,mBAAmB,uBAwB9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBleDevicePairing.test.d.ts","sourceRoot":"","sources":["../../../src/ble/hooks/useBleDevicePairing.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (_) try {
|
|
33
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
|
+
};
|
|
56
|
+
exports.__esModule = true;
|
|
57
|
+
var react_hooks_1 = require("@testing-library/react-hooks");
|
|
58
|
+
var rxjs_1 = require("rxjs");
|
|
59
|
+
var devices_1 = require("@ledgerhq/devices");
|
|
60
|
+
var hw_transport_1 = __importDefault(require("@ledgerhq/hw-transport"));
|
|
61
|
+
var deviceAccess_1 = require("../../hw/deviceAccess");
|
|
62
|
+
var getVersion_1 = __importDefault(require("../../hw/getVersion"));
|
|
63
|
+
var useBleDevicePairing_1 = require("./useBleDevicePairing");
|
|
64
|
+
jest.mock("../../hw/deviceAccess");
|
|
65
|
+
jest.mock("../../hw/getVersion");
|
|
66
|
+
jest.mock("@ledgerhq/hw-transport");
|
|
67
|
+
jest.useFakeTimers();
|
|
68
|
+
var mockedGetVersion = jest.mocked(getVersion_1["default"]);
|
|
69
|
+
var mockedWithDevice = jest.mocked(deviceAccess_1.withDevice);
|
|
70
|
+
mockedWithDevice.mockReturnValue(function (job) { return (0, rxjs_1.from)(job(new hw_transport_1["default"]())); });
|
|
71
|
+
var aFirmwareInfo = {
|
|
72
|
+
isBootloader: false,
|
|
73
|
+
rawVersion: "",
|
|
74
|
+
targetId: 0,
|
|
75
|
+
mcuVersion: "",
|
|
76
|
+
flags: Buffer.from([])
|
|
77
|
+
};
|
|
78
|
+
var aDevice = {
|
|
79
|
+
deviceId: "DEVICE_ID_A",
|
|
80
|
+
deviceName: "DEVICE_NAME_A",
|
|
81
|
+
modelId: devices_1.DeviceModelId.nanoFTS,
|
|
82
|
+
wired: false
|
|
83
|
+
};
|
|
84
|
+
// FIXME: once we have our own definition of BleError class, this won't be needed
|
|
85
|
+
var BleError = /** @class */ (function (_super) {
|
|
86
|
+
__extends(BleError, _super);
|
|
87
|
+
function BleError(message, errorCode) {
|
|
88
|
+
var _this = _super.call(this, message) || this;
|
|
89
|
+
_this.errorCode = errorCode;
|
|
90
|
+
return _this;
|
|
91
|
+
}
|
|
92
|
+
return BleError;
|
|
93
|
+
}(Error));
|
|
94
|
+
describe("useBleDevicePairing", function () {
|
|
95
|
+
afterEach(function () {
|
|
96
|
+
mockedGetVersion.mockClear();
|
|
97
|
+
jest.clearAllTimers();
|
|
98
|
+
});
|
|
99
|
+
describe("When the request sent with the BLE transport to the device gets a success response", function () {
|
|
100
|
+
beforeEach(function () {
|
|
101
|
+
mockedGetVersion.mockResolvedValue(aFirmwareInfo);
|
|
102
|
+
});
|
|
103
|
+
it("should inform the hook consumer that the device is paired", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
104
|
+
var result;
|
|
105
|
+
return __generator(this, function (_a) {
|
|
106
|
+
switch (_a.label) {
|
|
107
|
+
case 0:
|
|
108
|
+
result = (0, react_hooks_1.renderHook)(function () {
|
|
109
|
+
return (0, useBleDevicePairing_1.useBleDevicePairing)({
|
|
110
|
+
deviceId: aDevice.deviceId
|
|
111
|
+
});
|
|
112
|
+
}).result;
|
|
113
|
+
return [4 /*yield*/, (0, react_hooks_1.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
114
|
+
return __generator(this, function (_a) {
|
|
115
|
+
jest.advanceTimersByTime(1);
|
|
116
|
+
return [2 /*return*/];
|
|
117
|
+
});
|
|
118
|
+
}); })];
|
|
119
|
+
case 1:
|
|
120
|
+
_a.sent();
|
|
121
|
+
expect(result.current.isPaired).toBe(true);
|
|
122
|
+
expect(result.current.pairingError).toBeNull();
|
|
123
|
+
return [2 /*return*/];
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}); });
|
|
127
|
+
});
|
|
128
|
+
describe("When the request sent with the BLE transport is rejected with an error", function () {
|
|
129
|
+
beforeEach(function () {
|
|
130
|
+
var bleError = new BleError("An error during pairing", 201);
|
|
131
|
+
mockedGetVersion.mockRejectedValue(bleError);
|
|
132
|
+
});
|
|
133
|
+
it("should inform the hook consumer an error occurred", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
134
|
+
var result;
|
|
135
|
+
return __generator(this, function (_a) {
|
|
136
|
+
switch (_a.label) {
|
|
137
|
+
case 0:
|
|
138
|
+
result = (0, react_hooks_1.renderHook)(function () {
|
|
139
|
+
return (0, useBleDevicePairing_1.useBleDevicePairing)({
|
|
140
|
+
deviceId: aDevice.deviceId
|
|
141
|
+
});
|
|
142
|
+
}).result;
|
|
143
|
+
return [4 /*yield*/, (0, react_hooks_1.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
144
|
+
return __generator(this, function (_a) {
|
|
145
|
+
jest.advanceTimersByTime(1);
|
|
146
|
+
return [2 /*return*/];
|
|
147
|
+
});
|
|
148
|
+
}); })];
|
|
149
|
+
case 1:
|
|
150
|
+
_a.sent();
|
|
151
|
+
expect(result.current.isPaired).toBe(false);
|
|
152
|
+
expect(result.current.pairingError).not.toBeNull();
|
|
153
|
+
return [2 /*return*/];
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}); });
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
//# sourceMappingURL=useBleDevicePairing.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBleDevicePairing.test.js","sourceRoot":"","sources":["../../../src/ble/hooks/useBleDevicePairing.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { DeviceModelId } from "@ledgerhq/types-devices";
|
|
2
|
+
import type { Observer as TransportObserver, Subscription as TransportSubscription, DescriptorEvent } from "@ledgerhq/hw-transport";
|
|
3
|
+
import { TransportBleDevice, ScannedDevice, BleError } from "../types";
|
|
4
|
+
export declare type ScanningBleError = BleError | null;
|
|
5
|
+
export declare type UseBleDevicesScanningResult = {
|
|
6
|
+
scannedDevices: ScannedDevice[];
|
|
7
|
+
scanningBleError: ScanningBleError;
|
|
8
|
+
};
|
|
9
|
+
export declare type UseBleDevicesScanningDependencies = {
|
|
10
|
+
bleTransportListen: (observer: TransportObserver<DescriptorEvent<TransportBleDevice | null>>) => TransportSubscription;
|
|
11
|
+
};
|
|
12
|
+
export declare type UseBleDevicesScanningOptions = {
|
|
13
|
+
stopBleScanning?: boolean;
|
|
14
|
+
filterByModelIds?: DeviceModelId[];
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Scans the BLE devices around the user
|
|
18
|
+
* @param filterByModelIds An array of model ids to filter on
|
|
19
|
+
* @param stopBleScanning Flag to stop or continue the scanning
|
|
20
|
+
* @returns An object containing:
|
|
21
|
+
* - scannedDevices: list of ScannedDevice found by the scanning
|
|
22
|
+
* - scanningBleError: if an error occurred, a BleError, otherwise null
|
|
23
|
+
*/
|
|
24
|
+
export declare const useBleDevicesScanning: ({ bleTransportListen, stopBleScanning, filterByModelIds, }: UseBleDevicesScanningDependencies & UseBleDevicesScanningOptions) => UseBleDevicesScanningResult;
|
|
25
|
+
//# sourceMappingURL=useBleDevicesScanning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBleDevicesScanning.d.ts","sourceRoot":"","sources":["../../../src/ble/hooks/useBleDevicesScanning.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACV,QAAQ,IAAI,iBAAiB,EAC7B,YAAY,IAAI,qBAAqB,EACrC,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEvE,oBAAY,gBAAgB,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE/C,oBAAY,2BAA2B,GAAG;IACxC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAEF,oBAAY,iCAAiC,GAAG;IAC9C,kBAAkB,EAAE,CAClB,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC,KACpE,qBAAqB,CAAC;CAC5B,CAAC;AAEF,oBAAY,4BAA4B,GAAG;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC;CACpC,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,+DAI/B,iCAAiC,GAClC,4BAA4B,KAAG,2BAoGhC,CAAC"}
|