Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verifier router #856

Open
wants to merge 57 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
6924797
*reusable verifier example nb
ethan-crypto Jun 25, 2024
c92be15
*update lockfile
ethan-crypto Jun 26, 2024
83cb957
*fix stuck integration tests.
ethan-crypto Jun 28, 2024
b3997cd
lazy static import
ethan-crypto Jun 28, 2024
b08dc28
Merge branch 'main' into reusable-vk-nb
ethan-crypto Jul 1, 2024
985205a
*update lock
ethan-crypto Jul 2, 2024
a17aad0
*update lock
ethan-crypto Jul 3, 2024
bdad19b
*update lock
ethan-crypto Jul 4, 2024
2fe0eb4
*update lock
ethan-crypto Jul 7, 2024
257e275
*update lock
ethan-crypto Jul 11, 2024
f59aaf8
*update lock
ethan-crypto Jul 11, 2024
f25b420
*update lock
ethan-crypto Jul 12, 2024
f5ae49e
Merge branch 'main' into reusable-vk-nb
ethan-crypto Jul 12, 2024
cd9d7c3
Merge branch 'main' into reusable-vk-nb
ethan-crypto Jul 12, 2024
36188ab
*comment out JS tests for reusable verifier CI tests
ethan-crypto Jul 12, 2024
dbe812b
*update lock
ethan-crypto Jul 13, 2024
f6acf24
Merge branch 'main' into reusable-vk-nb
ethan-crypto Jul 19, 2024
a1dd82a
*update lock
ethan-crypto Jul 19, 2024
3e5153d
*update lock
ethan-crypto Jul 23, 2024
6b71bdc
use latest version of solc
ethan-crypto Jul 23, 2024
add04f6
Merge branch 'main' into reusable-vk-nb
ethan-crypto Jul 26, 2024
d5f1849
*update lock.
ethan-crypto Jul 26, 2024
099726b
update lock.
ethan-crypto Jul 27, 2024
00f8dd4
*update lock
ethan-crypto Jul 28, 2024
f3e531c
*update lock
ethan-crypto Jul 29, 2024
72f1892
*update lock
ethan-crypto Jul 29, 2024
fab08bb
*update cargo lock
ethan-crypto Jul 29, 2024
889db3a
*update lock.
ethan-crypto Jul 29, 2024
779f82e
*vanish computations pcs
ethan-crypto Jul 30, 2024
3df63d5
coeff_computations.
ethan-crypto Jul 31, 2024
d5944d3
*r_evals_computation
ethan-crypto Aug 1, 2024
35bb286
*coeff_sums_computation
ethan-crypto Aug 2, 2024
31168b0
*fully reusable verifier
ethan-crypto Aug 3, 2024
23f7187
*update lock
ethan-crypto Aug 5, 2024
f1fe019
Merge branch 'main' into reusable-vk-nb
ethan-crypto Aug 5, 2024
a616fbb
packed permutation evals and challenge data.
ethan-crypto Aug 7, 2024
fd29794
hardcode coeff_ptr
ethan-crypto Aug 8, 2024
9d876d5
MV lookup packed.
ethan-crypto Aug 9, 2024
1588c97
*update lock
ethan-crypto Aug 14, 2024
472a505
*update separate vk contract name
ethan-crypto Aug 14, 2024
ad59186
Merge branch 'main' into reusable-vk-nb
ethan-crypto Aug 29, 2024
cd18602
main lock
ethan-crypto Aug 29, 2024
4d18a5a
*rmv create_evm_vk cmd
ethan-crypto Sep 2, 2024
66ae2f7
Merge branch 'main' into reusable-vk-nb
ethan-crypto Sep 2, 2024
9908f5c
*add col overflow testing for reusable verifier.
ethan-crypto Sep 5, 2024
a2a8488
Merge branch 'main' into reusable-vk-nb
ethan-crypto Sep 5, 2024
c9351c0
*reduce `extcodeopy` call by 1
ethan-crypto Sep 6, 2024
9fd3799
*expand reusable verifier test examples
ethan-crypto Sep 7, 2024
6788a9c
*comprehensive test coverage for reusable verifier
ethan-crypto Sep 9, 2024
d4ebf8f
skip lstm_large in overflow b/c too big to fit on chain.
ethan-crypto Sep 10, 2024
fe96076
Merge branch 'main' into reusable-vk-nb
ethan-crypto Sep 20, 2024
e3051b7
*bit flip fuzzing tests
ethan-crypto Oct 4, 2024
97c1397
verifier manager contract.
ethan-crypto Oct 8, 2024
5faa56f
Merge branch 'zkonduit:main' into verifier-router
ethan-crypto Oct 11, 2024
1ddbce5
ci testing
ethan-crypto Oct 25, 2024
cda4b2d
merge "main" into "verifier-router"
ethan-crypto Oct 28, 2024
41d3233
h2 sol verifier package update.
ethan-crypto Oct 28, 2024
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
File renamed without changes.
69 changes: 67 additions & 2 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -333,8 +333,8 @@ jobs:
# run: (hash svm 2>/dev/null || cargo install svm-rs) && svm install 0.8.20 && solc --version
- name: Install Anvil
run: cargo install --git https://github.com/foundry-rs/foundry --rev 62cdea8ff9e6efef011f77e295823b5f2dbeb3a1 --locked anvil --force
- name: KZG prove and verify tests (EVM + VK rendered seperately)
run: cargo nextest run --release --verbose tests_evm::kzg_evm_prove_and_verify_render_seperately_ --test-threads 1
- name: KZG prove and verify tests (EVM + reusable verifier + col-overflow)
run: cargo nextest run --release --verbose tests_evm::kzg_evm_prove_and_verify_reusable_verifier --test-threads 1
- name: KZG prove and verify tests (EVM + kzg all)
run: cargo nextest run --release --verbose tests_evm::kzg_evm_kzg_all_prove_and_verify --test-threads 1
- name: KZG prove and verify tests (EVM + kzg inputs)
Expand Down Expand Up @@ -686,3 +686,68 @@ jobs:
run: source .env/bin/activate; cargo nextest run py_tests::tests::voice_
- name: NBEATS tutorial
run: source .env/bin/activate; cargo nextest run py_tests::tests::nbeats_
# - name: Reusable verifier tutorial
# run: source .env/bin/activate; cargo nextest run py_tests::tests::reusable_

ios-integration-tests:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2024-07-18
override: true
components: rustfmt, clippy
- uses: baptiste0928/cargo-install@v1
with:
crate: cargo-nextest
locked: true
- name: Run ios tests
run: CARGO_BUILD_TARGET=aarch64-apple-darwin RUSTUP_TOOLCHAIN=nightly-2024-07-18-aarch64-apple-darwin cargo test --test ios_integration_tests --features ios-bindings-test --no-default-features

swift-package-tests:
runs-on: macos-latest
needs: [ios-integration-tests]

steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2024-07-18
override: true
components: rustfmt, clippy
- name: Build EzklCoreBindings
run: CONFIGURATION=debug cargo run --bin ios_gen_bindings --features "ios-bindings uuid camino uniffi_bindgen" --no-default-features

- name: Clone ezkl-swift- repository
run: |
git clone https://github.com/zkonduit/ezkl-swift-package.git

- name: Copy EzklCoreBindings
run: |
rm -rf ezkl-swift-package/Sources/EzklCoreBindings
cp -r build/EzklCoreBindings ezkl-swift-package/Sources/

- name: Set up Xcode environment
run: |
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license accept

- name: Run Package Tests
run: |
cd ezkl-swift-package
xcodebuild test \
-scheme EzklPackage \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=17.5' \
-resultBundlePath ../testResults

- name: Run Example App Tests
run: |
cd ezkl-swift-package/Example
xcodebuild test \
-project Example.xcodeproj \
-scheme EzklApp \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=17.5' \
-parallel-testing-enabled NO \
-resultBundlePath ../../exampleTestResults \
-skip-testing:EzklAppUITests/EzklAppUITests/testButtonClicksInOrder
75 changes: 75 additions & 0 deletions .github/workflows/update-ios-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Build and Publish EZKL iOS SPM package

on:
workflow_dispatch:
inputs:
tag:
description: "The tag to release"
required: true
push:
tags:
- "*"

jobs:
build-and-update:
runs-on: macos-latest

steps:
- name: Checkout EZKL
uses: actions/checkout@v3

- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true

- name: Build EzklCoreBindings
run: CONFIGURATION=release cargo run --bin ios_gen_bindings --features "ios-bindings uuid camino uniffi_bindgen" --no-default-features

- name: Clone ezkl-swift-package repository
run: |
git clone https://github.com/zkonduit/ezkl-swift-package.git

- name: Copy EzklCoreBindings
run: |
rm -rf ezkl-swift-package/Sources/EzklCoreBindings
cp -r build/EzklCoreBindings ezkl-swift-package/Sources/

- name: Set up Xcode environment
run: |
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license accept

- name: Run Package Tests
run: |
cd ezkl-swift-package
xcodebuild test \
-scheme EzklPackage \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=17.5' \
-resultBundlePath ../testResults

- name: Run Example App Tests
run: |
cd ezkl-swift-package/Example
xcodebuild test \
-project Example.xcodeproj \
-scheme EzklApp \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=17.5' \
-parallel-testing-enabled NO \
-resultBundlePath ../../exampleTestResults \
-skip-testing:EzklAppUITests/EzklAppUITests/testButtonClicksInOrder

- name: Commit and Push Changes to feat/ezkl-direct-integration
run: |
cd ezkl-swift-package
git config user.name "GitHub Action"
git config user.email "[email protected]"
git add Sources/EzklCoreBindings
git commit -m "Automatically updated EzklCoreBindings for EZKL"
git tag ${{ github.event.inputs.tag }}
git remote set-url origin https://zkonduit:${EZKL_PORTER_TOKEN}@github.com/zkonduit/ezkl-swift-package.git
git push origin
git push origin --tags
env:
EZKL_PORTER_TOKEN: ${{ secrets.EZKL_PORTER_TOKEN }}
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ pkg
!AttestData.sol
!VerifierBase.sol
!LoadInstances.sol
!VerifierManager.sol
*.pf
*.vk
*.pk
Expand Down Expand Up @@ -46,7 +47,7 @@ var/
node_modules
/dist
timingData.json
!tests/wasm/pk.key
!tests/wasm/vk.key
!tests/assets/pk.key
!tests/assets/vk.key
docs/python/build
!tests/wasm/vk_aggr.key
!tests/assets/vk_aggr.key
Loading