-
Notifications
You must be signed in to change notification settings - Fork 36
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
update and pin powdr #236
update and pin powdr #236
Conversation
@@ -9,3 +9,6 @@ members = [ | |||
"dsl_compile" | |||
, "fields", "recursion"] | |||
resolver = "2" | |||
[patch."https://github.com/privacy-scaling-explorations/halo2"] | |||
|
|||
halo2_proofs = { git = "https://github.com/georgwiese/halo2", branch = "make-emit-public-v0.3.0", features = ["circuit-params"] } |
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.
Unfortunately we need this because PSE Halo2's main branch has a lot of breaking changes after the 0.3.0 release which we haven't updated yet.
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.
actually I think you guys are not interested in Halo2, right? So this can be removed
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.
yeah, I think eStark is more suitable for us.
zkvm/Cargo.toml
Outdated
powdr-riscv = { git = "https://github.com/eigmax/powdr", branch = "main" } | ||
powdr-riscv-executor = { git = "https://github.com/eigmax/powdr", branch = "main" } | ||
powdr-number = { git = "https://github.com/eigmax/powdr", branch = "main" } | ||
powdr = { git = "https://github.com/powdr-labs/powdr", rev = "ffb9b5e" } |
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.
We have a single entry point for these crates now.
let duration = start.elapsed(); | ||
log::debug!("Proving took: {:?}", duration); | ||
Ok(()) | ||
} |
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 block was the same in 2 functions, so just extracted it here.
@@ -287,7 +251,7 @@ mod tests { | |||
.zip(&bi_files) | |||
.for_each(|(data, filename)| { | |||
let mut f = fs::File::create(filename).unwrap(); | |||
for d in data { | |||
for d in &data.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.
riscv_continuations_dry_run
now returns a tuple of 2 things, here we're only interested in the bootloader values which is the first element of the tuple
0e9fe8e
to
917d8e9
Compare
@@ -9,3 +9,6 @@ members = [ | |||
"dsl_compile" | |||
, "fields", "recursion"] | |||
resolver = "2" | |||
[patch."https://github.com/privacy-scaling-explorations/halo2"] | |||
|
|||
halo2_proofs = { git = "https://github.com/georgwiese/halo2", branch = "make-emit-public-v0.3.0", features = ["circuit-params"] } |
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.
yeah, I think eStark is more suitable for us.
powdr-riscv = { git = "https://github.com/eigmax/powdr", branch = "main" } | ||
powdr-riscv-executor = { git = "https://github.com/eigmax/powdr", branch = "main" } | ||
powdr-number = { git = "https://github.com/eigmax/powdr", branch = "main" } | ||
powdr = { git = "https://github.com/powdr-labs/powdr", rev = "af97517" } |
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 it possible for us to use main branch one day?
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.
The main
branch would work right now already, this hash was the same as main at the time of writing. But I don't think it makes sense because it will break things on your side without any warning when we merge breaking changes to main
. I think you should pin to a specific commit (or tag) and update that once in a while, like we do for starky
in powdr.
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.
Yeah, I understand this. I was trying to follow the latest features from our deps. But it's ok to pin here. I will update the deps when 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.
I have updated the fork to the latest main of upstream, https://github.com/eigmax/powdr can you help change the repo back to eigmax? so we can keep testing this PR and merge it?
@@ -5,7 +5,7 @@ edition = "2021" | |||
|
|||
[dependencies] | |||
revm = { git = "https://github.com/powdr-labs/revm", branch = "serde-no-std", default-features = false, features = [ "serde" ] } | |||
powdr-riscv-runtime = { git = "https://github.com/eigmax/powdr", branch = "main" } |
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 use a fork here because I want to dump proof and its Circom(stark verifier), so I can do recursive proof then. Do you support dumping those two files now?
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.
which files do you need dumped? You mean for powdr
or the runtime crate?
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.
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.
The Circom file(as the second proof in my patch) is necessary to do recursive proof, but I have no idea how to place it properly, and we haven't finished the proof network, so that's why I still use the patch.
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.
ah so it's not the runtime crate, but the actual powdr repo, right?
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. I think powdr needs to produce 2 proofs(starkproof and its circom) when eStark used?
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.
Yea let's sync on that in DMs, see how we can upstream that
Ok given there are changes that were not upstreamed, maybe the easiest way is actually to update the fork first |
@leonardoalt this PR has been done in #238, I am closing it. Thanks! |
This PR updates the powdr version in the
zkvm
crate and adjusts the code for the new interfaces. The main change is that now Pipeline keeps track of its artifacts throughout time so we don't need the "make pipeline" closures anymore, simplifying a lot of the code and optimizing fixed columns generation.The behavior should be the same, can anyone run all tests (in case CI doesn't) to check that I didn't break anything?