mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-05 15:23:06 +00:00
* 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. * Initial implementation of ADDMOD and MOD. * Fixes to addmod. * Update doc. * Do 1000 random tests instead of just 1. * Documentation fix. * Working version of ADDMOD. * Working version of MOD. * Name magic number; do multiple MUL tests. * Add code and test for special case; add some docs. * Fix spelling mistake. * Simplify asserts. * Tidy comment. * Remove unused module. * cargo fmt * Check that output is reduced. * Add conversion of canonical `i64` to a `Field64`. * Handle zero modulus within degree constraint. * cargo fmt * Fix some comments. * Check that the top half of the product is zero! * Start of refactor. * Refactoring. * Remove zero and reduction handling from addmod. * Refactoring; renaming; bug fixes. * Reuse intermediate calculations across all modular operations; don't negate quot poly unnecessarily. * Fix bug where last elt of q*m wasn't checked. * Refactoring. * Move circuit poly functions to utils.rs. * Rename ADDMOD stuff to MODULAR. * Rename module addmod -> modular. * Handle zero modulus. * Verify that output is reduced. * Implement recursive version of modular circuits. * clippy * Tidy up i64 -> Field conversion following Jacqui's comments. * cargo fmt * Improved documentation. * Address Jacqui's comments. * Save some gates by using builder.arithmetic_extension().
49 lines
1.0 KiB
TOML
49 lines
1.0 KiB
TOML
[package]
|
|
name = "plonky2_evm"
|
|
description = "Implementation of STARKs for the Ethereum Virtual Machine"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
plonky2 = { path = "../plonky2", default-features = false, features = ["rand", "timing"] }
|
|
plonky2_util = { path = "../util" }
|
|
eth_trie_utils = "0.1.0"
|
|
anyhow = "1.0.40"
|
|
env_logger = "0.9.0"
|
|
ethereum-types = "0.14.0"
|
|
hex = { version = "0.4.3", optional = true }
|
|
hex-literal = "0.3.4"
|
|
itertools = "0.10.3"
|
|
keccak-hash = "0.9.0"
|
|
log = "0.4.14"
|
|
num = "0.4.0"
|
|
maybe_rayon = { path = "../maybe_rayon" }
|
|
once_cell = "1.13.0"
|
|
pest = "2.1.3"
|
|
pest_derive = "2.1.0"
|
|
rand = "0.8.5"
|
|
rand_chacha = "0.3.1"
|
|
ripemd = "0.1.3"
|
|
rlp = "0.5.1"
|
|
rlp-derive = "0.1.0"
|
|
serde = { version = "1.0.144", features = ["derive"] }
|
|
sha2 = "0.10.2"
|
|
tiny-keccak = "2.0.2"
|
|
|
|
[dev-dependencies]
|
|
criterion = "0.3.5"
|
|
hex = "0.4.3"
|
|
|
|
[features]
|
|
default = ["parallel"]
|
|
asmtools = ["hex"]
|
|
parallel = ["plonky2/parallel", "maybe_rayon/parallel"]
|
|
|
|
[[bin]]
|
|
name = "assemble"
|
|
required-features = ["asmtools"]
|
|
|
|
[[bench]]
|
|
name = "stack_manipulation"
|
|
harness = false
|