Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
5f2e64d
feat(zkevm-sdk): scaffolding for non-Rust SP1 guests against eth-act/…
tamirhemo Apr 29, 2026
9a910f2
use light prover
tamirhemo Apr 29, 2026
2fd47e7
feat(zkevm-sdk): add fibonacci + panic examples
tamirhemo Apr 29, 2026
214d708
feat(zkevm-sdk): implement zkvm_keccak256 precompile + keccak example
tamirhemo Apr 29, 2026
3b2fbbd
feat(zkevm-sdk): switch zkvm_keccak256 to patched tiny-keccak
tamirhemo Apr 29, 2026
012fefc
feat(zkevm-sdk): implement zkvm_sha256 via patched RustCrypto-hashes
tamirhemo Apr 29, 2026
10052b7
refactor(zkevm-sdk): unify all examples under zkevm/examples/Cargo.toml
tamirhemo Apr 29, 2026
9b50426
feat(zkevm-sdk): add C versions of fibonacci, panic, keccak; extract …
tamirhemo Apr 29, 2026
ce1d6ae
feat(sp1-build): expose find_lld, CLANG_FLAGS, build_program_staticlib
tamirhemo Apr 29, 2026
a5f81b9
feat(zkevm-sdk): redistributable SDK tarball + C-program template + r…
tamirhemo Apr 29, 2026
3374e69
clippy
tamirhemo Apr 29, 2026
466d187
chore(zkevm-sdk): rename CI to build-only, drop release-creation logic
tamirhemo Apr 29, 2026
7d5e88e
chore(zkevm-sdk/examples): use light prover in execute scripts
tamirhemo Apr 29, 2026
92de09c
chore(zkevm-sdk/examples): enable sp1-sdk `cuda` feature in the examp…
tamirhemo Apr 29, 2026
e555978
chore(zkevm-sdk/examples): enable sp1-sdk `network` feature too
tamirhemo Apr 29, 2026
a79347e
feat(zkevm-sdk/examples): add prove scripts for panic and panic-c
tamirhemo Apr 29, 2026
18bb0fe
feat(zkevm-sdk): assert-c + exit-code-c examples; route <assert.h> to…
tamirhemo Apr 29, 2026
b79bedb
feat(zkevm-sdk): implement zkvm_ripemd160 + ripemd-c example
tamirhemo Apr 29, 2026
4f084f2
feat(zkevm-sdk): implement zkvm_blake2f + blake2f-c example
tamirhemo Apr 29, 2026
e04552f
feat(zkevm-sdk): implement zkvm_secp256k1_verify + secp256k1-c example
tamirhemo Apr 29, 2026
ae49efc
feat(zkevm-sdk): implement zkvm_secp256r1_verify + secp256r1-c example
tamirhemo Apr 29, 2026
82d04c5
feat(zkevm-sdk): implement zkvm_bn254_g1_add/mul/pairing + bn254-c ex…
tamirhemo Apr 29, 2026
962708a
feat(zkevm-sdk): implement zkvm_bls12_g1/g2_add, _msm, _pairing + bls…
tamirhemo Apr 29, 2026
c53330c
feat(zkevm-sdk): implement zkvm_modexp + modexp-c example
tamirhemo Apr 29, 2026
f3ccdf5
feat(zkevm-sdk): implement zkvm_secp256k1_ecrecover + ecrecover-c
tamirhemo Apr 29, 2026
9641ac7
feat(zkevm-sdk): implement zkvm_bls12_map_fp{,2}_to_g{1,2}
tamirhemo Apr 29, 2026
cc02c27
docs(zkevm-sdk): refresh libzkevm precompile module index
tamirhemo Apr 29, 2026
f0393cc
feat(zkevm-sdk): implement zkvm_kzg_point_eval via kzg-rs + kzg-c exa…
tamirhemo Apr 29, 2026
399b730
test(zkevm-sdk/examples): add zkevm-fixtures crate; expand kzg-c with…
tamirhemo Apr 30, 2026
a05f834
test(zkevm-sdk/examples): wycheproof differential coverage for secp25…
tamirhemo Apr 30, 2026
8fae22d
test(zkevm-sdk/examples): wycheproof differential coverage for ecreco…
tamirhemo Apr 30, 2026
2232956
chore: refresh Cargo.lock after sp1-patches retag to branch=main
tamirhemo Apr 30, 2026
49898d6
chore: merge conflicts
tamirhemo May 1, 2026
635d34b
docs(zkevm): rewrite README to reflect current state
tamirhemo May 1, 2026
73ce42c
readme fix
tamirhemo May 1, 2026
f528533
Merge branch 'main' into tamir/zkevm
tamirhemo May 5, 2026
f741e89
Merge remote-tracking branch 'origin/main' into zkevm-sp1-6.2.0
tamirhemo May 7, 2026
9e0cfd7
feat: invalid_hint! macro, halt(3) for prover-hint failures
tamirhemo May 7, 2026
62c1b83
Merge remote-tracking branch 'origin/tamir/invalid-hint-v6.2.0' into …
tamirhemo May 7, 2026
9418d1f
zkevm: switch patches to non-pre 6.2.0 tags + invalid-hint-c example
tamirhemo May 7, 2026
6ebe706
ci(zkevm): integrate SDK build into release workflow
claude May 12, 2026
2a215ef
Merge branch 'main' into tamir/zkevm
tamirhemo May 12, 2026
e9cc216
Merge branch 'main' into tamir/zkevm
tamirhemo May 13, 2026
1b55fa8
Merge branch 'main' into tamir/zkevm
tamirhemo May 13, 2026
1175a2d
zkevm: define _heap_start / _heap_end per eth-act static-library spec
tamirhemo May 13, 2026
f0ccab2
zkevm: full accelerator coverage + EIP golden vectors + sp1-lib 6.2.0
tamirhemo May 13, 2026
7c67dce
Merge branch 'main' into tamir/zkevm
tamirhemo May 14, 2026
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
10 changes: 10 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,16 @@ jobs:
docker-tag: ${{ needs.prepare.outputs.tag_name }}
dry-run: ${{ inputs.dry_run }}

zkevm-sdk-release:
name: zkEVM SDK build and upload
needs: [prepare]
uses: ./.github/workflows/zkevm-sdk-build.yml
with:
version: ${{ needs.prepare.outputs.tag_name }}
release_tag: ${{ needs.prepare.outputs.tag_name }}
dry_run: ${{ inputs.dry_run }}
secrets: inherit

set-latest-release:
name: Set latest release
runs-on: ubuntu-latest
Expand Down
73 changes: 73 additions & 0 deletions .github/workflows/zkevm-sdk-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: zkevm-sdk-build

# Builds the redistributable `zkevm-sdk-<version>.tar.gz` artifact.
# Contents (host-independent — `libzkevm.a` is always built for
# `riscv64im-succinct-zkvm-elf`):
#
# zkevm-sdk-<version>/
# ├── libzkevm.a
# ├── zkvm.ld
# ├── include/zkvm_accelerators.h
# └── README.md
#
# Triggers:
# - workflow_dispatch: manual sanity-check build. Uploads the tarball
# as a workflow artifact (downloadable from the Actions UI).
# - workflow_call: invoked from `release.yml` as part of the SP1
# release process. With `release_tag` set, the tarball is
# `gh release upload`-ed to that tag instead of being kept as a
# workflow artifact.

on:
workflow_dispatch:
inputs:
version:
description: 'SDK version (used in the tarball filename, e.g. v6.2.0 or 0.1.0-pre)'
required: true
default: '0.1.0-pre'
workflow_call:
inputs:
version:
description: 'SDK version (used in the tarball filename)'
type: string
required: true
release_tag:
description: 'If non-empty, gh release upload the tarball to this tag instead of saving a workflow artifact'
type: string
default: ''
dry_run:
description: 'Dry run - build but skip the release upload'
type: boolean
default: false

jobs:
build:
runs-on: [runs-on, runner=8cpu-linux-x64, "run-id=${{ github.run_id }}"]
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Setup CI
uses: ./.github/actions/setup

- name: Install SP1 toolchain (succinct)
run: cargo run -p sp1-cli --no-default-features -- prove install-toolchain

- name: Build SDK archive
run: make -C zkevm sdk-archive SDK_VERSION=${{ inputs.version }}

- name: Upload tarball as workflow artifact
if: ${{ inputs.release_tag == '' }}
uses: actions/upload-artifact@v4
with:
name: zkevm-sdk-${{ inputs.version }}
path: zkevm/zkevm-sdk-${{ inputs.version }}.tar.gz
retention-days: 30

- name: Upload tarball to release
if: ${{ inputs.release_tag != '' && inputs.dry_run != true }}
env:
GH_TOKEN: ${{ secrets.SP1_RELEASE_TOKEN }}
run: |
gh release upload "${{ inputs.release_tag }}" "zkevm/zkevm-sdk-${{ inputs.version }}.tar.gz"
Loading
Loading