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] 12 months ago

Patch Changes

mud - @latticexyz/[email protected]

Published by github-actions[bot] 12 months ago

Patch Changes

mud - @latticexyz/[email protected]

Published by github-actions[bot] 12 months ago

mud - @latticexyz/[email protected]

Published by github-actions[bot] 12 months ago

mud - @latticexyz/[email protected]

Published by github-actions[bot] 12 months ago

mud - @latticexyz/[email protected]

Published by github-actions[bot] 12 months ago

Patch Changes

  • 3e057061: Removed chalk usage from modules imported in client fix downstream client builds (vite in particular).
  • Updated dependencies [3e057061]
  • Updated dependencies [b1d41727]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 12 months ago

Patch Changes

mud - [email protected]

Published by github-actions[bot] 12 months ago

Major Changes

  • 78949f2c: Replaced the react template with a basic task list app using the new Zustand storage adapter and sync method. This new template better demonstrates the different ways of building with MUD and has fewer concepts to learn (i.e. just tables and records, no more ECS).

    For ECS-based React apps, you can use react-ecs template for the previous RECS storage adapter.

Minor Changes

  • 6288f903: Updated templates to use mprocs instead of concurrently for running dev scripts.
  • b68e1699: Enabled MUD CLI debug logs for all templates.

Patch Changes

  • c5148da7: Updated templates' PostDeploy script to set store address so that tables can be used directly inside PostDeploy.
  • 1b33a915: Fixed an issue when creating a new project from the react app, where React's expressions were overlapping with Handlebars expressions (used by our template command).
mud - @latticexyz/[email protected]

Published by github-actions[bot] 12 months ago

Patch Changes

mud - @latticexyz/[email protected]

Published by github-actions[bot] 12 months ago

Minor Changes

  • b1d41727: Added a mapObject helper to map the value of each property of an object to a new value.

Patch Changes

  • 3e057061: Removed chalk usage from modules imported in client fix downstream client builds (vite in particular).
mud - @latticexyz/[email protected]

Published by github-actions[bot] 12 months ago

Patch Changes

  • Updated dependencies [3e057061]
  • Updated dependencies [b1d41727]
mud - @latticexyz/[email protected]

Published by github-actions[bot] 12 months ago

mud - @latticexyz/[email protected]

Published by github-actions[bot] about 1 year ago

Major Changes

  • 6ca1874e: Modules now revert with Module_AlreadyInstalled if attempting to install more than once with the same calldata.

    This is a temporary workaround for our deploy pipeline. We'll make these install steps more idempotent in the future.

Patch Changes

  • 7ce82b6f: Store config now defaults storeArgument: false for all tables. This means that table libraries, by default, will no longer include the extra functions with the _store argument. This default was changed to clear up the confusion around using table libraries in tests, PostDeploy scripts, etc.

    If you are sure you need to manually specify a store when interacting with tables, you can still manually toggle it back on with storeArgument: true in the table settings of your MUD config.

    If you want to use table libraries in PostDeploy.s.sol, you can add the following lines:

      import { Script } from "forge-std/Script.sol";
      import { console } from "forge-std/console.sol";
      import { IWorld } from "../src/codegen/world/IWorld.sol";
    + import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
    
      contract PostDeploy is Script {
        function run(address worldAddress) external {
    +     StoreSwitch.setStoreAddress(worldAddress);
    +
    +     SomeTable.get(someKey);
    
  • Updated dependencies [7ce82b6f]

  • Updated dependencies [7fa2ca18]

  • Updated dependencies [6ca1874e]

  • Updated dependencies [06605615]

  • Updated dependencies [f62c767e]

  • Updated dependencies [f62c767e]

  • Updated dependencies [d2f8e940]

  • Updated dependencies [25086be5]

  • Updated dependencies [29c3f508]

mud - @latticexyz/[email protected]

Published by github-actions[bot] about 1 year ago

Minor Changes

  • 7fa2ca18: Added TS helpers for calling systems dynamically via the World.

    • encodeSystemCall for world.call

      worldContract.write.call(encodeSystemCall({
        abi: worldContract.abi,
        systemId: resourceToHex({ ... }),
        functionName: "registerDelegation",
        args: [ ... ],
      }));
      
    • encodeSystemCallFrom for world.callFrom

      worldContract.write.callFrom(encodeSystemCallFrom({
        abi: worldContract.abi,
        from: "0x...",
        systemId: resourceToHex({ ... }),
        functionName: "registerDelegation",
        args: [ ... ],
      }));
      
    • encodeSystemCalls for world.batchCall

      worldContract.write.batchCall(encodeSystemCalls(abi, [{
        systemId: resourceToHex({ ... }),
        functionName: "registerDelegation",
        args: [ ... ],
      }]));
      
    • encodeSystemCallsFrom for world.batchCallFrom

      worldContract.write.batchCallFrom(encodeSystemCallsFrom(abi, "0x...", [{
        systemId: resourceToHex({ ... }),
        functionName: "registerDelegation",
        args: [ ... ],
      }]));
      
  • 6ca1874e: Added a Module_AlreadyInstalled error to IModule.

  • 25086be5: Replaced temporary .mudtest file in favor of WORLD_ADDRESS environment variable when running tests with MudTest contract

Patch Changes

  • 7ce82b6f: Store config now defaults storeArgument: false for all tables. This means that table libraries, by default, will no longer include the extra functions with the _store argument. This default was changed to clear up the confusion around using table libraries in tests, PostDeploy scripts, etc.

    If you are sure you need to manually specify a store when interacting with tables, you can still manually toggle it back on with storeArgument: true in the table settings of your MUD config.

    If you want to use table libraries in PostDeploy.s.sol, you can add the following lines:

      import { Script } from "forge-std/Script.sol";
      import { console } from "forge-std/console.sol";
      import { IWorld } from "../src/codegen/world/IWorld.sol";
    + import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
    
      contract PostDeploy is Script {
        function run(address worldAddress) external {
    +     StoreSwitch.setStoreAddress(worldAddress);
    +
    +     SomeTable.get(someKey);
    
  • 29c3f508: With resource types in resource IDs, the World config no longer requires table and system names to be unique.

  • Updated dependencies [7ce82b6f]

  • Updated dependencies [06605615]

  • Updated dependencies [f62c767e]

  • Updated dependencies [f62c767e]

  • Updated dependencies [d2f8e940]

  • Updated dependencies [25086be5]

mud - @latticexyz/[email protected]

Published by github-actions[bot] about 1 year ago

mud - @latticexyz/[email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

mud - @latticexyz/[email protected]

Published by github-actions[bot] about 1 year ago

Minor Changes

  • 1d0f7e22: Added /healthz and /readyz healthcheck endpoints for Kubernetes

Patch Changes

mud - @latticexyz/[email protected]

Published by github-actions[bot] about 1 year ago

Major Changes

  • 7ce82b6f: Store config now defaults storeArgument: false for all tables. This means that table libraries, by default, will no longer include the extra functions with the _store argument. This default was changed to clear up the confusion around using table libraries in tests, PostDeploy scripts, etc.

    If you are sure you need to manually specify a store when interacting with tables, you can still manually toggle it back on with storeArgument: true in the table settings of your MUD config.

    If you want to use table libraries in PostDeploy.s.sol, you can add the following lines:

      import { Script } from "forge-std/Script.sol";
      import { console } from "forge-std/console.sol";
      import { IWorld } from "../src/codegen/world/IWorld.sol";
    + import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
    
      contract PostDeploy is Script {
        function run(address worldAddress) external {
    +     StoreSwitch.setStoreAddress(worldAddress);
    +
    +     SomeTable.get(someKey);
    

Patch Changes

  • f62c767e: Parallelized table codegen. Also put logs behind debug flag, which can be enabled using the DEBUG=mud:* environment variable.
  • Updated dependencies [06605615]
  • Updated dependencies [f62c767e]
  • Updated dependencies [d2f8e940]
  • Updated dependencies [25086be5]
mud - [email protected]

Published by github-actions[bot] about 1 year ago

mud - [email protected]

Published by github-actions[bot] about 1 year ago