mud

MUD is a framework for building ambitious onchain applications

MIT License

Downloads
318.4K
Stars
643
Committers
80

Bot releases are visible (Hide)

mud - @latticexyz/[email protected]

Published by github-actions[bot] 7 months ago

Patch Changes

  • 01e46d99: Removed some unused files, namely curry in @latticexyz/common and useDeprecatedComputedValue from @latticexyz/react.
  • Updated dependencies [c9ee5e4a]
  • Updated dependencies [2c920de7]
  • Updated dependencies [44236041]
  • Updated dependencies [9aa5e786]
  • Updated dependencies [c991c71a]
  • Updated dependencies [190fdd11]
  • Updated dependencies [8193136a9]
  • Updated dependencies [93390d89]
  • Updated dependencies [144c0d8d]
  • Updated dependencies [c58da9ad]
  • Updated dependencies [3042f86e]
  • Updated dependencies [d7b1c588a]
  • Updated dependencies [3e7d83d0]
  • Updated dependencies [252a1852]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 7 months ago

Patch Changes

  • Updated dependencies [c9ee5e4a]
  • Updated dependencies [82693072]
  • Updated dependencies [d5c0682fb]
  • Updated dependencies [01e46d99]
  • Updated dependencies [2c920de7]
  • Updated dependencies [44236041]
  • Updated dependencies [9aa5e786]
  • Updated dependencies [307abab3]
  • Updated dependencies [c991c71a]
  • Updated dependencies [b38c096d]
  • Updated dependencies [e34d1170]
  • Updated dependencies [190fdd11]
  • Updated dependencies [db314a74]
  • Updated dependencies [59267655]
  • Updated dependencies [8193136a9]
  • Updated dependencies [93390d89]
  • Updated dependencies [144c0d8d]
  • Updated dependencies [c58da9ad]
  • Updated dependencies [3042f86e]
  • Updated dependencies [d7b1c588a]
  • Updated dependencies [3e7d83d0]
  • Updated dependencies [252a1852]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 7 months ago

Major Changes

  • b38c096d: 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

  • d7b1c588a: 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

  • 3e7d83d0: Renamed PackedCounter to EncodedLengths for consistency.
  • Updated dependencies [82693072]
  • Updated dependencies [d5c0682fb]
  • Updated dependencies [01e46d99]
  • Updated dependencies [44236041]
  • Updated dependencies [307abab3]
  • Updated dependencies [b38c096d]
  • Updated dependencies [e34d1170]
  • Updated dependencies [db314a74]
  • Updated dependencies [59267655]
  • Updated dependencies [d7b1c588a]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 7 months ago

Minor Changes

  • 90d0d79c: Now uses --isolate flag in forge test for more accurate gas measurement.

Patch Changes

  • a02da555b: Fixed gas report parsing for foundry versions released after 2024-02-15.
mud - @latticexyz/[email protected]

Published by github-actions[bot] 7 months ago

Minor Changes

  • d7b1c588a: 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 [82693072]
  • Updated dependencies [d5c0682fb]
  • Updated dependencies [01e46d99]
  • Updated dependencies [44236041]
  • Updated dependencies [307abab3]
  • Updated dependencies [e34d1170]
  • Updated dependencies [db314a74]
  • Updated dependencies [59267655]
  • Updated dependencies [d7b1c588a]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 7 months ago

Major Changes

  • 252a1852: Migrated to new config format.

Minor Changes

  • d7b1c588a: 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

  • d5c0682fb: Updated all human-readable resource IDs to use {namespace}__{name} for consistency with world function signatures.
  • Updated dependencies [c9ee5e4a]
  • Updated dependencies [3622e39dd]
  • Updated dependencies [8f49c277d]
  • Updated dependencies [82693072]
  • Updated dependencies [d5c0682fb]
  • Updated dependencies [01e46d99]
  • Updated dependencies [2c920de7]
  • Updated dependencies [44236041]
  • Updated dependencies [3be4deecf]
  • Updated dependencies [5debcca8]
  • Updated dependencies [9aa5e786]
  • Updated dependencies [307abab3]
  • Updated dependencies [c991c71a]
  • Updated dependencies [b38c096d]
  • Updated dependencies [e34d1170]
  • Updated dependencies [190fdd11]
  • Updated dependencies [db314a74]
  • Updated dependencies [59267655]
  • Updated dependencies [1a82c278]
  • Updated dependencies [8193136a9]
  • Updated dependencies [86766ce1]
  • Updated dependencies [3f5d33af]
  • Updated dependencies [93390d89]
  • Updated dependencies [144c0d8d]
  • Updated dependencies [c58da9ad]
  • Updated dependencies [be18b75b]
  • Updated dependencies [3042f86e]
  • Updated dependencies [d7b1c588a]
  • Updated dependencies [95f64c85]
  • Updated dependencies [3e7d83d0]
  • Updated dependencies [adc68225]
  • Updated dependencies [252a1852]
mud - [email protected]

Published by github-actions[bot] 7 months ago

Major Changes

  • 252a1852: Migrated to new config format.

Minor Changes

  • 59267655: Added viem custom client actions that work the same as MUD's now-deprecated getContract, writeContract, and sendTransaction 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,
     });
    
  • d7b1c588a: 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

  • 44236041: 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);
    
  • 257a0afc: Bumped typescript to 5.4.2, eslint to 8.57.0, and both @typescript-eslint/eslint-plugin and @typescript-eslint/parser to 7.1.1.

  • 5237e320: Added dbaeumer.vscode-eslint and esbenp.prettier-vscode to recommended VSCode extensions.

  • 3042f86e: Moved key schema and value schema methods to constants in code-generated table libraries for less bytecode and less gas in register/install methods.

    -console.log(SomeTable.getKeySchema());
    +console.log(SomeTable._keySchema);
    
    -console.log(SomeTable.getValueSchema());
    +console.log(SomeTable._valueSchema);
    
  • 3e7d83d0: Renamed PackedCounter to EncodedLengths for consistency.

mud - @latticexyz/[email protected]

Published by github-actions[bot] 7 months ago

Minor Changes

  • d7b1c588a: 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 [82693072]
  • Updated dependencies [d5c0682fb]
  • Updated dependencies [01e46d99]
  • Updated dependencies [44236041]
  • Updated dependencies [307abab3]
  • Updated dependencies [b38c096d]
  • Updated dependencies [e34d1170]
  • Updated dependencies [db314a74]
  • Updated dependencies [59267655]
  • Updated dependencies [d7b1c588a]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 7 months ago

Major Changes

  • 44236041: 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

  • 59267655: Added viem custom client actions that work the same as MUD's now-deprecated getContract, writeContract, and sendTransaction 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,
     });
    
  • d7b1c588a: 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

  • 82693072: waitForIdle now falls back to setTimeout for environments without requestIdleCallback.

  • d5c0682fb: Updated all human-readable resource IDs to use {namespace}__{name} for consistency with world function signatures.

  • 01e46d99: Removed some unused files, namely curry in @latticexyz/common and useDeprecatedComputedValue from @latticexyz/react.

  • 307abab3: resourceToLabel now correctly returns just the resource name if its in the root namespace.

  • e34d1170: Moved the transaction simulation step to just before sending the transaction in our transaction queue actions (sendTransaction and writeContract).

    This helps avoid cascading transaction failures for deep queues or when a transaction succeeding depends on the value of the previous.

  • db314a74: Upgraded prettier version to 3.2.5 and prettier-plugin-solidity version to 1.3.1.

  • Updated dependencies [b38c096d]

  • Updated dependencies [d7b1c588a]

mud - @latticexyz/[email protected]

Published by github-actions[bot] 7 months ago

Major Changes

  • 44236041: 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);
    
  • 252a1852: Migrated to new config format.

Minor Changes

  • 645736df: Added an --rpcBatch option to mud deploy command to batch RPC calls for rate limited RPCs.

  • 5554b197: 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 delegatecalled.

  • d7b1c588a: 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

  • 8f49c277d: Attempting to deploy multiple systems where there are overlapping system IDs now throws an error.

  • d5c0682fb: Updated all human-readable resource IDs to use {namespace}__{name} for consistency with world function signatures.

  • 257a0afc: Bumped typescript to 5.4.2, eslint to 8.57.0, and both @typescript-eslint/eslint-plugin and @typescript-eslint/parser to 7.1.1.

  • 9c83adc01: 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.

  • 3e7d83d0: Renamed PackedCounter to EncodedLengths for consistency.

  • Updated dependencies [c9ee5e4a]

  • Updated dependencies [8f49c277d]

  • Updated dependencies [82693072]

  • Updated dependencies [d5c0682fb]

  • Updated dependencies [01e46d99]

  • Updated dependencies [4be22ba4]

  • Updated dependencies [2c920de7]

  • Updated dependencies [44236041]

  • Updated dependencies [3be4deecf]

  • Updated dependencies [5debcca8]

  • Updated dependencies [9aa5e786]

  • Updated dependencies [307abab3]

  • Updated dependencies [c991c71a]

  • Updated dependencies [b38c096d]

  • Updated dependencies [e34d1170]

  • Updated dependencies [190fdd11]

  • Updated dependencies [db314a74]

  • Updated dependencies [59267655]

  • Updated dependencies [1a82c278]

  • Updated dependencies [a02da555b]

  • Updated dependencies [8193136a9]

  • Updated dependencies [86766ce1]

  • Updated dependencies [93390d89]

  • Updated dependencies [144c0d8d]

  • Updated dependencies [90d0d79c]

  • Updated dependencies [c58da9ad]

  • Updated dependencies [be18b75b]

  • Updated dependencies [3042f86e]

  • Updated dependencies [d7b1c588a]

  • Updated dependencies [95f64c85]

  • Updated dependencies [3e7d83d0]

  • Updated dependencies [252a1852]

mud - @latticexyz/[email protected]

Published by github-actions[bot] 7 months ago

Minor Changes

  • d7b1c588a: 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 [82693072]
  • Updated dependencies [d5c0682fb]
  • Updated dependencies [01e46d99]
  • Updated dependencies [44236041]
  • Updated dependencies [307abab3]
  • Updated dependencies [e34d1170]
  • Updated dependencies [db314a74]
  • Updated dependencies [59267655]
  • Updated dependencies [d7b1c588a]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 7 months ago

mud - @latticexyz/[email protected]

Published by github-actions[bot] 8 months ago

Major Changes

  • aabd3076: Bumped Solidity version to 0.8.24.

Minor Changes

  • c4fc8504: Fixed SystemSwitch to properly call non-root systems from root systems.

Patch Changes

  • a35c05ea: Table libraries now hardcode the bytes32 table ID value rather than computing it in Solidity. This saves a bit of gas across all storage operations.
  • e2d089c6: Renamed the Module args parameter to encodedArgs to better reflect that it is ABI-encoded arguments.
  • Updated dependencies [a35c05ea]
  • Updated dependencies [05b3e888]
  • Updated dependencies [745485cd]
  • Updated dependencies [aabd3076]
  • Updated dependencies [db7798be]
  • Updated dependencies [618dd0e8]
  • Updated dependencies [c162ad5a]
  • Updated dependencies [55a05fd7]
  • Updated dependencies [6470fe1f]
  • Updated dependencies [e2d089c6]
  • Updated dependencies [17f98720]
  • Updated dependencies [5c52bee0]
  • Updated dependencies [745485cd]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 8 months ago

Major Changes

  • aabd3076: Bumped Solidity version to 0.8.24.

  • db7798be: Renamed CoreModule to InitModule and CoreRegistrationSystem to RegistrationSystem.

  • 618dd0e8: WorldFactory now expects a user-provided salt when calling deployWorld(...) (instead of the previous globally incrementing counter). This enables deterministic world addresses across different chains.

    When using mud deploy, you can provide a bytes32 hex-encoded salt using the --salt option, otherwise it defaults to a random hex value.

Minor Changes

  • 6470fe1f: WorldFactory now derives a salt based on number of worlds deployed by msg.sender, which should help with predictable world deployments across chains.

Patch Changes

  • a35c05ea: Table libraries now hardcode the bytes32 table ID value rather than computing it in Solidity. This saves a bit of gas across all storage operations.
  • 745485cd: Updated WorldRegistrationSystem to check that systems exist before registering system hooks.
  • e2d089c6: Renamed the Module args parameter to encodedArgs to better reflect that it is ABI-encoded arguments.
  • 17f98720: Added a check to prevent namespaces from ending with an underscore (which could cause problems with world function signatures).
  • 5c52bee0: Renamed StoreCore's registerCoreTables method to registerInternalTables.
  • Updated dependencies [a35c05ea]
  • Updated dependencies [05b3e888]
  • Updated dependencies [aabd3076]
  • Updated dependencies [c162ad5a]
  • Updated dependencies [55a05fd7]
  • Updated dependencies [5c52bee0]
  • Updated dependencies [745485cd]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 8 months ago

mud - @latticexyz/[email protected]

Published by github-actions[bot] 8 months ago

Minor Changes

  • 997286ba: createStoreSync now waits for idle between each chunk of logs in a block to allow for downstream render cycles to trigger. This means that hydrating logs from an indexer will no longer block until hydration completes, but rather allow for onProgress callbacks to trigger.

Patch Changes

  • 6c615b60: Bumped the Postgres column size for int32, uint32, int64, and uint64 types to avoid overflows
  • 4e445a1a: Moved boolean array types to use array column types (instead of JSON columns) for the Postgres decoded indexer
  • 669fa43e: Moved numerical array types to use array column types (instead of JSON columns) for the Postgres decoded indexer
  • Updated dependencies [a35c05ea]
  • Updated dependencies [05b3e888]
  • Updated dependencies [745485cd]
  • Updated dependencies [aabd3076]
  • Updated dependencies [db7798be]
  • Updated dependencies [618dd0e8]
  • Updated dependencies [c162ad5a]
  • Updated dependencies [55a05fd7]
  • Updated dependencies [6470fe1f]
  • Updated dependencies [e2d089c6]
  • Updated dependencies [17f98720]
  • Updated dependencies [5c52bee0]
  • Updated dependencies [745485cd]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 8 months ago

Patch Changes

  • Updated dependencies [a35c05ea]
  • Updated dependencies [05b3e888]
  • Updated dependencies [aabd3076]
  • Updated dependencies [6c615b60]
  • Updated dependencies [4e445a1a]
  • Updated dependencies [669fa43e]
  • Updated dependencies [997286ba]
  • Updated dependencies [c162ad5a]
  • Updated dependencies [55a05fd7]
  • Updated dependencies [5c52bee0]
  • Updated dependencies [745485cd]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 8 months ago

Major Changes

  • aabd3076: Bumped Solidity version to 0.8.24.
  • 5c52bee0: Renamed StoreCore's registerCoreTables method to registerInternalTables.

Patch Changes

  • a35c05ea: Table libraries now hardcode the bytes32 table ID value rather than computing it in Solidity. This saves a bit of gas across all storage operations.
  • 05b3e888: Fixed a race condition when registering core tables, where we would set a record in the ResourceIds table before the table was registered.
  • 55a05fd7: Refactored StoreCore.registerStoreHook to use StoreHooks._push for gas efficiency.
  • 745485cd: Updated StoreCore to check that tables exist before registering store hooks.
  • Updated dependencies [a35c05ea]
  • Updated dependencies [aabd3076]
  • Updated dependencies [c162ad5a]
mud - [email protected]

Published by github-actions[bot] 8 months ago

mud - @latticexyz/[email protected]

Published by github-actions[bot] 8 months ago