88 Commits

Author SHA1 Message Date
4l0n50
c4025063de Clippy 2023-12-20 14:29:57 +01:00
4l0n50
5acabad72d Eliminate nested simulations 2023-12-20 14:29:54 +01:00
Alonso González
0bec627899 Apply suggestions from code review
Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>
2023-12-20 14:29:08 +01:00
4l0n50
ff3dc2e516 Refactor run_next_jumpdest_table_proof 2023-12-20 14:29:04 +01:00
4l0n50
9e39d88ab8 Rebase to main 2023-12-20 14:28:38 +01:00
Robin Salen
536cd1c89c
Regenerate tries upon Kernel failure during hash_final_tries (#1424)
* Generate computed tries in case of failure

* Only output debug info when hashing final tries

* Clippy

* Apply comments
2023-12-18 08:46:16 +00:00
Robin Salen
a64311cfd4
Add aborting signal (#1429)
* Add aborting signal

* Clippy

* Update to Option following comment
2023-12-15 19:35:27 +01:00
Robin Salen
bfcfcdb498
Add Checkpoint heights (#1418) 2023-12-09 06:26:55 +01: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
Robin Salen
47e24306b7
Remove GenerationOutputs (#1408) 2023-12-05 18:10:36 -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
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
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
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
wborgeaud
fa93454c5c
Add withdrawals (#1322)
* Withdrawals

* Remove AllRecursiveCircuits in withdrawals test

* Fix ERC20 test
2023-11-07 12:20:54 +01:00
wborgeaud
3ac0c4ae18
Fix genesis state trie root when calling prove_root (#1271)
* Fix genesis state trie root in some tests

* Just do it in tests calling prove_block
2023-10-03 17:47:10 +02: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
Linda Guiga
5694af79f9
Merge remote-tracking branch 'mir-plonky2/main' into constrain-genesis-state 2023-09-26 12:24:48 -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
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
9d0101d652
Merge branch 'main' into 'constrain-genesis-state' 2023-09-25 10:19:13 -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
4d7d9ffa3c
Constrain genesis block's state trie. 2023-09-11 19:09:12 +01:00
Linda Guiga
180c20942b
Merge pull request #1208 from topos-protocol/blockhash_opcode
Add blockhash opcode
2023-09-07 23:21:37 +01:00
Robin Salen
71b2ece148
Merge pull request #1216 from topos-protocol/checkpoint_lengths
Display actual trace lengths instead of number of ops
2023-09-07 16:01:07 -04:00
Linda Guiga
170f7d838a
Fix Clippy 2023-09-07 12:35:36 +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
Robin Salen
8dcb29e5ad
Display actual trace lengths instead of number of ops 2023-09-06 12:31:17 -04:00
Linda Guiga
b07644368f
Add missing links between public values 2023-08-31 13:40:13 +01: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
Linda Guiga
6253a68ea5
Change public values into public inputs 2023-07-27 18:27:08 -04:00
Hamy Ratoanina
59b73c84ee
Apply comments 2023-07-27 18:27:06 -04: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
wborgeaud
ec07255f01
Fix halt loop (#1094) 2023-06-13 10:42:37 +02:00
BGluth
10e6c76842 TrieInputs now uses H256 for storage account addresses
- Slightly easier for us if we use `H256` instead of `H160`.
2023-05-16 13:51:03 -06:00
BGluth
3c7bc8835c Removed a type alias
- Was conflicting with the trait `PartialTrie` and also making the types
  harder to follow.
2023-03-28 14:38:58 -06:00
BGluth
60ad9e03ba Bumped eth_trie_utils to 0.5.0 2023-03-27 17:30:11 -06:00
Daniel Lubarov
8c692b72b0 Fix account cloning 2023-03-17 13:10:58 -07:00
Daniel Lubarov
44c77f5583 Input addresses 2023-03-16 14:08:31 -07:00
Daniel Lubarov
c8d591f6da Add a prove_with_outputs method
Which returns information about the post-state after execution. This is useful for debugging purposes.
2023-03-16 13:42:59 -07:00
Daniel Lubarov
d5003b7cf2 Gas fees go to coinbase 2023-03-12 23:13:19 -07:00
Daniel Lubarov
e6aa62f3ab Some tooling for debugging tests where the updated tries are not correct 2023-03-06 08:26:54 -08:00
Daniel Lubarov
c558eedd65 Misc EVM fixes 2023-03-05 09:39:49 -08:00
Jacqueline Nabaglo
95eeed46f0
Memory load/store constraints (#839) 2022-12-09 10:35:00 -08:00
Daniel Lubarov
c28bab1f16 fmt 2022-12-03 22:58:51 -08:00
Daniel Lubarov
bffdc553dc fixes 2022-12-03 22:44:54 -08:00
Daniel Lubarov
1303a83f7f Misc witness generation fixes 2022-12-03 21:09:57 -08:00