Skip to content

Commit b392e25

Browse files
huitseekermattstamjtguibaszlangleywwared
authored
feat: Forward ports (#182)
* feat(cli): allow template version and fix CI (#1012) * chore: cleanup zkvm/lib * hm * clenaup zkvm * ignore * fix: use correct value for blowup * fix: verifier dos * better build * get docker url * feat(cli): build --docker accepts an optional image tag (#1022) * hm * hm * cycle limit * add memory error * hm * hm * chore(contracts): remove mock verifier and interface autogen (#1045) * feat(cli): use GH token during installation to avoid rate limiting (#1031) * fix: improve resiliency to recursion depth * fix: Fix `SphinxVerifier.sol` export * chore: simplify clippy allows * refactor: Refactor MultiChip & dependents to use 'Sync' trait - Replaced `Field` trait with `Sync` in various modules for the `Poseidon2WideChip` implementation and friends, thereby updating associated dependencies. - In the `fri_fold` module, updated functions and methods to support the new interface and constraints with revised struct and replaced `Field` trait with `Sync`, * chore: Update package names and enhance macOS compatibility - Renamed package from `sp1-recursion-gnark-cli` to `sphinx-recursion-gnark-cli` - Updated dependency from `sp1-recursion-gnark-ffi` to `sphinx-recursion-gnark-ffi` - Included macOS-specific linking for CoreFoundation and Security frameworks in gnark-ffi package * fix: Enhance error handling across gnark-ffi package - Enhanced error handling across three critical go files in recursion/gnark-ffi, ensuring each function returns an error along with its intended output if any error occurs. - Improved `randomPolynomial` function to return an error along with the polynomial and added necessary error checks. - Improved safety by adding error handling for `SetString` and `SetRandom` operations, the program will now terminate in case of any error. - Added error handling for critical function calls, such as `os.MkdirAll` and `vk.ExportSolidity` in build.go. - Strengthened guard against unexpected panic conditions in `prove.go` by enabling error handling for `ReadFrom` methods for the R1CS, proving key, and verifier key. * ci: Refine workflow and prepare for future testing - Added a step in the GitHub workflow to install the `sphinx-recursion-gnark-cli` for integration testing. - Prepared for future testing capabilities by adding a note for `test-plonk-bn254`, pending CLI readiness. * build: Enhance cross-platform compatibility for Go build command - Introduced cross-platform support for the Go build command in the gnark-ffi's build.rs script. - Enhanced detection of the current operating system to set the appropriate GOOS environment variable. * refactor: Refactor MultiChip methods with generic type parameters - Replaced static type `F` with generic type parameter `T` across multiple methods in `MultiChip` struct, - this should lead to better compatibility with upstream. * chore: repair test_permutation_challenges * chore: recompile tests and examples --------- Co-authored-by: Matt Stam <[email protected]> Co-authored-by: John Guibas <[email protected]> Co-authored-by: Zach Langley <[email protected]> Co-authored-by: wwared <[email protected]>
1 parent 75d6e85 commit b392e25

File tree

210 files changed

+10282
-14575
lines changed

Some content is hidden

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

210 files changed

+10282
-14575
lines changed

.config/nextest.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ limited = { max-threads = 4 }
1616
very-limited = { max-threads = 1 }
1717

1818
[[profile.ci.overrides]]
19-
filter = '(test(syscall::precompiles) | test(stark::machine) | test(test_verifier_export) | package(sphinx-recursion-program) | package(sphinx-recursion-circuit))'
19+
filter = '(test(syscall::precompiles) | test(stark::machine) | package(sphinx-recursion-program) | package(sphinx-recursion-circuit))'
2020
test-group = 'limited'
2121

2222
[[profile.ci.overrides]]
23-
filter = '(test(test_e2e))'
23+
filter = '(test(test_e2e) | test(test_verifier_export))'
2424
slow-timeout = { period = "1500s", terminate-after = 4 }
2525
test-group = 'very-limited'

.github/workflows/tests.yml

+6
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,12 @@ jobs:
8787
perf: false
8888
- name: Install deps
8989
run: sudo apt update && sudo apt install cmake -y
90+
- name: Install `sphinx-recursion-gnark-cli` CLI
91+
run: |
92+
cargo install --locked --force --path .
93+
working-directory: ${{ github.workspace }}/recursion/gnark-cli
94+
# TODO: run test-plonk-bn254 once the CLI is ready,
95+
# which relies on an updated witness/constraints.json in the PR
9096
- name: Install `cargo prove` CLI
9197
run: |
9298
cargo install --locked --force --path ./cli

Cargo.lock

+120-30
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ serde_with = "3.9.0"
104104
serial_test = "3.1.1"
105105
sha2 = "0.10.8"
106106
size = "0.4.1"
107+
stacker = "0.1.0"
107108
strum = "0.26.3"
108109
strum_macros = "0.26.4"
109110
syn = "1.0"
@@ -133,6 +134,7 @@ alloy-primitives = "0.7.7"
133134
alloy-sol-types = "0.7.7"
134135
downloader = { version = "0.2", default-features = false }
135136
ethers = { version = "2", default-features = false }
137+
sysinfo = "0.31.2"
136138

137139
[profile.dev-ci]
138140
inherits = "dev"

0 commit comments

Comments
 (0)