Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
96d4b77
change guest openvm to develop (#1366)
jonathanpwang Apr 4, 2025
803f740
poseidon-air: simplify horizen_round_consts impl (#1362)
tcoratger Feb 22, 2025
716468f
Added Twisted Edwards chip
Avaneesh-axiom Jan 23, 2025
6d8e6d5
renamed WeierstrassExtension to EccExtension (etc)
Avaneesh-axiom Jan 22, 2025
a5d42ae
fix linter errors and address PR comments
Avaneesh-axiom Jan 23, 2025
59253b0
cleanup TwistedEdwardsPoint trait
Avaneesh-axiom Jan 24, 2025
01316c1
fix name collisions
Avaneesh-axiom Jan 24, 2025
b5ca860
change serde serialization for CurveConfig.coeffs to tagged
Avaneesh-axiom Jan 24, 2025
75d9c02
fix typo bug
Avaneesh-axiom Jan 24, 2025
d3832d1
update setup_all_curves to setup_all_sw_curves or setup_all_te_curves
Avaneesh-axiom Jan 24, 2025
a9f1c30
Updated the OpenVM book and example code for twisted Edwards curves
Avaneesh-axiom Jan 24, 2025
27f3d4c
delete vmexe (accidentally commited)
Avaneesh-axiom Jan 24, 2025
d666018
Add Ed25519 curve to the guest library
Avaneesh-axiom Jan 24, 2025
1a9aa83
bugs
Avaneesh-axiom Jan 25, 2025
084daf9
Move IntrinsicCurve trait definition to lib.rs (since it's common to …
Avaneesh-axiom Jan 27, 2025
4933d50
Implement IntrinsicCurve trivially for ed25519
Avaneesh-axiom Jan 27, 2025
380f7d1
Update book/src/custom-extensions/ecc.md
Avaneesh-axiom Jan 28, 2025
a48b602
Remove num-bigint-dig dependancy
Avaneesh-axiom Jan 28, 2025
b0a24f3
Add decompression hints for ed25519 and rewrite curve config
Avaneesh-axiom Jan 28, 2025
fcc8bb8
Add negative of ed25519 generator
Avaneesh-axiom Jan 29, 2025
2a91eb9
Update ecc extension section in the book to match CurveConfig rewrite
Avaneesh-axiom Jan 29, 2025
64f6bcd
fix issues introduced after rebase
Avaneesh-axiom Jan 29, 2025
df3aca0
update README for ecc macros
Avaneesh-axiom Jan 29, 2025
028e5c4
rename ecc opcodes
Avaneesh-axiom Jan 29, 2025
13274f3
Update contributer docs for ecc extension
Avaneesh-axiom Jan 29, 2025
5ab2ec4
fix small bugs
Avaneesh-axiom Jan 29, 2025
bd2f957
fix messed up rebase
Avaneesh-axiom Jan 29, 2025
8842181
update Cargo.lock
Avaneesh-axiom Jan 29, 2025
7e371ef
fix linter errors
Avaneesh-axiom Jan 29, 2025
10393ae
Add CachedMulTable for preprocessed msm for twisted edwards curves
Avaneesh-axiom Jan 30, 2025
1590c05
Add hint fallback for twisted Edwards curves
Avaneesh-axiom Mar 28, 2025
171bf40
fix rebase issues
Avaneesh-axiom Mar 28, 2025
62031bf
Fixed decompression tests for twisted edwards curves
Avaneesh-axiom Mar 31, 2025
4d62231
Fix codespell error on te (twisted edwards) abbreviation
Avaneesh-axiom Mar 31, 2025
6a6b32e
Fix lint errors and typos
Avaneesh-axiom Mar 31, 2025
0d69083
Update docs
Avaneesh-axiom Mar 31, 2025
64e41c9
Remove code related to ecc phantom instructions
Avaneesh-axiom Jun 16, 2025
3d6c5f7
Add struct_name fields to curve configs
Avaneesh-axiom Jun 16, 2025
68909ce
Fix rebase issues
Avaneesh-axiom Jun 16, 2025
7aa8cbf
Add lazy setup for edwards curves
Avaneesh-axiom Jun 16, 2025
02d07b6
Delete commented code
Avaneesh-axiom Jun 16, 2025
9a69407
Add a bunch of #[inline(always)] for te curves
Avaneesh-axiom Jun 16, 2025
688d95d
Merge branch 'main' into feat/edwards-curve-support
Avaneesh-axiom Jun 16, 2025
34fbcda
Update comments on Group::is_identity impl
Avaneesh-axiom Jun 16, 2025
cf9e909
Add missing dep
Avaneesh-axiom Jun 16, 2025
e1f69d0
Fix bugs
Avaneesh-axiom Jun 16, 2025
ba8fb34
Update ecc example
Avaneesh-axiom Jun 16, 2025
9eb373c
Fix lint
Avaneesh-axiom Jun 16, 2025
652bf3c
Update ecc chip READMEs
Avaneesh-axiom Jun 16, 2025
021bb79
Fix import path bugs in pairing guest lib
Avaneesh-axiom Jun 16, 2025
39e2547
Minor change for clarity
Avaneesh-axiom Jun 16, 2025
ba2814a
Update ecc sw-macro and te-macro READMEs
Avaneesh-axiom Jun 16, 2025
d4beb7e
Fix lint
Avaneesh-axiom Jun 16, 2025
a67e46d
Merge branch 'main' into feat/edwards-curve-support
Avaneesh-axiom Jun 19, 2025
de5e835
fix: Handle decompression with x = 0 correctly
Avaneesh-axiom Jun 19, 2025
5a88dc6
Fix bad merge
Avaneesh-axiom Jun 19, 2025
cb4e446
Add #[serde(default)] to EccExtenison (allow omitting sw or te curves)
Avaneesh-axiom Jun 19, 2025
68630ef
Add ColsRef macro
Avaneesh-axiom Apr 7, 2025
399a393
Rename crates/circuits/sha256-air/ to crates/circuits/sha2-air/
Avaneesh-axiom Apr 7, 2025
c714d13
Update SHA-256 subair to support SHA-512 and SHA_384
Avaneesh-axiom Apr 7, 2025
a3b73ca
Rename extensions/sha256 to extensions/sha2
Avaneesh-axiom Apr 7, 2025
96b3e5c
Update SHA-256 VM chip to support SHA-512 and SHA-384
Avaneesh-axiom Apr 7, 2025
f38d801
Rename examples/sha256 to examples/sha2
Avaneesh-axiom Apr 7, 2025
49c739d
Update SHA-256 examples
Avaneesh-axiom Apr 7, 2025
e62ed2c
Rename SHA-256 to SHA-2 in various places
Avaneesh-axiom Apr 7, 2025
aaef884
Update the docs
Avaneesh-axiom Apr 7, 2025
05d78e4
Rename book/src/custom-extensions/sha256.md to sha2.md
Avaneesh-axiom Apr 7, 2025
1d4bd1f
Update book
Avaneesh-axiom Apr 7, 2025
665237e
Fix lint
Avaneesh-axiom Jun 27, 2025
5f4bc59
Merge branch 'feat/sha-512' into feat/sha-512-new-execution
Avaneesh-axiom Jul 9, 2025
7396a2a
Merge branch 'feat/new-execution' into feat/sha-512-new-execution
Avaneesh-axiom Jul 9, 2025
1f3c4fa
Rename sha256 to sha2 (missed in the merge)
Avaneesh-axiom Jul 9, 2025
4090d73
Enforce 4-byte alignment for input to SHA-512/384
Avaneesh-axiom Jul 10, 2025
a58f1c3
Move ShaChipConfig::VARIANT to Sha2Config
Avaneesh-axiom Jul 10, 2025
2138780
Fix double negative "should_panic" in sha subair unit tests
Avaneesh-axiom Jul 10, 2025
2e86a9e
Merge branch 'feat/new-execution' into feat/sha-512-new-execution
Avaneesh-axiom Jul 10, 2025
a8b79b5
Fix typos in spec
Avaneesh-axiom Jul 10, 2025
49e1eb4
Fix bug
Avaneesh-axiom Jul 10, 2025
32b66e5
fix: do multiple digest writes for e1 for sha512/384
Avaneesh-axiom Jul 11, 2025
2ed19d5
Rename ShaChipConfig to Sha2ChipConfig for consistency with Sha2Config
Avaneesh-axiom Jul 11, 2025
b821044
Merge branch 'main' into feat/edwards-curve-support
Avaneesh-axiom Jul 11, 2025
3735326
Fix lint
Avaneesh-axiom Jul 11, 2025
2e59e6f
Fix typo in ecc tests
Avaneesh-axiom Jul 11, 2025
197bb73
Merge branch 'feat/new-execution' into feat/edwards-curve-new-execution
Avaneesh-axiom Jul 11, 2025
79e1e53
Add generic eddsa impl using sha256 in place of sha512
Avaneesh-axiom Jun 19, 2025
a7102ec
Merge branch 'feat/sha-512-new-execution' into feat/eddsa
Avaneesh-axiom Jul 11, 2025
fda3406
Replace sha256 with sha512
Avaneesh-axiom Jul 14, 2025
2187ce0
fix: bug in edwards chip test setup
Avaneesh-axiom Jul 14, 2025
29c9c70
fix: lint
Avaneesh-axiom Jul 14, 2025
6a96d29
Merge branch 'feat/edwards-curve-new-execution' into feat/eddsa
Avaneesh-axiom Jul 14, 2025
23d43be
fix: bug in decode_point where rec_id was 128 instead of 1
Avaneesh-axiom Jul 15, 2025
65a25dd
Add support for ed25519 and ed25519ph
Avaneesh-axiom Jul 16, 2025
8434e5c
Add comment
Avaneesh-axiom Jul 16, 2025
114f3da
Merge branch 'feat/new-execution' into feat/eddsa
Avaneesh-axiom Jul 16, 2025
b3288ab
Fix lint
Avaneesh-axiom Jul 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .codespellignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ InOut
inout
LoadE
SelectE
ser
ser
te
2 changes: 1 addition & 1 deletion .github/workflows/extension-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- { name: "rv32im", path: "rv32im" }
- { name: "native", path: "native" }
- { name: "keccak256", path: "keccak256" }
- { name: "sha256", path: "sha256" }
- { name: "sha2", path: "sha2" }
- { name: "bigint", path: "bigint" }
- { name: "algebra", path: "algebra" }
- { name: "ecc", path: "ecc" }
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/primitives.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
paths:
- "crates/circuits/primitives/**"
- "crates/circuits/poseidon2-air/**"
- "crates/circuits/sha256-air/**"
- "crates/circuits/sha2-air/**"
- "crates/circuits/mod-builder/**"
- "Cargo.toml"
- ".github/workflows/primitives.yml"
Expand Down Expand Up @@ -48,8 +48,8 @@ jobs:
run: |
cargo nextest run --cargo-profile fast --features parallel

- name: Run tests for sha256-air
working-directory: crates/circuits/sha256-air
- name: Run tests for sha2-air
working-directory: crates/circuits/sha2-air
run: |
cargo nextest run --cargo-profile fast --features parallel

Expand Down
102 changes: 83 additions & 19 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 14 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,14 @@ members = [
"extensions/keccak256/circuit",
"extensions/keccak256/transpiler",
"extensions/keccak256/guest",
"extensions/sha256/circuit",
"extensions/sha256/transpiler",
"extensions/sha256/guest",
"extensions/sha2/circuit",
"extensions/sha2/transpiler",
"extensions/sha2/guest",
"extensions/ecc/circuit",
"extensions/ecc/transpiler",
"extensions/ecc/guest",
"extensions/ecc/sw-macros",
"extensions/ecc/te-macros",
"extensions/ecc/tests",
"extensions/pairing/circuit",
"extensions/pairing/guest",
Expand Down Expand Up @@ -119,7 +120,7 @@ openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", ta
openvm-sdk = { path = "crates/sdk", default-features = false }
openvm-mod-circuit-builder = { path = "crates/circuits/mod-builder", default-features = false }
openvm-poseidon2-air = { path = "crates/circuits/poseidon2-air", default-features = false }
openvm-sha256-air = { path = "crates/circuits/sha256-air", default-features = false }
openvm-sha2-air = { path = "crates/circuits/sha2-air", default-features = false }
openvm-circuit-primitives = { path = "crates/circuits/primitives", default-features = false }
openvm-circuit-primitives-derive = { path = "crates/circuits/primitives/derive", default-features = false }
openvm = { path = "crates/toolchain/openvm", default-features = false }
Expand Down Expand Up @@ -149,9 +150,9 @@ openvm-native-transpiler = { path = "extensions/native/transpiler", default-feat
openvm-keccak256-circuit = { path = "extensions/keccak256/circuit", default-features = false }
openvm-keccak256-transpiler = { path = "extensions/keccak256/transpiler", default-features = false }
openvm-keccak256-guest = { path = "extensions/keccak256/guest", default-features = false }
openvm-sha256-circuit = { path = "extensions/sha256/circuit", default-features = false }
openvm-sha256-transpiler = { path = "extensions/sha256/transpiler", default-features = false }
openvm-sha256-guest = { path = "extensions/sha256/guest", default-features = false }
openvm-sha2-circuit = { path = "extensions/sha2/circuit", default-features = false }
openvm-sha2-transpiler = { path = "extensions/sha2/transpiler", default-features = false }
openvm-sha2-guest = { path = "extensions/sha2/guest", default-features = false }
openvm-bigint-circuit = { path = "extensions/bigint/circuit", default-features = false }
openvm-bigint-transpiler = { path = "extensions/bigint/transpiler", default-features = false }
openvm-bigint-guest = { path = "extensions/bigint/guest", default-features = false }
Expand All @@ -164,11 +165,15 @@ openvm-ecc-circuit = { path = "extensions/ecc/circuit", default-features = false
openvm-ecc-transpiler = { path = "extensions/ecc/transpiler", default-features = false }
openvm-ecc-guest = { path = "extensions/ecc/guest", default-features = false }
openvm-ecc-sw-macros = { path = "extensions/ecc/sw-macros", default-features = false }
openvm-ecc-te-macros = { path = "extensions/ecc/te-macros", default-features = false }
openvm-pairing-circuit = { path = "extensions/pairing/circuit", default-features = false }
openvm-pairing-transpiler = { path = "extensions/pairing/transpiler", default-features = false }
openvm-pairing-guest = { path = "extensions/pairing/guest", default-features = false }
openvm-verify-stark = { path = "guest-libs/verify_stark", default-features = false }

# Guest Libraries
openvm-sha2 = { path = "guest-libs/sha2", default-features = false }

# Benchmarking
openvm-benchmarks-utils = { path = "benchmarks/utils", default-features = false }

Expand Down Expand Up @@ -228,6 +233,8 @@ hex = { version = "0.4.3", default-features = false }
serde-big-array = "0.5.1"
dashmap = "6.1.0"
memmap2 = "0.9.5"
ndarray = { version = "0.16.1", default-features = false }
num_enum = { version = "0.7.4", default-features = false }

# default-features = false for no_std for use in guest programs
itertools = { version = "0.14.0", default-features = false }
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/execute/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ openvm-keccak256-circuit.workspace = true
openvm-keccak256-transpiler.workspace = true
openvm-rv32im-circuit.workspace = true
openvm-rv32im-transpiler.workspace = true
openvm-sha256-circuit.workspace = true
openvm-sha256-transpiler.workspace = true
openvm-sha2-circuit.workspace = true
openvm-sha2-transpiler.workspace = true
eyre.workspace = true
derive_more = { workspace = true, features = ["from"] }
rand.workspace = true
Expand Down
Loading
Loading