plonky2/evm/src/lib.rs

48 lines
1.1 KiB
Rust
Raw Normal View History

2022-05-04 20:57:07 +02:00
#![allow(incomplete_features)]
2022-06-07 14:20:51 -07:00
#![allow(clippy::needless_range_loop)]
2022-05-04 20:57:07 +02:00
#![allow(clippy::too_many_arguments)]
#![allow(clippy::type_complexity)]
2022-12-02 17:06:30 -08:00
#![allow(clippy::field_reassign_with_default)]
2022-11-22 08:48:48 -05:00
#![allow(clippy::upper_case_acronyms)]
#![feature(let_chains)]
2022-05-04 20:57:07 +02:00
#![feature(generic_const_exprs)]
2022-05-18 09:22:58 +02:00
pub mod all_stark;
EVM Arithmetic Stark table (#559) * First draft of 256-bit addition. * Update comment. * cargo fmt * Rename addition evaluation file. * Port ALU logic from SZ. * Give a name to some magic numbers. * `addition.rs` -> `add.rs`; fix carry propagation in add; impl sub. * Clippy. * Combine hi and lo parts of the output. * Implement MUL. * Suppress Clippy's attempt to make my code even harder to read. * Next draft of MUL. * Make all limbs (i.e. input and output) 16-bits. * Tidying. * Use iterators instead of building arrays. * Documentation. * Clippy is wrong; also cargo fmt. * Un-refactor equality checking, since it was wrong for sub. * Daniel comments. * Daniel comments. * Rename folder 'alu' -> 'arithmetic'. * Rename file. * Finish changing name ALU -> Arithmetic Unit. * Finish removing dependency on array_zip feature. * Remove operations that will be handled elsewhere. * Rename var; tidy up. * Clean up columns; mark places where range-checks need to be done. * Import all names in 'columns' to reduce verbiage. * cargo fmt * Fix aux_in calculation in mul. * Remove redundant 'allow's; more precise range-check size. * Document functions. * Document MUL instruction verification technique. * Initial tests for ADD. * Minor test fixes; add test for SUB. * Fix bugs in generate functions. * Fix SUB verification; refactor equality verification. * cargo fmt * Add test for MUL and fix some bugs. * Update doc. * Quiet incorrect clippy error. * Clean up 'decode.rs'. * Fold 'decode.rs' into 'arithmetic_stark.rs'. * Force limb size to divide EVM register size. * Document range-check warning and fix end value calc. * Convert `debug_assert!`s into `assert!`s. * Clean up various kinds of iterator usage. * Remove unnecessary type spec. * Document unexpected use of `collect`.
2022-06-29 11:56:48 +10:00
pub mod arithmetic;
2023-01-21 14:17:01 +07:00
pub mod bn254_pairing;
2022-05-04 20:57:07 +02:00
pub mod config;
pub mod constraint_consumer;
2022-05-18 09:22:58 +02:00
pub mod cpu;
2022-05-06 17:36:32 +02:00
pub mod cross_table_lookup;
2023-03-20 11:55:43 -07:00
pub mod extension_tower;
pub mod fixed_recursive_verifier;
pub mod generation;
2022-05-04 20:57:07 +02:00
mod get_challenges;
2022-05-18 09:22:58 +02:00
pub mod keccak;
pub mod keccak_sponge;
pub mod logic;
2022-06-21 14:35:19 -07:00
pub mod lookup;
2022-06-13 14:37:29 -07:00
pub mod memory;
2022-05-04 20:57:07 +02:00
pub mod permutation;
pub mod proof;
pub mod prover;
pub mod recursive_verifier;
pub mod stark;
pub mod stark_testing;
pub mod util;
pub mod vanishing_poly;
pub mod vars;
pub mod verifier;
2022-11-28 13:19:40 -08:00
pub mod witness;
2023-03-27 17:30:11 -06:00
use eth_trie_utils::partial_trie::HashedPartialTrie;
// Set up Jemalloc
#[cfg(not(target_env = "msvc"))]
use jemallocator::Jemalloc;
#[cfg(not(target_env = "msvc"))]
#[global_allocator]
static GLOBAL: Jemalloc = Jemalloc;
2023-03-27 17:30:11 -06:00
pub type Node = eth_trie_utils::partial_trie::Node<HashedPartialTrie>;