2019-04-25 19:12:47 +03:00
|
|
|
import React from 'react'
|
2019-04-15 19:56:40 +03:00
|
|
|
import ReactDOM from 'react-dom'
|
|
|
|
import ReactGA from 'react-ga'
|
2019-04-25 19:12:47 +03:00
|
|
|
import Web3Provider, { Connectors } from 'web3-react'
|
2019-05-03 23:37:59 +03:00
|
|
|
import ApplicationContextProvider, { Updater as ApplicationContextUpdater } from './contexts/Application'
|
|
|
|
import TransactionContextProvider, { Updater as TransactionUpdater } from './contexts/Transaction'
|
|
|
|
import StaticContextProvider, { Updater as StaticContextUpdater } from './contexts/Static'
|
|
|
|
import BlockContextProvider, { Updater as BlockContextUpdater } from './contexts/Block'
|
2019-04-16 03:06:39 +03:00
|
|
|
|
2019-04-15 19:56:40 +03:00
|
|
|
import App from './pages/App'
|
2019-05-03 23:37:59 +03:00
|
|
|
|
2019-04-15 19:56:40 +03:00
|
|
|
import './index.scss'
|
2019-05-03 23:37:59 +03:00
|
|
|
import './i18n'
|
2018-03-11 08:50:54 +03:00
|
|
|
|
2019-04-16 03:06:39 +03:00
|
|
|
if (process.env.NODE_ENV === 'production') {
|
2019-04-15 19:56:40 +03:00
|
|
|
ReactGA.initialize('UA-128182339-1')
|
2019-04-16 03:06:39 +03:00
|
|
|
} else {
|
|
|
|
ReactGA.initialize('test', { testMode: true })
|
2018-10-28 14:12:59 +03:00
|
|
|
}
|
2019-04-15 19:56:40 +03:00
|
|
|
ReactGA.pageview(window.location.pathname + window.location.search)
|
2018-10-28 14:05:08 +03:00
|
|
|
|
2019-04-25 19:12:47 +03:00
|
|
|
const { InjectedConnector, NetworkOnlyConnector } = Connectors
|
|
|
|
const Injected = new InjectedConnector({ supportedNetworks: [Number(process.env.REACT_APP_NETWORK_ID) || 1] })
|
|
|
|
const Infura = new NetworkOnlyConnector({
|
|
|
|
providerURL: process.env.REACT_APP_NETWORK_URL || ''
|
|
|
|
})
|
|
|
|
const connectors = { Injected, Infura }
|
|
|
|
|
2019-05-03 23:37:59 +03:00
|
|
|
function ContextProviders({ children }) {
|
|
|
|
return (
|
|
|
|
<ApplicationContextProvider>
|
|
|
|
<TransactionContextProvider>
|
|
|
|
<StaticContextProvider>
|
|
|
|
<BlockContextProvider>{children}</BlockContextProvider>
|
|
|
|
</StaticContextProvider>
|
|
|
|
</TransactionContextProvider>
|
|
|
|
</ApplicationContextProvider>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
function Updaters() {
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<ApplicationContextUpdater />
|
|
|
|
<TransactionUpdater />
|
|
|
|
<StaticContextUpdater />
|
|
|
|
<BlockContextUpdater />
|
|
|
|
</>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2019-04-16 03:06:39 +03:00
|
|
|
ReactDOM.render(
|
2019-05-08 05:25:55 +03:00
|
|
|
<Web3Provider connectors={connectors} libraryName="ethers.js">
|
|
|
|
<ContextProviders>
|
|
|
|
<Updaters />
|
|
|
|
<App />
|
|
|
|
</ContextProviders>
|
|
|
|
</Web3Provider>,
|
2019-04-16 03:06:39 +03:00
|
|
|
document.getElementById('root')
|
|
|
|
)
|