1458 Commits

Author SHA1 Message Date
Robin Salen
f3ea95cacc
Merge branch 'main' into error_vs_panic 2023-09-18 09:59:52 -04:00
Robin Salen
8903aec129
Change padding rule for CPU (#1234)
* Change padding rule for CPU

* Disable memory channels for padding rows

* Apply some of Jacqueline's comments

* Update halt routine

* Add clarifying comment

* Redundant constraints and padding bug

* Revert "Remove is_bootstrap_kernel column"

This reverts commit 49d92cb8f1b0ae9de76872f76af4429699ff692f.

* Make halt_state implicit

* Move halting logic constraints to dedicated module

* Include new module

* Update some comments
2023-09-15 17:46:58 -04:00
Linda Guiga
d4a8026bf9
Combine mstore_general and mload_general into one flag (#1188)
* Combine mstore_general and mload_general into one flag

* Add comments and make stack constraints cleaner.

* Fix number of native instructions

* Ordering

* Cleanup

* Update calls to stack eval from latest main

---------

Co-authored-by: Robin Salen <salenrobin@gmail.com>
2023-09-14 19:51:02 -04:00
Hamy Ratoanina
0b5ac312c0
Merge pull request #1203 from topos-protocol/constrain_nv_stack_len
Constrain next row's stack length
2023-09-14 22:42:32 +02:00
Robin Salen
06bc73f7ea
Combine arithmetic flags on the CPU side (#1187)
* Combine FP254 flags

* Combine basic binary ops together and do CTL with opcode value

* Combine ternary ops together

* Combine MUL DIV and MOD

* Combine shift operations

* Combine byte with other binary ops

* Fix tests

* Clean leftover comment

* Update from latest main

* Put the 'is_simulated' flag inside the Operation enum

* Cleaner way to handle "simulated" operations SHL and SHR.

* Fix comments.

* Minor: suggestion for re-expressing `combined_ops`.

* Update comment

---------

Co-authored-by: Hamish Ivey-Law <hamish@ivey-law.name>
2023-09-14 10:36:48 -04:00
Robin Salen
7ebbb47fcd
Swap ordering in stack macro (#1230)
* Swap ordering in stack macro

* Update comment
2023-09-13 08:39:01 -04: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
Nicholas Ward
9a8a769dc4 more clippy suggestions 2023-09-08 10:44:45 -07:00
Nicholas Ward
a4e6c6ae90 clippy suggestions 2023-09-08 10:41:01 -07:00
Nicholas Ward
8af3b0feb4 clippy suggestions 2023-09-08 10:40:17 -07:00
Nicholas Ward
ed8bcf9d74 clippy suggestions 2023-09-08 10:34:37 -07:00
Nicholas Ward
2f1ed95154
Merge pull request #1220 from mir-protocol/latest_nightly_fix
Latest nightly fix
2023-09-08 10:04:09 -07:00
BGluth
6d3d2cb283 Now builds on the latest nightly 2023-09-07 13:32:07 -06:00
Linda Guiga
1c01d682aa
Fix overflow check and test. Remove [..8] when using h256_limbs. 2023-09-07 09:44:00 +01:00
Linda Guiga
4e0fe74a74
Apply comments 2023-09-07 09:43:59 +01:00
Linda Guiga
42f7038031
Add blockhash sys opcode 2023-09-07 09:43:59 +01:00
Linda Guiga
6207f4465a
Merge pull request #1206 from topos-protocol/missing-public-value-links
Add missing links between public values
2023-09-06 18:53:15 +01:00
Linda Guiga
bf21b278d8
Apply comments 2023-09-05 08:22:53 +01:00
Linda Guiga
9ba2b895b9
Implement receipts of types 1 and 2 2023-09-04 15:03:18 +01:00
Linda Guiga
b07644368f
Add missing links between public values 2023-08-31 13:40:13 +01:00
Hamy Ratoanina
8beba56903
Constrain next row's stack length 2023-08-28 16:32:04 -04:00
Robin Salen
c0b4f155f4
Implement receipts and logs
Co-authored-by: Hamy Ratoanina <hamy.ratoanina@toposware.com>
Co-authored-by: Linda Guiga <lindaguiga3@gmail.com>
2023-08-22 20:00:49 +01:00
Linda Guiga
44115de7ae
Merge pull request #1174 from topos-protocol/merge-context-flags
Combine get_context and set_context into one flag
2023-08-22 19:23:22 +01:00
BGluth
18ca89f093 Patched plonky2 to use a patch for eth_trie_utils 2023-08-21 16:44:22 -06:00
Linda Guiga
c3cb227896
Combine get_context and set_context into one flag 2023-08-21 23:12:25 +01:00
Robin Salen
74212a29ae
Merge pull request #1192 from topos-protocol/misc_constraints 2023-08-21 14:58:34 -04:00
Linda Guiga
06e20f87b6
Apply comment 2023-08-19 18:24:35 +01:00
Robin Salen
0b78c43fa3
Remove filtering in membus 2023-08-18 15:53:13 -04:00
Robin Salen
91e8d52d35
Reduce overconstraining in decode module 2023-08-18 15:46:23 -04:00
Linda Guiga
d70d67fad4
Remove copy on write for mpt_insert and mpt_delete 2023-08-18 16:53:40 +01:00
Robin Salen
49d92cb8f1
Remove is_bootstrap_kernel column 2023-08-17 17:35:35 -04:00
Hamy Ratoanina
815a02ab75
Remove is_cpu_cycle 2023-08-15 15:22:41 -04:00
Hamy Ratoanina
12f379f99b
Combine jump flags 2023-08-14 19:08:24 -04:00
Robin Salen
7829dccf83
Combine EQ and ISZERO flags 2023-08-12 11:08:01 -04:00
Robin Salen
654f7cac42
Comment 2023-08-11 16:07:02 -04:00
Robin Salen
e10eaad09b
Combine all logic flags together 2023-08-11 10:17:45 -04:00
Robin Salen
437f57a862
Fix logic CTL 2023-08-11 09:23:58 -04:00
Robin Salen
ee9ce4c59d
Combine AND and OR flags in CpuStark 2023-08-09 16:05:24 -04:00
Robin Salen
5f4b15af7a
Connect SHL/SHR operations to the Arithmetic table (#1166)
* Add corresponding arithmetic operations to shift ones

* Include SHL/SHR in the arithmetic CTL

* Prevent overflow

* Expand documentation for ctl_data_ternops()
2023-08-09 23:17:06 +10: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
Robin Salen
f01098a783
Constrain keccak general 2023-08-01 11:16:45 -04:00
Jacqueline Nabaglo
c52ed29e08 Gas handling brain dump 2023-07-31 17:19:46 -07:00
Nicholas Ward
5b8740a729
Merge pull request #1026 from topos-protocol/memory-ctl-verifier-bus
Fix the memory CTL and implement the verifier memory bus
2023-07-28 16:01:34 -07: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
Linda Guiga
16227f90b9
Merge syscall and exceptions constraints. 2023-07-24 15:40:48 +01:00
Nicholas Ward
14c4011593
Revert "clippy fixes" 2023-07-07 12:16:43 -07:00
Nicholas Ward
96fbecd9c7 ignoring where appropriate (for izip), fixing elsewhere 2023-07-05 17:40:48 -07:00
Nicholas Ward
b0568a793a remove useless vec 2023-07-05 17:31:09 -07:00
Nicholas Ward
897e2e99e7 fix 2023-06-21 12:32:39 -07:00