1409 Commits

Author SHA1 Message Date
4l0n50
48b9769e34 Remove duplicated label 2023-12-27 12:24:12 +01:00
4l0n50
a83404966e Rebase to main
Refactor encode_empty_node and encode_branch_node

Add constant and store encoded empty node in an other position

Remove child segment

Clean code

Apply suggestions from code review

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

Remive global label

Move encoded empty nodes
2023-12-27 12:04:14 +01:00
4l0n50
dfcf276dab Refactor encode_empty_node and encode_branch_node
Clean code

Not important

Restore jumpdets_analysis.asm

Refactor encode_empty_node and encode_branch_node
2023-12-21 16:15:36 +01:00
Robin Salen
7cb0488429
Minor cleanup (#1435) 2023-12-19 11:06:54 +01:00
Linda Guiga
f67ee258a1
Add exceptions handling to the interpreter (#1393)
* Add exceptions handling to the interpreter

* Apply comments

* Fix comments
2023-12-18 19:11:16 +01:00
wborgeaud
f8f6b07a39
Change context to current context for BN precompiles (#1428)
* Change context to current for BN precompiles

* Rename segments

* rustfmt
2023-12-16 17:02:56 +01:00
yanziseeker
43ecf1dff3 chore: fix some comment typos 2023-12-08 10:17:07 +00:00
Linda Guiga
7efd147e08
Use mstore_32bytes to optimize decode_int_given_len (#1413) 2023-12-07 21:48:37 +01:00
Hamy Ratoanina
170ce5f27c
Preinitialize all code segments (#1409)
* Preinitialize all code segments

* Add zero writes after code_size

* Use preinitializing for extcodesize

* Fix gas calculation

* Extend logic to extcodecopy

* Apply comments
2023-12-07 12:49:46 -05:00
Linda Guiga
a90aa40b7a
Implement MPT preinitialization (#1406)
* Implement MPT preinitialization

* Apply comments

* Replace GlobalMetadata reads with stores in the kernel

* Change memory specs

* Remove trie data length as a prover input
2023-12-07 12:08:47 -05:00
Hamy Ratoanina
4ba7718e66
Optimize asserts (#1411) 2023-12-07 02:46:20 -05:00
Robin Salen
2d36559dad
Make some functions const (#1407) 2023-12-05 13:41:31 -05:00
Robin Salen
cb2a22a5f6
Update stack op cost (#1402)
* Update stack op cost

* Update from review
2023-12-04 10:32:52 -05:00
Robin Salen
32d009671a
Fix kernel codehash discrepancy (#1400) 2023-12-01 14:34:19 -05:00
Robin Salen
5572da30d7
Remove intermediary block bloom filters (#1395)
* Remove intermediary block blooms

* Update specs

* Regenerate pdf

* Apply comment, remove unneeded segment
2023-11-30 13:11:38 -05:00
Hamy Ratoanina
30c944f778
Remove bootstrapping (#1390)
* Start removing bootstrapping

* Change the constraint for kernel code initializing

* Update specs

* Apply comments

* Add new global metadata to circuit methods

* Change zero-initializing constraint

* Apply comment

* Update circuit size range for recursive test
2023-11-30 10:04:08 -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
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
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
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
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
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
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
David Palm
d2b5882ae9
Root out some unwraps 2023-11-10 08:53:08 +01: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
wborgeaud
fa93454c5c
Add withdrawals (#1322)
* Withdrawals

* Remove AllRecursiveCircuits in withdrawals test

* Fix ERC20 test
2023-11-07 12:20:54 +01:00
shuoer86
a0ea26f4b2
Fix typos in comments 2023-11-04 23:07:36 +08:00
Robin Salen
afd357f4bf
More of memcpy_bytes 2023-10-30 14:15:15 -04:00
Robin Salen
c96a8700af
Move empty check inside final iteration 2023-10-30 08:33:58 -04:00
Robin Salen
6f52b76d03
Review 2023-10-27 11:16:47 -04:00
Robin Salen
7447959fad
Fix kexit_info in test 2023-10-27 11:15:23 -04:00
Robin Salen
15a9e9928a
Fix test on interpreter side 2023-10-26 17:08:40 -04:00
Robin Salen
75fdd342f5
Fix calldatacopy 2023-10-26 15:59:40 -04:00
Robin Salen
ade5b8c39b
Fix 2023-10-26 15:46:55 -04:00
Robin Salen
a9e47afc07
Refactor codecopy 2023-10-26 15:24:53 -04:00
Robin Salen
a1b178f6c7
Refactor memcpy 2023-10-26 11:47:21 -04:00
Robin Salen
3feb04d252
Refactor wcopy syscalls 2023-10-26 11:47:21 -04:00
Robin Salen
c1c1ab6d0f
Fix wcopy and extcodecopy for ranges over code limit 2023-10-24 18:10:06 -04:00
Robin Salen
b31f70612e
Apply rustfmt with latest nightly 2023-10-24 07:26:45 -04:00
Robin Salen
60811d083f
Also for memset 2023-10-23 19:40:32 -04:00
Robin Salen
83054b0ffe
Handle empty case for memcpy_bytes 2023-10-23 19:12:54 -04:00