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