65 Commits

Author SHA1 Message Date
Robin Salen
24aa9668f2
Revert "Make gas fit in 2 limbs (#1261)" (#1361)
* Revert "Make gas fit in 2 limbs (#1261)"

This reverts commit 0f19cd0dbc25f9f1aa8fc325ae4dd1b95ca933b3.

* Comment
2023-11-17 10:01:26 -05:00
Robin Salen
4dc42c513a
Merge public values inside prove_aggreg (#1358) 2023-11-15 14:51:35 -05:00
Robin Salen
88fcc32983
Reduce visibility for a bunch of structs and methods in EVM crate (#1289)
* Reduce visibility for a bunch of structs and methods

* Remove redundant
2023-11-13 09:26:56 -05:00
Robin Salen
29fdd3e372
minor: use explicit builder.assert_zero for readability (#1293) 2023-10-16 08:53:59 -04:00
wborgeaud
3ac0c4ae18
Fix genesis state trie root when calling prove_root (#1271)
* Fix genesis state trie root in some tests

* Just do it in tests calling prove_block
2023-10-03 17:47:10 +02:00
Robin Salen
0f19cd0dbc
Make gas fit in 2 limbs (#1261)
* Make gas fit in 2 limbs

* Fix recursive challenger

* Fix indices

* Add clarifying comments on ranges supported

* Add mention to revert before production
2023-09-29 14:47:23 -04:00
Linda Guiga
1ff6d4a283
Merge pull request #1235 from topos-protocol/new-logup
Rebased logUp implementation
2023-09-27 15:02:21 +01:00
Linda Guiga
5694af79f9
Merge remote-tracking branch 'mir-plonky2/main' into constrain-genesis-state 2023-09-26 12:24:48 -04:00
Linda Guiga
75c0e47a30
Apply comments. 2023-09-26 12:21:29 -04:00
Linda Guiga
bbc6fe768f
Merge branch 'main' into 'new-logup' 2023-09-25 11:42:11 -04:00
Linda Guiga
3983969ce9
Use function for genesis block connection. 2023-09-25 10:35:38 -04:00
Linda Guiga
9d0101d652
Merge branch 'main' into 'constrain-genesis-state' 2023-09-25 10:19:13 -04:00
Robin Salen
d6be2b987b
Remove generic_const_exprs feature from EVM crate (#1246)
* Remove const_generic_exprs feature from EVM crate

* Get a generic impl of StarkFrame
2023-09-22 09:19:13 -04:00
Linda Guiga
f438d45f06
Merge branch 'main' into 'new-logup'. 2023-09-20 12:45:14 -04:00
Robin Salen
d8874c8389
Update ranges indices 2023-09-19 18:39:25 -04:00
Linda Guiga
ca44187201
Merge branch 'main' into new-logup 2023-09-19 10:58:01 -04:00
Robin Salen
f3ea95cacc
Merge branch 'main' into error_vs_panic 2023-09-18 09:59:52 -04:00
Robin Salen
c4be838af4
Typo 2023-09-18 09:59:48 -04:00
Robin Salen
a9b7b5a62f
Revert "Remove where clauses: [(); CpuStark::<F, D>::COLUMNS]"
This reverts commit 66f935a7488e0bc862725102aac7a55bf6d83d64.
2023-09-15 17:53:44 -04:00
Linda Guiga
66f935a748
Remove where clauses: [(); CpuStark::<F, D>::COLUMNS] 2023-09-15 15:34:06 +01:00
wborgeaud
f65ad58a08
Implement logUp 2023-09-15 09:00:35 +01:00
Hamy Ratoanina
c27fc96a06
Merge branch 'main' into next_row_ctls 2023-09-13 16:46:30 +02:00
Robin Salen
5a1b05acfb
Remove risks of panic 2023-09-12 19:23:16 -04:00
Robin Salen
9508b49090
Move byte packing / unpacking to a distinct table (#1212)
* Duplicate Memory trace into BytePacking one

* Add mload_32bytes instruction

* Use dedicated ops for byte packing trace

* Change witness generation to reduce memory reads for MLOAD_32BYTES

* Remove segments

* Fix stack

* Fix extra product when fixing CTL for byte_packing

* Write output value in trace

* Add constraints for BYTE_PACKING table

* Add recursive constraints for BYTE_PACKING table

* Fix constraints

* Add address in trace and constraints

* Add timestamp and batch inputs into BytePackingOp struct

* Add extra column

* Fix BytePackingStark CTL

* Tiny fix in witness generation

* Fix the Memory CTL

* Add constraints for the new columns

* Remove 1 column

* Remove limb columns

* Fix

* Fix recursive circuit of BytePackingTable

* Fix constraints

* Fix endianness

* Add MSTORE_32BYTES instruction and move decomposition to packing table

* Add missing constraint

* Add range-check for all bytes

* Add extra constraint

* Cleanup

* Remove REMAINING_LEN column

* Add corresponding implementations in interpreter

* Fix recursive version

* Remove debug assertion because of CI

* Remove FILTER column

* Update new test from rebasing

* Reorder STARK modules to match TraceCheckPoint ordering

* Address comments

* Pacify clippy

* Add documentation to the packing module

* Fix doctest
2023-09-13 04:45:37 +10:00
Hamy Ratoanina
3c4f938f85
Make next row available to CTLs 2023-09-12 13:59:50 -04:00
Linda Guiga
4d7d9ffa3c
Constrain genesis block's state trie. 2023-09-11 19:09:12 +01:00
Linda Guiga
42f7038031
Add blockhash sys opcode 2023-09-07 09:43:59 +01:00
Linda Guiga
d4b71c5686
Replace genesis state trie check with TODO 2023-09-06 15:12:00 +01:00
Linda Guiga
6bd17e29c1
Apply comments 2023-09-06 01:19:31 +01:00
Linda Guiga
b07644368f
Add missing links between public values 2023-08-31 13:40:13 +01:00
Robin Salen
8476fdcd93
Refactor 2023-08-19 10:46:01 -04:00
Robin Salen
9a4500683b
Update BlockBaseFee to fit in 2 limbs 2023-08-19 10:23:24 -04:00
Robin Salen
976d752153
Observe public values 2023-08-18 18:59:58 -04:00
Robin Salen
12a687d34a
Reduce reallocations 2023-08-10 08:52:21 -04:00
wborgeaud
df07ae093a
Write trie roots to memory before kernel bootstrapping (#1172)
* Write trie roots

* Remove CPU trace length

* Update hash_initial/final_tries

* Fix tests

* Minor

* PR feedback
2023-08-09 10:15:13 +02:00
wborgeaud
c9eed2bbf9
Connect public values in aggregation circuit (#1169)
* Connect public values in aggregation circuit

* Minor
2023-08-07 21:00:32 +02:00
Robin Salen
e64070899d
Error instead of panicking for missing preprocessed circuits (#1159) 2023-08-07 17:42:03 +02:00
Robin Salen
bca3e09bba
Reuse set_public_value_targets 2023-08-01 16:43:27 -04:00
Hamy Ratoanina
7a882d0a64
Clippy 2023-07-27 18:27:09 -04:00
Linda Guiga
6253a68ea5
Change public values into public inputs 2023-07-27 18:27:08 -04:00
Hamy Ratoanina
59b73c84ee
Apply comments 2023-07-27 18:27:06 -04:00
Hamy Ratoanina
1590c1d0be
Fix indices in CTL functions 2023-07-27 18:27:05 -04:00
Linda Guiga
06037f814f
Fix the memory CTL and implement the verifier memory bus
Co-authored-by: Hamy Ratoanina <hamy.ratoanina@toposware.com>
2023-07-27 18:20:03 -04:00
Nicholas Ward
bfa7ab369e
Merge pull request #1111 from topos-protocol/lookup_serial
Lookup serialization
2023-07-24 13:29:10 -07:00
Nicholas Ward
4893a86001
Merge pull request #1116 from topos-protocol/recursive_ranges
Remove need for matching start ranges
2023-07-14 09:32:24 -07:00
Robin Salen
544aff27b6
Also provide CommonCircuitData in serialization of gates and generators 2023-07-13 19:27:51 -04:00
Robin Salen
0a59aa6e6f
Remove need for matching start ranges 2023-07-06 16:26:00 -04:00
Robin Salen
d960bfe2a3
Make serializer work with slices instead of Vec 2023-06-24 18:32:02 -04:00
Hamish Ivey-Law
c134b59763
Cross-table lookup for arithmetic stark (#905)
* First draft of linking arithmetic Stark into the CTL mechanism.

* Handle {ADD,SUB,MUL}FP254 operations explicitly in `modular.rs`.

* Adjust argument order; add tests.

* Add CTLs for ADD, MUL, SUB, LT and GT.

* Add CTLs for {ADD,MUL,SUB}MOD, DIV and MOD.

* Add CTLs for {ADD,MUL,SUB}FP254 operations.

* Refactor the CPU/arithmetic CTL mapping; add some documentation.

* Minor comment fixes.

* Combine addcy CTLs at the expense of repeated constraint evaluation.

* Combine addcy CTLs at the expense of repeated constraint evaluation.

* Merge `*FP254` CTL into main CTL; rename some registers.

* Connect extra argument from CPU in binary ops to facilitate combining with ternary ops.

* Merge modular ops CTL into main CTL.

* Refactor DIV and MOD code into its own module.

* Merge DIV and MOD into arithmetic CTL.

* Clippy.

* Fixes related to merge.

* Simplify register naming.

* Generate u16 BN254 modulus limbs at compile time.

* Clippy.

* Add degree bits ranges for Arithmetic table.
2023-05-11 03:29:06 +10:00
Hamish Ivey-Law
2c5f6fd62a
Fix compile time problems and generic hash implementation (#1024)
* Fix egregious magic number.

* Remove generic consts from core permutations.

* Remove redundant `where` clauses.

* Remove HashConfig and friends.

* Refactor Permutation code.

* Remove redundant `where` clauses and `use`s.

* Introduce AlgebraicPermutation to wrap `[Target; WIDTH]`s.

* Remove `generic_const_expr` feature from plonky2!

* Remove `generic_const_expr` feature from plonky2!

* Compile time fixed! Start removing `generic_const_expr` from evm.

* Remove redundant `where` clauses from Starky.

* Remove `generic_const_expr`s from benchmarks.

* Remove redundant HASH_SIZE `where` clause.

* Clippy.

* Fix unrelated OsRng issue in `bench_recursion`.

* Fix function doc.
2023-05-11 02:59:02 +10:00