-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version Packages (next) #1313
Merged
Merged
Version Packages (next) #1313
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 16, 2023 10:07
678443e
to
89bd976
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 16, 2023 12:13
89bd976
to
a597306
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 16, 2023 14:28
a597306
to
908d3e6
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 16, 2023 15:04
908d3e6
to
4d439df
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 16, 2023 15:19
4d439df
to
0aa3eb5
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 16, 2023 21:48
0aa3eb5
to
da8f4ea
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 17, 2023 09:56
da8f4ea
to
7113036
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 17, 2023 11:28
7113036
to
9316599
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 17, 2023 11:46
9316599
to
c9820ef
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 18, 2023 07:48
c9820ef
to
7e2d4dd
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 18, 2023 13:38
7e2d4dd
to
0d162e4
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 18, 2023 15:42
0d162e4
to
3b29073
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 18, 2023 15:52
3b29073
to
66f85d8
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 21, 2023 08:57
66f85d8
to
cf0a3ab
Compare
github-actions
bot
force-pushed
the
changeset-release/main
branch
from
August 21, 2023 09:02
cf0a3ab
to
f4582ad
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
main
is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exit
onmain
.Releases
@latticexyz/[email protected]
Major Changes
#1174
952cd534
Thanks @alvrs! - AllStore
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
, anddeleteRecord
.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! - - AllWorld
function selectors that previously hadbytes16 namespace, bytes16 name
arguments now usebytes32 resourceSelector
instead.This includes
setRecord
,setField
,pushToField
,popFromField
,updateInField
,deleteRecord
,call
,grantAccess
,revokeAccess
,registerTable
,registerStoreHook
,registerSystemHook
,registerFunctionSelector
,registerSystem
andregisterRootFunctionSelector
.This change aligns the
World
function selectors with theStore
function selectors, reduces clutter, reduces gas cost and reduces theWorld
's contract size.The
World
'sregisterHook
function is removed. UseregisterStoreHook
orregisterSystemHook
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 frommudstore:schema
tomudstore:Tables
Store
'sregisterSchema
andsetMetadata
are combined into a singleregisterTable
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.World
'sregisterTable
method is updated to match theStore
interface,setMetadata
is removedThe
getSchema
method is renamed togetValueSchema
on all interfacesThe
store-sync
andcli
packages are updated to integrate the breaking protocol changes. Downstream projects only need to manually integrate these changes if they access low levelStore
orWorld
functions. Otherwise, a fresh deploy with the latest MUD will get you these changes.Patch Changes
#1231
433078c5
Thanks @dk1a! - Reverse PackedCounter encoding, to optimize gas for bitshifts.Ints are right-aligned, shifting using an index is straightforward if they are indexed right-to-left.
Updated dependencies [
952cd534
,bb6ada74
,c32a9269
,331f0d63
,d5b73b12
,433078c5
,afaf2f5f
,331f0d63
,0d12db8c
,331f0d63
]:@latticexyz/[email protected]
Major Changes
#1231
433078c5
Thanks @dk1a! - Reverse PackedCounter encoding, to optimize gas for bitshifts.Ints are right-aligned, shifting using an index is straightforward if they are indexed right-to-left.
Patch Changes
bb6ada74
,331f0d63
]:@latticexyz/[email protected]
Major Changes
#1231
433078c5
Thanks @dk1a! - Reverse PackedCounter encoding, to optimize gas for bitshifts.Ints are right-aligned, shifting using an index is straightforward if they are indexed right-to-left.
#1311
331f0d63
Thanks @alvrs! - MovecreateFaucetService
from@latticexyz/network
to@latticexyz/services/faucet
.@latticexyz/[email protected]
Major Changes
#1311
331f0d63
Thanks @alvrs! - Deprecate@latticexyz/std-client
and remove v1 network dependencies.getBurnerWallet
is replaced bygetBurnerPrivateKey
from@latticexyz/common
. It now returns aHex
string instead of anrxjs
BehaviorSubject
.All functions from
std-client
that depended on v1 network code are removed (most notablysetupMUDNetwork
andsetupMUDV2Network
). Consumers should upgrade to v2 networking code from@latticexyz/store-sync
.The following functions are removed from
std-client
because they are very use-case specific and depend on deprecated code:getCurrentTurn
,getTurnAtTime
,getGameConfig
,isUntraversable
,getPlayerEntity
,resolveRelationshipChain
,findEntityWithComponentInRelationshipChain
,findInRelationshipChain
. Consumers should vendor these functions if they are still needed.Remaining exports from
std-client
are moved to/deprecated
. The package will be removed in a future release (once there are replacements for the deprecated exports).Patch Changes
952cd534
,bb6ada74
,c32a9269
,331f0d63
,d5b73b12
,433078c5
,afaf2f5f
,0d12db8c
,331f0d63
]:@latticexyz/[email protected]
Major Changes
#1174
952cd534
Thanks @alvrs! - AllStore
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
, anddeleteRecord
.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.
#1231
433078c5
Thanks @dk1a! - Reverse PackedCounter encoding, to optimize gas for bitshifts.Ints are right-aligned, shifting using an index is straightforward if they are indexed right-to-left.
#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 frommudstore:schema
tomudstore:Tables
Store
'sregisterSchema
andsetMetadata
are combined into a singleregisterTable
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.World
'sregisterTable
method is updated to match theStore
interface,setMetadata
is removedThe
getSchema
method is renamed togetValueSchema
on all interfacesThe
store-sync
andcli
packages are updated to integrate the breaking protocol changes. Downstream projects only need to manually integrate these changes if they access low levelStore
orWorld
functions. Otherwise, a fresh deploy with the latest MUD will get you these changes.Patch Changes
#1303
d5b73b12
Thanks @dk1a! - Optimize autogenerated table libraries#1252
0d12db8c
Thanks @dk1a! - Optimize Schema methods.Return
uint256
instead ofuint8
in SchemaInstance numFields methodsUpdated dependencies [
bb6ada74
,331f0d63
]:@latticexyz/[email protected]
Major Changes
#1231
433078c5
Thanks @dk1a! - Reverse PackedCounter encoding, to optimize gas for bitshifts.Ints are right-aligned, shifting using an index is straightforward if they are indexed right-to-left.
#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 frommudstore:schema
tomudstore:Tables
Store
'sregisterSchema
andsetMetadata
are combined into a singleregisterTable
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.World
'sregisterTable
method is updated to match theStore
interface,setMetadata
is removedThe
getSchema
method is renamed togetValueSchema
on all interfacesThe
store-sync
andcli
packages are updated to integrate the breaking protocol changes. Downstream projects only need to manually integrate these changes if they access low levelStore
orWorld
functions. Otherwise, a fresh deploy with the latest MUD will get you these changes.Patch Changes
#1315
bb6ada74
Thanks @holic! - Initial sync from indexer no longer blocks the promise returning fromcreateStoreSync
,syncToRecs
, andsyncToSqlite
. This should help with rendering loading screens using theSyncProgress
RECS component and avoid the long flashes of no content in templates.By default,
syncToRecs
andsyncToSqlite
will start syncing (via observable subscription) immediately after called.If your app needs to control when syncing starts, you can use the
startSync: false
option and thenblockStoreOperations$.subscribe()
to start the sync yourself. Just be sure to unsubscribe to avoid memory leaks.#1317
3e024fcf
Thanks @holic! - add retry attempts and more logging towaitForTransaction
Updated dependencies [
952cd534
,bb6ada74
,c32a9269
,331f0d63
,d5b73b12
,433078c5
,afaf2f5f
,0d12db8c
,331f0d63
]:@latticexyz/[email protected]
Major Changes
#1174
952cd534
Thanks @alvrs! - AllStore
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
, anddeleteRecord
.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! - - AllWorld
function selectors that previously hadbytes16 namespace, bytes16 name
arguments now usebytes32 resourceSelector
instead.This includes
setRecord
,setField
,pushToField
,popFromField
,updateInField
,deleteRecord
,call
,grantAccess
,revokeAccess
,registerTable
,registerStoreHook
,registerSystemHook
,registerFunctionSelector
,registerSystem
andregisterRootFunctionSelector
.This change aligns the
World
function selectors with theStore
function selectors, reduces clutter, reduces gas cost and reduces theWorld
's contract size.The
World
'sregisterHook
function is removed. UseregisterStoreHook
orregisterSystemHook
instead.The
deploy
script is updated to integrate the World interface changes#1311
331f0d63
Thanks @alvrs! - TheSnapSyncModule
is removed. The recommended way of loading the initial state of a MUD app is via the newstore-indexer
. Loading state via contract getter functions is not recommended, as it's computationally heavy on the RPC, can't be cached, and is an easy way to shoot yourself in the foot with exploding RPC costs.The
@latticexyz/network
package was deprecated and is now removed. All consumers should upgrade to the new sync stack from@latticexyz/store-sync
.#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 frommudstore:schema
tomudstore:Tables
Store
'sregisterSchema
andsetMetadata
are combined into a singleregisterTable
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.World
'sregisterTable
method is updated to match theStore
interface,setMetadata
is removedThe
getSchema
method is renamed togetValueSchema
on all interfacesThe
store-sync
andcli
packages are updated to integrate the breaking protocol changes. Downstream projects only need to manually integrate these changes if they access low levelStore
orWorld
functions. Otherwise, a fresh deploy with the latest MUD will get you these changes.Patch Changes
#1231
433078c5
Thanks @dk1a! - Reverse PackedCounter encoding, to optimize gas for bitshifts.Ints are right-aligned, shifting using an index is straightforward if they are indexed right-to-left.
#1252
0d12db8c
Thanks @dk1a! - Optimize Schema methods.Return
uint256
instead ofuint8
in SchemaInstance numFields methodsUpdated dependencies [
952cd534
,bb6ada74
,d5b73b12
,433078c5
,afaf2f5f
,0d12db8c
,331f0d63
]:@latticexyz/[email protected]
Minor Changes
#1311
331f0d63
Thanks @alvrs! - Deprecate@latticexyz/std-client
and remove v1 network dependencies.getBurnerWallet
is replaced bygetBurnerPrivateKey
from@latticexyz/common
. It now returns aHex
string instead of anrxjs
BehaviorSubject
.All functions from
std-client
that depended on v1 network code are removed (most notablysetupMUDNetwork
andsetupMUDV2Network
). Consumers should upgrade to v2 networking code from@latticexyz/store-sync
.The following functions are removed from
std-client
because they are very use-case specific and depend on deprecated code:getCurrentTurn
,getTurnAtTime
,getGameConfig
,isUntraversable
,getPlayerEntity
,resolveRelationshipChain
,findEntityWithComponentInRelationshipChain
,findInRelationshipChain
. Consumers should vendor these functions if they are still needed.Remaining exports from
std-client
are moved to/deprecated
. The package will be removed in a future release (once there are replacements for the deprecated exports).Patch Changes
#1315
bb6ada74
Thanks @holic! - Initial sync from indexer no longer blocks the promise returning fromcreateStoreSync
,syncToRecs
, andsyncToSqlite
. This should help with rendering loading screens using theSyncProgress
RECS component and avoid the long flashes of no content in templates.By default,
syncToRecs
andsyncToSqlite
will start syncing (via observable subscription) immediately after called.If your app needs to control when syncing starts, you can use the
startSync: false
option and thenblockStoreOperations$.subscribe()
to start the sync yourself. Just be sure to unsubscribe to avoid memory leaks.Updated dependencies []:
@latticexyz/[email protected]
Patch Changes
bb6ada74
,331f0d63
]:@latticexyz/[email protected]
Patch Changes
bb6ada74
,331f0d63
]:[email protected]
Patch Changes
#1174
952cd534
Thanks @alvrs! - AllStore
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
, anddeleteRecord
.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.
#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 frommudstore:schema
tomudstore:Tables
Store
'sregisterSchema
andsetMetadata
are combined into a singleregisterTable
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.World
'sregisterTable
method is updated to match theStore
interface,setMetadata
is removedThe
getSchema
method is renamed togetValueSchema
on all interfacesThe
store-sync
andcli
packages are updated to integrate the breaking protocol changes. Downstream projects only need to manually integrate these changes if they access low levelStore
orWorld
functions. Otherwise, a fresh deploy with the latest MUD will get you these changes.#1311
331f0d63
Thanks @alvrs! - MovecreateFaucetService
from@latticexyz/network
to@latticexyz/services/faucet
.#1311
331f0d63
Thanks @alvrs! - Deprecate@latticexyz/std-client
and remove v1 network dependencies.getBurnerWallet
is replaced bygetBurnerPrivateKey
from@latticexyz/common
. It now returns aHex
string instead of anrxjs
BehaviorSubject
.All functions from
std-client
that depended on v1 network code are removed (most notablysetupMUDNetwork
andsetupMUDV2Network
). Consumers should upgrade to v2 networking code from@latticexyz/store-sync
.The following functions are removed from
std-client
because they are very use-case specific and depend on deprecated code:getCurrentTurn
,getTurnAtTime
,getGameConfig
,isUntraversable
,getPlayerEntity
,resolveRelationshipChain
,findEntityWithComponentInRelationshipChain
,findInRelationshipChain
. Consumers should vendor these functions if they are still needed.Remaining exports from
std-client
are moved to/deprecated
. The package will be removed in a future release (once there are replacements for the deprecated exports).@latticexyz/[email protected]
Patch Changes
952cd534
,bb6ada74
,c32a9269
,331f0d63
,d5b73b12
,433078c5
,afaf2f5f
,3e024fcf
,0d12db8c
,331f0d63
]:@latticexyz/[email protected]
Patch Changes
331f0d63
]:@latticexyz/[email protected]
Patch Changes
@latticexyz/[email protected]
Patch Changes
952cd534
,d5b73b12
,433078c5
,afaf2f5f
,0d12db8c
]:@latticexyz/[email protected]
Patch Changes
@latticexyz/[email protected]
Patch Changes
952cd534
,bb6ada74
,d5b73b12
,433078c5
,afaf2f5f
,0d12db8c
,331f0d63
]:@latticexyz/[email protected]
Patch Changes
952cd534
,bb6ada74
,d5b73b12
,433078c5
,afaf2f5f
,3e024fcf
,0d12db8c
,331f0d63
]:@latticexyz/[email protected]
@latticexyz/[email protected]
@latticexyz/[email protected]
@latticexyz/[email protected]
[email protected]
[email protected]
@latticexyz/[email protected]
@latticexyz/[email protected]
@latticexyz/[email protected]