@reef-knot/web3-react 1.13.1 → 2.1.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.
Files changed (71) hide show
  1. package/README.md +4 -109
  2. package/dist/_virtual/_tslib.js +1 -13
  3. package/dist/helpers/index.d.ts +1 -3
  4. package/dist/helpers/index.d.ts.map +1 -1
  5. package/dist/helpers/index.js +2 -4
  6. package/dist/helpers/providerDetectors.d.ts +0 -28
  7. package/dist/helpers/providerDetectors.d.ts.map +1 -1
  8. package/dist/helpers/providerDetectors.js +6 -114
  9. package/dist/helpers/unsupportedChainError.d.ts +4 -2
  10. package/dist/helpers/unsupportedChainError.d.ts.map +1 -1
  11. package/dist/helpers/unsupportedChainError.js +7 -13
  12. package/dist/helpers/{ua.d.ts → userAgents.d.ts} +1 -6
  13. package/dist/helpers/userAgents.d.ts.map +1 -0
  14. package/dist/helpers/userAgents.js +11 -0
  15. package/dist/hooks/index.d.ts +0 -3
  16. package/dist/hooks/index.d.ts.map +1 -1
  17. package/dist/hooks/useConnectorError.d.ts.map +1 -1
  18. package/dist/hooks/useConnectorError.js +5 -6
  19. package/dist/hooks/useConnectorInfo.d.ts +3 -6
  20. package/dist/hooks/useConnectorInfo.d.ts.map +1 -1
  21. package/dist/hooks/useConnectorInfo.js +12 -56
  22. package/dist/hooks/useDisconnect.d.ts +7 -1
  23. package/dist/hooks/useDisconnect.d.ts.map +1 -1
  24. package/dist/hooks/useDisconnect.js +11 -17
  25. package/dist/hooks/useSupportedChains.d.ts.map +1 -1
  26. package/dist/hooks/useSupportedChains.js +3 -27
  27. package/dist/hooks/useWeb3.d.ts +14 -2
  28. package/dist/hooks/useWeb3.d.ts.map +1 -1
  29. package/dist/hooks/useWeb3.js +25 -13
  30. package/dist/index.d.ts +0 -2
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +0 -9
  33. package/package.json +6 -24
  34. package/dist/constants/connectors.d.ts +0 -22
  35. package/dist/constants/connectors.d.ts.map +0 -1
  36. package/dist/constants/connectors.js +0 -25
  37. package/dist/constants/index.d.ts +0 -4
  38. package/dist/constants/index.d.ts.map +0 -1
  39. package/dist/constants/storage.d.ts +0 -2
  40. package/dist/constants/storage.d.ts.map +0 -1
  41. package/dist/constants/storage.js +0 -3
  42. package/dist/constants/web3.d.ts +0 -2
  43. package/dist/constants/web3.d.ts.map +0 -1
  44. package/dist/constants/web3.js +0 -3
  45. package/dist/context/connectors.d.ts +0 -22
  46. package/dist/context/connectors.d.ts.map +0 -1
  47. package/dist/context/connectors.js +0 -41
  48. package/dist/context/index.d.ts +0 -5
  49. package/dist/context/index.d.ts.map +0 -1
  50. package/dist/context/web3.d.ts +0 -16
  51. package/dist/context/web3.d.ts.map +0 -1
  52. package/dist/context/web3.js +0 -127
  53. package/dist/helpers/isUrl.d.ts +0 -2
  54. package/dist/helpers/isUrl.d.ts.map +0 -1
  55. package/dist/helpers/isUrl.js +0 -6
  56. package/dist/helpers/openWindow.d.ts +0 -2
  57. package/dist/helpers/openWindow.d.ts.map +0 -1
  58. package/dist/helpers/openWindow.js +0 -6
  59. package/dist/helpers/ua.d.ts.map +0 -1
  60. package/dist/helpers/ua.js +0 -20
  61. package/dist/hooks/types.d.ts +0 -4
  62. package/dist/hooks/types.d.ts.map +0 -1
  63. package/dist/hooks/useAutoConnect.d.ts +0 -7
  64. package/dist/hooks/useAutoConnect.d.ts.map +0 -1
  65. package/dist/hooks/useAutoConnect.js +0 -132
  66. package/dist/hooks/useConnectorStorage.d.ts +0 -4
  67. package/dist/hooks/useConnectorStorage.d.ts.map +0 -1
  68. package/dist/hooks/useConnectorStorage.js +0 -7
  69. package/dist/hooks/useConnectors.d.ts +0 -3
  70. package/dist/hooks/useConnectors.d.ts.map +0 -1
  71. package/dist/hooks/useConnectors.js +0 -8
package/README.md CHANGED
@@ -1,110 +1,5 @@
1
- # Web3 react helpers
1
+ ### @reef-knot/web3-react
2
+ This is a legacy package, which previously included various helpers and wrappers for the `web3-react` library.
2
3
 
3
- Web3 react helpers for Lido Finance projects.
4
-
5
- ## Provider
6
-
7
- To use hooks from `@lido-sdk/web3-react` you need to wrap your app with `ProviderWeb3`. ProviderWeb3 also contains `ProviderSDK` from `@lido-sdk/react`. No need to wrap again.
8
-
9
- ```tsx
10
- import { CHAINS } from '@lido-sdk/constants';
11
- import { ProviderWeb3 } from '@lido-sdk/web3-react';
12
-
13
- const rpc = {
14
- [CHAINS.Mainnet]: '/rpc/mainnet',
15
- [CHAINS.Rinkeby]: '/rpc/rinkeby',
16
- };
17
-
18
- const supportedChainIds = [CHAINS.Mainnet, CHAINS.Rinkeby];
19
-
20
- const Provider = () => {
21
- return (
22
- <ProviderWeb3
23
- defaultChainId={CHAINS.Mainnet}
24
- supportedChainIds={supportedChainIds}
25
- rpc={rpc}
26
- >
27
- {children}
28
- </ProviderWeb3>
29
- );
30
- };
31
- ```
32
-
33
- ## Auto connect
34
-
35
- The `ProviderWeb3` contains logic to automatically activate one of the connectors when the application is initialized. It checks the conditions and tries to connect in the following order:
36
-
37
- 1. To Ledger Live Dapp Browser with `LedgerHQFrameConnector`.
38
- 2. To Gnosis Safe with `SafeAppConnector`.
39
- 3. To Dapp browser provider with `InjectedConnector`.
40
- 4. To a connector saved in Local Storage.
41
-
42
- ## Connector hooks
43
-
44
- Hooks for manually connecting to the user's wallet:
45
-
46
- - useConnectorCoinbase
47
- - useConnectorImToken
48
- - useConnectorMetamask
49
- - useConnectorTrust
50
- - useConnectorWalletConnect
51
-
52
- They return an object with a `connect` handler if connecting is possible. In MetaMask, Trust and ImToken hooks the `connect` method contains the Deep Linking logic.
53
-
54
- ```tsx
55
- import {
56
- useConnectorMetamask,
57
- useConnectorCoinbase,
58
- } from '@lido-sdk/web3-react';
59
-
60
- const Component = () => {
61
- const metamask = useConnectorMetamask();
62
- const coinbase = useConnectorCoinbase();
63
-
64
- return (
65
- <div>
66
- <button onClick={metamask.connect}>Connect to Metamask</button>;
67
- <button onClick={coinbase.connect}>Connect to Coinbase</button>;
68
- </div>
69
- );
70
- };
71
- ```
72
-
73
- ## useDisconnect
74
-
75
- Return an object with a `disconnect` handler if disconnection is possible.
76
-
77
- ```tsx
78
- import { useDisconnect } from '@lido-sdk/web3-react';
79
-
80
- const Component = () => {
81
- const { disconnect } = useDisconnect();
82
-
83
- return (
84
- <button onClick={disconnect} disabled={!disconnect}>
85
- Disconnect
86
- </button>
87
- );
88
- };
89
- ```
90
-
91
- ## useSupportedChains
92
-
93
- ```tsx
94
- import { useSupportedChains } from '@lido-sdk/web3-react';
95
-
96
- const Component = () => {
97
- const { isUnsupported, supportedChains } = useSupportedChains();
98
-
99
- if (isUnsupported) {
100
- return (
101
- <div>
102
- Chain is not supported. Supported chains:{' '}
103
- {supportedChains.map(({ name }) => name)}
104
- </div>
105
- );
106
- }
107
-
108
- // ...
109
- };
110
- ```
4
+ The `web3-react` library is not used in Reef Knot anymore, so `@reef-knot/web3-react` was reworked to use wagmi
5
+ and now contains a few hooks and helpers for backwards compatibility.
@@ -13,18 +13,6 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
13
  PERFORMANCE OF THIS SOFTWARE.
14
14
  ***************************************************************************** */
15
15
 
16
- function __rest(s, e) {
17
- var t = {};
18
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
19
- t[p] = s[p];
20
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
21
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
22
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
23
- t[p[i]] = s[p[i]];
24
- }
25
- return t;
26
- }
27
-
28
16
  function __awaiter(thisArg, _arguments, P, generator) {
29
17
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
18
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -40,4 +28,4 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
40
28
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
41
29
  };
42
30
 
43
- export { __awaiter, __rest };
31
+ export { __awaiter };
@@ -1,7 +1,5 @@
1
1
  export * from './providerDetectors';
2
- export * from './ua';
3
- export * from './openWindow';
4
- export { default as isUrl } from './isUrl';
2
+ export * from './userAgents';
5
3
  export * from './interceptLedgerError';
6
4
  export * from './unsupportedChainError';
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,MAAM,CAAC;AACrB,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -1,6 +1,4 @@
1
- export { hasInjected, isBraveWalletProvider, isCoin98Provider, isCoinbaseProvider, isDappBrowserProvider, isExodusProvider, isImTokenProvider, isMetamaskProvider, isTallyProvider, isTrustProvider, isXdefiInstalled, isXdefiProvider, isZerionProvider } from './providerDetectors.js';
2
- export { browser, checkIfBraveBrowser, device, isAndroid, isEdge, isFirefox, isIOS, isMobile, isMobileOrTablet, isTablet, os } from './ua.js';
3
- export { openWindow } from './openWindow.js';
4
- export { default as isUrl } from './isUrl.js';
1
+ export { hasInjected, isDappBrowserProvider, isMetamaskProvider } from './providerDetectors.js';
2
+ export { browser, device, isMobile, isMobileOrTablet, isTablet, os } from './userAgents.js';
5
3
  export { LedgerErrorsDict, interceptLedgerError } from './interceptLedgerError.js';
6
4
  export { getUnsupportedChainError } from './unsupportedChainError.js';
@@ -1,32 +1,4 @@
1
- declare global {
2
- interface Window {
3
- xfi?: Record<string, unknown>;
4
- ethereum?: {
5
- isMetaMask?: boolean;
6
- isTrust?: boolean;
7
- isImToken?: boolean;
8
- isCoinbaseWallet?: boolean;
9
- isTally?: boolean;
10
- isExodus?: boolean;
11
- isXDEFI?: boolean;
12
- isZerion?: boolean;
13
- providers?: {
14
- isCoinbaseWallet?: boolean;
15
- }[];
16
- };
17
- }
18
- }
19
1
  export declare const hasInjected: () => boolean;
20
2
  export declare const isMetamaskProvider: () => boolean;
21
- export declare const isCoin98Provider: () => boolean;
22
- export declare const isImTokenProvider: () => boolean;
23
- export declare const isTrustProvider: () => boolean;
24
3
  export declare const isDappBrowserProvider: () => boolean;
25
- export declare const isCoinbaseProvider: () => boolean;
26
- export declare const isTallyProvider: () => boolean;
27
- export declare const isBraveWalletProvider: () => boolean;
28
- export declare const isExodusProvider: () => boolean;
29
- export declare const isXdefiInstalled: () => boolean;
30
- export declare const isXdefiProvider: () => boolean;
31
- export declare const isZerionProvider: () => boolean;
32
4
  //# sourceMappingURL=providerDetectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providerDetectors.d.ts","sourceRoot":"","sources":["../../src/helpers/providerDetectors.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE9B,QAAQ,CAAC,EAAE;YACT,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,SAAS,CAAC,EAAE,OAAO,CAAC;YACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;YAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,SAAS,CAAC,EAAE;gBAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;aAAE,EAAE,CAAC;SAC9C,CAAC;KACH;CACF;AAED,eAAO,MAAM,WAAW,QAAO,OAM9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,OAMrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,OAOnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,OAMpC,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,OAMlC,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,OAExC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,OAgBrC,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,OAMlC,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,OAMxC,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,OAMnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,OAMnC,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,OAmBlC,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,OAMnC,CAAC"}
1
+ {"version":3,"file":"providerDetectors.d.ts","sourceRoot":"","sources":["../../src/helpers/providerDetectors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,eAAsC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,eACY,CAAC;AAE5C,eAAO,MAAM,qBAAqB,QAAO,OAExC,CAAC"}
@@ -1,123 +1,15 @@
1
- import { isMobileOrTablet } from './ua.js';
1
+ import { isMobileOrTablet } from './userAgents.js';
2
2
 
3
3
  var hasInjected = () => {
4
- try {
5
- return !!window.ethereum;
6
- } catch (error) {
7
- return false;
8
- }
9
- };
10
- var isMetamaskProvider = () => {
11
- var _a;
12
- try {
13
- return !!((_a = window.ethereum) === null || _a === void 0 ? void 0 : _a.isMetaMask);
14
- } catch (error) {
15
- return false;
16
- }
17
- };
18
- var isCoin98Provider = () => {
19
- var _a;
20
- try {
21
- // @ts-expect-error wagmi redeclares window.ethereum type
22
- return !!((_a = window.ethereum) === null || _a === void 0 ? void 0 : _a.isCoin98);
23
- } catch (error) {
24
- return false;
25
- }
26
- };
27
- var isImTokenProvider = () => {
28
4
  var _a;
29
- try {
30
- return !!((_a = window.ethereum) === null || _a === void 0 ? void 0 : _a.isImToken);
31
- } catch (error) {
32
- return false;
33
- }
5
+ return !!((_a = globalThis.window) === null || _a === void 0 ? void 0 : _a.ethereum);
34
6
  };
35
- var isTrustProvider = () => {
36
- var _a;
37
- try {
38
- return !!((_a = window.ethereum) === null || _a === void 0 ? void 0 : _a.isTrust);
39
- } catch (error) {
40
- return false;
41
- }
7
+ var isMetamaskProvider = () => {
8
+ var _a, _b;
9
+ return !!((_b = (_a = globalThis.window) === null || _a === void 0 ? void 0 : _a.ethereum) === null || _b === void 0 ? void 0 : _b.isMetaMask);
42
10
  };
43
11
  var isDappBrowserProvider = () => {
44
12
  return isMobileOrTablet && hasInjected();
45
13
  };
46
- var isCoinbaseProvider = () => {
47
- try {
48
- if (window.ethereum) {
49
- var {
50
- isCoinbaseWallet,
51
- providers
52
- } = window.ethereum;
53
- if (isCoinbaseWallet !== undefined) return isCoinbaseWallet;
54
- // Handle the case when Coinbase knows that other wallets extensions
55
- // are installed too, so it changes its behaviour and adds `providers`.
56
- if (providers === null || providers === void 0 ? void 0 : providers.length) {
57
- return providers.some(provider => provider.isCoinbaseWallet);
58
- }
59
- }
60
- return false;
61
- } catch (error) {
62
- return false;
63
- }
64
- };
65
- var isTallyProvider = () => {
66
- var _a;
67
- try {
68
- return !!((_a = window.ethereum) === null || _a === void 0 ? void 0 : _a.isTally);
69
- } catch (error) {
70
- return false;
71
- }
72
- };
73
- var isBraveWalletProvider = () => {
74
- var _a;
75
- try {
76
- return !!((_a = window.ethereum) === null || _a === void 0 ? void 0 : _a.isBraveWallet);
77
- } catch (error) {
78
- return false;
79
- }
80
- };
81
- var isExodusProvider = () => {
82
- var _a;
83
- try {
84
- return !!((_a = window.ethereum) === null || _a === void 0 ? void 0 : _a.isExodus);
85
- } catch (error) {
86
- return false;
87
- }
88
- };
89
- var isXdefiInstalled = () => {
90
- try {
91
- return !!window.xfi;
92
- } catch (error) {
93
- return false;
94
- }
95
- };
96
- var isXdefiProvider = () => {
97
- try {
98
- var {
99
- ethereum
100
- } = window;
101
- if (ethereum) {
102
- // At the moment of writing, `isXDEFI` and `__XDEFI` options are not documented.
103
- // If XDEFI is installed and the "Prioritise XDEFI" setting is true,
104
- // then `isXDEFI` option becomes unexpectedly set to `false`.
105
- // So, we can just check if this option is in `ethereum` provider object.
106
- // `__XDEFI` option is used as a fallback.
107
- return isXdefiInstalled() && (Object.hasOwn(ethereum, 'isXDEFI') || Object.hasOwn(ethereum, '__XDEFI'));
108
- }
109
- return false;
110
- } catch (error) {
111
- return false;
112
- }
113
- };
114
- var isZerionProvider = () => {
115
- var _a;
116
- try {
117
- return !!((_a = window.ethereum) === null || _a === void 0 ? void 0 : _a.isZerion);
118
- } catch (error) {
119
- return false;
120
- }
121
- };
122
14
 
123
- export { hasInjected, isBraveWalletProvider, isCoin98Provider, isCoinbaseProvider, isDappBrowserProvider, isExodusProvider, isImTokenProvider, isMetamaskProvider, isTallyProvider, isTrustProvider, isXdefiInstalled, isXdefiProvider, isZerionProvider };
15
+ export { hasInjected, isDappBrowserProvider, isMetamaskProvider };
@@ -1,3 +1,5 @@
1
- import { Chain } from 'wagmi/chains';
2
- export declare const getUnsupportedChainError: (supportedChains: Chain[]) => Error;
1
+ /**
2
+ * @deprecated Re-exporting the method for backwards compatibility, use it directly from '@reef-knot/core-react'.
3
+ */
4
+ export declare const getUnsupportedChainError: (supportedChains: import("@wagmi/chains").Chain[]) => Error;
3
5
  //# sourceMappingURL=unsupportedChainError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unsupportedChainError.d.ts","sourceRoot":"","sources":["../../src/helpers/unsupportedChainError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,eAAO,MAAM,wBAAwB,oBAAqB,KAAK,EAAE,UAahE,CAAC"}
1
+ {"version":3,"file":"unsupportedChainError.d.ts","sourceRoot":"","sources":["../../src/helpers/unsupportedChainError.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,wBAAwB,6DAEE,CAAC"}
@@ -1,16 +1,10 @@
1
- var getUnsupportedChainError = supportedChains => {
2
- // Get names of supported chains to suggest them in case of "unsupported network" error
3
- var supportedChainsNames = (() => {
4
- var chains = supportedChains.map(_ref => {
5
- var {
6
- name
7
- } = _ref;
8
- return name;
9
- }).filter(chainName => chainName !== 'unknown');
10
- var lastChain = chains.pop();
11
- return [chains.join(', '), lastChain].filter(chain => chain).join(' or ');
12
- })();
13
- return new Error("Unsupported chain. Please switch to ".concat(supportedChainsNames, " in your wallet and restart the page."));
1
+ import { getUnsupportedChainError as getUnsupportedChainError$1 } from '@reef-knot/core-react';
2
+
3
+ /**
4
+ * @deprecated Re-exporting the method for backwards compatibility, use it directly from '@reef-knot/core-react'.
5
+ */
6
+ var getUnsupportedChainError = function getUnsupportedChainError() {
7
+ return getUnsupportedChainError$1(...arguments);
14
8
  };
15
9
 
16
10
  export { getUnsupportedChainError };
@@ -2,12 +2,7 @@
2
2
  export declare const device: import("ua-parser-js").IDevice;
3
3
  export declare const browser: import("ua-parser-js").IBrowser;
4
4
  export declare const os: import("ua-parser-js").IOS;
5
- export declare const isIOS: boolean;
6
- export declare const isAndroid: boolean;
7
5
  export declare const isMobile: boolean;
8
6
  export declare const isTablet: boolean;
9
7
  export declare const isMobileOrTablet: boolean;
10
- export declare const isFirefox: boolean;
11
- export declare const isEdge: boolean;
12
- export declare const checkIfBraveBrowser: () => Promise<boolean>;
13
- //# sourceMappingURL=ua.d.ts.map
8
+ //# sourceMappingURL=userAgents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userAgents.d.ts","sourceRoot":"","sources":["../../src/helpers/userAgents.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,MAAM,gCAAqB,CAAC;AACzC,eAAO,MAAM,OAAO,iCAAsB,CAAC;AAC3C,eAAO,MAAM,EAAE,4BAAiB,CAAC;AAEjC,eAAO,MAAM,QAAQ,SAA2B,CAAC;AACjD,eAAO,MAAM,QAAQ,SAA2B,CAAC;AACjD,eAAO,MAAM,gBAAgB,SAAuB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { UAParser } from 'ua-parser-js';
2
+
3
+ var parser = new UAParser();
4
+ var device = parser.getDevice();
5
+ var browser = parser.getBrowser();
6
+ var os = parser.getOS();
7
+ var isMobile = device.type === 'mobile';
8
+ var isTablet = device.type === 'tablet';
9
+ var isMobileOrTablet = isMobile || isTablet;
10
+
11
+ export { browser, device, isMobile, isMobileOrTablet, isTablet, os };
@@ -1,7 +1,4 @@
1
- export * from './useAutoConnect';
2
1
  export * from './useConnectorInfo';
3
- export * from './useConnectors';
4
- export * from './useConnectorStorage';
5
2
  export * from './useDisconnect';
6
3
  export * from './useSupportedChains';
7
4
  export * from './useWeb3';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,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,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useConnectorError.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectorError.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,iBAAiB,QAAO,KAAK,GAAG,SAmB5C,CAAC"}
1
+ {"version":3,"file":"useConnectorError.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectorError.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,iBAAiB,QAAO,KAAK,GAAG,SAmB5C,CAAC"}
@@ -1,8 +1,7 @@
1
1
  import { useWeb3 } from './useWeb3.js';
2
- import { useReefKnotContext } from '@reef-knot/core-react';
3
- import '../helpers/ua.js';
2
+ import { useReefKnotContext, getUnsupportedChainError } from '@reef-knot/core-react';
3
+ import '../helpers/userAgents.js';
4
4
  import { interceptLedgerError } from '../helpers/interceptLedgerError.js';
5
- import { getUnsupportedChainError } from '../helpers/unsupportedChainError.js';
6
5
  import { useConnectorInfo } from './useConnectorInfo.js';
7
6
  import { useSupportedChains } from './useSupportedChains.js';
8
7
 
@@ -19,12 +18,12 @@ var useConnectorError = () => {
19
18
  var {
20
19
  chains: supportedChains
21
20
  } = useReefKnotContext();
22
- if (!error) {
23
- return;
24
- }
25
21
  if (isUnsupported) {
26
22
  return getUnsupportedChainError(supportedChains);
27
23
  }
24
+ if (!error) {
25
+ return;
26
+ }
28
27
  if (isLedger) {
29
28
  return interceptLedgerError(error);
30
29
  }
@@ -1,18 +1,15 @@
1
1
  type ConnectorInfo = {
2
2
  providerName?: string;
3
- isConnectedViaWagmi: boolean;
4
3
  isGnosis: boolean;
5
4
  isLedger: boolean;
6
5
  isLedgerLive: boolean;
7
- isWalletLink: boolean;
8
- isCoinbase: boolean;
9
6
  isMetamask: boolean;
10
- isImToken: boolean;
11
- isTrust: boolean;
12
- isXdefi: boolean;
13
7
  isDappBrowser: boolean;
14
8
  isInjected: boolean;
15
9
  };
10
+ /**
11
+ * @deprecated use it from '@reef-knot/core-react'
12
+ */
16
13
  export declare const useConnectorInfo: () => ConnectorInfo;
17
14
  export {};
18
15
  //# sourceMappingURL=useConnectorInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useConnectorInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectorInfo.ts"],"names":[],"mappings":"AAoBA,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,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,aAsFnC,CAAC"}
1
+ {"version":3,"file":"useConnectorInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectorInfo.ts"],"names":[],"mappings":"AAQA,KAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,aAmCnC,CAAC"}
@@ -1,46 +1,26 @@
1
1
  import { useAccount } from 'wagmi';
2
- import { SafeAppConnector } from '@gnosis.pm/safe-apps-web3-react';
3
- import { InjectedConnector } from '@web3-react/injected-connector';
4
- import { WalletLinkConnector } from '@web3-react/walletlink-connector';
5
- import { LedgerHIDConnector, LedgerHQFrameConnector } from '@reef-knot/ledger-connector';
6
- import { useWeb3 } from './useWeb3.js';
7
- import { PROVIDER_NAMES } from '../constants/connectors.js';
8
- import { isCoinbaseProvider, isDappBrowserProvider, isMetamaskProvider, isImTokenProvider, isTrustProvider, isXdefiProvider, isZerionProvider } from '../helpers/providerDetectors.js';
9
- import '../helpers/ua.js';
2
+ import { SafeConnector } from 'wagmi/connectors/safe';
3
+ import { LedgerHIDConnector, LedgerLiveConnector } from '@reef-knot/ledger-connector';
4
+ import { isDappBrowserProvider, isMetamaskProvider } from '../helpers/providerDetectors.js';
5
+ import '../helpers/userAgents.js';
6
+ import '@reef-knot/core-react';
10
7
 
8
+ /**
9
+ * @deprecated use it from '@reef-knot/core-react'
10
+ */
11
11
  var useConnectorInfo = () => {
12
- var {
13
- active,
14
- connector
15
- } = useWeb3();
16
- // === WAGMI connectors BEGIN
17
12
  var {
18
13
  isConnected,
19
14
  connector: wagmiConnector
20
15
  } = useAccount();
21
16
  var isConnectedViaWagmi = isConnected && !!wagmiConnector;
22
17
  var isLedger = wagmiConnector instanceof LedgerHIDConnector;
23
- // === WAGMI connectors END
24
- // === WEB3-REACT connectors BEGIN
25
- var isGnosis = active && connector instanceof SafeAppConnector;
26
- var isLedgerLive = active && connector instanceof LedgerHQFrameConnector;
27
- // WalletLink is used by Coinbase, but it can be used by other wallets too.
28
- var isWalletLink = active && connector instanceof WalletLinkConnector;
29
- // This detection doesn't work for the connection via QR code scanning.
30
- var isCoinbase = active && isCoinbaseProvider();
31
- var isInjected =
32
- // check for web3-react
33
- active && connector instanceof InjectedConnector ||
34
- // check for wagmi
35
- isConnectedViaWagmi && wagmiConnector.id === 'injected';
18
+ var isLedgerLive = wagmiConnector instanceof LedgerLiveConnector;
19
+ var isGnosis = wagmiConnector instanceof SafeConnector;
20
+ var isInjected = isConnectedViaWagmi && wagmiConnector.id === 'injected';
36
21
  var isDappBrowser = isInjected && isDappBrowserProvider();
37
22
  var isMetamask = isInjected && isMetamaskProvider();
38
- var isImToken = isInjected && isImTokenProvider();
39
- var isTrust = isInjected && isTrustProvider();
40
- var isXdefi = isInjected && isXdefiProvider();
41
- var isZerion = isInjected && isZerionProvider();
42
23
  var providerName = (() => {
43
- if (isConnectedViaWagmi && wagmiConnector.name) return wagmiConnector.name;
44
24
  // Do not try to detect providerName if the app is opened in a mobile wallet dapp browser,
45
25
  // because such wallets often mimic other wallets which makes proper detection to be hard.
46
26
  // Also, if the app is opened in a mobile wallet dapp browser,
@@ -48,38 +28,14 @@ var useConnectorInfo = () => {
48
28
  // and we don't allow to disconnect in such case.
49
29
  // So it is easy for a user to understand which wallet app is being used for connection.
50
30
  if (isDappBrowser) return undefined;
51
- if (isGnosis) return PROVIDER_NAMES.GNOSIS;
52
- if (isLedger) return PROVIDER_NAMES.LEDGER;
53
- if (isLedgerLive) return PROVIDER_NAMES.LEDGER_HQ_LIVE;
54
- if (isImToken) return PROVIDER_NAMES.IM_TOKEN;
55
- if (isTrust) return PROVIDER_NAMES.TRUST;
56
- // Wallets which has conflicts with each other.
57
- // The order of wallets checks here is important.
58
- // Most "aggressive" wallet, which overrides other wallets, goes first.
59
- if (isXdefi) return PROVIDER_NAMES.XDEFI;
60
- if (isCoinbase) return PROVIDER_NAMES.COINBASE;
61
- if (isZerion) return PROVIDER_NAMES.ZERION;
62
- // Metamask should be last in this list because almost all EIP-1193 wallets
63
- // are trying to mimic Metamask by setting isMetamask = true
64
- if (isMetamask) return PROVIDER_NAMES.METAMASK;
65
- // General providers which doesn't specify what exact wallet is being used.
66
- // Works as a fallback.
67
- if (isWalletLink) return PROVIDER_NAMES.WALLET_LINK;
68
- if (isInjected) return PROVIDER_NAMES.INJECTED;
69
- return undefined;
31
+ return wagmiConnector === null || wagmiConnector === void 0 ? void 0 : wagmiConnector.name;
70
32
  })();
71
33
  return {
72
34
  providerName,
73
- isConnectedViaWagmi,
74
35
  isGnosis,
75
36
  isLedger,
76
37
  isLedgerLive,
77
- isWalletLink,
78
- isCoinbase,
79
38
  isMetamask,
80
- isImToken,
81
- isTrust,
82
- isXdefi,
83
39
  isDappBrowser,
84
40
  isInjected
85
41
  };
@@ -1,6 +1,12 @@
1
+ /**
2
+ * @deprecated use it from '@reef-knot/core-react'
3
+ */
1
4
  export declare const useForceDisconnect: () => {
2
- disconnect: () => void;
5
+ disconnect: () => Promise<void>;
3
6
  };
7
+ /**
8
+ * @deprecated use it from '@reef-knot/core-react'
9
+ */
4
10
  export declare const useDisconnect: () => {
5
11
  disconnect?: (() => void) | undefined;
6
12
  };
@@ -1 +1 @@
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
+ {"version":3,"file":"useDisconnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useDisconnect.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,kBAAkB;;CAQ9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;wBACL,IAAI;CAWxB,CAAC"}
@@ -1,35 +1,29 @@
1
1
  import { __awaiter } from '../_virtual/_tslib.js';
2
2
  import { useCallback } from 'react';
3
- import { useDisconnect as useDisconnect$1 } from 'wagmi';
4
- import { useWeb3 } from './useWeb3.js';
3
+ import { useDisconnect as useDisconnect$1, useAccount } from 'wagmi';
5
4
  import { useConnectorInfo } from './useConnectorInfo.js';
6
5
 
6
+ /**
7
+ * @deprecated use it from '@reef-knot/core-react'
8
+ */
7
9
  var useForceDisconnect = () => {
8
- var {
9
- deactivate,
10
- connector
11
- } = useWeb3();
12
- var extendedConnector = connector;
13
10
  var {
14
11
  disconnectAsync: wagmiDisconnect
15
12
  } = useDisconnect$1();
16
13
  var disconnect = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
17
- var _a;
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
14
  yield wagmiDisconnect();
24
- }), [deactivate, extendedConnector, wagmiDisconnect]);
15
+ }), [wagmiDisconnect]);
25
16
  return {
26
17
  disconnect
27
18
  };
28
19
  };
20
+ /**
21
+ * @deprecated use it from '@reef-knot/core-react'
22
+ */
29
23
  var useDisconnect = () => {
30
24
  var {
31
- active
32
- } = useWeb3();
25
+ isConnected
26
+ } = useAccount();
33
27
  var {
34
28
  disconnect
35
29
  } = useForceDisconnect();
@@ -38,7 +32,7 @@ var useDisconnect = () => {
38
32
  isLedgerLive,
39
33
  isDappBrowser
40
34
  } = useConnectorInfo();
41
- var available = active && !isGnosis && !isDappBrowser && !isLedgerLive;
35
+ var available = isConnected && !isGnosis && !isDappBrowser && !isLedgerLive;
42
36
  return {
43
37
  disconnect: available ? disconnect : undefined
44
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useSupportedChains.d.ts","sourceRoot":"","sources":["../../src/hooks/useSupportedChains.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAM/D,eAAO,MAAM,kBAAkB;mBACd,OAAO;qBACL,OAAO,EAAE;CAsC3B,CAAC"}
1
+ {"version":3,"file":"useSupportedChains.d.ts","sourceRoot":"","sources":["../../src/hooks/useSupportedChains.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAG/D,eAAO,MAAM,kBAAkB;mBACd,OAAO;qBACL,OAAO,EAAE;CAc3B,CAAC"}