Skip to content

Commit

Permalink
fix: revert bee env. variable names and add default rpc var (#545)
Browse files Browse the repository at this point in the history
  • Loading branch information
AuHau authored Sep 15, 2022
1 parent 0592995 commit 5295bd5
Show file tree
Hide file tree
Showing 14 changed files with 59 additions and 59 deletions.
8 changes: 1 addition & 7 deletions .env.development
Original file line number Diff line number Diff line change
@@ -1,7 +1 @@
PORT=3001
REACT_APP_BEE_HOST=http://localhost:1633
REACT_APP_BEE_DEBUG_HOST=http://localhost:1635
REACT_APP_BEE_DOCS_HOST=https://docs.ethswarm.org/docs/
REACT_APP_BEE_DISCORD_HOST=https://discord.gg/eKr9XPv7
REACT_APP_BLOCKCHAIN_EXPLORER_URL=https://blockscout.com/xdai/mainnet
REACT_APP_BEE_GITHUB_REPO_URL=https://api.github.com/repos/ethersphere/bee
PORT=3002
6 changes: 0 additions & 6 deletions .env.production

This file was deleted.

5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,9 @@ We support following variables:

- `REACT_APP_BEE_DESKTOP_ENABLED` (`boolean`) that toggles if the Dashboard is in Desktop mode or not.
- `REACT_APP_BEE_DESKTOP_URL` (`string`) defines custom URL where the Desktop API is expected. By default, it is same origin under which the Dashboard is served.
- `REACT_APP_BEE_API_URL` (`string`) defines custom Bee API URL to be used as default one. By default, the `http://localhost:1633` is used.
- `REACT_APP_BEE_DEBUG_API_URL` (`string`) defines custom Bee Debug API URL to be used as default one. By default, the `http://localhost:1635` is used.
- `REACT_APP_BEE_HOST` (`string`) defines custom Bee API URL to be used as default one. By default, the `http://localhost:1633` is used.
- `REACT_APP_BEE_DEBUG_HOST` (`string`) defines custom Bee Debug API URL to be used as default one. By default, the `http://localhost:1635` is used.
- `REACT_APP_DEFAULT_RPC_URL` (`string`) defines the default RPC provider URL. Be aware, that his only configures the default value. The user can override this in Settings, which is then persisted in local store and has priority over the value set in this env. variable. By default `https://xdai.fairdatasociety.org` is used.

#### Swarm Desktop development

Expand Down
3 changes: 3 additions & 0 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import { theme } from './theme'
interface Props {
beeApiUrl?: string
beeDebugApiUrl?: string
defaultRpcUrl?: string
lockedApiSettings?: boolean
isDesktop?: boolean
desktopUrl?: string
Expand All @@ -28,6 +29,7 @@ interface Props {
const App = ({
beeApiUrl,
beeDebugApiUrl,
defaultRpcUrl,
lockedApiSettings,
isDesktop,
desktopUrl,
Expand All @@ -39,6 +41,7 @@ const App = ({
<SettingsProvider
beeApiUrl={beeApiUrl}
beeDebugApiUrl={beeDebugApiUrl}
defaultRpcUrl={defaultRpcUrl}
lockedApiSettings={lockedApiSettings}
isDesktop={isDesktop}
desktopUrl={desktopUrl}
Expand Down
13 changes: 10 additions & 3 deletions src/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,19 @@ import reportWebVitals from './reportWebVitals'

const desktopEnabled = Boolean(process.env.REACT_APP_BEE_DESKTOP_ENABLED)
const desktopUrl = process.env.REACT_APP_BEE_DESKTOP_URL
const beeApiUrl = process.env.REACT_APP_BEE_API_URL
const beeDebugApiUrl = process.env.REACT_APP_BEE_DEBUG_API_URL
const beeApiUrl = process.env.REACT_APP_BEE_HOST
const beeDebugApiUrl = process.env.REACT_APP_BEE_DEBUG_HOST
const defaultRpcUrl = process.env.REACT_APP_DEFAULT_RPC_URL

ReactDOM.render(
<React.StrictMode>
<App isDesktop={desktopEnabled} desktopUrl={desktopUrl} beeApiUrl={beeApiUrl} beeDebugApiUrl={beeDebugApiUrl} />
<App
isDesktop={desktopEnabled}
desktopUrl={desktopUrl}
beeApiUrl={beeApiUrl}
beeDebugApiUrl={beeDebugApiUrl}
defaultRpcUrl={defaultRpcUrl}
/>
</React.StrictMode>,
document.getElementById('root'),
)
Expand Down
6 changes: 3 additions & 3 deletions src/pages/gift-code/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const GIFT_WALLET_FUND_BZZ_AMOUNT = Token.fromDecimal('0.5', 16)

export default function Index(): ReactElement {
const { giftWallets, addGiftWallet } = useContext(TopUpContext)
const { provider, desktopUrl } = useContext(SettingsContext)
const { rpcProvider, desktopUrl } = useContext(SettingsContext)
const { balance } = useContext(BalanceProvider)

const [loading, setLoading] = useState(false)
Expand All @@ -33,13 +33,13 @@ export default function Index(): ReactElement {
async function mapGiftWallets() {
const results = []
for (const giftWallet of giftWallets) {
results.push(await ResolvedWallet.make(giftWallet, provider))
results.push(await ResolvedWallet.make(giftWallet, rpcProvider))
}
setBalances(results)
}

mapGiftWallets()
}, [giftWallets, provider])
}, [giftWallets, rpcProvider])

const { enqueueSnackbar } = useSnackbar()
const navigate = useNavigate()
Expand Down
4 changes: 2 additions & 2 deletions src/pages/settings/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default function SettingsPage(): ReactElement {
cors,
dataDir,
ensResolver,
providerUrl,
rpcProviderUrl,
isLoading,
isDesktop,
setAndPersistJsonRpcProvider,
Expand Down Expand Up @@ -49,7 +49,7 @@ export default function SettingsPage(): ReactElement {
/>
<ExpandableListItemInput
label="Blockchain RPC URL"
value={providerUrl}
value={rpcProviderUrl}
helperText="Changing the value will restart your bee node."
confirmLabel="Save and restart"
onConfirm={value => {
Expand Down
14 changes: 7 additions & 7 deletions src/pages/top-up/GiftCardFund.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { BeeModes } from '@ethersphere/bee-js'

export function GiftCardFund(): ReactElement {
const { nodeAddresses, nodeInfo } = useContext(BeeContext)
const { isDesktop, desktopUrl, provider, providerUrl } = useContext(SettingsContext)
const { isDesktop, desktopUrl, rpcProvider, rpcProviderUrl } = useContext(SettingsContext)
const { balance } = useContext(BalanceProvider)

const [loading, setLoading] = useState(false)
Expand All @@ -34,12 +34,12 @@ export function GiftCardFund(): ReactElement {
const navigate = useNavigate()

useEffect(() => {
if (!privateKeyString || !provider) {
if (!privateKeyString || !rpcProvider) {
return
}

ResolvedWallet.make(privateKeyString, provider).then(setWallet)
}, [privateKeyString, provider])
ResolvedWallet.make(privateKeyString, rpcProvider).then(setWallet)
}, [privateKeyString, rpcProvider])

if (!wallet || !balance) {
return <Loading />
Expand All @@ -50,7 +50,7 @@ export function GiftCardFund(): ReactElement {
async function restart() {
try {
await sleepMs(5_000)
await upgradeToLightNode(desktopUrl, providerUrl)
await upgradeToLightNode(desktopUrl, rpcProviderUrl)
await restartBeeNode(desktopUrl)
enqueueSnackbar('Upgraded to light node', { variant: 'success' })
navigate(ROUTES.RESTART_LIGHT)
Expand All @@ -61,14 +61,14 @@ export function GiftCardFund(): ReactElement {
}

async function onFund() {
if (!wallet || !nodeAddresses || !providerUrl) {
if (!wallet || !nodeAddresses || !rpcProviderUrl) {
return
}

setLoading(true)

try {
await wallet.transfer(nodeAddresses.ethereum, providerUrl)
await wallet.transfer(nodeAddresses.ethereum, rpcProviderUrl)
enqueueSnackbar('Successfully funded node', { variant: 'success' })

if (canUpgradeToLightNode) await restart()
Expand Down
10 changes: 5 additions & 5 deletions src/pages/top-up/GiftCardTopUpIndex.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,21 @@ import { ROUTES } from '../../routes'
import { Rpc } from '../../utils/rpc'

export function GiftCardTopUpIndex(): ReactElement {
const { provider } = useContext(SettingsContext)
const { rpcProvider } = useContext(SettingsContext)
const [loading, setLoading] = useState(false)
const [giftCode, setGiftCode] = useState('')

const { enqueueSnackbar } = useSnackbar()
const navigate = useNavigate()

async function onProceed() {
if (!provider) return
if (!rpcProvider) return

setLoading(true)
try {
const wallet = new Wallet(giftCode, provider)
const dai = new DaiToken(await Rpc._eth_getBalance(wallet.address, provider))
const bzz = new BzzToken(await Rpc._eth_getBalanceERC20(wallet.address, provider))
const wallet = new Wallet(giftCode, rpcProvider)
const dai = new DaiToken(await Rpc._eth_getBalance(wallet.address, rpcProvider))
const bzz = new BzzToken(await Rpc._eth_getBalanceERC20(wallet.address, rpcProvider))

if (dai.toDecimal.lt(0.001) || bzz.toDecimal.lt(0.001)) {
throw Error('Gift wallet does not have enough funds')
Expand Down
4 changes: 2 additions & 2 deletions src/pages/top-up/Swap.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export function Swap({ header }: Props): ReactElement {
const [userInputSwap, setUserInputSwap] = useState<string | null>(null)
const [price, setPrice] = useState(DaiToken.fromDecimal('0.6', 18))

const { providerUrl, isDesktop, desktopUrl } = useContext(SettingsContext)
const { rpcProviderUrl, isDesktop, desktopUrl } = useContext(SettingsContext)
const { nodeAddresses, nodeInfo } = useContext(BeeContext)
const { balance } = useContext(BalanceProvider)

Expand Down Expand Up @@ -80,7 +80,7 @@ export function Swap({ header }: Props): ReactElement {
async function restart() {
try {
await sleepMs(5_000)
await upgradeToLightNode(desktopUrl, providerUrl)
await upgradeToLightNode(desktopUrl, rpcProviderUrl)
await restartBeeNode(desktopUrl)

enqueueSnackbar('Upgraded to light node', { variant: 'success' })
Expand Down
4 changes: 2 additions & 2 deletions src/pages/top-up/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export default function TopUp(): ReactElement {
const { isDesktop, desktopUrl } = useContext(SettingsContext)
const { nodeInfo, status } = useContext(BeeContext)
const { balance } = useContext(BalanceProvider)
const { providerUrl } = useContext(SettingsContext)
const { rpcProviderUrl } = useContext(SettingsContext)
const [loading, setLoading] = useState(false)
const { enqueueSnackbar } = useSnackbar()

Expand All @@ -55,7 +55,7 @@ export default function TopUp(): ReactElement {
async function restart() {
setLoading(true)
try {
await upgradeToLightNode(desktopUrl, providerUrl)
await upgradeToLightNode(desktopUrl, rpcProviderUrl)
await restartBeeNode(desktopUrl)
enqueueSnackbar('Upgraded to light node', { variant: 'success' })
navigate(ROUTES.RESTART_LIGHT)
Expand Down
25 changes: 13 additions & 12 deletions src/providers/Settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ const LocalStorageKeys = {
providerUrl: 'json-rpc-provider',
}

const providerUrl = localStorage.getItem('json-rpc-provider') || DEFAULT_RPC_URL

interface ContextInterface {
apiUrl: string
apiDebugUrl: string
Expand All @@ -20,8 +18,8 @@ interface ContextInterface {
desktopApiKey: string
isDesktop: boolean
desktopUrl: string
providerUrl: string
provider: providers.JsonRpcProvider
rpcProviderUrl: string
rpcProvider: providers.JsonRpcProvider
cors: string | null
dataDir: string | null
ensResolver: string | null
Expand All @@ -44,8 +42,8 @@ const initialValues: ContextInterface = {
desktopApiKey: '',
desktopUrl: window.location.origin,
setAndPersistJsonRpcProvider: async () => {}, // eslint-disable-line
providerUrl,
provider: new providers.JsonRpcProvider(providerUrl),
rpcProviderUrl: '',
rpcProvider: new providers.JsonRpcProvider(''),
cors: null,
dataDir: null,
ensResolver: null,
Expand All @@ -62,6 +60,7 @@ interface InitialSettings {
lockedApiSettings?: boolean
isDesktop?: boolean
desktopUrl?: string
defaultRpcUrl?: string
}

interface Props extends InitialSettings {
Expand All @@ -71,14 +70,16 @@ interface Props extends InitialSettings {
export function Provider({ children, ...propsSettings }: Props): ReactElement {
const desktopUrl = propsSettings.desktopUrl ?? initialValues.desktopUrl
const isDesktop = Boolean(propsSettings.isDesktop)
const propsProviderUrl =
localStorage.getItem(LocalStorageKeys.providerUrl) || propsSettings.defaultRpcUrl || DEFAULT_RPC_URL

const [apiUrl, setApiUrl] = useState<string>(initialValues.apiUrl)
const [apiDebugUrl, setDebugApiUrl] = useState<string>(initialValues.apiDebugUrl)
const [beeApi, setBeeApi] = useState<Bee | null>(null)
const [beeDebugApi, setBeeDebugApi] = useState<BeeDebug | null>(null)
const [desktopApiKey, setDesktopApiKey] = useState<string>(initialValues.desktopApiKey)
const [providerUrl, setProviderUrl] = useState(initialValues.providerUrl)
const [provider, setProvider] = useState(initialValues.provider)
const [rpcProviderUrl, setRpcProviderUrl] = useState(propsProviderUrl)
const [rpcProvider, setRpcProvider] = useState(new providers.JsonRpcProvider(propsProviderUrl))
const { config, isLoading, error } = useGetBeeConfig(desktopUrl)

const url = makeHttpUrl(
Expand Down Expand Up @@ -133,16 +134,16 @@ export function Provider({ children, ...propsSettings }: Props): ReactElement {
desktopApiKey,
isDesktop,
desktopUrl,
provider,
providerUrl,
rpcProvider,
rpcProviderUrl,
cors: config?.['cors-allowed-origins'] ?? null,
dataDir: config?.['data-dir'] ?? null,
ensResolver: config?.['resolver-options'] ?? null,
setAndPersistJsonRpcProvider: setAndPersistJsonRpcProviderClosure(
isDesktop,
desktopUrl,
setProviderUrl,
setProvider,
setRpcProviderUrl,
setRpcProvider,
),
isLoading,
error,
Expand Down
8 changes: 4 additions & 4 deletions src/providers/TopUp.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,17 @@ interface Props {

export function Provider({ children }: Props): ReactElement {
const [giftWallets, setGiftWallets] = useState(initialValues.giftWallets)
const { provider } = useContext(SettingsContext)
const { rpcProvider } = useContext(SettingsContext)

useEffect(() => {
if (provider === null) return
if (rpcProvider === null) return

const existingGiftWallets = localStorage.getItem(LocalStorageKeys.giftWallets)

if (existingGiftWallets) {
setGiftWallets(JSON.parse(existingGiftWallets).map((privateKey: string) => new Wallet(privateKey, provider)))
setGiftWallets(JSON.parse(existingGiftWallets).map((privateKey: string) => new Wallet(privateKey, rpcProvider)))
}
}, [provider])
}, [rpcProvider])

function addGiftWallet(wallet: Wallet) {
const newArray = [...giftWallets, wallet]
Expand Down
8 changes: 4 additions & 4 deletions src/providers/WalletBalance.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ interface Props {
}

export function Provider({ children }: Props): ReactElement {
const { provider } = useContext(SettingsContext)
const { rpcProvider } = useContext(SettingsContext)
const { nodeAddresses } = useContext(BeeContext)
const [balance, setBalance] = useState<WalletAddress | null>(initialValues.balance)
const [error, setError] = useState<Error | null>(initialValues.error)
Expand All @@ -40,12 +40,12 @@ export function Provider({ children }: Props): ReactElement {
const [frequency, setFrequency] = useState<number | null>(null)

useEffect(() => {
if (nodeAddresses?.ethereum && provider) {
WalletAddress.make(nodeAddresses.ethereum, provider).then(setBalance)
if (nodeAddresses?.ethereum && rpcProvider) {
WalletAddress.make(nodeAddresses.ethereum, rpcProvider).then(setBalance)
} else {
setBalance(null)
}
}, [nodeAddresses, provider])
}, [nodeAddresses, rpcProvider])

const refresh = async () => {
// Don't want to refresh when already refreshing
Expand Down

0 comments on commit 5295bd5

Please sign in to comment.