All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
1.26.0 (2022-11-07)
- relay: check message data doesn't exceed a configurable limit (#195) (4e35ed3)
- services: admin endpoint on faucet (#238) (282fd69)
1.25.1 (2022-11-03)
Note: Version bump only for package mud
1.25.0 (2022-11-03)
- network,std-client: add support for SystemCall events in default MUD network setup (#232) (93d947b)
- network: export createBlockNumberStream (#230) (c227e5d)
- solecs: allow overriding Component logic, better inheritance (#229) (d4f5a4b)
- std-client: export missing types (aefba08)
- working deploy script from mud basics (#218) (fd1c61b)
1.24.1 (2022-10-29)
1.24.0 (2022-10-28)
1.23.1 (2022-10-28)
1.23.0 (2022-10-26)
1.22.0 (2022-10-26)
- network: expose method to register new system contracts on the client (#224) (4583767)
- network: simplify calling untyped systems (#223) (94e4788)
1.21.0 (2022-10-26)
1.20.0 (2022-10-22)
1.19.0 (2022-10-21)
- network: only create encoders if asked for it (c5af08c)
1.18.0 (2022-10-21)
- service stabilizations, send ecs tx on drip, new pruned snapshot endpoint (#204) (d0de185)
- solecs: add payable system interface (#206) (a436d9e)
- utils: add more general euclidiean distance util (687f840)
1.17.0 (2022-10-19)
1.16.0 (2022-10-19)
1.15.0 (2022-10-18)
- network): expose relay ping method, feat(std-client: add tx hash to action component (#209) (3e0b4a7)
1.14.2 (2022-10-18)
Note: Version bump only for package mud
1.14.1 (2022-10-18)
Note: Version bump only for package mud
1.14.0 (2022-10-18)
- expose registerComponent method from setupMUDNetwork (#207) (4b078bd)
- mud.dev: add video content (ffca85e)
1.13.0 (2022-10-15)
- network: expose SystemsRegistry and ComponentsRegistry from setupMUDNetwork (373d62b)
1.12.0 (2022-10-12)
1.11.0 (2022-10-11)
- add BareComponent (#200) (780d62c)
- relay: check account balance is greater than a configured amount (#194) (1cbbd5b)
1.10.0 (2022-10-11)
- ecs-browser: add support for modifying boolean values (1dba52e)
1.9.0 (2022-10-11)
- solecs): only allow components to register their own updates, feat(std-client: add support for multiple overrides per component per action (#199) (d8dd63e)
- network: fall back to rpc if stream service errors (#190) (414e777)
- services: grpc prometheus metrics (#196) (33e8959)
1.8.0 (2022-10-07)
- network: use websocket to subscribe to relayer messages (8218249)
- relay: open stream grpc endpoint not properly closing (#187) (1db4a7d)
- connected relayer clients (#188) (dc3fcdf)
- network: expose connectedAddressChecksum (#189) (e39d245)
- wss for stream service (#186) (d4511ac)
1.7.1 (2022-10-06)
Note: Version bump only for package mud
1.7.0 (2022-10-06)
- ecs-browser: do not early return for entity 0 (bf36cc0)
- relay: proper interval rate limiting and flag to control account balance check (#181) (e84ae44)
- add utils to normalize hex ids (#185) (170e963)
- general service improvements (#179) (e0dac83)
- services: service-side changes for health probes (#183) (da4cf91)
- soleces: expose component functions set and remove internally without onlyWriter permissions (#182) (662936b)
1.6.0 (2022-10-04)
- flag for sig verification, rate limiting of push, and check for balance when relaying (#175) (0271ac9)
1.5.1 (2022-10-03)
Note: Version bump only for package mud
1.5.0 (2022-10-03)
- add a stream rpc for message push (#174) (e0aa956)
- faucet re-drip after tweet, rpc to get time until next drip (#173) (27b08fc)
1.4.1 (2022-10-03)
Note: Version bump only for package mud
1.4.0 (2022-10-03)
- add signature verification for all client actions via relay service (#167) (7920d6e)
- faucet improvements (#168) (29d0b91)
- network: add util for creating faucet service (#171) (9f50d9c)
- network: expose mappings and ecsEvent$ from setupMUDNetwork (44a8676)
1.3.0 (2022-09-30)
- network: remove failed actions from the queue (b27b958)
- recs: change internal query behavior to match previous version (47b8834)
- std-client: add stream service config to createMUDNetwork (98b0861)
- recs: add local cache component (#169) (09058f6)
- recs: allow multiple subscribers per query update$ (6d13531)
1.2.0 (2022-09-29)
1.1.0 (2022-09-28)
- add createRelayService, add utils to work with Uint8Arrays (#164) (b02992b)
- basic faucet service implementation (#163) (3217176)
- ecs-browser: make nameComponent and spawnPrototypeAt optional (7822d53)
- initial implementation of ecs relay service (#157) (140aec3)
1.0.0 (2022-09-27)
Note: Version bump only for package mud
0.16.4 (2022-09-26)
- network: cancel tx request if gas estimation failed (565b37f)
0.16.3 (2022-09-26)
- do gas estimation right before sending tx to avoid invalid gas estimations (f251642)
0.16.2 (2022-09-26)
Note: Version bump only for package mud
0.16.1 (2022-09-26)
Note: Version bump only for package mud
0.16.0 (2022-09-26)
- std-client: add generic type to waitForComponentValueIn (f1641d4)
- network: add system call stream (#162) (5caef57)
- recs: add support for custom type in component (#158) (fdc781d)
- std-contracts: add FunctionComponent (#161) (d720277)
- utils: add keccak256Coord (#160) (1734cdb)
0.15.1 (2022-09-23)
Note: Version bump only for package mud
0.15.0 (2022-09-21)
- add keccak256Coord (d0d4500)
0.14.2 (2022-09-21)
Note: Version bump only for package mud
0.14.1 (2022-09-21)
0.14.0 (2022-09-20)
- phaser input click$ stream (#152) (a7e1cfe)
- phaserx: distinguish left and right click in click$ stream (#155) (004753d)
- std-client: remove references to old phaser version (#153) (c691c6e)
0.13.0 (2022-09-19)
0.12.0 (2022-09-16)
0.11.1 (2022-09-15)
- do not run prepack multiple times when publishing (4f6f4c3)
0.11.0 (2022-09-15)
0.10.0 (2022-09-14)
- add chunk snapshot and stream service (#139) (8c9d4b3)
- matching Perlin noise implementations in Solidity and AssemblyScript (#145) (29094c4)
0.9.0 (2022-09-13)
-
network: The loading state component is attached to the entity with id 0x060D (GodID). The std-client package previously exported a different mudwar specific GodID, which has been replaced with the 0x060D GodID exported by the network package.
-
test(network): add test for LoadingState and fix existing tests
0.8.1 (2022-08-22)
- start from initialBlockNumber, build settings, fix github actions, and other minor additions (#137) (08eab5c)
0.8.0 (2022-08-22)
- add codeowners file (#132) (258c9e5)
- add mud.dev (#133) (302588c)
- integrate proto from services into network (#131) (756fdb7)
0.7.0 (2022-08-19)
0.6.0 (2022-08-15)
-
sync worker update stream returns component id instead of component key
-
test(network): add tests for sync utils and SyncWorker logic
-
chore: remove logs and improve comments
-
chore: add logs
Co-authored-by: andrii dobroshynski 24281657+andriidski@users.noreply.github.com
0.5.1 (2022-08-05)
0.5.0 (2022-08-05)
- better getComponentValueStrict error message, small std-client fixes (#121) (5c78b82)
- CacheWorker (#118) (bfe006e)
- optimism, cancel action if gas check fails, add noise utils, fix ecs-browser entry point (#119) (f35d3c3)
- phaserx: allow for multiple tweens on same objects by passing in… (#122) (d129836)
- ecs-browser: Allow spawning of prototypes at arbitrary locations (#117) (b31bfcd)
- logging library with support for topics/filters (#123) (4eac3c6)
- std-client: add player getter utils for std client (#120) (7a06f0b)
0.4.3 (2022-07-30)
Note: Version bump only for package mud
0.4.2 (2022-07-29)
Note: Version bump only for package mud
0.4.1 (2022-07-29)
Note: Version bump only for package mud
0.4.0 (2022-07-29)
- cli: extract encoded arguments from signature (#116) (f630319)
- recs: fix fragment types in system definitions (#109) (c74f393)
- add 3d components (d230339)
- allow component overrides to be null (f9baf44)
- cli: cli commands for better debugging (#113) (80ae128)
- network: faster execution of multiple tx, better revert message logging (#111) (bee34dc)
- phaser: expose set cursor function in phaser input (#110) (e377bb0)
- phaserx: allow running phaser in headless mode for unit testing in jest (#112) (22bc4d8)
0.3.2 (2022-07-26)
Note: Version bump only for package mud
0.3.1 (2022-07-26)
Note: Version bump only for package mud
0.3.0 (2022-07-26)
- fix deploying to hardhat using forge, check for existing persona in launcher (#56) (a0f954b)
- ri: add MoveFacet to deploy script (#55) (ee381e1)
- std-contracts: add openzeppelin to remappings to fix build (5db32a8)
- use hardhat as node (better logs) and make hardhat compatible with forge (#54) (45a5981)
- add componentComponent to store component to id mapping (#60) (e9cb97b)
- mudwar prototype (nyc sprint 2) (#59) (a3db20e), closes #58 #61 #64 #62 #66 #69 #72 #73 #74 #76 #75 #77 #78 #79 #80 #82 #86 #83 #81 #85 #84 #87 #91 #88 #90 #92 #93 #89 #94 #95 #98 #100 #97 #101 #105 #106
- new systems pattern (#63) (fb6197b)
- script: add bulk uploading map script with new ecs format (#52) (1d93ed7)
- solecs, std-contracts: update the build scripts with additional jq delete statements to make the abi files cleaner (#53) (198dfa5)
0.2.0 (2022-07-05)
- phaserx: do not call preventDefault on keyboard events (ac27fe2)
- add webworker architecture for contract/client sync, add cache webworker (#10) (4ef9f90), closes #14
- cli: add vscode solidity config file to mud create projects (064546a)
- component browser 📈 (#16) (37af75e)
- contracts: add function to set contract ecs state in bulk (#23) (5bc8d2b)
- contracts: replace hardhat with foundry toolkit (#51) (2c0e4a9)
- network: integrate snapshot service (#24) (a146164)
- on-chain maps (nyc sprint 1) (#38) (089c46d), closes #17 #20 #18 #25 #26 #27 #28 #29 #30 #31 #33 #32 #34 #35 #36 #37 #39 #40 #41 #42 #43 #44 #45 #46 #48 #49 #50
- recs: add more granular type assertion function for introspecting Component schema types (#8) (48331f9)
- recs: add optional parameters to reaction and autorun systems (451209f)
- recs: expose raw schema on component (69d9b89)
- recs: rewrite for performance improvements (without integrating in ri) (#22) (887564d)
- ri-client: pass requirement function result into updates function in ActionRequest (#7) (bb60c5a)
- solecs: create getUniqueEntityId function on World contract (#4) (a06a9c5)
-
Components have to implement a getSchema() function
-
feat(network): make Sync worker return a stream of ECS events (prev contract events)
-
feat(ri-contracts): integrate solecs change (add getSchema to components)
-
feat(ri-client): integrate network package changes
-
feat(network): store ECS state in cache
-
feat(network): load state from cache
-
feat(utils): add more utils for iterables
-
refactor(network): clean up
-
feat(network): generalize component value decoder function, add tests
-
fix(network): make it possible to subscribe to ecsStream from sync worker multiple times
-
fix(network): start sync from provided initial block number
-
feat(network): move storing ecs to indexDB to its own Cache worker
-
feat(network): create separate cache for every World contract address
-
fix(network): fix issues discovered during live review
-
chore: remove unused import
-
Update packages/network/src/createBlockNumberStream.ts
Co-authored-by: ludens ludens@lattice.xyz
-
feat(network): add clock syncInterval as config parameter
-
feat(utils): emit values through componentToStream and observableToStream only if non-null
-
feat(network): add chain id to cache id, disable loading from cache on hardhat
-
fix(contracts): change Position and EntityType schema to int32/uint32 to fit in js number
-
docs(client): fix typos in comments
-
fix(network): fix tests
-
fix(scripting): integrate new network package into ri scripting
-
fix(network): fix sending multiple requests for component schema if many events get reduced
0.1.8 (2022-05-25)
- @latticexyz/cli: fix create script (2c3b0db)
- ri-client: change bufferCount to bufferTime to apply ecs updates immediately below threshold (03ecc70)
- ri-contracts: disable hardhat automine (72d644a)
0.1.7 (2022-05-25)
Note: Version bump only for package mud
0.1.6 (2022-05-25)
Note: Version bump only for package mud
0.1.5 (2022-05-24)
Note: Version bump only for package mud
0.1.4 (2022-05-24)
Note: Version bump only for package mud
0.1.3 (2022-05-23)
Note: Version bump only for package mud
0.1.2 (2022-05-23)
Note: Version bump only for package mud
0.1.1 (2022-05-23)
Note: Version bump only for package mud
- @mud/network: do not increase nonce for view functions (233c4b5)
- @mud/network: use component id for ecs event mapping (instead of address) (baa5f10)
- @mud/network: use component id instead of address for mapping (39b516c)
- @mud/solecs: early return from Component.remove if value does not exist (02f78c1)
- ri-client: fix assuming component value is not undefined when using updateQuery (f93ee23)
- ri-client: integrate client with new contract-side component ids (78bbdfb)
- ri-client: type game contracts using combined facet abi (6bc48a8)
- @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)
- @mud/network: add @mud/network (9a29452)
- @mud/network: add option to ignore tx confirmation to txQueue, add ready state, add fetch log (438549a)
- @mud/phaserx: add @mud/phaserx (cbefb71)
- @mud/recs: add @mud/recs (aaf6d0f)
- @mud/solecs: add @mud/solecs (84f05f0)
- @mud/solecs: add advanced queries with support for relationships (e56f6f4)
- @mud/utils: add @mud/utils package (fc721cc)
- @mud/utils: add keccak256 hash function that accepts string inputs (ca1a4e0)
- @mud/utils: add stretch rxjs operator to add a minimum delay between events in a rxjs stream (3a1673f)
- ri-client: add client reference implementation (10a33cb)
- ri-contracts: add contracts reference implementation (8709568)
- ri-scripting: add light client to send tx at scale, add scripts for stresstest 1 (903b25c)
- @mud/network: add initial sync in stages (d0c026a)
- @mud/network: move sync and processing of chain events to a webworker (dad52ea)
- @mud/solecs: add MapSet.sol to improve solecs Component performance (reduce gas) (678c7ac)
- ri-client: throttle ECS event processing to 12000 per second (88726ec)
- ri-client: use json rpc provider to send transactions and load block events (2455aeb)