@latticexyz/recs 2.0.12-main-9be2bb86 → 2.0.12-main-96e7bf43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -13
- package/CHANGELOG.md +0 -1248
- package/src/Component.spec.ts +0 -275
- package/src/Component.ts +0 -531
- package/src/Entity.spec.ts +0 -45
- package/src/Entity.ts +0 -46
- package/src/Indexer.spec.ts +0 -288
- package/src/Indexer.ts +0 -71
- package/src/Performance.spec.ts +0 -153
- package/src/Query.spec.ts +0 -811
- package/src/Query.ts +0 -554
- package/src/System.spec.ts +0 -139
- package/src/System.ts +0 -150
- package/src/World.spec.ts +0 -79
- package/src/World.ts +0 -102
- package/src/constants.ts +0 -54
- package/src/deprecated/constants.ts +0 -9
- package/src/deprecated/createActionSystem.spec.ts +0 -501
- package/src/deprecated/createActionSystem.ts +0 -236
- package/src/deprecated/defineActionComponent.ts +0 -18
- package/src/deprecated/index.ts +0 -2
- package/src/deprecated/types.ts +0 -45
- package/src/deprecated/waitForActionCompletion.ts +0 -15
- package/src/deprecated/waitForComponentValueIn.ts +0 -38
- package/src/index.ts +0 -9
- package/src/types.ts +0 -260
- package/src/utils.ts +0 -68
package/CHANGELOG.md
DELETED
@@ -1,1248 +0,0 @@
|
|
1
|
-
# Change Log
|
2
|
-
|
3
|
-
## 2.0.12-main-9be2bb86
|
4
|
-
|
5
|
-
### Patch Changes
|
6
|
-
|
7
|
-
- @latticexyz/schema-type@2.0.12-main-9be2bb86
|
8
|
-
- @latticexyz/utils@2.0.12-main-9be2bb86
|
9
|
-
|
10
|
-
## 2.0.11
|
11
|
-
|
12
|
-
### Patch Changes
|
13
|
-
|
14
|
-
- @latticexyz/schema-type@2.0.11
|
15
|
-
- @latticexyz/utils@2.0.11
|
16
|
-
|
17
|
-
## 2.0.10
|
18
|
-
|
19
|
-
### Patch Changes
|
20
|
-
|
21
|
-
- @latticexyz/schema-type@2.0.10
|
22
|
-
- @latticexyz/utils@2.0.10
|
23
|
-
|
24
|
-
## 2.0.9
|
25
|
-
|
26
|
-
### Patch Changes
|
27
|
-
|
28
|
-
- @latticexyz/schema-type@2.0.9
|
29
|
-
- @latticexyz/utils@2.0.9
|
30
|
-
|
31
|
-
## 2.0.8
|
32
|
-
|
33
|
-
### Patch Changes
|
34
|
-
|
35
|
-
- @latticexyz/schema-type@2.0.8
|
36
|
-
- @latticexyz/utils@2.0.8
|
37
|
-
|
38
|
-
## 2.0.7
|
39
|
-
|
40
|
-
### Patch Changes
|
41
|
-
|
42
|
-
- @latticexyz/schema-type@2.0.7
|
43
|
-
- @latticexyz/utils@2.0.7
|
44
|
-
|
45
|
-
## 2.0.6
|
46
|
-
|
47
|
-
### Patch Changes
|
48
|
-
|
49
|
-
- Updated dependencies [c18e93c5]
|
50
|
-
- Updated dependencies [d95028a6]
|
51
|
-
- @latticexyz/schema-type@2.0.6
|
52
|
-
- @latticexyz/utils@2.0.6
|
53
|
-
|
54
|
-
## 2.0.5
|
55
|
-
|
56
|
-
### Patch Changes
|
57
|
-
|
58
|
-
- @latticexyz/schema-type@2.0.5
|
59
|
-
- @latticexyz/utils@2.0.5
|
60
|
-
|
61
|
-
## 2.0.4
|
62
|
-
|
63
|
-
### Patch Changes
|
64
|
-
|
65
|
-
- @latticexyz/schema-type@2.0.4
|
66
|
-
- @latticexyz/utils@2.0.4
|
67
|
-
|
68
|
-
## 2.0.3
|
69
|
-
|
70
|
-
### Patch Changes
|
71
|
-
|
72
|
-
- @latticexyz/schema-type@2.0.3
|
73
|
-
- @latticexyz/utils@2.0.3
|
74
|
-
|
75
|
-
## 2.0.2
|
76
|
-
|
77
|
-
### Patch Changes
|
78
|
-
|
79
|
-
- @latticexyz/schema-type@2.0.2
|
80
|
-
- @latticexyz/utils@2.0.2
|
81
|
-
|
82
|
-
## 2.0.1
|
83
|
-
|
84
|
-
### Patch Changes
|
85
|
-
|
86
|
-
- @latticexyz/schema-type@2.0.1
|
87
|
-
- @latticexyz/utils@2.0.1
|
88
|
-
|
89
|
-
## 2.0.0
|
90
|
-
|
91
|
-
### Minor Changes
|
92
|
-
|
93
|
-
- c14f8bf1e: - Moved `createActionSystem` from `std-client` to `recs` package and updated it to better support v2 sync stack.
|
94
|
-
|
95
|
-
If you want to use `createActionSystem` alongside `syncToRecs`, you'll need to pass in arguments like so:
|
96
|
-
|
97
|
-
```ts
|
98
|
-
import { syncToRecs } from "@latticexyz/store-sync/recs";
|
99
|
-
import { createActionSystem } from "@latticexyz/recs/deprecated";
|
100
|
-
import { from, mergeMap } from "rxjs";
|
101
|
-
|
102
|
-
const { blockLogsStorage$, waitForTransaction } = syncToRecs({
|
103
|
-
world,
|
104
|
-
...
|
105
|
-
});
|
106
|
-
|
107
|
-
const txReduced$ = blockLogsStorage$.pipe(
|
108
|
-
mergeMap(({ operations }) => from(operations.map((op) => op.log?.transactionHash).filter(isDefined)))
|
109
|
-
);
|
110
|
-
|
111
|
-
const actionSystem = createActionSystem(world, txReduced$, waitForTransaction);
|
112
|
-
```
|
113
|
-
|
114
|
-
- Fixed a bug in `waitForComponentValueIn` that caused the promise to not resolve if the component value was already set when the function was called.
|
115
|
-
- Fixed a bug in `createActionSystem` that caused optimistic updates to be incorrectly propagated to requirement checks. To fix the bug, you must now pass in the full component object to the action's `updates` instead of just the component name.
|
116
|
-
|
117
|
-
```diff
|
118
|
-
actions.add({
|
119
|
-
updates: () => [
|
120
|
-
{
|
121
|
-
- component: "Resource",
|
122
|
-
+ component: Resource,
|
123
|
-
...
|
124
|
-
}
|
125
|
-
],
|
126
|
-
...
|
127
|
-
});
|
128
|
-
```
|
129
|
-
|
130
|
-
### Patch Changes
|
131
|
-
|
132
|
-
- ce7125a1b: Removes `solecs` package. These were v1 contracts, now entirely replaced by our v2 tooling. See the [MUD docs](https://mud.dev/) for building with v2 or create a new project from our v2 templates with `pnpm create mud@next your-app-name`.
|
133
|
-
- 1e2ad78e2: improve RECS error messages for v2 components
|
134
|
-
- 590542030: TS packages now generate their respective `.d.ts` type definition files for better compatibility when using MUD with `moduleResolution` set to `bundler` or `node16` and fixes issues around missing type declarations for dependent packages.
|
135
|
-
- 60cfd089f: Templates and examples now use MUD's new sync packages, all built on top of [viem](https://viem.sh/). This greatly speeds up and stabilizes our networking code and improves types throughout.
|
136
|
-
|
137
|
-
These new sync packages come with support for our `recs` package, including `encodeEntity` and `decodeEntity` utilities for composite keys.
|
138
|
-
|
139
|
-
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](https://github.com/sql-js/sql.js/)-powered sync module that will replace `store-cache`.
|
140
|
-
|
141
|
-
**Migrate existing RECS apps to new sync packages**
|
142
|
-
|
143
|
-
As you migrate, you may find some features replaced, removed, or not included by default. Please [open an issue](https://github.com/latticexyz/mud/issues/new) and let us know if we missed anything.
|
144
|
-
|
145
|
-
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)
|
146
|
-
2. In your `supportedChains.ts`, replace `foundry` chain with our new `mudFoundry` chain.
|
147
|
-
|
148
|
-
```diff
|
149
|
-
- import { foundry } from "viem/chains";
|
150
|
-
- import { MUDChain, latticeTestnet } from "@latticexyz/common/chains";
|
151
|
-
+ import { MUDChain, latticeTestnet, mudFoundry } from "@latticexyz/common/chains";
|
152
|
-
|
153
|
-
- export const supportedChains: MUDChain[] = [foundry, latticeTestnet];
|
154
|
-
+ export const supportedChains: MUDChain[] = [mudFoundry, latticeTestnet];
|
155
|
-
```
|
156
|
-
|
157
|
-
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.
|
158
|
-
|
159
|
-
```diff
|
160
|
-
- export async function getNetworkConfig(): Promise<NetworkConfig> {
|
161
|
-
+ export async function getNetworkConfig() {
|
162
|
-
```
|
163
|
-
|
164
|
-
```diff
|
165
|
-
const initialBlockNumber = params.has("initialBlockNumber")
|
166
|
-
? Number(params.get("initialBlockNumber"))
|
167
|
-
- : world?.blockNumber ?? -1; // -1 will attempt to find the block number from RPC
|
168
|
-
+ : world?.blockNumber ?? 0n;
|
169
|
-
```
|
170
|
-
|
171
|
-
```diff
|
172
|
-
+ return {
|
173
|
-
+ privateKey: getBurnerWallet().value,
|
174
|
-
+ chain,
|
175
|
-
+ worldAddress,
|
176
|
-
+ initialBlockNumber,
|
177
|
-
+ faucetServiceUrl: params.get("faucet") ?? chain.faucetUrl,
|
178
|
-
+ };
|
179
|
-
```
|
180
|
-
|
181
|
-
4. In `setupNetwork.ts`, replace `setupMUDV2Network` with `syncToRecs`.
|
182
|
-
|
183
|
-
```diff
|
184
|
-
- import { setupMUDV2Network } from "@latticexyz/std-client";
|
185
|
-
- import { createFastTxExecutor, createFaucetService, getSnapSyncRecords } from "@latticexyz/network";
|
186
|
-
+ import { createFaucetService } from "@latticexyz/network";
|
187
|
-
+ import { createPublicClient, fallback, webSocket, http, createWalletClient, getContract, Hex, parseEther, ClientConfig } from "viem";
|
188
|
-
+ import { encodeEntity, syncToRecs } from "@latticexyz/store-sync/recs";
|
189
|
-
+ import { createBurnerAccount, createContract, transportObserver } from "@latticexyz/common";
|
190
|
-
```
|
191
|
-
|
192
|
-
```diff
|
193
|
-
- const result = await setupMUDV2Network({
|
194
|
-
- ...
|
195
|
-
- });
|
196
|
-
|
197
|
-
+ const clientOptions = {
|
198
|
-
+ chain: networkConfig.chain,
|
199
|
-
+ transport: transportObserver(fallback([webSocket(), http()])),
|
200
|
-
+ pollingInterval: 1000,
|
201
|
-
+ } as const satisfies ClientConfig;
|
202
|
-
|
203
|
-
+ const publicClient = createPublicClient(clientOptions);
|
204
|
-
|
205
|
-
+ const burnerAccount = createBurnerAccount(networkConfig.privateKey as Hex);
|
206
|
-
+ const burnerWalletClient = createWalletClient({
|
207
|
-
+ ...clientOptions,
|
208
|
-
+ account: burnerAccount,
|
209
|
-
+ });
|
210
|
-
|
211
|
-
+ const { components, latestBlock$, blockStorageOperations$, waitForTransaction } = await syncToRecs({
|
212
|
-
+ world,
|
213
|
-
+ config: storeConfig,
|
214
|
-
+ address: networkConfig.worldAddress as Hex,
|
215
|
-
+ publicClient,
|
216
|
-
+ components: contractComponents,
|
217
|
-
+ startBlock: BigInt(networkConfig.initialBlockNumber),
|
218
|
-
+ indexerUrl: networkConfig.indexerUrl ?? undefined,
|
219
|
-
+ });
|
220
|
-
|
221
|
-
+ const worldContract = createContract({
|
222
|
-
+ address: networkConfig.worldAddress as Hex,
|
223
|
-
+ abi: IWorld__factory.abi,
|
224
|
-
+ publicClient,
|
225
|
-
+ walletClient: burnerWalletClient,
|
226
|
-
+ });
|
227
|
-
```
|
228
|
-
|
229
|
-
```diff
|
230
|
-
// Request drip from faucet
|
231
|
-
- const signer = result.network.signer.get();
|
232
|
-
- if (networkConfig.faucetServiceUrl && signer) {
|
233
|
-
- const address = await signer.getAddress();
|
234
|
-
+ if (networkConfig.faucetServiceUrl) {
|
235
|
-
+ const address = burnerAccount.address;
|
236
|
-
```
|
237
|
-
|
238
|
-
```diff
|
239
|
-
const requestDrip = async () => {
|
240
|
-
- const balance = await signer.getBalance();
|
241
|
-
+ const balance = await publicClient.getBalance({ address });
|
242
|
-
console.info(`[Dev Faucet]: Player balance -> ${balance}`);
|
243
|
-
- const lowBalance = balance?.lte(utils.parseEther("1"));
|
244
|
-
+ const lowBalance = balance < parseEther("1");
|
245
|
-
```
|
246
|
-
|
247
|
-
You can remove the previous ethers `worldContract`, snap sync code, and fast transaction executor.
|
248
|
-
|
249
|
-
The return of `setupNetwork` is a bit different than before, so you may have to do corresponding app changes.
|
250
|
-
|
251
|
-
```diff
|
252
|
-
+ return {
|
253
|
-
+ world,
|
254
|
-
+ components,
|
255
|
-
+ playerEntity: encodeEntity({ address: "address" }, { address: burnerWalletClient.account.address }),
|
256
|
-
+ publicClient,
|
257
|
-
+ walletClient: burnerWalletClient,
|
258
|
-
+ latestBlock$,
|
259
|
-
+ blockStorageOperations$,
|
260
|
-
+ waitForTransaction,
|
261
|
-
+ worldContract,
|
262
|
-
+ };
|
263
|
-
```
|
264
|
-
|
265
|
-
5. Update `createSystemCalls` with the new return type of `setupNetwork`.
|
266
|
-
|
267
|
-
```diff
|
268
|
-
export function createSystemCalls(
|
269
|
-
- { worldSend, txReduced$, singletonEntity }: SetupNetworkResult,
|
270
|
-
+ { worldContract, waitForTransaction }: SetupNetworkResult,
|
271
|
-
{ Counter }: ClientComponents
|
272
|
-
) {
|
273
|
-
const increment = async () => {
|
274
|
-
- const tx = await worldSend("increment", []);
|
275
|
-
- await awaitStreamValue(txReduced$, (txHash) => txHash === tx.hash);
|
276
|
-
+ const tx = await worldContract.write.increment();
|
277
|
-
+ await waitForTransaction(tx);
|
278
|
-
return getComponentValue(Counter, singletonEntity);
|
279
|
-
};
|
280
|
-
```
|
281
|
-
|
282
|
-
6. (optional) If you still need a clock, you can create it with:
|
283
|
-
|
284
|
-
```ts
|
285
|
-
import { map, filter } from "rxjs";
|
286
|
-
import { createClock } from "@latticexyz/network";
|
287
|
-
|
288
|
-
const clock = createClock({
|
289
|
-
period: 1000,
|
290
|
-
initialTime: 0,
|
291
|
-
syncInterval: 5000,
|
292
|
-
});
|
293
|
-
|
294
|
-
world.registerDisposer(() => clock.dispose());
|
295
|
-
|
296
|
-
latestBlock$
|
297
|
-
.pipe(
|
298
|
-
map((block) => Number(block.timestamp) * 1000), // Map to timestamp in ms
|
299
|
-
filter((blockTimestamp) => blockTimestamp !== clock.lastUpdateTime), // Ignore if the clock was already refreshed with this block
|
300
|
-
filter((blockTimestamp) => blockTimestamp !== clock.currentTime), // Ignore if the current local timestamp is correct
|
301
|
-
)
|
302
|
-
.subscribe(clock.update); // Update the local clock
|
303
|
-
```
|
304
|
-
|
305
|
-
If you're using the previous `LoadingState` component, you'll want to migrate to the new `SyncProgress`:
|
306
|
-
|
307
|
-
```ts
|
308
|
-
import { SyncStep, singletonEntity } from "@latticexyz/store-sync/recs";
|
309
|
-
|
310
|
-
const syncProgress = useComponentValue(SyncProgress, singletonEntity, {
|
311
|
-
message: "Connecting",
|
312
|
-
percentage: 0,
|
313
|
-
step: SyncStep.INITIALIZE,
|
314
|
-
});
|
315
|
-
|
316
|
-
if (syncProgress.step === SyncStep.LIVE) {
|
317
|
-
// we're live!
|
318
|
-
}
|
319
|
-
```
|
320
|
-
|
321
|
-
- afdba793f: Update RECS components with v2 key/value schemas. This helps with encoding/decoding composite keys and strong types for keys/values.
|
322
|
-
|
323
|
-
This may break if you were previously dependent on `component.id`, `component.metadata.componentId`, or `component.metadata.tableId`:
|
324
|
-
|
325
|
-
- `component.id` is now the on-chain `bytes32` hex representation of the table ID
|
326
|
-
- `component.metadata.componentName` is the table name (e.g. `Position`)
|
327
|
-
- `component.metadata.tableName` is the namespaced table name (e.g. `myworld:Position`)
|
328
|
-
- `component.metadata.keySchema` is an object with key names and their corresponding ABI types
|
329
|
-
- `component.metadata.valueSchema` is an object with field names and their corresponding ABI types
|
330
|
-
|
331
|
-
- Updated dependencies [52182f70d]
|
332
|
-
- Updated dependencies [aabd30767]
|
333
|
-
- Updated dependencies [b38c096d]
|
334
|
-
- Updated dependencies [f99e88987]
|
335
|
-
- Updated dependencies [48909d151]
|
336
|
-
- Updated dependencies [b02f9d0e4]
|
337
|
-
- Updated dependencies [bb91edaa0]
|
338
|
-
- Updated dependencies [590542030]
|
339
|
-
- Updated dependencies [f03531d97]
|
340
|
-
- Updated dependencies [b8a6158d6]
|
341
|
-
- Updated dependencies [92de59982]
|
342
|
-
- Updated dependencies [4e4a34150]
|
343
|
-
- Updated dependencies [535229984]
|
344
|
-
- Updated dependencies [d7b1c588a]
|
345
|
-
- @latticexyz/utils@2.0.0
|
346
|
-
- @latticexyz/schema-type@2.0.0
|
347
|
-
|
348
|
-
## 2.0.0-next.18
|
349
|
-
|
350
|
-
### Patch Changes
|
351
|
-
|
352
|
-
- Updated dependencies [b38c096d]
|
353
|
-
- Updated dependencies [d7b1c588a]
|
354
|
-
- @latticexyz/schema-type@2.0.0-next.18
|
355
|
-
- @latticexyz/utils@2.0.0-next.18
|
356
|
-
|
357
|
-
## 2.0.0-next.17
|
358
|
-
|
359
|
-
### Patch Changes
|
360
|
-
|
361
|
-
- Updated dependencies [aabd3076]
|
362
|
-
- @latticexyz/schema-type@2.0.0-next.17
|
363
|
-
- @latticexyz/utils@2.0.0-next.17
|
364
|
-
|
365
|
-
## 2.0.0-next.16
|
366
|
-
|
367
|
-
### Patch Changes
|
368
|
-
|
369
|
-
- @latticexyz/schema-type@2.0.0-next.16
|
370
|
-
- @latticexyz/utils@2.0.0-next.16
|
371
|
-
|
372
|
-
## 2.0.0-next.15
|
373
|
-
|
374
|
-
### Patch Changes
|
375
|
-
|
376
|
-
- 59054203: TS packages now generate their respective `.d.ts` type definition files for better compatibility when using MUD with `moduleResolution` set to `bundler` or `node16` and fixes issues around missing type declarations for dependent packages.
|
377
|
-
- Updated dependencies [59054203]
|
378
|
-
- @latticexyz/schema-type@2.0.0-next.15
|
379
|
-
- @latticexyz/utils@2.0.0-next.15
|
380
|
-
|
381
|
-
## 2.0.0-next.14
|
382
|
-
|
383
|
-
### Patch Changes
|
384
|
-
|
385
|
-
- Updated dependencies [bb91edaa]
|
386
|
-
- @latticexyz/schema-type@2.0.0-next.14
|
387
|
-
- @latticexyz/utils@2.0.0-next.14
|
388
|
-
|
389
|
-
## 2.0.0-next.13
|
390
|
-
|
391
|
-
### Patch Changes
|
392
|
-
|
393
|
-
- Updated dependencies [52182f70]
|
394
|
-
- @latticexyz/utils@2.0.0-next.13
|
395
|
-
- @latticexyz/schema-type@2.0.0-next.13
|
396
|
-
|
397
|
-
## 2.0.0-next.12
|
398
|
-
|
399
|
-
### Patch Changes
|
400
|
-
|
401
|
-
- @latticexyz/schema-type@2.0.0-next.12
|
402
|
-
- @latticexyz/utils@2.0.0-next.12
|
403
|
-
|
404
|
-
## 2.0.0-next.11
|
405
|
-
|
406
|
-
### Patch Changes
|
407
|
-
|
408
|
-
- Updated dependencies [f99e8898]
|
409
|
-
- @latticexyz/schema-type@2.0.0-next.11
|
410
|
-
- @latticexyz/utils@2.0.0-next.11
|
411
|
-
|
412
|
-
## 2.0.0-next.10
|
413
|
-
|
414
|
-
### Patch Changes
|
415
|
-
|
416
|
-
- Updated dependencies []:
|
417
|
-
- @latticexyz/schema-type@2.0.0-next.10
|
418
|
-
- @latticexyz/utils@2.0.0-next.10
|
419
|
-
|
420
|
-
## 2.0.0-next.9
|
421
|
-
|
422
|
-
### Patch Changes
|
423
|
-
|
424
|
-
- Updated dependencies [[`92de5998`](https://github.com/latticexyz/mud/commit/92de59982fb9fc4e00e50c4a5232ed541f3ce71a)]:
|
425
|
-
- @latticexyz/schema-type@2.0.0-next.9
|
426
|
-
- @latticexyz/utils@2.0.0-next.9
|
427
|
-
|
428
|
-
## 2.0.0-next.8
|
429
|
-
|
430
|
-
### Patch Changes
|
431
|
-
|
432
|
-
- Updated dependencies []:
|
433
|
-
- @latticexyz/schema-type@2.0.0-next.8
|
434
|
-
- @latticexyz/utils@2.0.0-next.8
|
435
|
-
|
436
|
-
## 2.0.0-next.7
|
437
|
-
|
438
|
-
### Patch Changes
|
439
|
-
|
440
|
-
- Updated dependencies []:
|
441
|
-
- @latticexyz/schema-type@2.0.0-next.7
|
442
|
-
- @latticexyz/utils@2.0.0-next.7
|
443
|
-
|
444
|
-
## 2.0.0-next.6
|
445
|
-
|
446
|
-
### Patch Changes
|
447
|
-
|
448
|
-
- Updated dependencies []:
|
449
|
-
- @latticexyz/schema-type@2.0.0-next.6
|
450
|
-
- @latticexyz/utils@2.0.0-next.6
|
451
|
-
|
452
|
-
## 2.0.0-next.5
|
453
|
-
|
454
|
-
### Patch Changes
|
455
|
-
|
456
|
-
- Updated dependencies []:
|
457
|
-
- @latticexyz/schema-type@2.0.0-next.5
|
458
|
-
- @latticexyz/utils@2.0.0-next.5
|
459
|
-
|
460
|
-
## 2.0.0-next.4
|
461
|
-
|
462
|
-
### Minor Changes
|
463
|
-
|
464
|
-
- [#1351](https://github.com/latticexyz/mud/pull/1351) [`c14f8bf1`](https://github.com/latticexyz/mud/commit/c14f8bf1ec8c199902c12899853ac144aa69bb9c) Thanks [@holic](https://github.com/holic)! - - Moved `createActionSystem` from `std-client` to `recs` package and updated it to better support v2 sync stack.
|
465
|
-
|
466
|
-
If you want to use `createActionSystem` alongside `syncToRecs`, you'll need to pass in arguments like so:
|
467
|
-
|
468
|
-
```ts
|
469
|
-
import { syncToRecs } from "@latticexyz/store-sync/recs";
|
470
|
-
import { createActionSystem } from "@latticexyz/recs/deprecated";
|
471
|
-
import { from, mergeMap } from "rxjs";
|
472
|
-
|
473
|
-
const { blockLogsStorage$, waitForTransaction } = syncToRecs({
|
474
|
-
world,
|
475
|
-
...
|
476
|
-
});
|
477
|
-
|
478
|
-
const txReduced$ = blockLogsStorage$.pipe(
|
479
|
-
mergeMap(({ operations }) => from(operations.map((op) => op.log?.transactionHash).filter(isDefined)))
|
480
|
-
);
|
481
|
-
|
482
|
-
const actionSystem = createActionSystem(world, txReduced$, waitForTransaction);
|
483
|
-
```
|
484
|
-
|
485
|
-
- Fixed a bug in `waitForComponentValueIn` that caused the promise to not resolve if the component value was already set when the function was called.
|
486
|
-
|
487
|
-
- Fixed a bug in `createActionSystem` that caused optimistic updates to be incorrectly propagated to requirement checks. To fix the bug, you must now pass in the full component object to the action's `updates` instead of just the component name.
|
488
|
-
|
489
|
-
```diff
|
490
|
-
actions.add({
|
491
|
-
updates: () => [
|
492
|
-
{
|
493
|
-
- component: "Resource",
|
494
|
-
+ component: Resource,
|
495
|
-
...
|
496
|
-
}
|
497
|
-
],
|
498
|
-
...
|
499
|
-
});
|
500
|
-
```
|
501
|
-
|
502
|
-
### Patch Changes
|
503
|
-
|
504
|
-
- [#1340](https://github.com/latticexyz/mud/pull/1340) [`ce7125a1`](https://github.com/latticexyz/mud/commit/ce7125a1b97efd3db47c5ea1593d5a37ba143f64) Thanks [@holic](https://github.com/holic)! - Removes `solecs` package. These were v1 contracts, now entirely replaced by our v2 tooling. See the [MUD docs](https://mud.dev/) for building with v2 or create a new project from our v2 templates with `pnpm create mud@next your-app-name`.
|
505
|
-
|
506
|
-
- Updated dependencies []:
|
507
|
-
- @latticexyz/schema-type@2.0.0-next.4
|
508
|
-
- @latticexyz/utils@2.0.0-next.4
|
509
|
-
|
510
|
-
## 2.0.0-next.3
|
511
|
-
|
512
|
-
### Patch Changes
|
513
|
-
|
514
|
-
- Updated dependencies []:
|
515
|
-
- @latticexyz/schema-type@2.0.0-next.3
|
516
|
-
- @latticexyz/utils@2.0.0-next.3
|
517
|
-
|
518
|
-
## 2.0.0-next.2
|
519
|
-
|
520
|
-
### Patch Changes
|
521
|
-
|
522
|
-
- Updated dependencies [[`b8a6158d`](https://github.com/latticexyz/mud/commit/b8a6158d63738ebfc1e7eb221909436d050c7e39)]:
|
523
|
-
- @latticexyz/schema-type@2.0.0-next.2
|
524
|
-
- @latticexyz/utils@2.0.0-next.2
|
525
|
-
|
526
|
-
## 2.0.0-next.1
|
527
|
-
|
528
|
-
### Patch Changes
|
529
|
-
|
530
|
-
- [#1214](https://github.com/latticexyz/mud/pull/1214) [`60cfd089`](https://github.com/latticexyz/mud/commit/60cfd089fc7a17b98864b631d265f36718df35a9) Thanks [@holic](https://github.com/holic)! - Templates and examples now use MUD's new sync packages, all built on top of [viem](https://viem.sh/). This greatly speeds up and stabilizes our networking code and improves types throughout.
|
531
|
-
|
532
|
-
These new sync packages come with support for our `recs` package, including `encodeEntity` and `decodeEntity` utilities for composite keys.
|
533
|
-
|
534
|
-
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](https://github.com/sql-js/sql.js/)-powered sync module that will replace `store-cache`.
|
535
|
-
|
536
|
-
**Migrate existing RECS apps to new sync packages**
|
537
|
-
|
538
|
-
As you migrate, you may find some features replaced, removed, or not included by default. Please [open an issue](https://github.com/latticexyz/mud/issues/new) and let us know if we missed anything.
|
539
|
-
|
540
|
-
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)
|
541
|
-
|
542
|
-
2. In your `supportedChains.ts`, replace `foundry` chain with our new `mudFoundry` chain.
|
543
|
-
|
544
|
-
```diff
|
545
|
-
- import { foundry } from "viem/chains";
|
546
|
-
- import { MUDChain, latticeTestnet } from "@latticexyz/common/chains";
|
547
|
-
+ import { MUDChain, latticeTestnet, mudFoundry } from "@latticexyz/common/chains";
|
548
|
-
|
549
|
-
- export const supportedChains: MUDChain[] = [foundry, latticeTestnet];
|
550
|
-
+ export const supportedChains: MUDChain[] = [mudFoundry, latticeTestnet];
|
551
|
-
```
|
552
|
-
|
553
|
-
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.
|
554
|
-
|
555
|
-
```diff
|
556
|
-
- export async function getNetworkConfig(): Promise<NetworkConfig> {
|
557
|
-
+ export async function getNetworkConfig() {
|
558
|
-
```
|
559
|
-
|
560
|
-
```diff
|
561
|
-
const initialBlockNumber = params.has("initialBlockNumber")
|
562
|
-
? Number(params.get("initialBlockNumber"))
|
563
|
-
- : world?.blockNumber ?? -1; // -1 will attempt to find the block number from RPC
|
564
|
-
+ : world?.blockNumber ?? 0n;
|
565
|
-
```
|
566
|
-
|
567
|
-
```diff
|
568
|
-
+ return {
|
569
|
-
+ privateKey: getBurnerWallet().value,
|
570
|
-
+ chain,
|
571
|
-
+ worldAddress,
|
572
|
-
+ initialBlockNumber,
|
573
|
-
+ faucetServiceUrl: params.get("faucet") ?? chain.faucetUrl,
|
574
|
-
+ };
|
575
|
-
```
|
576
|
-
|
577
|
-
4. In `setupNetwork.ts`, replace `setupMUDV2Network` with `syncToRecs`.
|
578
|
-
|
579
|
-
```diff
|
580
|
-
- import { setupMUDV2Network } from "@latticexyz/std-client";
|
581
|
-
- import { createFastTxExecutor, createFaucetService, getSnapSyncRecords } from "@latticexyz/network";
|
582
|
-
+ import { createFaucetService } from "@latticexyz/network";
|
583
|
-
+ import { createPublicClient, fallback, webSocket, http, createWalletClient, getContract, Hex, parseEther, ClientConfig } from "viem";
|
584
|
-
+ import { encodeEntity, syncToRecs } from "@latticexyz/store-sync/recs";
|
585
|
-
+ import { createBurnerAccount, createContract, transportObserver } from "@latticexyz/common";
|
586
|
-
```
|
587
|
-
|
588
|
-
```diff
|
589
|
-
- const result = await setupMUDV2Network({
|
590
|
-
- ...
|
591
|
-
- });
|
592
|
-
|
593
|
-
+ const clientOptions = {
|
594
|
-
+ chain: networkConfig.chain,
|
595
|
-
+ transport: transportObserver(fallback([webSocket(), http()])),
|
596
|
-
+ pollingInterval: 1000,
|
597
|
-
+ } as const satisfies ClientConfig;
|
598
|
-
|
599
|
-
+ const publicClient = createPublicClient(clientOptions);
|
600
|
-
|
601
|
-
+ const burnerAccount = createBurnerAccount(networkConfig.privateKey as Hex);
|
602
|
-
+ const burnerWalletClient = createWalletClient({
|
603
|
-
+ ...clientOptions,
|
604
|
-
+ account: burnerAccount,
|
605
|
-
+ });
|
606
|
-
|
607
|
-
+ const { components, latestBlock$, blockStorageOperations$, waitForTransaction } = await syncToRecs({
|
608
|
-
+ world,
|
609
|
-
+ config: storeConfig,
|
610
|
-
+ address: networkConfig.worldAddress as Hex,
|
611
|
-
+ publicClient,
|
612
|
-
+ components: contractComponents,
|
613
|
-
+ startBlock: BigInt(networkConfig.initialBlockNumber),
|
614
|
-
+ indexerUrl: networkConfig.indexerUrl ?? undefined,
|
615
|
-
+ });
|
616
|
-
|
617
|
-
+ const worldContract = createContract({
|
618
|
-
+ address: networkConfig.worldAddress as Hex,
|
619
|
-
+ abi: IWorld__factory.abi,
|
620
|
-
+ publicClient,
|
621
|
-
+ walletClient: burnerWalletClient,
|
622
|
-
+ });
|
623
|
-
```
|
624
|
-
|
625
|
-
```diff
|
626
|
-
// Request drip from faucet
|
627
|
-
- const signer = result.network.signer.get();
|
628
|
-
- if (networkConfig.faucetServiceUrl && signer) {
|
629
|
-
- const address = await signer.getAddress();
|
630
|
-
+ if (networkConfig.faucetServiceUrl) {
|
631
|
-
+ const address = burnerAccount.address;
|
632
|
-
```
|
633
|
-
|
634
|
-
```diff
|
635
|
-
const requestDrip = async () => {
|
636
|
-
- const balance = await signer.getBalance();
|
637
|
-
+ const balance = await publicClient.getBalance({ address });
|
638
|
-
console.info(`[Dev Faucet]: Player balance -> ${balance}`);
|
639
|
-
- const lowBalance = balance?.lte(utils.parseEther("1"));
|
640
|
-
+ const lowBalance = balance < parseEther("1");
|
641
|
-
```
|
642
|
-
|
643
|
-
You can remove the previous ethers `worldContract`, snap sync code, and fast transaction executor.
|
644
|
-
|
645
|
-
The return of `setupNetwork` is a bit different than before, so you may have to do corresponding app changes.
|
646
|
-
|
647
|
-
```diff
|
648
|
-
+ return {
|
649
|
-
+ world,
|
650
|
-
+ components,
|
651
|
-
+ playerEntity: encodeEntity({ address: "address" }, { address: burnerWalletClient.account.address }),
|
652
|
-
+ publicClient,
|
653
|
-
+ walletClient: burnerWalletClient,
|
654
|
-
+ latestBlock$,
|
655
|
-
+ blockStorageOperations$,
|
656
|
-
+ waitForTransaction,
|
657
|
-
+ worldContract,
|
658
|
-
+ };
|
659
|
-
```
|
660
|
-
|
661
|
-
5. Update `createSystemCalls` with the new return type of `setupNetwork`.
|
662
|
-
|
663
|
-
```diff
|
664
|
-
export function createSystemCalls(
|
665
|
-
- { worldSend, txReduced$, singletonEntity }: SetupNetworkResult,
|
666
|
-
+ { worldContract, waitForTransaction }: SetupNetworkResult,
|
667
|
-
{ Counter }: ClientComponents
|
668
|
-
) {
|
669
|
-
const increment = async () => {
|
670
|
-
- const tx = await worldSend("increment", []);
|
671
|
-
- await awaitStreamValue(txReduced$, (txHash) => txHash === tx.hash);
|
672
|
-
+ const tx = await worldContract.write.increment();
|
673
|
-
+ await waitForTransaction(tx);
|
674
|
-
return getComponentValue(Counter, singletonEntity);
|
675
|
-
};
|
676
|
-
```
|
677
|
-
|
678
|
-
6. (optional) If you still need a clock, you can create it with:
|
679
|
-
|
680
|
-
```ts
|
681
|
-
import { map, filter } from "rxjs";
|
682
|
-
import { createClock } from "@latticexyz/network";
|
683
|
-
|
684
|
-
const clock = createClock({
|
685
|
-
period: 1000,
|
686
|
-
initialTime: 0,
|
687
|
-
syncInterval: 5000,
|
688
|
-
});
|
689
|
-
|
690
|
-
world.registerDisposer(() => clock.dispose());
|
691
|
-
|
692
|
-
latestBlock$
|
693
|
-
.pipe(
|
694
|
-
map((block) => Number(block.timestamp) * 1000), // Map to timestamp in ms
|
695
|
-
filter((blockTimestamp) => blockTimestamp !== clock.lastUpdateTime), // Ignore if the clock was already refreshed with this block
|
696
|
-
filter((blockTimestamp) => blockTimestamp !== clock.currentTime), // Ignore if the current local timestamp is correct
|
697
|
-
)
|
698
|
-
.subscribe(clock.update); // Update the local clock
|
699
|
-
```
|
700
|
-
|
701
|
-
If you're using the previous `LoadingState` component, you'll want to migrate to the new `SyncProgress`:
|
702
|
-
|
703
|
-
```ts
|
704
|
-
import { SyncStep, singletonEntity } from "@latticexyz/store-sync/recs";
|
705
|
-
|
706
|
-
const syncProgress = useComponentValue(SyncProgress, singletonEntity, {
|
707
|
-
message: "Connecting",
|
708
|
-
percentage: 0,
|
709
|
-
step: SyncStep.INITIALIZE,
|
710
|
-
});
|
711
|
-
|
712
|
-
if (syncProgress.step === SyncStep.LIVE) {
|
713
|
-
// we're live!
|
714
|
-
}
|
715
|
-
```
|
716
|
-
|
717
|
-
- [#1195](https://github.com/latticexyz/mud/pull/1195) [`afdba793`](https://github.com/latticexyz/mud/commit/afdba793fd84abf17eef5ef59dd56fabe353c8bd) Thanks [@holic](https://github.com/holic)! - Update RECS components with v2 key/value schemas. This helps with encoding/decoding composite keys and strong types for keys/values.
|
718
|
-
|
719
|
-
This may break if you were previously dependent on `component.id`, `component.metadata.componentId`, or `component.metadata.tableId`:
|
720
|
-
|
721
|
-
- `component.id` is now the on-chain `bytes32` hex representation of the table ID
|
722
|
-
- `component.metadata.componentName` is the table name (e.g. `Position`)
|
723
|
-
- `component.metadata.tableName` is the namespaced table name (e.g. `myworld:Position`)
|
724
|
-
- `component.metadata.keySchema` is an object with key names and their corresponding ABI types
|
725
|
-
- `component.metadata.valueSchema` is an object with field names and their corresponding ABI types
|
726
|
-
|
727
|
-
- Updated dependencies [[`b02f9d0e`](https://github.com/latticexyz/mud/commit/b02f9d0e43089e5f9b46d817ea2032ce0a1b0b07)]:
|
728
|
-
- @latticexyz/schema-type@2.0.0-next.1
|
729
|
-
- @latticexyz/utils@2.0.0-next.1
|
730
|
-
|
731
|
-
## 2.0.0-next.0
|
732
|
-
|
733
|
-
### Patch Changes
|
734
|
-
|
735
|
-
- [#1167](https://github.com/latticexyz/mud/pull/1167) [`1e2ad78e`](https://github.com/latticexyz/mud/commit/1e2ad78e277b551dd1b8efb0e4438fb10441644c) Thanks [@holic](https://github.com/holic)! - improve RECS error messages for v2 components
|
736
|
-
|
737
|
-
- Updated dependencies [[`48909d15`](https://github.com/latticexyz/mud/commit/48909d151b3dfceab128c120bc6bb77de53c456b), [`f03531d9`](https://github.com/latticexyz/mud/commit/f03531d97c999954a626ef63bc5bbae51a7b90f3), [`4e4a3415`](https://github.com/latticexyz/mud/commit/4e4a34150aeae988c8e61e25d55c227afb6c2d4b), [`53522998`](https://github.com/latticexyz/mud/commit/535229984565539e6168042150b45fe0f9b48b0f)]:
|
738
|
-
- @latticexyz/schema-type@2.0.0-next.0
|
739
|
-
- @latticexyz/utils@2.0.0-next.0
|
740
|
-
|
741
|
-
All notable changes to this project will be documented in this file.
|
742
|
-
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
743
|
-
|
744
|
-
# [1.42.0](https://github.com/latticexyz/mud/compare/v1.41.0...v1.42.0) (2023-04-13)
|
745
|
-
|
746
|
-
### Bug Fixes
|
747
|
-
|
748
|
-
- **recs,cli:** fix bigint in recs and tsgen ([#563](https://github.com/latticexyz/mud/issues/563)) ([29fefae](https://github.com/latticexyz/mud/commit/29fefae43d96b107a66b9fd365b566cb8c466f8b))
|
749
|
-
- **recs:** overridden component update stream should return the overridden component ([#544](https://github.com/latticexyz/mud/issues/544)) ([9af097d](https://github.com/latticexyz/mud/commit/9af097de7914d0c43b7d65ca6271260439bc6bc4))
|
750
|
-
|
751
|
-
### Features
|
752
|
-
|
753
|
-
- **cli/recs/std-client:** add ts definitions generator ([#536](https://github.com/latticexyz/mud/issues/536)) ([dd1efa6](https://github.com/latticexyz/mud/commit/dd1efa6a1ebd2b3c62080d1b191633d7b0072916))
|
754
|
-
- **cli:** improve storeArgument, refactor cli ([#500](https://github.com/latticexyz/mud/issues/500)) ([bb68670](https://github.com/latticexyz/mud/commit/bb686702da75401d9ea4a8c8effcf3a15fa53b49))
|
755
|
-
- **cli:** use abi types in store config ([#507](https://github.com/latticexyz/mud/issues/507)) ([12a739f](https://github.com/latticexyz/mud/commit/12a739f953d0929f7ffc8657fa22bc9e68201d75))
|
756
|
-
- **network,recs,std-client:** support StoreSetField before StoreSetRecord ([#581](https://github.com/latticexyz/mud/issues/581)) ([f259f90](https://github.com/latticexyz/mud/commit/f259f90e1c561163a6675f4ec51b1659681d880b)), closes [#479](https://github.com/latticexyz/mud/issues/479) [#523](https://github.com/latticexyz/mud/issues/523)
|
757
|
-
- **network:** integrate initial sync from MODE ([#493](https://github.com/latticexyz/mud/issues/493)) ([7d06c1b](https://github.com/latticexyz/mud/commit/7d06c1b5cf00df627000c907e78f60d3cd2415cd))
|
758
|
-
- v2 event decoding ([#415](https://github.com/latticexyz/mud/issues/415)) ([374ed54](https://github.com/latticexyz/mud/commit/374ed542c3387a4ec2b36ab68ae534419aa58763))
|
759
|
-
|
760
|
-
# [1.41.0](https://github.com/latticexyz/mud/compare/v1.40.0...v1.41.0) (2023-03-09)
|
761
|
-
|
762
|
-
**Note:** Version bump only for package @latticexyz/recs
|
763
|
-
|
764
|
-
# [1.40.0](https://github.com/latticexyz/mud/compare/v1.39.0...v1.40.0) (2023-03-03)
|
765
|
-
|
766
|
-
**Note:** Version bump only for package @latticexyz/recs
|
767
|
-
|
768
|
-
# [1.39.0](https://github.com/latticexyz/mud/compare/v1.38.0...v1.39.0) (2023-02-22)
|
769
|
-
|
770
|
-
**Note:** Version bump only for package @latticexyz/recs
|
771
|
-
|
772
|
-
# [1.38.0](https://github.com/latticexyz/mud/compare/v1.37.1...v1.38.0) (2023-02-22)
|
773
|
-
|
774
|
-
**Note:** Version bump only for package @latticexyz/recs
|
775
|
-
|
776
|
-
## [1.37.1](https://github.com/latticexyz/mud/compare/v1.37.0...v1.37.1) (2023-02-17)
|
777
|
-
|
778
|
-
**Note:** Version bump only for package @latticexyz/recs
|
779
|
-
|
780
|
-
# [1.37.0](https://github.com/latticexyz/mud/compare/v1.36.1...v1.37.0) (2023-02-16)
|
781
|
-
|
782
|
-
### Bug Fixes
|
783
|
-
|
784
|
-
- package entry points, peer dep versions ([#409](https://github.com/latticexyz/mud/issues/409)) ([66a7fd6](https://github.com/latticexyz/mud/commit/66a7fd6f74620ce02c60e3d55701d4740cc65251))
|
785
|
-
|
786
|
-
### Reverts
|
787
|
-
|
788
|
-
- Revert "chore(release): publish v1.37.0" ([c934f53](https://github.com/latticexyz/mud/commit/c934f5388c1e56f2fe6390fdda30f5b9b1ea1c20))
|
789
|
-
|
790
|
-
## [1.36.1](https://github.com/latticexyz/mud/compare/v1.36.0...v1.36.1) (2023-02-16)
|
791
|
-
|
792
|
-
**Note:** Version bump only for package @latticexyz/recs
|
793
|
-
|
794
|
-
# [1.35.0](https://github.com/latticexyz/mud/compare/v1.34.0...v1.35.0) (2023-02-15)
|
795
|
-
|
796
|
-
**Note:** Version bump only for package @latticexyz/recs
|
797
|
-
|
798
|
-
# [1.34.0](https://github.com/latticexyz/mud/compare/v1.33.1...v1.34.0) (2023-01-29)
|
799
|
-
|
800
|
-
**Note:** Version bump only for package @latticexyz/recs
|
801
|
-
|
802
|
-
## [1.33.1](https://github.com/latticexyz/mud/compare/v1.33.0...v1.33.1) (2023-01-12)
|
803
|
-
|
804
|
-
**Note:** Version bump only for package @latticexyz/recs
|
805
|
-
|
806
|
-
# [1.33.0](https://github.com/latticexyz/mud/compare/v1.32.0...v1.33.0) (2023-01-12)
|
807
|
-
|
808
|
-
**Note:** Version bump only for package @latticexyz/recs
|
809
|
-
|
810
|
-
# [1.32.0](https://github.com/latticexyz/mud/compare/v1.31.3...v1.32.0) (2023-01-06)
|
811
|
-
|
812
|
-
### Features
|
813
|
-
|
814
|
-
- **ecs-browser:** replace react syntax highlighter with shiki and bundler with tsup ([#262](https://github.com/latticexyz/mud/issues/262)) ([915506d](https://github.com/latticexyz/mud/commit/915506d7e7ca0b5a68afb646388bb9d4bb689879))
|
815
|
-
|
816
|
-
## [1.31.3](https://github.com/latticexyz/mud/compare/v1.31.2...v1.31.3) (2022-12-16)
|
817
|
-
|
818
|
-
**Note:** Version bump only for package @latticexyz/recs
|
819
|
-
|
820
|
-
## [1.31.2](https://github.com/latticexyz/mud/compare/v1.31.1...v1.31.2) (2022-12-15)
|
821
|
-
|
822
|
-
**Note:** Version bump only for package @latticexyz/recs
|
823
|
-
|
824
|
-
## [1.31.1](https://github.com/latticexyz/mud/compare/v1.31.0...v1.31.1) (2022-12-15)
|
825
|
-
|
826
|
-
### Bug Fixes
|
827
|
-
|
828
|
-
- new entities should be included in overrides ([#290](https://github.com/latticexyz/mud/issues/290)) ([878ee2a](https://github.com/latticexyz/mud/commit/878ee2a5718d73221686dfe7de1c31a0f16347d7))
|
829
|
-
|
830
|
-
# [1.31.0](https://github.com/latticexyz/mud/compare/v1.30.1...v1.31.0) (2022-12-14)
|
831
|
-
|
832
|
-
**Note:** Version bump only for package @latticexyz/recs
|
833
|
-
|
834
|
-
## [1.30.1](https://github.com/latticexyz/mud/compare/v1.30.0...v1.30.1) (2022-12-02)
|
835
|
-
|
836
|
-
**Note:** Version bump only for package @latticexyz/recs
|
837
|
-
|
838
|
-
# [1.30.0](https://github.com/latticexyz/mud/compare/v1.29.0...v1.30.0) (2022-12-02)
|
839
|
-
|
840
|
-
**Note:** Version bump only for package @latticexyz/recs
|
841
|
-
|
842
|
-
# [1.29.0](https://github.com/latticexyz/mud/compare/v1.28.1...v1.29.0) (2022-11-29)
|
843
|
-
|
844
|
-
**Note:** Version bump only for package @latticexyz/recs
|
845
|
-
|
846
|
-
## [1.28.1](https://github.com/latticexyz/mud/compare/v1.28.0...v1.28.1) (2022-11-24)
|
847
|
-
|
848
|
-
### Bug Fixes
|
849
|
-
|
850
|
-
- typescript errors ([#253](https://github.com/latticexyz/mud/issues/253)) ([83e0c7a](https://github.com/latticexyz/mud/commit/83e0c7a1eda900d254a73115446c4ce38b531645))
|
851
|
-
|
852
|
-
# [1.28.0](https://github.com/latticexyz/mud/compare/v1.27.1...v1.28.0) (2022-11-20)
|
853
|
-
|
854
|
-
**Note:** Version bump only for package @latticexyz/recs
|
855
|
-
|
856
|
-
# [1.26.0](https://github.com/latticexyz/mud/compare/v1.25.1...v1.26.0) (2022-11-07)
|
857
|
-
|
858
|
-
**Note:** Version bump only for package @latticexyz/recs
|
859
|
-
|
860
|
-
## [1.25.1](https://github.com/latticexyz/mud/compare/v1.25.0...v1.25.1) (2022-11-03)
|
861
|
-
|
862
|
-
**Note:** Version bump only for package @latticexyz/recs
|
863
|
-
|
864
|
-
# [1.25.0](https://github.com/latticexyz/mud/compare/v1.24.1...v1.25.0) (2022-11-03)
|
865
|
-
|
866
|
-
**Note:** Version bump only for package @latticexyz/recs
|
867
|
-
|
868
|
-
## [1.24.1](https://github.com/latticexyz/mud/compare/v1.24.0...v1.24.1) (2022-10-29)
|
869
|
-
|
870
|
-
**Note:** Version bump only for package @latticexyz/recs
|
871
|
-
|
872
|
-
# [1.24.0](https://github.com/latticexyz/mud/compare/v1.23.1...v1.24.0) (2022-10-28)
|
873
|
-
|
874
|
-
**Note:** Version bump only for package @latticexyz/recs
|
875
|
-
|
876
|
-
## [1.23.1](https://github.com/latticexyz/mud/compare/v1.23.0...v1.23.1) (2022-10-28)
|
877
|
-
|
878
|
-
**Note:** Version bump only for package @latticexyz/recs
|
879
|
-
|
880
|
-
# [1.23.0](https://github.com/latticexyz/mud/compare/v1.22.0...v1.23.0) (2022-10-26)
|
881
|
-
|
882
|
-
**Note:** Version bump only for package @latticexyz/recs
|
883
|
-
|
884
|
-
# [1.22.0](https://github.com/latticexyz/mud/compare/v1.21.0...v1.22.0) (2022-10-26)
|
885
|
-
|
886
|
-
**Note:** Version bump only for package @latticexyz/recs
|
887
|
-
|
888
|
-
# [1.21.0](https://github.com/latticexyz/mud/compare/v1.20.0...v1.21.0) (2022-10-26)
|
889
|
-
|
890
|
-
**Note:** Version bump only for package @latticexyz/recs
|
891
|
-
|
892
|
-
# [1.20.0](https://github.com/latticexyz/mud/compare/v1.19.0...v1.20.0) (2022-10-22)
|
893
|
-
|
894
|
-
### Features
|
895
|
-
|
896
|
-
- **recs:** add util to clear cache of local cache component ([#217](https://github.com/latticexyz/mud/issues/217)) ([30a5868](https://github.com/latticexyz/mud/commit/30a5868f86a0d9e7a8de92f79c286841125f8ca7))
|
897
|
-
|
898
|
-
# [1.19.0](https://github.com/latticexyz/mud/compare/v1.18.0...v1.19.0) (2022-10-21)
|
899
|
-
|
900
|
-
**Note:** Version bump only for package @latticexyz/recs
|
901
|
-
|
902
|
-
# [1.18.0](https://github.com/latticexyz/mud/compare/v1.17.0...v1.18.0) (2022-10-21)
|
903
|
-
|
904
|
-
**Note:** Version bump only for package @latticexyz/recs
|
905
|
-
|
906
|
-
# [1.17.0](https://github.com/latticexyz/mud/compare/v1.16.0...v1.17.0) (2022-10-19)
|
907
|
-
|
908
|
-
**Note:** Version bump only for package @latticexyz/recs
|
909
|
-
|
910
|
-
# [1.16.0](https://github.com/latticexyz/mud/compare/v1.15.0...v1.16.0) (2022-10-19)
|
911
|
-
|
912
|
-
**Note:** Version bump only for package @latticexyz/recs
|
913
|
-
|
914
|
-
# [1.15.0](https://github.com/latticexyz/mud/compare/v1.14.2...v1.15.0) (2022-10-18)
|
915
|
-
|
916
|
-
**Note:** Version bump only for package @latticexyz/recs
|
917
|
-
|
918
|
-
## [1.14.2](https://github.com/latticexyz/mud/compare/v1.14.1...v1.14.2) (2022-10-18)
|
919
|
-
|
920
|
-
**Note:** Version bump only for package @latticexyz/recs
|
921
|
-
|
922
|
-
## [1.14.1](https://github.com/latticexyz/mud/compare/v1.14.0...v1.14.1) (2022-10-18)
|
923
|
-
|
924
|
-
**Note:** Version bump only for package @latticexyz/recs
|
925
|
-
|
926
|
-
# [1.14.0](https://github.com/latticexyz/mud/compare/v1.13.0...v1.14.0) (2022-10-18)
|
927
|
-
|
928
|
-
### Features
|
929
|
-
|
930
|
-
- expose registerComponent method from setupMUDNetwork ([#207](https://github.com/latticexyz/mud/issues/207)) ([4b078bd](https://github.com/latticexyz/mud/commit/4b078bd93c14dfbb1b06c5ca8bc92dee2e8dcfea))
|
931
|
-
|
932
|
-
# [1.13.0](https://github.com/latticexyz/mud/compare/v1.12.0...v1.13.0) (2022-10-15)
|
933
|
-
|
934
|
-
**Note:** Version bump only for package @latticexyz/recs
|
935
|
-
|
936
|
-
# [1.12.0](https://github.com/latticexyz/mud/compare/v1.11.0...v1.12.0) (2022-10-12)
|
937
|
-
|
938
|
-
**Note:** Version bump only for package @latticexyz/recs
|
939
|
-
|
940
|
-
# [1.11.0](https://github.com/latticexyz/mud/compare/v1.10.0...v1.11.0) (2022-10-11)
|
941
|
-
|
942
|
-
**Note:** Version bump only for package @latticexyz/recs
|
943
|
-
|
944
|
-
# [1.10.0](https://github.com/latticexyz/mud/compare/v1.9.0...v1.10.0) (2022-10-11)
|
945
|
-
|
946
|
-
**Note:** Version bump only for package @latticexyz/recs
|
947
|
-
|
948
|
-
# [1.9.0](https://github.com/latticexyz/mud/compare/v1.8.0...v1.9.0) (2022-10-11)
|
949
|
-
|
950
|
-
### Bug Fixes
|
951
|
-
|
952
|
-
- **solecs): only allow components to register their own updates, feat(std-client:** add support for multiple overrides per component per action ([#199](https://github.com/latticexyz/mud/issues/199)) ([d8dd63e](https://github.com/latticexyz/mud/commit/d8dd63e8055c603d5df41ad47765a286d800c529))
|
953
|
-
|
954
|
-
# [1.8.0](https://github.com/latticexyz/mud/compare/v1.7.1...v1.8.0) (2022-10-07)
|
955
|
-
|
956
|
-
**Note:** Version bump only for package @latticexyz/recs
|
957
|
-
|
958
|
-
## [1.7.1](https://github.com/latticexyz/mud/compare/v1.7.0...v1.7.1) (2022-10-06)
|
959
|
-
|
960
|
-
**Note:** Version bump only for package @latticexyz/recs
|
961
|
-
|
962
|
-
# [1.7.0](https://github.com/latticexyz/mud/compare/v1.6.0...v1.7.0) (2022-10-06)
|
963
|
-
|
964
|
-
**Note:** Version bump only for package @latticexyz/recs
|
965
|
-
|
966
|
-
# [1.6.0](https://github.com/latticexyz/mud/compare/v1.5.1...v1.6.0) (2022-10-04)
|
967
|
-
|
968
|
-
### Bug Fixes
|
969
|
-
|
970
|
-
- make OverridableComponent conform with Component type ([#180](https://github.com/latticexyz/mud/issues/180)) ([c9d2c31](https://github.com/latticexyz/mud/commit/c9d2c311aa1c86d9bcabdf67eee598c264618ad0))
|
971
|
-
|
972
|
-
## [1.5.1](https://github.com/latticexyz/mud/compare/v1.5.0...v1.5.1) (2022-10-03)
|
973
|
-
|
974
|
-
**Note:** Version bump only for package @latticexyz/recs
|
975
|
-
|
976
|
-
# [1.5.0](https://github.com/latticexyz/mud/compare/v1.4.1...v1.5.0) (2022-10-03)
|
977
|
-
|
978
|
-
**Note:** Version bump only for package @latticexyz/recs
|
979
|
-
|
980
|
-
## [1.4.1](https://github.com/latticexyz/mud/compare/v1.4.0...v1.4.1) (2022-10-03)
|
981
|
-
|
982
|
-
**Note:** Version bump only for package @latticexyz/recs
|
983
|
-
|
984
|
-
# [1.4.0](https://github.com/latticexyz/mud/compare/v1.3.0...v1.4.0) (2022-10-03)
|
985
|
-
|
986
|
-
**Note:** Version bump only for package @latticexyz/recs
|
987
|
-
|
988
|
-
# [1.3.0](https://github.com/latticexyz/mud/compare/v1.2.0...v1.3.0) (2022-09-30)
|
989
|
-
|
990
|
-
### Bug Fixes
|
991
|
-
|
992
|
-
- **recs:** change internal query behavior to match previous version ([47b8834](https://github.com/latticexyz/mud/commit/47b8834ce8d88f4b79febbfe94dbfb79def6d2b8))
|
993
|
-
|
994
|
-
### Features
|
995
|
-
|
996
|
-
- **recs:** add local cache component ([#169](https://github.com/latticexyz/mud/issues/169)) ([09058f6](https://github.com/latticexyz/mud/commit/09058f69a7d6d743afefc80da2c06020ff3d1a56))
|
997
|
-
- **recs:** allow multiple subscribers per query update$ ([6d13531](https://github.com/latticexyz/mud/commit/6d135314225f211814272e325fa8ab89952241ab))
|
998
|
-
|
999
|
-
# [1.2.0](https://github.com/latticexyz/mud/compare/v1.1.0...v1.2.0) (2022-09-29)
|
1000
|
-
|
1001
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1002
|
-
|
1003
|
-
# [1.1.0](https://github.com/latticexyz/mud/compare/v1.0.0...v1.1.0) (2022-09-28)
|
1004
|
-
|
1005
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1006
|
-
|
1007
|
-
# [1.0.0](https://github.com/latticexyz/mud/compare/v0.16.4...v1.0.0) (2022-09-27)
|
1008
|
-
|
1009
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1010
|
-
|
1011
|
-
## [0.16.4](https://github.com/latticexyz/mud/compare/v0.16.3...v0.16.4) (2022-09-26)
|
1012
|
-
|
1013
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1014
|
-
|
1015
|
-
## [0.16.3](https://github.com/latticexyz/mud/compare/v0.16.2...v0.16.3) (2022-09-26)
|
1016
|
-
|
1017
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1018
|
-
|
1019
|
-
## [0.16.2](https://github.com/latticexyz/mud/compare/v0.16.1...v0.16.2) (2022-09-26)
|
1020
|
-
|
1021
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1022
|
-
|
1023
|
-
## [0.16.1](https://github.com/latticexyz/mud/compare/v0.16.0...v0.16.1) (2022-09-26)
|
1024
|
-
|
1025
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1026
|
-
|
1027
|
-
# [0.16.0](https://github.com/latticexyz/mud/compare/v0.15.1...v0.16.0) (2022-09-26)
|
1028
|
-
|
1029
|
-
### Features
|
1030
|
-
|
1031
|
-
- **recs:** add support for custom type in component ([#158](https://github.com/latticexyz/mud/issues/158)) ([fdc781d](https://github.com/latticexyz/mud/commit/fdc781d851147f2a98cbe95e89789a3c0ee226ca))
|
1032
|
-
|
1033
|
-
## [0.15.1](https://github.com/latticexyz/mud/compare/v0.15.0...v0.15.1) (2022-09-23)
|
1034
|
-
|
1035
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1036
|
-
|
1037
|
-
# [0.15.0](https://github.com/latticexyz/mud/compare/v0.14.2...v0.15.0) (2022-09-21)
|
1038
|
-
|
1039
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1040
|
-
|
1041
|
-
## [0.14.2](https://github.com/latticexyz/mud/compare/v0.14.1...v0.14.2) (2022-09-21)
|
1042
|
-
|
1043
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1044
|
-
|
1045
|
-
## [0.14.1](https://github.com/latticexyz/mud/compare/v0.14.0...v0.14.1) (2022-09-21)
|
1046
|
-
|
1047
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1048
|
-
|
1049
|
-
# [0.14.0](https://github.com/latticexyz/mud/compare/v0.13.0...v0.14.0) (2022-09-20)
|
1050
|
-
|
1051
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1052
|
-
|
1053
|
-
# [0.13.0](https://github.com/latticexyz/mud/compare/v0.12.0...v0.13.0) (2022-09-19)
|
1054
|
-
|
1055
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1056
|
-
|
1057
|
-
# [0.12.0](https://github.com/latticexyz/mud/compare/v0.11.1...v0.12.0) (2022-09-16)
|
1058
|
-
|
1059
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1060
|
-
|
1061
|
-
## [0.11.1](https://github.com/latticexyz/mud/compare/v0.11.0...v0.11.1) (2022-09-15)
|
1062
|
-
|
1063
|
-
### Bug Fixes
|
1064
|
-
|
1065
|
-
- do not run prepack multiple times when publishing ([4f6f4c3](https://github.com/latticexyz/mud/commit/4f6f4c35a53c105951b32a071e47a748b2502cda))
|
1066
|
-
|
1067
|
-
# [0.11.0](https://github.com/latticexyz/mud/compare/v0.10.0...v0.11.0) (2022-09-15)
|
1068
|
-
|
1069
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1070
|
-
|
1071
|
-
# [0.10.0](https://github.com/latticexyz/mud/compare/v0.9.0...v0.10.0) (2022-09-14)
|
1072
|
-
|
1073
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1074
|
-
|
1075
|
-
# [0.9.0](https://github.com/latticexyz/mud/compare/v0.8.1...v0.9.0) (2022-09-13)
|
1076
|
-
|
1077
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1078
|
-
|
1079
|
-
## [0.8.1](https://github.com/latticexyz/mud/compare/v0.8.0...v0.8.1) (2022-08-22)
|
1080
|
-
|
1081
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1082
|
-
|
1083
|
-
# [0.8.0](https://github.com/latticexyz/mud/compare/v0.7.0...v0.8.0) (2022-08-22)
|
1084
|
-
|
1085
|
-
### Bug Fixes
|
1086
|
-
|
1087
|
-
- fix mud.dev build and improve responsiveness ([#134](https://github.com/latticexyz/mud/issues/134)) ([a3f2b24](https://github.com/latticexyz/mud/commit/a3f2b2438203697f1dd9f8710b15caa5cd83e40d))
|
1088
|
-
|
1089
|
-
### Features
|
1090
|
-
|
1091
|
-
- add mud.dev ([#133](https://github.com/latticexyz/mud/issues/133)) ([302588c](https://github.com/latticexyz/mud/commit/302588cbbab2803396b894bc006d13e6ac943da9))
|
1092
|
-
|
1093
|
-
# [0.7.0](https://github.com/latticexyz/mud/compare/v0.6.0...v0.7.0) (2022-08-19)
|
1094
|
-
|
1095
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1096
|
-
|
1097
|
-
# [0.6.0](https://github.com/latticexyz/mud/compare/v0.5.1...v0.6.0) (2022-08-15)
|
1098
|
-
|
1099
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1100
|
-
|
1101
|
-
## [0.5.1](https://github.com/latticexyz/mud/compare/v0.5.0...v0.5.1) (2022-08-05)
|
1102
|
-
|
1103
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1104
|
-
|
1105
|
-
# [0.5.0](https://github.com/latticexyz/mud/compare/v0.4.3...v0.5.0) (2022-08-05)
|
1106
|
-
|
1107
|
-
### Bug Fixes
|
1108
|
-
|
1109
|
-
- better getComponentValueStrict error message, small std-client fixes ([#121](https://github.com/latticexyz/mud/issues/121)) ([5c78b82](https://github.com/latticexyz/mud/commit/5c78b82a88a9d50091bf3c4e65100eb3cb6230b2))
|
1110
|
-
|
1111
|
-
## [0.4.3](https://github.com/latticexyz/mud/compare/v0.4.2...v0.4.3) (2022-07-30)
|
1112
|
-
|
1113
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1114
|
-
|
1115
|
-
## [0.4.2](https://github.com/latticexyz/mud/compare/v0.4.1...v0.4.2) (2022-07-29)
|
1116
|
-
|
1117
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1118
|
-
|
1119
|
-
## [0.4.1](https://github.com/latticexyz/mud/compare/v0.4.0...v0.4.1) (2022-07-29)
|
1120
|
-
|
1121
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1122
|
-
|
1123
|
-
# [0.4.0](https://github.com/latticexyz/mud/compare/v0.3.2...v0.4.0) (2022-07-29)
|
1124
|
-
|
1125
|
-
### Bug Fixes
|
1126
|
-
|
1127
|
-
- **recs:** fix fragment types in system definitions ([#109](https://github.com/latticexyz/mud/issues/109)) ([c74f393](https://github.com/latticexyz/mud/commit/c74f393255af46336e9823b08a2aa7f366cad866))
|
1128
|
-
|
1129
|
-
### Features
|
1130
|
-
|
1131
|
-
- allow component overrides to be null ([f9baf44](https://github.com/latticexyz/mud/commit/f9baf446e3ddb346792b169bb0942b41c60ac9fb))
|
1132
|
-
|
1133
|
-
## [0.3.2](https://github.com/latticexyz/mud/compare/v0.3.1...v0.3.2) (2022-07-26)
|
1134
|
-
|
1135
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1136
|
-
|
1137
|
-
## [0.3.1](https://github.com/latticexyz/mud/compare/v0.3.0...v0.3.1) (2022-07-26)
|
1138
|
-
|
1139
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1140
|
-
|
1141
|
-
# [0.3.0](https://github.com/latticexyz/mud/compare/v0.2.0...v0.3.0) (2022-07-26)
|
1142
|
-
|
1143
|
-
### Features
|
1144
|
-
|
1145
|
-
- mudwar prototype (nyc sprint 2) ([#59](https://github.com/latticexyz/mud/issues/59)) ([a3db20e](https://github.com/latticexyz/mud/commit/a3db20e14c641b8b456775ee191eca6f016d47f5)), closes [#58](https://github.com/latticexyz/mud/issues/58) [#61](https://github.com/latticexyz/mud/issues/61) [#64](https://github.com/latticexyz/mud/issues/64) [#62](https://github.com/latticexyz/mud/issues/62) [#66](https://github.com/latticexyz/mud/issues/66) [#69](https://github.com/latticexyz/mud/issues/69) [#72](https://github.com/latticexyz/mud/issues/72) [#73](https://github.com/latticexyz/mud/issues/73) [#74](https://github.com/latticexyz/mud/issues/74) [#76](https://github.com/latticexyz/mud/issues/76) [#75](https://github.com/latticexyz/mud/issues/75) [#77](https://github.com/latticexyz/mud/issues/77) [#78](https://github.com/latticexyz/mud/issues/78) [#79](https://github.com/latticexyz/mud/issues/79) [#80](https://github.com/latticexyz/mud/issues/80) [#82](https://github.com/latticexyz/mud/issues/82) [#86](https://github.com/latticexyz/mud/issues/86) [#83](https://github.com/latticexyz/mud/issues/83) [#81](https://github.com/latticexyz/mud/issues/81) [#85](https://github.com/latticexyz/mud/issues/85) [#84](https://github.com/latticexyz/mud/issues/84) [#87](https://github.com/latticexyz/mud/issues/87) [#91](https://github.com/latticexyz/mud/issues/91) [#88](https://github.com/latticexyz/mud/issues/88) [#90](https://github.com/latticexyz/mud/issues/90) [#92](https://github.com/latticexyz/mud/issues/92) [#93](https://github.com/latticexyz/mud/issues/93) [#89](https://github.com/latticexyz/mud/issues/89) [#94](https://github.com/latticexyz/mud/issues/94) [#95](https://github.com/latticexyz/mud/issues/95) [#98](https://github.com/latticexyz/mud/issues/98) [#100](https://github.com/latticexyz/mud/issues/100) [#97](https://github.com/latticexyz/mud/issues/97) [#101](https://github.com/latticexyz/mud/issues/101) [#105](https://github.com/latticexyz/mud/issues/105) [#106](https://github.com/latticexyz/mud/issues/106)
|
1146
|
-
- new systems pattern ([#63](https://github.com/latticexyz/mud/issues/63)) ([fb6197b](https://github.com/latticexyz/mud/commit/fb6197b997eb7232e38ecfb9116ff256491dc38c))
|
1147
|
-
|
1148
|
-
# [0.2.0](https://github.com/latticexyz/mud/compare/v0.1.8...v0.2.0) (2022-07-05)
|
1149
|
-
|
1150
|
-
### Features
|
1151
|
-
|
1152
|
-
- add webworker architecture for contract/client sync, add cache webworker ([#10](https://github.com/latticexyz/mud/issues/10)) ([4ef9f90](https://github.com/latticexyz/mud/commit/4ef9f909d1d3c10f6bea888b2c32b1d1df04185a)), closes [#14](https://github.com/latticexyz/mud/issues/14)
|
1153
|
-
- component browser 📈 ([#16](https://github.com/latticexyz/mud/issues/16)) ([37af75e](https://github.com/latticexyz/mud/commit/37af75ecb11266e5877d04cb3224698605b87646))
|
1154
|
-
- on-chain maps (nyc sprint 1) ([#38](https://github.com/latticexyz/mud/issues/38)) ([089c46d](https://github.com/latticexyz/mud/commit/089c46d7c0e112d1670e3bcd01a35f08ee21d593)), closes [#17](https://github.com/latticexyz/mud/issues/17) [#20](https://github.com/latticexyz/mud/issues/20) [#18](https://github.com/latticexyz/mud/issues/18) [#25](https://github.com/latticexyz/mud/issues/25) [#26](https://github.com/latticexyz/mud/issues/26) [#27](https://github.com/latticexyz/mud/issues/27) [#28](https://github.com/latticexyz/mud/issues/28) [#29](https://github.com/latticexyz/mud/issues/29) [#30](https://github.com/latticexyz/mud/issues/30) [#31](https://github.com/latticexyz/mud/issues/31) [#33](https://github.com/latticexyz/mud/issues/33) [#32](https://github.com/latticexyz/mud/issues/32) [#34](https://github.com/latticexyz/mud/issues/34) [#35](https://github.com/latticexyz/mud/issues/35) [#36](https://github.com/latticexyz/mud/issues/36) [#37](https://github.com/latticexyz/mud/issues/37) [#39](https://github.com/latticexyz/mud/issues/39) [#40](https://github.com/latticexyz/mud/issues/40) [#41](https://github.com/latticexyz/mud/issues/41) [#42](https://github.com/latticexyz/mud/issues/42) [#43](https://github.com/latticexyz/mud/issues/43) [#44](https://github.com/latticexyz/mud/issues/44) [#45](https://github.com/latticexyz/mud/issues/45) [#46](https://github.com/latticexyz/mud/issues/46) [#48](https://github.com/latticexyz/mud/issues/48) [#49](https://github.com/latticexyz/mud/issues/49) [#50](https://github.com/latticexyz/mud/issues/50)
|
1155
|
-
- **recs:** add more granular type assertion function for introspecting Component schema types ([#8](https://github.com/latticexyz/mud/issues/8)) ([48331f9](https://github.com/latticexyz/mud/commit/48331f911eb9f6e39eb774a1aecf759f69729aa4))
|
1156
|
-
- **recs:** add optional parameters to reaction and autorun systems ([451209f](https://github.com/latticexyz/mud/commit/451209f98c17e4b228d7a828662e4b72077fe55f))
|
1157
|
-
- **recs:** expose raw schema on component ([69d9b89](https://github.com/latticexyz/mud/commit/69d9b8978b95a50091a896c123e1c47110e81803))
|
1158
|
-
- **recs:** rewrite for performance improvements (without integrating in ri) ([#22](https://github.com/latticexyz/mud/issues/22)) ([887564d](https://github.com/latticexyz/mud/commit/887564dbe0fad4250b82fd29d144305f176e3b89))
|
1159
|
-
|
1160
|
-
### BREAKING CHANGES
|
1161
|
-
|
1162
|
-
- Components have to implement a getSchema() function
|
1163
|
-
|
1164
|
-
- feat(network): make Sync worker return a stream of ECS events (prev contract events)
|
1165
|
-
|
1166
|
-
- feat(ri-contracts): integrate solecs change (add getSchema to components)
|
1167
|
-
|
1168
|
-
- feat(ri-client): integrate network package changes
|
1169
|
-
|
1170
|
-
- feat(network): store ECS state in cache
|
1171
|
-
|
1172
|
-
- feat(network): load state from cache
|
1173
|
-
|
1174
|
-
- feat(utils): add more utils for iterables
|
1175
|
-
|
1176
|
-
- refactor(network): clean up
|
1177
|
-
|
1178
|
-
- feat(network): generalize component value decoder function, add tests
|
1179
|
-
|
1180
|
-
- fix(network): make it possible to subscribe to ecsStream from sync worker multiple times
|
1181
|
-
|
1182
|
-
- fix(network): start sync from provided initial block number
|
1183
|
-
|
1184
|
-
- feat(network): move storing ecs to indexDB to its own Cache worker
|
1185
|
-
|
1186
|
-
- feat(network): create separate cache for every World contract address
|
1187
|
-
|
1188
|
-
- fix(network): fix issues discovered during live review
|
1189
|
-
|
1190
|
-
- chore: remove unused import
|
1191
|
-
|
1192
|
-
- Update packages/network/src/createBlockNumberStream.ts
|
1193
|
-
|
1194
|
-
Co-authored-by: ludens <ludens@lattice.xyz>
|
1195
|
-
|
1196
|
-
- feat(network): add clock syncInterval as config parameter
|
1197
|
-
|
1198
|
-
- feat(utils): emit values through componentToStream and observableToStream only if non-null
|
1199
|
-
|
1200
|
-
- feat(network): add chain id to cache id, disable loading from cache on hardhat
|
1201
|
-
|
1202
|
-
- fix(contracts): change Position and EntityType schema to int32/uint32 to fit in js number
|
1203
|
-
|
1204
|
-
- docs(client): fix typos in comments
|
1205
|
-
|
1206
|
-
- fix(network): fix tests
|
1207
|
-
|
1208
|
-
- fix(scripting): integrate new network package into ri scripting
|
1209
|
-
|
1210
|
-
- fix(network): fix sending multiple requests for component schema if many events get reduced
|
1211
|
-
|
1212
|
-
## [0.1.8](https://github.com/latticexyz/mud/compare/v0.1.7...v0.1.8) (2022-05-25)
|
1213
|
-
|
1214
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1215
|
-
|
1216
|
-
## [0.1.7](https://github.com/latticexyz/mud/compare/v0.1.6...v0.1.7) (2022-05-25)
|
1217
|
-
|
1218
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1219
|
-
|
1220
|
-
## [0.1.6](https://github.com/latticexyz/mud/compare/v0.1.5...v0.1.6) (2022-05-25)
|
1221
|
-
|
1222
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1223
|
-
|
1224
|
-
## [0.1.5](https://github.com/latticexyz/mud/compare/v0.1.4...v0.1.5) (2022-05-24)
|
1225
|
-
|
1226
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1227
|
-
|
1228
|
-
## [0.1.4](https://github.com/latticexyz/mud/compare/v0.1.3...v0.1.4) (2022-05-24)
|
1229
|
-
|
1230
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1231
|
-
|
1232
|
-
## [0.1.3](https://github.com/latticexyz/mud/compare/v0.1.2...v0.1.3) (2022-05-23)
|
1233
|
-
|
1234
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1235
|
-
|
1236
|
-
## [0.1.2](https://github.com/latticexyz/mud/compare/v0.1.1...v0.1.2) (2022-05-23)
|
1237
|
-
|
1238
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1239
|
-
|
1240
|
-
## [0.1.1](https://github.com/latticexyz/mud/compare/v0.1.0...v0.1.1) (2022-05-23)
|
1241
|
-
|
1242
|
-
**Note:** Version bump only for package @latticexyz/recs
|
1243
|
-
|
1244
|
-
# 0.1.0 (2022-05-23)
|
1245
|
-
|
1246
|
-
### Features
|
1247
|
-
|
1248
|
-
- **@mud/recs:** add @mud/recs ([aaf6d0f](https://github.com/latticexyz/mud/commit/aaf6d0faf7a98330823ed3449936c5c336113d7e))
|