@reef-knot/web3-react 1.13.1 → 2.0.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 (67) 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/{ua.d.ts → userAgents.d.ts} +1 -6
  10. package/dist/helpers/userAgents.d.ts.map +1 -0
  11. package/dist/helpers/userAgents.js +11 -0
  12. package/dist/hooks/index.d.ts +0 -3
  13. package/dist/hooks/index.d.ts.map +1 -1
  14. package/dist/hooks/useConnectorError.js +1 -1
  15. package/dist/hooks/useConnectorInfo.d.ts +0 -6
  16. package/dist/hooks/useConnectorInfo.d.ts.map +1 -1
  17. package/dist/hooks/useConnectorInfo.js +8 -56
  18. package/dist/hooks/useDisconnect.d.ts +1 -1
  19. package/dist/hooks/useDisconnect.d.ts.map +1 -1
  20. package/dist/hooks/useDisconnect.js +5 -17
  21. package/dist/hooks/useSupportedChains.d.ts.map +1 -1
  22. package/dist/hooks/useSupportedChains.js +3 -27
  23. package/dist/hooks/useWeb3.d.ts +14 -2
  24. package/dist/hooks/useWeb3.d.ts.map +1 -1
  25. package/dist/hooks/useWeb3.js +25 -13
  26. package/dist/index.d.ts +0 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +0 -9
  29. package/package.json +6 -24
  30. package/dist/constants/connectors.d.ts +0 -22
  31. package/dist/constants/connectors.d.ts.map +0 -1
  32. package/dist/constants/connectors.js +0 -25
  33. package/dist/constants/index.d.ts +0 -4
  34. package/dist/constants/index.d.ts.map +0 -1
  35. package/dist/constants/storage.d.ts +0 -2
  36. package/dist/constants/storage.d.ts.map +0 -1
  37. package/dist/constants/storage.js +0 -3
  38. package/dist/constants/web3.d.ts +0 -2
  39. package/dist/constants/web3.d.ts.map +0 -1
  40. package/dist/constants/web3.js +0 -3
  41. package/dist/context/connectors.d.ts +0 -22
  42. package/dist/context/connectors.d.ts.map +0 -1
  43. package/dist/context/connectors.js +0 -41
  44. package/dist/context/index.d.ts +0 -5
  45. package/dist/context/index.d.ts.map +0 -1
  46. package/dist/context/web3.d.ts +0 -16
  47. package/dist/context/web3.d.ts.map +0 -1
  48. package/dist/context/web3.js +0 -127
  49. package/dist/helpers/isUrl.d.ts +0 -2
  50. package/dist/helpers/isUrl.d.ts.map +0 -1
  51. package/dist/helpers/isUrl.js +0 -6
  52. package/dist/helpers/openWindow.d.ts +0 -2
  53. package/dist/helpers/openWindow.d.ts.map +0 -1
  54. package/dist/helpers/openWindow.js +0 -6
  55. package/dist/helpers/ua.d.ts.map +0 -1
  56. package/dist/helpers/ua.js +0 -20
  57. package/dist/hooks/types.d.ts +0 -4
  58. package/dist/hooks/types.d.ts.map +0 -1
  59. package/dist/hooks/useAutoConnect.d.ts +0 -7
  60. package/dist/hooks/useAutoConnect.d.ts.map +0 -1
  61. package/dist/hooks/useAutoConnect.js +0 -132
  62. package/dist/hooks/useConnectorStorage.d.ts +0 -4
  63. package/dist/hooks/useConnectorStorage.d.ts.map +0 -1
  64. package/dist/hooks/useConnectorStorage.js +0 -7
  65. package/dist/hooks/useConnectors.d.ts +0 -3
  66. package/dist/hooks/useConnectors.d.ts.map +0 -1
  67. package/dist/hooks/useConnectors.js +0 -8
@@ -1,18 +1,16 @@
1
- import { useWeb3React } from '@web3-react/core';
2
- export { UnsupportedChainIdError } from '@web3-react/core';
3
1
  import { useAccount, useNetwork, useConnect } from 'wagmi';
4
2
  import { useSupportedChains } from './useSupportedChains.js';
5
3
 
6
- // Shimming useWeb3React hook to also use data returned from wagmi
4
+ // This is a legacy hook for getting data and methods from web3-react library.
5
+ // Because of migration to wagmi library, this method now returns values from wagmi and is left here for backwards compatibility.
7
6
  function useWeb3(_key) {
8
7
  var _a;
9
- var web3ReactData = useWeb3React();
10
8
  var wagmiAccount = useAccount();
11
9
  var wagmiNetwork = useNetwork();
12
10
  var {
13
11
  error: wagmiError
14
12
  } = useConnect();
15
- var account = web3ReactData.account || (wagmiAccount === null || wagmiAccount === void 0 ? void 0 : wagmiAccount.address);
13
+ var account = wagmiAccount === null || wagmiAccount === void 0 ? void 0 : wagmiAccount.address;
16
14
  // web3-react and wagmi have different logic around unsupported chains.
17
15
  // If a chain is not supported:
18
16
  // web3-react sets:
@@ -30,17 +28,31 @@ function useWeb3(_key) {
30
28
  var {
31
29
  isUnsupported
32
30
  } = useSupportedChains();
33
- var chainId = isUnsupported ? undefined : web3ReactData.chainId || ((_a = wagmiNetwork === null || wagmiNetwork === void 0 ? void 0 : wagmiNetwork.chain) === null || _a === void 0 ? void 0 : _a.id);
34
- var active = isUnsupported ? false : web3ReactData.active || (wagmiAccount === null || wagmiAccount === void 0 ? void 0 : wagmiAccount.isConnected);
35
- // wagmi and web3-react use the same Error type
36
- // wagmi is first here because it can be null, but we need Error | undefined
37
- var error = wagmiError || web3ReactData.error;
38
- return Object.assign(Object.assign({}, web3ReactData), {
31
+ var chainId = isUnsupported ? undefined : (_a = wagmiNetwork === null || wagmiNetwork === void 0 ? void 0 : wagmiNetwork.chain) === null || _a === void 0 ? void 0 : _a.id;
32
+ var active = isUnsupported ? false : wagmiAccount === null || wagmiAccount === void 0 ? void 0 : wagmiAccount.isConnected;
33
+ // wagmi error can be null, but historically we need `Error | undefined` here
34
+ var error = wagmiError || undefined;
35
+ return {
39
36
  chainId,
40
37
  account,
41
38
  active,
42
- error
43
- });
39
+ error,
40
+ // Web3Provider from ethers.js, we pass it to Web3ReactProvider via getLibrary()
41
+ library: undefined,
42
+ // AbstractConnector from @web3-react, used by @reef-knot/web3-react only for
43
+ // useDisconnect, useConnectorInfo and useSupportedChains
44
+ connector: undefined,
45
+ activate: () => {
46
+ console.error('"activate" method is deprecated and does nothing.');
47
+ return Promise.resolve();
48
+ },
49
+ setError: () => {
50
+ console.error('"setError" method is deprecated and does nothing.');
51
+ },
52
+ deactivate: () => {
53
+ console.error('"deactivate" method is deprecated and does nothing.');
54
+ }
55
+ };
44
56
  }
45
57
 
46
58
  export { useWeb3 };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- export * from './constants';
2
- export * from './context';
3
1
  export * from './hooks';
4
2
  export * as helpers from './helpers';
5
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,16 +1,7 @@
1
- export { POLLING_INTERVAL } from './constants/web3.js';
2
- export { STORAGE_CONNECTOR_KEY } from './constants/storage.js';
3
- export { CONNECTOR_NAMES, PROVIDER_NAMES } from './constants/connectors.js';
4
- export { default as ProviderWeb3 } from './context/web3.js';
5
- export { ConnectorsContext, default as ProviderConnectors } from './context/connectors.js';
6
- export { useAutoConnect, useDeleteConnectorFromLS, useEagerConnector, useSaveConnectorToLS, useWatchConnectorInLS } from './hooks/useAutoConnect.js';
7
1
  export { useConnectorInfo } from './hooks/useConnectorInfo.js';
8
- export { useConnectors } from './hooks/useConnectors.js';
9
- export { useConnectorStorage } from './hooks/useConnectorStorage.js';
10
2
  export { useDisconnect, useForceDisconnect } from './hooks/useDisconnect.js';
11
3
  export { useSupportedChains } from './hooks/useSupportedChains.js';
12
4
  export { useWeb3 } from './hooks/useWeb3.js';
13
5
  export { useConnectorError } from './hooks/useConnectorError.js';
14
6
  import * as index from './helpers/index.js';
15
7
  export { index as helpers };
16
- export { UnsupportedChainIdError } from '@web3-react/core';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reef-knot/web3-react",
3
- "version": "1.13.1",
3
+ "version": "2.0.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -46,43 +46,25 @@
46
46
  "@babel/preset-react": "7.18.6",
47
47
  "@babel/preset-typescript": "7.18.6",
48
48
  "@ethersproject/providers": "^5.7.2",
49
- "@lido-sdk/constants": "^3.2.0",
50
- "@lido-sdk/providers": "^1.4.13",
51
- "@lido-sdk/react": "^2.0.2",
52
- "@reef-knot/core-react": "^1.8.1",
53
- "@reef-knot/ledger-connector": "^2.0.0",
49
+ "@reef-knot/core-react": "^2.0.0",
50
+ "@reef-knot/ledger-connector": "^3.0.0",
54
51
  "@testing-library/react": "^12.1.5",
55
52
  "@testing-library/react-hooks": "^7.0.2",
56
- "@types/jest": "^29.4.0",
57
53
  "@types/react": "18.2.45",
58
54
  "@types/ua-parser-js": "^0.7.36",
59
- "babel-jest": "^29.3.1",
60
55
  "babel-loader": "8.2.2",
61
56
  "babel-plugin-styled-components": "1.13.2",
62
57
  "eslint-config-custom": "*",
63
- "jest": "^29.4.3",
64
- "jest-environment-jsdom": "^29.4.3",
65
58
  "react": "18.2.0",
66
59
  "ua-parser-js": "1.0.33"
67
60
  },
68
61
  "dependencies": {
69
- "@gnosis.pm/safe-apps-web3-react": "0.6.8",
70
- "@ledgerhq/iframe-provider": "0.4.2",
71
- "@web3-react/abstract-connector": "6.0.7",
72
- "@web3-react/core": "6.1.9",
73
- "@web3-react/injected-connector": "6.0.7",
74
- "@web3-react/walletlink-connector": "6.2.14",
75
- "swr": "1.3.0",
76
- "tiny-invariant": "^1.1.0",
77
- "tiny-warning": "^1.0.3"
62
+ "tiny-invariant": "^1.1.0"
78
63
  },
79
64
  "peerDependencies": {
80
65
  "@ethersproject/providers": "5",
81
- "@lido-sdk/constants": "^3.2.0",
82
- "@lido-sdk/providers": "^1.4.13",
83
- "@lido-sdk/react": "^2.0.2",
84
- "@reef-knot/core-react": "^1.4.3",
85
- "@reef-knot/ledger-connector": "^2.0.0",
66
+ "@reef-knot/core-react": "^2.0.0",
67
+ "@reef-knot/ledger-connector": "^3.0.0",
86
68
  "react": ">=18",
87
69
  "ua-parser-js": "^1.0.33",
88
70
  "wagmi": "^0.12.19"
@@ -1,22 +0,0 @@
1
- export declare enum PROVIDER_NAMES {
2
- GNOSIS = "Gnosis",
3
- METAMASK = "MetaMask",
4
- IM_TOKEN = "imToken",
5
- TRUST = "Trust",
6
- WALLET_LINK = "WalletLink",
7
- COINBASE = "Coinbase",
8
- INJECTED = "Injected",
9
- LEDGER_HQ_LIVE = "Ledger Live",
10
- LEDGER = "Ledger",
11
- XDEFI = "XDEFI",
12
- ZERION = "Zerion"
13
- }
14
- export declare enum CONNECTOR_NAMES {
15
- GNOSIS = "gnosis",
16
- WALLET_LINK = "walletlink",
17
- COINBASE = "coinbase",
18
- INJECTED = "injected",
19
- LEDGER_HQ_LIVE = "ledgerlive",
20
- LEDGER = "ledger"
21
- }
22
- //# sourceMappingURL=connectors.d.ts.map
@@ -1 +0,0 @@
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,WAAW,eAAe;IAC1B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,cAAc,gBAAgB;IAC9B,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,WAAW,eAAe;IAC1B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,cAAc,eAAe;IAC7B,MAAM,WAAW;CAClB"}
@@ -1,25 +0,0 @@
1
- var PROVIDER_NAMES;
2
- (function (PROVIDER_NAMES) {
3
- PROVIDER_NAMES["GNOSIS"] = "Gnosis";
4
- PROVIDER_NAMES["METAMASK"] = "MetaMask";
5
- PROVIDER_NAMES["IM_TOKEN"] = "imToken";
6
- PROVIDER_NAMES["TRUST"] = "Trust";
7
- PROVIDER_NAMES["WALLET_LINK"] = "WalletLink";
8
- PROVIDER_NAMES["COINBASE"] = "Coinbase";
9
- PROVIDER_NAMES["INJECTED"] = "Injected";
10
- PROVIDER_NAMES["LEDGER_HQ_LIVE"] = "Ledger Live";
11
- PROVIDER_NAMES["LEDGER"] = "Ledger";
12
- PROVIDER_NAMES["XDEFI"] = "XDEFI";
13
- PROVIDER_NAMES["ZERION"] = "Zerion";
14
- })(PROVIDER_NAMES || (PROVIDER_NAMES = {}));
15
- var CONNECTOR_NAMES;
16
- (function (CONNECTOR_NAMES) {
17
- CONNECTOR_NAMES["GNOSIS"] = "gnosis";
18
- CONNECTOR_NAMES["WALLET_LINK"] = "walletlink";
19
- CONNECTOR_NAMES["COINBASE"] = "coinbase";
20
- CONNECTOR_NAMES["INJECTED"] = "injected";
21
- CONNECTOR_NAMES["LEDGER_HQ_LIVE"] = "ledgerlive";
22
- CONNECTOR_NAMES["LEDGER"] = "ledger";
23
- })(CONNECTOR_NAMES || (CONNECTOR_NAMES = {}));
24
-
25
- export { CONNECTOR_NAMES, PROVIDER_NAMES };
@@ -1,4 +0,0 @@
1
- export * from './web3';
2
- export * from './storage';
3
- export * from './connectors';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const STORAGE_CONNECTOR_KEY = "lido-web3-connector";
2
- //# sourceMappingURL=storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/constants/storage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,wBAAwB,CAAC"}
@@ -1,3 +0,0 @@
1
- var STORAGE_CONNECTOR_KEY = 'lido-web3-connector';
2
-
3
- export { STORAGE_CONNECTOR_KEY };
@@ -1,2 +0,0 @@
1
- export declare const POLLING_INTERVAL = 12000;
2
- //# sourceMappingURL=web3.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web3.d.ts","sourceRoot":"","sources":["../../src/constants/web3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,QAAS,CAAC"}
@@ -1,3 +0,0 @@
1
- var POLLING_INTERVAL = 12000;
2
-
3
- export { POLLING_INTERVAL };
@@ -1,22 +0,0 @@
1
- import React from 'react';
2
- import { InjectedConnector } from '@web3-react/injected-connector';
3
- import { SafeAppConnector } from '@gnosis.pm/safe-apps-web3-react';
4
- import { CHAINS } from '@lido-sdk/constants';
5
- import { LedgerHQFrameConnector } from '@reef-knot/ledger-connector';
6
- export interface ConnectorsContextProps {
7
- children?: React.ReactNode;
8
- defaultChainId: CHAINS;
9
- rpc: Record<number, string>;
10
- appName?: string;
11
- appLogoUrl?: string;
12
- }
13
- export type ConnectorsContextValue = {
14
- injected: InjectedConnector;
15
- ledgerlive: LedgerHQFrameConnector;
16
- gnosis?: SafeAppConnector;
17
- };
18
- export type Connector = keyof ConnectorsContextValue;
19
- export declare const ConnectorsContext: React.Context<ConnectorsContextValue>;
20
- declare const _default: React.MemoExoticComponent<React.FC<ConnectorsContextProps>>;
21
- export default _default;
22
- //# sourceMappingURL=connectors.d.ts.map
@@ -1 +0,0 @@
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,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAIrE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,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,sBAAsB,CAAC;IACnC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,iBAAiB,uCAA8C,CAAC;;AAmC7E,wBAAoE"}
@@ -1,41 +0,0 @@
1
- import React, { memo, createContext, useMemo } from 'react';
2
- import { InjectedConnector } from '@web3-react/injected-connector';
3
- import { SafeAppConnector } from '@gnosis.pm/safe-apps-web3-react';
4
- import { useSDK } from '@lido-sdk/react';
5
- import { LedgerHQFrameConnector } from '@reef-knot/ledger-connector';
6
- import { useAutoConnect } from '../hooks/useAutoConnect.js';
7
- import { CONNECTOR_NAMES } from '../constants/connectors.js';
8
-
9
- var ConnectorsContext = /*#__PURE__*/createContext({});
10
- var ProviderConnectors = props => {
11
- var {
12
- children
13
- } = props;
14
- var {
15
- supportedChainIds
16
- } = useSDK();
17
- var connectors = useMemo(() => ({
18
- [CONNECTOR_NAMES.INJECTED]: new InjectedConnector({
19
- supportedChainIds
20
- }),
21
- [CONNECTOR_NAMES.GNOSIS]: (() => {
22
- try {
23
- return new SafeAppConnector({
24
- supportedChainIds
25
- });
26
- } catch (error) {
27
- return undefined;
28
- }
29
- })(),
30
- [CONNECTOR_NAMES.LEDGER_HQ_LIVE]: new LedgerHQFrameConnector({
31
- supportedChainIds
32
- })
33
- }), [supportedChainIds]);
34
- useAutoConnect(connectors);
35
- return /*#__PURE__*/React.createElement(ConnectorsContext.Provider, {
36
- value: connectors
37
- }, children);
38
- };
39
- const ProviderConnectors$1 = /*#__PURE__*/memo(ProviderConnectors);
40
-
41
- export { ConnectorsContext, ProviderConnectors$1 as default };
@@ -1,5 +0,0 @@
1
- export * from './web3';
2
- export * from './connectors';
3
- export { default as ProviderWeb3 } from './web3';
4
- export { default as ProviderConnectors } from './connectors';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import { CHAINS } from '@lido-sdk/constants';
3
- import { SWRConfiguration } from 'swr';
4
- import { ConnectorsContextProps } from './connectors';
5
- export interface ProviderWeb3Props extends ConnectorsContextProps {
6
- children?: React.ReactNode;
7
- defaultChainId: CHAINS;
8
- supportedChainIds: CHAINS[];
9
- swrConfig?: SWRConfiguration;
10
- pollingInterval?: number;
11
- walletconnectProjectId?: string;
12
- onError?: (error: unknown) => void;
13
- }
14
- declare const _default: React.MemoExoticComponent<(props: ProviderWeb3Props) => React.JSX.Element>;
15
- export default _default;
16
- //# sourceMappingURL=web3.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web3.d.ts","sourceRoot":"","sources":["../../src/context/web3.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAOzD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAO7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAGvC,OAA2B,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC/D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;;AA6HD,wBAAkC"}
@@ -1,127 +0,0 @@
1
- import { __rest, __awaiter } from '../_virtual/_tslib.js';
2
- import React, { memo, useState, useEffect } from 'react';
3
- import invariant from 'tiny-invariant';
4
- import { Web3Provider } from '@ethersproject/providers';
5
- import { CHAINS } from '@lido-sdk/constants';
6
- import { getStaticRpcBatchProvider } from '@lido-sdk/providers';
7
- import { ProviderSDK as ProviderSDK$1 } from '@lido-sdk/react';
8
- import { Web3ReactProvider, useWeb3React } from '@web3-react/core';
9
- import { holesky, ReefKnot } from '@reef-knot/core-react';
10
- import { useAccount } from 'wagmi';
11
- import * as wagmiChains from 'wagmi/chains';
12
- import { useWeb3 } from '../hooks/useWeb3.js';
13
- import { POLLING_INTERVAL } from '../constants/web3.js';
14
- import '../constants/connectors.js';
15
- import '@gnosis.pm/safe-apps-web3-react';
16
- import '@web3-react/injected-connector';
17
- import '@web3-react/walletlink-connector';
18
- import '@reef-knot/ledger-connector';
19
- import '../helpers/ua.js';
20
- import ProviderConnectors from './connectors.js';
21
-
22
- function getLibrary(provider) {
23
- var library = new Web3Provider(provider);
24
- library.pollingInterval = POLLING_INTERVAL;
25
- return library;
26
- }
27
- var ProviderSDK = props => {
28
- var {
29
- rpc,
30
- defaultChainId,
31
- supportedChainIds,
32
- children,
33
- pollingInterval = POLLING_INTERVAL
34
- } = props,
35
- rest = __rest(props, ["rpc", "defaultChainId", "supportedChainIds", "children", "pollingInterval"]);
36
- var {
37
- active: isConnectedViaWeb3React,
38
- library
39
- } = useWeb3React();
40
- var {
41
- chainId = defaultChainId,
42
- account,
43
- active
44
- } = useWeb3();
45
- var {
46
- connector: connectorWagmi,
47
- isConnected: isConnectedViaWagmi
48
- } = useAccount();
49
- var [providerWeb3, setProviderWeb3] = useState();
50
- // Reset web3 provider if the provider was set previously,
51
- // and currently no wallet is connected via wagmi or web3-react.
52
- // Gets triggered on a wallet disconnection, for example.
53
- if (!active && providerWeb3) {
54
- setProviderWeb3(undefined);
55
- }
56
- // Switching providers between wagmi and web3-react.
57
- // This code is neither clean nor efficient, but it will be deprecated after transition to wagmi is complete.
58
- // useEffect is needed here because we are calling getProvider async method from wagmi,
59
- // which can be taken as an external API
60
- useEffect(() => {
61
- void (() => __awaiter(void 0, void 0, void 0, function* () {
62
- if (!providerWeb3 && connectorWagmi && isConnectedViaWagmi) {
63
- // Set wagmi provider
64
- var p = yield connectorWagmi.getProvider();
65
- setProviderWeb3(getLibrary(p));
66
- } else if (!providerWeb3 && library && isConnectedViaWeb3React) {
67
- // Set web3-react provider
68
- // Passing `library` as init value for useState does not work, but works like this:
69
- setProviderWeb3(library);
70
- }
71
- }))();
72
- }, [connectorWagmi, isConnectedViaWagmi, isConnectedViaWeb3React, library, providerWeb3]);
73
- invariant(rpc[chainId], "RPC url for chain ".concat(chainId, " is not provided"));
74
- invariant(rpc[CHAINS.Mainnet], 'RPC url for mainnet is not provided');
75
- var providerRpc = getStaticRpcBatchProvider(chainId, rpc[chainId], 0, pollingInterval);
76
- var providerMainnetRpc = getStaticRpcBatchProvider(CHAINS.Mainnet, rpc[CHAINS.Mainnet], 0, pollingInterval);
77
- return (
78
- /*#__PURE__*/
79
- // @ts-expect-error Property children does not exist on type IntrinsicAttributes & SDKContextProps
80
- React.createElement(ProviderSDK$1, Object.assign({
81
- chainId: chainId,
82
- supportedChainIds: supportedChainIds,
83
- providerWeb3: providerWeb3,
84
- providerRpc: providerRpc,
85
- providerMainnetRpc: providerMainnetRpc,
86
- account: account !== null && account !== void 0 ? account : undefined
87
- }, rest), children)
88
- );
89
- };
90
- var ProviderWeb3 = props => {
91
- var {
92
- children,
93
- rpc,
94
- walletconnectProjectId,
95
- appName,
96
- appLogoUrl
97
- } = props,
98
- sdkProps = __rest(props, ["children", "rpc", "walletconnectProjectId", "appName", "appLogoUrl"]);
99
- var {
100
- defaultChainId,
101
- supportedChainIds
102
- } = props;
103
- var connectorsProps = {
104
- rpc,
105
- appName,
106
- appLogoUrl,
107
- defaultChainId
108
- };
109
- var wagmiChainsArray = Object.values(Object.assign(Object.assign({}, wagmiChains), {
110
- holesky
111
- }));
112
- var supportedWagmiChains = wagmiChainsArray.filter(chain => supportedChainIds.includes(chain.id));
113
- var defaultWagmiChain = wagmiChainsArray.find(chain => chain.id === defaultChainId) || wagmiChainsArray[0];
114
- return /*#__PURE__*/React.createElement(Web3ReactProvider, {
115
- getLibrary: getLibrary
116
- }, /*#__PURE__*/React.createElement(ProviderSDK, Object.assign({
117
- rpc: rpc
118
- }, sdkProps), /*#__PURE__*/React.createElement(ReefKnot, {
119
- rpc: rpc,
120
- walletconnectProjectId: walletconnectProjectId,
121
- chains: supportedWagmiChains,
122
- defaultChain: defaultWagmiChain
123
- }, /*#__PURE__*/React.createElement(ProviderConnectors, Object.assign({}, connectorsProps), children))));
124
- };
125
- const web3 = /*#__PURE__*/memo(ProviderWeb3);
126
-
127
- export { web3 as default };
@@ -1,2 +0,0 @@
1
- export default function (url: string): boolean;
2
- //# sourceMappingURL=isUrl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isUrl.d.ts","sourceRoot":"","sources":["../../src/helpers/isUrl.ts"],"names":[],"mappings":"AA2BA,MAAM,CAAC,OAAO,WAAW,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7C"}
@@ -1,6 +0,0 @@
1
- var pattern = new RegExp('^' + '(?:(?:(?:https?|ftp):)?\\/\\/)' + '(?:\\S+(?::\\S*)?@)?' + '(?:' + '(?!(?:10|127)(?:\\.\\d{1,3}){3})' + '(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})' + '(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})' + '(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])' + '(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}' + '(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))' + '|' + '(?:' + '(?:' + '[a-z0-9\\u00a1-\\uffff]' + '[a-z0-9\\u00a1-\\uffff_-]{0,62}' + ')?' + '[a-z0-9\\u00a1-\\uffff]\\.' + ')+' + '(?:[a-z\\u00a1-\\uffff]{2,}\\.?)' + ')' + '(?::\\d{2,5})?' + '(?:[/?#]\\S*)?' + '$', 'i');
2
- function isUrl (url) {
3
- return pattern.test(url);
4
- }
5
-
6
- export { isUrl as default };
@@ -1,2 +0,0 @@
1
- export declare const openWindow: (url: string) => void;
2
- //# sourceMappingURL=openWindow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openWindow.d.ts","sourceRoot":"","sources":["../../src/helpers/openWindow.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,IAIxC,CAAC"}
@@ -1,6 +0,0 @@
1
- var openWindow = url => {
2
- if (typeof window === 'undefined') return;
3
- window.open(url, '_blank', 'noopener,noreferrer');
4
- };
5
-
6
- export { openWindow };
@@ -1 +0,0 @@
1
- {"version":3,"file":"ua.d.ts","sourceRoot":"","sources":["../../src/helpers/ua.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,MAAM,gCAAqB,CAAC;AACzC,eAAO,MAAM,OAAO,iCAAsB,CAAC;AAC3C,eAAO,MAAM,EAAE,4BAAiB,CAAC;AAEjC,eAAO,MAAM,KAAK,SAAoB,CAAC;AACvC,eAAO,MAAM,SAAS,SAAwB,CAAC;AAE/C,eAAO,MAAM,QAAQ,SAA2B,CAAC;AACjD,eAAO,MAAM,QAAQ,SAA2B,CAAC;AACjD,eAAO,MAAM,gBAAgB,SAAuB,CAAC;AAErD,eAAO,MAAM,SAAS,SAA6B,CAAC;AACpD,eAAO,MAAM,MAAM,SAA0B,CAAC;AAE9C,eAAO,MAAM,mBAAmB,QAAa,QAAQ,OAAO,CAEO,CAAC"}
@@ -1,20 +0,0 @@
1
- import { __awaiter } from '../_virtual/_tslib.js';
2
- import { UAParser } from 'ua-parser-js';
3
-
4
- var parser = new UAParser();
5
- var device = parser.getDevice();
6
- var browser = parser.getBrowser();
7
- var os = parser.getOS();
8
- var isIOS = os.name === 'iOS';
9
- var isAndroid = os.name === 'Android';
10
- var isMobile = device.type === 'mobile';
11
- var isTablet = device.type === 'tablet';
12
- var isMobileOrTablet = isMobile || isTablet;
13
- var isFirefox = browser.name === 'Firefox';
14
- var isEdge = browser.name === 'Edge';
15
- var checkIfBraveBrowser = () => __awaiter(void 0, void 0, void 0, function* () {
16
- // @ts-expect-error TS2339: Property 'brave' does not exist on type 'Navigator'.
17
- return (navigator === null || navigator === void 0 ? void 0 : navigator.brave) && (yield navigator === null || navigator === void 0 ? void 0 : navigator.brave.isBrave()) || false;
18
- });
19
-
20
- export { browser, checkIfBraveBrowser, device, isAndroid, isEdge, isFirefox, isIOS, isMobile, isMobileOrTablet, isTablet, os };
@@ -1,4 +0,0 @@
1
- export type ConnectorHookArgs = {
2
- onConnect?: () => void;
3
- } | undefined;
4
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB;IACE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,GACD,SAAS,CAAC"}
@@ -1,7 +0,0 @@
1
- import { ConnectorsContextValue } from '../context';
2
- export declare const useAutoConnect: (connectors: ConnectorsContextValue) => void;
3
- export declare const useEagerConnector: (connectors: ConnectorsContextValue) => void;
4
- export declare const useSaveConnectorToLS: () => void;
5
- export declare const useDeleteConnectorFromLS: () => void;
6
- export declare const useWatchConnectorInLS: () => void;
7
- //# sourceMappingURL=useAutoConnect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAutoConnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useAutoConnect.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAUpD,eAAO,MAAM,cAAc,eAAgB,sBAAsB,SAKhE,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAAgB,sBAAsB,SAuEnE,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,IAQvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAO,IAgB3C,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,IAexC,CAAC"}