-
Notifications
You must be signed in to change notification settings - Fork 8
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
✅ starknet_getClass
#110
✅ starknet_getClass
#110
Conversation
New classes now have their class hash syncked from request to the sequencer during l2 sync. These hashes are then bundled into a `StarknetClassUpdate` and sent by thread bus to be added to pre-runtime digest.
This comment will be updated once this problem has been resolved |
Devcontainer now works again (**remember to set your UID** in Dockerfile though) and will automatically set up deoxys dp and run cargo fmt upon container startup. Developpers already using their own devcontainer will have to rebuild their conainter the next time they lauch it.
@@ -0,0 +1,32 @@ | |||
FROM rust:1.75.0-bookworm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what does this docker do? And why is it necessary for Deoxys?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This uses the official rust docker image as base for the devcontainer used to launch Deoxys.
To answer your question, this allows to set up a dev environment with all the required dependencies and vscode plugins for building, running and debugging Deoxys. The idea behind this is to simply the onboard process of new devs by reducing the amount of friction required in setting up a dev environment, but also standardize the tools between contributors working on Deoxys.
To learn more about vscode dev containers, check out the offial documentation.
"storage": "128gb" | ||
} | ||
} | ||
"build": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what are those changes on the devcontainer? are they needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very much so.
The previous dev container did not work and took up several GB on disk, just for the image. The new dev container is much lighter and allows the following:
- Support for rust nightly.
- Bundled with all the required libraries, such as
liabsound2
andalsalib
for building. - Essential vscode extensions, such as
Rust
will be automatically installed in the dev container. - Since the db is already stored in
/tmp
, it will be shared between the container and the host. postAttachCommand
: ensures that the Deoxys db is initialized each time the container is started (no need to run madara setup anymore).
There's also a bit more setup under the hood to make it so the container user is the same as the host user, meaning new files are not created as root
but with the scope and permissions of the host user. This is mostly to allow the host to retain file access rights when outside the container, but it also is a nice added security benefit :)
@@ -0,0 +1,21 @@ | |||
#!/bin/bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This script is just being used to do some setup each time the dev container is started, namely setting up the Deoxys db so we no longer have to call madara setup
:)
members = [ | ||
"crates/client/commitment-state-diff", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what happened to those members previously they disapeared?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I beleive they were just reorganised
Fixes deserialization error of Cairo V0 program into Blockifier ContractClass #32
Class & ABI storage for
starknet_getClass
What is the current behavior?
starknet_getClass
have an invalid returnResolves: #32
What is the new behavior?
Changes pertaining to #32:
starknet_getClass
RPC call.Quality of life changes:
rpc/util
has been moved to a dedicated crateconvert
. Please add any further conversion logic that does not use wrapper types there.devcontainer.json
now works and will initialize the database on attach.Does this introduce a breaking change?
Any node with an existing database will need to re-synchronize from block 0 to be able to download all contract class data. I recommend the usage of @jbcaron's feeder cache for that purpose.