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.
Setup a failing MIPS test due to padding errors
I added 2 tests to
o1vm/tests/test_mips_elf
.test_nor_execution
: This checks the correct execution of thenor.asm
program.test_nor_proving
: This checks the prove/verify steps from the main loop. It is currently failing because padding with zeros is not a valid way to extend a proof to the full domain. NOTE: This test also builds an SRS from scratch, it will take a while. This cost is amortized the more tests we add.Changes
Add a
halt_address
field tocannon::VmConfiguration
type. This flag allows us to signal the step function that we are finished executing -- if the next instruction pointer is thehalt_address
, stop execution. This hack was borrowed from the cannon codebase.Factor out the core logic from
pickles/main.rs
topickles/mod.rs
so that it can be exported viao1vm::pickles
. I didn't change any of the logic, but in order to add the "pad an incomplete execution" logic I had to separate some things out.Add a dummy
ProofInputs::pad
function that pads a proof with zeros. We know this isn't working, but I did this as a way to stub out where the correct solution can go.