@ledgerhq/live-cli 22.11.1 → 22.11.2-nightly.1

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 CHANGED
@@ -586,21 +586,6 @@ Usage: ledger-live user
586
586
 
587
587
  Usage: ledger-live version
588
588
 
589
- Usage: ledger-live walletconnect # Create a walletconnect session
590
- -d, --device <String> : provide a specific HID path of a device
591
- --xpub <String> : use an xpub (alternatively to --device) [DEPRECATED: prefer use of id]
592
- --id <String> : restore an account id (or a partial version of an id) (alternatively to --device)
593
- --file <filename> : use a JSON account file or '-' for stdin (alternatively to --device)
594
- --appjsonFile <filename> : use a desktop app.json (alternatively to --device)
595
- -c, --currency <String> : Currency name or ticker. If not provided, it will be inferred from the device.
596
- -s, --scheme <String> : if provided, filter the derivation path that are scanned by a given sceme. Providing '' empty string will only use the default standard derivation scheme.
597
- -i, --index <Number> : select the account by index
598
- -l, --length <Number> : set the number of accounts after the index. Defaults to 1 if index was provided, Infinity otherwise.
599
- --paginateOperations <Number>: if defined, will paginate operations
600
- --walletConnectURI <String>: WallecConnect URI to use.
601
- --walletConnectSession <String>: WallecConnect Session to use.
602
- -v, --verbose : verbose mode
603
- --silent : do not output the proxy logs
604
589
 
605
590
 
606
591
  ````
@@ -1728,75 +1728,6 @@ declare const _default: {
1728
1728
  args: never[];
1729
1729
  job: () => import("rxjs").Observable<string>;
1730
1730
  };
1731
- walletconnect: {
1732
- description: string;
1733
- args: ({
1734
- name: string;
1735
- alias: string;
1736
- type: StringConstructor;
1737
- desc: string;
1738
- } | {
1739
- name: string;
1740
- type: StringConstructor;
1741
- desc: string;
1742
- multiple: boolean;
1743
- typeDesc?: undefined;
1744
- alias?: undefined;
1745
- } | {
1746
- name: string;
1747
- type: StringConstructor;
1748
- typeDesc: string;
1749
- desc: string;
1750
- multiple?: undefined;
1751
- alias?: undefined;
1752
- } | {
1753
- name: string;
1754
- alias: string;
1755
- type: NumberConstructor;
1756
- desc: string;
1757
- multiple?: undefined;
1758
- typeDesc?: undefined;
1759
- } | {
1760
- name: string;
1761
- type: NumberConstructor;
1762
- desc: string;
1763
- multiple?: undefined;
1764
- typeDesc?: undefined;
1765
- alias?: undefined;
1766
- } | {
1767
- name: string;
1768
- type: StringConstructor;
1769
- desc: string;
1770
- alias?: undefined;
1771
- } | {
1772
- name: string;
1773
- alias: string;
1774
- type: BooleanConstructor;
1775
- desc: string;
1776
- } | {
1777
- name: string;
1778
- type: BooleanConstructor;
1779
- desc: string;
1780
- alias?: undefined;
1781
- })[];
1782
- job: (opts: Partial<{
1783
- device: string;
1784
- id: string[];
1785
- xpub: string[];
1786
- file: string;
1787
- appjsonFile: string;
1788
- currency: string;
1789
- scheme: string;
1790
- index: number;
1791
- length: number;
1792
- paginateOperations: number;
1793
- }> & Partial<{
1794
- walletConnectURI: string;
1795
- walletConnectSession: string;
1796
- verbose: boolean;
1797
- silent: boolean;
1798
- }>) => any;
1799
- };
1800
1731
  };
1801
1732
  export default _default;
1802
1733
  //# sourceMappingURL=commands-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands-index.d.ts","sourceRoot":"","sources":["../src/commands-index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,wBA8DE"}
1
+ {"version":3,"file":"commands-index.d.ts","sourceRoot":"","sources":["../src/commands-index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,wBA6DE"}
@@ -63,7 +63,6 @@ var testDetectOpCollision_1 = __importDefault(require("./commands/testDetectOpCo
63
63
  var testGetTrustedInputFromTxHash_1 = __importDefault(require("./commands/testGetTrustedInputFromTxHash"));
64
64
  var user_1 = __importDefault(require("./commands/user"));
65
65
  var version_1 = __importDefault(require("./commands/version"));
66
- var walletconnect_1 = __importDefault(require("./commands/walletconnect"));
67
66
  exports.default = {
68
67
  app: app_1.default,
69
68
  appUninstallAll: appUninstallAll_1.default,
@@ -125,6 +124,5 @@ exports.default = {
125
124
  testGetTrustedInputFromTxHash: testGetTrustedInputFromTxHash_1.default,
126
125
  user: user_1.default,
127
126
  version: version_1.default,
128
- walletconnect: walletconnect_1.default,
129
127
  };
130
128
  //# sourceMappingURL=commands-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands-index.js","sourceRoot":"","sources":["../src/commands-index.ts"],"names":[],"mappings":";;;;;AAAA,uDAAiC;AACjC,+EAAyD;AACzD,+FAAyE;AACzE,6EAAuD;AACvD,mFAA6D;AAC7D,6EAAuD;AACvD,uDAAiC;AACjC,yEAAmD;AACnD,uEAAiD;AACjD,mEAA6C;AAC7C,2EAAqD;AACrD,mEAA6C;AAC7C,2EAAqD;AACrD,qEAA+C;AAC/C,2FAAqE;AACrE,iFAA2D;AAC3D,qEAA+C;AAC/C,+FAAyE;AACzE,uGAAiF;AACjF,6FAAuE;AACvE,uHAAiG;AACjG,2EAAqD;AACrD,+EAAyD;AACzD,yDAAmC;AACnC,yFAAmE;AACnE,6EAAuD;AACvD,6EAAuD;AACvD,6EAAuD;AACvD,iGAA2E;AAC3E,+FAAyE;AACzE,yEAAmD;AACnD,qEAA+C;AAC/C,iFAA2D;AAC3D,yFAAmE;AACnE,yFAAmE;AACnE,yDAAmC;AACnC,iEAA2C;AAC3C,+EAAyD;AACzD,mEAA6C;AAC7C,2DAAqC;AACrC,+DAAyC;AACzC,yDAAmC;AACnC,iEAA2C;AAC3C,6EAAuD;AACvD,+EAAyD;AACzD,yDAAmC;AACnC,uEAAiD;AACjD,yEAAmD;AACnD,+FAAyE;AACzE,6EAAuD;AACvD,qFAA+D;AAC/D,2EAAqD;AACrD,+EAAyD;AACzD,yDAAmC;AACnC,yDAAmC;AACnC,2FAAqE;AACrE,2FAAqE;AACrE,2GAAqF;AACrF,yDAAmC;AACnC,+DAAyC;AACzC,2EAAqD;AAErD,kBAAe;IACb,GAAG,eAAA;IACH,eAAe,2BAAA;IACf,uBAAuB,mCAAA;IACvB,cAAc,0BAAA;IACd,iBAAiB,6BAAA;IACjB,cAAc,0BAAA;IACd,GAAG,eAAA;IACH,YAAY,wBAAA;IACZ,WAAW,uBAAA;IACX,SAAS,qBAAA;IACT,aAAa,yBAAA;IACb,SAAS,qBAAA;IACT,aAAa,yBAAA;IACb,UAAU,sBAAA;IACV,qBAAqB,iCAAA;IACrB,gBAAgB,4BAAA;IAChB,UAAU,sBAAA;IACV,uBAAuB,mCAAA;IACvB,2BAA2B,uCAAA;IAC3B,sBAAsB,kCAAA;IACtB,mCAAmC,+CAAA;IACnC,aAAa,yBAAA;IACb,eAAe,2BAAA;IACf,IAAI,gBAAA;IACJ,oBAAoB,gCAAA;IACpB,cAAc,0BAAA;IACd,cAAc,0BAAA;IACd,cAAc,0BAAA;IACd,wBAAwB,oCAAA;IACxB,uBAAuB,mCAAA;IACvB,YAAY,wBAAA;IACZ,UAAU,sBAAA;IACV,gBAAgB,4BAAA;IAChB,oBAAoB,gCAAA;IACpB,oBAAoB,gCAAA;IACpB,IAAI,gBAAA;IACJ,QAAQ,oBAAA;IACR,eAAe,2BAAA;IACf,SAAS,qBAAA;IACT,KAAK,iBAAA;IACL,OAAO,mBAAA;IACP,IAAI,gBAAA;IACJ,QAAQ,oBAAA;IACR,cAAc,0BAAA;IACd,eAAe,2BAAA;IACf,IAAI,gBAAA;IACJ,WAAW,uBAAA;IACX,YAAY,wBAAA;IACZ,uBAAuB,mCAAA;IACvB,cAAc,0BAAA;IACd,kBAAkB,8BAAA;IAClB,aAAa,yBAAA;IACb,eAAe,2BAAA;IACf,IAAI,gBAAA;IACJ,IAAI,gBAAA;IACJ,qBAAqB,iCAAA;IACrB,qBAAqB,iCAAA;IACrB,6BAA6B,yCAAA;IAC7B,IAAI,gBAAA;IACJ,OAAO,mBAAA;IACP,aAAa,yBAAA;CACd,CAAC"}
1
+ {"version":3,"file":"commands-index.js","sourceRoot":"","sources":["../src/commands-index.ts"],"names":[],"mappings":";;;;;AAAA,uDAAiC;AACjC,+EAAyD;AACzD,+FAAyE;AACzE,6EAAuD;AACvD,mFAA6D;AAC7D,6EAAuD;AACvD,uDAAiC;AACjC,yEAAmD;AACnD,uEAAiD;AACjD,mEAA6C;AAC7C,2EAAqD;AACrD,mEAA6C;AAC7C,2EAAqD;AACrD,qEAA+C;AAC/C,2FAAqE;AACrE,iFAA2D;AAC3D,qEAA+C;AAC/C,+FAAyE;AACzE,uGAAiF;AACjF,6FAAuE;AACvE,uHAAiG;AACjG,2EAAqD;AACrD,+EAAyD;AACzD,yDAAmC;AACnC,yFAAmE;AACnE,6EAAuD;AACvD,6EAAuD;AACvD,6EAAuD;AACvD,iGAA2E;AAC3E,+FAAyE;AACzE,yEAAmD;AACnD,qEAA+C;AAC/C,iFAA2D;AAC3D,yFAAmE;AACnE,yFAAmE;AACnE,yDAAmC;AACnC,iEAA2C;AAC3C,+EAAyD;AACzD,mEAA6C;AAC7C,2DAAqC;AACrC,+DAAyC;AACzC,yDAAmC;AACnC,iEAA2C;AAC3C,6EAAuD;AACvD,+EAAyD;AACzD,yDAAmC;AACnC,uEAAiD;AACjD,yEAAmD;AACnD,+FAAyE;AACzE,6EAAuD;AACvD,qFAA+D;AAC/D,2EAAqD;AACrD,+EAAyD;AACzD,yDAAmC;AACnC,yDAAmC;AACnC,2FAAqE;AACrE,2FAAqE;AACrE,2GAAqF;AACrF,yDAAmC;AACnC,+DAAyC;AAEzC,kBAAe;IACb,GAAG,eAAA;IACH,eAAe,2BAAA;IACf,uBAAuB,mCAAA;IACvB,cAAc,0BAAA;IACd,iBAAiB,6BAAA;IACjB,cAAc,0BAAA;IACd,GAAG,eAAA;IACH,YAAY,wBAAA;IACZ,WAAW,uBAAA;IACX,SAAS,qBAAA;IACT,aAAa,yBAAA;IACb,SAAS,qBAAA;IACT,aAAa,yBAAA;IACb,UAAU,sBAAA;IACV,qBAAqB,iCAAA;IACrB,gBAAgB,4BAAA;IAChB,UAAU,sBAAA;IACV,uBAAuB,mCAAA;IACvB,2BAA2B,uCAAA;IAC3B,sBAAsB,kCAAA;IACtB,mCAAmC,+CAAA;IACnC,aAAa,yBAAA;IACb,eAAe,2BAAA;IACf,IAAI,gBAAA;IACJ,oBAAoB,gCAAA;IACpB,cAAc,0BAAA;IACd,cAAc,0BAAA;IACd,cAAc,0BAAA;IACd,wBAAwB,oCAAA;IACxB,uBAAuB,mCAAA;IACvB,YAAY,wBAAA;IACZ,UAAU,sBAAA;IACV,gBAAgB,4BAAA;IAChB,oBAAoB,gCAAA;IACpB,oBAAoB,gCAAA;IACpB,IAAI,gBAAA;IACJ,QAAQ,oBAAA;IACR,eAAe,2BAAA;IACf,SAAS,qBAAA;IACT,KAAK,iBAAA;IACL,OAAO,mBAAA;IACP,IAAI,gBAAA;IACJ,QAAQ,oBAAA;IACR,cAAc,0BAAA;IACd,eAAe,2BAAA;IACf,IAAI,gBAAA;IACJ,WAAW,uBAAA;IACX,YAAY,wBAAA;IACZ,uBAAuB,mCAAA;IACvB,cAAc,0BAAA;IACd,kBAAkB,8BAAA;IAClB,aAAa,yBAAA;IACb,eAAe,2BAAA;IACf,IAAI,gBAAA;IACJ,IAAI,gBAAA;IACJ,qBAAqB,iCAAA;IACrB,qBAAqB,iCAAA;IACrB,6BAA6B,yCAAA;IAC7B,IAAI,gBAAA;IACJ,OAAO,mBAAA;CACR,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/live-cli",
3
- "version": "22.11.1",
3
+ "version": "22.11.2-nightly.1",
4
4
  "description": "ledger-live CLI version",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,7 +23,6 @@
23
23
  "@ledgerhq/hw-transport-node-ble": "^6.27.19"
24
24
  },
25
25
  "dependencies": {
26
- "@walletconnect/client": "^1.7.1",
27
26
  "asciichart": "^1.5.25",
28
27
  "bignumber.js": "^9.1.1",
29
28
  "bip39": "^3.0.4",
@@ -52,7 +51,7 @@
52
51
  "@ledgerhq/hw-transport-node-hid": "^6.27.21",
53
52
  "@ledgerhq/hw-transport-node-speculos": "^6.27.19",
54
53
  "@ledgerhq/live-network": "^1.1.5",
55
- "@ledgerhq/live-common": "^31.5.0",
54
+ "@ledgerhq/live-common": "^31.6.0-nightly.1",
56
55
  "@ledgerhq/logs": "^6.10.1",
57
56
  "@ledgerhq/types-devices": "^6.22.4"
58
57
  },
@@ -1,62 +0,0 @@
1
- import type { ScanCommonOpts } from "../scan";
2
- type Opts = ScanCommonOpts & Partial<{
3
- walletConnectURI: string;
4
- walletConnectSession: string;
5
- verbose: boolean;
6
- silent: boolean;
7
- }>;
8
- declare const _default: {
9
- description: string;
10
- args: ({
11
- name: string;
12
- alias: string;
13
- type: StringConstructor;
14
- desc: string;
15
- } | {
16
- name: string;
17
- type: StringConstructor;
18
- desc: string;
19
- multiple: boolean;
20
- typeDesc?: undefined;
21
- alias?: undefined;
22
- } | {
23
- name: string;
24
- type: StringConstructor;
25
- typeDesc: string;
26
- desc: string;
27
- multiple?: undefined;
28
- alias?: undefined;
29
- } | {
30
- name: string;
31
- alias: string;
32
- type: NumberConstructor;
33
- desc: string;
34
- multiple?: undefined;
35
- typeDesc?: undefined;
36
- } | {
37
- name: string;
38
- type: NumberConstructor;
39
- desc: string;
40
- multiple?: undefined;
41
- typeDesc?: undefined;
42
- alias?: undefined;
43
- } | {
44
- name: string;
45
- type: StringConstructor;
46
- desc: string;
47
- alias?: undefined;
48
- } | {
49
- name: string;
50
- alias: string;
51
- type: BooleanConstructor;
52
- desc: string;
53
- } | {
54
- name: string;
55
- type: BooleanConstructor;
56
- desc: string;
57
- alias?: undefined;
58
- })[];
59
- job: (opts: Opts) => any;
60
- };
61
- export default _default;
62
- //# sourceMappingURL=walletconnect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"walletconnect.d.ts","sourceRoot":"","sources":["../../src/commands/walletconnect.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAe9C,KAAK,IAAI,GAAG,cAAc,GACxB,OAAO,CAAC;IACN,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAkKS,IAAI;;AA1BlB,wBAwCE"}
@@ -1,270 +0,0 @@
1
- "use strict";
2
- /* eslint-disable no-console */
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
- var __generator = (this && this.__generator) || function (thisArg, body) {
13
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
- function verb(n) { return function (v) { return step([n, v]); }; }
16
- function step(op) {
17
- if (f) throw new TypeError("Generator is already executing.");
18
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
19
- 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;
20
- if (y = 0, t) op = [op[0] & 2, t.value];
21
- switch (op[0]) {
22
- case 0: case 1: t = op; break;
23
- case 4: _.label++; return { value: op[1], done: false };
24
- case 5: _.label++; y = op[1]; op = [0]; continue;
25
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
- default:
27
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
- if (t[2]) _.ops.pop();
32
- _.trys.pop(); continue;
33
- }
34
- op = body.call(thisArg, _);
35
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
- }
38
- };
39
- var __read = (this && this.__read) || function (o, n) {
40
- var m = typeof Symbol === "function" && o[Symbol.iterator];
41
- if (!m) return o;
42
- var i = m.call(o), r, ar = [], e;
43
- try {
44
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
45
- }
46
- catch (error) { e = { error: error }; }
47
- finally {
48
- try {
49
- if (r && !r.done && (m = i["return"])) m.call(i);
50
- }
51
- finally { if (e) throw e.error; }
52
- }
53
- return ar;
54
- };
55
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
56
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
57
- if (ar || !(i in from)) {
58
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
59
- ar[i] = from[i];
60
- }
61
- }
62
- return to.concat(ar || Array.prototype.slice.call(from));
63
- };
64
- var __importDefault = (this && this.__importDefault) || function (mod) {
65
- return (mod && mod.__esModule) ? mod : { "default": mod };
66
- };
67
- Object.defineProperty(exports, "__esModule", { value: true });
68
- /* eslint-disable no-fallthrough */
69
- var scan_1 = require("../scan");
70
- var rxjs_1 = require("rxjs");
71
- var operators_1 = require("rxjs/operators");
72
- var rxjs_2 = require("rxjs");
73
- var logs_1 = require("@ledgerhq/logs");
74
- var client_1 = __importDefault(require("@walletconnect/client"));
75
- var index_1 = require("@ledgerhq/live-common/bridge/index");
76
- var index_2 = require("@ledgerhq/live-common/walletconnect/index");
77
- var deviceAccess_1 = require("@ledgerhq/live-common/hw/deviceAccess");
78
- var index_3 = __importDefault(require("@ledgerhq/live-common/hw/signMessage/index"));
79
- var index_4 = require("@ledgerhq/live-common/families/ethereum/api/index");
80
- var start = function (opts) { return __awaiter(void 0, void 0, void 0, function () {
81
- var account, connector, rejectRequest, approveRequest, handleCallRequest;
82
- return __generator(this, function (_a) {
83
- switch (_a.label) {
84
- case 0: return [4 /*yield*/, (0, scan_1.scan)(opts).pipe((0, operators_1.take)(1)).toPromise()];
85
- case 1:
86
- account = _a.sent();
87
- if (!account) {
88
- throw new Error("No account");
89
- }
90
- (0, logs_1.log)("walletconnect", "account", account);
91
- connector = new client_1.default(opts.walletConnectSession
92
- ? {
93
- session: JSON.parse(opts.walletConnectSession),
94
- }
95
- : {
96
- // Required
97
- uri: opts.walletConnectURI,
98
- // Required
99
- clientMeta: {
100
- description: "LedgerLive CLI",
101
- url: "https://ledger.fr",
102
- icons: ["https://avatars0.githubusercontent.com/u/9784193?s=400&v=4"],
103
- name: "LedgerLive CLI",
104
- },
105
- });
106
- rejectRequest = function (id, message) {
107
- var rejection = {
108
- id: id,
109
- error: {
110
- message: message,
111
- },
112
- };
113
- (0, logs_1.log)("walletconnect", "rejected", rejection);
114
- connector.rejectRequest(rejection);
115
- };
116
- approveRequest = function (id, result) {
117
- var approval = {
118
- id: id,
119
- result: result,
120
- };
121
- (0, logs_1.log)("walletconnect", "approved", approval);
122
- connector.approveRequest(approval);
123
- };
124
- handleCallRequest = function (payload) { return __awaiter(void 0, void 0, void 0, function () {
125
- var wcCallRequest, result, bridge, api, operation;
126
- return __generator(this, function (_a) {
127
- switch (_a.label) {
128
- case 0:
129
- (0, logs_1.log)("walletconnect", "call_request", payload);
130
- return [4 /*yield*/, (0, index_2.parseCallRequest)(account, payload)];
131
- case 1:
132
- wcCallRequest = _a.sent();
133
- bridge = (0, index_1.getAccountBridge)(account);
134
- if (!(wcCallRequest.type === "broadcast")) return [3 /*break*/, 3];
135
- api = (0, index_4.apiForCurrency)(account.currency);
136
- return [4 /*yield*/, api.broadcastTransaction(wcCallRequest.data)];
137
- case 2:
138
- result = _a.sent();
139
- (0, logs_1.log)("walletconnect", "hash", result);
140
- return [2 /*return*/, result];
141
- case 3:
142
- if (!(wcCallRequest.type === "message")) return [3 /*break*/, 5];
143
- (0, logs_1.log)("walletconnect", "message to sign", wcCallRequest.data);
144
- return [4 /*yield*/, (0, deviceAccess_1.withDevice)(opts.device || "")(function (t) {
145
- return (0, rxjs_1.from)((0, index_3.default)(t, account, wcCallRequest.data));
146
- }).toPromise()];
147
- case 4:
148
- result = _a.sent();
149
- result = result.signature;
150
- (0, logs_1.log)("walletconnect", "message signature", result);
151
- return [2 /*return*/, result];
152
- case 5:
153
- if (!(wcCallRequest.type === "transaction")) return [3 /*break*/, 8];
154
- return [4 /*yield*/, bridge
155
- .signOperation({
156
- account: account,
157
- deviceId: opts.device || "",
158
- transaction: wcCallRequest.data,
159
- })
160
- .pipe((0, operators_1.tap)(function (e) { return console.log(e); }), (0, operators_1.first)(function (e) { return e.type === "signed"; }), (0, operators_1.map)(function (e) {
161
- if (e.type === "signed") {
162
- return e.signedOperation;
163
- }
164
- }))
165
- .toPromise()];
166
- case 6:
167
- operation = _a.sent();
168
- (0, logs_1.log)("walletconnect", "operation", operation);
169
- if (wcCallRequest.method === "sign") {
170
- return [2 /*return*/, operation.signature];
171
- }
172
- return [4 /*yield*/, bridge.broadcast({
173
- account: account,
174
- signedOperation: operation,
175
- })];
176
- case 7:
177
- operation = _a.sent();
178
- (0, logs_1.log)("walletconnect", "operation broadcasted", operation);
179
- return [2 /*return*/, operation.hash];
180
- case 8: throw new Error("JSON RPC method not supported");
181
- }
182
- });
183
- }); };
184
- connector.on("session_request", function (error, payload) {
185
- if (error) {
186
- throw error;
187
- }
188
- (0, logs_1.log)("walletconnect", "session_request", payload);
189
- connector.approveSession({
190
- accounts: [account.freshAddress],
191
- chainId: account.currency.ethereumLikeInfo.chainId,
192
- });
193
- });
194
- connector.on("call_request", function (error, payload) { return __awaiter(void 0, void 0, void 0, function () {
195
- var result, e_1;
196
- return __generator(this, function (_a) {
197
- switch (_a.label) {
198
- case 0:
199
- if (error) {
200
- throw error;
201
- }
202
- _a.label = 1;
203
- case 1:
204
- _a.trys.push([1, 3, , 4]);
205
- return [4 /*yield*/, handleCallRequest(payload)];
206
- case 2:
207
- result = _a.sent();
208
- approveRequest(payload.id, result);
209
- return [3 /*break*/, 4];
210
- case 3:
211
- e_1 = _a.sent();
212
- rejectRequest(payload.id, e_1.message);
213
- return [3 /*break*/, 4];
214
- case 4: return [2 /*return*/];
215
- }
216
- });
217
- }); });
218
- connector.on("connect", function (error) {
219
- if (error) {
220
- throw error;
221
- }
222
- (0, logs_1.log)("walletconnect", "connected", JSON.stringify(connector.session).replace(/"/g, "\\\""));
223
- });
224
- return [2 /*return*/];
225
- }
226
- });
227
- }); };
228
- exports.default = {
229
- description: "Create a walletconnect session",
230
- args: __spreadArray(__spreadArray([], __read(scan_1.scanCommonOpts), false), [
231
- {
232
- name: "walletConnectURI",
233
- type: String,
234
- desc: "WallecConnect URI to use.",
235
- },
236
- {
237
- name: "walletConnectSession",
238
- type: String,
239
- desc: "WallecConnect Session to use.",
240
- },
241
- {
242
- name: "verbose",
243
- alias: "v",
244
- type: Boolean,
245
- desc: "verbose mode",
246
- },
247
- {
248
- name: "silent",
249
- type: Boolean,
250
- desc: "do not output the proxy logs",
251
- },
252
- ], false),
253
- job: function (opts) {
254
- return rxjs_2.Observable.create(function (o) {
255
- var unsub = (0, logs_1.listen)(function (l) {
256
- if (opts.verbose) {
257
- o.next(l.type + ": " + l.message);
258
- }
259
- else if (!opts.silent && l.type === "walletconnect") {
260
- o.next(l.message);
261
- }
262
- });
263
- start(opts);
264
- return function () {
265
- unsub();
266
- };
267
- });
268
- },
269
- };
270
- //# sourceMappingURL=walletconnect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"walletconnect.js","sourceRoot":"","sources":["../../src/commands/walletconnect.ts"],"names":[],"mappings":"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"}