2117 Commits

Author SHA1 Message Date
David Palm
e68195fc0d
chore: Remove TODOs about from_values taking a reference 2023-11-30 15:10:34 +01:00
David Palm
37918cccfd
Revert "chore: from_values takes ref"
This reverts commit 7cc123e0a442d41a3610a57a2ee4f8008ef5811f.
2023-11-30 15:07:10 +01:00
David Palm
7cc123e0a4
chore: from_values takes ref 2023-11-29 09:09:36 +01: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
96f3faf26e
Changes in interpreter and implement interpreter version for add11 (#1359)
* Fix interpreter, turn syscall opcodes into actual syscalls, create interpreter test for add11

* Rename test_add11 to test_add11_yml

* Apply comments

* Cleanup add11_yml interpreter test

* Make stack_top() return a Result, and remove Result from add11_yml test

* Apply comment
2023-11-28 13:35:40 -05:00
Robin Salen
6dd2e313c4
Add upgradeability to AllRecursiveCircuits and output verifier data (#1387)
* Add upgradeable preprocessed sizes

* Add verifier data
2023-11-28 12:23:20 -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
Linda Guiga
ab70bc536d
Fix run_syscall in interpreter. (#1351)
* Fix syscall and change sload test to catch the error

* Update comment

* Cleanup
2023-11-27 12:34:41 -05:00
Robin Salen
2039e18f29
Fix genesis block number in prove_block (#1382)
* Fix genesis block number target

* Add consistency check

* Fix genesis block number

* Revert pruning

* Cleanup

* Update error message with hashes

* Fix and add comment

* Make comment more explicit
2023-11-27 10:24:11 -05:00
Hamy Ratoanina
d4b05f3730
Add specs for stack handling (#1381)
* Add specs for stack handling

* Apply comments
2023-11-22 18:55:53 -05:00
Linda Guiga
a736458617
Backporting gas handling to the specs (#1379)
* Backporting gas handling to the specs

* Fix typo and syscall handling
2023-11-22 18:35:49 -05:00
Linda Guiga
48e2b24b49
Add range check constraints for the looked table (#1380)
* Add constraints to check that looked tables are well constructed for range checks

* Fix comments
2023-11-22 15:59:41 -05:00
Hamy Ratoanina
fe311c7f90
Check is_kernel_mode when halting (#1369) 2023-11-22 15:44:11 -05:00
Linda Guiga
98b5e5be51
Initialize blockhashes (#1370)
* Initialize blockhashes

* Update comment
2023-11-22 13:30:52 -05:00
Hamy Ratoanina
1f65a8a863
Add exceptions to specs (#1372)
* Add exceptions to specs

* Apply comments
2023-11-21 15:20:07 -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
eda7fd659e
Constrain is_keccak_sponge (#1357) 2023-11-15 16:17:31 -05:00
Robin Salen
4dc42c513a
Merge public values inside prove_aggreg (#1358) 2023-11-15 14:51:35 -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
a0876d73f7
Refactor JUMPDEST analysis (#1347)
* Use table for JUMPDEST

* Refactor jumpdest loop

* Update comment

---------

Co-authored-by: Robin Salen <salenrobin@gmail.com>
2023-11-15 11:12:07 -05:00
Robin Salen
6f2b3349a1
Fix parsing of non-legacy receipts (#1356)
* Fix parsing of non-legacy receipts

* Clippy
2023-11-14 18:44:17 -05:00
Robin Salen
f7d5e7c47c
Fix MSTORE_32BYTES in interpreter (#1354) 2023-11-14 17:19:19 -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
David
75ae0eb59f
Merge pull request #1346 from 0xPolygonZero/dp-unwrap-hunting
Root out some unwraps
2023-11-13 14:28:17 +00: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
Linda Guiga
5800e6ad64
Add run_syscall and tests for sload and sstore (#1344)
* Add run_syscall and tests for sload and sstore

* Replace panics with errors and address comments

* Apply comments

* Change last addr name in prepare_interpreter

* Fix kernel_mode in tests

* Minor cleanup
2023-11-10 19:19:00 -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
Robin Salen
5c41dc4dac
Range-check keccak sponge inputs to bytes (#1342)
* Range-check keccak sponge inputs to bytes

* Move outside of inner loop

* Apply review
2023-11-10 10:44:58 -05:00
David Palm
d2b5882ae9
Root out some unwraps 2023-11-10 08:53:08 +01:00
Hamy Ratoanina
01bbf1a058
Constrain clock (#1343) 2023-11-09 16:42:18 -05:00
Robin Salen
954d1a77c6
Remove logic for multiple txns at once (#1341)
* Have prover take only a single txn at most

* Update comment

* Apply review
2023-11-09 09:34:12 -05:00
Robin Salen
5d5628b59d Move empty_check inside final iteration 2023-11-08 18:42:02 -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
19178072b4
Remove len column in KeccakSpongeStark (#1334)
* Remove len column in KeccakSpongeStark

* Apply comment

Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>

---------

Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>
2023-11-06 16:48:36 -05:00
wborgeaud
099994abe4
Add test for ERC20 transfer (#1331)
* Working test

* Minor

* Cleaning
2023-11-06 13:02:33 +01:00
shuoer86
d941539bb8
Fix typos in comments 2023-11-04 23:29:42 +08:00
shuoer86
a0ea26f4b2
Fix typos in comments 2023-11-04 23:07:36 +08:00
Hamy Ratoanina
d2b549affc
Constrain uninitialized memory to 0 (#1318) 2023-11-03 19:52:12 -04:00
Linda Guiga
85b38bec19
Fix merging of jumpdest and keccak_general. 2023-11-01 11:08:57 -04: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
Hamy Ratoanina
20501d9bb5
Add context constraints (#1260) 2023-11-01 09:08:32 -04:00
Robin Salen
3ca166204a
Merge pull request #1317 from topos-protocol/more_memcpy_bytes 2023-10-31 10:27:58 -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
Robin Salen
afd357f4bf
More of memcpy_bytes 2023-10-30 14:15:15 -04:00
Robin Salen
0f299d4c2e
Merge pull request #1316 from topos-protocol/memcpy_tiny
Move empty check inside final iteration of memcpy_bytes
2023-10-30 14:12:18 -04:00