-
Notifications
You must be signed in to change notification settings - Fork 80
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
feat: Adding (experimental) zkos support #534
Conversation
Stuff is currently failing as the zk_ee repo is private. |
Cargo.toml
Outdated
@@ -28,12 +28,14 @@ categories = ["cryptography"] | |||
######################### | |||
zksync_multivm = { git = "https://github.com/matter-labs/zksync-era.git", rev = "core-v25.4.0" } | |||
zksync_contracts = { git = "https://github.com/matter-labs/zksync-era.git", rev = "core-v25.4.0" } | |||
zksync_basic_types = { git = "https://github.com/matter-labs/zksync-era.git", rev = "core-v25.4.0" } |
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.
Is this actually needed? We purposefully got rid of it in favour of zksync_types
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 am using a bunch of methods from there (mostly to move things between u256 and h256) -- but as we have 'todo' Ican remove it for now.
crates/core/src/lib.rs
Outdated
@@ -1,3 +1,4 @@ | |||
#![cfg_attr(feature = "zkos", feature(allocator_api))] |
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.
Wait, we are using stable rust now, is this absolutely necessary for zkos?
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.
yes :-(
crates/core/src/node/in_memory.rs
Outdated
system_env, | ||
storage, | ||
// TODO: this might be causing a deadlock.. check.. | ||
&inner.fork_storage.inner.read().unwrap().raw_storage, |
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 am in the process of getting rid of raw_storage
(and hiding InMemoryStorage
in general), what should be the appropriate interface here? I am guessing this is what you were talking about in the Slack thread, basically you need some sort of interface to be able to re-construct the tree (short-term, long-term we will figure something out)?
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.
yes, short term, I need a way to iterate over all elements from the storage.
What 💻
todo()
- the real implementation is in separate branch, due to nightly compiler and private repos)Why ✋
Evidence 📷
Changes required