-
Notifications
You must be signed in to change notification settings - Fork 187
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
Manifest generation on demand #2878
Comments
I think a variation of 2 would be a great option. The manifest is now used for more than just storing the current state of the migration for comparison with the hoped state, it is also a way to provide information for the different SDKs (dojo.js) It is also used for many scripts to extract the addresses of specific contracts: https://github.com/search?q=manifest_dev.json++%7C+path%3A*.sh&type=code&ref=advsearch Generating the post-migration state is not useful for the use-cases defined above, and I am not convinced that using a command that can alter global state to modify local (on your computer) state is a good idea. For the second solution, I would argue not to write the manifest to disk, but instead add a variant of |
Thank you @knownasred for the comments here, let's move to that direction then. About the output option, where does it make more sense to you? Should it be using Technically speaking, when we run IMHO, having
# Default profile
sozo inspect --output-manifest
# Sepolia
sozo inspect --output-manifest --profile sepolia What are you thoughts around that? |
Is your feature request related to a problem? Please describe.
The manifest is a file that is generated by sozo once the world has been migrated. The manifest contains all the resources (contracts/models/events) that have been deployed, the addresses, class hashes and ABIs.
However, currently the manifest if only generated one the world is migrated. Which implies that it can't be generated for a world already migrated.
An important thing to mention is that, in dojo, all addresses are deterministic, based on two values:
dojo_<PROFILE>.toml
.Describe the solution you'd like
The purpose of this issue is to discuss what could be the best approach to access the manifest on demand.
Here are the considerations:
sozo plan
command was used. Currently sozo has thesozo inspect
commands which actually pulls from the chain everything that is required to generate the manifest. We may add asozo inspect --output-manifest /tmp/manifest.json
option?Additional context
The manifest data are defined here:
dojo/crates/dojo/world/src/diff/manifest.rs
Lines 16 to 21 in baf0ce9
The text was updated successfully, but these errors were encountered: