Daniel Lubarov
da07a7a891
Merge pull request #914 from mir-protocol/return_post_state
...
Add a `prove_with_outputs` method
2023-03-16 14:23:26 -07:00
Daniel Lubarov
c8d591f6da
Add a prove_with_outputs method
...
Which returns information about the post-state after execution. This is useful for debugging purposes.
2023-03-16 13:42:59 -07:00
Dmitry Vagner
18c83e77da
Merge branch 'main' of github.com:mir-protocol/plonky2 into non-inv
2023-03-08 09:44:21 -08:00
Daniel Lubarov
c558eedd65
Misc EVM fixes
2023-03-05 09:39:49 -08:00
Dmitry Vagner
2ea3e5e3ca
minor changes
2023-02-25 10:35:33 -08:00
Dmitry Vagner
5e3e40a094
more general kernel peek
2023-02-19 16:05:39 -08:00
Dmitry Vagner
f5b45ee400
Merge branch 'main' of github.com:mir-protocol/plonky2 into non-inv
2023-02-17 13:29:23 -08:00
Daniel Lubarov
745bec8d4c
Skip log_kernel_instruction if debug logs disabled
2023-02-17 07:33:30 -08:00
Dmitry Vagner
e2cac0bb0c
Merge branch 'main' of github.com:mir-protocol/plonky2 into non-inv
2023-02-15 12:33:43 -08:00
Jacqueline Nabaglo
f3946f75bf
Gas constraints ( #880 )
...
* Gas constraints
* Bugfix
* make test pass post rebase
2023-02-14 22:30:19 -08:00
Dmitry Vagner
787cc8903b
change segment
2023-02-13 12:32:40 -08:00
Dmitry Vagner
2158c1d267
merge
2023-02-13 11:31:08 -08:00
Hamish Ivey-Law
40866e775a
Refactor arithmetic operation traits ( #876 )
...
* Use U256s in `generate(...)` interfaces; fix reduction bug modular.
* Refactor `Operation` trait.
* Rename file.
* Rename `add_cc` things to `addcy`.
* Clippy.
* Simplify generation of less-than and greater-than.
* Add some comparison tests.
* Use `PrimeField64` instead of `RichField` where possible.
* Connect `SUBMOD` operation to witness generator.
* Add clippy exception.
* Add missing verification of range counter column.
* Fix generation of RANGE_COUNTER column.
* Address William's PR comments.
2023-02-10 23:07:57 +11:00
Dmitry Vagner
7b367f5c49
merge
2023-02-08 11:25:11 -08:00
Hamish Ivey-Law
83c0292be8
Move SHL and SHR generation to the CPU. ( #878 )
2023-02-09 05:44:05 +11:00
Dmitry Vagner
cd5c92b574
merge
2023-02-01 08:51:42 -08:00
Daniel Lubarov
137bc78565
Prep for publishing to crates.io
2023-01-30 13:18:06 -08:00
Daniel Lubarov
815113809a
TODO
2023-01-30 08:43:52 -08:00
Dmitry Vagner
d2aa937a2f
improved prover input and test api
2023-01-21 13:19:07 +07:00
Dmitry Vagner
ecde3d13b1
frob tests
2023-01-18 11:10:26 +07:00
Dmitry Vagner
9cd1f8a1b2
Merge branch 'main' of github.com:mir-protocol/plonky2 into non-inv
2023-01-18 00:41:18 +07:00
Daniel Lubarov
a2f4a58d9a
log
2023-01-14 21:21:47 -08:00
Daniel Lubarov
df2ba7a384
Basic smart contract test
2023-01-14 21:18:58 -08:00
Dima V
068f74854a
Update evm/src/witness/util.rs
...
Co-authored-by: Jacqueline Nabaglo <jakub@mirprotocol.org>
2023-01-11 05:45:08 -08:00
Dmitry Vagner
c4e512ef9f
Merge branch 'main' of github.com:mir-protocol/plonky2 into non-inv
2022-12-20 11:45:55 -08:00
Dmitry Vagner
7788a29f4a
skeleton inv
2022-12-20 00:22:59 -08:00
Daniel Lubarov
b8e97aaaf8
Fix logic and Keccak CTLs
...
Lots of little bugs!
- The Keccak sponge table's padding logic was wrong, it was mixing up the number of rows with the number of hashes.
- The Keccak sponge table's Keccak-looking data was wrong - input to Keccak-f should be after xor'ing in the block.
- The Keccak sponge table's logic-looking filter was wrong. We do 5 logic CTLs for any final-block row, even if some of the xors are with 0s from Keccak padding.
- The CPU was using the wrong/outdated output memory channel for its Keccak sponge and logic CTLs.
- The Keccak table just didn't have a way to filter out padding rows. I added a filter column for this.
- The Keccak table wasn't remembering the original preimage of a permutation; lookers were seeing the preimage of the final step. I added columns for the original preimage.
- `ctl_data_logic` was using the wrong memory channel
- Kernel bootloading generation was using the wrong length for its Keccak sponge CTL, and its `keccak_sponge_log` was seeing the wrong clock since it was called after adding the final bootloading row.
2022-12-19 15:42:59 -08:00
Jacqueline Nabaglo
b6bc018cba
Simplify JUMP/JUMPI constraints and finish witness generation ( #846 )
...
* Simplify `JUMP`/`JUMPI` constraints and finish witness generation
* Constrain stack
2022-12-11 11:08:33 -08:00
Jacqueline Nabaglo
29644e5111
Implement PC instruction ( #847 )
...
* Implement `PC` instruction
* lints
2022-12-11 10:41:32 -08:00
Daniel Lubarov
6f841678a5
More timing for zkEVM proofs
2022-12-09 21:48:36 -08:00
Daniel Lubarov
7557f320d4
Fix to add_eth
...
It was creating a new account with the hash of an empty storage trie, when really it should be a pointer to an empty storage trie. We can use 0 as this pointer since `@SEGMENT_TRIE_DATA[0] = 0 = @MPT_NODE_EMPTY`.
Also a couple tweaks that helped me debug, like moving the memory value range checks from the interpreter into `MemoryState`, so they're done in actual witness generation as well as interpreter tests.
2022-12-09 18:58:48 -08:00
Jacqueline Nabaglo
95eeed46f0
Memory load/store constraints ( #839 )
2022-12-09 10:35:00 -08:00
Daniel Lubarov
b5a06f92fa
Merge pull request #837 from mir-protocol/fill_memory_gaps
...
Add dummy reads to fill any large gaps in memory fields
2022-12-09 08:56:56 -08:00
Daniel Lubarov
f4ab65f973
Fixes to get test_simple_transfer working
2022-12-08 23:27:20 -08:00
Daniel Lubarov
1c5590fb22
Add dummy reads to fill any large gaps in memory fields
2022-12-05 15:48:09 -08:00
Daniel Lubarov
bffdc553dc
fixes
2022-12-03 22:44:54 -08:00
Daniel Lubarov
1303a83f7f
Misc witness generation fixes
2022-12-03 21:09:57 -08:00
Daniel Lubarov
b8b2fefe52
Use Keccak sponge table for bootloading
...
And get rid of the deprecated Keccak memory table.
2022-12-03 11:21:31 -08:00
Daniel Lubarov
20183c260b
Fixes & re-enabling most constraints
2022-12-02 22:47:07 -08:00
Daniel Lubarov
82d0f08193
clippies
2022-12-02 17:06:30 -08:00
Daniel Lubarov
7293054062
Warnings
2022-12-02 14:49:32 -08:00
Daniel Lubarov
a63b73a851
Misc fixes
2022-12-02 13:56:52 -08:00
Daniel Lubarov
4f66d58de5
Fixes
2022-12-01 17:14:40 -08:00
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