@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,7 @@
|
|
|
1
|
+
$ rollup -c
|
|
2
|
+
[36m
|
|
3
|
+
[1m./src/index[22m → [1mdist/cjs, dist/esm[22m...[39m
|
|
4
|
+
(node:2053) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at /home/runner/work/reef-knot/reef-knot/node_modules/tslib/package.json.
|
|
5
|
+
Update this package.json to use a subpath pattern like "./*".
|
|
6
|
+
(Use `node --trace-deprecation ...` to show where the warning was created)
|
|
7
|
+
[32mcreated [1mdist/cjs, dist/esm[22m in [1m7.7s[22m[39m
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
$ eslint
|
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Lido
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Web3 react helpers
|
|
2
|
+
|
|
3
|
+
Web3 react helpers for Lido Finance projects.
|
|
4
|
+
Part of [Lido JS SDK](https://github.com/lidofinance/lido-js-sdk/#readme)
|
|
5
|
+
|
|
6
|
+
## Install
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
yarn add @lido-sdk/web3-react
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Provider
|
|
13
|
+
|
|
14
|
+
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.
|
|
15
|
+
|
|
16
|
+
```tsx
|
|
17
|
+
import { CHAINS } from '@lido-sdk/constants';
|
|
18
|
+
import { ProviderWeb3 } from '@lido-sdk/web3-react';
|
|
19
|
+
|
|
20
|
+
const rpc = {
|
|
21
|
+
[CHAINS.Mainnet]: '/rpc/mainnet',
|
|
22
|
+
[CHAINS.Rinkeby]: '/rpc/rinkeby',
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const supportedChainIds = [CHAINS.Mainnet, CHAINS.Rinkeby];
|
|
26
|
+
|
|
27
|
+
const Provider = () => {
|
|
28
|
+
return (
|
|
29
|
+
<ProviderWeb3
|
|
30
|
+
defaultChainId={CHAINS.Mainnet}
|
|
31
|
+
supportedChainIds={supportedChainIds}
|
|
32
|
+
rpc={rpc}
|
|
33
|
+
>
|
|
34
|
+
{children}
|
|
35
|
+
</ProviderWeb3>
|
|
36
|
+
);
|
|
37
|
+
};
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Connectors
|
|
41
|
+
|
|
42
|
+
The `ProviderWeb3` creates several connectors and stores them in context. To access them directly use `useConnectors` hook.
|
|
43
|
+
|
|
44
|
+
Used connectors:
|
|
45
|
+
|
|
46
|
+
- [InjectedConnector](https://www.npmjs.com/package/@web3-react/injected-connector)
|
|
47
|
+
- [WalletConnectConnector](https://www.npmjs.com/package/@web3-react/walletconnect-connector)
|
|
48
|
+
- [WalletLinkConnector](https://www.npmjs.com/package/@web3-react/walletlink-connector)
|
|
49
|
+
- [SafeAppConnector](https://www.npmjs.com/package/@gnosis.pm/safe-apps-web3-react)
|
|
50
|
+
- [LedgerHQConnector](https://www.npmjs.com/package/web3-ledgerhq-connector)
|
|
51
|
+
|
|
52
|
+
## Auto connect
|
|
53
|
+
|
|
54
|
+
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:
|
|
55
|
+
|
|
56
|
+
1. To Ledger Live Dapp Browser with `LedgerHQFrameConnector`.
|
|
57
|
+
2. To Gnosis Safe with `SafeAppConnector`.
|
|
58
|
+
3. To Dapp browser provider with `InjectedConnector`.
|
|
59
|
+
4. To a connector saved in Local Storage.
|
|
60
|
+
|
|
61
|
+
## Connector hooks
|
|
62
|
+
|
|
63
|
+
Hooks for manually connecting to the user's wallet:
|
|
64
|
+
|
|
65
|
+
- useConnectorCoinbase
|
|
66
|
+
- useConnectorImToken
|
|
67
|
+
- useConnectorMetamask
|
|
68
|
+
- useConnectorTrust
|
|
69
|
+
- useConnectorWalletConnect
|
|
70
|
+
|
|
71
|
+
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.
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
import {
|
|
75
|
+
useConnectorMetamask,
|
|
76
|
+
useConnectorCoinbase,
|
|
77
|
+
} from '@lido-sdk/web3-react';
|
|
78
|
+
|
|
79
|
+
const Component = () => {
|
|
80
|
+
const metamask = useConnectorMetamask();
|
|
81
|
+
const coinbase = useConnectorCoinbase();
|
|
82
|
+
|
|
83
|
+
return (
|
|
84
|
+
<div>
|
|
85
|
+
<button onClick={metamask.connect}>Connect to Metamask</button>;
|
|
86
|
+
<button onClick={coinbase.connect}>Connect to Coinbase</button>;
|
|
87
|
+
</div>
|
|
88
|
+
);
|
|
89
|
+
};
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## useDisconnect
|
|
93
|
+
|
|
94
|
+
Return an object with a `disconnect` handler if disconnection is possible.
|
|
95
|
+
|
|
96
|
+
```tsx
|
|
97
|
+
import { useDisconnect } from '@lido-sdk/web3-react';
|
|
98
|
+
|
|
99
|
+
const Component = () => {
|
|
100
|
+
const { disconnect } = useDisconnect();
|
|
101
|
+
|
|
102
|
+
return (
|
|
103
|
+
<button onClick={disconnect} disabled={!disconnect}>
|
|
104
|
+
Disconnect
|
|
105
|
+
</button>
|
|
106
|
+
);
|
|
107
|
+
};
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## useSupportedChains
|
|
111
|
+
|
|
112
|
+
```tsx
|
|
113
|
+
import { useSupportedChains } from '@lido-sdk/web3-react';
|
|
114
|
+
|
|
115
|
+
const Component = () => {
|
|
116
|
+
const { isUnsupported, supportedChains } = useSupportedChains();
|
|
117
|
+
|
|
118
|
+
if (isUnsupported) {
|
|
119
|
+
return (
|
|
120
|
+
<div>
|
|
121
|
+
Chain is not supported. Supported chains:{' '}
|
|
122
|
+
{supportedChains.map(({ name }) => name)}
|
|
123
|
+
</div>
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// ...
|
|
128
|
+
};
|
|
129
|
+
```
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
/******************************************************************************
|
|
6
|
+
Copyright (c) Microsoft Corporation.
|
|
7
|
+
|
|
8
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
9
|
+
purpose with or without fee is hereby granted.
|
|
10
|
+
|
|
11
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
12
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
13
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
14
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
15
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
16
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
17
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
18
|
+
***************************************************************************** */
|
|
19
|
+
|
|
20
|
+
exports.__assign = function() {
|
|
21
|
+
exports.__assign = Object.assign || function __assign(t) {
|
|
22
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
23
|
+
s = arguments[i];
|
|
24
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
25
|
+
}
|
|
26
|
+
return t;
|
|
27
|
+
};
|
|
28
|
+
return exports.__assign.apply(this, arguments);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
function __rest(s, e) {
|
|
32
|
+
var t = {};
|
|
33
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
34
|
+
t[p] = s[p];
|
|
35
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
36
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
37
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
38
|
+
t[p[i]] = s[p[i]];
|
|
39
|
+
}
|
|
40
|
+
return t;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
44
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
45
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
46
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
47
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
48
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
49
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function __generator(thisArg, body) {
|
|
54
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
55
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
56
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
57
|
+
function step(op) {
|
|
58
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
59
|
+
while (_) try {
|
|
60
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
61
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
62
|
+
switch (op[0]) {
|
|
63
|
+
case 0: case 1: t = op; break;
|
|
64
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
65
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
66
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
67
|
+
default:
|
|
68
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
69
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
70
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
71
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
72
|
+
if (t[2]) _.ops.pop();
|
|
73
|
+
_.trys.pop(); continue;
|
|
74
|
+
}
|
|
75
|
+
op = body.call(thisArg, _);
|
|
76
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
77
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
exports.__awaiter = __awaiter;
|
|
82
|
+
exports.__generator = __generator;
|
|
83
|
+
exports.__rest = __rest;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export declare enum PROVIDER_NAMES {
|
|
2
|
+
GNOSIS = "Gnosis",
|
|
3
|
+
METAMASK = "MetaMask",
|
|
4
|
+
IM_TOKEN = "imToken",
|
|
5
|
+
TRUST = "Trust",
|
|
6
|
+
WALLET_CONNECT = "WalletConnect",
|
|
7
|
+
WALLET_LINK = "WalletLink",
|
|
8
|
+
COINBASE = "Coinbase",
|
|
9
|
+
INJECTED = "Injected",
|
|
10
|
+
LEDGER_HQ_LIVE = "Ledger Live",
|
|
11
|
+
LEDGER = "Ledger",
|
|
12
|
+
COIN98 = "Coin98",
|
|
13
|
+
MATH_WALLET = "MathWallet",
|
|
14
|
+
TALLY = "Tally",
|
|
15
|
+
BRAVE = "Brave Wallet",
|
|
16
|
+
EXODUS = "Exodus",
|
|
17
|
+
OPERA = "Opera Crypto Wallet",
|
|
18
|
+
GAMESTOP = "GameStop Wallet",
|
|
19
|
+
XDEFI = "XDEFI"
|
|
20
|
+
}
|
|
21
|
+
export declare enum CONNECTOR_NAMES {
|
|
22
|
+
GNOSIS = "gnosis",
|
|
23
|
+
WALLET_CONNECT = "walletconnect",
|
|
24
|
+
WALLET_CONNECT_URI = "WalletConnectUri",
|
|
25
|
+
WALLET_CONNECT_NOLINKS = "WalletConnectNoLinks",
|
|
26
|
+
WALLET_LINK = "walletlink",
|
|
27
|
+
COINBASE = "coinbase",
|
|
28
|
+
INJECTED = "injected",
|
|
29
|
+
LEDGER_HQ_LIVE = "ledgerlive",
|
|
30
|
+
LEDGER = "ledger"
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=connectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../../src/constants/connectors.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,YAAY;IACpB,KAAK,UAAU;IACf,cAAc,kBAAkB;IAChC,WAAW,eAAe;IAC1B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,cAAc,gBAAgB;IAC9B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,WAAW,eAAe;IAC1B,KAAK,UAAU;IACf,KAAK,iBAAiB;IACtB,MAAM,WAAW;IACjB,KAAK,wBAAwB;IAC7B,QAAQ,oBAAoB;IAC5B,KAAK,UAAU;CAChB;AAED,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,cAAc,kBAAkB;IAChC,kBAAkB,qBAAqB;IACvC,sBAAsB,yBAAyB;IAC/C,WAAW,eAAe;IAC1B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,cAAc,eAAe;IAC7B,MAAM,WAAW;CAClB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
exports.PROVIDER_NAMES = void 0;
|
|
6
|
+
(function (PROVIDER_NAMES) {
|
|
7
|
+
PROVIDER_NAMES["GNOSIS"] = "Gnosis";
|
|
8
|
+
PROVIDER_NAMES["METAMASK"] = "MetaMask";
|
|
9
|
+
PROVIDER_NAMES["IM_TOKEN"] = "imToken";
|
|
10
|
+
PROVIDER_NAMES["TRUST"] = "Trust";
|
|
11
|
+
PROVIDER_NAMES["WALLET_CONNECT"] = "WalletConnect";
|
|
12
|
+
PROVIDER_NAMES["WALLET_LINK"] = "WalletLink";
|
|
13
|
+
PROVIDER_NAMES["COINBASE"] = "Coinbase";
|
|
14
|
+
PROVIDER_NAMES["INJECTED"] = "Injected";
|
|
15
|
+
PROVIDER_NAMES["LEDGER_HQ_LIVE"] = "Ledger Live";
|
|
16
|
+
PROVIDER_NAMES["LEDGER"] = "Ledger";
|
|
17
|
+
PROVIDER_NAMES["COIN98"] = "Coin98";
|
|
18
|
+
PROVIDER_NAMES["MATH_WALLET"] = "MathWallet";
|
|
19
|
+
PROVIDER_NAMES["TALLY"] = "Tally";
|
|
20
|
+
PROVIDER_NAMES["BRAVE"] = "Brave Wallet";
|
|
21
|
+
PROVIDER_NAMES["EXODUS"] = "Exodus";
|
|
22
|
+
PROVIDER_NAMES["OPERA"] = "Opera Crypto Wallet";
|
|
23
|
+
PROVIDER_NAMES["GAMESTOP"] = "GameStop Wallet";
|
|
24
|
+
PROVIDER_NAMES["XDEFI"] = "XDEFI";
|
|
25
|
+
})(exports.PROVIDER_NAMES || (exports.PROVIDER_NAMES = {}));
|
|
26
|
+
exports.CONNECTOR_NAMES = void 0;
|
|
27
|
+
(function (CONNECTOR_NAMES) {
|
|
28
|
+
CONNECTOR_NAMES["GNOSIS"] = "gnosis";
|
|
29
|
+
CONNECTOR_NAMES["WALLET_CONNECT"] = "walletconnect";
|
|
30
|
+
CONNECTOR_NAMES["WALLET_CONNECT_URI"] = "WalletConnectUri";
|
|
31
|
+
CONNECTOR_NAMES["WALLET_CONNECT_NOLINKS"] = "WalletConnectNoLinks";
|
|
32
|
+
CONNECTOR_NAMES["WALLET_LINK"] = "walletlink";
|
|
33
|
+
CONNECTOR_NAMES["COINBASE"] = "coinbase";
|
|
34
|
+
CONNECTOR_NAMES["INJECTED"] = "injected";
|
|
35
|
+
CONNECTOR_NAMES["LEDGER_HQ_LIVE"] = "ledgerlive";
|
|
36
|
+
CONNECTOR_NAMES["LEDGER"] = "ledger";
|
|
37
|
+
})(exports.CONNECTOR_NAMES || (exports.CONNECTOR_NAMES = {}));
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/constants/storage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web3.d.ts","sourceRoot":"","sources":["../../../src/constants/web3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,QAAS,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { FC } from '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 { SafeAppConnector } from '@gnosis.pm/safe-apps-web3-react';
|
|
6
|
+
import { CHAINS } from '@lido-sdk/constants';
|
|
7
|
+
import { LedgerHQFrameConnector } from 'web3-ledgerhq-frame-connector';
|
|
8
|
+
import { LedgerHQConnector } from 'web3-ledgerhq-connector';
|
|
9
|
+
export interface ConnectorsContextProps {
|
|
10
|
+
defaultChainId: CHAINS;
|
|
11
|
+
rpc: Record<number, string>;
|
|
12
|
+
appName?: string;
|
|
13
|
+
appLogoUrl?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare type ConnectorsContextValue = {
|
|
16
|
+
injected: InjectedConnector;
|
|
17
|
+
walletconnect: WalletConnectConnector;
|
|
18
|
+
WalletConnectUri: WalletConnectConnector;
|
|
19
|
+
WalletConnectNoLinks: WalletConnectConnector;
|
|
20
|
+
walletlink: WalletLinkConnector;
|
|
21
|
+
coinbase: WalletLinkConnector;
|
|
22
|
+
ledgerlive: LedgerHQFrameConnector;
|
|
23
|
+
ledger: LedgerHQConnector;
|
|
24
|
+
gnosis?: SafeAppConnector;
|
|
25
|
+
};
|
|
26
|
+
export declare type Connector = keyof ConnectorsContextValue;
|
|
27
|
+
export declare const ConnectorsContext: import("react").Context<ConnectorsContextValue>;
|
|
28
|
+
declare const _default: import("react").MemoExoticComponent<FC<ConnectorsContextProps>>;
|
|
29
|
+
export default _default;
|
|
30
|
+
//# sourceMappingURL=connectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../../src/context/connectors.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,EAAE,EAAiB,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oBAAY,sBAAsB,GAAG;IACnC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,aAAa,EAAE,sBAAsB,CAAC;IACtC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,UAAU,EAAE,sBAAsB,CAAC;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,oBAAY,SAAS,GAAG,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,iBAAiB,iDAA8C,CAAC;;AA4H7E,wBAAoE"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _tslib = require('../_virtual/_tslib.js');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var react = require('react');
|
|
8
|
+
var injectedConnector = require('@web3-react/injected-connector');
|
|
9
|
+
var walletconnectConnector = require('@web3-react/walletconnect-connector');
|
|
10
|
+
var walletlinkConnector = require('@web3-react/walletlink-connector');
|
|
11
|
+
var safeAppsWeb3React = require('@gnosis.pm/safe-apps-web3-react');
|
|
12
|
+
var constants = require('@lido-sdk/constants');
|
|
13
|
+
var react$1 = require('@lido-sdk/react');
|
|
14
|
+
var web3LedgerhqFrameConnector = require('web3-ledgerhq-frame-connector');
|
|
15
|
+
var web3LedgerhqConnector = require('web3-ledgerhq-connector');
|
|
16
|
+
var useAutoConnect = require('../hooks/useAutoConnect.js');
|
|
17
|
+
var connectors = require('../constants/connectors.js');
|
|
18
|
+
require('../helpers/ua.js');
|
|
19
|
+
var isUrl = require('../helpers/isUrl.js');
|
|
20
|
+
|
|
21
|
+
var ConnectorsContext = react.createContext({});
|
|
22
|
+
var ProviderConnectors = function (props) {
|
|
23
|
+
var BASE_URL = typeof window === 'undefined' ? '' : window.location.origin;
|
|
24
|
+
var DEFAULT_LOGO = "".concat(BASE_URL, "/apple-touch-icon.png");
|
|
25
|
+
var DEFAULT_NAME = 'Lido';
|
|
26
|
+
var rpc = props.rpc,
|
|
27
|
+
children = props.children,
|
|
28
|
+
defaultChainId = props.defaultChainId,
|
|
29
|
+
_a = props.appName,
|
|
30
|
+
appName = _a === void 0 ? DEFAULT_NAME : _a,
|
|
31
|
+
_b = props.appLogoUrl,
|
|
32
|
+
appLogoUrl = _b === void 0 ? DEFAULT_LOGO : _b;
|
|
33
|
+
var supportedChainIds = react$1.useSDK().supportedChainIds;
|
|
34
|
+
var walletConnectRPC = react.useMemo(function () {
|
|
35
|
+
return Object.entries(rpc).reduce(function (result, _a) {
|
|
36
|
+
var _b;
|
|
37
|
+
var key = _a[0],
|
|
38
|
+
value = _a[1];
|
|
39
|
+
return _tslib.__assign(_tslib.__assign({}, result), (_b = {}, _b[key] = isUrl["default"](value) ? value : BASE_URL + value, _b));
|
|
40
|
+
}, {});
|
|
41
|
+
}, [rpc, BASE_URL]);
|
|
42
|
+
var connectors$1 = react.useMemo(function () {
|
|
43
|
+
var _a;
|
|
44
|
+
return _a = {}, _a[connectors.CONNECTOR_NAMES.INJECTED] = new injectedConnector.InjectedConnector({
|
|
45
|
+
supportedChainIds: supportedChainIds
|
|
46
|
+
}), _a[connectors.CONNECTOR_NAMES.WALLET_CONNECT] = new walletconnectConnector.WalletConnectConnector({
|
|
47
|
+
// bridge: 'https://walletconnect-relay.lido.fi',
|
|
48
|
+
storageId: 'lido-walletconnect',
|
|
49
|
+
supportedChainIds: supportedChainIds,
|
|
50
|
+
rpc: walletConnectRPC,
|
|
51
|
+
qrcodeModalOptions: {
|
|
52
|
+
mobileLinks: ['metamask', 'trust', 'gnosis safe multisig', 'imtoken', 'mathwallet', 'coin98', 'bitpay', 'ledger', '1inch', 'huobi', 'unstoppable'],
|
|
53
|
+
desktopLinks: []
|
|
54
|
+
}
|
|
55
|
+
}), _a[connectors.CONNECTOR_NAMES.WALLET_CONNECT_NOLINKS] = new walletconnectConnector.WalletConnectConnector({
|
|
56
|
+
storageId: 'lido-walletconnect',
|
|
57
|
+
supportedChainIds: supportedChainIds,
|
|
58
|
+
rpc: walletConnectRPC,
|
|
59
|
+
qrcodeModalOptions: {
|
|
60
|
+
mobileLinks: [],
|
|
61
|
+
desktopLinks: []
|
|
62
|
+
}
|
|
63
|
+
}), _a[connectors.CONNECTOR_NAMES.WALLET_CONNECT_URI] = new walletconnectConnector.WalletConnectConnector({
|
|
64
|
+
storageId: 'lido-walletconnect',
|
|
65
|
+
supportedChainIds: supportedChainIds,
|
|
66
|
+
rpc: walletConnectRPC,
|
|
67
|
+
qrcode: false
|
|
68
|
+
}), _a[connectors.CONNECTOR_NAMES.GNOSIS] = function () {
|
|
69
|
+
try {
|
|
70
|
+
return new safeAppsWeb3React.SafeAppConnector({
|
|
71
|
+
supportedChainIds: supportedChainIds
|
|
72
|
+
});
|
|
73
|
+
} catch (error) {
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
}(), _a[connectors.CONNECTOR_NAMES.LEDGER_HQ_LIVE] = new web3LedgerhqFrameConnector.LedgerHQFrameConnector(), _a[connectors.CONNECTOR_NAMES.LEDGER] = new web3LedgerhqConnector.LedgerHQConnector({
|
|
77
|
+
chainId: defaultChainId,
|
|
78
|
+
url: rpc[defaultChainId]
|
|
79
|
+
}), _a[connectors.CONNECTOR_NAMES.COINBASE] = new walletlinkConnector.WalletLinkConnector({
|
|
80
|
+
// only mainnet
|
|
81
|
+
url: rpc[constants.CHAINS.Mainnet],
|
|
82
|
+
supportedChainIds: supportedChainIds,
|
|
83
|
+
appName: appName,
|
|
84
|
+
appLogoUrl: appLogoUrl
|
|
85
|
+
}), _a[connectors.CONNECTOR_NAMES.WALLET_LINK] = new walletlinkConnector.WalletLinkConnector({
|
|
86
|
+
// only mainnet
|
|
87
|
+
url: rpc[constants.CHAINS.Mainnet],
|
|
88
|
+
supportedChainIds: supportedChainIds,
|
|
89
|
+
appName: appName,
|
|
90
|
+
appLogoUrl: appLogoUrl
|
|
91
|
+
}), _a;
|
|
92
|
+
}, [appLogoUrl, appName, rpc, defaultChainId, supportedChainIds, walletConnectRPC]);
|
|
93
|
+
useAutoConnect.useAutoConnect(connectors$1);
|
|
94
|
+
return jsxRuntime.jsx(ConnectorsContext.Provider, _tslib.__assign({
|
|
95
|
+
value: connectors$1
|
|
96
|
+
}, {
|
|
97
|
+
children: children
|
|
98
|
+
}));
|
|
99
|
+
};
|
|
100
|
+
var ProviderConnectors$1 = react.memo(ProviderConnectors);
|
|
101
|
+
|
|
102
|
+
exports.ConnectorsContext = ConnectorsContext;
|
|
103
|
+
exports["default"] = ProviderConnectors$1;
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CHAINS } from '@lido-sdk/constants';
|
|
2
|
+
import { FC } from 'react';
|
|
3
|
+
import { SWRConfiguration } from 'swr';
|
|
4
|
+
import { ConnectorsContextProps } from './connectors';
|
|
5
|
+
export interface ProviderWeb3Props extends ConnectorsContextProps {
|
|
6
|
+
defaultChainId: CHAINS;
|
|
7
|
+
supportedChainIds: CHAINS[];
|
|
8
|
+
swrConfig?: SWRConfiguration;
|
|
9
|
+
pollingInterval?: number;
|
|
10
|
+
onError?: (error: unknown) => void;
|
|
11
|
+
}
|
|
12
|
+
declare const _default: import("react").MemoExoticComponent<FC<ProviderWeb3Props>>;
|
|
13
|
+
export default _default;
|
|
14
|
+
//# sourceMappingURL=web3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web3.d.ts","sourceRoot":"","sources":["../../../src/context/web3.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,OAAO,EAAQ,EAAE,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAEvC,OAA2B,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;;AAiED,wBAAyD"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _tslib = require('../_virtual/_tslib.js');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var invariant = require('tiny-invariant');
|
|
8
|
+
var providers = require('@ethersproject/providers');
|
|
9
|
+
var constants = require('@lido-sdk/constants');
|
|
10
|
+
var providers$1 = require('@lido-sdk/providers');
|
|
11
|
+
var react$1 = require('@lido-sdk/react');
|
|
12
|
+
var core = require('@web3-react/core');
|
|
13
|
+
var react = require('react');
|
|
14
|
+
var web3$1 = require('../constants/web3.js');
|
|
15
|
+
require('../constants/connectors.js');
|
|
16
|
+
var connectors = require('./connectors.js');
|
|
17
|
+
|
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
+
|
|
20
|
+
var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant);
|
|
21
|
+
|
|
22
|
+
function getLibrary(provider) {
|
|
23
|
+
var library = new providers.Web3Provider(provider);
|
|
24
|
+
library.pollingInterval = web3$1.POLLING_INTERVAL;
|
|
25
|
+
return library;
|
|
26
|
+
}
|
|
27
|
+
var ProviderSDK = function (props) {
|
|
28
|
+
var rpc = props.rpc,
|
|
29
|
+
defaultChainId = props.defaultChainId,
|
|
30
|
+
supportedChainIds = props.supportedChainIds,
|
|
31
|
+
children = props.children,
|
|
32
|
+
_a = props.pollingInterval,
|
|
33
|
+
pollingInterval = _a === void 0 ? web3$1.POLLING_INTERVAL : _a,
|
|
34
|
+
rest = _tslib.__rest(props, ["rpc", "defaultChainId", "supportedChainIds", "children", "pollingInterval"]);
|
|
35
|
+
var _b = core.useWeb3React(),
|
|
36
|
+
_c = _b.chainId,
|
|
37
|
+
chainId = _c === void 0 ? defaultChainId : _c,
|
|
38
|
+
library = _b.library,
|
|
39
|
+
account = _b.account;
|
|
40
|
+
invariant__default["default"](rpc[chainId], "RPC url for chain ".concat(chainId, " is not provided"));
|
|
41
|
+
invariant__default["default"](rpc[constants.CHAINS.Mainnet], 'RPC url for mainnet is not provided');
|
|
42
|
+
var providerRpc = providers$1.getStaticRpcBatchProvider(chainId, rpc[chainId], 0, pollingInterval);
|
|
43
|
+
var providerMainnetRpc = providers$1.getStaticRpcBatchProvider(constants.CHAINS.Mainnet, rpc[constants.CHAINS.Mainnet], 0, pollingInterval);
|
|
44
|
+
return jsxRuntime.jsx(react$1.ProviderSDK, _tslib.__assign({
|
|
45
|
+
chainId: chainId,
|
|
46
|
+
supportedChainIds: supportedChainIds,
|
|
47
|
+
providerWeb3: library,
|
|
48
|
+
providerRpc: providerRpc,
|
|
49
|
+
providerMainnetRpc: providerMainnetRpc,
|
|
50
|
+
account: account !== null && account !== void 0 ? account : undefined
|
|
51
|
+
}, rest, {
|
|
52
|
+
children: children
|
|
53
|
+
}));
|
|
54
|
+
};
|
|
55
|
+
var ProviderWeb3 = function (props) {
|
|
56
|
+
var children = props.children,
|
|
57
|
+
rpc = props.rpc,
|
|
58
|
+
appName = props.appName,
|
|
59
|
+
appLogoUrl = props.appLogoUrl,
|
|
60
|
+
sdkProps = _tslib.__rest(props, ["children", "rpc", "appName", "appLogoUrl"]);
|
|
61
|
+
var defaultChainId = props.defaultChainId;
|
|
62
|
+
var connectorsProps = {
|
|
63
|
+
rpc: rpc,
|
|
64
|
+
appName: appName,
|
|
65
|
+
appLogoUrl: appLogoUrl,
|
|
66
|
+
defaultChainId: defaultChainId
|
|
67
|
+
};
|
|
68
|
+
return jsxRuntime.jsx(core.Web3ReactProvider, _tslib.__assign({
|
|
69
|
+
getLibrary: getLibrary
|
|
70
|
+
}, {
|
|
71
|
+
children: jsxRuntime.jsx(ProviderSDK, _tslib.__assign({
|
|
72
|
+
rpc: rpc
|
|
73
|
+
}, sdkProps, {
|
|
74
|
+
children: jsxRuntime.jsx(connectors["default"], _tslib.__assign({}, connectorsProps, {
|
|
75
|
+
children: children
|
|
76
|
+
}))
|
|
77
|
+
}))
|
|
78
|
+
}));
|
|
79
|
+
};
|
|
80
|
+
var web3 = react.memo(ProviderWeb3);
|
|
81
|
+
|
|
82
|
+
exports["default"] = web3;
|
|
@@ -0,0 +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,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|