Daniel Lubarov
678d04e69a
fix
2022-07-12 17:52:53 -07:00
Daniel Lubarov
d1afe8129c
More realistic padding rows in memory
...
This adds padding rows which satisfy the ordering checks. To ensure that they also satisfy the value consistency checks, I just copied the address and value from the last operation.
I think this method of padding feels more natural, though it is a bit more code since we need to calculate the max range check in a different way. But on the plus side, the constraints are a bit smaller and simpler.
Also added a few constraints that I think we need for soundness:
- Each `is_channel` flag is bool.
- Sum of `is_channel` flags is bool.
- Dummy operations must be reads (otherwise the prover could put writes in the memory table which aren't in the CPU table).
2022-07-12 17:46:19 -07:00
Daniel Lubarov
7221c96440
Use FFTs to get subgroup evaluations in check_constraints
...
Instead of quadratic evaluation. Should speed up `test_all_stark`.
2022-07-12 15:29:27 -07:00
Daniel Lubarov
1331f992a6
fix
2022-07-12 14:55:34 -07:00
Daniel Lubarov
25d429af7a
fix
2022-07-12 14:54:36 -07:00
Daniel Lubarov
934f1aeb7e
Simplify memory table
...
By no longer storing unsorted operations; they are effectively stored in the CPU table already.
I ran into some issues with sorting, since the existing sort method didn't include `is_channel` columns. Rather than update the existing method, I removed it and added a sort on the `MemoryOp`s, which I think seems cleaner.
2022-07-12 14:53:34 -07:00
Daniel Lubarov
10c31b7036
feedback
2022-07-12 14:33:10 -07:00
Daniel Lubarov
a3deefd891
fix
2022-07-11 17:37:17 -07:00
Daniel Lubarov
ef3addea2c
Merge branch 'main' into evm_generation
2022-07-11 17:24:37 -07:00
wborgeaud
61f98f3695
Merge pull request #602 from mir-protocol/better_ctl_error
...
Better CTL errors
2022-07-11 20:07:28 +02:00
wborgeaud
d35d3e2095
PR feedback + underflow check
2022-07-11 19:53:00 +02:00
Nicholas Ward
abc729f1d6
TODO
2022-07-11 10:44:48 -07:00
Nicholas Ward
bdae9bc33b
update
2022-07-11 10:44:48 -07:00
Nicholas Ward
b935605f69
fmt
2022-07-11 10:44:48 -07:00
Nicholas Ward
467f532024
addressed comments
2022-07-11 10:44:48 -07:00
Nicholas Ward
49c208ec9b
addressed comments
2022-07-11 10:44:48 -07:00
Nicholas Ward
888cfe4ca4
fix
2022-07-11 10:44:48 -07:00
Nicholas Ward
9ad2958f73
fix
2022-07-11 10:44:48 -07:00
Nicholas Ward
afc5a4dc4f
fixes
2022-07-11 10:44:48 -07:00
Nicholas Ward
6655ee68e4
restored timestamp column to CTL
2022-07-11 10:44:48 -07:00
Nicholas Ward
6b2b745291
removed debug prints
2022-07-11 10:44:48 -07:00
Nicholas Ward
3a6f2ef25e
clippy
2022-07-11 10:44:48 -07:00
Nicholas Ward
51498eb748
fmt
2022-07-11 10:44:48 -07:00
Nicholas Ward
58c2e7214a
another padding-row constraint fix
2022-07-11 10:44:48 -07:00
Nicholas Ward
77a7ace39c
updates to recursive constraints
2022-07-11 10:44:48 -07:00
Nicholas Ward
f3ef6c9bf3
fix: ignore padding rows in constraints
2022-07-11 10:44:48 -07:00
Nicholas Ward
83963c3a8f
permutation pairs
2022-07-11 10:44:48 -07:00
Nicholas Ward
b467a13d91
fix
2022-07-11 10:44:48 -07:00
Nicholas Ward
c3e7652763
updates
2022-07-11 10:44:48 -07:00
Nicholas Ward
181a132335
fixes
2022-07-11 10:44:48 -07:00
Nicholas Ward
a98f267ff0
initial change
2022-07-11 10:44:48 -07:00
Daniel Lubarov
8a2a035411
Merge branch 'main' into evm_generation
2022-07-11 09:58:38 -07:00
wborgeaud
5e27e7264d
unwrap_or_else -> unwrap_or
2022-07-11 14:56:27 +02:00
wborgeaud
50ebf39d37
Comment
2022-07-11 14:24:12 +02:00
wborgeaud
3ff67e38dc
Minor
2022-07-11 14:16:58 +02:00
wborgeaud
36c8aa34c1
Comments
2022-07-11 14:13:07 +02:00
wborgeaud
91fcf26289
Better CTL error
2022-07-11 11:07:16 +02:00
Daniel Lubarov
58889e7649
Allow constants to be passed from Rust into our assembly ( #598 )
...
Roughly like environment variables. So we don't have to declare things like segment IDs twice.
2022-07-08 08:56:46 -07:00
wborgeaud
12ca084620
PR feedback
2022-07-08 09:58:52 +02:00
wborgeaud
a280e1c60a
Merge branch 'ec_use_macro_params' into evm_interpreter
2022-07-07 19:28:22 +02:00
wborgeaud
a3c2e9a295
More macros
2022-07-07 19:28:11 +02:00
wborgeaud
122188c817
Merge branch 'ec_use_macro_params' into evm_interpreter
2022-07-07 19:17:31 +02:00
wborgeaud
4316be96cd
Test exp kernel function
2022-07-07 19:15:39 +02:00
wborgeaud
7bf5118f69
Test exp kernel function
2022-07-07 18:46:20 +02:00
wborgeaud
f8987b7e80
Minor
2022-07-07 18:27:15 +02:00
wborgeaud
9c4947e0f0
EC ops test
2022-07-07 18:06:24 +02:00
Daniel Lubarov
beb8a90773
Macros with arguments ( #595 )
...
* Macros with arguments
See `basic_macros.rs` for an example.
* rename
2022-07-07 08:59:53 -07:00
wborgeaud
3ec2d307e5
EVM interpreter
2022-07-07 16:53:06 +02:00
wborgeaud
434615a03c
PR feedback + comments
2022-07-07 08:26:57 +02:00
wborgeaud
e2b1e51280
Minor
2022-07-06 09:40:11 +02:00