Linda Guiga
bc1a3c4851
Merge push and prover_input flags ( #1417 )
...
* Merge PUSH and PROVER_INPUT flags
* Apply comment
2023-12-13 16:21:24 +01:00
Hamy Ratoanina
3195c205df
Merge MSTORE_32BYTES and MLOAD_32BYTES columns ( #1414 )
...
* Merge MSTORE_32BYTES and MLOAD_32BYTES columns
* Fix circuit functions
* Apply comments
2023-12-08 17:57:45 -05:00
Hamy Ratoanina
edfc86c393
Remove is_keccak_sponge ( #1410 )
...
* Remove is_keccak_sponge
* Apply comment
2023-12-07 13:07:06 -05:00
Robin Salen
2d36559dad
Make some functions const ( #1407 )
2023-12-05 13:41:31 -05:00
Alonso González
471ff68d51
Optimize num_bytes and hex_prefix_rlp ( #1384 )
...
* Compute num_bytes non-deterministically
* Optimize hex_prefix_rlp
* Clean code
* Clippy
* Apply suggestions
Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>
* Clean
* Add endline
* Change 1^256 to U256_MAX
* Apply suggestions from code review
Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>
---------
Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>
2023-11-29 10:43:50 -05:00
Hamy Ratoanina
64cc1000e7
Move stack_len_bounds_aux to general columns ( #1360 )
...
* Move stack_len_bounds_aux to general columns
* Update specs
* Apply comments
* Apply comment
2023-11-28 14:14:47 -05:00
Linda Guiga
3440ba94e6
Remove extra rows in BytePackingStark ( #1388 )
...
* Have at most one row per (un)packing operation in BytePackingStark
* Change specs
* Fix comment
* Fix tests and apply comments
* Fix log_opcodes
2023-11-28 10:25:03 -05:00
Robin Salen
b9328815e6
Reduce visibility ( #1364 )
2023-11-17 15:45:38 -05:00
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
Hamy Ratoanina
0e63e66196
Implement out of gas exception ( #1328 )
...
* Implement out of gas exception
* Use gas constants in gas_cost_for_opcode
* Remove comment
2023-11-15 11:20:14 -05:00
Robin Salen
01f229a8e1
Add push constraints ( #1352 )
...
* Add push constraints
* Fix ranges
* Add stack constraints
2023-11-15 11:15:14 -05:00
Hamy Ratoanina
6d751b13c1
Remove values of last memory channel ( #1291 )
...
* Remove values of last memory channel
Co-authored-by: Linda Guiga <lindaguiga3@gmail.com>
* Fix merge
* Apply comments
* Fix ASM
* Top stack documentation (#7 )
* Add doc file
* Apply comments
* Apply comments
* Fix visibility
* Fix visibility
---------
Co-authored-by: Linda Guiga <lindaguiga3@gmail.com>
2023-11-13 11:03:50 -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
cc0cdd0783
Remove unnecessary code duplication ( #1349 )
...
* Remove unnecessary code duplication
* Clippy
2023-11-10 17:12:44 -05:00
Hamy Ratoanina
3810bd1ae9
Charge gas for native instructions in interpreter ( #1348 )
...
* Charge gas for native instructions in interpreter
* Apply comment
* Format
2023-11-10 16:37:54 -05:00
Linda Guiga
e41435e927
Add memory checks for prover_input, as well as range_checks for prover_input, syscalls/exceptions ( #1168 )
...
* Add memory checks for prover_input and range_checks for prover_input, syscalls and exceptions
* Replace u32 by U256, and remove extra CTLs
* Add column in ArithmeticStark to use ctl_arithmetic_base_rows for is_range_check
* Fix CTLs and circuit constraint.
* Fix CTLs
2023-11-07 15:52:00 -05:00
wborgeaud
fa93454c5c
Add withdrawals ( #1322 )
...
* Withdrawals
* Remove AllRecursiveCircuits in withdrawals test
* Fix ERC20 test
2023-11-07 12:20:54 +01:00
Linda Guiga
413620751e
Combine JUMPDEST and KECCAK_GENERAL flags. ( #1259 )
...
* Combine JUMPDEST and KECCAK_GENERAL flags.
* Apply comments
2023-11-01 10:43:09 -04:00
Linda Guiga
6332900d86
Combine PUSH0 and PC flags. ( #1256 )
2023-10-30 15:43:06 -04:00
Robin Salen
0d97b93af5
Add some documentation in EVM crate ( #1295 )
...
Co-authored-by: Linda Guiga <linda.guiga@toposware.com>
2023-10-30 14:28:24 -04:00
Linda Guiga
af4935cde8
Merge NOT and POP flags. ( #1257 )
...
* Merge NOT and POP flags
* Add comments
* Disable remaining memory channels for POP
* Apply comments
* Fix stack
2023-10-30 14:05:54 -04:00
Hamy Ratoanina
4b40bc0313
Remerge context flags ( #1292 )
...
* Remerge context flags
* Apply comments and revert some unwanted changes
2023-10-30 12:56:11 -04:00
Linda Guiga
666a155d4a
Remove new_stack_top_channel from StackBehavior ( #1296 )
2023-10-26 17:52:54 -04:00
Robin Salen
29005dc586
Use SUBMOD in Kernel
2023-10-21 11:44:23 -04:00
Linda Guiga
817e3e78e0
Combine DUP and SWAP ( #1254 )
...
* Combine dup and swap flags.
* Add comments
2023-10-18 17:32:43 -04:00
Hamy Ratoanina
1d60431992
Store top of the stack in memory channel 0 ( #1215 )
...
* Store top of the stack in memory channel 0
* Fix interpreter
* Apply comments
* Remove debugging code
* Merge commit
* Remove debugging comments
* Apply comments
* Fix witness generation for exceptions
* Fix witness generation for exceptions (again)
* Fix modfp254 constraint
2023-10-11 16:28:49 -04:00
Robin Salen
8a5eed9d1c
Fix shift constraint ( #1280 )
2023-10-09 07:41:30 -04:00
Linda Guiga
e58d7795f8
Remove reg_preimage columns in KeccakStark ( #1279 )
...
* Remove reg_preimage columns in KeccakStark
* Apply comments
* Minor cleanup
2023-10-06 15:49:57 -04:00
Linda Guiga
0de6f94962
Remove extra SHL/SHR CTL. ( #1270 )
...
* Remove extra shift CTL.
* Change order of inputs for the arithmetic shift operations. Add SHR test. Fix max number of bit shifts. Cleanup.
* Fix SHR in the case shift >= 256
* Limit visibility of helper functions
2023-10-05 09:56:56 -04: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
Alonso González
f49fbc8e9b
Transactions trie support ( #1232 )
...
* Implement transactions.
* Fix receipts and transactions
* Add some fixes
* Update tests
* Remove changes added for debugging purposes only
* Clippy
* Remove additional debug changes
* Remove unused
* Apply comments
---------
Co-authored-by: Linda Guiga <lindaguiga3@gmail.com>
Co-authored-by: Robin Salen <salenrobin@gmail.com>
2023-09-27 10:00:16 -04:00
Robin Salen
03a9558198
Handle additional panics ( #1250 )
...
* Remove some panic risks
* Remove more panics
* Handle jump with empty stack
* Handle last expect
* More panics
* Handle from_big_endian
* Handle from_little_endian
* Remove remaining risky as_usize()
* Remove explicit panic
* Clippy
* Handle unwrap
* Make error messages more explicit
* Simplify u256 to usize conversion
2023-09-26 11:13:57 -04:00
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
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
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
a4e6c6ae90
clippy suggestions
2023-09-08 10:41:01 -07:00
Nicholas Ward
7415810f19
clippy suggestions
2023-09-08 10:40:31 -07:00
Robin Salen
d0379e9428
Apply Nick's comment
2023-09-07 15:35:34 -04:00
Robin Salen
8dcb29e5ad
Display actual trace lengths instead of number of ops
2023-09-06 12:31:17 -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
4e5f6e7e63
Apply comment
2023-08-21 23:12:25 +01:00
Linda Guiga
10bbda039b
Remove unnecessary changes in the Operation enum
2023-08-21 23:12:25 +01:00
Linda Guiga
c3cb227896
Combine get_context and set_context into one flag
2023-08-21 23:12:25 +01: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
e10eaad09b
Combine all logic flags together
2023-08-11 10:17:45 -04:00