Skip to content

Commit 0e45d8b

Browse files
Remove guest directory from guest libraries
1 parent 2e13a05 commit 0e45d8b

File tree

147 files changed

+228
-649
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

147 files changed

+228
-649
lines changed

.github/workflows/guest-lib-tests.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,13 @@ jobs:
6060
cache-on-failure: true
6161
- uses: taiki-e/install-action@nextest
6262

63-
- name: Run ${{ matrix.crate.name }} guest library unit tests
64-
if: hashFiles(format('guest-libs/{0}/guest', matrix.crate.path)) != ''
65-
working-directory: guest-libs/${{ matrix.crate.path }}/guest
66-
run: |
67-
cargo nextest run --cargo-profile=fast --no-tests=pass
68-
69-
- name: Run ${{ matrix.crate.name }} guest library integration tests
70-
if: hashFiles(format('guest-libs/{0}/tests', matrix.crate.path)) != ''
71-
working-directory: guest-libs/${{ matrix.crate.path }}/tests
63+
- name: Run ${{ matrix.crate.name }} guest library tests
64+
if: hashFiles(format('guest-libs/{0}/', matrix.crate.path)) != ''
65+
working-directory: guest-libs/${{ matrix.crate.path }}
7266
run: |
7367
rustup component add rust-src --toolchain nightly-2025-02-14
74-
cargo nextest run --cargo-profile=fast --no-tests=pass
68+
FEATURE_ARGS=""
69+
if [[ "${{ matrix.crate.name }}" == "pairing" ]]; then
70+
FEATURE_ARGS="--features=bn254,bls12_381"
71+
fi
72+
cargo nextest run --cargo-profile=fast $FEATURE_ARGS --no-tests=pass

.github/workflows/lints.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
- uses: codespell-project/actions-codespell@v2
2525
with:
26-
skip: Cargo.lock,./book/pnpm-lock.yaml,*.txt,./crates/toolchain/openvm/src/memcpy.s,./crates/toolchain/openvm/src/memset.s,./audits/*.pdf,./guest-libs/ruint/guest/*
26+
skip: Cargo.lock,./book/pnpm-lock.yaml,*.txt,./crates/toolchain/openvm/src/memcpy.s,./crates/toolchain/openvm/src/memset.s,./audits/*.pdf,./guest-libs/ruint/*
2727
ignore_words_file: .codespellignore
2828

2929
- uses: dtolnay/rust-toolchain@stable

Cargo.toml

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -62,20 +62,13 @@ members = [
6262
"extensions/pairing/circuit",
6363
"extensions/pairing/guest",
6464
"extensions/pairing/transpiler",
65-
"guest-libs/ff_derive/guest/",
66-
"guest-libs/ff_derive/tests/",
67-
"guest-libs/k256/guest/",
68-
"guest-libs/k256/tests/",
69-
"guest-libs/p256/guest/",
70-
"guest-libs/p256/tests/",
71-
"guest-libs/keccak256/guest/",
72-
"guest-libs/keccak256/tests/",
73-
"guest-libs/pairing/guest/",
74-
"guest-libs/pairing/tests/",
75-
"guest-libs/ruint/guest/",
76-
"guest-libs/ruint/tests/",
77-
"guest-libs/sha2/guest/",
78-
"guest-libs/sha2/tests/",
65+
"guest-libs/ff_derive/",
66+
"guest-libs/k256/",
67+
"guest-libs/p256/",
68+
"guest-libs/keccak256/",
69+
"guest-libs/pairing/",
70+
"guest-libs/ruint/",
71+
"guest-libs/sha2/",
7972
]
8073
exclude = ["crates/sdk/example"]
8174
resolver = "2"

benchmarks/guest/ecrecover/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ openvm-algebra-guest = { path = "../../../extensions/algebra/guest", default-fea
1212
openvm-ecc-guest = { path = "../../../extensions/ecc/guest", default-features = false, features = [
1313
"k256",
1414
] }
15-
openvm-keccak256 = { path = "../../../guest-libs/keccak256/guest", default-features = false }
16-
k256 = { path = "../../../guest-libs/k256/guest", default-features = false, features = ["ecdsa"], package = "openvm-k256" }
15+
openvm-keccak256 = { path = "../../../guest-libs/keccak256/", default-features = false }
16+
k256 = { path = "../../../guest-libs/k256/", default-features = false, features = ["ecdsa"], package = "openvm-k256" }
1717
# We do not patch revm-precompile so that the benchmark only depends on this repo.
1818
revm-precompile = { version = "14.0.0", default-features = false }
1919
alloy-primitives = { version = "0.8.10", default-features = false, features = [

benchmarks/guest/kitchen-sink/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ openvm-pairing-guest = { path = "../../../extensions/pairing/guest", default-fea
1717
"bn254",
1818
"bls12_381",
1919
] }
20-
openvm-pairing = { path = "../../../guest-libs/pairing/guest", features = ["bn254", "bls12_381"] }
21-
openvm-keccak256 = { path = "../../../guest-libs/keccak256/guest", default-features = false }
22-
openvm-sha2 = { path = "../../../guest-libs/sha2/guest", default-features = false }
23-
openvm-ruint = { path = "../../../guest-libs/ruint/guest", default-features = false }
20+
openvm-pairing = { path = "../../../guest-libs/pairing/", features = ["bn254", "bls12_381"] }
21+
openvm-keccak256 = { path = "../../../guest-libs/keccak256/", default-features = false }
22+
openvm-sha2 = { path = "../../../guest-libs/sha2/", default-features = false }
23+
openvm-ruint = { path = "../../../guest-libs/ruint/", default-features = false }
2424
hex = { version = "0.4.3", default-features = false, features = ["alloc"] }
2525
serde = "1.0"
2626

benchmarks/guest/pairing/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ edition = "2021"
88
openvm = { path = "../../../crates/toolchain/openvm", features = ["std"] }
99
openvm-algebra-guest = { path = "../../../extensions/algebra/guest", default-features = false }
1010
openvm-ecc-guest = { path = "../../../extensions/ecc/guest", default-features = false }
11-
openvm-pairing = { path = "../../../guest-libs/pairing/guest", default-features = false, features = [
11+
openvm-pairing = { path = "../../../guest-libs/pairing/", default-features = false, features = [
1212
"bn254",
1313
] }
1414
openvm-pairing-guest = { path = "../../../extensions/pairing/guest", default-features = false, features = [

benchmarks/guest/regex/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ edition = "2021"
66

77
[dependencies]
88
openvm = { path = "../../../crates/toolchain/openvm", features = ["std"] }
9-
openvm-keccak256 = { path = "../../../guest-libs/keccak256/guest" }
9+
openvm-keccak256 = { path = "../../../guest-libs/keccak256/" }
1010
regex = { version = "1.11.1", default-features = false }
1111

1212
[features]

examples/pairing/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ openvm-algebra-guest = { path = "../../extensions/algebra/guest" }
1313
openvm-algebra-moduli-macros = { path = "../../extensions/algebra/moduli-macros" }
1414
openvm-algebra-complex-macros = { path = "../../extensions/algebra/complex-macros" }
1515
openvm-ecc-guest = { path = "../../extensions/ecc/guest" }
16-
openvm-pairing = { path = "../../guest-libs/pairing/guest", features = [
16+
openvm-pairing = { path = "../../guest-libs/pairing/", features = [
1717
"bls12_381",
1818
] }
1919
openvm-pairing-guest = { path = "../../extensions/pairing/guest", features = [

extensions/ecc/tests/programs/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ openvm-algebra-guest = { path = "../../../algebra/guest", default-features = fal
1515
openvm-algebra-moduli-macros = { path = "../../../algebra/moduli-macros", default-features = false }
1616
openvm-rv32im-guest = { path = "../../../../extensions/rv32im/guest", default-features = false }
1717

18-
openvm-keccak256 = { path = "../../../../guest-libs/keccak256/guest" }
18+
openvm-keccak256 = { path = "../../../../guest-libs/keccak256/" }
1919

2020
serde = { version = "1.0", default-features = false, features = [
2121
"alloc",

guest-libs/ff_derive/guest/Cargo.toml renamed to guest-libs/ff_derive/Cargo.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,17 @@ num-integer = "0.1"
2424
proc-macro2 = "1"
2525
quote = "1"
2626
syn = { version = "1", features = ["full"] }
27+
28+
[dev-dependencies]
29+
openvm-instructions = { workspace = true }
30+
openvm-stark-sdk = { workspace = true }
31+
openvm-circuit = { workspace = true, features = ["test-utils", "parallel"]}
32+
openvm-transpiler = { workspace = true }
33+
openvm-algebra-transpiler = { workspace = true }
34+
openvm-algebra-circuit = { workspace = true }
35+
openvm-rv32im-transpiler = { workspace = true }
36+
openvm-toolchain-tests = { workspace = true }
37+
38+
eyre = { workspace = true }
39+
num-bigint = { workspace = true }
40+

guest-libs/ff_derive/tests/Cargo.toml

Lines changed: 0 additions & 25 deletions
This file was deleted.

guest-libs/ff_derive/tests/src/lib.rs renamed to guest-libs/ff_derive/tests/lib.rs

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@ mod tests {
2525
let moduli = ["39402006196394479212279040100143613805079739270465446667948293404245721771496870329047266088258938001861606973112319"]
2626
.map(|s| BigUint::from_str(s).unwrap());
2727
let config = Rv32ModularConfig::new(moduli.to_vec());
28-
let elf = build_example_program_at_path(get_programs_dir!(), "full_limbs", &config)?;
28+
let elf = build_example_program_at_path(
29+
get_programs_dir!("tests/programs"),
30+
"full_limbs",
31+
&config,
32+
)?;
2933
let openvm_exe = VmExe::from_elf(
3034
elf,
3135
Transpiler::<F>::default()
@@ -43,7 +47,8 @@ mod tests {
4347
fn test_fermat() -> Result<()> {
4448
let moduli = ["65537"].map(|s| BigUint::from_str(s).unwrap());
4549
let config = Rv32ModularConfig::new(moduli.to_vec());
46-
let elf = build_example_program_at_path(get_programs_dir!(), "fermat", &config)?;
50+
let elf =
51+
build_example_program_at_path(get_programs_dir!("tests/programs"), "fermat", &config)?;
4752
let openvm_exe = VmExe::from_elf(
4853
elf,
4954
Transpiler::<F>::default()
@@ -61,7 +66,8 @@ mod tests {
6166
fn test_sqrt() -> Result<()> {
6267
let moduli = ["357686312646216567629137"].map(|s| BigUint::from_str(s).unwrap());
6368
let config = Rv32ModularConfig::new(moduli.to_vec());
64-
let elf = build_example_program_at_path(get_programs_dir!(), "sqrt", &config)?;
69+
let elf =
70+
build_example_program_at_path(get_programs_dir!("tests/programs"), "sqrt", &config)?;
6571
let openvm_exe = VmExe::from_elf(
6672
elf,
6773
Transpiler::<F>::default()
@@ -81,7 +87,11 @@ mod tests {
8187
["52435875175126190479447740508185965837690552500527637822603658699938581184513"]
8288
.map(|s| BigUint::from_str(s).unwrap());
8389
let config = Rv32ModularConfig::new(moduli.to_vec());
84-
let elf = build_example_program_at_path(get_programs_dir!(), "constants", &config)?;
90+
let elf = build_example_program_at_path(
91+
get_programs_dir!("tests/programs"),
92+
"constants",
93+
&config,
94+
)?;
8595
let openvm_exe = VmExe::from_elf(
8696
elf,
8797
Transpiler::<F>::default()
@@ -101,7 +111,11 @@ mod tests {
101111
["52435875175126190479447740508185965837690552500527637822603658699938581184513"]
102112
.map(|s| BigUint::from_str(s).unwrap());
103113
let config = Rv32ModularConfig::new(moduli.to_vec());
104-
let elf = build_example_program_at_path(get_programs_dir!(), "from_u128", &config)?;
114+
let elf = build_example_program_at_path(
115+
get_programs_dir!("tests/programs"),
116+
"from_u128",
117+
&config,
118+
)?;
105119
let openvm_exe = VmExe::from_elf(
106120
elf,
107121
Transpiler::<F>::default()
@@ -122,7 +136,7 @@ mod tests {
122136
.map(|s| BigUint::from_str(s).unwrap());
123137
let config = Rv32ModularConfig::new(moduli.to_vec());
124138
let elf = build_example_program_at_path_with_features(
125-
get_programs_dir!(),
139+
get_programs_dir!("tests/programs"),
126140
"batch_inversion",
127141
["std"],
128142
&config,
@@ -146,7 +160,11 @@ mod tests {
146160
["52435875175126190479447740508185965837690552500527637822603658699938581184513"]
147161
.map(|s| BigUint::from_str(s).unwrap());
148162
let config = Rv32ModularConfig::new(moduli.to_vec());
149-
let elf = build_example_program_at_path(get_programs_dir!(), "operations", &config)?;
163+
let elf = build_example_program_at_path(
164+
get_programs_dir!("tests/programs"),
165+
"operations",
166+
&config,
167+
)?;
150168
let openvm_exe = VmExe::from_elf(
151169
elf,
152170
Transpiler::<F>::default()

guest-libs/ff_derive/tests/programs/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ ff = { version = "0.13.1", features = ["derive"] }
1919
rand = { version = "0.9.1", default-features = false }
2020
num-bigint = { version = "0.4.6", default-features = false }
2121

22-
openvm-ff-derive = { path = "../../guest" }
22+
openvm-ff-derive = { path = "../../" }
2323

2424
[features]
2525
default = []

guest-libs/k256/guest/Cargo.toml renamed to guest-libs/k256/Cargo.toml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,30 @@ k256 = { workspace = true }
2626
[target.'cfg(not(target_os = "zkvm"))'.dependencies]
2727
num-bigint = { workspace = true }
2828

29+
[dev-dependencies]
30+
openvm-circuit = { workspace = true, features = ["test-utils", "parallel"] }
31+
openvm-transpiler.workspace = true
32+
openvm-algebra-circuit.workspace = true
33+
openvm-algebra-transpiler.workspace = true
34+
openvm-ecc-transpiler.workspace = true
35+
openvm-ecc-circuit.workspace = true
36+
openvm-sha256-circuit.workspace = true
37+
openvm-sha256-transpiler.workspace = true
38+
openvm-rv32im-circuit.workspace = true
39+
openvm-rv32im-transpiler.workspace = true
40+
openvm-toolchain-tests.workspace = true
41+
42+
openvm-stark-backend.workspace = true
43+
openvm-stark-sdk.workspace = true
44+
45+
serde.workspace = true
46+
eyre.workspace = true
47+
derive_more = { workspace = true, features = ["from"] }
48+
2949
[features]
3050
default = ["ecdsa"]
3151
ecdsa = ["k256/ecdsa", "ecdsa-core"]
3252
ecdsa-core = ["k256/ecdsa-core"]
3353

3454
[package.metadata.cargo-shear]
35-
ignored = ["openvm", "num-bigint", "serde"]
55+
ignored = ["openvm", "num-bigint", "serde", "derive_more"]
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

guest-libs/k256/tests/Cargo.toml

Lines changed: 0 additions & 35 deletions
This file was deleted.

guest-libs/k256/tests/src/lib.rs renamed to guest-libs/k256/tests/lib.rs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ mod tests {
1919
#[test]
2020
fn test_add() -> Result<()> {
2121
let config = Rv32WeierstrassConfig::new(vec![SECP256K1_CONFIG.clone()]);
22-
let elf = build_example_program_at_path(get_programs_dir!(), "add", &config)?;
22+
let elf =
23+
build_example_program_at_path(get_programs_dir!("tests/programs"), "add", &config)?;
2324
let openvm_exe = VmExe::from_elf(
2425
elf,
2526
Transpiler::<F>::default()
@@ -36,7 +37,8 @@ mod tests {
3637
#[test]
3738
fn test_mul() -> Result<()> {
3839
let config = Rv32WeierstrassConfig::new(vec![SECP256K1_CONFIG.clone()]);
39-
let elf = build_example_program_at_path(get_programs_dir!(), "mul", &config)?;
40+
let elf =
41+
build_example_program_at_path(get_programs_dir!("tests/programs"), "mul", &config)?;
4042
let openvm_exe = VmExe::from_elf(
4143
elf,
4244
Transpiler::<F>::default()
@@ -140,7 +142,8 @@ mod tests {
140142
fn test_ecdsa() -> Result<()> {
141143
let config = EcdsaConfig::new(vec![SECP256K1_CONFIG.clone()]);
142144

143-
let elf = build_example_program_at_path(get_programs_dir!(), "ecdsa", &config)?;
145+
let elf =
146+
build_example_program_at_path(get_programs_dir!("tests/programs"), "ecdsa", &config)?;
144147
let openvm_exe = VmExe::from_elf(
145148
elf,
146149
Transpiler::<F>::default()
@@ -156,9 +159,13 @@ mod tests {
156159
}
157160

158161
#[test]
159-
fn test_scalar_sqrt() -> Result<()> {
162+
fn test_sjcalar_sqrt() -> Result<()> {
160163
let config = Rv32WeierstrassConfig::new(vec![SECP256K1_CONFIG.clone()]);
161-
let elf = build_example_program_at_path(get_programs_dir!(), "scalar_sqrt", &config)?;
164+
let elf = build_example_program_at_path(
165+
get_programs_dir!("tests/programs"),
166+
"scalar_sqrt",
167+
&config,
168+
)?;
162169
let openvm_exe = VmExe::from_elf(
163170
elf,
164171
Transpiler::<F>::default()

guest-libs/k256/tests/programs/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ openvm-algebra-guest = { path = "../../../../extensions/algebra/guest" }
1010
openvm-algebra-moduli-macros = { path = "../../../../extensions/algebra/moduli-macros/" }
1111
openvm-ecc-guest = { path = "../../../../extensions/ecc/guest" }
1212
openvm-ecc-sw-macros = { path = "../../../../extensions/ecc/sw-macros/" }
13-
openvm-k256 = { path = "../../guest" }
14-
openvm-sha2 = { path = "../../../sha2/guest" }
13+
openvm-k256 = { path = "../../" }
14+
openvm-sha2 = { path = "../../../sha2/" }
1515

1616
elliptic-curve = { version = "0.13.8" }
1717
ecdsa = { version = "0.16.9" }

0 commit comments

Comments
 (0)