@reef-knot/web3-react 0.0.1
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/.turbo/turbo-build.log +7 -0
- package/.turbo/turbo-lint.log +1 -0
- package/LICENSE.txt +21 -0
- package/README.md +129 -0
- package/dist/cjs/_virtual/_tslib.js +83 -0
- package/dist/cjs/constants/connectors.d.ts +32 -0
- package/dist/cjs/constants/connectors.d.ts.map +1 -0
- package/dist/cjs/constants/connectors.js +37 -0
- package/dist/cjs/constants/index.d.ts +4 -0
- package/dist/cjs/constants/index.d.ts.map +1 -0
- package/dist/cjs/constants/storage.d.ts +2 -0
- package/dist/cjs/constants/storage.d.ts.map +1 -0
- package/dist/cjs/constants/storage.js +7 -0
- package/dist/cjs/constants/web3.d.ts +2 -0
- package/dist/cjs/constants/web3.d.ts.map +1 -0
- package/dist/cjs/constants/web3.js +7 -0
- package/dist/cjs/context/connectors.d.ts +30 -0
- package/dist/cjs/context/connectors.d.ts.map +1 -0
- package/dist/cjs/context/connectors.js +103 -0
- package/dist/cjs/context/index.d.ts +5 -0
- package/dist/cjs/context/index.d.ts.map +1 -0
- package/dist/cjs/context/web3.d.ts +14 -0
- package/dist/cjs/context/web3.d.ts.map +1 -0
- package/dist/cjs/context/web3.js +82 -0
- package/dist/cjs/helpers/index.d.ts +5 -0
- package/dist/cjs/helpers/index.d.ts.map +1 -0
- package/dist/cjs/helpers/index.js +40 -0
- package/dist/cjs/helpers/interceptLedgerError.d.ts +5 -0
- package/dist/cjs/helpers/interceptLedgerError.d.ts.map +1 -0
- package/dist/cjs/helpers/interceptLedgerError.js +20 -0
- package/dist/cjs/helpers/isUrl.d.ts +2 -0
- package/dist/cjs/helpers/isUrl.d.ts.map +1 -0
- package/dist/cjs/helpers/isUrl.js +10 -0
- package/dist/cjs/helpers/providerDetectors.d.ts +41 -0
- package/dist/cjs/helpers/providerDetectors.d.ts.map +1 -0
- package/dist/cjs/helpers/providerDetectors.js +164 -0
- package/dist/cjs/helpers/ua.d.ts +13 -0
- package/dist/cjs/helpers/ua.d.ts.map +1 -0
- package/dist/cjs/helpers/ua.js +49 -0
- package/dist/cjs/hooks/index.d.ts +25 -0
- package/dist/cjs/hooks/index.d.ts.map +1 -0
- package/dist/cjs/hooks/useAutoConnect.d.ts +7 -0
- package/dist/cjs/hooks/useAutoConnect.d.ts.map +1 -0
- package/dist/cjs/hooks/useAutoConnect.js +133 -0
- package/dist/cjs/hooks/useConnectorBraveWallet.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorBraveWallet.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorBraveWallet.js +60 -0
- package/dist/cjs/hooks/useConnectorCoin98.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorCoin98.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorCoin98.js +62 -0
- package/dist/cjs/hooks/useConnectorCoinbase.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorCoinbase.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorCoinbase.js +35 -0
- package/dist/cjs/hooks/useConnectorError.d.ts +2 -0
- package/dist/cjs/hooks/useConnectorError.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorError.js +22 -0
- package/dist/cjs/hooks/useConnectorExodus.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorExodus.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorExodus.js +60 -0
- package/dist/cjs/hooks/useConnectorGamestop.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorGamestop.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorGamestop.js +60 -0
- package/dist/cjs/hooks/useConnectorImToken.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorImToken.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorImToken.js +61 -0
- package/dist/cjs/hooks/useConnectorInfo.d.ts +27 -0
- package/dist/cjs/hooks/useConnectorInfo.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorInfo.js +106 -0
- package/dist/cjs/hooks/useConnectorLedger.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorLedger.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorLedger.js +35 -0
- package/dist/cjs/hooks/useConnectorMathWallet.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorMathWallet.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorMathWallet.js +68 -0
- package/dist/cjs/hooks/useConnectorMetamask.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorMetamask.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorMetamask.js +76 -0
- package/dist/cjs/hooks/useConnectorOperaWallet.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorOperaWallet.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorOperaWallet.js +60 -0
- package/dist/cjs/hooks/useConnectorStorage.d.ts +3 -0
- package/dist/cjs/hooks/useConnectorStorage.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorStorage.js +14 -0
- package/dist/cjs/hooks/useConnectorTally.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorTally.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorTally.js +54 -0
- package/dist/cjs/hooks/useConnectorTrust.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorTrust.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorTrust.js +61 -0
- package/dist/cjs/hooks/useConnectorWalletConnect.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorWalletConnect.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorWalletConnect.js +37 -0
- package/dist/cjs/hooks/useConnectorWalletConnectNoLinks.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorWalletConnectNoLinks.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorWalletConnectNoLinks.js +37 -0
- package/dist/cjs/hooks/useConnectorWalletConnectUri.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorWalletConnectUri.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorWalletConnectUri.js +37 -0
- package/dist/cjs/hooks/useConnectorXdefi.d.ts +8 -0
- package/dist/cjs/hooks/useConnectorXdefi.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectorXdefi.js +60 -0
- package/dist/cjs/hooks/useConnectors.d.ts +3 -0
- package/dist/cjs/hooks/useConnectors.d.ts.map +1 -0
- package/dist/cjs/hooks/useConnectors.js +13 -0
- package/dist/cjs/hooks/useDisconnect.d.ts +7 -0
- package/dist/cjs/hooks/useDisconnect.d.ts.map +1 -0
- package/dist/cjs/hooks/useDisconnect.js +55 -0
- package/dist/cjs/hooks/useSupportedChains.d.ts +6 -0
- package/dist/cjs/hooks/useSupportedChains.d.ts.map +1 -0
- package/dist/cjs/hooks/useSupportedChains.js +29 -0
- package/dist/cjs/hooks/useWeb3.d.ts +4 -0
- package/dist/cjs/hooks/useWeb3.d.ts.map +1 -0
- package/dist/cjs/hooks/useWeb3.js +13 -0
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +85 -0
- package/dist/esm/_virtual/_tslib.js +77 -0
- package/dist/esm/constants/connectors.d.ts +32 -0
- package/dist/esm/constants/connectors.d.ts.map +1 -0
- package/dist/esm/constants/connectors.js +35 -0
- package/dist/esm/constants/index.d.ts +4 -0
- package/dist/esm/constants/index.d.ts.map +1 -0
- package/dist/esm/constants/storage.d.ts +2 -0
- package/dist/esm/constants/storage.d.ts.map +1 -0
- package/dist/esm/constants/storage.js +3 -0
- package/dist/esm/constants/web3.d.ts +2 -0
- package/dist/esm/constants/web3.d.ts.map +1 -0
- package/dist/esm/constants/web3.js +3 -0
- package/dist/esm/context/connectors.d.ts +30 -0
- package/dist/esm/context/connectors.d.ts.map +1 -0
- package/dist/esm/context/connectors.js +98 -0
- package/dist/esm/context/index.d.ts +5 -0
- package/dist/esm/context/index.d.ts.map +1 -0
- package/dist/esm/context/web3.d.ts +14 -0
- package/dist/esm/context/web3.d.ts.map +1 -0
- package/dist/esm/context/web3.js +74 -0
- package/dist/esm/helpers/index.d.ts +5 -0
- package/dist/esm/helpers/index.d.ts.map +1 -0
- package/dist/esm/helpers/index.js +4 -0
- package/dist/esm/helpers/interceptLedgerError.d.ts +5 -0
- package/dist/esm/helpers/interceptLedgerError.d.ts.map +1 -0
- package/dist/esm/helpers/interceptLedgerError.js +15 -0
- package/dist/esm/helpers/isUrl.d.ts +2 -0
- package/dist/esm/helpers/isUrl.d.ts.map +1 -0
- package/dist/esm/helpers/isUrl.js +6 -0
- package/dist/esm/helpers/providerDetectors.d.ts +41 -0
- package/dist/esm/helpers/providerDetectors.d.ts.map +1 -0
- package/dist/esm/helpers/providerDetectors.js +145 -0
- package/dist/esm/helpers/ua.d.ts +13 -0
- package/dist/esm/helpers/ua.d.ts.map +1 -0
- package/dist/esm/helpers/ua.js +35 -0
- package/dist/esm/hooks/index.d.ts +25 -0
- package/dist/esm/hooks/index.d.ts.map +1 -0
- package/dist/esm/hooks/useAutoConnect.d.ts +7 -0
- package/dist/esm/hooks/useAutoConnect.d.ts.map +1 -0
- package/dist/esm/hooks/useAutoConnect.js +121 -0
- package/dist/esm/hooks/useConnectorBraveWallet.d.ts +8 -0
- package/dist/esm/hooks/useConnectorBraveWallet.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorBraveWallet.js +51 -0
- package/dist/esm/hooks/useConnectorCoin98.d.ts +8 -0
- package/dist/esm/hooks/useConnectorCoin98.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorCoin98.js +54 -0
- package/dist/esm/hooks/useConnectorCoinbase.d.ts +8 -0
- package/dist/esm/hooks/useConnectorCoinbase.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorCoinbase.js +31 -0
- package/dist/esm/hooks/useConnectorError.d.ts +2 -0
- package/dist/esm/hooks/useConnectorError.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorError.js +18 -0
- package/dist/esm/hooks/useConnectorExodus.d.ts +8 -0
- package/dist/esm/hooks/useConnectorExodus.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorExodus.js +51 -0
- package/dist/esm/hooks/useConnectorGamestop.d.ts +8 -0
- package/dist/esm/hooks/useConnectorGamestop.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorGamestop.js +51 -0
- package/dist/esm/hooks/useConnectorImToken.d.ts +8 -0
- package/dist/esm/hooks/useConnectorImToken.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorImToken.js +52 -0
- package/dist/esm/hooks/useConnectorInfo.d.ts +27 -0
- package/dist/esm/hooks/useConnectorInfo.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorInfo.js +102 -0
- package/dist/esm/hooks/useConnectorLedger.d.ts +8 -0
- package/dist/esm/hooks/useConnectorLedger.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorLedger.js +31 -0
- package/dist/esm/hooks/useConnectorMathWallet.d.ts +8 -0
- package/dist/esm/hooks/useConnectorMathWallet.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorMathWallet.js +60 -0
- package/dist/esm/hooks/useConnectorMetamask.d.ts +8 -0
- package/dist/esm/hooks/useConnectorMetamask.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorMetamask.js +67 -0
- package/dist/esm/hooks/useConnectorOperaWallet.d.ts +8 -0
- package/dist/esm/hooks/useConnectorOperaWallet.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorOperaWallet.js +51 -0
- package/dist/esm/hooks/useConnectorStorage.d.ts +3 -0
- package/dist/esm/hooks/useConnectorStorage.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorStorage.js +10 -0
- package/dist/esm/hooks/useConnectorTally.d.ts +8 -0
- package/dist/esm/hooks/useConnectorTally.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorTally.js +46 -0
- package/dist/esm/hooks/useConnectorTrust.d.ts +8 -0
- package/dist/esm/hooks/useConnectorTrust.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorTrust.js +52 -0
- package/dist/esm/hooks/useConnectorWalletConnect.d.ts +8 -0
- package/dist/esm/hooks/useConnectorWalletConnect.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorWalletConnect.js +33 -0
- package/dist/esm/hooks/useConnectorWalletConnectNoLinks.d.ts +8 -0
- package/dist/esm/hooks/useConnectorWalletConnectNoLinks.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorWalletConnectNoLinks.js +33 -0
- package/dist/esm/hooks/useConnectorWalletConnectUri.d.ts +8 -0
- package/dist/esm/hooks/useConnectorWalletConnectUri.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorWalletConnectUri.js +33 -0
- package/dist/esm/hooks/useConnectorXdefi.d.ts +8 -0
- package/dist/esm/hooks/useConnectorXdefi.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectorXdefi.js +51 -0
- package/dist/esm/hooks/useConnectors.d.ts +3 -0
- package/dist/esm/hooks/useConnectors.d.ts.map +1 -0
- package/dist/esm/hooks/useConnectors.js +9 -0
- package/dist/esm/hooks/useDisconnect.d.ts +7 -0
- package/dist/esm/hooks/useDisconnect.d.ts.map +1 -0
- package/dist/esm/hooks/useDisconnect.js +50 -0
- package/dist/esm/hooks/useSupportedChains.d.ts +6 -0
- package/dist/esm/hooks/useSupportedChains.d.ts.map +1 -0
- package/dist/esm/hooks/useSupportedChains.js +25 -0
- package/dist/esm/hooks/useWeb3.d.ts +4 -0
- package/dist/esm/hooks/useWeb3.d.ts.map +1 -0
- package/dist/esm/hooks/useWeb3.js +6 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +32 -0
- package/package.json +53 -0
- package/rollup.config.js +62 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { __awaiter, __generator } from '../_virtual/_tslib.js';
|
|
2
|
+
import invariant from 'tiny-invariant';
|
|
3
|
+
import warning from 'tiny-warning';
|
|
4
|
+
import { useCallback } from 'react';
|
|
5
|
+
import { openWindow } from '@lido-sdk/helpers';
|
|
6
|
+
import { useConnectors } from './useConnectors.js';
|
|
7
|
+
import { useWeb3 } from './useWeb3.js';
|
|
8
|
+
import { hasInjected, isExodusProvider } from '../helpers/providerDetectors.js';
|
|
9
|
+
import '../helpers/ua.js';
|
|
10
|
+
import { useForceDisconnect } from './useDisconnect.js';
|
|
11
|
+
|
|
12
|
+
var WALLET_URL = 'https://www.exodus.com/browser-extension/';
|
|
13
|
+
var useConnectorExodus = function () {
|
|
14
|
+
var injected = useConnectors().injected;
|
|
15
|
+
var activate = useWeb3().activate;
|
|
16
|
+
var disconnect = useForceDisconnect().disconnect;
|
|
17
|
+
var suggestApp = useCallback(function () {
|
|
18
|
+
try {
|
|
19
|
+
openWindow(WALLET_URL);
|
|
20
|
+
} catch (error) {
|
|
21
|
+
warning(false, 'Failed to open the link');
|
|
22
|
+
}
|
|
23
|
+
}, []);
|
|
24
|
+
var connect = useCallback(function () {
|
|
25
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
26
|
+
return __generator(this, function (_a) {
|
|
27
|
+
switch (_a.label) {
|
|
28
|
+
case 0:
|
|
29
|
+
invariant(injected, 'Connector is required');
|
|
30
|
+
if (!(hasInjected() && isExodusProvider())) return [3 /*break*/, 2];
|
|
31
|
+
return [4 /*yield*/, disconnect()];
|
|
32
|
+
case 1:
|
|
33
|
+
_a.sent();
|
|
34
|
+
activate(injected);
|
|
35
|
+
return [3 /*break*/, 3];
|
|
36
|
+
case 2:
|
|
37
|
+
suggestApp();
|
|
38
|
+
_a.label = 3;
|
|
39
|
+
case 3:
|
|
40
|
+
return [2 /*return*/];
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}, [activate, disconnect, suggestApp, injected]);
|
|
45
|
+
return {
|
|
46
|
+
connect: connect,
|
|
47
|
+
connector: injected
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { useConnectorExodus };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectedConnector } from '@web3-react/injected-connector';
|
|
2
|
+
declare type ConnectorHookResult = {
|
|
3
|
+
connect: () => Promise<void>;
|
|
4
|
+
connector: InjectedConnector;
|
|
5
|
+
};
|
|
6
|
+
export declare const useConnectorGamestop: () => ConnectorHookResult;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=useConnectorGamestop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectorGamestop.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorGamestop.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,aAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAIF,eAAO,MAAM,oBAAoB,QAAO,mBAyBvC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { __awaiter, __generator } from '../_virtual/_tslib.js';
|
|
2
|
+
import invariant from 'tiny-invariant';
|
|
3
|
+
import warning from 'tiny-warning';
|
|
4
|
+
import { useCallback } from 'react';
|
|
5
|
+
import { openWindow } from '@lido-sdk/helpers';
|
|
6
|
+
import { useConnectors } from './useConnectors.js';
|
|
7
|
+
import { useWeb3 } from './useWeb3.js';
|
|
8
|
+
import { hasInjected, isGamestopProvider } from '../helpers/providerDetectors.js';
|
|
9
|
+
import '../helpers/ua.js';
|
|
10
|
+
import { useForceDisconnect } from './useDisconnect.js';
|
|
11
|
+
|
|
12
|
+
var WALLET_URL = 'https://wallet.gamestop.com/';
|
|
13
|
+
var useConnectorGamestop = function () {
|
|
14
|
+
var injected = useConnectors().injected;
|
|
15
|
+
var activate = useWeb3().activate;
|
|
16
|
+
var disconnect = useForceDisconnect().disconnect;
|
|
17
|
+
var suggestApp = useCallback(function () {
|
|
18
|
+
try {
|
|
19
|
+
openWindow(WALLET_URL);
|
|
20
|
+
} catch (error) {
|
|
21
|
+
warning(false, 'Failed to open the link');
|
|
22
|
+
}
|
|
23
|
+
}, []);
|
|
24
|
+
var connect = useCallback(function () {
|
|
25
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
26
|
+
return __generator(this, function (_a) {
|
|
27
|
+
switch (_a.label) {
|
|
28
|
+
case 0:
|
|
29
|
+
invariant(injected, 'Connector is required');
|
|
30
|
+
if (!(hasInjected() && isGamestopProvider())) return [3 /*break*/, 2];
|
|
31
|
+
return [4 /*yield*/, disconnect()];
|
|
32
|
+
case 1:
|
|
33
|
+
_a.sent();
|
|
34
|
+
activate(injected);
|
|
35
|
+
return [3 /*break*/, 3];
|
|
36
|
+
case 2:
|
|
37
|
+
suggestApp();
|
|
38
|
+
_a.label = 3;
|
|
39
|
+
case 3:
|
|
40
|
+
return [2 /*return*/];
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}, [activate, disconnect, suggestApp, injected]);
|
|
45
|
+
return {
|
|
46
|
+
connect: connect,
|
|
47
|
+
connector: injected
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { useConnectorGamestop };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectedConnector } from '@web3-react/injected-connector';
|
|
2
|
+
declare type ConnectorHookResult = {
|
|
3
|
+
connect: () => Promise<void>;
|
|
4
|
+
connector: InjectedConnector;
|
|
5
|
+
};
|
|
6
|
+
export declare const useConnectorImToken: () => ConnectorHookResult;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=useConnectorImToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectorImToken.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorImToken.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,aAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAIF,eAAO,MAAM,mBAAmB,QAAO,mBA6BtC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { __awaiter, __generator } from '../_virtual/_tslib.js';
|
|
2
|
+
import invariant from 'tiny-invariant';
|
|
3
|
+
import warning from 'tiny-warning';
|
|
4
|
+
import { useCallback } from 'react';
|
|
5
|
+
import { openWindow } from '@lido-sdk/helpers';
|
|
6
|
+
import { useConnectors } from './useConnectors.js';
|
|
7
|
+
import { useWeb3 } from './useWeb3.js';
|
|
8
|
+
import { hasInjected, isImTokenProvider } from '../helpers/providerDetectors.js';
|
|
9
|
+
import '../helpers/ua.js';
|
|
10
|
+
import { useForceDisconnect } from './useDisconnect.js';
|
|
11
|
+
|
|
12
|
+
var WALLET_URL = 'imtokenv2://navigate/DappView?url=';
|
|
13
|
+
var useConnectorImToken = function () {
|
|
14
|
+
var injected = useConnectors().injected;
|
|
15
|
+
var activate = useWeb3().activate;
|
|
16
|
+
var disconnect = useForceDisconnect().disconnect;
|
|
17
|
+
var openInWallet = useCallback(function () {
|
|
18
|
+
try {
|
|
19
|
+
var pageUrl = encodeURIComponent(window.location.href);
|
|
20
|
+
openWindow("".concat(WALLET_URL).concat(pageUrl));
|
|
21
|
+
} catch (error) {
|
|
22
|
+
warning(false, 'Failed to open the link');
|
|
23
|
+
}
|
|
24
|
+
}, []);
|
|
25
|
+
var connect = useCallback(function () {
|
|
26
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
27
|
+
return __generator(this, function (_a) {
|
|
28
|
+
switch (_a.label) {
|
|
29
|
+
case 0:
|
|
30
|
+
invariant(injected, 'Connector is required');
|
|
31
|
+
if (!(hasInjected() && isImTokenProvider())) return [3 /*break*/, 2];
|
|
32
|
+
return [4 /*yield*/, disconnect()];
|
|
33
|
+
case 1:
|
|
34
|
+
_a.sent();
|
|
35
|
+
activate(injected);
|
|
36
|
+
return [3 /*break*/, 3];
|
|
37
|
+
case 2:
|
|
38
|
+
openInWallet();
|
|
39
|
+
_a.label = 3;
|
|
40
|
+
case 3:
|
|
41
|
+
return [2 /*return*/];
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}, [activate, disconnect, openInWallet, injected]);
|
|
46
|
+
return {
|
|
47
|
+
connect: connect,
|
|
48
|
+
connector: injected
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export { useConnectorImToken };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Connector } from '../context';
|
|
2
|
+
declare type ConnectorInfo = {
|
|
3
|
+
providerName?: string;
|
|
4
|
+
connectorName?: Connector;
|
|
5
|
+
isGnosis: boolean;
|
|
6
|
+
isLedger: boolean;
|
|
7
|
+
isLedgerLive: boolean;
|
|
8
|
+
isWalletConnect: boolean;
|
|
9
|
+
isWalletLink: boolean;
|
|
10
|
+
isCoinbase: boolean;
|
|
11
|
+
isMetamask: boolean;
|
|
12
|
+
isCoin98: boolean;
|
|
13
|
+
isMathWallet: boolean;
|
|
14
|
+
isImToken: boolean;
|
|
15
|
+
isTrust: boolean;
|
|
16
|
+
isTally: boolean;
|
|
17
|
+
isBraveWallet: boolean;
|
|
18
|
+
isOperaWallet: boolean;
|
|
19
|
+
isExodus: boolean;
|
|
20
|
+
isGamestop: boolean;
|
|
21
|
+
isXdefi: boolean;
|
|
22
|
+
isDappBrowser: boolean;
|
|
23
|
+
isInjected: boolean;
|
|
24
|
+
};
|
|
25
|
+
export declare const useConnectorInfo: () => ConnectorInfo;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=useConnectorInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectorInfo.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorInfo.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAiBvC,aAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,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,aAsGnC,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { SafeAppConnector } from '@gnosis.pm/safe-apps-web3-react';
|
|
2
|
+
import { InjectedConnector } from '@web3-react/injected-connector';
|
|
3
|
+
import { WalletConnectConnector } from '@web3-react/walletconnect-connector';
|
|
4
|
+
import { WalletLinkConnector } from '@web3-react/walletlink-connector';
|
|
5
|
+
import { LedgerHQFrameConnector } from 'web3-ledgerhq-frame-connector';
|
|
6
|
+
import { LedgerHQConnector } from 'web3-ledgerhq-connector';
|
|
7
|
+
import { useWeb3 } from './useWeb3.js';
|
|
8
|
+
import { PROVIDER_NAMES, CONNECTOR_NAMES } from '../constants/connectors.js';
|
|
9
|
+
import { isCoinbaseProvider, isDappBrowserProvider, isMetamaskProvider, isCoin98Provider, isMathWalletProvider, isImTokenProvider, isTrustProvider, isTallyProvider, isBraveWalletProvider, isOperaWalletProvider, isExodusProvider, isGamestopProvider, isXdefiProvider } from '../helpers/providerDetectors.js';
|
|
10
|
+
import '../helpers/ua.js';
|
|
11
|
+
|
|
12
|
+
var useConnectorInfo = function () {
|
|
13
|
+
var _a = useWeb3(),
|
|
14
|
+
active = _a.active,
|
|
15
|
+
connector = _a.connector;
|
|
16
|
+
var isGnosis = active && connector instanceof SafeAppConnector;
|
|
17
|
+
var isWalletConnect = active && connector instanceof WalletConnectConnector;
|
|
18
|
+
var isLedgerLive = active && connector instanceof LedgerHQFrameConnector;
|
|
19
|
+
var isLedger = connector instanceof LedgerHQConnector;
|
|
20
|
+
// WalletLink is used by Coinbase, but it can be used by other wallets too.
|
|
21
|
+
var isWalletLink = active && connector instanceof WalletLinkConnector;
|
|
22
|
+
// This detection doesn't work for the connection via QR code scanning.
|
|
23
|
+
var isCoinbase = active && isCoinbaseProvider();
|
|
24
|
+
var isInjected = active && connector instanceof InjectedConnector;
|
|
25
|
+
var isDappBrowser = isInjected && isDappBrowserProvider();
|
|
26
|
+
var isMetamask = isInjected && isMetamaskProvider();
|
|
27
|
+
var isCoin98 = isInjected && isCoin98Provider();
|
|
28
|
+
var isMathWallet = isInjected && isMathWalletProvider();
|
|
29
|
+
var isImToken = isInjected && isImTokenProvider();
|
|
30
|
+
var isTrust = isInjected && isTrustProvider();
|
|
31
|
+
var isTally = isInjected && isTallyProvider();
|
|
32
|
+
var isBraveWallet = isInjected && isBraveWalletProvider();
|
|
33
|
+
var isOperaWallet = isInjected && isOperaWalletProvider();
|
|
34
|
+
var isExodus = isInjected && isExodusProvider();
|
|
35
|
+
var isGamestop = isInjected && isGamestopProvider();
|
|
36
|
+
var isXdefi = isInjected && isXdefiProvider();
|
|
37
|
+
var providerName = function () {
|
|
38
|
+
if (isGnosis) return PROVIDER_NAMES.GNOSIS;
|
|
39
|
+
if (isLedger) return PROVIDER_NAMES.LEDGER;
|
|
40
|
+
if (isLedgerLive) return PROVIDER_NAMES.LEDGER_HQ_LIVE;
|
|
41
|
+
if (isWalletConnect) return PROVIDER_NAMES.WALLET_CONNECT;
|
|
42
|
+
if (isImToken) return PROVIDER_NAMES.IM_TOKEN;
|
|
43
|
+
if (isTrust) return PROVIDER_NAMES.TRUST;
|
|
44
|
+
// Wallets which has conflicts with each other.
|
|
45
|
+
// The order of wallets checks here is important.
|
|
46
|
+
// Most "aggressive" wallet, which overrides other wallets, goes first.
|
|
47
|
+
if (isTally) return PROVIDER_NAMES.TALLY;
|
|
48
|
+
if (isExodus) return PROVIDER_NAMES.EXODUS;
|
|
49
|
+
if (isXdefi) return PROVIDER_NAMES.XDEFI;
|
|
50
|
+
if (isGamestop) return PROVIDER_NAMES.GAMESTOP;
|
|
51
|
+
if (isMathWallet) return PROVIDER_NAMES.MATH_WALLET;
|
|
52
|
+
if (isCoin98) return PROVIDER_NAMES.COIN98;
|
|
53
|
+
if (isCoinbase) return PROVIDER_NAMES.COINBASE;
|
|
54
|
+
if (isOperaWallet) return PROVIDER_NAMES.OPERA;
|
|
55
|
+
if (isBraveWallet) return PROVIDER_NAMES.BRAVE;
|
|
56
|
+
// Metamask should be last in this list because almost all EIP-1193 wallets
|
|
57
|
+
// are trying to mimic Metamask by setting isMetamask = true
|
|
58
|
+
if (isMetamask) return PROVIDER_NAMES.METAMASK;
|
|
59
|
+
// General providers which doesn't specify what exact wallet is being used.
|
|
60
|
+
// Works as a fallback.
|
|
61
|
+
if (isWalletLink) return PROVIDER_NAMES.WALLET_LINK;
|
|
62
|
+
if (isInjected) return PROVIDER_NAMES.INJECTED;
|
|
63
|
+
return undefined;
|
|
64
|
+
}();
|
|
65
|
+
var connectorName = function () {
|
|
66
|
+
if (isCoinbase) return CONNECTOR_NAMES.COINBASE;
|
|
67
|
+
if (isGnosis) return CONNECTOR_NAMES.GNOSIS;
|
|
68
|
+
if (isLedger) return CONNECTOR_NAMES.LEDGER;
|
|
69
|
+
if (isLedgerLive) return CONNECTOR_NAMES.LEDGER_HQ_LIVE;
|
|
70
|
+
if (isWalletConnect) return CONNECTOR_NAMES.WALLET_CONNECT;
|
|
71
|
+
// General providers which doesn't specify what exact wallet is being used.
|
|
72
|
+
// Works as a fallback.
|
|
73
|
+
if (isWalletLink) return CONNECTOR_NAMES.WALLET_LINK;
|
|
74
|
+
if (isInjected) return CONNECTOR_NAMES.INJECTED;
|
|
75
|
+
return undefined;
|
|
76
|
+
}();
|
|
77
|
+
return {
|
|
78
|
+
connectorName: connectorName,
|
|
79
|
+
providerName: providerName,
|
|
80
|
+
isGnosis: isGnosis,
|
|
81
|
+
isLedger: isLedger,
|
|
82
|
+
isLedgerLive: isLedgerLive,
|
|
83
|
+
isWalletConnect: isWalletConnect,
|
|
84
|
+
isWalletLink: isWalletLink,
|
|
85
|
+
isCoinbase: isCoinbase,
|
|
86
|
+
isMetamask: isMetamask,
|
|
87
|
+
isCoin98: isCoin98,
|
|
88
|
+
isMathWallet: isMathWallet,
|
|
89
|
+
isImToken: isImToken,
|
|
90
|
+
isTrust: isTrust,
|
|
91
|
+
isTally: isTally,
|
|
92
|
+
isBraveWallet: isBraveWallet,
|
|
93
|
+
isOperaWallet: isOperaWallet,
|
|
94
|
+
isExodus: isExodus,
|
|
95
|
+
isGamestop: isGamestop,
|
|
96
|
+
isXdefi: isXdefi,
|
|
97
|
+
isDappBrowser: isDappBrowser,
|
|
98
|
+
isInjected: isInjected
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
export { useConnectorInfo };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { LedgerHQConnector } from 'web3-ledgerhq-connector';
|
|
2
|
+
declare type ConnectorHookResult = {
|
|
3
|
+
connect: () => Promise<void>;
|
|
4
|
+
connector: LedgerHQConnector;
|
|
5
|
+
};
|
|
6
|
+
export declare const useConnectorLedger: () => ConnectorHookResult;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=useConnectorLedger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectorLedger.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorLedger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D,aAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,mBAcrC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { __awaiter, __generator } from '../_virtual/_tslib.js';
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
import { useConnectors } from './useConnectors.js';
|
|
4
|
+
import { useForceDisconnect } from './useDisconnect.js';
|
|
5
|
+
import { useWeb3 } from './useWeb3.js';
|
|
6
|
+
|
|
7
|
+
var useConnectorLedger = function () {
|
|
8
|
+
var ledger = useConnectors().ledger;
|
|
9
|
+
var activate = useWeb3().activate;
|
|
10
|
+
var disconnect = useForceDisconnect().disconnect;
|
|
11
|
+
var connect = useCallback(function () {
|
|
12
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
13
|
+
return __generator(this, function (_a) {
|
|
14
|
+
switch (_a.label) {
|
|
15
|
+
case 0:
|
|
16
|
+
return [4 /*yield*/, disconnect()];
|
|
17
|
+
case 1:
|
|
18
|
+
_a.sent();
|
|
19
|
+
activate(ledger);
|
|
20
|
+
return [2 /*return*/];
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}, [activate, disconnect, ledger]);
|
|
25
|
+
return {
|
|
26
|
+
connect: connect,
|
|
27
|
+
connector: ledger
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { useConnectorLedger };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectedConnector } from '@web3-react/injected-connector';
|
|
2
|
+
declare type ConnectorHookResult = {
|
|
3
|
+
connect: () => Promise<void>;
|
|
4
|
+
connector: InjectedConnector;
|
|
5
|
+
};
|
|
6
|
+
export declare const useConnectorMathWallet: () => ConnectorHookResult;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=useConnectorMathWallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectorMathWallet.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorMathWallet.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,aAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAWF,eAAO,MAAM,sBAAsB,QAAO,mBA+BzC,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { __awaiter, __generator } from '../_virtual/_tslib.js';
|
|
2
|
+
import invariant from 'tiny-invariant';
|
|
3
|
+
import { useCallback } from 'react';
|
|
4
|
+
import { openWindow } from '@lido-sdk/helpers';
|
|
5
|
+
import { useConnectors } from './useConnectors.js';
|
|
6
|
+
import { useWeb3 } from './useWeb3.js';
|
|
7
|
+
import { hasInjected, isMathWalletProvider } from '../helpers/providerDetectors.js';
|
|
8
|
+
import { isAndroid, isIOS, isEdge, isFirefox } from '../helpers/ua.js';
|
|
9
|
+
import { useForceDisconnect } from './useDisconnect.js';
|
|
10
|
+
|
|
11
|
+
var WALLET_URL_ANDROID = 'https://play.google.com/store/apps/details?id=com.mathwallet.android';
|
|
12
|
+
var WALLET_URL_IOS = 'https://apps.apple.com/ru/app/mathwallet5/id1582612388';
|
|
13
|
+
var WALLET_URL_CHROME = 'https://chrome.google.com/webstore/detail/math-wallet/afbcbjpbpfadlkmhmclhkeeodmamcflc';
|
|
14
|
+
var WALLET_URL_EDGE = 'https://microsoftedge.microsoft.com/addons/detail/math-wallet/dfeccadlilpndjjohbjdblepmjeahlmm';
|
|
15
|
+
var WALLET_URL_FIREFOX = 'https://mathwallet.org/en-us/#extension';
|
|
16
|
+
var useConnectorMathWallet = function () {
|
|
17
|
+
var injected = useConnectors().injected;
|
|
18
|
+
var activate = useWeb3().activate;
|
|
19
|
+
var disconnect = useForceDisconnect().disconnect;
|
|
20
|
+
var suggestApp = useCallback(function () {
|
|
21
|
+
if (isAndroid) {
|
|
22
|
+
openWindow(WALLET_URL_ANDROID);
|
|
23
|
+
} else if (isIOS) {
|
|
24
|
+
openWindow(WALLET_URL_IOS);
|
|
25
|
+
} else if (isEdge) {
|
|
26
|
+
openWindow(WALLET_URL_EDGE);
|
|
27
|
+
} else if (isFirefox) {
|
|
28
|
+
openWindow(WALLET_URL_FIREFOX);
|
|
29
|
+
} else {
|
|
30
|
+
openWindow(WALLET_URL_CHROME);
|
|
31
|
+
}
|
|
32
|
+
}, []);
|
|
33
|
+
var connect = useCallback(function () {
|
|
34
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
35
|
+
return __generator(this, function (_a) {
|
|
36
|
+
switch (_a.label) {
|
|
37
|
+
case 0:
|
|
38
|
+
invariant(injected, 'Connector is required');
|
|
39
|
+
if (!(hasInjected() && isMathWalletProvider())) return [3 /*break*/, 2];
|
|
40
|
+
return [4 /*yield*/, disconnect()];
|
|
41
|
+
case 1:
|
|
42
|
+
_a.sent();
|
|
43
|
+
activate(injected);
|
|
44
|
+
return [3 /*break*/, 3];
|
|
45
|
+
case 2:
|
|
46
|
+
suggestApp();
|
|
47
|
+
_a.label = 3;
|
|
48
|
+
case 3:
|
|
49
|
+
return [2 /*return*/];
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
}, [activate, disconnect, suggestApp, injected]);
|
|
54
|
+
return {
|
|
55
|
+
connect: connect,
|
|
56
|
+
connector: injected
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export { useConnectorMathWallet };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectedConnector } from '@web3-react/injected-connector';
|
|
2
|
+
declare type ConnectorHookResult = {
|
|
3
|
+
connect: () => Promise<void>;
|
|
4
|
+
connector: InjectedConnector;
|
|
5
|
+
};
|
|
6
|
+
export declare const useConnectorMetamask: () => ConnectorHookResult;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=useConnectorMetamask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectorMetamask.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorMetamask.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,aAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAIF,eAAO,MAAM,oBAAoB,QAAO,mBAwCvC,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { __awaiter, __generator } from '../_virtual/_tslib.js';
|
|
2
|
+
import invariant from 'tiny-invariant';
|
|
3
|
+
import warning from 'tiny-warning';
|
|
4
|
+
import { useCallback } from 'react';
|
|
5
|
+
import { openWindow } from '@lido-sdk/helpers';
|
|
6
|
+
import { useConnectors } from './useConnectors.js';
|
|
7
|
+
import { useWeb3 } from './useWeb3.js';
|
|
8
|
+
import { isBraveWalletProvider, hasInjected } from '../helpers/providerDetectors.js';
|
|
9
|
+
import { checkIfBraveBrowser } from '../helpers/ua.js';
|
|
10
|
+
import { useForceDisconnect } from './useDisconnect.js';
|
|
11
|
+
|
|
12
|
+
var WALLET_URL = 'https://metamask.app.link/dapp/';
|
|
13
|
+
var useConnectorMetamask = function () {
|
|
14
|
+
var injected = useConnectors().injected;
|
|
15
|
+
var activate = useWeb3().activate;
|
|
16
|
+
var disconnect = useForceDisconnect().disconnect;
|
|
17
|
+
var openInWallet = useCallback(function () {
|
|
18
|
+
try {
|
|
19
|
+
var _a = window.location,
|
|
20
|
+
host = _a.host,
|
|
21
|
+
pathname = _a.pathname,
|
|
22
|
+
search = _a.search;
|
|
23
|
+
var pageUrlWithoutProtocol = encodeURI(host + pathname + search);
|
|
24
|
+
openWindow("".concat(WALLET_URL).concat(pageUrlWithoutProtocol));
|
|
25
|
+
} catch (error) {
|
|
26
|
+
warning(false, 'Failed to open the link');
|
|
27
|
+
}
|
|
28
|
+
}, []);
|
|
29
|
+
var connect = useCallback(function () {
|
|
30
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
31
|
+
return __generator(this, function (_a) {
|
|
32
|
+
switch (_a.label) {
|
|
33
|
+
case 0:
|
|
34
|
+
invariant(injected, 'Connector is required');
|
|
35
|
+
return [4 /*yield*/, checkIfBraveBrowser()];
|
|
36
|
+
case 1:
|
|
37
|
+
// Brave Wallet mimics MetaMask.
|
|
38
|
+
// If a user has the Brave Browser without the MetaMask extension we want
|
|
39
|
+
// to redirect the user to the MetaMask website.
|
|
40
|
+
// If MetaMask is installed, the isBraveWallet property will be false.
|
|
41
|
+
if (_a.sent() && isBraveWalletProvider()) {
|
|
42
|
+
openInWallet();
|
|
43
|
+
return [2 /*return*/];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (!hasInjected()) return [3 /*break*/, 3];
|
|
47
|
+
return [4 /*yield*/, disconnect()];
|
|
48
|
+
case 2:
|
|
49
|
+
_a.sent();
|
|
50
|
+
activate(injected);
|
|
51
|
+
return [3 /*break*/, 4];
|
|
52
|
+
case 3:
|
|
53
|
+
openInWallet();
|
|
54
|
+
_a.label = 4;
|
|
55
|
+
case 4:
|
|
56
|
+
return [2 /*return*/];
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}, [activate, disconnect, openInWallet, injected]);
|
|
61
|
+
return {
|
|
62
|
+
connect: connect,
|
|
63
|
+
connector: injected
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export { useConnectorMetamask };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectedConnector } from '@web3-react/injected-connector';
|
|
2
|
+
declare type ConnectorHookResult = {
|
|
3
|
+
connect: () => Promise<void>;
|
|
4
|
+
connector: InjectedConnector;
|
|
5
|
+
};
|
|
6
|
+
export declare const useConnectorOperaWallet: () => ConnectorHookResult;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=useConnectorOperaWallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectorOperaWallet.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorOperaWallet.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,aAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAIF,eAAO,MAAM,uBAAuB,QAAO,mBAyB1C,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { __awaiter, __generator } from '../_virtual/_tslib.js';
|
|
2
|
+
import invariant from 'tiny-invariant';
|
|
3
|
+
import warning from 'tiny-warning';
|
|
4
|
+
import { useCallback } from 'react';
|
|
5
|
+
import { openWindow } from '@lido-sdk/helpers';
|
|
6
|
+
import { useConnectors } from './useConnectors.js';
|
|
7
|
+
import { useWeb3 } from './useWeb3.js';
|
|
8
|
+
import { hasInjected, isOperaWalletProvider } from '../helpers/providerDetectors.js';
|
|
9
|
+
import '../helpers/ua.js';
|
|
10
|
+
import { useForceDisconnect } from './useDisconnect.js';
|
|
11
|
+
|
|
12
|
+
var WALLET_URL = 'https://www.opera.com/crypto/next';
|
|
13
|
+
var useConnectorOperaWallet = function () {
|
|
14
|
+
var injected = useConnectors().injected;
|
|
15
|
+
var activate = useWeb3().activate;
|
|
16
|
+
var disconnect = useForceDisconnect().disconnect;
|
|
17
|
+
var suggestApp = useCallback(function () {
|
|
18
|
+
try {
|
|
19
|
+
openWindow(WALLET_URL);
|
|
20
|
+
} catch (error) {
|
|
21
|
+
warning(false, 'Failed to open the link');
|
|
22
|
+
}
|
|
23
|
+
}, []);
|
|
24
|
+
var connect = useCallback(function () {
|
|
25
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
26
|
+
return __generator(this, function (_a) {
|
|
27
|
+
switch (_a.label) {
|
|
28
|
+
case 0:
|
|
29
|
+
invariant(injected, 'Connector is required');
|
|
30
|
+
if (!(hasInjected() && isOperaWalletProvider())) return [3 /*break*/, 2];
|
|
31
|
+
return [4 /*yield*/, disconnect()];
|
|
32
|
+
case 1:
|
|
33
|
+
_a.sent();
|
|
34
|
+
activate(injected);
|
|
35
|
+
return [3 /*break*/, 3];
|
|
36
|
+
case 2:
|
|
37
|
+
suggestApp();
|
|
38
|
+
_a.label = 3;
|
|
39
|
+
case 3:
|
|
40
|
+
return [2 /*return*/];
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}, [activate, disconnect, suggestApp, injected]);
|
|
45
|
+
return {
|
|
46
|
+
connect: connect,
|
|
47
|
+
connector: injected
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { useConnectorOperaWallet };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const useConnectorStorage: () => [storedValue: keyof import("../context").ConnectorsContextValue | null, setValue: import("react").Dispatch<import("react").SetStateAction<keyof import("../context").ConnectorsContextValue | null>>];
|
|
3
|
+
//# sourceMappingURL=useConnectorStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectorStorage.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorStorage.ts"],"names":[],"mappings":";AAKA,eAAO,MAAM,mBAAmB,6MACgC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useLocalStorage } from '@lido-sdk/react';
|
|
2
|
+
import { STORAGE_CONNECTOR_KEY } from '../constants/storage.js';
|
|
3
|
+
import '../constants/connectors.js';
|
|
4
|
+
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
6
|
+
var useConnectorStorage = function () {
|
|
7
|
+
return useLocalStorage(STORAGE_CONNECTOR_KEY, null);
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { useConnectorStorage };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectedConnector } from '@web3-react/injected-connector';
|
|
2
|
+
declare type ConnectorHookResult = {
|
|
3
|
+
connect: () => Promise<void>;
|
|
4
|
+
connector: InjectedConnector;
|
|
5
|
+
};
|
|
6
|
+
export declare const useConnectorTally: () => ConnectorHookResult;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=useConnectorTally.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectorTally.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorTally.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAOnE,aAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAIF,eAAO,MAAM,iBAAiB,QAAO,mBAwBpC,CAAC"}
|