From 212c5aab65750bc916d3abdba0df58b9fd16d82d Mon Sep 17 00:00:00 2001 From: ECWireless Date: Tue, 4 Jun 2024 09:45:50 -0600 Subject: [PATCH 1/2] Move DevTools to separate component --- packages/client/src/components/DevTools.ts | 39 +++++++++++++++++++ packages/client/src/index.tsx | 19 +-------- .../client/src/pages/CharacterCreation.tsx | 2 +- 3 files changed, 42 insertions(+), 18 deletions(-) create mode 100644 packages/client/src/components/DevTools.ts diff --git a/packages/client/src/components/DevTools.ts b/packages/client/src/components/DevTools.ts new file mode 100644 index 000000000..f1d72466f --- /dev/null +++ b/packages/client/src/components/DevTools.ts @@ -0,0 +1,39 @@ +import mudConfig from 'contracts/mud.config'; +import { useEffect } from 'react'; + +import { useMUD } from '../contexts/MUDContext'; + +// Displays dev-tools connected to the burner wallet +export function DevTools(): null { + const { network } = useMUD(); + + useEffect(() => { + let unmount: (() => void) | undefined; + + import('@latticexyz/dev-tools') + .then(({ mount }) => + mount({ + config: mudConfig, + publicClient: network.publicClient, + walletClient: network.walletClient, + latestBlock$: network.latestBlock$, + storedBlockLogs$: network.storedBlockLogs$, + worldAddress: network.worldContract.address, + worldAbi: network.worldContract.abi, + write$: network.write$, + recsWorld: network.world, + }), + ) + .then(result => { + unmount = result; + }); + + return () => { + if (unmount) { + unmount(); + } + }; + }, [network]); + + return null; +} diff --git a/packages/client/src/index.tsx b/packages/client/src/index.tsx index fe4f1f4b7..d65203018 100644 --- a/packages/client/src/index.tsx +++ b/packages/client/src/index.tsx @@ -9,10 +9,10 @@ import '@rainbow-me/rainbowkit/styles.css'; import { ChakraProvider } from '@chakra-ui/react'; import { Global } from '@emotion/react'; -import mudConfig from 'contracts/mud.config'; import { createRoot } from 'react-dom/client'; import { App } from './App'; +import { DevTools } from './components/DevTools'; import { MUDProvider } from './contexts/MUDContext'; import { Web3Provider } from './contexts/Web3Provider'; import { setup } from './lib/mud/setup'; @@ -30,24 +30,9 @@ setup().then(async result => { + , ); - - // https://vitejs.dev/guide/env-and-mode.html - if (import.meta.env.DEV) { - const { mount: mountDevTools } = await import('@latticexyz/dev-tools'); - mountDevTools({ - config: mudConfig, - publicClient: result.network.publicClient, - walletClient: result.network.walletClient, - latestBlock$: result.network.latestBlock$, - storedBlockLogs$: result.network.storedBlockLogs$, - worldAddress: result.network.worldContract.address, - worldAbi: result.network.worldContract.abi, - write$: result.network.write$, - recsWorld: result.network.world, - }); - } }); diff --git a/packages/client/src/pages/CharacterCreation.tsx b/packages/client/src/pages/CharacterCreation.tsx index 48105504c..60f4cbef1 100644 --- a/packages/client/src/pages/CharacterCreation.tsx +++ b/packages/client/src/pages/CharacterCreation.tsx @@ -94,11 +94,11 @@ export const CharacterCreation = (): JSX.Element => { await new Promise(resolve => setTimeout(resolve, 2000)); renderSuccess('Character created!'); + navigate('/world'); } catch (e) { renderError(e, 'Failed to create character.'); } finally { setIsCreating(false); - navigate('/world'); } }, [ From e5a6780072a5026f2c5a64ef460414246a788515 Mon Sep 17 00:00:00 2001 From: ECWireless Date: Tue, 4 Jun 2024 10:08:35 -0600 Subject: [PATCH 2/2] New Base Sepolia deployment --- packages/client/src/lib/mud/supportedChains.ts | 2 +- packages/client/src/lib/web3/constants.ts | 2 +- packages/contracts/worlds.json | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/client/src/lib/mud/supportedChains.ts b/packages/client/src/lib/mud/supportedChains.ts index 4f5e090b3..0485fc054 100644 --- a/packages/client/src/lib/mud/supportedChains.ts +++ b/packages/client/src/lib/mud/supportedChains.ts @@ -37,7 +37,7 @@ export const baseSepolia = { const getSupportedChains = () => { if (import.meta.env.DEV) { - return [mudFoundry]; + return [baseSepolia, mudFoundry]; } return [baseSepolia]; diff --git a/packages/client/src/lib/web3/constants.ts b/packages/client/src/lib/web3/constants.ts index c77b8b05c..8c7e48b56 100644 --- a/packages/client/src/lib/web3/constants.ts +++ b/packages/client/src/lib/web3/constants.ts @@ -15,7 +15,7 @@ export const CHAIN_ID_TO_LABEL: { [key: number]: string } = { const getSupportedChains = () => { if (import.meta.env.DEV) { - return [anvil] as const; + return [anvil, baseSepolia] as const; } return [baseSepolia] as const; diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 311e2a014..dfa3f935e 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -3,7 +3,7 @@ "address": "0x8d8b6b8414e1e3dcfd4168561b9be6bd3bf6ec4b" }, "84532": { - "address": "0x203630cba12f27a6a995eb20baae9c3caaf63fdc", - "blockNumber": 10440031 + "address": "0xea59f64d860d4be9918dc2c93bf8a5e84c875324", + "blockNumber": 10874436 } } \ No newline at end of file