Skip to content

Commit

Permalink
refactor: removed hard-coded JSON RPC endpoints and chain ID
Browse files Browse the repository at this point in the history
  • Loading branch information
hbarcelos committed Sep 23, 2021
1 parent 40a8533 commit 9ab98af
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 33 deletions.
2 changes: 0 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
DEFAULT_CHAIN_ID=42
LINGUO_HOST_ADDRESS=https://linguo.kleros.io
IPFS_HOST_ADDRESS=https://ipfs.kleros.io
IPFS_GATEWAY_ADDRESS=https://ipfs.kleros.io
JSON_RPC_URLS='{<chain-id1>: <url>, <chain-id2>: <url> ...}'
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"main": "dist/index.js",
"scripts": {
"build": "parcel build src/index.html --no-source-maps --public-url .",
"postbuild": "shx test -f ./linguo-evidence-display.zip && rm -rf ./linguo-evidence-display.zip; zip -jr ./linguo-evidence-display.zip dist/*",
"clean": "rm -rf .cache dist",
"lint:css": "stylelint 'src/**/*.js{,x}'",
"lint:js": "eslint --ext .js,.jsx src/",
Expand Down Expand Up @@ -94,6 +95,7 @@
"prettier": "^2.0.2",
"prettier-config-standard": "^1.0.1",
"prettier-plugin-packagejson": "^2.1.2",
"shx": "^0.3.3",
"stylelint": "^13.2.1",
"stylelint-config-recommended": "^3.0.0",
"stylelint-config-styled-components": "^0.1.1",
Expand Down
14 changes: 5 additions & 9 deletions src/app/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import styled from 'styled-components';
import { Web3ReactProvider, useWeb3React } from '@web3-react/core';
import { Spin } from 'antd';
import Web3 from 'web3';
import { createNetworkConnector, network as fallbackNetworkConnector } from './connectors';
import { createNetworkConnector } from './connectors';
import { withProvider } from './archon';
import LinguoEvidence from '../pages/LinguoEvidence';
import { createLinguoApi, LinguoApiProvider, useInjectedParams } from '~/features/linguo';
Expand All @@ -31,21 +31,17 @@ export default hot(module)(App);

function Initializer({ children }) {
const { activate, active, library } = useWeb3React();
const { jsonRpcUrl, chainID } = useInjectedParams();
const { arbitrableJsonRpcUrl, arbitrableChainID } = useInjectedParams();

const injectedNetworkConnector = React.useMemo(() => {
if (jsonRpcUrl && chainID) {
return createNetworkConnector({ url: jsonRpcUrl, chainId: chainID });
if (arbitrableJsonRpcUrl && arbitrableChainID) {
return createNetworkConnector({ url: arbitrableJsonRpcUrl, chainId: arbitrableChainID });
}

return null;
}, [jsonRpcUrl, chainID]);
}, [arbitrableJsonRpcUrl, arbitrableChainID]);

React.useEffect(() => {
if (injectedNetworkConnector) {
activate(injectedNetworkConnector);
} else {
activate(fallbackNetworkConnector);
}
}, [activate, injectedNetworkConnector]);

Expand Down
21 changes: 0 additions & 21 deletions src/app/connectors.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,5 @@
import { NetworkConnector } from '@web3-react/network-connector';

const env = process.env.NODE_ENV ?? 'development';

const defaultChainIdsPerEnv = {
production: Number(process.env.DEFAULT_CHAIN_ID) ?? 100,
development: Number(process.env.DEFAULT_CHAIN_ID) ?? 77,
};

const defaultChainId = defaultChainIdsPerEnv[env] ?? 100;

if (!process.env.JSON_RPC_URLS) {
throw new Error('Missing JSON_RPC_URLS env var.');
}

const urls = JSON.parse(process.env.JSON_RPC_URLS);

export const network = new NetworkConnector({
urls,
defaultChainId,
pollingInterval: 20000,
});

export const createNetworkConnector = ({ url, chainId, pollingInterval = 20000 }) => {
return new NetworkConnector({
urls: { [chainId]: url },
Expand Down
46 changes: 45 additions & 1 deletion yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5435,6 +5435,11 @@ internal-slot@^1.0.3:
has "^1.0.3"
side-channel "^1.0.4"

interpret@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==

invariant@^2.2.2, invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
Expand Down Expand Up @@ -5558,6 +5563,13 @@ is-color-stop@^1.0.0:
rgb-regex "^1.0.1"
rgba-regex "^1.0.0"

is-core-module@^2.2.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19"
integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==
dependencies:
has "^1.0.3"

is-data-descriptor@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
Expand Down Expand Up @@ -6620,7 +6632,7 @@ minimist-options@^4.0.2:
is-plain-obj "^1.1.0"
kind-of "^6.0.3"

minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5:
minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
Expand Down Expand Up @@ -9000,6 +9012,13 @@ readdirp@^2.2.1:
micromatch "^3.1.10"
readable-stream "^2.0.2"

rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
dependencies:
resolve "^1.1.6"

redent@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa"
Expand Down Expand Up @@ -9273,6 +9292,14 @@ resolve@^1.1.5, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.13
dependencies:
path-parse "^1.0.6"

resolve@^1.1.6:
version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
dependencies:
is-core-module "^2.2.0"
path-parse "^1.0.6"

responselike@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
Expand Down Expand Up @@ -9572,6 +9599,23 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==

shelljs@^0.8.4:
version "0.8.4"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2"
integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
dependencies:
glob "^7.0.0"
interpret "^1.0.0"
rechoir "^0.6.2"

shx@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/shx/-/shx-0.3.3.tgz#681a88c7c10db15abe18525349ed474f0f1e7b9f"
integrity sha512-nZJ3HFWVoTSyyB+evEKjJ1STiixGztlqwKLTUNV5KqMWtGey9fTd4KU1gdZ1X9BV6215pswQ/Jew9NsuS/fNDA==
dependencies:
minimist "^1.2.3"
shelljs "^0.8.4"

side-channel@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947"
Expand Down

0 comments on commit 9ab98af

Please sign in to comment.