safe-react/src/config/index.js

72 lines
1.9 KiB
JavaScript
Raw Normal View History

// @flow
import { ensureOnce } from "~/utils/singleton"
import { ETHEREUM_NETWORK } from "~/logic/wallets/getWeb3"
import {
RELAY_API_URL,
SIGNATURES_VIA_METAMASK,
TX_SERVICE_HOST
} from "~/config/names"
import devConfig from "./development"
import testConfig from "./testing"
import stagingConfig from "./staging"
import prodConfig from "./production"
import mainnetDevConfig from "./development-mainnet"
import mainnetProdConfig from "./production-mainnet"
import mainnetStagingConfig from "./staging-mainnet"
const configuration = () => {
if (process.env.NODE_ENV === "test") {
return testConfig
}
if (process.env.NODE_ENV === "production") {
if (process.env.REACT_APP_NETWORK === "mainnet") {
return process.env.REACT_APP_ENV === "production"
? mainnetProdConfig
: mainnetStagingConfig
2019-09-24 14:30:09 +04:00
}
return process.env.REACT_APP_ENV === "production"
? prodConfig
: stagingConfig
}
return process.env.REACT_APP_NETWORK === "mainnet"
? mainnetDevConfig
: devConfig
}
export const getNetwork = () =>
process.env.REACT_APP_NETWORK === "mainnet"
? ETHEREUM_NETWORK.MAINNET
: ETHEREUM_NETWORK.RINKEBY
2019-09-24 14:30:09 +04:00
const getConfig = ensureOnce(configuration)
export const getTxServiceHost = () => {
const config = getConfig()
return config[TX_SERVICE_HOST]
}
export const getTxServiceUriFrom = (safeAddress: string) =>
`safes/${safeAddress}/transactions/`
2019-03-14 19:36:09 +04:00
export const getRelayUrl = () => getConfig()[RELAY_API_URL]
export const signaturesViaMetamask = () => {
const config = getConfig()
return config[SIGNATURES_VIA_METAMASK]
}
export const getGoogleAnalyticsTrackingID = () =>
getNetwork() === ETHEREUM_NETWORK.MAINNET
? process.env.REACT_APP_GOOGLE_ANALYTICS_ID_MAINNET
: process.env.REACT_APP_GOOGLE_ANALYTICS_ID_RINKEBY
export const getIntercomId = () =>
process.env.REACT_APP_ENV === "production"
? process.env.REACT_APP_INTERCOM_ID
: "plssl1fl"