@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.
Files changed (230) hide show
  1. package/.turbo/turbo-build.log +7 -0
  2. package/.turbo/turbo-lint.log +1 -0
  3. package/LICENSE.txt +21 -0
  4. package/README.md +129 -0
  5. package/dist/cjs/_virtual/_tslib.js +83 -0
  6. package/dist/cjs/constants/connectors.d.ts +32 -0
  7. package/dist/cjs/constants/connectors.d.ts.map +1 -0
  8. package/dist/cjs/constants/connectors.js +37 -0
  9. package/dist/cjs/constants/index.d.ts +4 -0
  10. package/dist/cjs/constants/index.d.ts.map +1 -0
  11. package/dist/cjs/constants/storage.d.ts +2 -0
  12. package/dist/cjs/constants/storage.d.ts.map +1 -0
  13. package/dist/cjs/constants/storage.js +7 -0
  14. package/dist/cjs/constants/web3.d.ts +2 -0
  15. package/dist/cjs/constants/web3.d.ts.map +1 -0
  16. package/dist/cjs/constants/web3.js +7 -0
  17. package/dist/cjs/context/connectors.d.ts +30 -0
  18. package/dist/cjs/context/connectors.d.ts.map +1 -0
  19. package/dist/cjs/context/connectors.js +103 -0
  20. package/dist/cjs/context/index.d.ts +5 -0
  21. package/dist/cjs/context/index.d.ts.map +1 -0
  22. package/dist/cjs/context/web3.d.ts +14 -0
  23. package/dist/cjs/context/web3.d.ts.map +1 -0
  24. package/dist/cjs/context/web3.js +82 -0
  25. package/dist/cjs/helpers/index.d.ts +5 -0
  26. package/dist/cjs/helpers/index.d.ts.map +1 -0
  27. package/dist/cjs/helpers/index.js +40 -0
  28. package/dist/cjs/helpers/interceptLedgerError.d.ts +5 -0
  29. package/dist/cjs/helpers/interceptLedgerError.d.ts.map +1 -0
  30. package/dist/cjs/helpers/interceptLedgerError.js +20 -0
  31. package/dist/cjs/helpers/isUrl.d.ts +2 -0
  32. package/dist/cjs/helpers/isUrl.d.ts.map +1 -0
  33. package/dist/cjs/helpers/isUrl.js +10 -0
  34. package/dist/cjs/helpers/providerDetectors.d.ts +41 -0
  35. package/dist/cjs/helpers/providerDetectors.d.ts.map +1 -0
  36. package/dist/cjs/helpers/providerDetectors.js +164 -0
  37. package/dist/cjs/helpers/ua.d.ts +13 -0
  38. package/dist/cjs/helpers/ua.d.ts.map +1 -0
  39. package/dist/cjs/helpers/ua.js +49 -0
  40. package/dist/cjs/hooks/index.d.ts +25 -0
  41. package/dist/cjs/hooks/index.d.ts.map +1 -0
  42. package/dist/cjs/hooks/useAutoConnect.d.ts +7 -0
  43. package/dist/cjs/hooks/useAutoConnect.d.ts.map +1 -0
  44. package/dist/cjs/hooks/useAutoConnect.js +133 -0
  45. package/dist/cjs/hooks/useConnectorBraveWallet.d.ts +8 -0
  46. package/dist/cjs/hooks/useConnectorBraveWallet.d.ts.map +1 -0
  47. package/dist/cjs/hooks/useConnectorBraveWallet.js +60 -0
  48. package/dist/cjs/hooks/useConnectorCoin98.d.ts +8 -0
  49. package/dist/cjs/hooks/useConnectorCoin98.d.ts.map +1 -0
  50. package/dist/cjs/hooks/useConnectorCoin98.js +62 -0
  51. package/dist/cjs/hooks/useConnectorCoinbase.d.ts +8 -0
  52. package/dist/cjs/hooks/useConnectorCoinbase.d.ts.map +1 -0
  53. package/dist/cjs/hooks/useConnectorCoinbase.js +35 -0
  54. package/dist/cjs/hooks/useConnectorError.d.ts +2 -0
  55. package/dist/cjs/hooks/useConnectorError.d.ts.map +1 -0
  56. package/dist/cjs/hooks/useConnectorError.js +22 -0
  57. package/dist/cjs/hooks/useConnectorExodus.d.ts +8 -0
  58. package/dist/cjs/hooks/useConnectorExodus.d.ts.map +1 -0
  59. package/dist/cjs/hooks/useConnectorExodus.js +60 -0
  60. package/dist/cjs/hooks/useConnectorGamestop.d.ts +8 -0
  61. package/dist/cjs/hooks/useConnectorGamestop.d.ts.map +1 -0
  62. package/dist/cjs/hooks/useConnectorGamestop.js +60 -0
  63. package/dist/cjs/hooks/useConnectorImToken.d.ts +8 -0
  64. package/dist/cjs/hooks/useConnectorImToken.d.ts.map +1 -0
  65. package/dist/cjs/hooks/useConnectorImToken.js +61 -0
  66. package/dist/cjs/hooks/useConnectorInfo.d.ts +27 -0
  67. package/dist/cjs/hooks/useConnectorInfo.d.ts.map +1 -0
  68. package/dist/cjs/hooks/useConnectorInfo.js +106 -0
  69. package/dist/cjs/hooks/useConnectorLedger.d.ts +8 -0
  70. package/dist/cjs/hooks/useConnectorLedger.d.ts.map +1 -0
  71. package/dist/cjs/hooks/useConnectorLedger.js +35 -0
  72. package/dist/cjs/hooks/useConnectorMathWallet.d.ts +8 -0
  73. package/dist/cjs/hooks/useConnectorMathWallet.d.ts.map +1 -0
  74. package/dist/cjs/hooks/useConnectorMathWallet.js +68 -0
  75. package/dist/cjs/hooks/useConnectorMetamask.d.ts +8 -0
  76. package/dist/cjs/hooks/useConnectorMetamask.d.ts.map +1 -0
  77. package/dist/cjs/hooks/useConnectorMetamask.js +76 -0
  78. package/dist/cjs/hooks/useConnectorOperaWallet.d.ts +8 -0
  79. package/dist/cjs/hooks/useConnectorOperaWallet.d.ts.map +1 -0
  80. package/dist/cjs/hooks/useConnectorOperaWallet.js +60 -0
  81. package/dist/cjs/hooks/useConnectorStorage.d.ts +3 -0
  82. package/dist/cjs/hooks/useConnectorStorage.d.ts.map +1 -0
  83. package/dist/cjs/hooks/useConnectorStorage.js +14 -0
  84. package/dist/cjs/hooks/useConnectorTally.d.ts +8 -0
  85. package/dist/cjs/hooks/useConnectorTally.d.ts.map +1 -0
  86. package/dist/cjs/hooks/useConnectorTally.js +54 -0
  87. package/dist/cjs/hooks/useConnectorTrust.d.ts +8 -0
  88. package/dist/cjs/hooks/useConnectorTrust.d.ts.map +1 -0
  89. package/dist/cjs/hooks/useConnectorTrust.js +61 -0
  90. package/dist/cjs/hooks/useConnectorWalletConnect.d.ts +8 -0
  91. package/dist/cjs/hooks/useConnectorWalletConnect.d.ts.map +1 -0
  92. package/dist/cjs/hooks/useConnectorWalletConnect.js +37 -0
  93. package/dist/cjs/hooks/useConnectorWalletConnectNoLinks.d.ts +8 -0
  94. package/dist/cjs/hooks/useConnectorWalletConnectNoLinks.d.ts.map +1 -0
  95. package/dist/cjs/hooks/useConnectorWalletConnectNoLinks.js +37 -0
  96. package/dist/cjs/hooks/useConnectorWalletConnectUri.d.ts +8 -0
  97. package/dist/cjs/hooks/useConnectorWalletConnectUri.d.ts.map +1 -0
  98. package/dist/cjs/hooks/useConnectorWalletConnectUri.js +37 -0
  99. package/dist/cjs/hooks/useConnectorXdefi.d.ts +8 -0
  100. package/dist/cjs/hooks/useConnectorXdefi.d.ts.map +1 -0
  101. package/dist/cjs/hooks/useConnectorXdefi.js +60 -0
  102. package/dist/cjs/hooks/useConnectors.d.ts +3 -0
  103. package/dist/cjs/hooks/useConnectors.d.ts.map +1 -0
  104. package/dist/cjs/hooks/useConnectors.js +13 -0
  105. package/dist/cjs/hooks/useDisconnect.d.ts +7 -0
  106. package/dist/cjs/hooks/useDisconnect.d.ts.map +1 -0
  107. package/dist/cjs/hooks/useDisconnect.js +55 -0
  108. package/dist/cjs/hooks/useSupportedChains.d.ts +6 -0
  109. package/dist/cjs/hooks/useSupportedChains.d.ts.map +1 -0
  110. package/dist/cjs/hooks/useSupportedChains.js +29 -0
  111. package/dist/cjs/hooks/useWeb3.d.ts +4 -0
  112. package/dist/cjs/hooks/useWeb3.d.ts.map +1 -0
  113. package/dist/cjs/hooks/useWeb3.js +13 -0
  114. package/dist/cjs/index.d.ts +5 -0
  115. package/dist/cjs/index.d.ts.map +1 -0
  116. package/dist/cjs/index.js +85 -0
  117. package/dist/esm/_virtual/_tslib.js +77 -0
  118. package/dist/esm/constants/connectors.d.ts +32 -0
  119. package/dist/esm/constants/connectors.d.ts.map +1 -0
  120. package/dist/esm/constants/connectors.js +35 -0
  121. package/dist/esm/constants/index.d.ts +4 -0
  122. package/dist/esm/constants/index.d.ts.map +1 -0
  123. package/dist/esm/constants/storage.d.ts +2 -0
  124. package/dist/esm/constants/storage.d.ts.map +1 -0
  125. package/dist/esm/constants/storage.js +3 -0
  126. package/dist/esm/constants/web3.d.ts +2 -0
  127. package/dist/esm/constants/web3.d.ts.map +1 -0
  128. package/dist/esm/constants/web3.js +3 -0
  129. package/dist/esm/context/connectors.d.ts +30 -0
  130. package/dist/esm/context/connectors.d.ts.map +1 -0
  131. package/dist/esm/context/connectors.js +98 -0
  132. package/dist/esm/context/index.d.ts +5 -0
  133. package/dist/esm/context/index.d.ts.map +1 -0
  134. package/dist/esm/context/web3.d.ts +14 -0
  135. package/dist/esm/context/web3.d.ts.map +1 -0
  136. package/dist/esm/context/web3.js +74 -0
  137. package/dist/esm/helpers/index.d.ts +5 -0
  138. package/dist/esm/helpers/index.d.ts.map +1 -0
  139. package/dist/esm/helpers/index.js +4 -0
  140. package/dist/esm/helpers/interceptLedgerError.d.ts +5 -0
  141. package/dist/esm/helpers/interceptLedgerError.d.ts.map +1 -0
  142. package/dist/esm/helpers/interceptLedgerError.js +15 -0
  143. package/dist/esm/helpers/isUrl.d.ts +2 -0
  144. package/dist/esm/helpers/isUrl.d.ts.map +1 -0
  145. package/dist/esm/helpers/isUrl.js +6 -0
  146. package/dist/esm/helpers/providerDetectors.d.ts +41 -0
  147. package/dist/esm/helpers/providerDetectors.d.ts.map +1 -0
  148. package/dist/esm/helpers/providerDetectors.js +145 -0
  149. package/dist/esm/helpers/ua.d.ts +13 -0
  150. package/dist/esm/helpers/ua.d.ts.map +1 -0
  151. package/dist/esm/helpers/ua.js +35 -0
  152. package/dist/esm/hooks/index.d.ts +25 -0
  153. package/dist/esm/hooks/index.d.ts.map +1 -0
  154. package/dist/esm/hooks/useAutoConnect.d.ts +7 -0
  155. package/dist/esm/hooks/useAutoConnect.d.ts.map +1 -0
  156. package/dist/esm/hooks/useAutoConnect.js +121 -0
  157. package/dist/esm/hooks/useConnectorBraveWallet.d.ts +8 -0
  158. package/dist/esm/hooks/useConnectorBraveWallet.d.ts.map +1 -0
  159. package/dist/esm/hooks/useConnectorBraveWallet.js +51 -0
  160. package/dist/esm/hooks/useConnectorCoin98.d.ts +8 -0
  161. package/dist/esm/hooks/useConnectorCoin98.d.ts.map +1 -0
  162. package/dist/esm/hooks/useConnectorCoin98.js +54 -0
  163. package/dist/esm/hooks/useConnectorCoinbase.d.ts +8 -0
  164. package/dist/esm/hooks/useConnectorCoinbase.d.ts.map +1 -0
  165. package/dist/esm/hooks/useConnectorCoinbase.js +31 -0
  166. package/dist/esm/hooks/useConnectorError.d.ts +2 -0
  167. package/dist/esm/hooks/useConnectorError.d.ts.map +1 -0
  168. package/dist/esm/hooks/useConnectorError.js +18 -0
  169. package/dist/esm/hooks/useConnectorExodus.d.ts +8 -0
  170. package/dist/esm/hooks/useConnectorExodus.d.ts.map +1 -0
  171. package/dist/esm/hooks/useConnectorExodus.js +51 -0
  172. package/dist/esm/hooks/useConnectorGamestop.d.ts +8 -0
  173. package/dist/esm/hooks/useConnectorGamestop.d.ts.map +1 -0
  174. package/dist/esm/hooks/useConnectorGamestop.js +51 -0
  175. package/dist/esm/hooks/useConnectorImToken.d.ts +8 -0
  176. package/dist/esm/hooks/useConnectorImToken.d.ts.map +1 -0
  177. package/dist/esm/hooks/useConnectorImToken.js +52 -0
  178. package/dist/esm/hooks/useConnectorInfo.d.ts +27 -0
  179. package/dist/esm/hooks/useConnectorInfo.d.ts.map +1 -0
  180. package/dist/esm/hooks/useConnectorInfo.js +102 -0
  181. package/dist/esm/hooks/useConnectorLedger.d.ts +8 -0
  182. package/dist/esm/hooks/useConnectorLedger.d.ts.map +1 -0
  183. package/dist/esm/hooks/useConnectorLedger.js +31 -0
  184. package/dist/esm/hooks/useConnectorMathWallet.d.ts +8 -0
  185. package/dist/esm/hooks/useConnectorMathWallet.d.ts.map +1 -0
  186. package/dist/esm/hooks/useConnectorMathWallet.js +60 -0
  187. package/dist/esm/hooks/useConnectorMetamask.d.ts +8 -0
  188. package/dist/esm/hooks/useConnectorMetamask.d.ts.map +1 -0
  189. package/dist/esm/hooks/useConnectorMetamask.js +67 -0
  190. package/dist/esm/hooks/useConnectorOperaWallet.d.ts +8 -0
  191. package/dist/esm/hooks/useConnectorOperaWallet.d.ts.map +1 -0
  192. package/dist/esm/hooks/useConnectorOperaWallet.js +51 -0
  193. package/dist/esm/hooks/useConnectorStorage.d.ts +3 -0
  194. package/dist/esm/hooks/useConnectorStorage.d.ts.map +1 -0
  195. package/dist/esm/hooks/useConnectorStorage.js +10 -0
  196. package/dist/esm/hooks/useConnectorTally.d.ts +8 -0
  197. package/dist/esm/hooks/useConnectorTally.d.ts.map +1 -0
  198. package/dist/esm/hooks/useConnectorTally.js +46 -0
  199. package/dist/esm/hooks/useConnectorTrust.d.ts +8 -0
  200. package/dist/esm/hooks/useConnectorTrust.d.ts.map +1 -0
  201. package/dist/esm/hooks/useConnectorTrust.js +52 -0
  202. package/dist/esm/hooks/useConnectorWalletConnect.d.ts +8 -0
  203. package/dist/esm/hooks/useConnectorWalletConnect.d.ts.map +1 -0
  204. package/dist/esm/hooks/useConnectorWalletConnect.js +33 -0
  205. package/dist/esm/hooks/useConnectorWalletConnectNoLinks.d.ts +8 -0
  206. package/dist/esm/hooks/useConnectorWalletConnectNoLinks.d.ts.map +1 -0
  207. package/dist/esm/hooks/useConnectorWalletConnectNoLinks.js +33 -0
  208. package/dist/esm/hooks/useConnectorWalletConnectUri.d.ts +8 -0
  209. package/dist/esm/hooks/useConnectorWalletConnectUri.d.ts.map +1 -0
  210. package/dist/esm/hooks/useConnectorWalletConnectUri.js +33 -0
  211. package/dist/esm/hooks/useConnectorXdefi.d.ts +8 -0
  212. package/dist/esm/hooks/useConnectorXdefi.d.ts.map +1 -0
  213. package/dist/esm/hooks/useConnectorXdefi.js +51 -0
  214. package/dist/esm/hooks/useConnectors.d.ts +3 -0
  215. package/dist/esm/hooks/useConnectors.d.ts.map +1 -0
  216. package/dist/esm/hooks/useConnectors.js +9 -0
  217. package/dist/esm/hooks/useDisconnect.d.ts +7 -0
  218. package/dist/esm/hooks/useDisconnect.d.ts.map +1 -0
  219. package/dist/esm/hooks/useDisconnect.js +50 -0
  220. package/dist/esm/hooks/useSupportedChains.d.ts +6 -0
  221. package/dist/esm/hooks/useSupportedChains.d.ts.map +1 -0
  222. package/dist/esm/hooks/useSupportedChains.js +25 -0
  223. package/dist/esm/hooks/useWeb3.d.ts +4 -0
  224. package/dist/esm/hooks/useWeb3.d.ts.map +1 -0
  225. package/dist/esm/hooks/useWeb3.js +6 -0
  226. package/dist/esm/index.d.ts +5 -0
  227. package/dist/esm/index.d.ts.map +1 -0
  228. package/dist/esm/index.js +32 -0
  229. package/package.json +53 -0
  230. package/rollup.config.js +62 -0
@@ -0,0 +1,7 @@
1
+ $ rollup -c
2
+ 
3
+ ./src/index → dist/cjs, dist/esm...
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
+ created dist/cjs, dist/esm in 7.7s
@@ -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,4 @@
1
+ export * from './web3';
2
+ export * from './storage';
3
+ export * from './connectors';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export declare const STORAGE_CONNECTOR_KEY = "lido-web3-connector";
2
+ //# sourceMappingURL=storage.d.ts.map
@@ -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,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var STORAGE_CONNECTOR_KEY = 'lido-web3-connector';
6
+
7
+ exports.STORAGE_CONNECTOR_KEY = STORAGE_CONNECTOR_KEY;
@@ -0,0 +1,2 @@
1
+ export declare const POLLING_INTERVAL = 12000;
2
+ //# sourceMappingURL=web3.d.ts.map
@@ -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,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var POLLING_INTERVAL = 12000;
6
+
7
+ exports.POLLING_INTERVAL = POLLING_INTERVAL;
@@ -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,5 @@
1
+ export * from './web3';
2
+ export * from './connectors';
3
+ export { default as ProviderWeb3 } from './web3';
4
+ export { default as ProviderConnectors } from './connectors';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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,5 @@
1
+ export * from './providerDetectors';
2
+ export * from './ua';
3
+ export { default as isUrl } from './isUrl';
4
+ export { default as interceptLedgerError } from './interceptLedgerError';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}