4530 Commits

Author SHA1 Message Date
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
acc659da07
Add type 1 and 2 txn for RLP encoding support (#1255) 2023-09-26 14:56:18 -04:00
Linda Guiga
916ce0ddb1
Merge pull request #1228 from topos-protocol/constrain-genesis-state
Constrain genesis block's state trie.
2023-09-26 18:08:38 +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
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
wborgeaud
72241ca728
Connect block_gas_used (#1253) 2023-09-26 15:05:45 +02:00
Linda Guiga
a24cd4f309
Merge pull request #1251 from topos-protocol/fix-observe-challenges
Fix observe_block_metadata
2023-09-25 18:14:35 -04:00
Linda Guiga
043d12c20e
Fix observe_block_metadata 2023-09-25 17:30:31 -04:00
wborgeaud
8c78271f5c
Add random value to block metadata and fix sys_prevrandao (#1207)
* Add random to block metadata and fix `sys_prevrandao`

* Minor

* Observe block_random

* Write block_random

* cargo fmt

* block_random: H256

* Move sys_prevrandao to metadata.asm and delete syscall_stubs.asm

* Set block_random in set_block_metadata_target

* Minor

* Minor
2023-09-25 18:20:22 +02: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
0abc3b9210
Apply comments (#1248) 2023-09-22 10:14:47 -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
Robin Salen
6618cfad4a
Remove SEQUENCE_LEN in BytePackingStark (#1241) 2023-09-20 08:31:50 -04:00
Robin Salen
1b7207ee68
Merge pull request #1244 from topos-protocol/block_metadata_doc
Add some doc for BlockMetadata / ExtraBlockData
2023-09-20 06:24:38 -04:00
Robin Salen
459e9b3d29
Merge pull request #1245 from topos-protocol/indexing_tables
Update ranges indices
2023-09-19 19:46:20 -04:00
Robin Salen
d8874c8389
Update ranges indices 2023-09-19 18:39:25 -04:00
Nicholas Ward
c468465ca2
Merge pull request #1243 from tamirhemo/main
refactor: separate witness generation in prove method
2023-09-19 14:32:19 -07:00
Robin Salen
edd3f383a1
Add some doc for BlockMetadata / ExtraBlockData 2023-09-19 15:42:23 -04:00
Hamy Ratoanina
8a19f43678
Merge pull request #1242 from topos-protocol/fix_multi_row_ctl
Fix eval_table, multi-row filters
2023-09-19 21:16:31 +02:00
Tamir Hemo
8839285f4d add trait bound 2023-09-19 11:45:42 -07:00
Tamir Hemo
a44379b5a1 fmt and clippy 2023-09-19 11:39:20 -07:00
Tamir Hemo
7d7f01da46 refactor prove method 2023-09-19 11:32:13 -07:00
Hamy Ratoanina
4eb6a3b57c
Fix eval_table 2023-09-19 14:03:57 -04:00
Robin Salen
b60a3d4b29
Merge pull request #1239 from topos-protocol/mload_mstore_with_packing 2023-09-19 06:23:01 -04:00
Robin Salen
053553d4d7
Reuse new packing instructions for MLOAD and MSTORE 2023-09-18 16:31:46 -04:00
Robin Salen
696377bae7
Merge pull request #1231 from topos-protocol/error_vs_panic
Remove risks of panic
2023-09-18 14:55:55 -04:00
Robin Salen
b5c28bd65e
Rename utility methods for U256 conversion
Co-authored-by: Nicholas Ward <npward@berkeley.edu>
2023-09-18 14:29:11 -04:00
Robin Salen
f07351fc36
Merge pull request #1238 from topos-protocol/cleanup
Cleanup lookup_test module and reduce module visibility
2023-09-18 10:16:55 -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
d1c00767bd
Cleanup lookup_test module and reduce module visibility 2023-09-18 09:50:31 -04:00
Hamy Ratoanina
15064b3aa7
Merge pull request #1229 from topos-protocol/next_row_ctls
Make next row available to CTLs
2023-09-18 15:19:10 +02:00
Hamy Ratoanina
1a4caaa08f
Move next row logic inside Column
Co-authored-by: Nicholas Ward <npward@berkeley.edu>
2023-09-15 18:59:33 -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
Nicholas Ward
1afcafaded
Merge pull request #1236 from topos-protocol/ci
Update clippy in CI
2023-09-15 09:57:24 -07:00
Robin Salen
5db6abf026
Update clippy in CI 2023-09-15 11:52:14 -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
27d9113feb
Merge branch 'main' into next_row_ctls 2023-09-14 18:38:49 -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
19220b21d7
Remove redundant Keccak sponge cols (#1233)
* Rename columns in KeccakSponge for clarity

* Remove redundant columns

* Apply comments
2023-09-14 15:27:38 -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
Hamy Ratoanina
61a1c246db
Fix CTLs 2023-09-13 10:55:27 -04:00
Hamy Ratoanina
c27fc96a06
Merge branch 'main' into next_row_ctls 2023-09-13 16:46:30 +02:00
Linda Guiga
f944a08b4d
Fix self_balance_gas_cost and basic_smart_contract. (#1227)
* Fix self_balance_gas_cost and basic_smart_contract.

* Fix Clippy
2023-09-13 09:12:56 -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
Hamy Ratoanina
3c4f938f85
Make next row available to CTLs 2023-09-12 13:59:50 -04:00