@reef-knot/web3-react 1.0.6 → 1.0.7
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web3.d.ts","sourceRoot":"","sources":["../../src/context/web3.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAO7D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAK7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAGvC,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;;
|
|
1
|
+
{"version":3,"file":"web3.d.ts","sourceRoot":"","sources":["../../src/context/web3.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAO7D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAK7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAGvC,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;;AAqGD,wBAAyD"}
|
package/dist/context/web3.js
CHANGED
|
@@ -5,7 +5,7 @@ import { Web3Provider } from '@ethersproject/providers';
|
|
|
5
5
|
import { CHAINS } from '@lido-sdk/constants';
|
|
6
6
|
import { getStaticRpcBatchProvider } from '@lido-sdk/providers';
|
|
7
7
|
import { ProviderSDK as ProviderSDK$1 } from '@lido-sdk/react';
|
|
8
|
-
import { Web3ReactProvider } from '@web3-react/core';
|
|
8
|
+
import { Web3ReactProvider, useWeb3React } from '@web3-react/core';
|
|
9
9
|
import { useAccount } from 'wagmi';
|
|
10
10
|
import 'tiny-warning';
|
|
11
11
|
import { useWeb3 } from '../hooks/useWeb3.js';
|
|
@@ -34,30 +34,43 @@ var ProviderSDK = props => {
|
|
|
34
34
|
pollingInterval = POLLING_INTERVAL
|
|
35
35
|
} = props,
|
|
36
36
|
rest = __rest(props, ["rpc", "defaultChainId", "supportedChainIds", "children", "pollingInterval"]);
|
|
37
|
+
var {
|
|
38
|
+
active: isConnectedViaWeb3React,
|
|
39
|
+
library
|
|
40
|
+
} = useWeb3React();
|
|
37
41
|
var {
|
|
38
42
|
chainId = defaultChainId,
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
account,
|
|
44
|
+
active
|
|
41
45
|
} = useWeb3();
|
|
42
|
-
var [providerWeb3, setProviderWeb3] = useState();
|
|
43
|
-
// attempt to get providerWeb3 from wagmi
|
|
44
46
|
var {
|
|
45
47
|
connector: connectorWagmi,
|
|
46
|
-
isConnected
|
|
48
|
+
isConnected: isConnectedViaWagmi
|
|
47
49
|
} = useAccount();
|
|
50
|
+
var [providerWeb3, setProviderWeb3] = useState();
|
|
51
|
+
// Reset web3 provider if the provider was set previously,
|
|
52
|
+
// and currently no wallet is connected via wagmi or web3-react.
|
|
53
|
+
// Gets triggered on a wallet disconnection, for example.
|
|
54
|
+
if (!active && providerWeb3) {
|
|
55
|
+
setProviderWeb3(undefined);
|
|
56
|
+
}
|
|
57
|
+
// Switching providers between wagmi and web3-react.
|
|
58
|
+
// This code is neither clean nor efficient, but it will be deprecated after transition to wagmi is complete.
|
|
59
|
+
// useEffect is needed here because we are calling getProvider async method from wagmi,
|
|
60
|
+
// which can be taken as an external API
|
|
48
61
|
useEffect(() => {
|
|
49
62
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
50
|
-
if (
|
|
63
|
+
if (!providerWeb3 && connectorWagmi && isConnectedViaWagmi) {
|
|
51
64
|
// Set wagmi provider
|
|
52
65
|
var p = yield connectorWagmi.getProvider();
|
|
53
66
|
setProviderWeb3(getLibrary(p));
|
|
54
|
-
} else if (!providerWeb3) {
|
|
67
|
+
} else if (!providerWeb3 && library && isConnectedViaWeb3React) {
|
|
55
68
|
// Set web3-react provider
|
|
56
69
|
// Passing `library` as init value for useState does not work, but works like this:
|
|
57
70
|
setProviderWeb3(library);
|
|
58
71
|
}
|
|
59
72
|
}))();
|
|
60
|
-
}, [connectorWagmi,
|
|
73
|
+
}, [connectorWagmi, isConnectedViaWagmi, isConnectedViaWeb3React, library, providerWeb3]);
|
|
61
74
|
invariant(rpc[chainId], "RPC url for chain ".concat(chainId, " is not provided"));
|
|
62
75
|
invariant(rpc[CHAINS.Mainnet], 'RPC url for mainnet is not provided');
|
|
63
76
|
var providerRpc = getStaticRpcBatchProvider(chainId, rpc[chainId], 0, pollingInterval);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectorInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectorInfo.ts"],"names":[],"mappings":"AAwBA,KAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,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,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,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,
|
|
1
|
+
{"version":3,"file":"useConnectorInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectorInfo.ts"],"names":[],"mappings":"AAwBA,KAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,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,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,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,aAyGnC,CAAC"}
|
|
@@ -49,6 +49,13 @@ var useConnectorInfo = () => {
|
|
|
49
49
|
var isZerion = isInjected && isZerionProvider();
|
|
50
50
|
var providerName = (() => {
|
|
51
51
|
if (isConnectedViaWagmi && wagmiConnector.name) return wagmiConnector.name;
|
|
52
|
+
// Do not try to detect providerName if the app is opened in a mobile wallet dapp browser,
|
|
53
|
+
// because such wallets often mimic other wallets which makes proper detection to be hard.
|
|
54
|
+
// Also, if the app is opened in a mobile wallet dapp browser,
|
|
55
|
+
// then we autoconnect the wallet via injected connector,
|
|
56
|
+
// and we don't allow to disconnect in such case.
|
|
57
|
+
// So it is easy for a user to understand which wallet app is being used for connection.
|
|
58
|
+
if (isDappBrowser) return undefined;
|
|
52
59
|
if (isGnosis) return PROVIDER_NAMES.GNOSIS;
|
|
53
60
|
if (isLedger) return PROVIDER_NAMES.LEDGER;
|
|
54
61
|
if (isLedgerLive) return PROVIDER_NAMES.LEDGER_HQ_LIVE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWeb3.d.ts","sourceRoot":"","sources":["../../src/hooks/useWeb3.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAIxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,wBAAgB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"useWeb3.d.ts","sourceRoot":"","sources":["../../src/hooks/useWeb3.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAIxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,wBAAgB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAgD3E"}
|