@reef-knot/web3-react 1.13.0 → 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.
- package/README.md +4 -109
- package/dist/_virtual/_tslib.js +1 -13
- package/dist/helpers/index.d.ts +1 -3
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +2 -4
- package/dist/helpers/providerDetectors.d.ts +0 -28
- package/dist/helpers/providerDetectors.d.ts.map +1 -1
- package/dist/helpers/providerDetectors.js +6 -114
- package/dist/helpers/{ua.d.ts → userAgents.d.ts} +1 -6
- package/dist/helpers/userAgents.d.ts.map +1 -0
- package/dist/helpers/userAgents.js +11 -0
- package/dist/hooks/index.d.ts +0 -3
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useConnectorError.js +1 -1
- package/dist/hooks/useConnectorInfo.d.ts +1 -6
- package/dist/hooks/useConnectorInfo.d.ts.map +1 -1
- package/dist/hooks/useConnectorInfo.js +10 -55
- package/dist/hooks/useDisconnect.d.ts +1 -1
- package/dist/hooks/useDisconnect.d.ts.map +1 -1
- package/dist/hooks/useDisconnect.js +5 -17
- package/dist/hooks/useSupportedChains.d.ts.map +1 -1
- package/dist/hooks/useSupportedChains.js +3 -27
- package/dist/hooks/useWeb3.d.ts +14 -2
- package/dist/hooks/useWeb3.d.ts.map +1 -1
- package/dist/hooks/useWeb3.js +25 -13
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -9
- package/package.json +6 -24
- package/dist/constants/connectors.d.ts +0 -22
- package/dist/constants/connectors.d.ts.map +0 -1
- package/dist/constants/connectors.js +0 -25
- package/dist/constants/index.d.ts +0 -4
- package/dist/constants/index.d.ts.map +0 -1
- package/dist/constants/storage.d.ts +0 -2
- package/dist/constants/storage.d.ts.map +0 -1
- package/dist/constants/storage.js +0 -3
- package/dist/constants/web3.d.ts +0 -2
- package/dist/constants/web3.d.ts.map +0 -1
- package/dist/constants/web3.js +0 -3
- package/dist/context/connectors.d.ts +0 -22
- package/dist/context/connectors.d.ts.map +0 -1
- package/dist/context/connectors.js +0 -41
- package/dist/context/index.d.ts +0 -5
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/web3.d.ts +0 -16
- package/dist/context/web3.d.ts.map +0 -1
- package/dist/context/web3.js +0 -127
- package/dist/helpers/isUrl.d.ts +0 -2
- package/dist/helpers/isUrl.d.ts.map +0 -1
- package/dist/helpers/isUrl.js +0 -6
- package/dist/helpers/openWindow.d.ts +0 -2
- package/dist/helpers/openWindow.d.ts.map +0 -1
- package/dist/helpers/openWindow.js +0 -6
- package/dist/helpers/ua.d.ts.map +0 -1
- package/dist/helpers/ua.js +0 -20
- package/dist/hooks/types.d.ts +0 -4
- package/dist/hooks/types.d.ts.map +0 -1
- package/dist/hooks/useAutoConnect.d.ts +0 -7
- package/dist/hooks/useAutoConnect.d.ts.map +0 -1
- package/dist/hooks/useAutoConnect.js +0 -132
- package/dist/hooks/useConnectorStorage.d.ts +0 -4
- package/dist/hooks/useConnectorStorage.d.ts.map +0 -1
- package/dist/hooks/useConnectorStorage.js +0 -7
- package/dist/hooks/useConnectors.d.ts +0 -3
- package/dist/hooks/useConnectors.d.ts.map +0 -1
- package/dist/hooks/useConnectors.js +0 -8
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from '../_virtual/_tslib.js';
|
|
2
|
-
import { useRef, useContext, useEffect } from 'react';
|
|
3
|
-
import { AcceptTermsModalContext, LS_KEY_TERMS_ACCEPTANCE } from '@reef-knot/core-react';
|
|
4
|
-
import { useWeb3 } from './useWeb3.js';
|
|
5
|
-
import { useConnectorStorage } from './useConnectorStorage.js';
|
|
6
|
-
import { useConnectorInfo } from './useConnectorInfo.js';
|
|
7
|
-
import { useDisconnect } from './useDisconnect.js';
|
|
8
|
-
import { isDappBrowserProvider } from '../helpers/providerDetectors.js';
|
|
9
|
-
import '../helpers/ua.js';
|
|
10
|
-
|
|
11
|
-
var isTermsAccepted = () => {
|
|
12
|
-
var _a;
|
|
13
|
-
if (typeof window !== 'undefined') {
|
|
14
|
-
return ((_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.getItem(LS_KEY_TERMS_ACCEPTANCE)) === 'true';
|
|
15
|
-
}
|
|
16
|
-
return false;
|
|
17
|
-
};
|
|
18
|
-
var useAutoConnect = connectors => {
|
|
19
|
-
useEagerConnector(connectors);
|
|
20
|
-
useSaveConnectorToLS();
|
|
21
|
-
useDeleteConnectorFromLS();
|
|
22
|
-
useWatchConnectorInLS();
|
|
23
|
-
};
|
|
24
|
-
var useEagerConnector = connectors => {
|
|
25
|
-
var {
|
|
26
|
-
active,
|
|
27
|
-
activate
|
|
28
|
-
} = useWeb3();
|
|
29
|
-
var [savedConnector] = useConnectorStorage();
|
|
30
|
-
var tried = useRef(false);
|
|
31
|
-
var {
|
|
32
|
-
isConnectedViaWagmi
|
|
33
|
-
} = useConnectorInfo();
|
|
34
|
-
var {
|
|
35
|
-
gnosis,
|
|
36
|
-
ledgerlive,
|
|
37
|
-
injected
|
|
38
|
-
} = connectors;
|
|
39
|
-
var {
|
|
40
|
-
acceptTermsModal
|
|
41
|
-
} = useContext(AcceptTermsModalContext);
|
|
42
|
-
useEffect(() => {
|
|
43
|
-
if (isConnectedViaWagmi || tried.current || active) return;
|
|
44
|
-
void (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
-
var _a, _b;
|
|
46
|
-
tried.current = true;
|
|
47
|
-
var isLedgerApp = ledgerlive === null || ledgerlive === void 0 ? void 0 : ledgerlive.isLedgerApp(); // Ledger Live iframe
|
|
48
|
-
var isSafeApp = yield gnosis === null || gnosis === void 0 ? void 0 : gnosis.isSafeApp(); // Gnosis iframe
|
|
49
|
-
var isDappBrowser = isDappBrowserProvider();
|
|
50
|
-
var shouldAutoConnectApp = isLedgerApp || isSafeApp || isDappBrowser;
|
|
51
|
-
var connector = (() => {
|
|
52
|
-
if (shouldAutoConnectApp) {
|
|
53
|
-
if (isLedgerApp) return ledgerlive;
|
|
54
|
-
if (isSafeApp && gnosis) return gnosis;
|
|
55
|
-
if (isDappBrowser) return injected;
|
|
56
|
-
}
|
|
57
|
-
// Saved in LS
|
|
58
|
-
var saved = savedConnector && connectors[savedConnector];
|
|
59
|
-
if (saved) return saved;
|
|
60
|
-
return null;
|
|
61
|
-
})();
|
|
62
|
-
if (!connector) return;
|
|
63
|
-
var connectWallet = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
|
-
var _c, _d, _e, _f;
|
|
65
|
-
var error = undefined;
|
|
66
|
-
try {
|
|
67
|
-
yield activate(connector, undefined, true);
|
|
68
|
-
} catch (e) {
|
|
69
|
-
error = e;
|
|
70
|
-
}
|
|
71
|
-
if (shouldAutoConnectApp) {
|
|
72
|
-
if (!isTermsAccepted() || error) {
|
|
73
|
-
(_c = acceptTermsModal.setError) === null || _c === void 0 ? void 0 : _c.call(acceptTermsModal, error);
|
|
74
|
-
(_d = acceptTermsModal.setVisible) === null || _d === void 0 ? void 0 : _d.call(acceptTermsModal, true);
|
|
75
|
-
} else {
|
|
76
|
-
(_e = acceptTermsModal.setVisible) === null || _e === void 0 ? void 0 : _e.call(acceptTermsModal, false);
|
|
77
|
-
(_f = acceptTermsModal.setError) === null || _f === void 0 ? void 0 : _f.call(acceptTermsModal, undefined);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
if (shouldAutoConnectApp && !isTermsAccepted()) {
|
|
82
|
-
(_a = acceptTermsModal.setOnContinue) === null || _a === void 0 ? void 0 : _a.call(acceptTermsModal, () => connectWallet);
|
|
83
|
-
(_b = acceptTermsModal.setVisible) === null || _b === void 0 ? void 0 : _b.call(acceptTermsModal, true);
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
yield connectWallet();
|
|
87
|
-
}))();
|
|
88
|
-
}, [activate, active, isConnectedViaWagmi, ledgerlive, gnosis, savedConnector, connectors, injected, acceptTermsModal]);
|
|
89
|
-
};
|
|
90
|
-
var useSaveConnectorToLS = () => {
|
|
91
|
-
var [, saveConnector] = useConnectorStorage();
|
|
92
|
-
var {
|
|
93
|
-
isInjected,
|
|
94
|
-
isDappBrowser,
|
|
95
|
-
isConnectedViaWagmi
|
|
96
|
-
} = useConnectorInfo();
|
|
97
|
-
useEffect(() => {
|
|
98
|
-
if (!isConnectedViaWagmi && isInjected && !isDappBrowser) return saveConnector('injected');
|
|
99
|
-
}, [isInjected, isDappBrowser, saveConnector, isConnectedViaWagmi]);
|
|
100
|
-
};
|
|
101
|
-
var useDeleteConnectorFromLS = () => {
|
|
102
|
-
var [, saveConnector] = useConnectorStorage();
|
|
103
|
-
var {
|
|
104
|
-
active
|
|
105
|
-
} = useWeb3();
|
|
106
|
-
var lastState = useRef(active);
|
|
107
|
-
useEffect(() => {
|
|
108
|
-
var isStateChanged = lastState.current !== active;
|
|
109
|
-
var isDisconnected = !active;
|
|
110
|
-
lastState.current = active;
|
|
111
|
-
if (isStateChanged && isDisconnected) {
|
|
112
|
-
saveConnector(null);
|
|
113
|
-
}
|
|
114
|
-
}, [active, saveConnector]);
|
|
115
|
-
};
|
|
116
|
-
var useWatchConnectorInLS = () => {
|
|
117
|
-
var [savedConnector] = useConnectorStorage();
|
|
118
|
-
var {
|
|
119
|
-
disconnect
|
|
120
|
-
} = useDisconnect();
|
|
121
|
-
var lastConnector = useRef(savedConnector);
|
|
122
|
-
useEffect(() => {
|
|
123
|
-
var isConnectorChanged = lastConnector.current !== savedConnector;
|
|
124
|
-
var isDisconnected = !savedConnector;
|
|
125
|
-
lastConnector.current = savedConnector;
|
|
126
|
-
if (isConnectorChanged && isDisconnected) {
|
|
127
|
-
disconnect === null || disconnect === void 0 ? void 0 : disconnect();
|
|
128
|
-
}
|
|
129
|
-
}, [savedConnector, disconnect]);
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
export { useAutoConnect, useDeleteConnectorFromLS, useEagerConnector, useSaveConnectorToLS, useWatchConnectorInLS };
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { ConnectorsContextValue } from '../context';
|
|
3
|
-
export declare const useConnectorStorage: () => [storedValue: keyof ConnectorsContextValue | null, setValue: import("react").Dispatch<import("react").SetStateAction<keyof ConnectorsContextValue | null>>];
|
|
4
|
-
//# sourceMappingURL=useConnectorStorage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectorStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectorStorage.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,mBAAmB,mKAI7B,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { useLocalStorage } from '@lido-sdk/react';
|
|
2
|
-
import { STORAGE_CONNECTOR_KEY } from '../constants/storage.js';
|
|
3
|
-
import '../constants/connectors.js';
|
|
4
|
-
|
|
5
|
-
var useConnectorStorage = () => useLocalStorage(STORAGE_CONNECTOR_KEY, null);
|
|
6
|
-
|
|
7
|
-
export { useConnectorStorage };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectors.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectors.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,aAAa,QAAO,sBAEhC,CAAC"}
|