@reef-knot/web3-react 1.0.2 → 1.0.4

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.
@@ -13,7 +13,6 @@ export declare enum PROVIDER_NAMES {
13
13
  MATH_WALLET = "MathWallet",
14
14
  TALLY = "Tally",
15
15
  BRAVE = "Brave Wallet",
16
- EXODUS = "Exodus",
17
16
  OPERA = "Opera Crypto Wallet",
18
17
  GAMESTOP = "GameStop Wallet",
19
18
  XDEFI = "XDEFI",
@@ -1 +1 @@
1
- {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/constants/connectors.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,YAAY;IACpB,KAAK,UAAU;IACf,cAAc,kBAAkB;IAChC,WAAW,eAAe;IAC1B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,cAAc,gBAAgB;IAC9B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,WAAW,eAAe;IAC1B,KAAK,UAAU;IACf,KAAK,iBAAiB;IACtB,MAAM,WAAW;IACjB,KAAK,wBAAwB;IAC7B,QAAQ,oBAAoB;IAC5B,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,cAAc,kBAAkB;IAChC,WAAW,eAAe;IAC1B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,cAAc,eAAe;IAC7B,MAAM,WAAW;CAClB"}
1
+ {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/constants/connectors.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,YAAY;IACpB,KAAK,UAAU;IACf,cAAc,kBAAkB;IAChC,WAAW,eAAe;IAC1B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,cAAc,gBAAgB;IAC9B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,WAAW,eAAe;IAC1B,KAAK,UAAU;IACf,KAAK,iBAAiB;IACtB,KAAK,wBAAwB;IAC7B,QAAQ,oBAAoB;IAC5B,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,cAAc,kBAAkB;IAChC,WAAW,eAAe;IAC1B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,cAAc,eAAe;IAC7B,MAAM,WAAW;CAClB"}
@@ -14,7 +14,6 @@ var PROVIDER_NAMES;
14
14
  PROVIDER_NAMES["MATH_WALLET"] = "MathWallet";
15
15
  PROVIDER_NAMES["TALLY"] = "Tally";
16
16
  PROVIDER_NAMES["BRAVE"] = "Brave Wallet";
17
- PROVIDER_NAMES["EXODUS"] = "Exodus";
18
17
  PROVIDER_NAMES["OPERA"] = "Opera Crypto Wallet";
19
18
  PROVIDER_NAMES["GAMESTOP"] = "GameStop Wallet";
20
19
  PROVIDER_NAMES["XDEFI"] = "XDEFI";
@@ -1 +1 @@
1
- {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/context/connectors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,UAAU,EAAE,sBAAsB,CAAC;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,iBAAiB,uCAA8C,CAAC;;AA+E7E,wBAAoE"}
1
+ {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/context/connectors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI5D,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,UAAU,EAAE,sBAAsB,CAAC;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,iBAAiB,uCAA8C,CAAC;;AAkE7E,wBAAoE"}
@@ -8,8 +8,6 @@ import { LedgerHQFrameConnector } from 'web3-ledgerhq-frame-connector';
8
8
  import { LedgerHQConnector } from 'web3-ledgerhq-connector';
9
9
  import { useAutoConnect } from '../hooks/useAutoConnect.js';
10
10
  import { CONNECTOR_NAMES } from '../constants/connectors.js';
11
- import '../helpers/ua.js';
12
- import isUrl from '../helpers/isUrl.js';
13
11
 
14
12
  var ConnectorsContext = /*#__PURE__*/createContext({});
15
13
  var ProviderConnectors = props => {
@@ -26,13 +24,6 @@ var ProviderConnectors = props => {
26
24
  var {
27
25
  supportedChainIds
28
26
  } = useSDK();
29
- // adds BASE_URL to `rpc` object's string values
30
- useMemo(() => Object.entries(rpc).reduce((result, _ref) => {
31
- var [key, value] = _ref;
32
- return Object.assign(Object.assign({}, result), {
33
- [key]: isUrl(value) ? value : BASE_URL + value
34
- });
35
- }, {}), [rpc, BASE_URL]);
36
27
  var connectors = useMemo(() => ({
37
28
  [CONNECTOR_NAMES.INJECTED]: new InjectedConnector({
38
29
  supportedChainIds
@@ -1 +1 @@
1
- {"version":3,"file":"web3.d.ts","sourceRoot":"","sources":["../../src/context/web3.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAOxC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAEvC,OAA2B,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;;AAiED,wBAAyD"}
1
+ {"version":3,"file":"web3.d.ts","sourceRoot":"","sources":["../../src/context/web3.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAO7D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAK7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAGvC,OAA2B,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;;AA6ED,wBAAyD"}
@@ -1,13 +1,23 @@
1
- import { __rest } from '../_virtual/_tslib.js';
2
- import React, { memo } from 'react';
1
+ import { __rest, __awaiter } from '../_virtual/_tslib.js';
2
+ import React, { memo, useState, useEffect } from 'react';
3
3
  import invariant from 'tiny-invariant';
4
4
  import { Web3Provider } from '@ethersproject/providers';
5
5
  import { CHAINS } from '@lido-sdk/constants';
6
6
  import { getStaticRpcBatchProvider } from '@lido-sdk/providers';
7
7
  import { ProviderSDK as ProviderSDK$1 } from '@lido-sdk/react';
8
- import { Web3ReactProvider, useWeb3React } from '@web3-react/core';
8
+ import { Web3ReactProvider } from '@web3-react/core';
9
+ import { useAccount } from 'wagmi';
10
+ import 'tiny-warning';
11
+ import { useWeb3 } from '../hooks/useWeb3.js';
9
12
  import { POLLING_INTERVAL } from '../constants/web3.js';
10
13
  import '../constants/connectors.js';
14
+ import 'wagmi/connectors/walletConnect';
15
+ import '@gnosis.pm/safe-apps-web3-react';
16
+ import '@web3-react/injected-connector';
17
+ import '@web3-react/walletlink-connector';
18
+ import 'web3-ledgerhq-frame-connector';
19
+ import 'web3-ledgerhq-connector';
20
+ import '../helpers/ua.js';
11
21
  import ProviderConnectors from './connectors.js';
12
22
 
13
23
  function getLibrary(provider) {
@@ -28,7 +38,21 @@ var ProviderSDK = props => {
28
38
  chainId = defaultChainId,
29
39
  library,
30
40
  account
31
- } = useWeb3React();
41
+ } = useWeb3();
42
+ var [providerWeb3, setProviderWeb3] = useState(library);
43
+ // attempt to get providerWeb3 from wagmi
44
+ var {
45
+ connector: connectorWagmi,
46
+ isConnected
47
+ } = useAccount();
48
+ useEffect(() => {
49
+ (() => __awaiter(void 0, void 0, void 0, function* () {
50
+ if (isConnected && !providerWeb3 && connectorWagmi) {
51
+ var p = yield connectorWagmi.getProvider();
52
+ setProviderWeb3(getLibrary(p));
53
+ }
54
+ }))();
55
+ }, [connectorWagmi, isConnected, providerWeb3]);
32
56
  invariant(rpc[chainId], "RPC url for chain ".concat(chainId, " is not provided"));
33
57
  invariant(rpc[CHAINS.Mainnet], 'RPC url for mainnet is not provided');
34
58
  var providerRpc = getStaticRpcBatchProvider(chainId, rpc[chainId], 0, pollingInterval);
@@ -36,7 +60,7 @@ var ProviderSDK = props => {
36
60
  return /*#__PURE__*/React.createElement(ProviderSDK$1, Object.assign({
37
61
  chainId: chainId,
38
62
  supportedChainIds: supportedChainIds,
39
- providerWeb3: library,
63
+ providerWeb3: providerWeb3,
40
64
  providerRpc: providerRpc,
41
65
  providerMainnetRpc: providerMainnetRpc,
42
66
  account: account !== null && account !== void 0 ? account : undefined
@@ -12,7 +12,6 @@ export * from './useConnectorTrust';
12
12
  export * from './useConnectorTally';
13
13
  export * from './useConnectorBraveWallet';
14
14
  export * from './useConnectorOperaWallet';
15
- export * from './useConnectorExodus';
16
15
  export * from './useConnectorGamestop';
17
16
  export * from './useConnectorXdefi';
18
17
  export * from './useDisconnect';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoConnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useAutoConnect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,cAAc,eAAgB,sBAAsB,KAAG,IAKnE,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAAgB,sBAAsB,KAAG,IA0CtE,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,IAUvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAO,IAgB3C,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,IAexC,CAAC"}
1
+ {"version":3,"file":"useAutoConnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useAutoConnect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,cAAc,eAAgB,sBAAsB,KAAG,IAKnE,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAAgB,sBAAsB,KAAG,IA2CtE,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,IAwBvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAO,IAgB3C,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,IAexC,CAAC"}
@@ -21,6 +21,9 @@ var useEagerConnector = connectors => {
21
21
  } = useWeb3();
22
22
  var [savedConnector] = useConnectorStorage();
23
23
  var tried = useRef(false);
24
+ var {
25
+ isConnectedViaWagmi
26
+ } = useConnectorInfo();
24
27
  var getEagerConnector = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
25
28
  var {
26
29
  gnosis,
@@ -40,7 +43,7 @@ var useEagerConnector = connectors => {
40
43
  return null;
41
44
  }), [connectors, savedConnector]);
42
45
  useEffect(() => {
43
- if (tried.current || active) return;
46
+ if (isConnectedViaWagmi || tried.current || active) return;
44
47
  (() => __awaiter(void 0, void 0, void 0, function* () {
45
48
  tried.current = true;
46
49
  var connector = yield getEagerConnector();
@@ -51,7 +54,7 @@ var useEagerConnector = connectors => {
51
54
  warning(false, 'Connector is not activated');
52
55
  }
53
56
  }))();
54
- }, [activate, getEagerConnector, active]);
57
+ }, [activate, getEagerConnector, active, isConnectedViaWagmi]);
55
58
  };
56
59
  var useSaveConnectorToLS = () => {
57
60
  var [, saveConnector] = useConnectorStorage();
@@ -59,13 +62,16 @@ var useSaveConnectorToLS = () => {
59
62
  isInjected,
60
63
  isDappBrowser,
61
64
  isCoinbase,
62
- isLedger
65
+ isLedger,
66
+ isConnectedViaWagmi
63
67
  } = useConnectorInfo();
64
68
  useEffect(() => {
65
- if (isInjected && !isDappBrowser) return saveConnector('injected');
66
- if (isCoinbase) return saveConnector('coinbase');
67
- if (isLedger) return saveConnector('ledger');
68
- }, [isLedger, isCoinbase, isInjected, isDappBrowser, saveConnector]);
69
+ if (!isConnectedViaWagmi) {
70
+ if (isInjected && !isDappBrowser) return saveConnector('injected');
71
+ if (isCoinbase) return saveConnector('coinbase');
72
+ if (isLedger) return saveConnector('ledger');
73
+ }
74
+ }, [isLedger, isCoinbase, isInjected, isDappBrowser, saveConnector, isConnectedViaWagmi]);
69
75
  };
70
76
  var useDeleteConnectorFromLS = () => {
71
77
  var [, saveConnector] = useConnectorStorage();
@@ -1,8 +1,6 @@
1
- import { CONNECTOR_NAMES } from '../constants';
2
- import { Connector } from '../context';
3
1
  type ConnectorInfo = {
4
2
  providerName?: string;
5
- connectorName?: Connector | CONNECTOR_NAMES.WALLET_CONNECT;
3
+ isConnectedViaWagmi: boolean;
6
4
  isGnosis: boolean;
7
5
  isLedger: boolean;
8
6
  isLedgerLive: boolean;
@@ -17,7 +15,6 @@ type ConnectorInfo = {
17
15
  isTally: boolean;
18
16
  isBraveWallet: boolean;
19
17
  isOperaWallet: boolean;
20
- isExodus: boolean;
21
18
  isGamestop: boolean;
22
19
  isXdefi: boolean;
23
20
  isDappBrowser: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useConnectorInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectorInfo.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAkB,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAkBvC,KAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC;IAC3D,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,aAsHnC,CAAC"}
1
+ {"version":3,"file":"useConnectorInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectorInfo.ts"],"names":[],"mappings":"AAyBA,KAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,aAoGnC,CAAC"}
@@ -6,8 +6,8 @@ import { WalletLinkConnector } from '@web3-react/walletlink-connector';
6
6
  import { LedgerHQFrameConnector } from 'web3-ledgerhq-frame-connector';
7
7
  import { LedgerHQConnector } from 'web3-ledgerhq-connector';
8
8
  import { useWeb3 } from './useWeb3.js';
9
- import { PROVIDER_NAMES, CONNECTOR_NAMES } from '../constants/connectors.js';
10
- import { isCoinbaseProvider, isDappBrowserProvider, isMetamaskProvider, isCoin98Provider, isMathWalletProvider, isImTokenProvider, isTrustProvider, isTallyProvider, isBraveWalletProvider, isOperaWalletProvider, isExodusProvider, isGamestopProvider, isXdefiProvider, isZerionProvider } from '../helpers/providerDetectors.js';
9
+ import { PROVIDER_NAMES } from '../constants/connectors.js';
10
+ import { isCoinbaseProvider, isDappBrowserProvider, isMetamaskProvider, isCoin98Provider, isMathWalletProvider, isImTokenProvider, isTrustProvider, isTallyProvider, isBraveWalletProvider, isOperaWalletProvider, isGamestopProvider, isXdefiProvider, isZerionProvider } from '../helpers/providerDetectors.js';
11
11
  import '../helpers/ua.js';
12
12
 
13
13
  var useConnectorInfo = () => {
@@ -45,11 +45,11 @@ var useConnectorInfo = () => {
45
45
  var isTally = isInjected && isTallyProvider();
46
46
  var isBraveWallet = isInjected && isBraveWalletProvider();
47
47
  var isOperaWallet = isInjected && isOperaWalletProvider();
48
- var isExodus = isInjected && isExodusProvider();
49
48
  var isGamestop = isInjected && isGamestopProvider();
50
49
  var isXdefi = isInjected && isXdefiProvider();
51
50
  var isZerion = isInjected && isZerionProvider();
52
51
  var providerName = (() => {
52
+ if (isConnectedViaWagmi && wagmiConnector.name) return wagmiConnector.name;
53
53
  if (isGnosis) return PROVIDER_NAMES.GNOSIS;
54
54
  if (isLedger) return PROVIDER_NAMES.LEDGER;
55
55
  if (isLedgerLive) return PROVIDER_NAMES.LEDGER_HQ_LIVE;
@@ -60,7 +60,6 @@ var useConnectorInfo = () => {
60
60
  // The order of wallets checks here is important.
61
61
  // Most "aggressive" wallet, which overrides other wallets, goes first.
62
62
  if (isTally) return PROVIDER_NAMES.TALLY;
63
- if (isExodus) return PROVIDER_NAMES.EXODUS;
64
63
  if (isXdefi) return PROVIDER_NAMES.XDEFI;
65
64
  if (isGamestop) return PROVIDER_NAMES.GAMESTOP;
66
65
  if (isMathWallet) return PROVIDER_NAMES.MATH_WALLET;
@@ -78,21 +77,9 @@ var useConnectorInfo = () => {
78
77
  if (isInjected) return PROVIDER_NAMES.INJECTED;
79
78
  return undefined;
80
79
  })();
81
- var connectorName = (() => {
82
- if (isCoinbase) return CONNECTOR_NAMES.COINBASE;
83
- if (isGnosis) return CONNECTOR_NAMES.GNOSIS;
84
- if (isLedger) return CONNECTOR_NAMES.LEDGER;
85
- if (isLedgerLive) return CONNECTOR_NAMES.LEDGER_HQ_LIVE;
86
- if (isWalletConnect) return CONNECTOR_NAMES.WALLET_CONNECT;
87
- // General providers which doesn't specify what exact wallet is being used.
88
- // Works as a fallback.
89
- if (isWalletLink) return CONNECTOR_NAMES.WALLET_LINK;
90
- if (isInjected) return CONNECTOR_NAMES.INJECTED;
91
- return undefined;
92
- })();
93
80
  return {
94
- connectorName,
95
81
  providerName,
82
+ isConnectedViaWagmi,
96
83
  isGnosis,
97
84
  isLedger,
98
85
  isLedgerLive,
@@ -107,7 +94,6 @@ var useConnectorInfo = () => {
107
94
  isTally,
108
95
  isBraveWallet,
109
96
  isOperaWallet,
110
- isExodus,
111
97
  isGamestop,
112
98
  isXdefi,
113
99
  isDappBrowser,
@@ -5,7 +5,16 @@ import '@lido-sdk/constants';
5
5
  import '@lido-sdk/providers';
6
6
  import '@lido-sdk/react';
7
7
  import '@web3-react/core';
8
+ import 'wagmi';
9
+ import 'tiny-warning';
8
10
  import '../constants/connectors.js';
11
+ import 'wagmi/connectors/walletConnect';
12
+ import '@gnosis.pm/safe-apps-web3-react';
13
+ import '@web3-react/injected-connector';
14
+ import '@web3-react/walletlink-connector';
15
+ import 'web3-ledgerhq-frame-connector';
16
+ import 'web3-ledgerhq-connector';
17
+ import '../helpers/ua.js';
9
18
  import { ConnectorsContext } from '../context/connectors.js';
10
19
 
11
20
  var useConnectors = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useDisconnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useDisconnect.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,kBAAkB;gBACjB,MAAM,IAAI;CAgBvB,CAAC;AAEF,eAAO,MAAM,aAAa;wBACL,IAAI;CAWxB,CAAC"}
1
+ {"version":3,"file":"useDisconnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useDisconnect.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB;gBACjB,MAAM,IAAI;CAgBvB,CAAC;AAEF,eAAO,MAAM,aAAa;wBACL,IAAI;CAWxB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { __awaiter } from '../_virtual/_tslib.js';
2
2
  import { useCallback } from 'react';
3
+ import { useDisconnect as useDisconnect$1 } from 'wagmi';
3
4
  import { useWeb3 } from './useWeb3.js';
4
5
  import { useConnectorInfo } from './useConnectorInfo.js';
5
6
 
@@ -9,16 +10,18 @@ var useForceDisconnect = () => {
9
10
  connector
10
11
  } = useWeb3();
11
12
  var extendedConnector = connector;
13
+ var {
14
+ disconnectAsync: wagmiDisconnect
15
+ } = useDisconnect$1();
12
16
  var disconnect = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
13
17
  var _a;
14
- try {
15
- deactivate();
16
- extendedConnector === null || extendedConnector === void 0 ? void 0 : extendedConnector.deactivate();
17
- yield (_a = extendedConnector === null || extendedConnector === void 0 ? void 0 : extendedConnector.close) === null || _a === void 0 ? void 0 : _a.call(extendedConnector);
18
- } catch (error) {
19
- //
20
- }
21
- }), [deactivate, extendedConnector]);
18
+ // disconnect wallets connected through web3-react connectors
19
+ deactivate();
20
+ extendedConnector === null || extendedConnector === void 0 ? void 0 : extendedConnector.deactivate();
21
+ yield (_a = extendedConnector === null || extendedConnector === void 0 ? void 0 : extendedConnector.close) === null || _a === void 0 ? void 0 : _a.call(extendedConnector);
22
+ // disconnect wallets connected through wagmi connectors
23
+ yield wagmiDisconnect();
24
+ }), [deactivate, extendedConnector, wagmiDisconnect]);
22
25
  return {
23
26
  disconnect
24
27
  };
package/dist/index.js CHANGED
@@ -17,7 +17,6 @@ export { useConnectorTrust } from './hooks/useConnectorTrust.js';
17
17
  export { useConnectorTally } from './hooks/useConnectorTally.js';
18
18
  export { useConnectorBraveWallet } from './hooks/useConnectorBraveWallet.js';
19
19
  export { useConnectorOperaWallet } from './hooks/useConnectorOperaWallet.js';
20
- export { useConnectorExodus } from './hooks/useConnectorExodus.js';
21
20
  export { useConnectorGamestop } from './hooks/useConnectorGamestop.js';
22
21
  export { useConnectorXdefi } from './hooks/useConnectorXdefi.js';
23
22
  export { useDisconnect, useForceDisconnect } from './hooks/useDisconnect.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reef-knot/web3-react",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -82,6 +82,6 @@
82
82
  "@walletconnect/ethereum-provider": "^1.8.0",
83
83
  "react": ">=17",
84
84
  "ua-parser-js": "^1.0.33",
85
- "wagmi": "^0.11.5"
85
+ "wagmi": "^0.11.7"
86
86
  }
87
87
  }
@@ -1,9 +0,0 @@
1
- import { InjectedConnector } from '@web3-react/injected-connector';
2
- import { ConnectorHookArgs } from './types';
3
- type ConnectorHookResult = {
4
- connect: () => Promise<void>;
5
- connector: InjectedConnector;
6
- };
7
- export declare const useConnectorExodus: (args?: ConnectorHookArgs) => ConnectorHookResult;
8
- export {};
9
- //# sourceMappingURL=useConnectorExodus.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useConnectorExodus.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectorExodus.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAKnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAIF,eAAO,MAAM,kBAAkB,UACtB,iBAAiB,KACvB,mBA2BF,CAAC"}
@@ -1,47 +0,0 @@
1
- import { __awaiter } from '../_virtual/_tslib.js';
2
- import invariant from 'tiny-invariant';
3
- import warning from 'tiny-warning';
4
- import { useCallback } from 'react';
5
- import { useConnectors } from './useConnectors.js';
6
- import { useWeb3 } from './useWeb3.js';
7
- import { hasInjected, isExodusProvider } from '../helpers/providerDetectors.js';
8
- import '../helpers/ua.js';
9
- import { openWindow } from '../helpers/openWindow.js';
10
- import { useForceDisconnect } from './useDisconnect.js';
11
-
12
- var WALLET_URL = 'https://www.exodus.com/browser-extension/';
13
- var useConnectorExodus = args => {
14
- var {
15
- injected
16
- } = useConnectors();
17
- var {
18
- activate
19
- } = useWeb3();
20
- var {
21
- disconnect
22
- } = useForceDisconnect();
23
- var onConnect = args === null || args === void 0 ? void 0 : args.onConnect;
24
- var suggestApp = useCallback(() => {
25
- try {
26
- openWindow(WALLET_URL);
27
- } catch (error) {
28
- warning(false, 'Failed to open the link');
29
- }
30
- }, []);
31
- var connect = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
32
- invariant(injected, 'Connector is required');
33
- if (hasInjected() && isExodusProvider()) {
34
- yield disconnect();
35
- yield activate(injected);
36
- onConnect === null || onConnect === void 0 ? void 0 : onConnect();
37
- } else {
38
- suggestApp();
39
- }
40
- }), [injected, disconnect, activate, onConnect, suggestApp]);
41
- return {
42
- connect,
43
- connector: injected
44
- };
45
- };
46
-
47
- export { useConnectorExodus };