Releases: latticexyz/mud
@latticexyz/[email protected]
Patch Changes
- Updated dependencies [c9ee5e4]
- Updated dependencies [8269307]
- Updated dependencies [d5c0682]
- Updated dependencies [01e46d9]
- Updated dependencies [2c920de]
- Updated dependencies [4423604]
- Updated dependencies [9aa5e78]
- Updated dependencies [307abab]
- Updated dependencies [c991c71]
- Updated dependencies [b38c096]
- Updated dependencies [e34d117]
- Updated dependencies [190fdd1]
- Updated dependencies [db314a7]
- Updated dependencies [5926765]
- Updated dependencies [8193136]
- Updated dependencies [93390d8]
- Updated dependencies [144c0d8]
- Updated dependencies [c58da9a]
- Updated dependencies [3042f86]
- Updated dependencies [d7b1c58]
- Updated dependencies [3e7d83d]
- Updated dependencies [252a185]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
@latticexyz/[email protected]
Major Changes
- b38c096: Moved all existing exports to a
/internal
import path to indicate that these are now internal-only and deprecated. We'll be replacing these types and functions with new ones that are compatible with our new, strongly-typed config.
Minor Changes
-
d7b1c58: Upgraded all packages and templates to viem v2.7.12 and abitype v1.0.0.
Some viem APIs have changed and we've updated
getContract
to reflect those changes and keep it aligned with viem. It's one small code change:const worldContract = getContract({ address: worldAddress, abi: IWorldAbi, - publicClient, - walletClient, + client: { public: publicClient, wallet: walletClient }, });
Patch Changes
- 3e7d83d: Renamed
PackedCounter
toEncodedLengths
for consistency. - Updated dependencies [8269307]
- Updated dependencies [d5c0682]
- Updated dependencies [01e46d9]
- Updated dependencies [4423604]
- Updated dependencies [307abab]
- Updated dependencies [b38c096]
- Updated dependencies [e34d117]
- Updated dependencies [db314a7]
- Updated dependencies [5926765]
- Updated dependencies [d7b1c58]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
@latticexyz/[email protected]
@latticexyz/[email protected]
Minor Changes
-
d7b1c58: Upgraded all packages and templates to viem v2.7.12 and abitype v1.0.0.
Some viem APIs have changed and we've updated
getContract
to reflect those changes and keep it aligned with viem. It's one small code change:const worldContract = getContract({ address: worldAddress, abi: IWorldAbi, - publicClient, - walletClient, + client: { public: publicClient, wallet: walletClient }, });
Patch Changes
- Updated dependencies [8269307]
- Updated dependencies [d5c0682]
- Updated dependencies [01e46d9]
- Updated dependencies [4423604]
- Updated dependencies [307abab]
- Updated dependencies [e34d117]
- Updated dependencies [db314a7]
- Updated dependencies [5926765]
- Updated dependencies [d7b1c58]
- @latticexyz/[email protected]
@latticexyz/[email protected]
Major Changes
- 252a185: Migrated to new config format.
Minor Changes
-
d7b1c58: Upgraded all packages and templates to viem v2.7.12 and abitype v1.0.0.
Some viem APIs have changed and we've updated
getContract
to reflect those changes and keep it aligned with viem. It's one small code change:const worldContract = getContract({ address: worldAddress, abi: IWorldAbi, - publicClient, - walletClient, + client: { public: publicClient, wallet: walletClient }, });
Patch Changes
- d5c0682: Updated all human-readable resource IDs to use
{namespace}__{name}
for consistency with world function signatures. - Updated dependencies [c9ee5e4]
- Updated dependencies [3622e39]
- Updated dependencies [8f49c27]
- Updated dependencies [8269307]
- Updated dependencies [d5c0682]
- Updated dependencies [01e46d9]
- Updated dependencies [2c920de]
- Updated dependencies [4423604]
- Updated dependencies [3be4dee]
- Updated dependencies [5debcca]
- Updated dependencies [9aa5e78]
- Updated dependencies [307abab]
- Updated dependencies [c991c71]
- Updated dependencies [b38c096]
- Updated dependencies [e34d117]
- Updated dependencies [190fdd1]
- Updated dependencies [db314a7]
- Updated dependencies [5926765]
- Updated dependencies [1a82c27]
- Updated dependencies [8193136]
- Updated dependencies [86766ce]
- Updated dependencies [3f5d33a]
- Updated dependencies [93390d8]
- Updated dependencies [144c0d8]
- Updated dependencies [c58da9a]
- Updated dependencies [be18b75]
- Updated dependencies [3042f86]
- Updated dependencies [d7b1c58]
- Updated dependencies [95f64c8]
- Updated dependencies [3e7d83d]
- Updated dependencies [adc6822]
- Updated dependencies [252a185]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
@latticexyz/[email protected]
Minor Changes
-
d7b1c58: Upgraded all packages and templates to viem v2.7.12 and abitype v1.0.0.
Some viem APIs have changed and we've updated
getContract
to reflect those changes and keep it aligned with viem. It's one small code change:const worldContract = getContract({ address: worldAddress, abi: IWorldAbi, - publicClient, - walletClient, + client: { public: publicClient, wallet: walletClient }, });
Patch Changes
- Updated dependencies [8269307]
- Updated dependencies [d5c0682]
- Updated dependencies [01e46d9]
- Updated dependencies [4423604]
- Updated dependencies [307abab]
- Updated dependencies [b38c096]
- Updated dependencies [e34d117]
- Updated dependencies [db314a7]
- Updated dependencies [5926765]
- Updated dependencies [d7b1c58]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
@latticexyz/[email protected]
Major Changes
-
4423604: Moved table ID and field layout constants in code-generated table libraries from the file level into the library, for clearer access and cleaner imports.
-import { SomeTable, SomeTableTableId } from "./codegen/tables/SomeTable.sol"; +import { SomeTable } from "./codegen/tables/SomeTable.sol"; -console.log(SomeTableTableId); +console.log(SomeTable._tableId); -console.log(SomeTable.getFieldLayout()); +console.log(SomeTable._fieldLayout);
Minor Changes
-
5926765: Added viem custom client actions that work the same as MUD's now-deprecated
getContract
,writeContract
, andsendTransaction
wrappers. Templates have been updated to reflect the new patterns.You can migrate your own code like this:
-import { createWalletClient } from "viem"; -import { getContract, writeContract, sendTransaction } from "@latticexyz/common"; +import { createWalletClient, getContract } from "viem"; +import { transactionQueue, writeObserver } from "@latticexyz/common/actions"; -const walletClient = createWalletClient(...); +const walletClient = createWalletClient(...) + .extend(transactionQueue()) + .extend(writeObserver({ onWrite }); const worldContract = getContract({ client: { publicClient, walletClient }, - onWrite, });
-
d7b1c58: Upgraded all packages and templates to viem v2.7.12 and abitype v1.0.0.
Some viem APIs have changed and we've updated
getContract
to reflect those changes and keep it aligned with viem. It's one small code change:const worldContract = getContract({ address: worldAddress, abi: IWorldAbi, - publicClient, - walletClient, + client: { public: publicClient, wallet: walletClient }, });
Patch Changes
-
8269307:
waitForIdle
now falls back tosetTimeout
for environments withoutrequestIdleCallback
. -
d5c0682: Updated all human-readable resource IDs to use
{namespace}__{name}
for consistency with world function signatures. -
01e46d9: Removed some unused files, namely
curry
in@latticexyz/common
anduseDeprecatedComputedValue
from@latticexyz/react
. -
307abab:
resourceToLabel
now correctly returns just the resource name if its in the root namespace. -
e34d117: Moved the transaction simulation step to just before sending the transaction in our transaction queue actions (
sendTransaction
andwriteContract
).This helps avoid cascading transaction failures for deep queues or when a transaction succeeding depends on the value of the previous.
-
db314a7: Upgraded prettier version to 3.2.5 and prettier-plugin-solidity version to 1.3.1.
-
Updated dependencies [b38c096]
-
Updated dependencies [d7b1c58]
- @latticexyz/[email protected]
@latticexyz/[email protected]
Major Changes
-
4423604: Moved table ID and field layout constants in code-generated table libraries from the file level into the library, for clearer access and cleaner imports.
-import { SomeTable, SomeTableTableId } from "./codegen/tables/SomeTable.sol"; +import { SomeTable } from "./codegen/tables/SomeTable.sol"; -console.log(SomeTableTableId); +console.log(SomeTable._tableId); -console.log(SomeTable.getFieldLayout()); +console.log(SomeTable._fieldLayout);
-
252a185: Migrated to new config format.
Minor Changes
-
645736d: Added an
--rpcBatch
option tomud deploy
command to batch RPC calls for rate limited RPCs. -
5554b19:
mud deploy
now supports public/linked libraries.This helps with cases where system contracts would exceed the EVM bytecode size limit and logic would need to be split into many smaller systems.
Instead of the overhead and complexity of system-to-system calls, this logic can now be moved into public libraries that will be deployed alongside your systems and automatically
delegatecall
ed. -
d7b1c58: Upgraded all packages and templates to viem v2.7.12 and abitype v1.0.0.
Some viem APIs have changed and we've updated
getContract
to reflect those changes and keep it aligned with viem. It's one small code change:const worldContract = getContract({ address: worldAddress, abi: IWorldAbi, - publicClient, - walletClient, + client: { public: publicClient, wallet: walletClient }, });
Patch Changes
-
8f49c27: Attempting to deploy multiple systems where there are overlapping system IDs now throws an error.
-
d5c0682: Updated all human-readable resource IDs to use
{namespace}__{name}
for consistency with world function signatures. -
257a0af: Bumped
typescript
to5.4.2
,eslint
to8.57.0
, and both@typescript-eslint/eslint-plugin
and@typescript-eslint/parser
to7.1.1
. -
9c83adc: Added a non-deterministic fallback for deploying to chains that have replay protection on and do not support pre-EIP-155 transactions (no chain ID).
If you're using
mud deploy
and there's already a deterministic deployer on your target chain, you can provide the address with--deployerAddress 0x...
to still get some determinism. -
3e7d83d: Renamed
PackedCounter
toEncodedLengths
for consistency. -
Updated dependencies [c9ee5e4]
-
Updated dependencies [8f49c27]
-
Updated dependencies [8269307]
-
Updated dependencies [d5c0682]
-
Updated dependencies [01e46d9]
-
Updated dependencies [4be22ba]
-
Updated dependencies [2c920de]
-
Updated dependencies [4423604]
-
Updated dependencies [3be4dee]
-
Updated dependencies [5debcca]
-
Updated dependencies [9aa5e78]
-
Updated dependencies [307abab]
-
Updated dependencies [c991c71]
-
Updated dependencies [b38c096]
-
Updated dependencies [e34d117]
-
Updated dependencies [190fdd1]
-
Updated dependencies [db314a7]
-
Updated dependencies [5926765]
-
Updated dependencies [1a82c27]
-
Updated dependencies [a02da55]
-
Updated dependencies [8193136]
-
Updated dependencies [86766ce]
-
Updated dependencies [93390d8]
-
Updated dependencies [144c0d8]
-
Updated dependencies [90d0d79]
-
Updated dependencies [c58da9a]
-
Updated dependencies [be18b75]
-
Updated dependencies [3042f86]
-
Updated dependencies [d7b1c58]
-
Updated dependencies [95f64c8]
-
Updated dependencies [3e7d83d]
-
Updated dependencies [252a185]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
- @latticexyz/[email protected]
@latticexyz/[email protected]
Minor Changes
-
d7b1c58: Upgraded all packages and templates to viem v2.7.12 and abitype v1.0.0.
Some viem APIs have changed and we've updated
getContract
to reflect those changes and keep it aligned with viem. It's one small code change:const worldContract = getContract({ address: worldAddress, abi: IWorldAbi, - publicClient, - walletClient, + client: { public: publicClient, wallet: walletClient }, });
Patch Changes
- Updated dependencies [8269307]
- Updated dependencies [d5c0682]
- Updated dependencies [01e46d9]
- Updated dependencies [4423604]
- Updated dependencies [307abab]
- Updated dependencies [e34d117]
- Updated dependencies [db314a7]
- Updated dependencies [5926765]
- Updated dependencies [d7b1c58]
- @latticexyz/[email protected]
@latticexyz/[email protected]
@latticexyz/[email protected]