3169 Commits

Author SHA1 Message Date
Daniel Lubarov
05ab3d7933 Fixes 2022-12-01 16:23:39 -08:00
Daniel Lubarov
9bf47ef8ac Fixes 2022-12-01 12:46:14 -08:00
Daniel Lubarov
3069363d35 Keccak fix 2022-12-01 12:13:34 -08:00
Daniel Lubarov
d3aa33975a generate_keccak_general, generate_byte 2022-12-01 12:06:29 -08:00
Daniel Lubarov
25205f319a fix 2022-12-01 11:21:52 -08:00
Daniel Lubarov
231042acb6 Pop 2022-12-01 11:21:40 -08:00
Daniel Lubarov
027dfc14b6 Refactor to support PROVER_INPUT 2022-12-01 11:15:51 -08:00
Daniel Lubarov
b6326c56b2 stubs 2022-11-30 22:03:00 -08:00
Daniel Lubarov
ea0e37480d misc 2022-11-30 21:56:59 -08:00
Daniel Lubarov
19e2239d3a fix 2022-11-30 21:34:06 -08:00
Daniel Lubarov
cb1b6cbb39 Generate memory ops 2022-11-30 21:30:21 -08:00
Daniel Lubarov
526dc9bb77 Flush out operation list 2022-11-30 21:00:48 -08:00
Daniel Lubarov
97ac5c59d6 Fixes 2022-11-30 18:12:31 -08:00
Daniel Lubarov
906a47a1ef generate_push and misc other progress 2022-11-30 17:45:31 -08:00
Daniel Lubarov
2471f5a391 Push and arithmetic ops 2022-11-30 15:25:16 -08:00
Daniel Lubarov
afb3e4b1e1 Misc work on witness generation 2022-11-30 14:58:40 -08:00
Daniel Lubarov
2d92b4b6b4 Fix warning 2022-11-30 10:11:48 -08:00
Daniel Lubarov
206f527338 Merge branch 'main' into jacqui/witness-generation 2022-11-30 10:09:57 -08:00
Daniel Lubarov
73de231e34
Merge pull request #827 from mir-protocol/cyclic_recursion_tweaks
Cyclic recursion tweaks
2022-11-29 13:19:18 -08:00
Daniel Lubarov
3515fbddac fix 2022-11-29 12:39:53 -08:00
Daniel Lubarov
ad58dcbc0e fix 2022-11-29 12:39:17 -08:00
Daniel Lubarov
c3ae52f5b0 fix 2022-11-29 12:19:40 -08:00
Daniel Lubarov
b23193ba8d use hashmap 2022-11-29 12:17:33 -08:00
Daniel Lubarov
319d9b5a52 Feedback 2022-11-29 12:02:54 -08:00
Daniel Lubarov
55e5d56795 Trie fix 2022-11-29 08:52:37 -08:00
Daniel Lubarov
7612c39c01
Merge pull request #828 from mir-protocol/proof_with_pis_reference
Make `proof_with_pis` a reference
2022-11-29 08:52:03 -08:00
Daniel Lubarov
5a153278aa fix 2022-11-28 22:34:29 -08:00
Daniel Lubarov
644a8a2336 Make proof_with_pis a reference 2022-11-28 22:18:42 -08:00
Daniel Lubarov
c528da4e66 Cyclic recursion tweaks
- Have the caller to `cyclic_recursion` create and pass in the virtual proof
- Split `dummy_proof` into preprocessing and proving, so that we don't need to redo the preprocessing work in each `set_cyclic_recursion_data_target` call
- Have the caller update `num_public_inputs` instead of doing it in `cyclic_recursion`. This is a little less convenient but I think it's best not to modify the caller's config (principle of least surprise)
- Have `set_cyclic_recursion_data_target` take a sparse set of public inputs. Taking some PIs with the lowest indices didn't seem very general. I still have some reservations about this part of the API - I think it would seem cleaner if PIs of a proof which wasn't selected for verification were simply ignored - but perhaps there are some optimization reasons to keep using them.
2022-11-28 21:02:41 -08:00
BGluth
5ee283b267
Merge pull request #829 from mir-protocol/ci_nightly_freeze
Set CI to use an older version of nightly
2022-11-28 18:07:27 -07:00
BGluth
da23fb116b Set CI to use an older version of nightly
- Needed until https://github.com/rust-lang/rust/issues/105037 is fixed.
2022-11-28 17:47:31 -07:00
Jacqueline Nabaglo
87a9c002c9 Compiler errors + refactor 2022-11-28 13:19:40 -08:00
Daniel Lubarov
d527073416
Merge pull request #824 from mir-protocol/cyclic_recursion_tweaks
Cyclic recursion tweaks
2022-11-23 10:07:31 -08:00
Daniel Lubarov
964d2bc373 Fix test 2022-11-22 22:33:41 -08:00
Daniel Lubarov
4048107892 Cyclic recursion tweaks 2022-11-22 20:09:10 -08:00
Daniel Lubarov
8c5d6b0af2
Merge pull request #822 from mir-protocol/domain_separator
Domain separator option
2022-11-22 09:13:57 -08:00
Daniel Lubarov
7ec14029c6 Fix comment 2022-11-22 08:04:01 -08:00
Daniel Lubarov
af1b6680e8 Switch to Vec 2022-11-22 08:02:22 -08:00
Daniel Lubarov
1abfb6d913
Merge pull request #823 from mir-protocol/generic_load_code
Make `load_code` a bit more general
2022-11-22 07:35:55 -08:00
Daniel Lubarov
1b4acf5917 Make load_code a bit more general
So that it can be used to load code we're going to execute into the code segment of a certain context.
2022-11-21 13:54:39 -08:00
Daniel Lubarov
108cb83621 Domain separator option 2022-11-21 13:24:46 -08:00
Daniel Lubarov
d1d0893772
Merge pull request #821 from mir-protocol/jumpdest_analysis
Kernel code to do jumpdest analysis
2022-11-21 13:16:50 -08:00
Daniel Lubarov
d23cecfcd8 Kernel code to do jumpdest analysis 2022-11-21 13:06:03 -08:00
Daniel Lubarov
08cabf2ad8
Merge pull request #820 from mir-protocol/serialization_refactor
Serialization refactor
2022-11-21 08:13:19 -08:00
Daniel Lubarov
05f4d2be4e Remove conversion 2022-11-20 09:43:16 -08:00
Daniel Lubarov
b0be6d7e8a Serialization refactor
Followup to #806.

A few goals here
- Zero dependencies on std. (Previously deserialization depended on std for `Cursor`.)
- Provide a single (memory buffering) impl of `Write` to make sure there's no confusion. (Previously `Buffer` and `Vec<u8>` both implemented it.)
- Move closer to the `std::io` APIs. Hopefully they will be available without std at some point (there have been some discussions...).

More specifically, this
- Changes `Buffer` to not use std's `Cursor`.
- Removes `impl Write` for `Buffer`, since it's implemented for `Vec<u8>`.
- Adds a concrete I/O error type to mimic `std::io`'s.
- Combines `Position` and `Size` into `Remaining`.
2022-11-20 09:37:18 -08:00
wborgeaud
c31b0147f4
Implement CALLVALUE, CALLDATALOAD, CALLDATASIZE, CALLDATACOPY in interpreter (#819)
* Implement `CALLVALUE, CALLDATALOAD, CALLDATASIZE, CALLDATACOPY` in interpreter

* PR feedback
2022-11-19 18:58:55 +01:00
Hamish Ivey-Law
2501386004
Add missing feature to field crate. (#818) 2022-11-18 15:00:58 +11:00
Daniel Lubarov
7691758084 Merge branch 'openzklib-feat/no-std-support' 2022-11-17 13:08:27 -08:00
Daniel Lubarov
af2349e924 Imports 2022-11-17 12:49:19 -08:00