Skip to content

@latticexyz/[email protected]

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 21 Mar 17:31
· 451 commits to main since this release
43b0fdf

Major Changes

  • 8193136: Added dynamicFieldIndex to the Store_SpliceDynamicData event. This enables indexers to store dynamic data as a blob per dynamic field without a schema lookup.

  • adc6822: PostgreSQL sync/indexer now uses {storeAddress} for its database schema names and {namespace}__{tableName} for its database table names (or just {tableName} for root namespace), to be more consistent with the rest of the MUD codebase.

    For namespaced tables:

    - SELECT * FROM 0xfff__some_ns.some_table
    + SELECT * FROM 0xfff.some_ns__some_table

    For root tables:

    - SELECT * FROM 0xfff__.some_table
    + SELECT * FROM 0xfff.some_table

    SQLite sync/indexer now uses snake case for its table names and column names for easier writing of queries and to better match PostgreSQL sync/indexer naming.

    - SELECT * FROM 0xfFf__someNS__someTable
    + SELECT * FROM 0xfff__some_ns__some_table
  • 252a185: Migrated to new config format.

Minor Changes

  • 3622e39: Added a followBlockTag option to configure which block number to follow when running createStoreSync. It defaults to latest (current behavior), which is recommended for individual clients so that you always have the latest chain state.

    Indexers now default to safe to avoid issues with reorgs and load-balanced RPCs being out of sync. This means indexers will be slightly behind the latest block number, but clients can quickly catch up. Indexers can override this setting using FOLLOW_BLOCK_TAG environment variable.

  • 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