diff --git a/.changeset/big-cooks-fetch.md b/.changeset/big-cooks-fetch.md deleted file mode 100644 index bf917b0921..0000000000 --- a/.changeset/big-cooks-fetch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -Improved the performance of the explorer's `Interact` tab by fetching the ABI from an indexer instead of from an Ethereum RPC if available. diff --git a/.changeset/blue-trees-invent.md b/.changeset/blue-trees-invent.md deleted file mode 100644 index eb05f585de..0000000000 --- a/.changeset/blue-trees-invent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -The transactions list in the explorer is now updated every 100ms instead of on every incoming transaction, to improve performance when there are many incoming transactions. diff --git a/.changeset/calm-dodos-care.md b/.changeset/calm-dodos-care.md deleted file mode 100644 index 2f51bc3f7c..0000000000 --- a/.changeset/calm-dodos-care.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/config": patch ---- - -Replaced esbuild with tsx to load MUD config in an effort to resolve issues with loading multiple MUD configs in parallel. diff --git a/.changeset/curly-apples-bake.md b/.changeset/curly-apples-bake.md deleted file mode 100644 index 4f2a8075f7..0000000000 --- a/.changeset/curly-apples-bake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/cli": patch ---- - -When upgrading an existing world, the deployer now attempts to read the deploy block number from the `worlds.json` file. If it is found, the `HelloWorld` and `HelloStore` event are fetched from this block instead of searching for the events starting from the genesis block. diff --git a/.changeset/curly-carrots-sit.md b/.changeset/curly-carrots-sit.md deleted file mode 100644 index d291dd0d90..0000000000 --- a/.changeset/curly-carrots-sit.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -The SQL editor now shows an indicator if the query has changed since it was last run. diff --git a/.changeset/dirty-buttons-tickle.md b/.changeset/dirty-buttons-tickle.md deleted file mode 100644 index 1bc736d8bc..0000000000 --- a/.changeset/dirty-buttons-tickle.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/entrykit": patch ---- - -Initial, experimental release of EntryKit. diff --git a/.changeset/dirty-lemons-complain.md b/.changeset/dirty-lemons-complain.md deleted file mode 100644 index c6a8e6bbf7..0000000000 --- a/.changeset/dirty-lemons-complain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -The columns in the Explore tab table are now sorted correctly according to their types. diff --git a/.changeset/dirty-tools-hammer.md b/.changeset/dirty-tools-hammer.md deleted file mode 100644 index 7e8ffc6583..0000000000 --- a/.changeset/dirty-tools-hammer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/store-sync": patch ---- - -Updated the `watchLogs` util to accept the updated RPC response type. diff --git a/.changeset/fair-rocks-exercise.md b/.changeset/fair-rocks-exercise.md deleted file mode 100644 index 08878a8536..0000000000 --- a/.changeset/fair-rocks-exercise.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -SQL live queries in the Explore view table can now be paused and resumed. diff --git a/.changeset/fast-nails-build.md b/.changeset/fast-nails-build.md deleted file mode 100644 index 1625b24f9c..0000000000 --- a/.changeset/fast-nails-build.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -Indicated MUD schema key columns in the table view of the Explore tab. diff --git a/.changeset/fresh-chairs-obey.md b/.changeset/fresh-chairs-obey.md deleted file mode 100644 index 133f5f2727..0000000000 --- a/.changeset/fresh-chairs-obey.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -The functions in the Interact tab now display the emitted logs with the block explorer URL for the submitted transaction. diff --git a/.changeset/funny-peas-care.md b/.changeset/funny-peas-care.md deleted file mode 100644 index 1f81d5cd15..0000000000 --- a/.changeset/funny-peas-care.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -Added support for ERC-4337 bundled transactions, monitoring them by either listening to chain blocks or using the `observer` transport wrapper. Each user operation within a bundled transaction is displayed as an individual transaction in the Observe tab. diff --git a/.changeset/heavy-eggs-smell.md b/.changeset/heavy-eggs-smell.md deleted file mode 100644 index e1166f150e..0000000000 --- a/.changeset/heavy-eggs-smell.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/world": patch ---- - -Use `WorldContextConsumerLib._msgSender()` instead of `msg.sender` in system libraries. diff --git a/.changeset/hip-spies-wave.md b/.changeset/hip-spies-wave.md deleted file mode 100644 index c8e4fc8e77..0000000000 --- a/.changeset/hip-spies-wave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -When accessing a new table in Explore tab, the SQL editor now encloses all column names in double quotes in order to prevent invalid queries. diff --git a/.changeset/itchy-fireants-drop.md b/.changeset/itchy-fireants-drop.md deleted file mode 100644 index 27399c8e30..0000000000 --- a/.changeset/itchy-fireants-drop.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/cli": patch ---- - -Deployer now retrieves resource tags by fetching logs to work around RPC rate limiting issues. diff --git a/.changeset/khaki-panthers-collect.md b/.changeset/khaki-panthers-collect.md deleted file mode 100644 index e42349eee6..0000000000 --- a/.changeset/khaki-panthers-collect.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -"vite-plugin-mud": patch ---- - -Initial release of Vite plugin for MUD projects. - -This will soon be included by default in MUD templates, but you can add to an existing MUD project with: - -``` -pnpm add -D vite@^6 vite-plugin-mud -``` - -And use like: - -```ts -// vite.config.ts -import { defineConfig } from "vite"; -import { mud } from "vite-plugin-mud"; - -export default defineConfig({ - plugins: [mud({ worldsFile: "worlds.json" })], -}); -``` - -```json -// tsconfig.json -{ - "compilerOptions": { - "types": ["vite/client", "vite-plugin-mud/env"] - } -} -``` diff --git a/.changeset/lazy-windows-sip.md b/.changeset/lazy-windows-sip.md deleted file mode 100644 index 7ec6eaa698..0000000000 --- a/.changeset/lazy-windows-sip.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -The latest ABI changes are now consistently fetched correctly. diff --git a/.changeset/little-ligers-impress.md b/.changeset/little-ligers-impress.md deleted file mode 100644 index 405ff29909..0000000000 --- a/.changeset/little-ligers-impress.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -Fixed world ABI fetching in Rhodolite. diff --git a/.changeset/little-tables-wait.md b/.changeset/little-tables-wait.md deleted file mode 100644 index 9c82f5bdde..0000000000 --- a/.changeset/little-tables-wait.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/world": patch ---- - -Moved TS utils over to using hardcoded ABIs instead of ones imported from `.abi.json` files to fix some internal type resolution issues. diff --git a/.changeset/lucky-goats-sell.md b/.changeset/lucky-goats-sell.md deleted file mode 100644 index c6dabfe651..0000000000 --- a/.changeset/lucky-goats-sell.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -"@latticexyz/store-sync": patch ---- - -Added an experimental `@latticexyz/store-sync/react` export with a `SyncProvider` and `useSync` hook. This allows for easier syncing MUD data to React apps. - -Note that this is currently only usable with Stash and assumes you are also using Wagmi in your React app. - -```tsx -import { WagmiProvider } from "wagmi"; -import { QueryClientProvider } from "@tanstack/react-query"; -import { SyncProvider } from "@latticexyz/store-sync/react"; -import { createSyncAdapter } from "@latticexyz/store-sync/internal"; - -export function App() { - return ( - - - - {children} - - - - ); -} -``` diff --git a/.changeset/many-peaches-cry.md b/.changeset/many-peaches-cry.md deleted file mode 100644 index 3089a2cd14..0000000000 --- a/.changeset/many-peaches-cry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/store-sync": patch ---- - -Fixed a bug in `watchLogs` where logs from the buffer were not applied during the initial sync. diff --git a/.changeset/mighty-lions-move.md b/.changeset/mighty-lions-move.md deleted file mode 100644 index 410c17f656..0000000000 --- a/.changeset/mighty-lions-move.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -Transactions in `Observe` tab now display decoded `callFrom` function calls. diff --git a/.changeset/modern-ravens-study.md b/.changeset/modern-ravens-study.md deleted file mode 100644 index 4fbebdf51d..0000000000 --- a/.changeset/modern-ravens-study.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"@latticexyz/block-logs-stream": patch -"@latticexyz/common": patch -"@latticexyz/config": patch -"@latticexyz/dev-tools": patch -"@latticexyz/explorer": patch -"@latticexyz/faucet": patch -"@latticexyz/protocol-parser": patch -"@latticexyz/schema-type": patch -"@latticexyz/stash": patch -"@latticexyz/store-indexer": patch -"@latticexyz/store-sync": patch -"@latticexyz/store": patch -"@latticexyz/world": patch ---- - -Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. diff --git a/.changeset/nice-ligers-cough.md b/.changeset/nice-ligers-cough.md deleted file mode 100644 index 651530f9ea..0000000000 --- a/.changeset/nice-ligers-cough.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/cli": patch ---- - -Deployer will now throw an error if it detects an already registered table with a different schema than the one you are trying to deploy. diff --git a/.changeset/nine-countries-nail.md b/.changeset/nine-countries-nail.md deleted file mode 100644 index ab3ebf579b..0000000000 --- a/.changeset/nine-countries-nail.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@latticexyz/store-consumer": patch -"@latticexyz/world-module-erc20": patch ---- - -Extracted StoreConsumer base contracts into an independent package. -Added a `registerNamespace` boolean to `WithWorld` to provide more control over namespace registration. diff --git a/.changeset/orange-houses-drop.md b/.changeset/orange-houses-drop.md deleted file mode 100644 index 26f5b01ba2..0000000000 --- a/.changeset/orange-houses-drop.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -Observer transport now uses the `blockExplorers.worldsExplorer.url` from the chain config if no `explorerUrl` is provided. diff --git a/.changeset/perfect-steaks-fold.md b/.changeset/perfect-steaks-fold.md deleted file mode 100644 index 1435b6d162..0000000000 --- a/.changeset/perfect-steaks-fold.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -SQL queries can be executed using the Cmd/Ctrl + Enter shortcut. diff --git a/.changeset/perfect-zebras-rest.md b/.changeset/perfect-zebras-rest.md deleted file mode 100644 index 1916fe7731..0000000000 --- a/.changeset/perfect-zebras-rest.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -When accessing a new table in Explore tab, the SQL editor now encloses column names that are also PostgreSQL keywords in double quotes in order to prevent invalid queries. diff --git a/.changeset/popular-lies-teach.md b/.changeset/popular-lies-teach.md deleted file mode 100644 index ce1af37089..0000000000 --- a/.changeset/popular-lies-teach.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/stash": patch ---- - -Consolidated how state changes are applied and subscribers notified. Stash subscribers now receive an ordered list of state updates rather than an object. diff --git a/.changeset/real-pigs-bake.md b/.changeset/real-pigs-bake.md deleted file mode 100644 index e366e8484b..0000000000 --- a/.changeset/real-pigs-bake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/world": patch ---- - -Fixes relative system imports in system libraries and adds support for overloaded system functions. diff --git a/.changeset/seven-ducks-complain.md b/.changeset/seven-ducks-complain.md deleted file mode 100644 index a5fe828408..0000000000 --- a/.changeset/seven-ducks-complain.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@latticexyz/cli": patch ---- - -In addition to a hex `--salt`, deploy commands now accept a string salt for world deployment, which will get converted to a hex. - -``` -pnpm mud deploy --salt hello -``` diff --git a/.changeset/seven-seahorses-roll.md b/.changeset/seven-seahorses-roll.md deleted file mode 100644 index 71284e6fe4..0000000000 --- a/.changeset/seven-seahorses-roll.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/cli": patch ---- - -Fixed an issue with overloaded system ABI types. diff --git a/.changeset/sharp-lions-cover.md b/.changeset/sharp-lions-cover.md deleted file mode 100644 index e94ead112b..0000000000 --- a/.changeset/sharp-lions-cover.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/store": patch ---- - -Added internal `getRecord` and `getStaticDataLocation` helpers. diff --git a/.changeset/shy-eels-hide.md b/.changeset/shy-eels-hide.md deleted file mode 100644 index 2b4779b786..0000000000 --- a/.changeset/shy-eels-hide.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@latticexyz/store-sync": patch -"@latticexyz/world": patch ---- - -Added a `getRecords` util to fetch table records from an indexer or RPC. - -Migrated the `getFunctions` and `getWorldAbi` utils from `@latticexyz/world` to `@latticexyz/store-sync/world` to allow `getFunctions` and `getWorldAbi` to use `getRecords` internally without circular dependencies. diff --git a/.changeset/slimy-cheetahs-vanish.md b/.changeset/slimy-cheetahs-vanish.md deleted file mode 100644 index d6e792be25..0000000000 --- a/.changeset/slimy-cheetahs-vanish.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/cli": patch ---- - -Added an `indexerUrl` option to the `mud deploy` and `mud pull` CLI commands to read table records from an indexer instead of fetching logs from an Ethereum RPC. diff --git a/.changeset/slimy-lemons-think.md b/.changeset/slimy-lemons-think.md deleted file mode 100644 index 3e94f73224..0000000000 --- a/.changeset/slimy-lemons-think.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"@latticexyz/stash": patch ---- - -Added `useRecord` and `useRecords` hooks for convenience. - -```ts -import { useRecords } from "@latticexyz/stash/react"; - -const players = useRecords({ stash, table: Position }); -``` - -```ts -import { useRecord } from "@latticexyz/stash/react"; - -const player = useRecord({ stash, table: Position, key: { player: "0x..." } }); -``` diff --git a/.changeset/smart-suns-scream.md b/.changeset/smart-suns-scream.md deleted file mode 100644 index 1d33c9985c..0000000000 --- a/.changeset/smart-suns-scream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/abi-ts": patch ---- - -Using a TS extension (rather than DTS) now correctly includes `as const` in the TS output. diff --git a/.changeset/soft-rings-grab.md b/.changeset/soft-rings-grab.md deleted file mode 100644 index 0459025933..0000000000 --- a/.changeset/soft-rings-grab.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/world": patch ---- - -`getFunctions` now internally uses `fetchLogs` for better handling of block range errors. diff --git a/.changeset/ten-hornets-greet.md b/.changeset/ten-hornets-greet.md deleted file mode 100644 index c609b226c2..0000000000 --- a/.changeset/ten-hornets-greet.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -Added support for exporting table data in CSV, JSON, and TXT formats. diff --git a/.changeset/tender-ties-draw.md b/.changeset/tender-ties-draw.md deleted file mode 100644 index 92c09d2ea0..0000000000 --- a/.changeset/tender-ties-draw.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/common": patch ---- - -Loosened `publicClient` type for `transactionQueue` action decorator and `writeContract` and `sendTransaction` actions so that they can be used with plain, undecorated Viem clients. diff --git a/.changeset/thick-peas-burn.md b/.changeset/thick-peas-burn.md deleted file mode 100644 index 7164f3621c..0000000000 --- a/.changeset/thick-peas-burn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/world": patch ---- - -Reworked `callFrom` action to use `getAction` internally, rather than a decorated Viem client, and updated types to better match Viem. diff --git a/.changeset/thin-kiwis-film.md b/.changeset/thin-kiwis-film.md deleted file mode 100644 index ee49503cc5..0000000000 --- a/.changeset/thin-kiwis-film.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -In the Explore tab, the view table now displays results generated by SQL query functions. diff --git a/.changeset/tiny-parrots-hang.md b/.changeset/tiny-parrots-hang.md deleted file mode 100644 index a2dd680013..0000000000 --- a/.changeset/tiny-parrots-hang.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/store-sync": patch ---- - -Experimental pending logs watcher now reconnects if it loses connection or times out. diff --git a/.changeset/tough-laws-whisper.md b/.changeset/tough-laws-whisper.md deleted file mode 100644 index 07e21a9a31..0000000000 --- a/.changeset/tough-laws-whisper.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@latticexyz/store": patch -"@latticexyz/world": patch ---- - -Adds an experimental feature to automatically generate Solidity libraries from systems, making it easier to perform calls between systems. diff --git a/.changeset/tricky-experts-pull.md b/.changeset/tricky-experts-pull.md deleted file mode 100644 index a7fc2414e2..0000000000 --- a/.changeset/tricky-experts-pull.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/store-sync": patch ---- - -All sync methods using a `publicClient` argument now accept a plain Viem `Client` rather than a decorated `PublicClient`, allowing for more flexibility and better tree-shaking for lighter bundles. diff --git a/.changeset/yellow-spoons-mate.md b/.changeset/yellow-spoons-mate.md deleted file mode 100644 index cb1bf9e3cc..0000000000 --- a/.changeset/yellow-spoons-mate.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/common": patch ---- - -Updated Rhodolite chain config. diff --git a/.changeset/yellow-trains-do.md b/.changeset/yellow-trains-do.md deleted file mode 100644 index a642ad1e2d..0000000000 --- a/.changeset/yellow-trains-do.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/world": patch ---- - -Add a SystemCall.staticcall function that performs a staticcall without executing hooks. diff --git a/.changeset/young-seals-travel.md b/.changeset/young-seals-travel.md deleted file mode 100644 index 484aec348d..0000000000 --- a/.changeset/young-seals-travel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/paymaster": patch ---- - -Added `GenerousPaymaster`, a simple paymaster that sponsors all user operations for local development purposes. diff --git a/docs/data/changelog.json b/docs/data/changelog.json index a91b210ee7..d0795dd5ec 100644 --- a/docs/data/changelog.json +++ b/docs/data/changelog.json @@ -1,4 +1,746 @@ [ + { + "version": "2.2.15", + "date": "2025-01-17T11:35:44.397Z", + "changes": { + "patch": [ + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nImproved the performance of the explorer's `Interact` tab by fetching the ABI from an indexer instead of from an Ethereum RPC if available.", + "type": 0, + "commitHash": "b819749268918559589c12451d88ec1f933182d8", + "authorName": "alvarius", + "authorEmail": "alvarius@lattice.xyz", + "title": "feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nThe transactions list in the explorer is now updated every 100ms instead of on every incoming transaction, to improve performance when there are many incoming transactions.", + "type": 0, + "commitHash": "07b6be82ace9654ce043e616e28b347f3121f415", + "authorName": "alvarius", + "authorEmail": "alvarius@lattice.xyz", + "title": "feat(explorer): buffer transactions (#3365)" + }, + { + "packages": [ + { + "package": "@latticexyz/config", + "type": "patch" + } + ], + "description": "\nReplaced esbuild with tsx to load MUD config in an effort to resolve issues with loading multiple MUD configs in parallel.", + "type": 0, + "commitHash": "9580d29aa0a181e3ded9c79de185ff1778c6daf0", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(config): import mud config with tsx (#3290)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + } + ], + "description": "\nWhen upgrading an existing world, the deployer now attempts to read the deploy block number from the `worlds.json` file. If it is found, the `HelloWorld` and `HelloStore` event are fetched from this block instead of searching for the events starting from the genesis block.", + "type": 0, + "commitHash": "1e092407da570f8ba52e89e73dda50cdff161a93", + "authorName": "Jackie Xu", + "authorEmail": "jackie@jackiexu.com", + "title": "feat(cli): fetch world deploy block number if available (#3417)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nThe SQL editor now shows an indicator if the query has changed since it was last run.", + "type": 0, + "commitHash": "53f7906b37b8f6ae27bee3236f62787ffca35806", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "feat(explorer): indicate unsaved query changes (#3446)" + }, + { + "packages": [ + { + "package": "@latticexyz/entrykit", + "type": "patch" + } + ], + "description": "\nInitial, experimental release of EntryKit.", + "type": 0, + "commitHash": "971ffedb9cb88982bab1f03f4f3818dbae11c68a", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(entrykit): initial release (#3419)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nThe columns in the Explore tab table are now sorted correctly according to their types.", + "type": 0, + "commitHash": "722f4b4c48b9e49509a47e5a23f1ce45dbe9999d", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "fix(explorer): type-based sorting (#3340)" + }, + { + "packages": [ + { + "package": "@latticexyz/store-sync", + "type": "patch" + } + ], + "description": "\nUpdated the `watchLogs` util to accept the updated RPC response type.", + "type": 0, + "commitHash": "1770620af19746578b99a996f380f5117bfdd053", + "authorName": "alvarius", + "authorEmail": "alvarius@lattice.xyz", + "title": "feat(store-sync): update watchLogs rpc response type (#3356)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nSQL live queries in the Explore view table can now be paused and resumed.", + "type": 0, + "commitHash": "35cb94ae06a24157303ec3311f2639f36d4e2e6f", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "feat(explorer): pause/resume live query (#3445)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nIndicated MUD schema key columns in the table view of the Explore tab.", + "type": 0, + "commitHash": "7fa68f6717ecd3fc2c734ca31c842c1242175cbe", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "feat(explorer): key columns indicator (#3447)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nThe functions in the Interact tab now display the emitted logs with the block explorer URL for the submitted transaction.", + "type": 0, + "commitHash": "1a2b3c8f585e72b0f8aae42a1c11abef7193059b", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "feat(explorer): show event logs for interact function (#3418)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nAdded support for ERC-4337 bundled transactions, monitoring them by either listening to chain blocks or using the `observer` transport wrapper. Each user operation within a bundled transaction is displayed as an individual transaction in the Observe tab.", + "type": 0, + "commitHash": "059240612a3ba74d3e16dfb3b1b2c7276a6ebe1d", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "feat(explorer): bundled transactions support (#3313)" + }, + { + "packages": [ + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\nUse `WorldContextConsumerLib._msgSender()` instead of `msg.sender` in system libraries.", + "type": 0, + "commitHash": "653f378403c7e4f234f87dec20c9dfe523f0def0", + "authorName": "V", + "authorEmail": "vdrg@lattice.xyz", + "title": "fix(world): use WorldContextConsumerLib._msgSender() instead of msg.sender (#3436)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nWhen accessing a new table in Explore tab, the SQL editor now encloses all column names in double quotes in order to prevent invalid queries.", + "type": 0, + "commitHash": "0facee02cd70b7f8cd09a7faec59972ba95453d1", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "fix(explorer): format default sql query (#3363)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + } + ], + "description": "\nDeployer now retrieves resource tags by fetching logs to work around RPC rate limiting issues.", + "type": 0, + "commitHash": "3168f1f56abce047a639582b50bf1aa2c7906c90", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "chore: add changeset for cli PR #3350 (#3353)" + }, + { + "packages": [ + { + "package": "vite-plugin-mud", + "type": "patch" + } + ], + "description": "\nInitial release of Vite plugin for MUD projects.\n\nThis will soon be included by default in MUD templates, but you can add to an existing MUD project with:\n\n```\npnpm add -D vite@^6 vite-plugin-mud\n```\n\nAnd use like:\n\n```ts\n// vite.config.ts\nimport { defineConfig } from \"vite\";\nimport { mud } from \"vite-plugin-mud\";\n\nexport default defineConfig({\n plugins: [mud({ worldsFile: \"worlds.json\" })],\n});\n```\n\n```json\n// tsconfig.json\n{\n \"compilerOptions\": {\n \"types\": [\"vite/client\", \"vite-plugin-mud/env\"]\n }\n}\n```", + "type": 0, + "commitHash": "70f224ac8214c54c9c55b170f9c900030967f1b1", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(vite-plugin-mud): add MUD vite plugin (#3449)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nThe latest ABI changes are now consistently fetched correctly.", + "type": 0, + "commitHash": "3258a6d66251aa87514e5e63456f989a34bd1b8b", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "fix(explorer): fetch latest abi (#3370)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nFixed world ABI fetching in Rhodolite.", + "type": 0, + "commitHash": "2be543f7f0936f5dc94c13613da679d8634dfc27", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "fix(explorer): switch to fetchBlockLogs (#3352)" + }, + { + "packages": [ + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\nMoved TS utils over to using hardcoded ABIs instead of ones imported from `.abi.json` files to fix some internal type resolution issues.", + "type": 0, + "commitHash": "2d2aa0867580dd910cc772b5cdd42c802e8652e3", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "fix(world): switch to TS for ABIs in utils (#3429)" + }, + { + "packages": [ + { + "package": "@latticexyz/store-sync", + "type": "patch" + } + ], + "description": "\nAdded an experimental `@latticexyz/store-sync/react` export with a `SyncProvider` and `useSync` hook. This allows for easier syncing MUD data to React apps.\n\nNote that this is currently only usable with Stash and assumes you are also using Wagmi in your React app.\n\n```tsx\nimport { WagmiProvider } from \"wagmi\";\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport { SyncProvider } from \"@latticexyz/store-sync/react\";\nimport { createSyncAdapter } from \"@latticexyz/store-sync/internal\";\n\nexport function App() {\n return (\n \n \n \n {children}\n \n \n \n );\n}\n```", + "type": 0, + "commitHash": "5f493cd8368e6571ef196d607dcd6de2815f799e", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(store-sync): add react provider and hook (#3451)" + }, + { + "packages": [ + { + "package": "@latticexyz/store-sync", + "type": "patch" + } + ], + "description": "\nFixed a bug in `watchLogs` where logs from the buffer were not applied during the initial sync.", + "type": 0, + "commitHash": "cd9fd0abd859f1d83baafc93a91e238d81726928", + "authorName": "alvarius", + "authorEmail": "alvarius@lattice.xyz", + "title": "fix(store-sync): apply logs from buffer in watchLogs (#3346)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nTransactions in `Observe` tab now display decoded `callFrom` function calls.", + "type": 0, + "commitHash": "d542357350b85654bc65f3befad22a3509c4ddb6", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "feat(explorer): decoded callFrom transactions (#3364)" + }, + { + "packages": [ + { + "package": "@latticexyz/block-logs-stream", + "type": "patch" + }, + { + "package": "@latticexyz/common", + "type": "patch" + }, + { + "package": "@latticexyz/config", + "type": "patch" + }, + { + "package": "@latticexyz/dev-tools", + "type": "patch" + }, + { + "package": "@latticexyz/explorer", + "type": "patch" + }, + { + "package": "@latticexyz/faucet", + "type": "patch" + }, + { + "package": "@latticexyz/protocol-parser", + "type": "patch" + }, + { + "package": "@latticexyz/schema-type", + "type": "patch" + }, + { + "package": "@latticexyz/stash", + "type": "patch" + }, + { + "package": "@latticexyz/store-indexer", + "type": "patch" + }, + { + "package": "@latticexyz/store-sync", + "type": "patch" + }, + { + "package": "@latticexyz/store", + "type": "patch" + }, + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\nMoved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.", + "type": 0, + "commitHash": "09e9bd533704e7c1885872a8a1f9dca9e78bda4b", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "chore: remove catalog usage, move viem to peer deps (#3405)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + } + ], + "description": "\nDeployer will now throw an error if it detects an already registered table with a different schema than the one you are trying to deploy.", + "type": 0, + "commitHash": "ee388ed599b051400a6f1fc5d4c5d369e466ad92", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "fix(cli): throw error on schema changes (#3336)" + }, + { + "packages": [ + { + "package": "@latticexyz/store-consumer", + "type": "patch" + }, + { + "package": "@latticexyz/world-module-erc20", + "type": "patch" + } + ], + "description": "\nExtracted StoreConsumer base contracts into an independent package.\nAdded a `registerNamespace` boolean to `WithWorld` to provide more control over namespace registration.", + "type": 0, + "commitHash": "d17a9be933cf4dbf869e26e6f9ee070444048312", + "authorName": "V", + "authorEmail": "vdrg@protonmail.ch", + "title": "feat(store-consumer): extract store consumer contracts (#3345)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nObserver transport now uses the `blockExplorers.worldsExplorer.url` from the chain config if no `explorerUrl` is provided.", + "type": 0, + "commitHash": "88b9daf1e01bd8675e31c455155759a3ef2af4f8", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(explorer): get observer url from chain config (#3366)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nSQL queries can be executed using the Cmd/Ctrl + Enter shortcut.", + "type": 0, + "commitHash": "cfdfcc1c8e1d21a6336c608760bb76aa04aebefd", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "feat(explorer): run query shortcut (#3443)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nWhen accessing a new table in Explore tab, the SQL editor now encloses column names that are also PostgreSQL keywords in double quotes in order to prevent invalid queries.", + "type": 0, + "commitHash": "9c1ca41560e2b3b319976794a73807f391e78b1b", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "fix(explorer): format default sql query (#3307)" + }, + { + "packages": [ + { + "package": "@latticexyz/stash", + "type": "patch" + } + ], + "description": "\nConsolidated how state changes are applied and subscribers notified. Stash subscribers now receive an ordered list of state updates rather than an object.", + "type": 0, + "commitHash": "96f1473887e609cab366a4ba6caab9b62033cfb6", + "authorName": "alvarius", + "authorEmail": "alvarius@lattice.xyz", + "title": "feat(stash): clean up mutations, emit updates as a list (#3376)" + }, + { + "packages": [ + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\nFixes relative system imports in system libraries and adds support for overloaded system functions.", + "type": 0, + "commitHash": "ba5191c3d6f74b3c4982afd465cf449d23d70bb7", + "authorName": "V", + "authorEmail": "vdrg@lattice.xyz", + "title": "fix(world): library imports and overloaded system functions (#3395)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + } + ], + "description": "\nIn addition to a hex `--salt`, deploy commands now accept a string salt for world deployment, which will get converted to a hex.\n\n```\npnpm mud deploy --salt hello\n```", + "type": 0, + "commitHash": "74090950d81c6713d981806af5c1197e804b56bf", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(cli): allow deploy salt to be a string (#3432)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + } + ], + "description": "\nFixed an issue with overloaded system ABI types.", + "type": 0, + "commitHash": "8fcf9c8f508ec818696f366a41f2b8a2e42c11b1", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "fix(cli): don't overload system abi type (#3455)" + }, + { + "packages": [ + { + "package": "@latticexyz/store", + "type": "patch" + } + ], + "description": "\nAdded internal `getRecord` and `getStaticDataLocation` helpers.", + "type": 0, + "commitHash": "1b477d476a666ccffafc6eb266d1732b90bc28f9", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(store): add getRecord and getStaticDataLocation helpers (#3430)" + }, + { + "packages": [ + { + "package": "@latticexyz/store-sync", + "type": "patch" + }, + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\nAdded a `getRecords` util to fetch table records from an indexer or RPC.\n\nMigrated the `getFunctions` and `getWorldAbi` utils from `@latticexyz/world` to `@latticexyz/store-sync/world` to allow `getFunctions` and `getWorldAbi` to use `getRecords` internally without circular dependencies.", + "type": 0, + "commitHash": "b819749268918559589c12451d88ec1f933182d8", + "authorName": "alvarius", + "authorEmail": "alvarius@lattice.xyz", + "title": "feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + } + ], + "description": "\nAdded an `indexerUrl` option to the `mud deploy` and `mud pull` CLI commands to read table records from an indexer instead of fetching logs from an Ethereum RPC.", + "type": 0, + "commitHash": "b819749268918559589c12451d88ec1f933182d8", + "authorName": "alvarius", + "authorEmail": "alvarius@lattice.xyz", + "title": "feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)" + }, + { + "packages": [ + { + "package": "@latticexyz/stash", + "type": "patch" + } + ], + "description": "\nAdded `useRecord` and `useRecords` hooks for convenience.\n\n```ts\nimport { useRecords } from \"@latticexyz/stash/react\";\n\nconst players = useRecords({ stash, table: Position });\n```\n\n```ts\nimport { useRecord } from \"@latticexyz/stash/react\";\n\nconst player = useRecord({ stash, table: Position, key: { player: \"0x...\" } });\n```", + "type": 0, + "commitHash": "16242b74d5985720b4efca26e1e22e38bb463788", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(stash): add useRecord and useRecords hooks (#3450)" + }, + { + "packages": [ + { + "package": "@latticexyz/abi-ts", + "type": "patch" + } + ], + "description": "\nUsing a TS extension (rather than DTS) now correctly includes `as const` in the TS output.", + "type": 0, + "commitHash": "534039428496bcededc62d2e450d29d7bac42475", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "fix(abi-ts): ts output should use as const (#3348)" + }, + { + "packages": [ + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\n`getFunctions` now internally uses `fetchLogs` for better handling of block range errors.", + "type": 0, + "commitHash": "22674ad244f59afd6bd364a3dd44df36992dd35f", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "fix(world): use fetchLogs in getFunctions (#3338)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nAdded support for exporting table data in CSV, JSON, and TXT formats.", + "type": 0, + "commitHash": "b0b42a9e0cca0e31fb31d1e00b78c3015b6f5663", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "feat(explorer): export table data (#3380)" + }, + { + "packages": [ + { + "package": "@latticexyz/common", + "type": "patch" + } + ], + "description": "\nLoosened `publicClient` type for `transactionQueue` action decorator and `writeContract` and `sendTransaction` actions so that they can be used with plain, undecorated Viem clients.", + "type": 0, + "commitHash": "9d7188754ad7f6df6b190bf6618b598cb1d895c4", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(common): loosen client type in tx queue (#3408)" + }, + { + "packages": [ + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\nReworked `callFrom` action to use `getAction` internally, rather than a decorated Viem client, and updated types to better match Viem.", + "type": 0, + "commitHash": "509a3ccbac9b552a086f93b735d48e739153bead", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(world): rework types for callFrom viem action (#3414)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nIn the Explore tab, the view table now displays results generated by SQL query functions.", + "type": 0, + "commitHash": "c681aa6250eb8c3914a75fd45cdf32abc2d60746", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "feat(explorer): show results from query functions (#3448)" + }, + { + "packages": [ + { + "package": "@latticexyz/store-sync", + "type": "patch" + } + ], + "description": "\nExperimental pending logs watcher now reconnects if it loses connection or times out.", + "type": 0, + "commitHash": "9ddc874ecbe8671c197619a23bdeac2bee57174e", + "authorName": "alvarius", + "authorEmail": "alvarius@lattice.xyz", + "title": "fix(store-sync): reconnect unresponsive watchLogs socket (#3301)" + }, + { + "packages": [ + { + "package": "@latticexyz/store", + "type": "patch" + }, + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\nAdds an experimental feature to automatically generate Solidity libraries from systems, making it easier to perform calls between systems.", + "type": 0, + "commitHash": "09536b0614a03478fa0f53ec8beefef80455387d", + "authorName": "V", + "authorEmail": "3252614+vdrg@users.noreply.github.com", + "title": "feat: system libraries (#3374)" + }, + { + "packages": [ + { + "package": "@latticexyz/store-sync", + "type": "patch" + } + ], + "description": "\nAll sync methods using a `publicClient` argument now accept a plain Viem `Client` rather than a decorated `PublicClient`, allowing for more flexibility and better tree-shaking for lighter bundles.", + "type": 0, + "commitHash": "a6fe15cc524a7a2ed39a1f93d3e4f41a4e251697", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(store-sync): use client instead of decorated public client (#3441)" + }, + { + "packages": [ + { + "package": "@latticexyz/common", + "type": "patch" + } + ], + "description": "\nUpdated Rhodolite chain config.", + "type": 0, + "commitHash": "88b9daf1e01bd8675e31c455155759a3ef2af4f8", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(explorer): get observer url from chain config (#3366)" + }, + { + "packages": [ + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\nAdd a SystemCall.staticcall function that performs a staticcall without executing hooks.", + "type": 0, + "commitHash": "275c867182df9f1e22a6d4f0901a494c40e29f9a", + "authorName": "V", + "authorEmail": "3252614+vdrg@users.noreply.github.com", + "title": "feat(world): add SystemCall.staticcall (#3381)" + }, + { + "packages": [ + { + "package": "@latticexyz/paymaster", + "type": "patch" + } + ], + "description": "\nAdded `GenerousPaymaster`, a simple paymaster that sponsors all user operations for local development purposes.", + "type": 0, + "commitHash": "a7625b97410346b1187e66803dde5194084312fd", + "authorName": "alvarius", + "authorEmail": "alvarius@lattice.xyz", + "title": "feat(paymaster): add simple GenerousPaymaster for local development (#3422)" + } + ], + "minor": [], + "major": [] + } + }, { "version": "2.2.14", "date": "2024-10-24T00:00:00.000Z", @@ -6196,4 +6938,4 @@ ] } } -] +] \ No newline at end of file diff --git a/docs/pages/changelog.mdx b/docs/pages/changelog.mdx index 4b41ffa6fc..c8c93f5fb9 100644 --- a/docs/pages/changelog.mdx +++ b/docs/pages/changelog.mdx @@ -1,3 +1,275 @@ +## Version 2.2.15 + +Release date: Fri Jan 17 2025 + +### Patch changes + +**[feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)](https://github.com/latticexyz/mud/commit/b819749268918559589c12451d88ec1f933182d8)** (@latticexyz/explorer) + +Improved the performance of the explorer's `Interact` tab by fetching the ABI from an indexer instead of from an Ethereum RPC if available. + +**[feat(explorer): buffer transactions (#3365)](https://github.com/latticexyz/mud/commit/07b6be82ace9654ce043e616e28b347f3121f415)** (@latticexyz/explorer) + +The transactions list in the explorer is now updated every 100ms instead of on every incoming transaction, to improve performance when there are many incoming transactions. + +**[feat(config): import mud config with tsx (#3290)](https://github.com/latticexyz/mud/commit/9580d29aa0a181e3ded9c79de185ff1778c6daf0)** (@latticexyz/config) + +Replaced esbuild with tsx to load MUD config in an effort to resolve issues with loading multiple MUD configs in parallel. + +**[feat(cli): fetch world deploy block number if available (#3417)](https://github.com/latticexyz/mud/commit/1e092407da570f8ba52e89e73dda50cdff161a93)** (@latticexyz/cli) + +When upgrading an existing world, the deployer now attempts to read the deploy block number from the `worlds.json` file. If it is found, the `HelloWorld` and `HelloStore` event are fetched from this block instead of searching for the events starting from the genesis block. + +**[feat(explorer): indicate unsaved query changes (#3446)](https://github.com/latticexyz/mud/commit/53f7906b37b8f6ae27bee3236f62787ffca35806)** (@latticexyz/explorer) + +The SQL editor now shows an indicator if the query has changed since it was last run. + +**[feat(entrykit): initial release (#3419)](https://github.com/latticexyz/mud/commit/971ffedb9cb88982bab1f03f4f3818dbae11c68a)** (@latticexyz/entrykit) + +Initial, experimental release of EntryKit. + +**[fix(explorer): type-based sorting (#3340)](https://github.com/latticexyz/mud/commit/722f4b4c48b9e49509a47e5a23f1ce45dbe9999d)** (@latticexyz/explorer) + +The columns in the Explore tab table are now sorted correctly according to their types. + +**[feat(store-sync): update watchLogs rpc response type (#3356)](https://github.com/latticexyz/mud/commit/1770620af19746578b99a996f380f5117bfdd053)** (@latticexyz/store-sync) + +Updated the `watchLogs` util to accept the updated RPC response type. + +**[feat(explorer): pause/resume live query (#3445)](https://github.com/latticexyz/mud/commit/35cb94ae06a24157303ec3311f2639f36d4e2e6f)** (@latticexyz/explorer) + +SQL live queries in the Explore view table can now be paused and resumed. + +**[feat(explorer): key columns indicator (#3447)](https://github.com/latticexyz/mud/commit/7fa68f6717ecd3fc2c734ca31c842c1242175cbe)** (@latticexyz/explorer) + +Indicated MUD schema key columns in the table view of the Explore tab. + +**[feat(explorer): show event logs for interact function (#3418)](https://github.com/latticexyz/mud/commit/1a2b3c8f585e72b0f8aae42a1c11abef7193059b)** (@latticexyz/explorer) + +The functions in the Interact tab now display the emitted logs with the block explorer URL for the submitted transaction. + +**[feat(explorer): bundled transactions support (#3313)](https://github.com/latticexyz/mud/commit/059240612a3ba74d3e16dfb3b1b2c7276a6ebe1d)** (@latticexyz/explorer) + +Added support for ERC-4337 bundled transactions, monitoring them by either listening to chain blocks or using the `observer` transport wrapper. Each user operation within a bundled transaction is displayed as an individual transaction in the Observe tab. + +**[fix(world): use WorldContextConsumerLib.\_msgSender() instead of msg.sender (#3436)](https://github.com/latticexyz/mud/commit/653f378403c7e4f234f87dec20c9dfe523f0def0)** (@latticexyz/world) + +Use `WorldContextConsumerLib._msgSender()` instead of `msg.sender` in system libraries. + +**[fix(explorer): format default sql query (#3363)](https://github.com/latticexyz/mud/commit/0facee02cd70b7f8cd09a7faec59972ba95453d1)** (@latticexyz/explorer) + +When accessing a new table in Explore tab, the SQL editor now encloses all column names in double quotes in order to prevent invalid queries. + +**[chore: add changeset for cli PR #3350 (#3353)](https://github.com/latticexyz/mud/commit/3168f1f56abce047a639582b50bf1aa2c7906c90)** (@latticexyz/cli) + +Deployer now retrieves resource tags by fetching logs to work around RPC rate limiting issues. + +**[feat(vite-plugin-mud): add MUD vite plugin (#3449)](https://github.com/latticexyz/mud/commit/70f224ac8214c54c9c55b170f9c900030967f1b1)** (vite-plugin-mud) + +Initial release of Vite plugin for MUD projects. + +This will soon be included by default in MUD templates, but you can add to an existing MUD project with: + +``` +pnpm add -D vite@^6 vite-plugin-mud +``` + +And use like: + +```ts +// vite.config.ts +import { defineConfig } from "vite"; +import { mud } from "vite-plugin-mud"; + +export default defineConfig({ + plugins: [mud({ worldsFile: "worlds.json" })], +}); +``` + +```json +// tsconfig.json +{ + "compilerOptions": { + "types": ["vite/client", "vite-plugin-mud/env"] + } +} +``` + +**[fix(explorer): fetch latest abi (#3370)](https://github.com/latticexyz/mud/commit/3258a6d66251aa87514e5e63456f989a34bd1b8b)** (@latticexyz/explorer) + +The latest ABI changes are now consistently fetched correctly. + +**[fix(explorer): switch to fetchBlockLogs (#3352)](https://github.com/latticexyz/mud/commit/2be543f7f0936f5dc94c13613da679d8634dfc27)** (@latticexyz/explorer) + +Fixed world ABI fetching in Rhodolite. + +**[fix(world): switch to TS for ABIs in utils (#3429)](https://github.com/latticexyz/mud/commit/2d2aa0867580dd910cc772b5cdd42c802e8652e3)** (@latticexyz/world) + +Moved TS utils over to using hardcoded ABIs instead of ones imported from `.abi.json` files to fix some internal type resolution issues. + +**[feat(store-sync): add react provider and hook (#3451)](https://github.com/latticexyz/mud/commit/5f493cd8368e6571ef196d607dcd6de2815f799e)** (@latticexyz/store-sync) + +Added an experimental `@latticexyz/store-sync/react` export with a `SyncProvider` and `useSync` hook. This allows for easier syncing MUD data to React apps. + +Note that this is currently only usable with Stash and assumes you are also using Wagmi in your React app. + +```tsx +import { WagmiProvider } from "wagmi"; +import { QueryClientProvider } from "@tanstack/react-query"; +import { SyncProvider } from "@latticexyz/store-sync/react"; +import { createSyncAdapter } from "@latticexyz/store-sync/internal"; + +export function App() { + return ( + + + + {children} + + + + ); +} +``` + +**[fix(store-sync): apply logs from buffer in watchLogs (#3346)](https://github.com/latticexyz/mud/commit/cd9fd0abd859f1d83baafc93a91e238d81726928)** (@latticexyz/store-sync) + +Fixed a bug in `watchLogs` where logs from the buffer were not applied during the initial sync. + +**[feat(explorer): decoded callFrom transactions (#3364)](https://github.com/latticexyz/mud/commit/d542357350b85654bc65f3befad22a3509c4ddb6)** (@latticexyz/explorer) + +Transactions in `Observe` tab now display decoded `callFrom` function calls. + +**[chore: remove catalog usage, move viem to peer deps (#3405)](https://github.com/latticexyz/mud/commit/09e9bd533704e7c1885872a8a1f9dca9e78bda4b)** (@latticexyz/block-logs-stream, @latticexyz/common, @latticexyz/config, @latticexyz/dev-tools, @latticexyz/explorer, @latticexyz/faucet, @latticexyz/protocol-parser, @latticexyz/schema-type, @latticexyz/stash, @latticexyz/store-indexer, @latticexyz/store-sync, @latticexyz/store, @latticexyz/world) + +Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. + +**[fix(cli): throw error on schema changes (#3336)](https://github.com/latticexyz/mud/commit/ee388ed599b051400a6f1fc5d4c5d369e466ad92)** (@latticexyz/cli) + +Deployer will now throw an error if it detects an already registered table with a different schema than the one you are trying to deploy. + +**[feat(store-consumer): extract store consumer contracts (#3345)](https://github.com/latticexyz/mud/commit/d17a9be933cf4dbf869e26e6f9ee070444048312)** (@latticexyz/store-consumer, @latticexyz/world-module-erc20) + +Extracted StoreConsumer base contracts into an independent package. +Added a `registerNamespace` boolean to `WithWorld` to provide more control over namespace registration. + +**[feat(explorer): get observer url from chain config (#3366)](https://github.com/latticexyz/mud/commit/88b9daf1e01bd8675e31c455155759a3ef2af4f8)** (@latticexyz/explorer) + +Observer transport now uses the `blockExplorers.worldsExplorer.url` from the chain config if no `explorerUrl` is provided. + +**[feat(explorer): run query shortcut (#3443)](https://github.com/latticexyz/mud/commit/cfdfcc1c8e1d21a6336c608760bb76aa04aebefd)** (@latticexyz/explorer) + +SQL queries can be executed using the Cmd/Ctrl + Enter shortcut. + +**[fix(explorer): format default sql query (#3307)](https://github.com/latticexyz/mud/commit/9c1ca41560e2b3b319976794a73807f391e78b1b)** (@latticexyz/explorer) + +When accessing a new table in Explore tab, the SQL editor now encloses column names that are also PostgreSQL keywords in double quotes in order to prevent invalid queries. + +**[feat(stash): clean up mutations, emit updates as a list (#3376)](https://github.com/latticexyz/mud/commit/96f1473887e609cab366a4ba6caab9b62033cfb6)** (@latticexyz/stash) + +Consolidated how state changes are applied and subscribers notified. Stash subscribers now receive an ordered list of state updates rather than an object. + +**[fix(world): library imports and overloaded system functions (#3395)](https://github.com/latticexyz/mud/commit/ba5191c3d6f74b3c4982afd465cf449d23d70bb7)** (@latticexyz/world) + +Fixes relative system imports in system libraries and adds support for overloaded system functions. + +**[feat(cli): allow deploy salt to be a string (#3432)](https://github.com/latticexyz/mud/commit/74090950d81c6713d981806af5c1197e804b56bf)** (@latticexyz/cli) + +In addition to a hex `--salt`, deploy commands now accept a string salt for world deployment, which will get converted to a hex. + +``` +pnpm mud deploy --salt hello +``` + +**[fix(cli): don't overload system abi type (#3455)](https://github.com/latticexyz/mud/commit/8fcf9c8f508ec818696f366a41f2b8a2e42c11b1)** (@latticexyz/cli) + +Fixed an issue with overloaded system ABI types. + +**[feat(store): add getRecord and getStaticDataLocation helpers (#3430)](https://github.com/latticexyz/mud/commit/1b477d476a666ccffafc6eb266d1732b90bc28f9)** (@latticexyz/store) + +Added internal `getRecord` and `getStaticDataLocation` helpers. + +**[feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)](https://github.com/latticexyz/mud/commit/b819749268918559589c12451d88ec1f933182d8)** (@latticexyz/store-sync, @latticexyz/world) + +Added a `getRecords` util to fetch table records from an indexer or RPC. + +Migrated the `getFunctions` and `getWorldAbi` utils from `@latticexyz/world` to `@latticexyz/store-sync/world` to allow `getFunctions` and `getWorldAbi` to use `getRecords` internally without circular dependencies. + +**[feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)](https://github.com/latticexyz/mud/commit/b819749268918559589c12451d88ec1f933182d8)** (@latticexyz/cli) + +Added an `indexerUrl` option to the `mud deploy` and `mud pull` CLI commands to read table records from an indexer instead of fetching logs from an Ethereum RPC. + +**[feat(stash): add useRecord and useRecords hooks (#3450)](https://github.com/latticexyz/mud/commit/16242b74d5985720b4efca26e1e22e38bb463788)** (@latticexyz/stash) + +Added `useRecord` and `useRecords` hooks for convenience. + +```ts +import { useRecords } from "@latticexyz/stash/react"; + +const players = useRecords({ stash, table: Position }); +``` + +```ts +import { useRecord } from "@latticexyz/stash/react"; + +const player = useRecord({ stash, table: Position, key: { player: "0x..." } }); +``` + +**[fix(abi-ts): ts output should use as const (#3348)](https://github.com/latticexyz/mud/commit/534039428496bcededc62d2e450d29d7bac42475)** (@latticexyz/abi-ts) + +Using a TS extension (rather than DTS) now correctly includes `as const` in the TS output. + +**[fix(world): use fetchLogs in getFunctions (#3338)](https://github.com/latticexyz/mud/commit/22674ad244f59afd6bd364a3dd44df36992dd35f)** (@latticexyz/world) + +`getFunctions` now internally uses `fetchLogs` for better handling of block range errors. + +**[feat(explorer): export table data (#3380)](https://github.com/latticexyz/mud/commit/b0b42a9e0cca0e31fb31d1e00b78c3015b6f5663)** (@latticexyz/explorer) + +Added support for exporting table data in CSV, JSON, and TXT formats. + +**[feat(common): loosen client type in tx queue (#3408)](https://github.com/latticexyz/mud/commit/9d7188754ad7f6df6b190bf6618b598cb1d895c4)** (@latticexyz/common) + +Loosened `publicClient` type for `transactionQueue` action decorator and `writeContract` and `sendTransaction` actions so that they can be used with plain, undecorated Viem clients. + +**[feat(world): rework types for callFrom viem action (#3414)](https://github.com/latticexyz/mud/commit/509a3ccbac9b552a086f93b735d48e739153bead)** (@latticexyz/world) + +Reworked `callFrom` action to use `getAction` internally, rather than a decorated Viem client, and updated types to better match Viem. + +**[feat(explorer): show results from query functions (#3448)](https://github.com/latticexyz/mud/commit/c681aa6250eb8c3914a75fd45cdf32abc2d60746)** (@latticexyz/explorer) + +In the Explore tab, the view table now displays results generated by SQL query functions. + +**[fix(store-sync): reconnect unresponsive watchLogs socket (#3301)](https://github.com/latticexyz/mud/commit/9ddc874ecbe8671c197619a23bdeac2bee57174e)** (@latticexyz/store-sync) + +Experimental pending logs watcher now reconnects if it loses connection or times out. + +**[feat: system libraries (#3374)](https://github.com/latticexyz/mud/commit/09536b0614a03478fa0f53ec8beefef80455387d)** (@latticexyz/store, @latticexyz/world) + +Adds an experimental feature to automatically generate Solidity libraries from systems, making it easier to perform calls between systems. + +**[feat(store-sync): use client instead of decorated public client (#3441)](https://github.com/latticexyz/mud/commit/a6fe15cc524a7a2ed39a1f93d3e4f41a4e251697)** (@latticexyz/store-sync) + +All sync methods using a `publicClient` argument now accept a plain Viem `Client` rather than a decorated `PublicClient`, allowing for more flexibility and better tree-shaking for lighter bundles. + +**[feat(explorer): get observer url from chain config (#3366)](https://github.com/latticexyz/mud/commit/88b9daf1e01bd8675e31c455155759a3ef2af4f8)** (@latticexyz/common) + +Updated Rhodolite chain config. + +**[feat(world): add SystemCall.staticcall (#3381)](https://github.com/latticexyz/mud/commit/275c867182df9f1e22a6d4f0901a494c40e29f9a)** (@latticexyz/world) + +Add a SystemCall.staticcall function that performs a staticcall without executing hooks. + +**[feat(paymaster): add simple GenerousPaymaster for local development (#3422)](https://github.com/latticexyz/mud/commit/a7625b97410346b1187e66803dde5194084312fd)** (@latticexyz/paymaster) + +Added `GenerousPaymaster`, a simple paymaster that sponsors all user operations for local development purposes. + +--- + ## Version 2.2.14 Release date: Thu Oct 24 2024 diff --git a/packages/abi-ts/CHANGELOG.md b/packages/abi-ts/CHANGELOG.md index bd1ec7bd7d..f851c40b78 100644 --- a/packages/abi-ts/CHANGELOG.md +++ b/packages/abi-ts/CHANGELOG.md @@ -1,5 +1,11 @@ # @latticexyz/abi-ts +## 2.2.15 + +### Patch Changes + +- 5340394: Using a TS extension (rather than DTS) now correctly includes `as const` in the TS output. + ## 2.2.14 ## 2.2.13 diff --git a/packages/abi-ts/package.json b/packages/abi-ts/package.json index 23dec12075..8e7037e4b6 100644 --- a/packages/abi-ts/package.json +++ b/packages/abi-ts/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/abi-ts", - "version": "2.2.14", + "version": "2.2.15", "description": "Create TypeScript type declaration files (`.d.ts`) for your ABI JSON files.", "repository": { "type": "git", diff --git a/packages/block-logs-stream/CHANGELOG.md b/packages/block-logs-stream/CHANGELOG.md index 263dfe1ad2..df19b4027e 100644 --- a/packages/block-logs-stream/CHANGELOG.md +++ b/packages/block-logs-stream/CHANGELOG.md @@ -1,5 +1,15 @@ # @latticexyz/block-logs-stream +## 2.2.15 + +### Patch Changes + +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- Updated dependencies [09e9bd5] +- Updated dependencies [9d71887] +- Updated dependencies [88b9daf] + - @latticexyz/common@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/block-logs-stream/package.json b/packages/block-logs-stream/package.json index 359a6e2d2d..520a6f32a2 100644 --- a/packages/block-logs-stream/package.json +++ b/packages/block-logs-stream/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/block-logs-stream", - "version": "2.2.14", + "version": "2.2.15", "description": "Create a stream of EVM block logs for events", "repository": { "type": "git", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 9baf244b6a..5080b3d381 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,52 @@ # Change Log +## 2.2.15 + +### Patch Changes + +- 1e09240: When upgrading an existing world, the deployer now attempts to read the deploy block number from the `worlds.json` file. If it is found, the `HelloWorld` and `HelloStore` event are fetched from this block instead of searching for the events starting from the genesis block. +- 3168f1f: Deployer now retrieves resource tags by fetching logs to work around RPC rate limiting issues. +- ee388ed: Deployer will now throw an error if it detects an already registered table with a different schema than the one you are trying to deploy. +- 7409095: In addition to a hex `--salt`, deploy commands now accept a string salt for world deployment, which will get converted to a hex. + + ``` + pnpm mud deploy --salt hello + ``` + +- 8fcf9c8: Fixed an issue with overloaded system ABI types. +- b819749: Added an `indexerUrl` option to the `mud deploy` and `mud pull` CLI commands to read table records from an indexer instead of fetching logs from an Ethereum RPC. +- Updated dependencies [9580d29] +- Updated dependencies [1770620] +- Updated dependencies [653f378] +- Updated dependencies [2d2aa08] +- Updated dependencies [5f493cd] +- Updated dependencies [cd9fd0a] +- Updated dependencies [09e9bd5] +- Updated dependencies [ba5191c] +- Updated dependencies [1b477d4] +- Updated dependencies [b819749] +- Updated dependencies [5340394] +- Updated dependencies [22674ad] +- Updated dependencies [9d71887] +- Updated dependencies [509a3cc] +- Updated dependencies [9ddc874] +- Updated dependencies [09536b0] +- Updated dependencies [a6fe15c] +- Updated dependencies [88b9daf] +- Updated dependencies [275c867] + - @latticexyz/config@2.2.15 + - @latticexyz/store-sync@2.2.15 + - @latticexyz/world@2.2.15 + - @latticexyz/block-logs-stream@2.2.15 + - @latticexyz/common@2.2.15 + - @latticexyz/protocol-parser@2.2.15 + - @latticexyz/schema-type@2.2.15 + - @latticexyz/store@2.2.15 + - @latticexyz/abi-ts@2.2.15 + - @latticexyz/world-module-metadata@2.2.15 + - @latticexyz/gas-report@2.2.15 + - @latticexyz/utils@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index bdbf4ad74d..0292c1976c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/cli", - "version": "2.2.14", + "version": "2.2.15", "description": "Command line interface for mud", "repository": { "type": "git", diff --git a/packages/common/CHANGELOG.md b/packages/common/CHANGELOG.md index c82e52a558..957865a408 100644 --- a/packages/common/CHANGELOG.md +++ b/packages/common/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 2.2.15 + +### Patch Changes + +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- 9d71887: Loosened `publicClient` type for `transactionQueue` action decorator and `writeContract` and `sendTransaction` actions so that they can be used with plain, undecorated Viem clients. +- 88b9daf: Updated Rhodolite chain config. +- Updated dependencies [09e9bd5] + - @latticexyz/schema-type@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/common/package.json b/packages/common/package.json index 25427de799..7174df990f 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/common", - "version": "2.2.14", + "version": "2.2.15", "description": "Common low level logic shared between packages", "repository": { "type": "git", diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index 9027726912..1a9651465a 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -1,5 +1,17 @@ # Change Log +## 2.2.15 + +### Patch Changes + +- 9580d29: Replaced esbuild with tsx to load MUD config in an effort to resolve issues with loading multiple MUD configs in parallel. +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- Updated dependencies [09e9bd5] +- Updated dependencies [9d71887] +- Updated dependencies [88b9daf] + - @latticexyz/common@2.2.15 + - @latticexyz/schema-type@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/config/package.json b/packages/config/package.json index 6d8ab8b353..3d8acc064f 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/config", - "version": "2.2.14", + "version": "2.2.15", "description": "Config for Store and World", "repository": { "type": "git", diff --git a/packages/create-mud/CHANGELOG.md b/packages/create-mud/CHANGELOG.md index 584bcaa396..61c11f77b4 100644 --- a/packages/create-mud/CHANGELOG.md +++ b/packages/create-mud/CHANGELOG.md @@ -1,5 +1,7 @@ # Change Log +## 2.2.15 + ## 2.2.14 ## 2.2.13 diff --git a/packages/create-mud/package.json b/packages/create-mud/package.json index 18734f2160..4d7f73a39c 100644 --- a/packages/create-mud/package.json +++ b/packages/create-mud/package.json @@ -1,6 +1,6 @@ { "name": "create-mud", - "version": "2.2.14", + "version": "2.2.15", "description": "Create a new MUD project", "license": "MIT", "author": "Lattice ", diff --git a/packages/dev-tools/CHANGELOG.md b/packages/dev-tools/CHANGELOG.md index 40ee36d761..df57bbb7bc 100644 --- a/packages/dev-tools/CHANGELOG.md +++ b/packages/dev-tools/CHANGELOG.md @@ -1,5 +1,36 @@ # @latticexyz/dev-tools +## 2.2.15 + +### Patch Changes + +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- Updated dependencies [1770620] +- Updated dependencies [653f378] +- Updated dependencies [2d2aa08] +- Updated dependencies [5f493cd] +- Updated dependencies [cd9fd0a] +- Updated dependencies [09e9bd5] +- Updated dependencies [ba5191c] +- Updated dependencies [1b477d4] +- Updated dependencies [b819749] +- Updated dependencies [22674ad] +- Updated dependencies [9d71887] +- Updated dependencies [509a3cc] +- Updated dependencies [9ddc874] +- Updated dependencies [09536b0] +- Updated dependencies [a6fe15c] +- Updated dependencies [88b9daf] +- Updated dependencies [275c867] + - @latticexyz/store-sync@2.2.15 + - @latticexyz/world@2.2.15 + - @latticexyz/common@2.2.15 + - @latticexyz/schema-type@2.2.15 + - @latticexyz/store@2.2.15 + - @latticexyz/recs@2.2.15 + - @latticexyz/react@2.2.15 + - @latticexyz/utils@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/dev-tools/package.json b/packages/dev-tools/package.json index 4280db68d3..ed5e4145f0 100644 --- a/packages/dev-tools/package.json +++ b/packages/dev-tools/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/dev-tools", - "version": "2.2.14", + "version": "2.2.15", "description": "MUD developer tools", "repository": { "type": "git", diff --git a/packages/entrykit/CHANGELOG.md b/packages/entrykit/CHANGELOG.md new file mode 100644 index 0000000000..ccb16bbb85 --- /dev/null +++ b/packages/entrykit/CHANGELOG.md @@ -0,0 +1,28 @@ +# @latticexyz/entrykit + +## 2.2.15 + +### Patch Changes + +- 971ffed: Initial, experimental release of EntryKit. +- Updated dependencies [9580d29] +- Updated dependencies [653f378] +- Updated dependencies [2d2aa08] +- Updated dependencies [09e9bd5] +- Updated dependencies [ba5191c] +- Updated dependencies [1b477d4] +- Updated dependencies [b819749] +- Updated dependencies [22674ad] +- Updated dependencies [9d71887] +- Updated dependencies [509a3cc] +- Updated dependencies [09536b0] +- Updated dependencies [88b9daf] +- Updated dependencies [275c867] +- Updated dependencies [a7625b9] + - @latticexyz/config@2.2.15 + - @latticexyz/world@2.2.15 + - @latticexyz/common@2.2.15 + - @latticexyz/protocol-parser@2.2.15 + - @latticexyz/store@2.2.15 + - @latticexyz/paymaster@2.2.15 + - @latticexyz/world-modules@2.2.15 diff --git a/packages/entrykit/package.json b/packages/entrykit/package.json index ce8a2cffbf..638e041074 100644 --- a/packages/entrykit/package.json +++ b/packages/entrykit/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/entrykit", - "version": "2.2.14", + "version": "2.2.15", "description": "User onboarding flows for MUD apps", "repository": { "type": "git", diff --git a/packages/explorer/CHANGELOG.md b/packages/explorer/CHANGELOG.md index d14b013a09..26d1099872 100644 --- a/packages/explorer/CHANGELOG.md +++ b/packages/explorer/CHANGELOG.md @@ -1,5 +1,55 @@ # @latticexyz/explorer +## 2.2.15 + +### Patch Changes + +- b819749: Improved the performance of the explorer's `Interact` tab by fetching the ABI from an indexer instead of from an Ethereum RPC if available. +- 07b6be8: The transactions list in the explorer is now updated every 100ms instead of on every incoming transaction, to improve performance when there are many incoming transactions. +- 53f7906: The SQL editor now shows an indicator if the query has changed since it was last run. +- 722f4b4: The columns in the Explore tab table are now sorted correctly according to their types. +- 35cb94a: SQL live queries in the Explore view table can now be paused and resumed. +- 7fa68f6: Indicated MUD schema key columns in the table view of the Explore tab. +- 1a2b3c8: The functions in the Interact tab now display the emitted logs with the block explorer URL for the submitted transaction. +- 0592406: Added support for ERC-4337 bundled transactions, monitoring them by either listening to chain blocks or using the `observer` transport wrapper. Each user operation within a bundled transaction is displayed as an individual transaction in the Observe tab. +- 0facee0: When accessing a new table in Explore tab, the SQL editor now encloses all column names in double quotes in order to prevent invalid queries. +- 3258a6d: The latest ABI changes are now consistently fetched correctly. +- 2be543f: Fixed world ABI fetching in Rhodolite. +- d542357: Transactions in `Observe` tab now display decoded `callFrom` function calls. +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- 88b9daf: Observer transport now uses the `blockExplorers.worldsExplorer.url` from the chain config if no `explorerUrl` is provided. +- cfdfcc1: SQL queries can be executed using the Cmd/Ctrl + Enter shortcut. +- 9c1ca41: When accessing a new table in Explore tab, the SQL editor now encloses column names that are also PostgreSQL keywords in double quotes in order to prevent invalid queries. +- b0b42a9: Added support for exporting table data in CSV, JSON, and TXT formats. +- c681aa6: In the Explore tab, the view table now displays results generated by SQL query functions. +- Updated dependencies [9580d29] +- Updated dependencies [1770620] +- Updated dependencies [653f378] +- Updated dependencies [2d2aa08] +- Updated dependencies [5f493cd] +- Updated dependencies [cd9fd0a] +- Updated dependencies [09e9bd5] +- Updated dependencies [ba5191c] +- Updated dependencies [1b477d4] +- Updated dependencies [b819749] +- Updated dependencies [22674ad] +- Updated dependencies [9d71887] +- Updated dependencies [509a3cc] +- Updated dependencies [9ddc874] +- Updated dependencies [09536b0] +- Updated dependencies [a6fe15c] +- Updated dependencies [88b9daf] +- Updated dependencies [275c867] + - @latticexyz/config@2.2.15 + - @latticexyz/store-sync@2.2.15 + - @latticexyz/world@2.2.15 + - @latticexyz/block-logs-stream@2.2.15 + - @latticexyz/common@2.2.15 + - @latticexyz/protocol-parser@2.2.15 + - @latticexyz/schema-type@2.2.15 + - @latticexyz/store-indexer@2.2.15 + - @latticexyz/store@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/explorer/package.json b/packages/explorer/package.json index 17614cd004..f27526a535 100644 --- a/packages/explorer/package.json +++ b/packages/explorer/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/explorer", - "version": "2.2.14", + "version": "2.2.15", "description": "World Explorer is a tool for visually exploring and manipulating the state of worlds", "type": "module", "exports": { diff --git a/packages/faucet/CHANGELOG.md b/packages/faucet/CHANGELOG.md index 98e8be3d8e..41a1ad3f65 100644 --- a/packages/faucet/CHANGELOG.md +++ b/packages/faucet/CHANGELOG.md @@ -1,5 +1,15 @@ # @latticexyz/faucet +## 2.2.15 + +### Patch Changes + +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- Updated dependencies [09e9bd5] +- Updated dependencies [9d71887] +- Updated dependencies [88b9daf] + - @latticexyz/common@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/faucet/package.json b/packages/faucet/package.json index 00e415a52f..c069918a41 100644 --- a/packages/faucet/package.json +++ b/packages/faucet/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/faucet", - "version": "2.2.14", + "version": "2.2.15", "description": "Faucet API for Lattice testnet", "repository": { "type": "git", diff --git a/packages/gas-report/CHANGELOG.md b/packages/gas-report/CHANGELOG.md index c8e8c190ad..320df8c4da 100644 --- a/packages/gas-report/CHANGELOG.md +++ b/packages/gas-report/CHANGELOG.md @@ -1,5 +1,7 @@ # Change Log +## 2.2.15 + ## 2.2.14 ## 2.2.13 diff --git a/packages/gas-report/package.json b/packages/gas-report/package.json index ec7ecdbbd0..d9dc2a8edf 100644 --- a/packages/gas-report/package.json +++ b/packages/gas-report/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/gas-report", - "version": "2.2.14", + "version": "2.2.15", "description": "Gas reporter for specific lines within forge tests", "repository": { "type": "git", diff --git a/packages/paymaster/CHANGELOG.md b/packages/paymaster/CHANGELOG.md index e62969c775..17e1b17deb 100644 --- a/packages/paymaster/CHANGELOG.md +++ b/packages/paymaster/CHANGELOG.md @@ -1 +1,7 @@ # @latticexyz/paymaster + +## 2.2.15 + +### Patch Changes + +- a7625b9: Added `GenerousPaymaster`, a simple paymaster that sponsors all user operations for local development purposes. diff --git a/packages/paymaster/package.json b/packages/paymaster/package.json index 304d04779f..b4bdad576f 100644 --- a/packages/paymaster/package.json +++ b/packages/paymaster/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/paymaster", - "version": "2.2.14", + "version": "2.2.15", "description": "Paymaster contracts", "repository": { "type": "git", diff --git a/packages/protocol-parser/CHANGELOG.md b/packages/protocol-parser/CHANGELOG.md index 7b30ad8eb4..7affe01d2f 100644 --- a/packages/protocol-parser/CHANGELOG.md +++ b/packages/protocol-parser/CHANGELOG.md @@ -1,5 +1,18 @@ # @latticexyz/protocol-parser +## 2.2.15 + +### Patch Changes + +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- Updated dependencies [9580d29] +- Updated dependencies [09e9bd5] +- Updated dependencies [9d71887] +- Updated dependencies [88b9daf] + - @latticexyz/config@2.2.15 + - @latticexyz/common@2.2.15 + - @latticexyz/schema-type@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/protocol-parser/package.json b/packages/protocol-parser/package.json index 6fc5569e17..734dcf1e3f 100644 --- a/packages/protocol-parser/package.json +++ b/packages/protocol-parser/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/protocol-parser", - "version": "2.2.14", + "version": "2.2.15", "description": "Parser utilities for the MUD protocol", "repository": { "type": "git", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 8c23fdba45..358050bfee 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 2.2.15 + +### Patch Changes + +- Updated dependencies [09e9bd5] +- Updated dependencies [1b477d4] +- Updated dependencies [09536b0] + - @latticexyz/store@2.2.15 + - @latticexyz/recs@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/react/package.json b/packages/react/package.json index 7ef5ffe597..ca5aa7ae76 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/react", - "version": "2.2.14", + "version": "2.2.15", "description": "React tools for MUD client.", "repository": { "type": "git", diff --git a/packages/recs/CHANGELOG.md b/packages/recs/CHANGELOG.md index 762140fcae..c76a5a31ab 100644 --- a/packages/recs/CHANGELOG.md +++ b/packages/recs/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 2.2.15 + +### Patch Changes + +- Updated dependencies [09e9bd5] + - @latticexyz/schema-type@2.2.15 + - @latticexyz/utils@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/recs/package.json b/packages/recs/package.json index b592eb9568..06ec2968e0 100644 --- a/packages/recs/package.json +++ b/packages/recs/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/recs", - "version": "2.2.14", + "version": "2.2.15", "repository": { "type": "git", "url": "https://github.com/latticexyz/mud.git", diff --git a/packages/schema-type/CHANGELOG.md b/packages/schema-type/CHANGELOG.md index 56f8190f34..509af757ba 100644 --- a/packages/schema-type/CHANGELOG.md +++ b/packages/schema-type/CHANGELOG.md @@ -1,5 +1,11 @@ # Change Log +## 2.2.15 + +### Patch Changes + +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. + ## 2.2.14 ## 2.2.13 diff --git a/packages/schema-type/package.json b/packages/schema-type/package.json index 355059a37e..afcc91a3a7 100644 --- a/packages/schema-type/package.json +++ b/packages/schema-type/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/schema-type", - "version": "2.2.14", + "version": "2.2.15", "description": "SchemaType enum for various languages", "repository": { "type": "git", diff --git a/packages/solhint-config-mud/CHANGELOG.md b/packages/solhint-config-mud/CHANGELOG.md index 39c2740f84..f53999a0d9 100644 --- a/packages/solhint-config-mud/CHANGELOG.md +++ b/packages/solhint-config-mud/CHANGELOG.md @@ -1,5 +1,7 @@ # Change Log +## 2.2.15 + ## 2.2.14 ## 2.2.13 diff --git a/packages/solhint-config-mud/package.json b/packages/solhint-config-mud/package.json index 522f16ae35..7f802183cb 100644 --- a/packages/solhint-config-mud/package.json +++ b/packages/solhint-config-mud/package.json @@ -1,6 +1,6 @@ { "name": "solhint-config-mud", - "version": "2.2.14", + "version": "2.2.15", "repository": { "type": "git", "url": "https://github.com/latticexyz/mud.git", diff --git a/packages/solhint-plugin-mud/CHANGELOG.md b/packages/solhint-plugin-mud/CHANGELOG.md index 39c2740f84..f53999a0d9 100644 --- a/packages/solhint-plugin-mud/CHANGELOG.md +++ b/packages/solhint-plugin-mud/CHANGELOG.md @@ -1,5 +1,7 @@ # Change Log +## 2.2.15 + ## 2.2.14 ## 2.2.13 diff --git a/packages/solhint-plugin-mud/package.json b/packages/solhint-plugin-mud/package.json index eac28b2ce4..45388236ac 100644 --- a/packages/solhint-plugin-mud/package.json +++ b/packages/solhint-plugin-mud/package.json @@ -1,6 +1,6 @@ { "name": "solhint-plugin-mud", - "version": "2.2.14", + "version": "2.2.15", "repository": { "type": "git", "url": "https://github.com/latticexyz/mud.git", diff --git a/packages/stash/CHANGELOG.md b/packages/stash/CHANGELOG.md index f4bef51ee7..55b2d5b69e 100644 --- a/packages/stash/CHANGELOG.md +++ b/packages/stash/CHANGELOG.md @@ -1,5 +1,37 @@ # @latticexyz/stash +## 2.2.15 + +### Patch Changes + +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- 96f1473: Consolidated how state changes are applied and subscribers notified. Stash subscribers now receive an ordered list of state updates rather than an object. +- 16242b7: Added `useRecord` and `useRecords` hooks for convenience. + + ```ts + import { useRecords } from "@latticexyz/stash/react"; + + const players = useRecords({ stash, table: Position }); + ``` + + ```ts + import { useRecord } from "@latticexyz/stash/react"; + + const player = useRecord({ stash, table: Position, key: { player: "0x..." } }); + ``` + +- Updated dependencies [9580d29] +- Updated dependencies [09e9bd5] +- Updated dependencies [1b477d4] +- Updated dependencies [9d71887] +- Updated dependencies [09536b0] +- Updated dependencies [88b9daf] + - @latticexyz/config@2.2.15 + - @latticexyz/common@2.2.15 + - @latticexyz/protocol-parser@2.2.15 + - @latticexyz/schema-type@2.2.15 + - @latticexyz/store@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/stash/package.json b/packages/stash/package.json index 619fa048dc..64857cc79f 100644 --- a/packages/stash/package.json +++ b/packages/stash/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/stash", - "version": "2.2.14", + "version": "2.2.15", "description": "High performance client store and query engine for MUD", "repository": { "type": "git", diff --git a/packages/store-consumer/CHANGELOG.md b/packages/store-consumer/CHANGELOG.md index 2c56039cb9..8fbb308953 100644 --- a/packages/store-consumer/CHANGELOG.md +++ b/packages/store-consumer/CHANGELOG.md @@ -1 +1,21 @@ # @latticexyz/store-consumer + +## 2.2.15 + +### Patch Changes + +- d17a9be: Extracted StoreConsumer base contracts into an independent package. + Added a `registerNamespace` boolean to `WithWorld` to provide more control over namespace registration. +- Updated dependencies [653f378] +- Updated dependencies [2d2aa08] +- Updated dependencies [09e9bd5] +- Updated dependencies [ba5191c] +- Updated dependencies [1b477d4] +- Updated dependencies [b819749] +- Updated dependencies [22674ad] +- Updated dependencies [509a3cc] +- Updated dependencies [09536b0] +- Updated dependencies [275c867] + - @latticexyz/world@2.2.15 + - @latticexyz/schema-type@2.2.15 + - @latticexyz/store@2.2.15 diff --git a/packages/store-consumer/package.json b/packages/store-consumer/package.json index 769659da0c..aac398192d 100644 --- a/packages/store-consumer/package.json +++ b/packages/store-consumer/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/store-consumer", - "version": "2.2.14", + "version": "2.2.15", "description": "Store Consumer Contracts", "repository": { "type": "git", diff --git a/packages/store-indexer/CHANGELOG.md b/packages/store-indexer/CHANGELOG.md index 7da7c4e9cd..d30553a2f9 100644 --- a/packages/store-indexer/CHANGELOG.md +++ b/packages/store-indexer/CHANGELOG.md @@ -1,5 +1,27 @@ # @latticexyz/store-indexer +## 2.2.15 + +### Patch Changes + +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- Updated dependencies [1770620] +- Updated dependencies [5f493cd] +- Updated dependencies [cd9fd0a] +- Updated dependencies [09e9bd5] +- Updated dependencies [1b477d4] +- Updated dependencies [b819749] +- Updated dependencies [9d71887] +- Updated dependencies [9ddc874] +- Updated dependencies [09536b0] +- Updated dependencies [a6fe15c] +- Updated dependencies [88b9daf] + - @latticexyz/store-sync@2.2.15 + - @latticexyz/block-logs-stream@2.2.15 + - @latticexyz/common@2.2.15 + - @latticexyz/protocol-parser@2.2.15 + - @latticexyz/store@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/store-indexer/package.json b/packages/store-indexer/package.json index e34318e7f3..443e90851a 100644 --- a/packages/store-indexer/package.json +++ b/packages/store-indexer/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/store-indexer", - "version": "2.2.14", + "version": "2.2.15", "description": "Minimal Typescript indexer for Store", "repository": { "type": "git", diff --git a/packages/store-sync/CHANGELOG.md b/packages/store-sync/CHANGELOG.md index 0855b88bb5..e0c5c6f587 100644 --- a/packages/store-sync/CHANGELOG.md +++ b/packages/store-sync/CHANGELOG.md @@ -1,5 +1,71 @@ # @latticexyz/store-sync +## 2.2.15 + +### Patch Changes + +- 1770620: Updated the `watchLogs` util to accept the updated RPC response type. +- 5f493cd: Added an experimental `@latticexyz/store-sync/react` export with a `SyncProvider` and `useSync` hook. This allows for easier syncing MUD data to React apps. + + Note that this is currently only usable with Stash and assumes you are also using Wagmi in your React app. + + ```tsx + import { WagmiProvider } from "wagmi"; + import { QueryClientProvider } from "@tanstack/react-query"; + import { SyncProvider } from "@latticexyz/store-sync/react"; + import { createSyncAdapter } from "@latticexyz/store-sync/internal"; + + export function App() { + return ( + + + + {children} + + + + ); + } + ``` + +- cd9fd0a: Fixed a bug in `watchLogs` where logs from the buffer were not applied during the initial sync. +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- b819749: Added a `getRecords` util to fetch table records from an indexer or RPC. + + Migrated the `getFunctions` and `getWorldAbi` utils from `@latticexyz/world` to `@latticexyz/store-sync/world` to allow `getFunctions` and `getWorldAbi` to use `getRecords` internally without circular dependencies. + +- 9ddc874: Experimental pending logs watcher now reconnects if it loses connection or times out. +- a6fe15c: All sync methods using a `publicClient` argument now accept a plain Viem `Client` rather than a decorated `PublicClient`, allowing for more flexibility and better tree-shaking for lighter bundles. +- Updated dependencies [9580d29] +- Updated dependencies [653f378] +- Updated dependencies [2d2aa08] +- Updated dependencies [09e9bd5] +- Updated dependencies [96f1473] +- Updated dependencies [ba5191c] +- Updated dependencies [1b477d4] +- Updated dependencies [b819749] +- Updated dependencies [16242b7] +- Updated dependencies [22674ad] +- Updated dependencies [9d71887] +- Updated dependencies [509a3cc] +- Updated dependencies [09536b0] +- Updated dependencies [88b9daf] +- Updated dependencies [275c867] + - @latticexyz/config@2.2.15 + - @latticexyz/world@2.2.15 + - @latticexyz/block-logs-stream@2.2.15 + - @latticexyz/common@2.2.15 + - @latticexyz/protocol-parser@2.2.15 + - @latticexyz/schema-type@2.2.15 + - @latticexyz/stash@2.2.15 + - @latticexyz/store@2.2.15 + - @latticexyz/recs@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/store-sync/package.json b/packages/store-sync/package.json index d42b5d731b..e1bfffe0d1 100644 --- a/packages/store-sync/package.json +++ b/packages/store-sync/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/store-sync", - "version": "2.2.14", + "version": "2.2.15", "description": "Utilities to sync MUD Store events with a client or cache", "repository": { "type": "git", diff --git a/packages/store/CHANGELOG.md b/packages/store/CHANGELOG.md index febd2addca..fc2f8a4432 100644 --- a/packages/store/CHANGELOG.md +++ b/packages/store/CHANGELOG.md @@ -1,5 +1,21 @@ # Change Log +## 2.2.15 + +### Patch Changes + +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- 1b477d4: Added internal `getRecord` and `getStaticDataLocation` helpers. +- 09536b0: Adds an experimental feature to automatically generate Solidity libraries from systems, making it easier to perform calls between systems. +- Updated dependencies [9580d29] +- Updated dependencies [09e9bd5] +- Updated dependencies [9d71887] +- Updated dependencies [88b9daf] + - @latticexyz/config@2.2.15 + - @latticexyz/common@2.2.15 + - @latticexyz/protocol-parser@2.2.15 + - @latticexyz/schema-type@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/store/package.json b/packages/store/package.json index 1e52553e64..4bc1e7c86a 100644 --- a/packages/store/package.json +++ b/packages/store/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/store", - "version": "2.2.14", + "version": "2.2.15", "description": "Store", "repository": { "type": "git", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index ce9c3444e3..37eff93705 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -1,5 +1,7 @@ # Change Log +## 2.2.15 + ## 2.2.14 ## 2.2.13 diff --git a/packages/utils/package.json b/packages/utils/package.json index 73ea915d21..0e52e5063d 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/utils", - "version": "2.2.14", + "version": "2.2.15", "repository": { "type": "git", "url": "https://github.com/latticexyz/mud.git", diff --git a/packages/vite-plugin-mud/CHANGELOG.md b/packages/vite-plugin-mud/CHANGELOG.md new file mode 100644 index 0000000000..f505d847e4 --- /dev/null +++ b/packages/vite-plugin-mud/CHANGELOG.md @@ -0,0 +1,34 @@ +# vite-plugin-mud + +## 2.2.15 + +### Patch Changes + +- 70f224a: Initial release of Vite plugin for MUD projects. + + This will soon be included by default in MUD templates, but you can add to an existing MUD project with: + + ``` + pnpm add -D vite@^6 vite-plugin-mud + ``` + + And use like: + + ```ts + // vite.config.ts + import { defineConfig } from "vite"; + import { mud } from "vite-plugin-mud"; + + export default defineConfig({ + plugins: [mud({ worldsFile: "worlds.json" })], + }); + ``` + + ```json + // tsconfig.json + { + "compilerOptions": { + "types": ["vite/client", "vite-plugin-mud/env"] + } + } + ``` diff --git a/packages/vite-plugin-mud/package.json b/packages/vite-plugin-mud/package.json index 05a6cf6932..4f38c4c90e 100644 --- a/packages/vite-plugin-mud/package.json +++ b/packages/vite-plugin-mud/package.json @@ -1,6 +1,6 @@ { "name": "vite-plugin-mud", - "version": "2.2.14", + "version": "2.2.15", "repository": { "type": "git", "url": "https://github.com/latticexyz/mud.git", diff --git a/packages/world-module-erc20/CHANGELOG.md b/packages/world-module-erc20/CHANGELOG.md index d86539c0df..e0d97950a8 100644 --- a/packages/world-module-erc20/CHANGELOG.md +++ b/packages/world-module-erc20/CHANGELOG.md @@ -1,5 +1,27 @@ # @latticexyz/world-module-erc20 +## 2.2.15 + +### Patch Changes + +- d17a9be: Extracted StoreConsumer base contracts into an independent package. + Added a `registerNamespace` boolean to `WithWorld` to provide more control over namespace registration. +- Updated dependencies [653f378] +- Updated dependencies [2d2aa08] +- Updated dependencies [09e9bd5] +- Updated dependencies [d17a9be] +- Updated dependencies [ba5191c] +- Updated dependencies [1b477d4] +- Updated dependencies [b819749] +- Updated dependencies [22674ad] +- Updated dependencies [509a3cc] +- Updated dependencies [09536b0] +- Updated dependencies [275c867] + - @latticexyz/world@2.2.15 + - @latticexyz/schema-type@2.2.15 + - @latticexyz/store@2.2.15 + - @latticexyz/store-consumer@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/world-module-erc20/package.json b/packages/world-module-erc20/package.json index 47b74eb7fd..25dbe152a3 100644 --- a/packages/world-module-erc20/package.json +++ b/packages/world-module-erc20/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/world-module-erc20", - "version": "2.2.14", + "version": "2.2.15", "description": "ERC20 world module", "repository": { "type": "git", diff --git a/packages/world-module-metadata/CHANGELOG.md b/packages/world-module-metadata/CHANGELOG.md index 2dbdd1d7ab..12acb1e630 100644 --- a/packages/world-module-metadata/CHANGELOG.md +++ b/packages/world-module-metadata/CHANGELOG.md @@ -1,5 +1,23 @@ # @latticexyz/world-module-metadata +## 2.2.15 + +### Patch Changes + +- Updated dependencies [653f378] +- Updated dependencies [2d2aa08] +- Updated dependencies [09e9bd5] +- Updated dependencies [ba5191c] +- Updated dependencies [1b477d4] +- Updated dependencies [b819749] +- Updated dependencies [22674ad] +- Updated dependencies [509a3cc] +- Updated dependencies [09536b0] +- Updated dependencies [275c867] + - @latticexyz/world@2.2.15 + - @latticexyz/schema-type@2.2.15 + - @latticexyz/store@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/world-module-metadata/package.json b/packages/world-module-metadata/package.json index bba356c77a..bd86a7b1a7 100644 --- a/packages/world-module-metadata/package.json +++ b/packages/world-module-metadata/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/world-module-metadata", - "version": "2.2.14", + "version": "2.2.15", "description": "Metadata world module", "repository": { "type": "git", diff --git a/packages/world-modules/CHANGELOG.md b/packages/world-modules/CHANGELOG.md index dcc252a1ac..ab12ca9dfe 100644 --- a/packages/world-modules/CHANGELOG.md +++ b/packages/world-modules/CHANGELOG.md @@ -1,5 +1,28 @@ # Change Log +## 2.2.15 + +### Patch Changes + +- Updated dependencies [9580d29] +- Updated dependencies [653f378] +- Updated dependencies [2d2aa08] +- Updated dependencies [09e9bd5] +- Updated dependencies [ba5191c] +- Updated dependencies [1b477d4] +- Updated dependencies [b819749] +- Updated dependencies [22674ad] +- Updated dependencies [9d71887] +- Updated dependencies [509a3cc] +- Updated dependencies [09536b0] +- Updated dependencies [88b9daf] +- Updated dependencies [275c867] + - @latticexyz/config@2.2.15 + - @latticexyz/world@2.2.15 + - @latticexyz/common@2.2.15 + - @latticexyz/schema-type@2.2.15 + - @latticexyz/store@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/world-modules/package.json b/packages/world-modules/package.json index fadfa1252a..92e631d7c7 100644 --- a/packages/world-modules/package.json +++ b/packages/world-modules/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/world-modules", - "version": "2.2.14", + "version": "2.2.15", "description": "World modules", "repository": { "type": "git", diff --git a/packages/world/CHANGELOG.md b/packages/world/CHANGELOG.md index 84c010ef77..17df642e38 100644 --- a/packages/world/CHANGELOG.md +++ b/packages/world/CHANGELOG.md @@ -1,5 +1,34 @@ # Change Log +## 2.2.15 + +### Patch Changes + +- 653f378: Use `WorldContextConsumerLib._msgSender()` instead of `msg.sender` in system libraries. +- 2d2aa08: Moved TS utils over to using hardcoded ABIs instead of ones imported from `.abi.json` files to fix some internal type resolution issues. +- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects. +- ba5191c: Fixes relative system imports in system libraries and adds support for overloaded system functions. +- b819749: Added a `getRecords` util to fetch table records from an indexer or RPC. + + Migrated the `getFunctions` and `getWorldAbi` utils from `@latticexyz/world` to `@latticexyz/store-sync/world` to allow `getFunctions` and `getWorldAbi` to use `getRecords` internally without circular dependencies. + +- 22674ad: `getFunctions` now internally uses `fetchLogs` for better handling of block range errors. +- 509a3cc: Reworked `callFrom` action to use `getAction` internally, rather than a decorated Viem client, and updated types to better match Viem. +- 09536b0: Adds an experimental feature to automatically generate Solidity libraries from systems, making it easier to perform calls between systems. +- 275c867: Add a SystemCall.staticcall function that performs a staticcall without executing hooks. +- Updated dependencies [9580d29] +- Updated dependencies [09e9bd5] +- Updated dependencies [1b477d4] +- Updated dependencies [9d71887] +- Updated dependencies [09536b0] +- Updated dependencies [88b9daf] + - @latticexyz/config@2.2.15 + - @latticexyz/block-logs-stream@2.2.15 + - @latticexyz/common@2.2.15 + - @latticexyz/protocol-parser@2.2.15 + - @latticexyz/schema-type@2.2.15 + - @latticexyz/store@2.2.15 + ## 2.2.14 ### Patch Changes diff --git a/packages/world/package.json b/packages/world/package.json index 241492237a..346595e221 100644 --- a/packages/world/package.json +++ b/packages/world/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/world", - "version": "2.2.14", + "version": "2.2.15", "description": "World framework", "repository": { "type": "git",