chore(circuits): Bundle PoQ and ZKSign (#96)

* Add PoQ bundling.
* Add ZKSign bundling.
This commit is contained in:
Álex 2025-09-05 16:58:52 +02:00 committed by GitHub
parent 882f2c468a
commit dfeaea6315
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 285 additions and 55 deletions

View File

@ -1,43 +1,43 @@
.PHONY: linux macos windows build clean .PHONY: linux macos windows build clean
# ---- Arguments ----
ifndef PROJECT
$(error PROJECT is not set. Usage: make PROJECT=<name>. E.g.: make PROJECT=pol linux)
endif
# ---- Common ---- # ---- Common ----
CXX := g++ CXX := g++
CXXFLAGS_COMMON := -std=c++11 -O3 -I. -Wno-address-of-packed-member CXXFLAGS_COMMON := -std=c++11 -O3 -I. -Wno-address-of-packed-member
SRCS := main.cpp calcwit.cpp fr.cpp pol.cpp SRCS := main.cpp calcwit.cpp fr.cpp $(PROJECT).cpp
OBJS := $(SRCS:.cpp=.o) OBJS := $(SRCS:.cpp=.o)
DEPS_HPP := circom.hpp calcwit.hpp fr.hpp DEPS_HPP := circom.hpp calcwit.hpp fr.hpp
BIN_WINDOWS := pol.exe BIN := $(PROJECT)
BIN_UNIX := pol
BINS := $(BIN_UNIX) $(BIN_WINDOWS)
# ---- Linux ---- # ---- Linux ----
linux: BIN=$(BIN_UNIX)
linux: CXXFLAGS=$(CXXFLAGS_COMMON) linux: CXXFLAGS=$(CXXFLAGS_COMMON)
linux: LDFLAGS=-static linux: LDFLAGS=-static
linux: LDLIBS=-lgmp linux: LDLIBS=-lgmp
linux: $(BIN_UNIX) linux: $(BIN)
# ---- macOS ---- # ---- macOS ----
macos: BIN=$(BIN_UNIX)
macos: CXXFLAGS=$(CXXFLAGS_COMMON) -I/opt/homebrew/include -include gmp_patch.hpp macos: CXXFLAGS=$(CXXFLAGS_COMMON) -I/opt/homebrew/include -include gmp_patch.hpp
macos: LDFLAGS=-Wl,-search_paths_first -Wl,-dead_strip macos: LDFLAGS=-Wl,-search_paths_first -Wl,-dead_strip
macos: LDLIBS=/opt/homebrew/lib/libgmp.a macos: LDLIBS=/opt/homebrew/lib/libgmp.a
macos: $(BIN_UNIX) macos: $(BIN)
# ---- Windows (MinGW) ---- # ---- Windows (MinGW) ----
windows: BIN=$(BIN_WINDOWS)
windows: CXXFLAGS=$(CXXFLAGS_COMMON) -I/include -Duint="unsigned int" windows: CXXFLAGS=$(CXXFLAGS_COMMON) -I/include -Duint="unsigned int"
windows: LDFLAGS=-static windows: LDFLAGS=-static
windows: LDLIBS=-L/lib -lgmp -lmman windows: LDLIBS=-L/lib -lgmp -lmman
windows: $(BIN_WINDOWS) windows: $(BIN)
# ---- Rules ---- # ---- Rules ----
$(BINS): $(OBJS) $(BIN): $(OBJS)
$(CXX) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(CXX) $(LDFLAGS) $^ $(LDLIBS) -o $@
%.o: %.cpp $(DEPS_HPP) %.o: %.cpp $(DEPS_HPP)
$(CXX) $(CXXFLAGS) -c $< -o $@ $(CXX) $(CXXFLAGS) -c $< -o $@
clean: clean:
rm -f $(OBJS) $(BIN_WINDOWS) $(BIN_UNIX) rm -f $(OBJS) $(BIN)

View File

@ -93,17 +93,41 @@ jobs:
./build_gmp.sh host ./build_gmp.sh host
make host_linux_x86_64_static make host_linux_x86_64_static
- name: Generate Witness Generator's C++ Circuit - name: Generate PoL
working-directory: repo/circom_circuits/Mantle working-directory: repo/circom_circuits/Mantle
run: circom --c --r1cs --no_asm --O2 pol.circom run: circom --c --r1cs --no_asm --O2 pol.circom
- name: Replace Witness Generator Makefile # TODO: Make a fork generate the appropriate Linux Makefile - name: Replace PoL Makefile # TODO: Make a fork generate the appropriate Linux Makefile
working-directory: repo working-directory: repo
run: cp .github/resources/witness-generator/Makefile circom_circuits/Mantle/pol_cpp/Makefile run: cp .github/resources/witness-generator/Makefile circom_circuits/Mantle/pol_cpp/Makefile
- name: Compile Witness Generator - name: Compile PoL
working-directory: repo/circom_circuits/Mantle/pol_cpp working-directory: repo/circom_circuits/Mantle/pol_cpp
run: make linux run: make PROJECT=pol linux
- name: Generate PoQ
working-directory: repo/circom_circuits/Blend
run: circom --c --r1cs --no_asm --O2 poq.circom
- name: Replace PoQ Makefile # TODO: Make a fork generate the appropriate Linux Makefile
working-directory: repo
run: cp .github/resources/witness-generator/Makefile circom_circuits/Blend/poq_cpp/Makefile
- name: Compile PoQ
working-directory: repo/circom_circuits/Blend/poq_cpp
run: make PROJECT=poq linux
- name: Generate ZKSign
working-directory: repo/circom_circuits/Mantle
run: circom --c --r1cs --no_asm --O2 signature.circom
- name: Replace ZKSign Makefile # TODO: Make a fork generate the appropriate Linux Makefile
working-directory: repo
run: cp .github/resources/witness-generator/Makefile circom_circuits/Mantle/signature_cpp/Makefile
- name: Compile ZKSign
working-directory: repo/circom_circuits/Mantle/signature_cpp
run: make PROJECT=signature linux
- name: Bundle Rapidsnark Prover - name: Bundle Rapidsnark Prover
working-directory: repo working-directory: repo
@ -133,16 +157,52 @@ jobs:
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}" tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
- name: Bundle Pol Witness Generator - name: Bundle PoL Witness Generator
working-directory: repo working-directory: repo
env: env:
CIRCUIT_NAME: pol
PLATFORM_BINARY_NAME: pol
BUNDLE_NAME: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }} BUNDLE_NAME: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp
run: | run: |
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator" BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
mkdir -p "$BUNDLE_DIR" mkdir -p "$BUNDLE_DIR"
mv "${WITNESS_GENERATOR_DIR}"/{pol,pol.dat} "$BUNDLE_DIR/" ls -la ${WITNESS_GENERATOR_DIR}
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}.dat" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}.dat"
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
- name: Bundle PoQ Witness Generator
working-directory: repo
env:
CIRCUIT_NAME: poq
PLATFORM_BINARY_NAME: poq
BUNDLE_NAME: poq-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
WITNESS_GENERATOR_DIR: circom_circuits/Blend/poq_cpp
run: |
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
mkdir -p "$BUNDLE_DIR"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}.dat" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}.dat"
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
- name: Bundle ZKSign Witness Generator
working-directory: repo
env:
CIRCUIT_NAME: signature
PLATFORM_BINARY_NAME: zksign
BUNDLE_NAME: zksign-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/signature_cpp
run: |
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
mkdir -p "$BUNDLE_DIR"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}.dat" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}.dat"
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}" tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
@ -158,12 +218,24 @@ jobs:
name: verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz name: verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz path: repo/verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
- name: Upload Pol Witness Generator - name: Upload PoL Witness Generator
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8 uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
with: with:
name: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz name: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz path: repo/pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
- name: Upload PoQ Witness Generator
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
with:
name: poq-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/poq-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
- name: Upload ZKSign Witness Generator
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
with:
name: zksign-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/zksign-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
build-windows: build-windows:
name: Build Windows Binaries (Native) name: Build Windows Binaries (Native)
runs-on: windows-latest runs-on: windows-latest
@ -258,19 +330,47 @@ jobs:
./build_gmp.sh host ./build_gmp.sh host
make host_windows_x86_64_static make host_windows_x86_64_static
- name: Generate Witness Generator's C++ Circuit - name: Generate PoL
working-directory: repo/circom_circuits/Mantle working-directory: repo/circom_circuits/Mantle
run: circom --c --r1cs --no_asm pol.circom run: circom --c --r1cs --no_asm pol.circom
- name: Replace Witness Generator Makefile # TODO: Make a fork generate the appropriate Windows Makefile - name: Replace PoL Makefile # TODO: Make a fork generate the appropriate Windows Makefile
shell: msys2 {0} shell: msys2 {0}
working-directory: repo working-directory: repo
run: cp .github/resources/witness-generator/Makefile circom_circuits/Mantle/pol_cpp/Makefile run: cp .github/resources/witness-generator/Makefile circom_circuits/Mantle/pol_cpp/Makefile
- name: Compile Witness Generator - name: Compile PoL
shell: msys2 {0} shell: msys2 {0}
working-directory: repo/circom_circuits/Mantle/pol_cpp working-directory: repo/circom_circuits/Mantle/pol_cpp
run: make windows run: make PROJECT=pol windows
- name: Generate PoQ
working-directory: repo/circom_circuits/Blend
run: circom --c --r1cs --no_asm poq.circom
- name: Replace PoQ Makefile # TODO: Make a fork generate the appropriate Windows Makefile
shell: msys2 {0}
working-directory: repo
run: cp .github/resources/witness-generator/Makefile circom_circuits/Blend/poq_cpp/Makefile
- name: Compile PoQ
shell: msys2 {0}
working-directory: repo/circom_circuits/Blend/poq_cpp
run: make PROJECT=poq windows
- name: Generate ZKSign
working-directory: repo/circom_circuits/Mantle
run: circom --c --r1cs --no_asm signature.circom
- name: Replace ZKSign Makefile # TODO: Make a fork generate the appropriate Windows Makefile
shell: msys2 {0}
working-directory: repo
run: cp .github/resources/witness-generator/Makefile circom_circuits/Mantle/signature_cpp/Makefile
- name: Compile ZKSign
shell: msys2 {0}
working-directory: repo/circom_circuits/Mantle/signature_cpp
run: make PROJECT=signature windows
- name: Bundle Rapidsnark Prover - name: Bundle Rapidsnark Prover
shell: msys2 {0} shell: msys2 {0}
@ -302,18 +402,54 @@ jobs:
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}" tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
- name: Bundle Pol Witness Generator - name: Bundle PoL Witness Generator
shell: msys2 {0} shell: msys2 {0}
working-directory: repo working-directory: repo
env: env:
CIRCUIT_NAME: pol
PLATFORM_BINARY_NAME: pol.exe
BUNDLE_NAME: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }} BUNDLE_NAME: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp
run: | run: |
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator" BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
mkdir -p "$BUNDLE_DIR" mkdir -p "$BUNDLE_DIR"
mv "${WITNESS_GENERATOR_DIR}/pol" "$BUNDLE_DIR/pol.exe" mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}"
mv "${WITNESS_GENERATOR_DIR}/pol.dat" "$BUNDLE_DIR/pol.exe.dat" mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}.dat" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}.dat"
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
- name: Bundle PoQ Witness Generator
shell: msys2 {0}
working-directory: repo
env:
CIRCUIT_NAME: poq
PLATFORM_BINARY_NAME: poq.exe
BUNDLE_NAME: poq-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
WITNESS_GENERATOR_DIR: circom_circuits/Blend/poq_cpp
run: |
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
mkdir -p "$BUNDLE_DIR"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}.dat" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}.dat"
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
- name: Bundle ZKSign Witness Generator
shell: msys2 {0}
working-directory: repo
env:
CIRCUIT_NAME: signature
PLATFORM_BINARY_NAME: zksign.exe
BUNDLE_NAME: zksign-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/signature_cpp
run: |
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
mkdir -p "$BUNDLE_DIR"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}.dat" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}.dat"
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}" tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
@ -329,12 +465,24 @@ jobs:
name: verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz name: verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz path: repo/verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
- name: Upload Pol Witness Generator - name: Upload PoL Witness Generator
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8 uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
with: with:
name: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz name: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz path: repo/pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
- name: Upload PoQ Witness Generator
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
with:
name: poq-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/poq-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
- name: Upload ZKSign Witness Generator
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
with:
name: zksign-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/zksign-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
build-macos: build-macos:
name: Build MacOS Binaries (Native) name: Build MacOS Binaries (Native)
runs-on: macos-latest runs-on: macos-latest
@ -383,11 +531,11 @@ jobs:
./build_gmp.sh macos_arm64 ./build_gmp.sh macos_arm64
make macos_arm64 make macos_arm64
- name: Generate Witness Generator's C++ Circuit - name: Generate PoL
working-directory: repo/circom_circuits/Mantle working-directory: repo/circom_circuits/Mantle
run: circom --c --r1cs --no_asm --O2 pol.circom run: circom --c --r1cs --no_asm --O2 pol.circom
- name: Replace Witness Generator's Makefile # TODO: Make a fork generate the appropriate MacOS Makefile - name: Replace PoL's Makefile # TODO: Make a fork generate the appropriate MacOS Makefile
working-directory: repo working-directory: repo
run: cp .github/resources/witness-generator/Makefile circom_circuits/Mantle/pol_cpp/Makefile run: cp .github/resources/witness-generator/Makefile circom_circuits/Mantle/pol_cpp/Makefile
@ -395,9 +543,41 @@ jobs:
working-directory: repo working-directory: repo
run: cp .github/resources/witness-generator/${{ env.OS }}.gmp_patch.hpp circom_circuits/Mantle/pol_cpp/gmp_patch.hpp run: cp .github/resources/witness-generator/${{ env.OS }}.gmp_patch.hpp circom_circuits/Mantle/pol_cpp/gmp_patch.hpp
- name: Compile Witness Generator - name: Compile PoL
working-directory: repo/circom_circuits/Mantle/pol_cpp working-directory: repo/circom_circuits/Mantle/pol_cpp
run: make macos run: make PROJECT=pol macos
- name: Generate PoQ
working-directory: repo/circom_circuits/Blend
run: circom --c --r1cs --no_asm --O2 poq.circom
- name: Replace PoQ's Makefile # TODO: Make a fork generate the appropriate MacOS Makefile
working-directory: repo
run: cp .github/resources/witness-generator/Makefile circom_circuits/Blend/poq_cpp/Makefile
- name: Patch MacOS GMP
working-directory: repo
run: cp .github/resources/witness-generator/${{ env.OS }}.gmp_patch.hpp circom_circuits/Blend/poq_cpp/gmp_patch.hpp
- name: Compile PoQ
working-directory: repo/circom_circuits/Blend/poq_cpp
run: make PROJECT=poq macos
- name: Generate ZKSign
working-directory: repo/circom_circuits/Mantle
run: circom --c --r1cs --no_asm --O2 signature.circom
- name: Replace ZKSign's Makefile # TODO: Make a fork generate the appropriate MacOS Makefile
working-directory: repo
run: cp .github/resources/witness-generator/Makefile circom_circuits/Mantle/signature_cpp/Makefile
- name: Patch MacOS GMP
working-directory: repo
run: cp .github/resources/witness-generator/${{ env.OS }}.gmp_patch.hpp circom_circuits/Mantle/signature_cpp/gmp_patch.hpp
- name: Compile ZKSign
working-directory: repo/circom_circuits/Mantle/signature_cpp
run: make PROJECT=signature macos
- name: Bundle Rapidsnark Prover - name: Bundle Rapidsnark Prover
working-directory: repo working-directory: repo
@ -427,16 +607,52 @@ jobs:
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}" tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
- name: Bundle Pol Witness Generator - name: Bundle PoL Witness Generator
working-directory: repo working-directory: repo
env: env:
CIRCUIT_NAME: pol
PLATFORM_BINARY_NAME: pol
BUNDLE_NAME: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }} BUNDLE_NAME: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp
run: | run: |
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator" BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
mkdir -p "$BUNDLE_DIR" mkdir -p "$BUNDLE_DIR"
mv "${WITNESS_GENERATOR_DIR}"/{pol,pol.dat} "$BUNDLE_DIR/" ls -la ${WITNESS_GENERATOR_DIR}
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}.dat" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}.dat"
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
- name: Bundle PoQ Witness Generator
working-directory: repo
env:
CIRCUIT_NAME: poq
PLATFORM_BINARY_NAME: poq
BUNDLE_NAME: poq-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
WITNESS_GENERATOR_DIR: circom_circuits/Blend/poq_cpp
run: |
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
mkdir -p "$BUNDLE_DIR"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}.dat" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}.dat"
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
- name: Bundle ZKSign Witness Generator
working-directory: repo
env:
CIRCUIT_NAME: signature
PLATFORM_BINARY_NAME: zksign
BUNDLE_NAME: zksign-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/signature_cpp
run: |
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
mkdir -p "$BUNDLE_DIR"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}"
mv "${WITNESS_GENERATOR_DIR}/${CIRCUIT_NAME}.dat" "$BUNDLE_DIR/${PLATFORM_BINARY_NAME}.dat"
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}" tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
@ -452,12 +668,24 @@ jobs:
name: verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz name: verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz path: repo/verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
- name: Upload Pol Witness Generator - name: Upload PoL Witness Generator
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8 uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
with: with:
name: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz name: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz path: repo/pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
- name: Upload PoQ Witness Generator
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
with:
name: poq-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/poq-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
- name: Upload ZKSign Witness Generator
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
with:
name: zksign-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
path: repo/zksign-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
publish-release: publish-release:
name: Create Release name: Create Release
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -516,6 +744,8 @@ jobs:
- prover - prover
- verifier - verifier
- pol - pol
- poq
- zksign
env: env:
UPLOAD_URL: ${{ needs.publish-release.outputs.upload_url }} UPLOAD_URL: ${{ needs.publish-release.outputs.upload_url }}
ARTIFACT_NAME: ${{ matrix.artifact }}-${{ needs.setup.outputs.version }}-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz ARTIFACT_NAME: ${{ matrix.artifact }}-${{ needs.setup.outputs.version }}-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz