@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,62 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../_virtual/_tslib.js');
6
+ var invariant = require('tiny-invariant');
7
+ var react = require('react');
8
+ var helpers = require('@lido-sdk/helpers');
9
+ var useConnectors = require('./useConnectors.js');
10
+ var useWeb3 = require('./useWeb3.js');
11
+ var providerDetectors = require('../helpers/providerDetectors.js');
12
+ var ua = require('../helpers/ua.js');
13
+ var useDisconnect = require('./useDisconnect.js');
14
+
15
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
+
17
+ var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant);
18
+
19
+ var WALLET_URL_ANDROID = 'https://android.coin98.app';
20
+ var WALLET_URL_IOS = 'https://ios.coin98.app';
21
+ var WALLET_URL_CHROME = 'https://chrome.coin98.com';
22
+ var useConnectorCoin98 = function () {
23
+ var injected = useConnectors.useConnectors().injected;
24
+ var activate = useWeb3.useWeb3().activate;
25
+ var disconnect = useDisconnect.useForceDisconnect().disconnect;
26
+ var suggestApp = react.useCallback(function () {
27
+ if (ua.isAndroid) {
28
+ helpers.openWindow(WALLET_URL_ANDROID);
29
+ } else if (ua.isIOS) {
30
+ helpers.openWindow(WALLET_URL_IOS);
31
+ } else {
32
+ helpers.openWindow(WALLET_URL_CHROME);
33
+ }
34
+ }, []);
35
+ var connect = react.useCallback(function () {
36
+ return _tslib.__awaiter(void 0, void 0, void 0, function () {
37
+ return _tslib.__generator(this, function (_a) {
38
+ switch (_a.label) {
39
+ case 0:
40
+ invariant__default["default"](injected, 'Connector is required');
41
+ if (!(providerDetectors.hasInjected() && providerDetectors.isCoin98Provider())) return [3 /*break*/, 2];
42
+ return [4 /*yield*/, disconnect()];
43
+ case 1:
44
+ _a.sent();
45
+ activate(injected);
46
+ return [3 /*break*/, 3];
47
+ case 2:
48
+ suggestApp();
49
+ _a.label = 3;
50
+ case 3:
51
+ return [2 /*return*/];
52
+ }
53
+ });
54
+ });
55
+ }, [activate, disconnect, suggestApp, injected]);
56
+ return {
57
+ connect: connect,
58
+ connector: injected
59
+ };
60
+ };
61
+
62
+ exports.useConnectorCoin98 = useConnectorCoin98;
@@ -0,0 +1,8 @@
1
+ import { WalletLinkConnector } from '@web3-react/walletlink-connector';
2
+ declare type Connector = {
3
+ connect: () => Promise<void>;
4
+ connector: WalletLinkConnector;
5
+ };
6
+ export declare const useConnectorCoinbase: () => Connector;
7
+ export {};
8
+ //# sourceMappingURL=useConnectorCoinbase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectorCoinbase.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorCoinbase.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,aAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,mBAAmB,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,SAWvC,CAAC"}
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../_virtual/_tslib.js');
6
+ var react = require('react');
7
+ var useConnectors = require('./useConnectors.js');
8
+ var useDisconnect = require('./useDisconnect.js');
9
+ var useWeb3 = require('./useWeb3.js');
10
+
11
+ var useConnectorCoinbase = function () {
12
+ var coinbase = useConnectors.useConnectors().coinbase;
13
+ var activate = useWeb3.useWeb3().activate;
14
+ var disconnect = useDisconnect.useForceDisconnect().disconnect;
15
+ var connect = react.useCallback(function () {
16
+ return _tslib.__awaiter(void 0, void 0, void 0, function () {
17
+ return _tslib.__generator(this, function (_a) {
18
+ switch (_a.label) {
19
+ case 0:
20
+ return [4 /*yield*/, disconnect()];
21
+ case 1:
22
+ _a.sent();
23
+ activate(coinbase);
24
+ return [2 /*return*/];
25
+ }
26
+ });
27
+ });
28
+ }, [activate, disconnect, coinbase]);
29
+ return {
30
+ connect: connect,
31
+ connector: coinbase
32
+ };
33
+ };
34
+
35
+ exports.useConnectorCoinbase = useConnectorCoinbase;
@@ -0,0 +1,2 @@
1
+ export declare const useConnectorError: () => Error | undefined;
2
+ //# sourceMappingURL=useConnectorError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectorError.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorError.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,QAAO,KAAK,GAAG,SAa5C,CAAC"}
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var useWeb3 = require('./useWeb3.js');
6
+ require('../helpers/ua.js');
7
+ var interceptLedgerError = require('../helpers/interceptLedgerError.js');
8
+ var useConnectorInfo = require('./useConnectorInfo.js');
9
+
10
+ var useConnectorError = function () {
11
+ var error = useWeb3.useWeb3().error;
12
+ var isLedger = useConnectorInfo.useConnectorInfo().isLedger;
13
+ if (!error) {
14
+ return error;
15
+ }
16
+ if (isLedger) {
17
+ return interceptLedgerError["default"](error);
18
+ }
19
+ return error;
20
+ };
21
+
22
+ exports.useConnectorError = useConnectorError;
@@ -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 useConnectorExodus: () => ConnectorHookResult;
7
+ export {};
8
+ //# sourceMappingURL=useConnectorExodus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectorExodus.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectorExodus.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,kBAAkB,QAAO,mBAyBrC,CAAC"}
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../_virtual/_tslib.js');
6
+ var invariant = require('tiny-invariant');
7
+ var warning = require('tiny-warning');
8
+ var react = require('react');
9
+ var helpers = require('@lido-sdk/helpers');
10
+ var useConnectors = require('./useConnectors.js');
11
+ var useWeb3 = require('./useWeb3.js');
12
+ var providerDetectors = require('../helpers/providerDetectors.js');
13
+ require('../helpers/ua.js');
14
+ var useDisconnect = require('./useDisconnect.js');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant);
19
+ var warning__default = /*#__PURE__*/_interopDefaultLegacy(warning);
20
+
21
+ var WALLET_URL = 'https://www.exodus.com/browser-extension/';
22
+ var useConnectorExodus = function () {
23
+ var injected = useConnectors.useConnectors().injected;
24
+ var activate = useWeb3.useWeb3().activate;
25
+ var disconnect = useDisconnect.useForceDisconnect().disconnect;
26
+ var suggestApp = react.useCallback(function () {
27
+ try {
28
+ helpers.openWindow(WALLET_URL);
29
+ } catch (error) {
30
+ warning__default["default"](false, 'Failed to open the link');
31
+ }
32
+ }, []);
33
+ var connect = react.useCallback(function () {
34
+ return _tslib.__awaiter(void 0, void 0, void 0, function () {
35
+ return _tslib.__generator(this, function (_a) {
36
+ switch (_a.label) {
37
+ case 0:
38
+ invariant__default["default"](injected, 'Connector is required');
39
+ if (!(providerDetectors.hasInjected() && providerDetectors.isExodusProvider())) 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
+ exports.useConnectorExodus = 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,60 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../_virtual/_tslib.js');
6
+ var invariant = require('tiny-invariant');
7
+ var warning = require('tiny-warning');
8
+ var react = require('react');
9
+ var helpers = require('@lido-sdk/helpers');
10
+ var useConnectors = require('./useConnectors.js');
11
+ var useWeb3 = require('./useWeb3.js');
12
+ var providerDetectors = require('../helpers/providerDetectors.js');
13
+ require('../helpers/ua.js');
14
+ var useDisconnect = require('./useDisconnect.js');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant);
19
+ var warning__default = /*#__PURE__*/_interopDefaultLegacy(warning);
20
+
21
+ var WALLET_URL = 'https://wallet.gamestop.com/';
22
+ var useConnectorGamestop = function () {
23
+ var injected = useConnectors.useConnectors().injected;
24
+ var activate = useWeb3.useWeb3().activate;
25
+ var disconnect = useDisconnect.useForceDisconnect().disconnect;
26
+ var suggestApp = react.useCallback(function () {
27
+ try {
28
+ helpers.openWindow(WALLET_URL);
29
+ } catch (error) {
30
+ warning__default["default"](false, 'Failed to open the link');
31
+ }
32
+ }, []);
33
+ var connect = react.useCallback(function () {
34
+ return _tslib.__awaiter(void 0, void 0, void 0, function () {
35
+ return _tslib.__generator(this, function (_a) {
36
+ switch (_a.label) {
37
+ case 0:
38
+ invariant__default["default"](injected, 'Connector is required');
39
+ if (!(providerDetectors.hasInjected() && providerDetectors.isGamestopProvider())) 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
+ exports.useConnectorGamestop = 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,61 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../_virtual/_tslib.js');
6
+ var invariant = require('tiny-invariant');
7
+ var warning = require('tiny-warning');
8
+ var react = require('react');
9
+ var helpers = require('@lido-sdk/helpers');
10
+ var useConnectors = require('./useConnectors.js');
11
+ var useWeb3 = require('./useWeb3.js');
12
+ var providerDetectors = require('../helpers/providerDetectors.js');
13
+ require('../helpers/ua.js');
14
+ var useDisconnect = require('./useDisconnect.js');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant);
19
+ var warning__default = /*#__PURE__*/_interopDefaultLegacy(warning);
20
+
21
+ var WALLET_URL = 'imtokenv2://navigate/DappView?url=';
22
+ var useConnectorImToken = function () {
23
+ var injected = useConnectors.useConnectors().injected;
24
+ var activate = useWeb3.useWeb3().activate;
25
+ var disconnect = useDisconnect.useForceDisconnect().disconnect;
26
+ var openInWallet = react.useCallback(function () {
27
+ try {
28
+ var pageUrl = encodeURIComponent(window.location.href);
29
+ helpers.openWindow("".concat(WALLET_URL).concat(pageUrl));
30
+ } catch (error) {
31
+ warning__default["default"](false, 'Failed to open the link');
32
+ }
33
+ }, []);
34
+ var connect = react.useCallback(function () {
35
+ return _tslib.__awaiter(void 0, void 0, void 0, function () {
36
+ return _tslib.__generator(this, function (_a) {
37
+ switch (_a.label) {
38
+ case 0:
39
+ invariant__default["default"](injected, 'Connector is required');
40
+ if (!(providerDetectors.hasInjected() && providerDetectors.isImTokenProvider())) return [3 /*break*/, 2];
41
+ return [4 /*yield*/, disconnect()];
42
+ case 1:
43
+ _a.sent();
44
+ activate(injected);
45
+ return [3 /*break*/, 3];
46
+ case 2:
47
+ openInWallet();
48
+ _a.label = 3;
49
+ case 3:
50
+ return [2 /*return*/];
51
+ }
52
+ });
53
+ });
54
+ }, [activate, disconnect, openInWallet, injected]);
55
+ return {
56
+ connect: connect,
57
+ connector: injected
58
+ };
59
+ };
60
+
61
+ exports.useConnectorImToken = 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,106 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var safeAppsWeb3React = require('@gnosis.pm/safe-apps-web3-react');
6
+ var injectedConnector = require('@web3-react/injected-connector');
7
+ var walletconnectConnector = require('@web3-react/walletconnect-connector');
8
+ var walletlinkConnector = require('@web3-react/walletlink-connector');
9
+ var web3LedgerhqFrameConnector = require('web3-ledgerhq-frame-connector');
10
+ var web3LedgerhqConnector = require('web3-ledgerhq-connector');
11
+ var useWeb3 = require('./useWeb3.js');
12
+ var connectors = require('../constants/connectors.js');
13
+ var providerDetectors = require('../helpers/providerDetectors.js');
14
+ require('../helpers/ua.js');
15
+
16
+ var useConnectorInfo = function () {
17
+ var _a = useWeb3.useWeb3(),
18
+ active = _a.active,
19
+ connector = _a.connector;
20
+ var isGnosis = active && connector instanceof safeAppsWeb3React.SafeAppConnector;
21
+ var isWalletConnect = active && connector instanceof walletconnectConnector.WalletConnectConnector;
22
+ var isLedgerLive = active && connector instanceof web3LedgerhqFrameConnector.LedgerHQFrameConnector;
23
+ var isLedger = connector instanceof web3LedgerhqConnector.LedgerHQConnector;
24
+ // WalletLink is used by Coinbase, but it can be used by other wallets too.
25
+ var isWalletLink = active && connector instanceof walletlinkConnector.WalletLinkConnector;
26
+ // This detection doesn't work for the connection via QR code scanning.
27
+ var isCoinbase = active && providerDetectors.isCoinbaseProvider();
28
+ var isInjected = active && connector instanceof injectedConnector.InjectedConnector;
29
+ var isDappBrowser = isInjected && providerDetectors.isDappBrowserProvider();
30
+ var isMetamask = isInjected && providerDetectors.isMetamaskProvider();
31
+ var isCoin98 = isInjected && providerDetectors.isCoin98Provider();
32
+ var isMathWallet = isInjected && providerDetectors.isMathWalletProvider();
33
+ var isImToken = isInjected && providerDetectors.isImTokenProvider();
34
+ var isTrust = isInjected && providerDetectors.isTrustProvider();
35
+ var isTally = isInjected && providerDetectors.isTallyProvider();
36
+ var isBraveWallet = isInjected && providerDetectors.isBraveWalletProvider();
37
+ var isOperaWallet = isInjected && providerDetectors.isOperaWalletProvider();
38
+ var isExodus = isInjected && providerDetectors.isExodusProvider();
39
+ var isGamestop = isInjected && providerDetectors.isGamestopProvider();
40
+ var isXdefi = isInjected && providerDetectors.isXdefiProvider();
41
+ var providerName = function () {
42
+ if (isGnosis) return connectors.PROVIDER_NAMES.GNOSIS;
43
+ if (isLedger) return connectors.PROVIDER_NAMES.LEDGER;
44
+ if (isLedgerLive) return connectors.PROVIDER_NAMES.LEDGER_HQ_LIVE;
45
+ if (isWalletConnect) return connectors.PROVIDER_NAMES.WALLET_CONNECT;
46
+ if (isImToken) return connectors.PROVIDER_NAMES.IM_TOKEN;
47
+ if (isTrust) return connectors.PROVIDER_NAMES.TRUST;
48
+ // Wallets which has conflicts with each other.
49
+ // The order of wallets checks here is important.
50
+ // Most "aggressive" wallet, which overrides other wallets, goes first.
51
+ if (isTally) return connectors.PROVIDER_NAMES.TALLY;
52
+ if (isExodus) return connectors.PROVIDER_NAMES.EXODUS;
53
+ if (isXdefi) return connectors.PROVIDER_NAMES.XDEFI;
54
+ if (isGamestop) return connectors.PROVIDER_NAMES.GAMESTOP;
55
+ if (isMathWallet) return connectors.PROVIDER_NAMES.MATH_WALLET;
56
+ if (isCoin98) return connectors.PROVIDER_NAMES.COIN98;
57
+ if (isCoinbase) return connectors.PROVIDER_NAMES.COINBASE;
58
+ if (isOperaWallet) return connectors.PROVIDER_NAMES.OPERA;
59
+ if (isBraveWallet) return connectors.PROVIDER_NAMES.BRAVE;
60
+ // Metamask should be last in this list because almost all EIP-1193 wallets
61
+ // are trying to mimic Metamask by setting isMetamask = true
62
+ if (isMetamask) return connectors.PROVIDER_NAMES.METAMASK;
63
+ // General providers which doesn't specify what exact wallet is being used.
64
+ // Works as a fallback.
65
+ if (isWalletLink) return connectors.PROVIDER_NAMES.WALLET_LINK;
66
+ if (isInjected) return connectors.PROVIDER_NAMES.INJECTED;
67
+ return undefined;
68
+ }();
69
+ var connectorName = function () {
70
+ if (isCoinbase) return connectors.CONNECTOR_NAMES.COINBASE;
71
+ if (isGnosis) return connectors.CONNECTOR_NAMES.GNOSIS;
72
+ if (isLedger) return connectors.CONNECTOR_NAMES.LEDGER;
73
+ if (isLedgerLive) return connectors.CONNECTOR_NAMES.LEDGER_HQ_LIVE;
74
+ if (isWalletConnect) return connectors.CONNECTOR_NAMES.WALLET_CONNECT;
75
+ // General providers which doesn't specify what exact wallet is being used.
76
+ // Works as a fallback.
77
+ if (isWalletLink) return connectors.CONNECTOR_NAMES.WALLET_LINK;
78
+ if (isInjected) return connectors.CONNECTOR_NAMES.INJECTED;
79
+ return undefined;
80
+ }();
81
+ return {
82
+ connectorName: connectorName,
83
+ providerName: providerName,
84
+ isGnosis: isGnosis,
85
+ isLedger: isLedger,
86
+ isLedgerLive: isLedgerLive,
87
+ isWalletConnect: isWalletConnect,
88
+ isWalletLink: isWalletLink,
89
+ isCoinbase: isCoinbase,
90
+ isMetamask: isMetamask,
91
+ isCoin98: isCoin98,
92
+ isMathWallet: isMathWallet,
93
+ isImToken: isImToken,
94
+ isTrust: isTrust,
95
+ isTally: isTally,
96
+ isBraveWallet: isBraveWallet,
97
+ isOperaWallet: isOperaWallet,
98
+ isExodus: isExodus,
99
+ isGamestop: isGamestop,
100
+ isXdefi: isXdefi,
101
+ isDappBrowser: isDappBrowser,
102
+ isInjected: isInjected
103
+ };
104
+ };
105
+
106
+ exports.useConnectorInfo = 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,35 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../_virtual/_tslib.js');
6
+ var react = require('react');
7
+ var useConnectors = require('./useConnectors.js');
8
+ var useDisconnect = require('./useDisconnect.js');
9
+ var useWeb3 = require('./useWeb3.js');
10
+
11
+ var useConnectorLedger = function () {
12
+ var ledger = useConnectors.useConnectors().ledger;
13
+ var activate = useWeb3.useWeb3().activate;
14
+ var disconnect = useDisconnect.useForceDisconnect().disconnect;
15
+ var connect = react.useCallback(function () {
16
+ return _tslib.__awaiter(void 0, void 0, void 0, function () {
17
+ return _tslib.__generator(this, function (_a) {
18
+ switch (_a.label) {
19
+ case 0:
20
+ return [4 /*yield*/, disconnect()];
21
+ case 1:
22
+ _a.sent();
23
+ activate(ledger);
24
+ return [2 /*return*/];
25
+ }
26
+ });
27
+ });
28
+ }, [activate, disconnect, ledger]);
29
+ return {
30
+ connect: connect,
31
+ connector: ledger
32
+ };
33
+ };
34
+
35
+ exports.useConnectorLedger = 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,68 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../_virtual/_tslib.js');
6
+ var invariant = require('tiny-invariant');
7
+ var react = require('react');
8
+ var helpers = require('@lido-sdk/helpers');
9
+ var useConnectors = require('./useConnectors.js');
10
+ var useWeb3 = require('./useWeb3.js');
11
+ var providerDetectors = require('../helpers/providerDetectors.js');
12
+ var ua = require('../helpers/ua.js');
13
+ var useDisconnect = require('./useDisconnect.js');
14
+
15
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
+
17
+ var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant);
18
+
19
+ var WALLET_URL_ANDROID = 'https://play.google.com/store/apps/details?id=com.mathwallet.android';
20
+ var WALLET_URL_IOS = 'https://apps.apple.com/ru/app/mathwallet5/id1582612388';
21
+ var WALLET_URL_CHROME = 'https://chrome.google.com/webstore/detail/math-wallet/afbcbjpbpfadlkmhmclhkeeodmamcflc';
22
+ var WALLET_URL_EDGE = 'https://microsoftedge.microsoft.com/addons/detail/math-wallet/dfeccadlilpndjjohbjdblepmjeahlmm';
23
+ var WALLET_URL_FIREFOX = 'https://mathwallet.org/en-us/#extension';
24
+ var useConnectorMathWallet = function () {
25
+ var injected = useConnectors.useConnectors().injected;
26
+ var activate = useWeb3.useWeb3().activate;
27
+ var disconnect = useDisconnect.useForceDisconnect().disconnect;
28
+ var suggestApp = react.useCallback(function () {
29
+ if (ua.isAndroid) {
30
+ helpers.openWindow(WALLET_URL_ANDROID);
31
+ } else if (ua.isIOS) {
32
+ helpers.openWindow(WALLET_URL_IOS);
33
+ } else if (ua.isEdge) {
34
+ helpers.openWindow(WALLET_URL_EDGE);
35
+ } else if (ua.isFirefox) {
36
+ helpers.openWindow(WALLET_URL_FIREFOX);
37
+ } else {
38
+ helpers.openWindow(WALLET_URL_CHROME);
39
+ }
40
+ }, []);
41
+ var connect = react.useCallback(function () {
42
+ return _tslib.__awaiter(void 0, void 0, void 0, function () {
43
+ return _tslib.__generator(this, function (_a) {
44
+ switch (_a.label) {
45
+ case 0:
46
+ invariant__default["default"](injected, 'Connector is required');
47
+ if (!(providerDetectors.hasInjected() && providerDetectors.isMathWalletProvider())) return [3 /*break*/, 2];
48
+ return [4 /*yield*/, disconnect()];
49
+ case 1:
50
+ _a.sent();
51
+ activate(injected);
52
+ return [3 /*break*/, 3];
53
+ case 2:
54
+ suggestApp();
55
+ _a.label = 3;
56
+ case 3:
57
+ return [2 /*return*/];
58
+ }
59
+ });
60
+ });
61
+ }, [activate, disconnect, suggestApp, injected]);
62
+ return {
63
+ connect: connect,
64
+ connector: injected
65
+ };
66
+ };
67
+
68
+ exports.useConnectorMathWallet = 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"}