@reef-knot/ledger-connector 4.1.1 → 4.1.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/hid/connector.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,WAAW,cAAc,CAAC;AACvC,eAAO,MAAM,IAAI,WAAW,CAAC;AAG7B,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,EACH,YAAY,GACb,EAAE;IACD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,YAAY,EAAE,KAAK,CAAC;CACrB,yGAoFA;yBA1Fe,kBAAkB"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/hid/connector.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,WAAW,cAAc,CAAC;AACvC,eAAO,MAAM,IAAI,WAAW,CAAC;AAG7B,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,EACH,YAAY,GACb,EAAE;IACD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,YAAY,EAAE,KAAK,CAAC;CACrB,yGAuFA;yBA7Fe,kBAAkB"}
@@ -1,6 +1,6 @@
1
1
  import { __awaiter } from '../_virtual/_tslib.js';
2
2
  import { createConnector, ChainNotConfiguredError, ConnectorNotFoundError } from 'wagmi';
3
- import { checkError } from './helpers.js';
3
+ import { checkError, clearLedgerDerivationPath } from './helpers.js';
4
4
 
5
5
  const idLedgerHid = 'ledgerHID';
6
6
  const name = 'Ledger';
@@ -53,9 +53,9 @@ function ledgerHIDConnector({
53
53
  disconnect() {
54
54
  return __awaiter(this, void 0, void 0, function* () {
55
55
  // Handles programmatic disconnect.
56
- // We don't need to do anything specific for HID Ledger connection in this case.
57
56
  const provider = yield this.getProvider();
58
57
  provider.removeListener('disconnect', this.onDisconnect);
58
+ clearLedgerDerivationPath();
59
59
  });
60
60
  },
61
61
  getAccounts() {
@@ -82,7 +82,10 @@ function ledgerHIDConnector({
82
82
  if (!provider) throw new ConnectorNotFoundError();
83
83
  const [account] = yield this.getAccounts();
84
84
  return !!account;
85
- } catch (_a) {
85
+ } catch (e) {
86
+ // The errors caught here are generally expected in most use cases.
87
+ // However, unexpected errors may still occur, so they should at least be logged to the console.
88
+ console.error(e);
86
89
  return false;
87
90
  }
88
91
  });
@@ -0,0 +1,2 @@
1
+ export declare const LS_KEY_DERIVATION_PATH = "reef-knot_ledger-derivation-path";
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/hid/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,qCAAqC,CAAC"}
@@ -0,0 +1,3 @@
1
+ const LS_KEY_DERIVATION_PATH = 'reef-knot_ledger-derivation-path';
2
+
3
+ export { LS_KEY_DERIVATION_PATH };
@@ -9,4 +9,5 @@ export declare const hasEIP1559: (tx: {
9
9
  export declare const toNumber: (value: BigNumberish | undefined | null) => number | undefined;
10
10
  export declare const convertToUnsigned: (tx: TransactionRequestExtended) => Promise<UnsignedTransactionStrict>;
11
11
  export declare const checkError: (error: any) => never;
12
+ export declare const clearLedgerDerivationPath: () => void;
12
13
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/hid/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEhF,eAAO,MAAM,cAAc,eAM1B,CAAC;AAEF,eAAO,MAAM,UAAU,OAAQ;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oBAAoB,CAAC,EAAE,YAAY,CAAC;CACrC,YAIA,CAAC;AAEF,eAAO,MAAM,QAAQ,UACZ,YAAY,GAAG,SAAS,GAAG,IAAI,KACrC,MAAM,GAAG,SAEX,CAAC;AAEF,eAAO,MAAM,iBAAiB,OACxB,0BAA0B,KAC7B,OAAO,CAAC,yBAAyB,CAgCnC,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,GAAG,KAAG,KAmBvC,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/hid/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAGhF,eAAO,MAAM,cAAc,eAM1B,CAAC;AAEF,eAAO,MAAM,UAAU,OAAQ;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oBAAoB,CAAC,EAAE,YAAY,CAAC;CACrC,YAIA,CAAC;AAEF,eAAO,MAAM,QAAQ,UACZ,YAAY,GAAG,SAAS,GAAG,IAAI,KACrC,MAAM,GAAG,SAEX,CAAC;AAEF,eAAO,MAAM,iBAAiB,OACxB,0BAA0B,KAC7B,OAAO,CAAC,yBAAyB,CAgCnC,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,GAAG,KAAG,KAmBvC,CAAC;AAEF,eAAO,MAAM,yBAAyB,YAErC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { __awaiter } from '../_virtual/_tslib.js';
2
2
  import { BigNumber } from '@ethersproject/bignumber';
3
3
  import { resolveProperties } from '@ethersproject/properties';
4
+ import { LS_KEY_DERIVATION_PATH } from './constants.js';
4
5
 
5
6
  const hasEIP1559 = tx => {
6
7
  return tx.type === 2 || tx.maxFeePerGas != null || tx.maxPriorityFeePerGas != null;
@@ -59,5 +60,8 @@ const checkError = error => {
59
60
  }
60
61
  throw error;
61
62
  };
63
+ const clearLedgerDerivationPath = () => {
64
+ window === null || window === void 0 ? void 0 : window.localStorage.removeItem(LS_KEY_DERIVATION_PATH);
65
+ };
62
66
 
63
- export { checkError, convertToUnsigned, hasEIP1559, toNumber };
67
+ export { checkError, clearLedgerDerivationPath, convertToUnsigned, hasEIP1559, toNumber };
@@ -1,3 +1,3 @@
1
1
  export { idLedgerHid, ledgerHIDConnector } from './connector';
2
- export { LS_KEY_DERIVATION_PATH } from './signer';
2
+ export { LS_KEY_DERIVATION_PATH } from './constants';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
@@ -6,6 +6,7 @@ export declare class LedgerHQProvider extends JsonRpcBatchProvider {
6
6
  device?: HIDDevice;
7
7
  transport?: typeof TransportWebHID;
8
8
  constructor(...args: any[]);
9
+ loadTransport(): Promise<void>;
9
10
  getSigner(): LedgerHQSigner;
10
11
  listAccounts(): Promise<Array<string>>;
11
12
  detectNetwork(): Promise<Network>;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/hid/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,eAAe,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C,qBAAa,gBAAiB,SAAQ,oBAAoB;IACjD,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,SAAS,CAAC,EAAE,OAAO,eAAe,CAAC;gBAE9B,GAAG,IAAI,EAAE,GAAG,EAAE;IAK1B,SAAS,IAAI,cAAc;IAI3B,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAItC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;IAcxC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IA4BzB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,OAAO,CAAC,EACZ,MAAM,EACN,MAAM,GACP,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC;CA0BrB"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/hid/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,eAAe,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C,qBAAa,gBAAiB,SAAQ,oBAAoB;IACjD,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,SAAS,CAAC,EAAE,OAAO,eAAe,CAAC;gBAE9B,GAAG,IAAI,EAAE,GAAG,EAAE;IAKpB,aAAa;IASnB,SAAS,IAAI,cAAc;IAI3B,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAItC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;IAcxC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAyBzB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,OAAO,CAAC,EACZ,MAAM,EACN,MAAM,GACP,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC;CA0BrB"}
@@ -9,6 +9,16 @@ class LedgerHQProvider extends JsonRpcBatchProvider {
9
9
  super(...args);
10
10
  this.signer = this.getSigner();
11
11
  }
12
+ loadTransport() {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ if (!this.transport) {
15
+ const {
16
+ default: TransportWebHID
17
+ } = yield import('@ledgerhq/hw-transport-webhid');
18
+ this.transport = TransportWebHID;
19
+ }
20
+ });
21
+ }
12
22
  getSigner() {
13
23
  return new LedgerHQSigner(this);
14
24
  }
@@ -21,7 +31,7 @@ class LedgerHQProvider extends JsonRpcBatchProvider {
21
31
  getTransport() {
22
32
  return __awaiter(this, void 0, void 0, function* () {
23
33
  var _a;
24
- invariant(this.transport, 'Transport is not defined');
34
+ yield this.loadTransport();
25
35
  try {
26
36
  const transportInstance = yield (_a = this.transport) === null || _a === void 0 ? void 0 : _a.create();
27
37
  this.device = transportInstance.device;
@@ -34,10 +44,7 @@ class LedgerHQProvider extends JsonRpcBatchProvider {
34
44
  enable() {
35
45
  return __awaiter(this, void 0, void 0, function* () {
36
46
  try {
37
- const {
38
- default: TransportWebHID
39
- } = yield import('@ledgerhq/hw-transport-webhid');
40
- this.transport = TransportWebHID;
47
+ yield this.loadTransport();
41
48
  const {
42
49
  hid
43
50
  } = window.navigator;
@@ -6,14 +6,13 @@ import { Signer, TypedDataDomain, TypedDataField, TypedDataSigner } from '@ether
6
6
  import { UnsignedTransaction } from '@ethersproject/transactions';
7
7
  import { Bytes } from '@ethersproject/bytes';
8
8
  import type { LedgerHQProvider } from './provider';
9
- import { UnsignedTransactionStrict } from './types';
10
- export declare const LS_KEY_DERIVATION_PATH = "reef-knot_ledger-derivation-path";
9
+ import type { UnsignedTransactionStrict } from './types';
11
10
  export declare class LedgerHQSigner extends Signer implements TypedDataSigner {
12
- readonly path: string;
13
11
  readonly provider: LedgerHQProvider;
12
+ get path(): string;
14
13
  _index: number;
15
14
  _address: string;
16
- constructor(provider: LedgerHQProvider, path?: string);
15
+ constructor(provider: LedgerHQProvider);
17
16
  withEthApp<T>(callback: (eth: Eth) => T): Promise<T>;
18
17
  getAddress(): Promise<string>;
19
18
  signMessage(message: Bytes | string): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/hid/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAsB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EACL,MAAM,EACN,eAAe,EACf,cAAc,EACd,eAAe,EAChB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAa,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,OAAO,EAAE,KAAK,EAA0B,MAAM,sBAAsB,CAAC;AAGrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD,eAAO,MAAM,sBAAsB,qCAAqC,CAAC;AAGzE,qBAAa,cAAe,SAAQ,MAAO,YAAW,eAAe;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC,MAAM,SAAK;IAEX,QAAQ,SAAM;gBAEF,QAAQ,EAAE,gBAAgB,EAAE,IAAI,SAAK;IAW3C,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAiBpD,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAS7B,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBrD,gBAAgB,CACpB,WAAW,EAAE,yBAAyB,GACrC,OAAO,CAAC,mBAAmB,CAAC;IAczB,eAAe,CACnB,WAAW,EAAE,kBAAkB,EAC/B,UAAU,GAAE,UAAe,EAC3B,gBAAgB,GAAE,gBAAqB,GACtC,OAAO,CAAC,MAAM,CAAC;IAuBlB,OAAO,CAAC,QAAQ,EAAE,gBAAgB,GAAG,aAAa;IAKlD,gBAAgB,IAAI,aAAa;IAKjC,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKrC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1B,kBAAkB,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7D,cAAc,CAClB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,EAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC;IA8BZ,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;CAOhE"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/hid/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAsB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EACL,MAAM,EACN,eAAe,EACf,cAAc,EACd,eAAe,EAChB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAa,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,OAAO,EAAE,KAAK,EAA0B,MAAM,sBAAsB,CAAC;AAMrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAIzD,qBAAa,cAAe,SAAQ,MAAO,YAAW,eAAe;IACnE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC,IAAI,IAAI,WAKP;IAGD,MAAM,SAAK;IACX,QAAQ,SAAM;gBAEF,QAAQ,EAAE,gBAAgB;IAKhC,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAiBpD,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAM7B,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBrD,gBAAgB,CACpB,WAAW,EAAE,yBAAyB,GACrC,OAAO,CAAC,mBAAmB,CAAC;IAczB,eAAe,CACnB,WAAW,EAAE,kBAAkB,EAC/B,UAAU,GAAE,UAAe,EAC3B,gBAAgB,GAAE,gBAAqB,GACtC,OAAO,CAAC,MAAM,CAAC;IAuBlB,OAAO,CAAC,QAAQ,EAAE,gBAAgB,GAAG,aAAa;IAKlD,gBAAgB,IAAI,aAAa;IAKjC,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKrC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1B,kBAAkB,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7D,cAAc,CAClB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,EAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC;IA8BZ,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;CAOhE"}
@@ -6,19 +6,21 @@ import { toUtf8Bytes } from '@ethersproject/strings';
6
6
  import { hexlify, joinSignature } from '@ethersproject/bytes';
7
7
  import { _TypedDataEncoder } from '@ethersproject/hash';
8
8
  import { checkError, toNumber, convertToUnsigned } from './helpers.js';
9
+ import { LS_KEY_DERIVATION_PATH } from './constants.js';
9
10
 
10
- const LS_KEY_DERIVATION_PATH = 'reef-knot_ledger-derivation-path';
11
11
  const defaultPath = "m/44'/60'/0'/0/0";
12
12
  class LedgerHQSigner extends Signer {
13
- constructor(provider, path = '') {
13
+ get path() {
14
+ if (typeof window !== 'undefined') {
15
+ return window.localStorage.getItem(LS_KEY_DERIVATION_PATH) || defaultPath;
16
+ }
17
+ return defaultPath;
18
+ }
19
+ constructor(provider) {
14
20
  super();
21
+ // required by JsonRpcSigner type
15
22
  this._index = 0;
16
23
  this._address = '';
17
- let pathFromLS;
18
- if (typeof window !== 'undefined') {
19
- pathFromLS = window.localStorage.getItem(LS_KEY_DERIVATION_PATH);
20
- }
21
- this.path = path || pathFromLS || defaultPath;
22
24
  this.provider = provider;
23
25
  }
24
26
  withEthApp(callback) {
@@ -41,10 +43,8 @@ class LedgerHQSigner extends Signer {
41
43
  }
42
44
  getAddress() {
43
45
  return __awaiter(this, void 0, void 0, function* () {
44
- if (!this._address) {
45
- const account = yield this.withEthApp(eth => eth.getAddress(this.path));
46
- this._address = this.provider.formatter.address(account.address);
47
- }
46
+ const account = yield this.withEthApp(eth => eth.getAddress(this.path));
47
+ this._address = this.provider.formatter.address(account.address);
48
48
  return this._address;
49
49
  });
50
50
  }
@@ -110,7 +110,7 @@ class LedgerHQSigner extends Signer {
110
110
  });
111
111
  }
112
112
  connect(provider) {
113
- return new LedgerHQSigner(provider, this.path);
113
+ return new LedgerHQSigner(provider);
114
114
  }
115
115
  // eslint-disable-next-line class-methods-use-this
116
116
  connectUnchecked() {
@@ -184,4 +184,4 @@ class LedgerHQSigner extends Signer {
184
184
  }
185
185
  }
186
186
 
187
- export { LS_KEY_DERIVATION_PATH, LedgerHQSigner };
187
+ export { LedgerHQSigner };
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/iframe/connector.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAIrC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,IAAI,gBAAgB,CAAC;AAElC,KAAK,uBAAuB,GAAG;IAC7B,OAAO,CAAC,EAAE,6BAA6B,CAAC;IACxC,YAAY,EAAE,KAAK,CAAC;CACrB,CAAC;AAGF,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,YAAY,GACb,EAAE,uBAAuB,6GAgJzB;yBAnJe,mBAAmB"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/iframe/connector.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAIrC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,IAAI,gBAAgB,CAAC;AAElC,KAAK,uBAAuB,GAAG;IAC7B,OAAO,CAAC,EAAE,6BAA6B,CAAC;IACxC,YAAY,EAAE,KAAK,CAAC;CACrB,CAAC;AAGF,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,YAAY,GACb,EAAE,uBAAuB,6GA0IzB;yBA7Ie,mBAAmB"}
@@ -41,6 +41,7 @@ function ledgerLiveConnector({
41
41
  } = {}) {
42
42
  try {
43
43
  const provider = yield this.getProvider();
44
+ // works without bind because it's an obj created(scoped) in a function
44
45
  provider.on('accountsChanged', this.onAccountsChanged);
45
46
  provider.on('chainChanged', this.onChainChanged);
46
47
  emitter.emit('message', {
@@ -144,16 +145,17 @@ function ledgerLiveConnector({
144
145
  }
145
146
  });
146
147
  },
147
- AccountsChanged(accounts) {
148
+ onAccountsChanged(accounts) {
148
149
  if (accounts.length === 0 || !accounts[0]) {
149
150
  emitter.emit('disconnect');
151
+ void this.disconnect();
150
152
  } else {
151
153
  emitter.emit('change', {
152
154
  accounts
153
155
  });
154
156
  }
155
157
  },
156
- ChainChanged(chainId) {
158
+ onChainChanged(chainId) {
157
159
  emitter.emit('change', {
158
160
  chainId: Number(chainId)
159
161
  });
@@ -167,12 +169,6 @@ function ledgerLiveConnector({
167
169
  },
168
170
  onDisconnect() {
169
171
  emitter.emit('disconnect');
170
- },
171
- onAccountsChanged() {
172
- // NOOP
173
- },
174
- onChainChanged() {
175
- // NOOP
176
172
  }
177
173
  }));
178
174
  }
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { idLedgerLive, ledgerLiveConnector, name } from './iframe/connector.js';
2
2
  export { isIframe, isLedgerLive } from './iframe/helpers.js';
3
3
  export { idLedgerHid, ledgerHIDConnector } from './hid/connector.js';
4
- export { LS_KEY_DERIVATION_PATH } from './hid/signer.js';
4
+ export { LS_KEY_DERIVATION_PATH } from './hid/constants.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reef-knot/ledger-connector",
3
- "version": "4.1.1",
3
+ "version": "4.1.3",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {