fix(governance): use default jsonrpc connector when the provider from useWe… (#3563)
This commit is contained in:
parent
0f7bffd38b
commit
b336291b49
@ -14,13 +14,17 @@ import { ContractsContext } from './contracts-context';
|
|||||||
import { createDefaultProvider } from '../../lib/web3-connectors';
|
import { createDefaultProvider } from '../../lib/web3-connectors';
|
||||||
import { useEthereumConfig } from '@vegaprotocol/web3';
|
import { useEthereumConfig } from '@vegaprotocol/web3';
|
||||||
import { useEnvironment } from '@vegaprotocol/environment';
|
import { useEnvironment } from '@vegaprotocol/environment';
|
||||||
import { ENV } from '../../config/env';
|
import { ENV } from '../../config';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides Vega Ethereum contract instances to its children.
|
* Provides Vega Ethereum contract instances to its children.
|
||||||
*/
|
*/
|
||||||
export const ContractsProvider = ({ children }: { children: JSX.Element }) => {
|
export const ContractsProvider = ({ children }: { children: JSX.Element }) => {
|
||||||
const { provider: activeProvider, account } = useWeb3React();
|
const {
|
||||||
|
provider: activeProvider,
|
||||||
|
account,
|
||||||
|
chainId: activeChainId,
|
||||||
|
} = useWeb3React();
|
||||||
const { config } = useEthereumConfig();
|
const { config } = useEthereumConfig();
|
||||||
const { VEGA_ENV, ETHEREUM_PROVIDER_URL } = useEnvironment();
|
const { VEGA_ENV, ETHEREUM_PROVIDER_URL } = useEnvironment();
|
||||||
const [contracts, setContracts] =
|
const [contracts, setContracts] =
|
||||||
@ -39,7 +43,11 @@ export const ContractsProvider = ({ children }: { children: JSX.Element }) => {
|
|||||||
ETHEREUM_PROVIDER_URL,
|
ETHEREUM_PROVIDER_URL,
|
||||||
Number(config.chain_id)
|
Number(config.chain_id)
|
||||||
);
|
);
|
||||||
const provider = activeProvider ? activeProvider : defaultProvider;
|
|
||||||
|
const provider =
|
||||||
|
activeProvider && activeChainId === Number(config.chain_id)
|
||||||
|
? activeProvider
|
||||||
|
: defaultProvider;
|
||||||
|
|
||||||
if (
|
if (
|
||||||
account &&
|
account &&
|
||||||
@ -84,7 +92,14 @@ export const ContractsProvider = ({ children }: { children: JSX.Element }) => {
|
|||||||
// TODO: hacky quick fix for release to prevent race condition, find a better fix for this.
|
// TODO: hacky quick fix for release to prevent race condition, find a better fix for this.
|
||||||
cancelled = true;
|
cancelled = true;
|
||||||
};
|
};
|
||||||
}, [activeProvider, account, config, VEGA_ENV, ETHEREUM_PROVIDER_URL]);
|
}, [
|
||||||
|
activeProvider,
|
||||||
|
activeChainId,
|
||||||
|
account,
|
||||||
|
config,
|
||||||
|
VEGA_ENV,
|
||||||
|
ETHEREUM_PROVIDER_URL,
|
||||||
|
]);
|
||||||
|
|
||||||
if (!contracts) {
|
if (!contracts) {
|
||||||
return (
|
return (
|
||||||
|
Loading…
Reference in New Issue
Block a user