From 213b27d3593e0dd139a17a453df51c6e2220984c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 30 Jan 2025 03:05:31 -0800 Subject: [PATCH] chore: release v2.2.17 (#3473) Co-authored-by: github-actions[bot] --- .changeset/beige-pears-exercise.md | 5 - .changeset/cuddly-pugs-cough.md | 5 - .changeset/curvy-beds-mix.md | 9 - .changeset/eighty-cooks-smile.md | 5 - .changeset/empty-shoes-thank.md | 5 - .changeset/famous-doors-listen.md | 5 - .changeset/five-bats-live.md | 5 - .changeset/fluffy-falcons-hide.md | 20 - .changeset/gold-baboons-buy.md | 5 - .changeset/hip-pugs-tease.md | 5 - .changeset/hip-spoons-confess.md | 5 - .changeset/large-days-confess.md | 12 - .changeset/large-moles-rule.md | 11 - .changeset/lemon-nails-bake.md | 14 - .changeset/lucky-maps-tell.md | 29 -- .changeset/modern-parrots-shave.md | 5 - .changeset/neat-taxis-behave.md | 6 - .changeset/olive-countries-visit.md | 5 - .changeset/shaggy-shirts-work.md | 5 - .changeset/shy-poets-battle.md | 6 - .changeset/silly-kids-enjoy.md | 5 - .changeset/tender-frogs-share.md | 25 -- .changeset/thin-pianos-repair.md | 5 - .changeset/three-seals-hear.md | 5 - .changeset/tiny-moles-rule.md | 5 - .changeset/warm-rules-listen.md | 5 - .changeset/wild-starfishes-yell.md | 5 - CHANGELOG.md | 199 +++++++++ docs/data/changelog.json | 404 ++++++++++++++++++ docs/pages/changelog.mdx | 199 +++++++++ packages/abi-ts/CHANGELOG.md | 2 + packages/abi-ts/package.json | 2 +- packages/block-logs-stream/CHANGELOG.md | 35 ++ packages/block-logs-stream/package.json | 2 +- packages/cli/CHANGELOG.md | 54 +++ packages/cli/package.json | 2 +- packages/common/CHANGELOG.md | 8 + packages/common/package.json | 2 +- packages/config/CHANGELOG.md | 9 + packages/config/package.json | 2 +- packages/create-mud/CHANGELOG.md | 8 + packages/create-mud/package.json | 2 +- packages/dev-tools/CHANGELOG.md | 21 + packages/dev-tools/package.json | 2 +- packages/entrykit/CHANGELOG.md | 47 ++ packages/entrykit/package.json | 2 +- packages/explorer/CHANGELOG.md | 30 ++ packages/explorer/package.json | 2 +- packages/faucet/CHANGELOG.md | 8 + packages/faucet/package.json | 2 +- packages/gas-report/CHANGELOG.md | 2 + packages/gas-report/package.json | 2 +- packages/paymaster/CHANGELOG.md | 2 + packages/paymaster/package.json | 2 +- packages/protocol-parser/CHANGELOG.md | 11 + packages/protocol-parser/package.json | 2 +- packages/react/CHANGELOG.md | 7 + packages/react/package.json | 2 +- packages/recs/CHANGELOG.md | 7 + packages/recs/package.json | 2 +- packages/schema-type/CHANGELOG.md | 2 + packages/schema-type/package.json | 2 +- packages/solhint-config-mud/CHANGELOG.md | 2 + packages/solhint-config-mud/package.json | 2 +- packages/solhint-plugin-mud/CHANGELOG.md | 2 + packages/solhint-plugin-mud/package.json | 2 +- packages/stash/CHANGELOG.md | 13 + packages/stash/package.json | 2 +- packages/store-consumer/CHANGELOG.md | 11 + packages/store-consumer/package.json | 2 +- packages/store-indexer/CHANGELOG.md | 23 + packages/store-indexer/package.json | 2 +- packages/store-sync/CHANGELOG.md | 65 +++ packages/store-sync/package.json | 2 +- packages/store/CHANGELOG.md | 12 + packages/store/package.json | 2 +- packages/utils/CHANGELOG.md | 2 + packages/utils/package.json | 2 +- packages/vite-plugin-mud/CHANGELOG.md | 2 + packages/vite-plugin-mud/package.json | 2 +- .../CHANGELOG.md | 31 ++ .../package.json | 2 +- packages/world-module-erc20/CHANGELOG.md | 12 + packages/world-module-erc20/package.json | 2 +- packages/world-module-metadata/CHANGELOG.md | 11 + packages/world-module-metadata/package.json | 2 +- packages/world-modules/CHANGELOG.md | 34 ++ packages/world-modules/package.json | 2 +- packages/world/CHANGELOG.md | 28 ++ packages/world/package.json | 2 +- 90 files changed, 1333 insertions(+), 252 deletions(-) delete mode 100644 .changeset/beige-pears-exercise.md delete mode 100644 .changeset/cuddly-pugs-cough.md delete mode 100644 .changeset/curvy-beds-mix.md delete mode 100644 .changeset/eighty-cooks-smile.md delete mode 100644 .changeset/empty-shoes-thank.md delete mode 100644 .changeset/famous-doors-listen.md delete mode 100644 .changeset/five-bats-live.md delete mode 100644 .changeset/fluffy-falcons-hide.md delete mode 100644 .changeset/gold-baboons-buy.md delete mode 100644 .changeset/hip-pugs-tease.md delete mode 100644 .changeset/hip-spoons-confess.md delete mode 100644 .changeset/large-days-confess.md delete mode 100644 .changeset/large-moles-rule.md delete mode 100644 .changeset/lemon-nails-bake.md delete mode 100644 .changeset/lucky-maps-tell.md delete mode 100644 .changeset/modern-parrots-shave.md delete mode 100644 .changeset/neat-taxis-behave.md delete mode 100644 .changeset/olive-countries-visit.md delete mode 100644 .changeset/shaggy-shirts-work.md delete mode 100644 .changeset/shy-poets-battle.md delete mode 100644 .changeset/silly-kids-enjoy.md delete mode 100644 .changeset/tender-frogs-share.md delete mode 100644 .changeset/thin-pianos-repair.md delete mode 100644 .changeset/three-seals-hear.md delete mode 100644 .changeset/tiny-moles-rule.md delete mode 100644 .changeset/warm-rules-listen.md delete mode 100644 .changeset/wild-starfishes-yell.md create mode 100644 packages/world-module-callwithsignature/CHANGELOG.md diff --git a/.changeset/beige-pears-exercise.md b/.changeset/beige-pears-exercise.md deleted file mode 100644 index 0790803033..0000000000 --- a/.changeset/beige-pears-exercise.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/world": patch ---- - -Fixed an issue in system resolving helper used by CLI was not correctly comparing `namespaceLabel`s. diff --git a/.changeset/cuddly-pugs-cough.md b/.changeset/cuddly-pugs-cough.md deleted file mode 100644 index 00de7fe84b..0000000000 --- a/.changeset/cuddly-pugs-cough.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/entrykit": patch ---- - -Bumped react-error-boundary dependency. diff --git a/.changeset/curvy-beds-mix.md b/.changeset/curvy-beds-mix.md deleted file mode 100644 index c5008bf090..0000000000 --- a/.changeset/curvy-beds-mix.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@latticexyz/store-indexer": patch ---- - -Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. - -To enable this, use `INTERNAL__VALIDATE_BLOCK_RANGE=true` environment variable when starting up any of the indexers. This requires `RPC_HTTP_URL` to also be set. - -Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. diff --git a/.changeset/eighty-cooks-smile.md b/.changeset/eighty-cooks-smile.md deleted file mode 100644 index f1f17f7184..0000000000 --- a/.changeset/eighty-cooks-smile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -The context for the searched namespace and selected table is now preserved when reopening the table search and selection menu. diff --git a/.changeset/empty-shoes-thank.md b/.changeset/empty-shoes-thank.md deleted file mode 100644 index 6223f6d068..0000000000 --- a/.changeset/empty-shoes-thank.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/store-sync": patch ---- - -Updated `waitForTransaction` to handle receipt status for user operations. diff --git a/.changeset/famous-doors-listen.md b/.changeset/famous-doors-listen.md deleted file mode 100644 index 126f466b1f..0000000000 --- a/.changeset/famous-doors-listen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/cli": patch ---- - -The `verify` command should now be able to correctly verify systems using public libraries. diff --git a/.changeset/five-bats-live.md b/.changeset/five-bats-live.md deleted file mode 100644 index d9cacf7466..0000000000 --- a/.changeset/five-bats-live.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"create-mud": patch ---- - -Updated React template with Stash client state library, EntryKit for wallet support, and a cleaned up app structure. diff --git a/.changeset/fluffy-falcons-hide.md b/.changeset/fluffy-falcons-hide.md deleted file mode 100644 index 1582914091..0000000000 --- a/.changeset/fluffy-falcons-hide.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -"@latticexyz/block-logs-stream": patch -"@latticexyz/store-sync": patch ---- - -Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. - -To enable this, replace `publicClient: Client` with `internal_clientOptions: { chain: Chain, validateBlockRange: true }` when calling any sync method (e.g. `syncToStash`). For ``, only a `internal_validateBlockRange` prop is needed. - -```diff --syncToStash({ publicClient, ... }); -+syncToStash({ internal_clientOptions: { chain, validateBlockRange: true }, ... }); -``` - -```diff -- -+ -``` - -Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. diff --git a/.changeset/gold-baboons-buy.md b/.changeset/gold-baboons-buy.md deleted file mode 100644 index a6db2c6783..0000000000 --- a/.changeset/gold-baboons-buy.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/common": patch ---- - -Improved approach for checking for nonce errors. diff --git a/.changeset/hip-pugs-tease.md b/.changeset/hip-pugs-tease.md deleted file mode 100644 index 671b945b3a..0000000000 --- a/.changeset/hip-pugs-tease.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"create-mud": patch ---- - -Updated React ECS template with EntryKit for wallet support and a cleaned up app structure. diff --git a/.changeset/hip-spoons-confess.md b/.changeset/hip-spoons-confess.md deleted file mode 100644 index 25c47fdbba..0000000000 --- a/.changeset/hip-spoons-confess.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"create-mud": patch ---- - -Replaced internal usage of `create-create-app` with a simpler recursive copy operation. diff --git a/.changeset/large-days-confess.md b/.changeset/large-days-confess.md deleted file mode 100644 index c5d10bf7bb..0000000000 --- a/.changeset/large-days-confess.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@latticexyz/world": patch ---- - -Using `encodeSystemCall` (and others) with a world ABI and namespace-prefixed function name will now attempt to strip the prefix when encoding it as a system call. - -It's recommended to use a system ABI with these functions rather than a world ABI. - -```ts -import systemAbi from "contracts/out/ISomeSystem.sol/ISomeSystem.sol.abi.json"; -encodeSystemCall({ abi: systemAbi, ... }); -``` diff --git a/.changeset/large-moles-rule.md b/.changeset/large-moles-rule.md deleted file mode 100644 index eab9981c11..0000000000 --- a/.changeset/large-moles-rule.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@latticexyz/entrykit": patch ---- - -Renamed `deploy-local-prereqs` bin to `entrykit-deploy`, which now accepts an RPC URL so that you can deploy the EntryKit prerequisites to your chain of choice. - -``` -RPC_URL=http://rpc.garnetchain.com pnpm entrykit-deploy -``` - -This bin supports specifying the RPC URL via `RPC_URL`, `RPC_HTTP_URL`, `FOUNDRY_ETH_RPC_URL` environment variables or `FOUNDRY_PROFILE` if using `eth_rpc_url` in `foundry.toml`. diff --git a/.changeset/lemon-nails-bake.md b/.changeset/lemon-nails-bake.md deleted file mode 100644 index 483850c2ac..0000000000 --- a/.changeset/lemon-nails-bake.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"@latticexyz/block-logs-stream": patch ---- - -Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. - -To enable this, replace `publicClient: Client` with `internal_clientOptions: { chain: Chain, validateBlockRange: true }` when calling `fetchLogs` or `fetchBlockLogs`. - -```diff --fetchLogs({ publicClient, ... }); -+fetchLogs({ internal_clientOptions: { chain, validateBlockRange: true }, ... }); -``` - -Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. diff --git a/.changeset/lucky-maps-tell.md b/.changeset/lucky-maps-tell.md deleted file mode 100644 index b9a7e59114..0000000000 --- a/.changeset/lucky-maps-tell.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -"@latticexyz/store-sync": patch ---- - -Added an RECS sync adapter to be used with `SyncProvider` in React apps. - -```tsx -import { WagmiProvider } from "wagmi"; -import { QueryClientProvider } from "@tanstack/react-query"; -import { SyncProvider } from "@latticexyz/store-sync/react"; -import { createSyncAdapter } from "@latticexyz/store-sync/recs"; -import { createWorld } from "@latticexyz/recs"; -import config from "./mud.config"; - -const world = createWorld(); -const { syncAdapter, components } = createSyncAdapter({ world, config }); - -export function App() { - return ( - - - - {children} - - - - ); -} -``` diff --git a/.changeset/modern-parrots-shave.md b/.changeset/modern-parrots-shave.md deleted file mode 100644 index db96338cf6..0000000000 --- a/.changeset/modern-parrots-shave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -Add a separate flag and port for the indexer created by the Explorer. diff --git a/.changeset/neat-taxis-behave.md b/.changeset/neat-taxis-behave.md deleted file mode 100644 index 421dcd5161..0000000000 --- a/.changeset/neat-taxis-behave.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@latticexyz/cli": patch ---- - -Added an empty line to the end of `.json` output files for consistency. -Removed some unnecessary defaults to allow them to pass through via environment variables. diff --git a/.changeset/olive-countries-visit.md b/.changeset/olive-countries-visit.md deleted file mode 100644 index b1985b3d5c..0000000000 --- a/.changeset/olive-countries-visit.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -Previously, queries could only be executed if they had changed, as data fetching was tied to query updates. Now, it’s possible to trigger a new table data fetch explicitly, regardless of whether the query has changed. diff --git a/.changeset/shaggy-shirts-work.md b/.changeset/shaggy-shirts-work.md deleted file mode 100644 index 8cd1467227..0000000000 --- a/.changeset/shaggy-shirts-work.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/protocol-parser": patch ---- - -Added padding to make sure the `encodedLengths` field of a Store log is always 32 bytes. diff --git a/.changeset/shy-poets-battle.md b/.changeset/shy-poets-battle.md deleted file mode 100644 index f9da606e53..0000000000 --- a/.changeset/shy-poets-battle.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@latticexyz/world": patch ---- - -Updated `callFrom` action to automatically translate `batchCall` to `batchCallFrom`. -Also fixed `encodeSystemCallFrom` and `encodeSystemCallsFrom` to return the right format for use with `batchCall` and `batchCallFrom` respectively. diff --git a/.changeset/silly-kids-enjoy.md b/.changeset/silly-kids-enjoy.md deleted file mode 100644 index 7cb26b7e78..0000000000 --- a/.changeset/silly-kids-enjoy.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/cli": patch ---- - -Fixed an issue with `mud verify` where system contract artifacts were being resolved incorrectly. diff --git a/.changeset/tender-frogs-share.md b/.changeset/tender-frogs-share.md deleted file mode 100644 index 6568f4a3de..0000000000 --- a/.changeset/tender-frogs-share.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -"@latticexyz/cli": patch -"@latticexyz/entrykit": patch -"@latticexyz/world-module-callwithsignature": patch -"@latticexyz/world-modules": patch ---- - -`CallWithSignature` module has been moved out of `@latticexyz/world-modules` and into its own package at `@latticexyz/world-module-callwithsignature`. This module is now installed by default during deploy as its needed by EntryKit. - -If you previously had this module installed in your MUD config, you can now remove it. - -```diff - export default defineConfig({ - tables: { - ... - }, -- modules: [ -- { -- artifactPath: -- "@latticexyz/world-modules/out/Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.json", -- root: true, -- }, -- ], - }); -``` diff --git a/.changeset/thin-pianos-repair.md b/.changeset/thin-pianos-repair.md deleted file mode 100644 index 8e1e46f633..0000000000 --- a/.changeset/thin-pianos-repair.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -The Explorer now returns an empty array for empty results, instead of throwing an error, when using the local indexer. diff --git a/.changeset/three-seals-hear.md b/.changeset/three-seals-hear.md deleted file mode 100644 index b43f6a71e6..0000000000 --- a/.changeset/three-seals-hear.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/explorer": patch ---- - -The loader in the Explore table now appears only during the initial data load. Additionally, a loading spinner has been added to the query submit button for non-live queries to indicate when a query is being refetched. diff --git a/.changeset/tiny-moles-rule.md b/.changeset/tiny-moles-rule.md deleted file mode 100644 index 3fd40a4b7f..0000000000 --- a/.changeset/tiny-moles-rule.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/common": patch ---- - -Updated Rhodolite chain config with new contract addresses. diff --git a/.changeset/warm-rules-listen.md b/.changeset/warm-rules-listen.md deleted file mode 100644 index b242d50215..0000000000 --- a/.changeset/warm-rules-listen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/cli": patch ---- - -The world address stored in `worlds.json` and `deploys/latest.json` is now checksummed. diff --git a/.changeset/wild-starfishes-yell.md b/.changeset/wild-starfishes-yell.md deleted file mode 100644 index debf8bd706..0000000000 --- a/.changeset/wild-starfishes-yell.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@latticexyz/cli": patch ---- - -Deploy now prints the current MUD CLI version for easier debugging. diff --git a/CHANGELOG.md b/CHANGELOG.md index 9428da2ee8..88093f7ed7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,202 @@ +## Version 2.2.17 + +Release date: Thu Jan 30 2025 + +### Patch changes + +**[fix(world): namespaceLabel should be compared to namespaceLabel not namespace (#3515)](https://github.com/latticexyz/mud/commit/94d82cfafbdbee448884643681b0b8db53eedfda)** (@latticexyz/world) + +Fixed an issue in system resolving helper used by CLI was not correctly comparing `namespaceLabel`s. + +**[feat(create-mud): new react template with stash/entrykit (#3478)](https://github.com/latticexyz/mud/commit/d5f4e1e44bbc260ff21dacdfab0e0f8389e9f304)** (@latticexyz/entrykit) + +Bumped react-error-boundary dependency. + +**[feat(store-indexer): add flag to validate block ranges (#3531)](https://github.com/latticexyz/mud/commit/40aaf970a122151852d3d3f02383f44bffed85b9)** (@latticexyz/store-indexer) + +Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. + +To enable this, use `INTERNAL__VALIDATE_BLOCK_RANGE=true` environment variable when starting up any of the indexers. This requires `RPC_HTTP_URL` to also be set. + +Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. + +**[feat(explorer): save searched namespace (#3470)](https://github.com/latticexyz/mud/commit/dab0d08d3c8f18adcab7bcd4a6a7eafc941ac4e6)** (@latticexyz/explorer) + +The context for the searched namespace and selected table is now preserved when reopening the table search and selection menu. + +**[fix(store-sync): handle user ops in waitForTransaction (#3518)](https://github.com/latticexyz/mud/commit/5a9e238e660bfa670cef673b2e34bbde7f860720)** (@latticexyz/store-sync) + +Updated `waitForTransaction` to handle receipt status for user operations. + +**[fix(cli): support verifying systems with linked libraries (#3514)](https://github.com/latticexyz/mud/commit/452d3e53db2768f2e296ea7560c9bdd6560cd797)** (@latticexyz/cli) + +The `verify` command should now be able to correctly verify systems using public libraries. + +**[feat(create-mud): new react template with stash/entrykit (#3478)](https://github.com/latticexyz/mud/commit/d5f4e1e44bbc260ff21dacdfab0e0f8389e9f304)** (create-mud) + +Updated React template with Stash client state library, EntryKit for wallet support, and a cleaned up app structure. + +**[feat(store-indexer): add flag to validate block ranges (#3531)](https://github.com/latticexyz/mud/commit/40aaf970a122151852d3d3f02383f44bffed85b9)** (@latticexyz/block-logs-stream, @latticexyz/store-sync) + +Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. + +To enable this, replace `publicClient: Client` with `internal_clientOptions: { chain: Chain, validateBlockRange: true }` when calling any sync method (e.g. `syncToStash`). For ``, only a `internal_validateBlockRange` prop is needed. + +```diff +-syncToStash({ publicClient, ... }); ++syncToStash({ internal_clientOptions: { chain, validateBlockRange: true }, ... }); +``` + +```diff +- ++ +``` + +Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. + +**[docs: changeset for #3538 (#3539)](https://github.com/latticexyz/mud/commit/589fd3ae0e2dde80d259e64ac0d4f7f17a43afdc)** (@latticexyz/common) + +Improved approach for checking for nonce errors. + +**[feat(create-mud): new react-ecs template (#3485)](https://github.com/latticexyz/mud/commit/09846f2926132e17477b4d0d1e64b795fbd4485f)** (create-mud) + +Updated React ECS template with EntryKit for wallet support and a cleaned up app structure. + +**[feat(create-mud): rip out create-create-app (#3479)](https://github.com/latticexyz/mud/commit/e45e3751c0ea10c7b1f0088d674121419b0d0acb)** (create-mud) + +Replaced internal usage of `create-create-app` with a simpler recursive copy operation. + +**[feat(world): strip world prefix from function names when encoding system calls (#3527)](https://github.com/latticexyz/mud/commit/7c3df691b30f031202ab184345cbb76bb113c2cd)** (@latticexyz/world) + +Using `encodeSystemCall` (and others) with a world ABI and namespace-prefixed function name will now attempt to strip the prefix when encoding it as a system call. + +It's recommended to use a system ABI with these functions rather than a world ABI. + +```ts +import systemAbi from "contracts/out/ISomeSystem.sol/ISomeSystem.sol.abi.json"; +encodeSystemCall({ abi: systemAbi, ... }); +``` + +**[feat(entrykit): deploy prereqs to any chain (#3529)](https://github.com/latticexyz/mud/commit/73859484bb53c1a4066de028a3ad7d3a4284e4da)** (@latticexyz/entrykit) + +Renamed `deploy-local-prereqs` bin to `entrykit-deploy`, which now accepts an RPC URL so that you can deploy the EntryKit prerequisites to your chain of choice. + +``` +RPC_URL=http://rpc.garnetchain.com pnpm entrykit-deploy +``` + +This bin supports specifying the RPC URL via `RPC_URL`, `RPC_HTTP_URL`, `FOUNDRY_ETH_RPC_URL` environment variables or `FOUNDRY_PROFILE` if using `eth_rpc_url` in `foundry.toml`. + +**[feat(store-indexer): add flag to validate block ranges (#3531)](https://github.com/latticexyz/mud/commit/40aaf970a122151852d3d3f02383f44bffed85b9)** (@latticexyz/block-logs-stream) + +Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. + +To enable this, replace `publicClient: Client` with `internal_clientOptions: { chain: Chain, validateBlockRange: true }` when calling `fetchLogs` or `fetchBlockLogs`. + +```diff +-fetchLogs({ publicClient, ... }); ++fetchLogs({ internal_clientOptions: { chain, validateBlockRange: true }, ... }); +``` + +Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. + +**[feat(store-sync): recs sync adapter (#3486)](https://github.com/latticexyz/mud/commit/227db4d37db5dd26607f77e805d91701ba2e38db)** (@latticexyz/store-sync) + +Added an RECS sync adapter to be used with `SyncProvider` in React apps. + +```tsx +import { WagmiProvider } from "wagmi"; +import { QueryClientProvider } from "@tanstack/react-query"; +import { SyncProvider } from "@latticexyz/store-sync/react"; +import { createSyncAdapter } from "@latticexyz/store-sync/recs"; +import { createWorld } from "@latticexyz/recs"; +import config from "./mud.config"; + +const world = createWorld(); +const { syncAdapter, components } = createSyncAdapter({ world, config }); + +export function App() { + return ( + + + + {children} + + + + ); +} +``` + +**[fix(explorer): create a separate flag and port for the indexer created by the explorer (#3511)](https://github.com/latticexyz/mud/commit/3d5b7b75c5c68f4c7499ecd2fcf6e3b2b40c6ad5)** (@latticexyz/explorer) + +Add a separate flag and port for the indexer created by the Explorer. + +**[feat(entrykit): deploy prereqs to any chain (#3529)](https://github.com/latticexyz/mud/commit/73859484bb53c1a4066de028a3ad7d3a4284e4da)** (@latticexyz/cli) + +Added an empty line to the end of `.json` output files for consistency. +Removed some unnecessary defaults to allow them to pass through via environment variables. + +**[feat(explorer): enable re-executing query (#3471)](https://github.com/latticexyz/mud/commit/32649080323d2a27cdf4a189917a70b958d062da)** (@latticexyz/explorer) + +Previously, queries could only be executed if they had changed, as data fetching was tied to query updates. Now, it’s possible to trigger a new table data fetch explicitly, regardless of whether the query has changed. + +**[fix(protocol-parser): add padding for encodedLengths (#3507)](https://github.com/latticexyz/mud/commit/dead80e682bfa1bd23f4d3b9bac338aee38c281e)** (@latticexyz/protocol-parser) + +Added padding to make sure the `encodedLengths` field of a Store log is always 32 bytes. + +**[feat(world): support batchCall in callFrom action (#2796)](https://github.com/latticexyz/mud/commit/56e65f64186741cf38a7dc0bf62e2d22bbe8fed2)** (@latticexyz/world) + +Updated `callFrom` action to automatically translate `batchCall` to `batchCallFrom`. +Also fixed `encodeSystemCallFrom` and `encodeSystemCallsFrom` to return the right format for use with `batchCall` and `batchCallFrom` respectively. + +**[fix(cli): use system label when verifying (#3503)](https://github.com/latticexyz/mud/commit/5aa8a3ad00aa591f9c3a60526b045257dc8a0bb5)** (@latticexyz/cli) + +Fixed an issue with `mud verify` where system contract artifacts were being resolved incorrectly. + +**[feat: move CallWithSignature module to its own package (#3491)](https://github.com/latticexyz/mud/commit/ffefc8f000769d5ca625dd19290007a853a21788)** (@latticexyz/cli, @latticexyz/entrykit, @latticexyz/world-module-callwithsignature, @latticexyz/world-modules) + +`CallWithSignature` module has been moved out of `@latticexyz/world-modules` and into its own package at `@latticexyz/world-module-callwithsignature`. This module is now installed by default during deploy as its needed by EntryKit. + +If you previously had this module installed in your MUD config, you can now remove it. + +```diff + export default defineConfig({ + tables: { + ... + }, +- modules: [ +- { +- artifactPath: +- "@latticexyz/world-modules/out/Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.json", +- root: true, +- }, +- ], + }); +``` + +**[fix(explorer): return empty array for empty results (sqlite indexer) (#3469)](https://github.com/latticexyz/mud/commit/0812178a8a873aa728358040d1d494385f78566f)** (@latticexyz/explorer) + +The Explorer now returns an empty array for empty results, instead of throwing an error, when using the local indexer. + +**[fix(explorer): show loader only on initial table data load (#3517)](https://github.com/latticexyz/mud/commit/0ea31c36119277e7f6cad3c71ef2b012856ead41)** (@latticexyz/explorer) + +The loader in the Explore table now appears only during the initial data load. Additionally, a loading spinner has been added to the query submit button for non-live queries to indicate when a query is being refetched. + +**[feat(entrykit): deploy prereqs to any chain (#3529)](https://github.com/latticexyz/mud/commit/73859484bb53c1a4066de028a3ad7d3a4284e4da)** (@latticexyz/common) + +Updated Rhodolite chain config with new contract addresses. + +**[fix(cli): checksum deployed world addresses (#3465)](https://github.com/latticexyz/mud/commit/090c9224b80ab949997e0463f9ec0df953c731b5)** (@latticexyz/cli) + +The world address stored in `worlds.json` and `deploys/latest.json` is now checksummed. + +**[chore(cli): print mud version in deploy (#3476)](https://github.com/latticexyz/mud/commit/f52b1476f04ce0be68691e3b021a81e0fb9cce99)** (@latticexyz/cli) + +Deploy now prints the current MUD CLI version for easier debugging. + +--- + ## Version 2.2.16 Release date: Fri Jan 17 2025 diff --git a/docs/data/changelog.json b/docs/data/changelog.json index 26e3acb5af..4cdb6e82ab 100644 --- a/docs/data/changelog.json +++ b/docs/data/changelog.json @@ -1,4 +1,408 @@ [ + { + "version": "2.2.17", + "date": "2025-01-30T10:57:44.407Z", + "changes": { + "patch": [ + { + "packages": [ + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\nFixed an issue in system resolving helper used by CLI was not correctly comparing `namespaceLabel`s.", + "type": 0, + "commitHash": "94d82cfafbdbee448884643681b0b8db53eedfda", + "authorName": "Dhvani Patel", + "authorEmail": "dhvani.patel@uwaterloo.ca", + "title": "fix(world): namespaceLabel should be compared to namespaceLabel not namespace (#3515)" + }, + { + "packages": [ + { + "package": "@latticexyz/entrykit", + "type": "patch" + } + ], + "description": "\nBumped react-error-boundary dependency.", + "type": 0, + "commitHash": "d5f4e1e44bbc260ff21dacdfab0e0f8389e9f304", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(create-mud): new react template with stash/entrykit (#3478)" + }, + { + "packages": [ + { + "package": "@latticexyz/store-indexer", + "type": "patch" + } + ], + "description": "\nAdded an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs.\n\nTo enable this, use `INTERNAL__VALIDATE_BLOCK_RANGE=true` environment variable when starting up any of the indexers. This requires `RPC_HTTP_URL` to also be set.\n\nNote that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls.", + "type": 0, + "commitHash": "40aaf970a122151852d3d3f02383f44bffed85b9", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(store-indexer): add flag to validate block ranges (#3531)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nThe context for the searched namespace and selected table is now preserved when reopening the table search and selection menu.", + "type": 0, + "commitHash": "dab0d08d3c8f18adcab7bcd4a6a7eafc941ac4e6", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "feat(explorer): save searched namespace (#3470)" + }, + { + "packages": [ + { + "package": "@latticexyz/store-sync", + "type": "patch" + } + ], + "description": "\nUpdated `waitForTransaction` to handle receipt status for user operations.", + "type": 0, + "commitHash": "5a9e238e660bfa670cef673b2e34bbde7f860720", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "fix(store-sync): handle user ops in waitForTransaction (#3518)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + } + ], + "description": "\nThe `verify` command should now be able to correctly verify systems using public libraries.", + "type": 0, + "commitHash": "452d3e53db2768f2e296ea7560c9bdd6560cd797", + "authorName": "Jackson Ernst - jaxer.eth", + "authorEmail": "51183683+jaxernst@users.noreply.github.com", + "title": "fix(cli): support verifying systems with linked libraries (#3514)" + }, + { + "packages": [ + { + "package": "create-mud", + "type": "patch" + } + ], + "description": "\nUpdated React template with Stash client state library, EntryKit for wallet support, and a cleaned up app structure.", + "type": 0, + "commitHash": "d5f4e1e44bbc260ff21dacdfab0e0f8389e9f304", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(create-mud): new react template with stash/entrykit (#3478)" + }, + { + "packages": [ + { + "package": "@latticexyz/block-logs-stream", + "type": "patch" + }, + { + "package": "@latticexyz/store-sync", + "type": "patch" + } + ], + "description": "\nAdded an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs.\n\nTo enable this, replace `publicClient: Client` with `internal_clientOptions: { chain: Chain, validateBlockRange: true }` when calling any sync method (e.g. `syncToStash`). For ``, only a `internal_validateBlockRange` prop is needed.\n\n```diff\n-syncToStash({ publicClient, ... });\n+syncToStash({ internal_clientOptions: { chain, validateBlockRange: true }, ... });\n```\n\n```diff\n-\n+\n```\n\nNote that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls.", + "type": 0, + "commitHash": "40aaf970a122151852d3d3f02383f44bffed85b9", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(store-indexer): add flag to validate block ranges (#3531)" + }, + { + "packages": [ + { + "package": "@latticexyz/common", + "type": "patch" + } + ], + "description": "\nImproved approach for checking for nonce errors.", + "type": 0, + "commitHash": "589fd3ae0e2dde80d259e64ac0d4f7f17a43afdc", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "docs: changeset for #3538 (#3539)" + }, + { + "packages": [ + { + "package": "create-mud", + "type": "patch" + } + ], + "description": "\nUpdated React ECS template with EntryKit for wallet support and a cleaned up app structure.", + "type": 0, + "commitHash": "09846f2926132e17477b4d0d1e64b795fbd4485f", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(create-mud): new react-ecs template (#3485)" + }, + { + "packages": [ + { + "package": "create-mud", + "type": "patch" + } + ], + "description": "\nReplaced internal usage of `create-create-app` with a simpler recursive copy operation.", + "type": 0, + "commitHash": "e45e3751c0ea10c7b1f0088d674121419b0d0acb", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(create-mud): rip out create-create-app (#3479)" + }, + { + "packages": [ + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\nUsing `encodeSystemCall` (and others) with a world ABI and namespace-prefixed function name will now attempt to strip the prefix when encoding it as a system call.\n\nIt's recommended to use a system ABI with these functions rather than a world ABI.\n\n```ts\nimport systemAbi from \"contracts/out/ISomeSystem.sol/ISomeSystem.sol.abi.json\";\nencodeSystemCall({ abi: systemAbi, ... });\n```", + "type": 0, + "commitHash": "7c3df691b30f031202ab184345cbb76bb113c2cd", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(world): strip world prefix from function names when encoding system calls (#3527)" + }, + { + "packages": [ + { + "package": "@latticexyz/entrykit", + "type": "patch" + } + ], + "description": "\nRenamed `deploy-local-prereqs` bin to `entrykit-deploy`, which now accepts an RPC URL so that you can deploy the EntryKit prerequisites to your chain of choice.\n\n```\nRPC_URL=http://rpc.garnetchain.com pnpm entrykit-deploy\n```\n\nThis bin supports specifying the RPC URL via `RPC_URL`, `RPC_HTTP_URL`, `FOUNDRY_ETH_RPC_URL` environment variables or `FOUNDRY_PROFILE` if using `eth_rpc_url` in `foundry.toml`.", + "type": 0, + "commitHash": "73859484bb53c1a4066de028a3ad7d3a4284e4da", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(entrykit): deploy prereqs to any chain (#3529)" + }, + { + "packages": [ + { + "package": "@latticexyz/block-logs-stream", + "type": "patch" + } + ], + "description": "\nAdded an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs.\n\nTo enable this, replace `publicClient: Client` with `internal_clientOptions: { chain: Chain, validateBlockRange: true }` when calling `fetchLogs` or `fetchBlockLogs`.\n\n```diff\n-fetchLogs({ publicClient, ... });\n+fetchLogs({ internal_clientOptions: { chain, validateBlockRange: true }, ... });\n```\n\nNote that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls.", + "type": 0, + "commitHash": "40aaf970a122151852d3d3f02383f44bffed85b9", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(store-indexer): add flag to validate block ranges (#3531)" + }, + { + "packages": [ + { + "package": "@latticexyz/store-sync", + "type": "patch" + } + ], + "description": "\nAdded an RECS sync adapter to be used with `SyncProvider` in React apps.\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/recs\";\nimport { createWorld } from \"@latticexyz/recs\";\nimport config from \"./mud.config\";\n\nconst world = createWorld();\nconst { syncAdapter, components } = createSyncAdapter({ world, config });\n\nexport function App() {\n return (\n \n \n \n {children}\n \n \n \n );\n}\n```", + "type": 0, + "commitHash": "227db4d37db5dd26607f77e805d91701ba2e38db", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(store-sync): recs sync adapter (#3486)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nAdd a separate flag and port for the indexer created by the Explorer.", + "type": 0, + "commitHash": "3d5b7b75c5c68f4c7499ecd2fcf6e3b2b40c6ad5", + "authorName": "Dhvani Patel", + "authorEmail": "dhvani.patel@uwaterloo.ca", + "title": "fix(explorer): create a separate flag and port for the indexer created by the explorer (#3511)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + } + ], + "description": "\nAdded an empty line to the end of `.json` output files for consistency.\nRemoved some unnecessary defaults to allow them to pass through via environment variables.", + "type": 0, + "commitHash": "73859484bb53c1a4066de028a3ad7d3a4284e4da", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(entrykit): deploy prereqs to any chain (#3529)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nPreviously, queries could only be executed if they had changed, as data fetching was tied to query updates. Now, it’s possible to trigger a new table data fetch explicitly, regardless of whether the query has changed.", + "type": 0, + "commitHash": "32649080323d2a27cdf4a189917a70b958d062da", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "feat(explorer): enable re-executing query (#3471)" + }, + { + "packages": [ + { + "package": "@latticexyz/protocol-parser", + "type": "patch" + } + ], + "description": "\nAdded padding to make sure the `encodedLengths` field of a Store log is always 32 bytes.", + "type": 0, + "commitHash": "dead80e682bfa1bd23f4d3b9bac338aee38c281e", + "authorName": "alvarius", + "authorEmail": "alvarius@lattice.xyz", + "title": "fix(protocol-parser): add padding for encodedLengths (#3507)" + }, + { + "packages": [ + { + "package": "@latticexyz/world", + "type": "patch" + } + ], + "description": "\nUpdated `callFrom` action to automatically translate `batchCall` to `batchCallFrom`.\nAlso fixed `encodeSystemCallFrom` and `encodeSystemCallsFrom` to return the right format for use with `batchCall` and `batchCallFrom` respectively.", + "type": 0, + "commitHash": "56e65f64186741cf38a7dc0bf62e2d22bbe8fed2", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(world): support batchCall in callFrom action (#2796)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + } + ], + "description": "\nFixed an issue with `mud verify` where system contract artifacts were being resolved incorrectly.", + "type": 0, + "commitHash": "5aa8a3ad00aa591f9c3a60526b045257dc8a0bb5", + "authorName": "Jackson Ernst - jaxer.eth", + "authorEmail": "51183683+jaxernst@users.noreply.github.com", + "title": "fix(cli): use system label when verifying (#3503)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + }, + { + "package": "@latticexyz/entrykit", + "type": "patch" + }, + { + "package": "@latticexyz/world-module-callwithsignature", + "type": "patch" + }, + { + "package": "@latticexyz/world-modules", + "type": "patch" + } + ], + "description": "\n`CallWithSignature` module has been moved out of `@latticexyz/world-modules` and into its own package at `@latticexyz/world-module-callwithsignature`. This module is now installed by default during deploy as its needed by EntryKit.\n\nIf you previously had this module installed in your MUD config, you can now remove it.\n\n```diff\n export default defineConfig({\n tables: {\n ...\n },\n- modules: [\n- {\n- artifactPath:\n- \"@latticexyz/world-modules/out/Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.json\",\n- root: true,\n- },\n- ],\n });\n```", + "type": 0, + "commitHash": "ffefc8f000769d5ca625dd19290007a853a21788", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat: move CallWithSignature module to its own package (#3491)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nThe Explorer now returns an empty array for empty results, instead of throwing an error, when using the local indexer.", + "type": 0, + "commitHash": "0812178a8a873aa728358040d1d494385f78566f", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "fix(explorer): return empty array for empty results (sqlite indexer) (#3469)" + }, + { + "packages": [ + { + "package": "@latticexyz/explorer", + "type": "patch" + } + ], + "description": "\nThe loader in the Explore table now appears only during the initial data load. Additionally, a loading spinner has been added to the query submit button for non-live queries to indicate when a query is being refetched.", + "type": 0, + "commitHash": "0ea31c36119277e7f6cad3c71ef2b012856ead41", + "authorName": "Karolis Ramanauskas", + "authorEmail": "hello@karolisram.com", + "title": "fix(explorer): show loader only on initial table data load (#3517)" + }, + { + "packages": [ + { + "package": "@latticexyz/common", + "type": "patch" + } + ], + "description": "\nUpdated Rhodolite chain config with new contract addresses.", + "type": 0, + "commitHash": "73859484bb53c1a4066de028a3ad7d3a4284e4da", + "authorName": "Kevin Ingersoll", + "authorEmail": "kingersoll@gmail.com", + "title": "feat(entrykit): deploy prereqs to any chain (#3529)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + } + ], + "description": "\nThe world address stored in `worlds.json` and `deploys/latest.json` is now checksummed.", + "type": 0, + "commitHash": "090c9224b80ab949997e0463f9ec0df953c731b5", + "authorName": "James Lefrère", + "authorEmail": "james@lefrere.com", + "title": "fix(cli): checksum deployed world addresses (#3465)" + }, + { + "packages": [ + { + "package": "@latticexyz/cli", + "type": "patch" + } + ], + "description": "\nDeploy now prints the current MUD CLI version for easier debugging.", + "type": 0, + "commitHash": "f52b1476f04ce0be68691e3b021a81e0fb9cce99", + "authorName": "James Lefrère", + "authorEmail": "james@lefrere.com", + "title": "chore(cli): print mud version in deploy (#3476)" + } + ], + "minor": [], + "major": [] + } + }, { "version": "2.2.16", "date": "2025-01-17T16:14:48.470Z", diff --git a/docs/pages/changelog.mdx b/docs/pages/changelog.mdx index 9428da2ee8..88093f7ed7 100644 --- a/docs/pages/changelog.mdx +++ b/docs/pages/changelog.mdx @@ -1,3 +1,202 @@ +## Version 2.2.17 + +Release date: Thu Jan 30 2025 + +### Patch changes + +**[fix(world): namespaceLabel should be compared to namespaceLabel not namespace (#3515)](https://github.com/latticexyz/mud/commit/94d82cfafbdbee448884643681b0b8db53eedfda)** (@latticexyz/world) + +Fixed an issue in system resolving helper used by CLI was not correctly comparing `namespaceLabel`s. + +**[feat(create-mud): new react template with stash/entrykit (#3478)](https://github.com/latticexyz/mud/commit/d5f4e1e44bbc260ff21dacdfab0e0f8389e9f304)** (@latticexyz/entrykit) + +Bumped react-error-boundary dependency. + +**[feat(store-indexer): add flag to validate block ranges (#3531)](https://github.com/latticexyz/mud/commit/40aaf970a122151852d3d3f02383f44bffed85b9)** (@latticexyz/store-indexer) + +Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. + +To enable this, use `INTERNAL__VALIDATE_BLOCK_RANGE=true` environment variable when starting up any of the indexers. This requires `RPC_HTTP_URL` to also be set. + +Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. + +**[feat(explorer): save searched namespace (#3470)](https://github.com/latticexyz/mud/commit/dab0d08d3c8f18adcab7bcd4a6a7eafc941ac4e6)** (@latticexyz/explorer) + +The context for the searched namespace and selected table is now preserved when reopening the table search and selection menu. + +**[fix(store-sync): handle user ops in waitForTransaction (#3518)](https://github.com/latticexyz/mud/commit/5a9e238e660bfa670cef673b2e34bbde7f860720)** (@latticexyz/store-sync) + +Updated `waitForTransaction` to handle receipt status for user operations. + +**[fix(cli): support verifying systems with linked libraries (#3514)](https://github.com/latticexyz/mud/commit/452d3e53db2768f2e296ea7560c9bdd6560cd797)** (@latticexyz/cli) + +The `verify` command should now be able to correctly verify systems using public libraries. + +**[feat(create-mud): new react template with stash/entrykit (#3478)](https://github.com/latticexyz/mud/commit/d5f4e1e44bbc260ff21dacdfab0e0f8389e9f304)** (create-mud) + +Updated React template with Stash client state library, EntryKit for wallet support, and a cleaned up app structure. + +**[feat(store-indexer): add flag to validate block ranges (#3531)](https://github.com/latticexyz/mud/commit/40aaf970a122151852d3d3f02383f44bffed85b9)** (@latticexyz/block-logs-stream, @latticexyz/store-sync) + +Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. + +To enable this, replace `publicClient: Client` with `internal_clientOptions: { chain: Chain, validateBlockRange: true }` when calling any sync method (e.g. `syncToStash`). For ``, only a `internal_validateBlockRange` prop is needed. + +```diff +-syncToStash({ publicClient, ... }); ++syncToStash({ internal_clientOptions: { chain, validateBlockRange: true }, ... }); +``` + +```diff +- ++ +``` + +Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. + +**[docs: changeset for #3538 (#3539)](https://github.com/latticexyz/mud/commit/589fd3ae0e2dde80d259e64ac0d4f7f17a43afdc)** (@latticexyz/common) + +Improved approach for checking for nonce errors. + +**[feat(create-mud): new react-ecs template (#3485)](https://github.com/latticexyz/mud/commit/09846f2926132e17477b4d0d1e64b795fbd4485f)** (create-mud) + +Updated React ECS template with EntryKit for wallet support and a cleaned up app structure. + +**[feat(create-mud): rip out create-create-app (#3479)](https://github.com/latticexyz/mud/commit/e45e3751c0ea10c7b1f0088d674121419b0d0acb)** (create-mud) + +Replaced internal usage of `create-create-app` with a simpler recursive copy operation. + +**[feat(world): strip world prefix from function names when encoding system calls (#3527)](https://github.com/latticexyz/mud/commit/7c3df691b30f031202ab184345cbb76bb113c2cd)** (@latticexyz/world) + +Using `encodeSystemCall` (and others) with a world ABI and namespace-prefixed function name will now attempt to strip the prefix when encoding it as a system call. + +It's recommended to use a system ABI with these functions rather than a world ABI. + +```ts +import systemAbi from "contracts/out/ISomeSystem.sol/ISomeSystem.sol.abi.json"; +encodeSystemCall({ abi: systemAbi, ... }); +``` + +**[feat(entrykit): deploy prereqs to any chain (#3529)](https://github.com/latticexyz/mud/commit/73859484bb53c1a4066de028a3ad7d3a4284e4da)** (@latticexyz/entrykit) + +Renamed `deploy-local-prereqs` bin to `entrykit-deploy`, which now accepts an RPC URL so that you can deploy the EntryKit prerequisites to your chain of choice. + +``` +RPC_URL=http://rpc.garnetchain.com pnpm entrykit-deploy +``` + +This bin supports specifying the RPC URL via `RPC_URL`, `RPC_HTTP_URL`, `FOUNDRY_ETH_RPC_URL` environment variables or `FOUNDRY_PROFILE` if using `eth_rpc_url` in `foundry.toml`. + +**[feat(store-indexer): add flag to validate block ranges (#3531)](https://github.com/latticexyz/mud/commit/40aaf970a122151852d3d3f02383f44bffed85b9)** (@latticexyz/block-logs-stream) + +Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. + +To enable this, replace `publicClient: Client` with `internal_clientOptions: { chain: Chain, validateBlockRange: true }` when calling `fetchLogs` or `fetchBlockLogs`. + +```diff +-fetchLogs({ publicClient, ... }); ++fetchLogs({ internal_clientOptions: { chain, validateBlockRange: true }, ... }); +``` + +Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. + +**[feat(store-sync): recs sync adapter (#3486)](https://github.com/latticexyz/mud/commit/227db4d37db5dd26607f77e805d91701ba2e38db)** (@latticexyz/store-sync) + +Added an RECS sync adapter to be used with `SyncProvider` in React apps. + +```tsx +import { WagmiProvider } from "wagmi"; +import { QueryClientProvider } from "@tanstack/react-query"; +import { SyncProvider } from "@latticexyz/store-sync/react"; +import { createSyncAdapter } from "@latticexyz/store-sync/recs"; +import { createWorld } from "@latticexyz/recs"; +import config from "./mud.config"; + +const world = createWorld(); +const { syncAdapter, components } = createSyncAdapter({ world, config }); + +export function App() { + return ( + + + + {children} + + + + ); +} +``` + +**[fix(explorer): create a separate flag and port for the indexer created by the explorer (#3511)](https://github.com/latticexyz/mud/commit/3d5b7b75c5c68f4c7499ecd2fcf6e3b2b40c6ad5)** (@latticexyz/explorer) + +Add a separate flag and port for the indexer created by the Explorer. + +**[feat(entrykit): deploy prereqs to any chain (#3529)](https://github.com/latticexyz/mud/commit/73859484bb53c1a4066de028a3ad7d3a4284e4da)** (@latticexyz/cli) + +Added an empty line to the end of `.json` output files for consistency. +Removed some unnecessary defaults to allow them to pass through via environment variables. + +**[feat(explorer): enable re-executing query (#3471)](https://github.com/latticexyz/mud/commit/32649080323d2a27cdf4a189917a70b958d062da)** (@latticexyz/explorer) + +Previously, queries could only be executed if they had changed, as data fetching was tied to query updates. Now, it’s possible to trigger a new table data fetch explicitly, regardless of whether the query has changed. + +**[fix(protocol-parser): add padding for encodedLengths (#3507)](https://github.com/latticexyz/mud/commit/dead80e682bfa1bd23f4d3b9bac338aee38c281e)** (@latticexyz/protocol-parser) + +Added padding to make sure the `encodedLengths` field of a Store log is always 32 bytes. + +**[feat(world): support batchCall in callFrom action (#2796)](https://github.com/latticexyz/mud/commit/56e65f64186741cf38a7dc0bf62e2d22bbe8fed2)** (@latticexyz/world) + +Updated `callFrom` action to automatically translate `batchCall` to `batchCallFrom`. +Also fixed `encodeSystemCallFrom` and `encodeSystemCallsFrom` to return the right format for use with `batchCall` and `batchCallFrom` respectively. + +**[fix(cli): use system label when verifying (#3503)](https://github.com/latticexyz/mud/commit/5aa8a3ad00aa591f9c3a60526b045257dc8a0bb5)** (@latticexyz/cli) + +Fixed an issue with `mud verify` where system contract artifacts were being resolved incorrectly. + +**[feat: move CallWithSignature module to its own package (#3491)](https://github.com/latticexyz/mud/commit/ffefc8f000769d5ca625dd19290007a853a21788)** (@latticexyz/cli, @latticexyz/entrykit, @latticexyz/world-module-callwithsignature, @latticexyz/world-modules) + +`CallWithSignature` module has been moved out of `@latticexyz/world-modules` and into its own package at `@latticexyz/world-module-callwithsignature`. This module is now installed by default during deploy as its needed by EntryKit. + +If you previously had this module installed in your MUD config, you can now remove it. + +```diff + export default defineConfig({ + tables: { + ... + }, +- modules: [ +- { +- artifactPath: +- "@latticexyz/world-modules/out/Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.json", +- root: true, +- }, +- ], + }); +``` + +**[fix(explorer): return empty array for empty results (sqlite indexer) (#3469)](https://github.com/latticexyz/mud/commit/0812178a8a873aa728358040d1d494385f78566f)** (@latticexyz/explorer) + +The Explorer now returns an empty array for empty results, instead of throwing an error, when using the local indexer. + +**[fix(explorer): show loader only on initial table data load (#3517)](https://github.com/latticexyz/mud/commit/0ea31c36119277e7f6cad3c71ef2b012856ead41)** (@latticexyz/explorer) + +The loader in the Explore table now appears only during the initial data load. Additionally, a loading spinner has been added to the query submit button for non-live queries to indicate when a query is being refetched. + +**[feat(entrykit): deploy prereqs to any chain (#3529)](https://github.com/latticexyz/mud/commit/73859484bb53c1a4066de028a3ad7d3a4284e4da)** (@latticexyz/common) + +Updated Rhodolite chain config with new contract addresses. + +**[fix(cli): checksum deployed world addresses (#3465)](https://github.com/latticexyz/mud/commit/090c9224b80ab949997e0463f9ec0df953c731b5)** (@latticexyz/cli) + +The world address stored in `worlds.json` and `deploys/latest.json` is now checksummed. + +**[chore(cli): print mud version in deploy (#3476)](https://github.com/latticexyz/mud/commit/f52b1476f04ce0be68691e3b021a81e0fb9cce99)** (@latticexyz/cli) + +Deploy now prints the current MUD CLI version for easier debugging. + +--- + ## Version 2.2.16 Release date: Fri Jan 17 2025 diff --git a/packages/abi-ts/CHANGELOG.md b/packages/abi-ts/CHANGELOG.md index 7e4a7d6984..da74da8114 100644 --- a/packages/abi-ts/CHANGELOG.md +++ b/packages/abi-ts/CHANGELOG.md @@ -1,5 +1,7 @@ # @latticexyz/abi-ts +## 2.2.17 + ## 2.2.16 ## 2.2.15 diff --git a/packages/abi-ts/package.json b/packages/abi-ts/package.json index 0fff1cedc5..172024ff0d 100644 --- a/packages/abi-ts/package.json +++ b/packages/abi-ts/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/abi-ts", - "version": "2.2.16", + "version": "2.2.17", "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 4de4198225..77b0ddaa65 100644 --- a/packages/block-logs-stream/CHANGELOG.md +++ b/packages/block-logs-stream/CHANGELOG.md @@ -1,5 +1,40 @@ # @latticexyz/block-logs-stream +## 2.2.17 + +### Patch Changes + +- 9321a5c: Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. + + To enable this, replace `publicClient: Client` with `internal_clientOptions: { chain: Chain, validateBlockRange: true }` when calling any sync method (e.g. `syncToStash`). For ``, only a `internal_validateBlockRange` prop is needed. + + ```diff + -syncToStash({ publicClient, ... }); + +syncToStash({ internal_clientOptions: { chain, validateBlockRange: true }, ... }); + ``` + + ```diff + - + + + ``` + + Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. + +- 40aaf97: Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. + + To enable this, replace `publicClient: Client` with `internal_clientOptions: { chain: Chain, validateBlockRange: true }` when calling `fetchLogs` or `fetchBlockLogs`. + + ```diff + -fetchLogs({ publicClient, ... }); + +fetchLogs({ internal_clientOptions: { chain, validateBlockRange: true }, ... }); + ``` + + Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. + +- Updated dependencies [589fd3a] +- Updated dependencies [7385948] + - @latticexyz/common@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/block-logs-stream/package.json b/packages/block-logs-stream/package.json index 64d2bbf4b7..e5f27340d6 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.16", + "version": "2.2.17", "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 399ac1a67e..e8cea43f27 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,59 @@ # Change Log +## 2.2.17 + +### Patch Changes + +- 452d3e5: The `verify` command should now be able to correctly verify systems using public libraries. +- 7385948: Added an empty line to the end of `.json` output files for consistency. + Removed some unnecessary defaults to allow them to pass through via environment variables. +- 5aa8a3a: Fixed an issue with `mud verify` where system contract artifacts were being resolved incorrectly. +- ffefc8f: `CallWithSignature` module has been moved out of `@latticexyz/world-modules` and into its own package at `@latticexyz/world-module-callwithsignature`. This module is now installed by default during deploy as its needed by EntryKit. + + If you previously had this module installed in your MUD config, you can now remove it. + + ```diff + export default defineConfig({ + tables: { + ... + }, + - modules: [ + - { + - artifactPath: + - "@latticexyz/world-modules/out/Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.json", + - root: true, + - }, + - ], + }); + ``` + +- 090c922: The world address stored in `worlds.json` and `deploys/latest.json` is now checksummed. +- f52b147: Deploy now prints the current MUD CLI version for easier debugging. +- Updated dependencies [94d82cf] +- Updated dependencies [5a9e238] +- Updated dependencies [9321a5c] +- Updated dependencies [589fd3a] +- Updated dependencies [7c3df69] +- Updated dependencies [40aaf97] +- Updated dependencies [227db4d] +- Updated dependencies [dead80e] +- Updated dependencies [56e65f6] +- Updated dependencies [ffefc8f] +- Updated dependencies [7385948] + - @latticexyz/world@2.2.17 + - @latticexyz/store-sync@2.2.17 + - @latticexyz/block-logs-stream@2.2.17 + - @latticexyz/common@2.2.17 + - @latticexyz/protocol-parser@2.2.17 + - @latticexyz/world-module-callwithsignature@2.2.17 + - @latticexyz/world-module-metadata@2.2.17 + - @latticexyz/config@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/abi-ts@2.2.17 + - @latticexyz/gas-report@2.2.17 + - @latticexyz/schema-type@2.2.17 + - @latticexyz/utils@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 7599769b9e..c4a994540c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/cli", - "version": "2.2.16", + "version": "2.2.17", "description": "Command line interface for mud", "repository": { "type": "git", diff --git a/packages/common/CHANGELOG.md b/packages/common/CHANGELOG.md index 721a9f59ce..dc07e42bde 100644 --- a/packages/common/CHANGELOG.md +++ b/packages/common/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 2.2.17 + +### Patch Changes + +- 589fd3a: Improved approach for checking for nonce errors. +- 7385948: Updated Rhodolite chain config with new contract addresses. + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/common/package.json b/packages/common/package.json index fbedbc31c7..25918fed66 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/common", - "version": "2.2.16", + "version": "2.2.17", "description": "Common low level logic shared between packages", "repository": { "type": "git", diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index aa14d60871..e1dd964f3a 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 2.2.17 + +### Patch Changes + +- Updated dependencies [589fd3a] +- Updated dependencies [7385948] + - @latticexyz/common@2.2.17 + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/config/package.json b/packages/config/package.json index 94ff778d5b..05aa45c9b7 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/config", - "version": "2.2.16", + "version": "2.2.17", "description": "Config for Store and World", "repository": { "type": "git", diff --git a/packages/create-mud/CHANGELOG.md b/packages/create-mud/CHANGELOG.md index d66ce77caf..14344d428a 100644 --- a/packages/create-mud/CHANGELOG.md +++ b/packages/create-mud/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 2.2.17 + +### Patch Changes + +- d5f4e1e: Updated React template with Stash client state library, EntryKit for wallet support, and a cleaned up app structure. +- 09846f2: Updated React ECS template with EntryKit for wallet support and a cleaned up app structure. +- e45e375: Replaced internal usage of `create-create-app` with a simpler recursive copy operation. + ## 2.2.16 ## 2.2.15 diff --git a/packages/create-mud/package.json b/packages/create-mud/package.json index 66e7309f34..e8bfc7af8e 100644 --- a/packages/create-mud/package.json +++ b/packages/create-mud/package.json @@ -1,6 +1,6 @@ { "name": "create-mud", - "version": "2.2.16", + "version": "2.2.17", "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 e3a68a91bb..a145ef0df1 100644 --- a/packages/dev-tools/CHANGELOG.md +++ b/packages/dev-tools/CHANGELOG.md @@ -1,5 +1,26 @@ # @latticexyz/dev-tools +## 2.2.17 + +### Patch Changes + +- Updated dependencies [94d82cf] +- Updated dependencies [5a9e238] +- Updated dependencies [9321a5c] +- Updated dependencies [589fd3a] +- Updated dependencies [7c3df69] +- Updated dependencies [227db4d] +- Updated dependencies [56e65f6] +- Updated dependencies [7385948] + - @latticexyz/world@2.2.17 + - @latticexyz/store-sync@2.2.17 + - @latticexyz/common@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/react@2.2.17 + - @latticexyz/recs@2.2.17 + - @latticexyz/schema-type@2.2.17 + - @latticexyz/utils@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/dev-tools/package.json b/packages/dev-tools/package.json index d75a1b0f91..9832212a6a 100644 --- a/packages/dev-tools/package.json +++ b/packages/dev-tools/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/dev-tools", - "version": "2.2.16", + "version": "2.2.17", "description": "MUD developer tools", "repository": { "type": "git", diff --git a/packages/entrykit/CHANGELOG.md b/packages/entrykit/CHANGELOG.md index f9d10473b4..7cf2c9a7e6 100644 --- a/packages/entrykit/CHANGELOG.md +++ b/packages/entrykit/CHANGELOG.md @@ -1,5 +1,52 @@ # @latticexyz/entrykit +## 2.2.17 + +### Patch Changes + +- d5f4e1e: Bumped react-error-boundary dependency. +- 7385948: Renamed `deploy-local-prereqs` bin to `entrykit-deploy`, which now accepts an RPC URL so that you can deploy the EntryKit prerequisites to your chain of choice. + + ``` + RPC_URL=http://rpc.garnetchain.com pnpm entrykit-deploy + ``` + + This bin supports specifying the RPC URL via `RPC_URL`, `RPC_HTTP_URL`, `FOUNDRY_ETH_RPC_URL` environment variables or `FOUNDRY_PROFILE` if using `eth_rpc_url` in `foundry.toml`. + +- ffefc8f: `CallWithSignature` module has been moved out of `@latticexyz/world-modules` and into its own package at `@latticexyz/world-module-callwithsignature`. This module is now installed by default during deploy as its needed by EntryKit. + + If you previously had this module installed in your MUD config, you can now remove it. + + ```diff + export default defineConfig({ + tables: { + ... + }, + - modules: [ + - { + - artifactPath: + - "@latticexyz/world-modules/out/Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.json", + - root: true, + - }, + - ], + }); + ``` + +- Updated dependencies [94d82cf] +- Updated dependencies [589fd3a] +- Updated dependencies [7c3df69] +- Updated dependencies [dead80e] +- Updated dependencies [56e65f6] +- Updated dependencies [ffefc8f] +- Updated dependencies [7385948] + - @latticexyz/world@2.2.17 + - @latticexyz/common@2.2.17 + - @latticexyz/protocol-parser@2.2.17 + - @latticexyz/world-module-callwithsignature@2.2.17 + - @latticexyz/config@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/paymaster@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/entrykit/package.json b/packages/entrykit/package.json index f134757357..ad06282618 100644 --- a/packages/entrykit/package.json +++ b/packages/entrykit/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/entrykit", - "version": "2.2.16", + "version": "2.2.17", "description": "User onboarding flows for MUD apps", "repository": { "type": "git", diff --git a/packages/explorer/CHANGELOG.md b/packages/explorer/CHANGELOG.md index 95fc150352..7b1f7d5676 100644 --- a/packages/explorer/CHANGELOG.md +++ b/packages/explorer/CHANGELOG.md @@ -1,5 +1,35 @@ # @latticexyz/explorer +## 2.2.17 + +### Patch Changes + +- dab0d08: The context for the searched namespace and selected table is now preserved when reopening the table search and selection menu. +- 3d5b7b7: Add a separate flag and port for the indexer created by the Explorer. +- 3264908: Previously, queries could only be executed if they had changed, as data fetching was tied to query updates. Now, it’s possible to trigger a new table data fetch explicitly, regardless of whether the query has changed. +- 0812178: The Explorer now returns an empty array for empty results, instead of throwing an error, when using the local indexer. +- 0ea31c3: The loader in the Explore table now appears only during the initial data load. Additionally, a loading spinner has been added to the query submit button for non-live queries to indicate when a query is being refetched. +- Updated dependencies [94d82cf] +- Updated dependencies [40aaf97] +- Updated dependencies [5a9e238] +- Updated dependencies [9321a5c] +- Updated dependencies [589fd3a] +- Updated dependencies [7c3df69] +- Updated dependencies [40aaf97] +- Updated dependencies [227db4d] +- Updated dependencies [dead80e] +- Updated dependencies [56e65f6] +- Updated dependencies [7385948] + - @latticexyz/world@2.2.17 + - @latticexyz/store-indexer@2.2.17 + - @latticexyz/store-sync@2.2.17 + - @latticexyz/block-logs-stream@2.2.17 + - @latticexyz/common@2.2.17 + - @latticexyz/protocol-parser@2.2.17 + - @latticexyz/config@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/explorer/package.json b/packages/explorer/package.json index 2cccd46039..eae7ee676a 100644 --- a/packages/explorer/package.json +++ b/packages/explorer/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/explorer", - "version": "2.2.16", + "version": "2.2.17", "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 d5e396210c..e32eb2617a 100644 --- a/packages/faucet/CHANGELOG.md +++ b/packages/faucet/CHANGELOG.md @@ -1,5 +1,13 @@ # @latticexyz/faucet +## 2.2.17 + +### Patch Changes + +- Updated dependencies [589fd3a] +- Updated dependencies [7385948] + - @latticexyz/common@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/faucet/package.json b/packages/faucet/package.json index 56ccee1812..2da4ee6374 100644 --- a/packages/faucet/package.json +++ b/packages/faucet/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/faucet", - "version": "2.2.16", + "version": "2.2.17", "description": "Faucet API for Lattice testnet", "repository": { "type": "git", diff --git a/packages/gas-report/CHANGELOG.md b/packages/gas-report/CHANGELOG.md index a0428e6e46..c35de2b5f3 100644 --- a/packages/gas-report/CHANGELOG.md +++ b/packages/gas-report/CHANGELOG.md @@ -1,5 +1,7 @@ # Change Log +## 2.2.17 + ## 2.2.16 ## 2.2.15 diff --git a/packages/gas-report/package.json b/packages/gas-report/package.json index 20860f6d52..790a884f0b 100644 --- a/packages/gas-report/package.json +++ b/packages/gas-report/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/gas-report", - "version": "2.2.16", + "version": "2.2.17", "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 7760fc1adb..c8d355e230 100644 --- a/packages/paymaster/CHANGELOG.md +++ b/packages/paymaster/CHANGELOG.md @@ -1,5 +1,7 @@ # @latticexyz/paymaster +## 2.2.17 + ## 2.2.16 ## 2.2.15 diff --git a/packages/paymaster/package.json b/packages/paymaster/package.json index 94b5848920..7688e9d782 100644 --- a/packages/paymaster/package.json +++ b/packages/paymaster/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/paymaster", - "version": "2.2.16", + "version": "2.2.17", "description": "Paymaster contracts", "repository": { "type": "git", diff --git a/packages/protocol-parser/CHANGELOG.md b/packages/protocol-parser/CHANGELOG.md index 45e9bd7194..6e9881971f 100644 --- a/packages/protocol-parser/CHANGELOG.md +++ b/packages/protocol-parser/CHANGELOG.md @@ -1,5 +1,16 @@ # @latticexyz/protocol-parser +## 2.2.17 + +### Patch Changes + +- dead80e: Added padding to make sure the `encodedLengths` field of a Store log is always 32 bytes. +- Updated dependencies [589fd3a] +- Updated dependencies [7385948] + - @latticexyz/common@2.2.17 + - @latticexyz/config@2.2.17 + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/protocol-parser/package.json b/packages/protocol-parser/package.json index 58fd276015..00dbf9651e 100644 --- a/packages/protocol-parser/package.json +++ b/packages/protocol-parser/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/protocol-parser", - "version": "2.2.16", + "version": "2.2.17", "description": "Parser utilities for the MUD protocol", "repository": { "type": "git", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index cb42d6c9b0..a416b03232 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 2.2.17 + +### Patch Changes + +- @latticexyz/store@2.2.17 +- @latticexyz/recs@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/react/package.json b/packages/react/package.json index 16b72f194a..c3edac6428 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/react", - "version": "2.2.16", + "version": "2.2.17", "description": "React tools for MUD client.", "repository": { "type": "git", diff --git a/packages/recs/CHANGELOG.md b/packages/recs/CHANGELOG.md index efce5802fa..bbbd40ce39 100644 --- a/packages/recs/CHANGELOG.md +++ b/packages/recs/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 2.2.17 + +### Patch Changes + +- @latticexyz/schema-type@2.2.17 +- @latticexyz/utils@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/recs/package.json b/packages/recs/package.json index f0f054d4f6..16388ce45f 100644 --- a/packages/recs/package.json +++ b/packages/recs/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/recs", - "version": "2.2.16", + "version": "2.2.17", "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 37464097a4..5a663a5823 100644 --- a/packages/schema-type/CHANGELOG.md +++ b/packages/schema-type/CHANGELOG.md @@ -1,5 +1,7 @@ # Change Log +## 2.2.17 + ## 2.2.16 ## 2.2.15 diff --git a/packages/schema-type/package.json b/packages/schema-type/package.json index f2bd8b7456..094937c85a 100644 --- a/packages/schema-type/package.json +++ b/packages/schema-type/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/schema-type", - "version": "2.2.16", + "version": "2.2.17", "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 63e46462ed..041e3a8076 100644 --- a/packages/solhint-config-mud/CHANGELOG.md +++ b/packages/solhint-config-mud/CHANGELOG.md @@ -1,5 +1,7 @@ # Change Log +## 2.2.17 + ## 2.2.16 ## 2.2.15 diff --git a/packages/solhint-config-mud/package.json b/packages/solhint-config-mud/package.json index 0260998766..1118e36133 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.16", + "version": "2.2.17", "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 63e46462ed..041e3a8076 100644 --- a/packages/solhint-plugin-mud/CHANGELOG.md +++ b/packages/solhint-plugin-mud/CHANGELOG.md @@ -1,5 +1,7 @@ # Change Log +## 2.2.17 + ## 2.2.16 ## 2.2.15 diff --git a/packages/solhint-plugin-mud/package.json b/packages/solhint-plugin-mud/package.json index a825721d57..f1144a99d7 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.16", + "version": "2.2.17", "repository": { "type": "git", "url": "https://github.com/latticexyz/mud.git", diff --git a/packages/stash/CHANGELOG.md b/packages/stash/CHANGELOG.md index bb44f4efcd..ae9e7eb238 100644 --- a/packages/stash/CHANGELOG.md +++ b/packages/stash/CHANGELOG.md @@ -1,5 +1,18 @@ # @latticexyz/stash +## 2.2.17 + +### Patch Changes + +- Updated dependencies [589fd3a] +- Updated dependencies [dead80e] +- Updated dependencies [7385948] + - @latticexyz/common@2.2.17 + - @latticexyz/protocol-parser@2.2.17 + - @latticexyz/config@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/stash/package.json b/packages/stash/package.json index 83da9b6888..f435aaf2f5 100644 --- a/packages/stash/package.json +++ b/packages/stash/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/stash", - "version": "2.2.16", + "version": "2.2.17", "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 220c177ad1..5e7579a9a3 100644 --- a/packages/store-consumer/CHANGELOG.md +++ b/packages/store-consumer/CHANGELOG.md @@ -1,5 +1,16 @@ # @latticexyz/store-consumer +## 2.2.17 + +### Patch Changes + +- Updated dependencies [94d82cf] +- Updated dependencies [7c3df69] +- Updated dependencies [56e65f6] + - @latticexyz/world@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/store-consumer/package.json b/packages/store-consumer/package.json index 1341ab9daa..8b18e0d353 100644 --- a/packages/store-consumer/package.json +++ b/packages/store-consumer/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/store-consumer", - "version": "2.2.16", + "version": "2.2.17", "description": "Store Consumer Contracts", "repository": { "type": "git", diff --git a/packages/store-indexer/CHANGELOG.md b/packages/store-indexer/CHANGELOG.md index d3a4b8ed6e..5b4bb57428 100644 --- a/packages/store-indexer/CHANGELOG.md +++ b/packages/store-indexer/CHANGELOG.md @@ -1,5 +1,28 @@ # @latticexyz/store-indexer +## 2.2.17 + +### Patch Changes + +- 40aaf97: Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. + + To enable this, use `INTERNAL__VALIDATE_BLOCK_RANGE=true` environment variable when starting up any of the indexers. This requires `RPC_HTTP_URL` to also be set. + + Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. + +- Updated dependencies [5a9e238] +- Updated dependencies [9321a5c] +- Updated dependencies [589fd3a] +- Updated dependencies [40aaf97] +- Updated dependencies [227db4d] +- Updated dependencies [dead80e] +- Updated dependencies [7385948] + - @latticexyz/store-sync@2.2.17 + - @latticexyz/block-logs-stream@2.2.17 + - @latticexyz/common@2.2.17 + - @latticexyz/protocol-parser@2.2.17 + - @latticexyz/store@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/store-indexer/package.json b/packages/store-indexer/package.json index a81c8777e9..a5a22ef3bc 100644 --- a/packages/store-indexer/package.json +++ b/packages/store-indexer/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/store-indexer", - "version": "2.2.16", + "version": "2.2.17", "description": "Minimal Typescript indexer for Store", "repository": { "type": "git", diff --git a/packages/store-sync/CHANGELOG.md b/packages/store-sync/CHANGELOG.md index 881b745b54..c7fa41a814 100644 --- a/packages/store-sync/CHANGELOG.md +++ b/packages/store-sync/CHANGELOG.md @@ -1,5 +1,70 @@ # @latticexyz/store-sync +## 2.2.17 + +### Patch Changes + +- 5a9e238: Updated `waitForTransaction` to handle receipt status for user operations. +- 9321a5c: Added an experimental option to help sync from load balanced RPCs, where nodes may be slightly out of sync, causing data inconsistencies while fetching logs. + + To enable this, replace `publicClient: Client` with `internal_clientOptions: { chain: Chain, validateBlockRange: true }` when calling any sync method (e.g. `syncToStash`). For ``, only a `internal_validateBlockRange` prop is needed. + + ```diff + -syncToStash({ publicClient, ... }); + +syncToStash({ internal_clientOptions: { chain, validateBlockRange: true }, ... }); + ``` + + ```diff + - + + + ``` + + Note that using this option makes an additional call to `eth_getBlockByNumber` for each `eth_getLogs` call and expects the RPC to support batched calls. + +- 227db4d: Added an RECS sync adapter to be used with `SyncProvider` in React apps. + + ```tsx + import { WagmiProvider } from "wagmi"; + import { QueryClientProvider } from "@tanstack/react-query"; + import { SyncProvider } from "@latticexyz/store-sync/react"; + import { createSyncAdapter } from "@latticexyz/store-sync/recs"; + import { createWorld } from "@latticexyz/recs"; + import config from "./mud.config"; + + const world = createWorld(); + const { syncAdapter, components } = createSyncAdapter({ world, config }); + + export function App() { + return ( + + + + {children} + + + + ); + } + ``` + +- Updated dependencies [94d82cf] +- Updated dependencies [9321a5c] +- Updated dependencies [589fd3a] +- Updated dependencies [7c3df69] +- Updated dependencies [40aaf97] +- Updated dependencies [dead80e] +- Updated dependencies [56e65f6] +- Updated dependencies [7385948] + - @latticexyz/world@2.2.17 + - @latticexyz/block-logs-stream@2.2.17 + - @latticexyz/common@2.2.17 + - @latticexyz/protocol-parser@2.2.17 + - @latticexyz/config@2.2.17 + - @latticexyz/stash@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/recs@2.2.17 + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/store-sync/package.json b/packages/store-sync/package.json index a0649e4791..f1be37bbd3 100644 --- a/packages/store-sync/package.json +++ b/packages/store-sync/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/store-sync", - "version": "2.2.16", + "version": "2.2.17", "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 8d9eb3b4b9..3a378e0ed2 100644 --- a/packages/store/CHANGELOG.md +++ b/packages/store/CHANGELOG.md @@ -1,5 +1,17 @@ # Change Log +## 2.2.17 + +### Patch Changes + +- Updated dependencies [589fd3a] +- Updated dependencies [dead80e] +- Updated dependencies [7385948] + - @latticexyz/common@2.2.17 + - @latticexyz/protocol-parser@2.2.17 + - @latticexyz/config@2.2.17 + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/store/package.json b/packages/store/package.json index d6bad80fb9..0a4b8106f4 100644 --- a/packages/store/package.json +++ b/packages/store/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/store", - "version": "2.2.16", + "version": "2.2.17", "description": "Store", "repository": { "type": "git", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 11f63005e6..00143e8e22 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -1,5 +1,7 @@ # Change Log +## 2.2.17 + ## 2.2.16 ## 2.2.15 diff --git a/packages/utils/package.json b/packages/utils/package.json index 525370cc1b..747fce6888 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/utils", - "version": "2.2.16", + "version": "2.2.17", "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 index c83d325ee5..34ed3a3d8e 100644 --- a/packages/vite-plugin-mud/CHANGELOG.md +++ b/packages/vite-plugin-mud/CHANGELOG.md @@ -1,5 +1,7 @@ # vite-plugin-mud +## 2.2.17 + ## 2.2.16 ## 2.2.15 diff --git a/packages/vite-plugin-mud/package.json b/packages/vite-plugin-mud/package.json index a5e3c48557..0ee0d51549 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.16", + "version": "2.2.17", "repository": { "type": "git", "url": "https://github.com/latticexyz/mud.git", diff --git a/packages/world-module-callwithsignature/CHANGELOG.md b/packages/world-module-callwithsignature/CHANGELOG.md new file mode 100644 index 0000000000..bbf9d72bce --- /dev/null +++ b/packages/world-module-callwithsignature/CHANGELOG.md @@ -0,0 +1,31 @@ +# @latticexyz/world-module-callwithsignature + +## 2.2.17 + +### Patch Changes + +- ffefc8f: `CallWithSignature` module has been moved out of `@latticexyz/world-modules` and into its own package at `@latticexyz/world-module-callwithsignature`. This module is now installed by default during deploy as its needed by EntryKit. + + If you previously had this module installed in your MUD config, you can now remove it. + + ```diff + export default defineConfig({ + tables: { + ... + }, + - modules: [ + - { + - artifactPath: + - "@latticexyz/world-modules/out/Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.json", + - root: true, + - }, + - ], + }); + ``` + +- Updated dependencies [94d82cf] +- Updated dependencies [7c3df69] +- Updated dependencies [56e65f6] + - @latticexyz/world@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/schema-type@2.2.17 diff --git a/packages/world-module-callwithsignature/package.json b/packages/world-module-callwithsignature/package.json index 9475d760a8..814e81f4a1 100644 --- a/packages/world-module-callwithsignature/package.json +++ b/packages/world-module-callwithsignature/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/world-module-callwithsignature", - "version": "2.2.16", + "version": "2.2.17", "description": "CallWithSignature world module", "repository": { "type": "git", diff --git a/packages/world-module-erc20/CHANGELOG.md b/packages/world-module-erc20/CHANGELOG.md index 31fb9fb865..d51159954e 100644 --- a/packages/world-module-erc20/CHANGELOG.md +++ b/packages/world-module-erc20/CHANGELOG.md @@ -1,5 +1,17 @@ # @latticexyz/world-module-erc20 +## 2.2.17 + +### Patch Changes + +- Updated dependencies [94d82cf] +- Updated dependencies [7c3df69] +- Updated dependencies [56e65f6] + - @latticexyz/world@2.2.17 + - @latticexyz/store-consumer@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/world-module-erc20/package.json b/packages/world-module-erc20/package.json index f06a427acc..c9a21cfd61 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.16", + "version": "2.2.17", "description": "ERC20 world module", "repository": { "type": "git", diff --git a/packages/world-module-metadata/CHANGELOG.md b/packages/world-module-metadata/CHANGELOG.md index 1fa4dfd2d8..52ea6fc8d5 100644 --- a/packages/world-module-metadata/CHANGELOG.md +++ b/packages/world-module-metadata/CHANGELOG.md @@ -1,5 +1,16 @@ # @latticexyz/world-module-metadata +## 2.2.17 + +### Patch Changes + +- Updated dependencies [94d82cf] +- Updated dependencies [7c3df69] +- Updated dependencies [56e65f6] + - @latticexyz/world@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/world-module-metadata/package.json b/packages/world-module-metadata/package.json index 48c3e41151..a4529e1fec 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.16", + "version": "2.2.17", "description": "Metadata world module", "repository": { "type": "git", diff --git a/packages/world-modules/CHANGELOG.md b/packages/world-modules/CHANGELOG.md index 578e8d3693..2ec2f5122c 100644 --- a/packages/world-modules/CHANGELOG.md +++ b/packages/world-modules/CHANGELOG.md @@ -1,5 +1,39 @@ # Change Log +## 2.2.17 + +### Patch Changes + +- ffefc8f: `CallWithSignature` module has been moved out of `@latticexyz/world-modules` and into its own package at `@latticexyz/world-module-callwithsignature`. This module is now installed by default during deploy as its needed by EntryKit. + + If you previously had this module installed in your MUD config, you can now remove it. + + ```diff + export default defineConfig({ + tables: { + ... + }, + - modules: [ + - { + - artifactPath: + - "@latticexyz/world-modules/out/Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.json", + - root: true, + - }, + - ], + }); + ``` + +- Updated dependencies [94d82cf] +- Updated dependencies [589fd3a] +- Updated dependencies [7c3df69] +- Updated dependencies [56e65f6] +- Updated dependencies [7385948] + - @latticexyz/world@2.2.17 + - @latticexyz/common@2.2.17 + - @latticexyz/config@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/world-modules/package.json b/packages/world-modules/package.json index 70aa46d6d5..0fc7befe22 100644 --- a/packages/world-modules/package.json +++ b/packages/world-modules/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/world-modules", - "version": "2.2.16", + "version": "2.2.17", "description": "World modules", "repository": { "type": "git", diff --git a/packages/world/CHANGELOG.md b/packages/world/CHANGELOG.md index 1f04a5aeb2..70853fa8cf 100644 --- a/packages/world/CHANGELOG.md +++ b/packages/world/CHANGELOG.md @@ -1,5 +1,33 @@ # Change Log +## 2.2.17 + +### Patch Changes + +- 94d82cf: Fixed an issue in system resolving helper used by CLI was not correctly comparing `namespaceLabel`s. +- 7c3df69: Using `encodeSystemCall` (and others) with a world ABI and namespace-prefixed function name will now attempt to strip the prefix when encoding it as a system call. + + It's recommended to use a system ABI with these functions rather than a world ABI. + + ```ts + import systemAbi from "contracts/out/ISomeSystem.sol/ISomeSystem.sol.abi.json"; + encodeSystemCall({ abi: systemAbi, ... }); + ``` + +- 56e65f6: Updated `callFrom` action to automatically translate `batchCall` to `batchCallFrom`. + Also fixed `encodeSystemCallFrom` and `encodeSystemCallsFrom` to return the right format for use with `batchCall` and `batchCallFrom` respectively. +- Updated dependencies [9321a5c] +- Updated dependencies [589fd3a] +- Updated dependencies [40aaf97] +- Updated dependencies [dead80e] +- Updated dependencies [7385948] + - @latticexyz/block-logs-stream@2.2.17 + - @latticexyz/common@2.2.17 + - @latticexyz/protocol-parser@2.2.17 + - @latticexyz/config@2.2.17 + - @latticexyz/store@2.2.17 + - @latticexyz/schema-type@2.2.17 + ## 2.2.16 ### Patch Changes diff --git a/packages/world/package.json b/packages/world/package.json index b12b9f4ee7..258ac83533 100644 --- a/packages/world/package.json +++ b/packages/world/package.json @@ -1,6 +1,6 @@ { "name": "@latticexyz/world", - "version": "2.2.16", + "version": "2.2.17", "description": "World framework", "repository": { "type": "git",