Skip to content

Latest commit

 

History

History
1019 lines (668 loc) · 59.9 KB

CHANGELOG.md

File metadata and controls

1019 lines (668 loc) · 59.9 KB

Change Log

2.0.0-next.8

Patch Changes

2.0.0-next.7

Patch Changes

2.0.0-next.6

Minor Changes

  • #1413 8025c350 Thanks @holic! - Added a new @latticexyz/abi-ts package to generate TS type declaration files (.d.ts) for each ABI JSON file.

    This allows you to import your JSON ABI and use it directly with libraries like viem and abitype.

    pnpm add @latticexyz/abi-ts
    pnpm abi-ts
    

    By default, abi-ts looks for files with the glob **/*.abi.json, but you can customize this glob with the --input argument, e.g.

    pnpm abi-ts --input 'abi/IWorld.sol/IWorld.abi.json'

Patch Changes

2.0.0-next.5

Patch Changes

2.0.0-next.4

Patch Changes

2.0.0-next.3

Major Changes

  • #1174 952cd534 Thanks @alvrs! - All Store methods now require the table's value schema to be passed in as an argument instead of loading it from storage. This decreases gas cost and removes circular dependencies of the Schema table (where it was not possible to write to the Schema table before the Schema table was registered).

      function setRecord(
        bytes32 table,
        bytes32[] calldata key,
        bytes calldata data,
    +   Schema valueSchema
      ) external;

    The same diff applies to getRecord, getField, setField, pushToField, popFromField, updateInField, and deleteRecord.

    This change only requires changes in downstream projects if the Store methods were accessed directly. In most cases it is fully abstracted in the generated table libraries, so downstream projects only need to regenerate their table libraries after updating MUD.

  • #1208 c32a9269 Thanks @alvrs! - - All World function selectors that previously had bytes16 namespace, bytes16 name arguments now use bytes32 resourceSelector instead. This includes setRecord, setField, pushToField, popFromField, updateInField, deleteRecord, call, grantAccess, revokeAccess, registerTable, registerStoreHook, registerSystemHook, registerFunctionSelector, registerSystem and registerRootFunctionSelector. This change aligns the World function selectors with the Store function selectors, reduces clutter, reduces gas cost and reduces the World's contract size.

    • The World's registerHook function is removed. Use registerStoreHook or registerSystemHook instead.

    • The deploy script is updated to integrate the World interface changes

  • #1182 afaf2f5f Thanks @alvrs! - - Store's internal schema table is now a normal table instead of using special code paths. It is renamed to Tables, and the table ID changed from mudstore:schema to mudstore:Tables

    • Store's registerSchema and setMetadata are combined into a single registerTable method. This means metadata (key names, field names) is immutable and indexers can create tables with this metadata when a new table is registered on-chain.

      -  function registerSchema(bytes32 table, Schema schema, Schema keySchema) external;
      -
      -  function setMetadata(bytes32 table, string calldata tableName, string[] calldata fieldNames) external;
      
      +  function registerTable(
      +    bytes32 table,
      +    Schema keySchema,
      +    Schema valueSchema,
      +    string[] calldata keyNames,
      +    string[] calldata fieldNames
      +  ) external;
    • World's registerTable method is updated to match the Store interface, setMetadata is removed

    • The getSchema method is renamed to getValueSchema on all interfaces

      - function getSchema(bytes32 table) external view returns (Schema schema);
      + function getValueSchema(bytes32 table) external view returns (Schema valueSchema);
    • The store-sync and cli packages are updated to integrate the breaking protocol changes. Downstream projects only need to manually integrate these changes if they access low level Store or World functions. Otherwise, a fresh deploy with the latest MUD will get you these changes.

Patch Changes

2.0.0-next.2

Major Changes

  • #1278 48c51b52 Thanks @holic! - RECS components are now dynamically created and inferred from your MUD config when using syncToRecs.

    To migrate existing projects after upgrading to this MUD version:

    1. Remove contractComponents.ts from client/src/mud

    2. Remove components argument from syncToRecs

    3. Update build:mud and dev scripts in contracts/package.json to remove tsgen

      - "build:mud": "mud tablegen && mud worldgen && mud tsgen --configPath mud.config.ts --out ../client/src/mud",
      + "build:mud": "mud tablegen && mud worldgen",
      - "dev": "pnpm mud dev-contracts --tsgenOutput ../client/src/mud",
      + "dev": "pnpm mud dev-contracts",

Patch Changes

2.0.0-next.1

Patch Changes

  • #1178 168a4cb4 Thanks @TheGreatAxios! - Add support for legacy transactions in deploy script by falling back to gasPrice if lastBaseFeePerGas is not available

  • #1206 e259ef79 Thanks @holic! - Generated contractComponents now properly import World as type

  • #1214 60cfd089 Thanks @holic! - Templates and examples now use MUD's new sync packages, all built on top of viem. This greatly speeds up and stabilizes our networking code and improves types throughout.

    These new sync packages come with support for our recs package, including encodeEntity and decodeEntity utilities for composite keys.

    If you're using store-cache and useRow/useRows, you should wait to upgrade until we have a suitable replacement for those libraries. We're working on a sql.js-powered sync module that will replace store-cache.

    Migrate existing RECS apps to new sync packages

    As you migrate, you may find some features replaced, removed, or not included by default. Please open an issue and let us know if we missed anything.

    1. Add @latticexyz/store-sync package to your app's client package and make sure viem is pinned to version 1.3.1 (otherwise you may get type errors)

    2. In your supportedChains.ts, replace foundry chain with our new mudFoundry chain.

      - import { foundry } from "viem/chains";
      - import { MUDChain, latticeTestnet } from "@latticexyz/common/chains";
      + import { MUDChain, latticeTestnet, mudFoundry } from "@latticexyz/common/chains";
      
      - export const supportedChains: MUDChain[] = [foundry, latticeTestnet];
      + export const supportedChains: MUDChain[] = [mudFoundry, latticeTestnet];
    3. In getNetworkConfig.ts, remove the return type (to let TS infer it for now), remove now-unused config values, and add the viem chain object.

      - export async function getNetworkConfig(): Promise<NetworkConfig> {
      + export async function getNetworkConfig() {
        const initialBlockNumber = params.has("initialBlockNumber")
          ? Number(params.get("initialBlockNumber"))
      -   : world?.blockNumber ?? -1; // -1 will attempt to find the block number from RPC
      +   : world?.blockNumber ?? 0n;
      + return {
      +   privateKey: getBurnerWallet().value,
      +   chain,
      +   worldAddress,
      +   initialBlockNumber,
      +   faucetServiceUrl: params.get("faucet") ?? chain.faucetUrl,
      + };
    4. In setupNetwork.ts, replace setupMUDV2Network with syncToRecs.

      - import { setupMUDV2Network } from "@latticexyz/std-client";
      - import { createFastTxExecutor, createFaucetService, getSnapSyncRecords } from "@latticexyz/network";
      + import { createFaucetService } from "@latticexyz/network";
      + import { createPublicClient, fallback, webSocket, http, createWalletClient, getContract, Hex, parseEther, ClientConfig } from "viem";
      + import { encodeEntity, syncToRecs } from "@latticexyz/store-sync/recs";
      + import { createBurnerAccount, createContract, transportObserver } from "@latticexyz/common";
      - const result = await setupMUDV2Network({
      -   ...
      - });
      
      + const clientOptions = {
      +   chain: networkConfig.chain,
      +   transport: transportObserver(fallback([webSocket(), http()])),
      +   pollingInterval: 1000,
      + } as const satisfies ClientConfig;
      
      + const publicClient = createPublicClient(clientOptions);
      
      + const burnerAccount = createBurnerAccount(networkConfig.privateKey as Hex);
      + const burnerWalletClient = createWalletClient({
      +   ...clientOptions,
      +   account: burnerAccount,
      + });
      
      + const { components, latestBlock$, blockStorageOperations$, waitForTransaction } = await syncToRecs({
      +   world,
      +   config: storeConfig,
      +   address: networkConfig.worldAddress as Hex,
      +   publicClient,
      +   components: contractComponents,
      +   startBlock: BigInt(networkConfig.initialBlockNumber),
      +   indexerUrl: networkConfig.indexerUrl ?? undefined,
      + });
      
      + const worldContract = createContract({
      +   address: networkConfig.worldAddress as Hex,
      +   abi: IWorld__factory.abi,
      +   publicClient,
      +   walletClient: burnerWalletClient,
      + });
        // Request drip from faucet
      - const signer = result.network.signer.get();
      - if (networkConfig.faucetServiceUrl && signer) {
      -   const address = await signer.getAddress();
      + if (networkConfig.faucetServiceUrl) {
      +   const address = burnerAccount.address;
        const requestDrip = async () => {
      -   const balance = await signer.getBalance();
      +   const balance = await publicClient.getBalance({ address });
          console.info(`[Dev Faucet]: Player balance -> ${balance}`);
      -   const lowBalance = balance?.lte(utils.parseEther("1"));
      +   const lowBalance = balance < parseEther("1");

      You can remove the previous ethers worldContract, snap sync code, and fast transaction executor.

      The return of setupNetwork is a bit different than before, so you may have to do corresponding app changes.

      + return {
      +   world,
      +   components,
      +   playerEntity: encodeEntity({ address: "address" }, { address: burnerWalletClient.account.address }),
      +   publicClient,
      +   walletClient: burnerWalletClient,
      +   latestBlock$,
      +   blockStorageOperations$,
      +   waitForTransaction,
      +   worldContract,
      + };
    5. Update createSystemCalls with the new return type of setupNetwork.

        export function createSystemCalls(
      -   { worldSend, txReduced$, singletonEntity }: SetupNetworkResult,
      +   { worldContract, waitForTransaction }: SetupNetworkResult,
          { Counter }: ClientComponents
        ) {
           const increment = async () => {
      -      const tx = await worldSend("increment", []);
      -      await awaitStreamValue(txReduced$, (txHash) => txHash === tx.hash);
      +      const tx = await worldContract.write.increment();
      +      await waitForTransaction(tx);
             return getComponentValue(Counter, singletonEntity);
           };
    6. (optional) If you still need a clock, you can create it with:

      import { map, filter } from "rxjs";
      import { createClock } from "@latticexyz/network";
      
      const clock = createClock({
        period: 1000,
        initialTime: 0,
        syncInterval: 5000,
      });
      
      world.registerDisposer(() => clock.dispose());
      
      latestBlock$
        .pipe(
          map((block) => Number(block.timestamp) * 1000), // Map to timestamp in ms
          filter((blockTimestamp) => blockTimestamp !== clock.lastUpdateTime), // Ignore if the clock was already refreshed with this block
          filter((blockTimestamp) => blockTimestamp !== clock.currentTime) // Ignore if the current local timestamp is correct
        )
        .subscribe(clock.update); // Update the local clock

    If you're using the previous LoadingState component, you'll want to migrate to the new SyncProgress:

    import { SyncStep, singletonEntity } from "@latticexyz/store-sync/recs";
    
    const syncProgress = useComponentValue(SyncProgress, singletonEntity, {
      message: "Connecting",
      percentage: 0,
      step: SyncStep.INITIALIZE,
    });
    
    if (syncProgress.step === SyncStep.LIVE) {
      // we're live!
    }
  • #1258 6c673325 Thanks @holic! - Add tableIdToHex and hexToTableId pure functions and move/deprecate TableId.

  • #1195 afdba793 Thanks @holic! - Update RECS components with v2 key/value schemas. This helps with encoding/decoding composite keys and strong types for keys/values.

    This may break if you were previously dependent on component.id, component.metadata.componentId, or component.metadata.tableId:

    • component.id is now the on-chain bytes32 hex representation of the table ID
    • component.metadata.componentName is the table name (e.g. Position)
    • component.metadata.tableName is the namespaced table name (e.g. myworld:Position)
    • component.metadata.keySchema is an object with key names and their corresponding ABI types
    • component.metadata.valueSchema is an object with field names and their corresponding ABI types
  • Updated dependencies [3236f799, c963b46c, 3fb9ce28, 35c9f33d, 5c965a91, b02f9d0e, 60cfd089, 6071163f, 6c673325, cd5abcc3, cc2c8da0]:

2.0.0-next.0

Minor Changes

  • #1147 66cc35a8 Thanks @dk1a! - Create gas-report package, move gas-report cli command and GasReporter contract to it

  • #1157 c36ffd13 Thanks @alvrs! - - update the set-version cli command to work with the new release process by adding two new options:

    • --tag: install the latest version of the given tag. For snapshot releases tags correspond to the branch name, commits to main result in an automatic snapshot release, so --tag main is equivalent to what used to be -v canary
    • --commit: install a version based on a given commit hash. Since commits from main result in an automatic snapshot release it works for all commits on main, and it works for manual snapshot releases from branches other than main
    • set-version now updates all package.json nested below the current working directory (expect node_modules), so no need for running it each workspace of a monorepo separately.

    Example:

    pnpm mud set-version --tag main && pnpm install
    pnpm mud set-version --commit db19ea39 && pnpm install

Patch Changes

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

1.42.0 (2023-04-13)

Bug Fixes

  • cli: account for getRecord's trimming (#574) (9c5317a)
  • cli: add back in resolveTableId export for use with mudConfig (#518) (4906d77)
  • cli: handle static arrays in worldgen (#566) (b6a09f2)
  • cli: remove node-dependent exports from base module (#517) (abb34a6)
  • cli: use esbuild to load mud config (#565) (18a8c42)
  • cli: use fileSelector in worldgen (#502) (fa021ed)
  • cli: wait for tx confirmation on deploy txs (#606) (b92be71)
  • recs,cli: fix bigint in recs and tsgen (#563) (29fefae)

Features

  • add support for key schemas (#480) (37aec2e)
  • align git dep versions (#577) (2b5fb5e)
  • cli/recs/std-client: add ts definitions generator (#536) (dd1efa6)
  • cli: add mud test-v2 command (#554) (d6be8b0)
  • cli: add set-version to upgrade all MUD dependencies in a project (#527) (89731a6)
  • cli: add encode function to all tables (#498) (564604c)
  • cli: add module config to CLI (#494) (263c828)
  • cli: add mud2 cli entrypoint with only v2 commands (#567) (785a324)
  • cli: add registerFunctionSelectors to deploy cli (#501) (de3d459)
  • cli: add worldgen (#496) (e84c0c8)
  • cli: allow customization of IWorld interface name via mud config, change world/IWorld to world/IBaseWorld (#545) (38b355c)
  • cli: allow passing world address and src dir to deploy cli (#586) (4b532be)
  • cli: allow static arrays as abi types in store config and tablegen (#509) (588d037)
  • cli: improve store config typehints, prepare for static array support (#508) (abb5eb2)
  • cli: improve storeArgument, refactor cli (#500) (bb68670)
  • cli: include stateMutability in worldgen (#571) (3a91292)
  • cli: namespace deploy output by chain id (#516) (7687349)
  • cli: rename deploymentInfoDirectory to deploysDirectory, default to ./deploys (#519) (1dba0d3)
  • cli: set storeArgument to true by default (#553) (cb1ecbc)
  • cli: use a central codegen dir for tablegen and worldgen (#585) (7500b11)
  • cli: use abi types in store config (#507) (12a739f)
  • cli: use json for gas report output (#607) (bea12ca)
  • config: separate config from cli (#600) (cd224a5)
  • v2 event decoding (#415) (374ed54)
  • world,store: add updateInField (#525) (0ac76fd)
  • world: add naive ReverseMappingHook/Module (#487) (36aaaef)
  • world: add support for modules, add RegistrationModule, add CoreModule (#482) (624cbbc)
  • world: add UniqueEntityModule (#552) (983e26a)
  • world: allow registration of function selectors in the World, split out RegisterSystem from World (#481) (ba0166f)
  • world: simplify access control to namespaces instead of routes (#467) (945f2ef)

1.41.0 (2023-03-09)

Bug Fixes

  • cli: add missing await (#475) (efb5d76)
  • cli: add missing await to tablegen, fix formatting (#472) (4313c27)
  • cli: avoid fs usage in utils, create deployment output directory if it doesn't exist (#471) (cc8aa13)
  • services: fix protobuf imports (#477) (3eda547)

Features

  • cli: add setMetadata to autogen of table libraries (#466) (1e129fe)
  • cli: add v2 deployment script (#450) (1db37a5)
  • cli: user types and route/path separation (#454) (758bf03)

1.40.0 (2023-03-03)

Features

  • cli: reorganize internal structure and add exports for all utilities (#451) (e683904)
  • v2 - add store, world and schema-type, cli table code generation (#422) (cb731e0)

BREAKING CHANGES

  • This commit removes the deprecated mud deploy CLI command. Use mud deploy-contracts instead.

1.39.0 (2023-02-22)

Note: Version bump only for package @latticexyz/cli

1.38.0 (2023-02-22)

Features

1.37.1 (2023-02-17)

Note: Version bump only for package @latticexyz/cli

1.37.0 (2023-02-16)

Bug Fixes

  • package entry points, peer dep versions (#409) (66a7fd6)

Reverts

  • Revert "chore(release): publish v1.37.0" (c934f53)

1.36.1 (2023-02-16)

Note: Version bump only for package @latticexyz/cli

1.36.0 (2023-02-16)

Features

  • cli: use forge config for paths to src, test, out (#392) (01217d3)

1.35.0 (2023-02-15)

Bug Fixes

  • cli: exit if generateDeploy fails in deploy-contracts setup (#377) (71dd7f0)
  • cli: pass reuseComponents arg in deploy command (#356) (8e31984)
  • cli: use nodejs grpc transport (#374) (4c9ca7d)

Features

  • cli: add gas-report command (#365) (c2a5209)
  • cli: add initialization libs to deploy (#361) (3999ca0)
  • cli: allow initializers to utilize SystemStorage (#371) (b8ba018)
  • update forge-std, use some new features in cli (#311) (43ad118)

1.34.0 (2023-01-29)

Bug Fixes

  • cli: round gas price to nearest integer (#348) (ce07174)

1.33.1 (2023-01-12)

Note: Version bump only for package @latticexyz/cli

1.33.0 (2023-01-12)

Bug Fixes

  • cli: do not copy System test ABIs during build 🧱 (#312) (660e508)

Features

  • cli: add deploy option to specify whether dev flag should be appended to client url (#313) (d3de8d2)

Reverts

  • Revert "feat: bump devnode gas limit to 100m (#289)" (#302) (34c9d27), closes #289 #302

1.32.0 (2023-01-06)

Note: Version bump only for package @latticexyz/cli

1.31.3 (2022-12-16)

Bug Fixes

  • cli: better logs, more resilience, better gas price mgmt (#300) (26c62e6)

1.31.2 (2022-12-15)

Note: Version bump only for package @latticexyz/cli

1.31.1 (2022-12-15)

Bug Fixes

  • cli issue with circular dependencies (#291) (bbc182f)
  • cli: catch error when attempting to invalid file (#282) (add01a8)
  • cli: reset LibDeploy.sol using original/cached contents (#292) (6e7a8b9)

1.31.0 (2022-12-14)

Bug Fixes

  • cli: mud trace bug for non-local networks (#276) (3f6abeb)
  • cli: replace LibDeploy.sol content with stub (275824a)
  • use interfaces in LibDeploy (#278) (6d01082)

Features

1.30.1 (2022-12-02)

Note: Version bump only for package @latticexyz/cli

1.30.0 (2022-12-02)

Features

  • cli: hot system replacement, new commands (deploy-contracts, codegen-libdeploy, devnode, types, test, create) (#277) (8e32f98)

1.29.0 (2022-11-29)

Features

  • cli: add faucet cli (#271) (a33f1ce)
  • cli: add mud types command for TypeChain type generation (#259) (4303b40)

1.28.1 (2022-11-24)

Bug Fixes

1.28.0 (2022-11-20)

Note: Version bump only for package @latticexyz/cli

1.27.0 (2022-11-15)

Note: Version bump only for package @latticexyz/cli

1.26.0 (2022-11-07)

Note: Version bump only for package @latticexyz/cli

1.25.1 (2022-11-03)

Note: Version bump only for package @latticexyz/cli

1.25.0 (2022-11-03)

Bug Fixes

  • remove global install of cli (653281e)

Features

  • working deploy script from mud basics (#218) (fd1c61b)

1.24.1 (2022-10-29)

Note: Version bump only for package @latticexyz/cli

1.24.0 (2022-10-28)

Note: Version bump only for package @latticexyz/cli

1.23.1 (2022-10-28)

Note: Version bump only for package @latticexyz/cli

1.23.0 (2022-10-26)

Note: Version bump only for package @latticexyz/cli

1.22.0 (2022-10-26)

Note: Version bump only for package @latticexyz/cli

1.21.0 (2022-10-26)

Note: Version bump only for package @latticexyz/cli

1.20.0 (2022-10-22)

Note: Version bump only for package @latticexyz/cli

1.19.0 (2022-10-21)

Note: Version bump only for package @latticexyz/cli

1.18.0 (2022-10-21)

Note: Version bump only for package @latticexyz/cli

1.17.0 (2022-10-19)

Note: Version bump only for package @latticexyz/cli

1.16.0 (2022-10-19)

Note: Version bump only for package @latticexyz/cli

1.15.0 (2022-10-18)

Note: Version bump only for package @latticexyz/cli

1.14.2 (2022-10-18)

Note: Version bump only for package @latticexyz/cli

1.14.1 (2022-10-18)

Note: Version bump only for package @latticexyz/cli

1.14.0 (2022-10-18)

Note: Version bump only for package @latticexyz/cli

1.13.0 (2022-10-15)

Note: Version bump only for package @latticexyz/cli

1.12.0 (2022-10-12)

Note: Version bump only for package @latticexyz/cli

1.11.0 (2022-10-11)

Note: Version bump only for package @latticexyz/cli

1.10.0 (2022-10-11)

Note: Version bump only for package @latticexyz/cli

1.9.0 (2022-10-11)

Note: Version bump only for package @latticexyz/cli

1.8.0 (2022-10-07)

Note: Version bump only for package @latticexyz/cli

1.7.1 (2022-10-06)

Note: Version bump only for package @latticexyz/cli

1.7.0 (2022-10-06)

Note: Version bump only for package @latticexyz/cli

1.6.0 (2022-10-04)

Note: Version bump only for package @latticexyz/cli

1.5.1 (2022-10-03)

Note: Version bump only for package @latticexyz/cli

1.5.0 (2022-10-03)

Features

1.4.1 (2022-10-03)

Note: Version bump only for package @latticexyz/cli

1.4.0 (2022-10-03)

Note: Version bump only for package @latticexyz/cli

1.3.0 (2022-09-30)

Note: Version bump only for package @latticexyz/cli

1.2.0 (2022-09-29)

Note: Version bump only for package @latticexyz/cli

1.1.0 (2022-09-28)

Note: Version bump only for package @latticexyz/cli

1.0.0 (2022-09-27)

Note: Version bump only for package @latticexyz/cli

0.16.4 (2022-09-26)

Note: Version bump only for package @latticexyz/cli

0.16.3 (2022-09-26)

Note: Version bump only for package @latticexyz/cli

0.16.2 (2022-09-26)

Note: Version bump only for package @latticexyz/cli

0.16.1 (2022-09-26)

Note: Version bump only for package @latticexyz/cli

0.16.0 (2022-09-26)

Note: Version bump only for package @latticexyz/cli

0.15.1 (2022-09-23)

Note: Version bump only for package @latticexyz/cli

0.15.0 (2022-09-21)

Note: Version bump only for package @latticexyz/cli

0.14.2 (2022-09-21)

Note: Version bump only for package @latticexyz/cli

0.14.1 (2022-09-21)

Note: Version bump only for package @latticexyz/cli

0.14.0 (2022-09-20)

Note: Version bump only for package @latticexyz/cli

0.13.0 (2022-09-19)

Note: Version bump only for package @latticexyz/cli

0.12.0 (2022-09-16)

Features

  • cli: forge bulk upload ecs state script (#142) (bbd6e1f)

0.11.1 (2022-09-15)

Bug Fixes

  • do not run prepack multiple times when publishing (4f6f4c3)

0.11.0 (2022-09-15)

Note: Version bump only for package @latticexyz/cli

0.10.0 (2022-09-14)

Note: Version bump only for package @latticexyz/cli

0.9.0 (2022-09-13)

Note: Version bump only for package @latticexyz/cli

0.8.1 (2022-08-22)

Note: Version bump only for package @latticexyz/cli

0.8.0 (2022-08-22)

Note: Version bump only for package @latticexyz/cli

0.7.0 (2022-08-19)

Note: Version bump only for package @latticexyz/cli

0.6.0 (2022-08-15)

Note: Version bump only for package @latticexyz/cli

0.5.1 (2022-08-05)

Note: Version bump only for package @latticexyz/cli

0.5.0 (2022-08-05)

Bug Fixes

  • CacheWorker (#118) (bfe006e)
  • optimism, cancel action if gas check fails, add noise utils, fix ecs-browser entry point (#119) (f35d3c3)

0.4.3 (2022-07-30)

Note: Version bump only for package @latticexyz/cli

0.4.2 (2022-07-29)

Note: Version bump only for package @latticexyz/cli

0.4.1 (2022-07-29)

Note: Version bump only for package @latticexyz/cli

0.4.0 (2022-07-29)

Features

  • cli: cli commands for better debugging (#113) (80ae128)

0.3.2 (2022-07-26)

Note: Version bump only for package @latticexyz/cli

0.3.1 (2022-07-26)

Note: Version bump only for package @latticexyz/cli

0.3.0 (2022-07-26)

Bug Fixes

  • fix deploying to hardhat using forge, check for existing persona in launcher (#56) (a0f954b)

Features

0.2.0 (2022-07-05)

Features

  • cli: add vscode solidity config file to mud create projects (064546a)
  • contracts: replace hardhat with foundry toolkit (#51) (2c0e4a9)

0.1.8 (2022-05-25)

Bug Fixes

  • @latticexyz/cli: fix create script (2c3b0db)

0.1.7 (2022-05-25)

Note: Version bump only for package @latticexyz/cli

0.1.6 (2022-05-25)

Note: Version bump only for package @latticexyz/cli

0.1.5 (2022-05-24)

Note: Version bump only for package @latticexyz/cli

0.1.4 (2022-05-24)

Note: Version bump only for package @latticexyz/cli

0.1.3 (2022-05-23)

Note: Version bump only for package @latticexyz/cli

0.1.2 (2022-05-23)

Note: Version bump only for package @latticexyz/cli

0.1.1 (2022-05-23)

Note: Version bump only for package @latticexyz/cli

0.1.0 (2022-05-23)

Features

  • @mud/cli: add deploy script to cli (99d0b70)
  • @mud/cli: add initial version of mud create script (72758cf)
  • @mud/cli: add mud cli and move diamond abi generation to cli (034af90)