mirror of
https://github.com/logos-blockchain/logos-blockchain-pocs.git
synced 2026-01-04 06:03:08 +00:00
Merge branch 'Circom' of https://github.com/logos-co/nomos-pocs into Circom
This commit is contained in:
commit
64bcc837b6
219
.github/workflows/build-circuits.yml
vendored
219
.github/workflows/build-circuits.yml
vendored
@ -81,7 +81,7 @@ jobs:
|
||||
- name: Install Dependencies [Witness Generator]
|
||||
run: sudo apt install nlohmann-json3-dev
|
||||
|
||||
- name: Compile Prover
|
||||
- name: Compile Prover and Verifier
|
||||
working-directory: repo/circom_circuits/rapidsnark
|
||||
run: |
|
||||
./build_gmp.sh host
|
||||
@ -95,30 +95,64 @@ jobs:
|
||||
working-directory: repo/circom_circuits/Mantle/pol_cpp
|
||||
run: make pol
|
||||
|
||||
- name: Bundle
|
||||
- name: Bundle Rapidsnark Prover
|
||||
working-directory: repo
|
||||
env:
|
||||
BUNDLE_NAME: circom_circuits-${{ env.OS }}-${{ env.ARCH }}
|
||||
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp
|
||||
BINARY_NAME: prover
|
||||
BUNDLE_NAME: prover-${{ env.OS }}-${{ env.ARCH }}
|
||||
RAPIDSNARK_DIR: circom_circuits/rapidsnark/package
|
||||
run: |
|
||||
BUNDLE_DIR_WITNESS_GENERATOR="${BUNDLE_NAME}/witness-generator"
|
||||
BUNDLE_DIR_RAPIDSNARK="${BUNDLE_NAME}/rapidsnark"
|
||||
BUNDLE_DIR="${BUNDLE_NAME}/${BINARY_NAME}"
|
||||
mkdir -p "$BUNDLE_DIR"
|
||||
|
||||
mv "${RAPIDSNARK_DIR}"/bin/${BINARY_NAME} "$BUNDLE_DIR/"
|
||||
|
||||
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
|
||||
|
||||
- name: Bundle Rapidsnark Verifier
|
||||
working-directory: repo
|
||||
env:
|
||||
BINARY_NAME: verifier
|
||||
BUNDLE_NAME: verifier-${{ env.OS }}-${{ env.ARCH }}
|
||||
RAPIDSNARK_DIR: circom_circuits/rapidsnark/package
|
||||
run: |
|
||||
BUNDLE_DIR="${BUNDLE_NAME}/${BINARY_NAME}"
|
||||
mkdir -p "$BUNDLE_DIR"
|
||||
|
||||
mv "${RAPIDSNARK_DIR}"/bin/${BINARY_NAME} "$BUNDLE_DIR/"
|
||||
|
||||
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
|
||||
|
||||
- name: Bundle Pol Witness Generator
|
||||
working-directory: repo
|
||||
env:
|
||||
BUNDLE_NAME: pol-${{ env.OS }}-${{ env.ARCH }}
|
||||
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp
|
||||
run: |
|
||||
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
|
||||
mkdir -p "$BUNDLE_DIR"
|
||||
|
||||
mkdir -p "$BUNDLE_DIR_WITNESS_GENERATOR" "$BUNDLE_DIR_RAPIDSNARK"
|
||||
|
||||
mv "${WITNESS_GENERATOR_DIR}/pol" "$BUNDLE_DIR_WITNESS_GENERATOR/"
|
||||
mv "${WITNESS_GENERATOR_DIR}/pol.dat" "$BUNDLE_DIR_WITNESS_GENERATOR/"
|
||||
|
||||
mv "${RAPIDSNARK_DIR}"/bin/{prover,verifier} "$BUNDLE_DIR_RAPIDSNARK/"
|
||||
mv "${WITNESS_GENERATOR_DIR}"/{pol,pol.dat} "$BUNDLE_DIR/"
|
||||
|
||||
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
|
||||
|
||||
- name: Upload Bundle
|
||||
- name: Upload Rapidsnark Prover
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: circom_circuits-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/circom_circuits-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
name: prover-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/prover-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
- name: Upload Rapidsnark Verifier
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: verifier-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/verifier-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
- name: Upload Pol Witness Generator
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: pol-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/pol-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
build-windows:
|
||||
name: Build Windows Binaries (Native)
|
||||
@ -219,8 +253,8 @@ jobs:
|
||||
run: circom --c --r1cs --no_asm pol.circom
|
||||
|
||||
- name: Replace Witness Generator Makefile # TODO: Make a fork generate the appropriate Windows Makefile
|
||||
working-directory: repo
|
||||
shell: msys2 {0}
|
||||
working-directory: repo
|
||||
run: cp .github/resources/witness-generator/${{ env.OS }}.Makefile circom_circuits/Mantle/pol_cpp/Makefile
|
||||
|
||||
- name: Compile Witness Generator
|
||||
@ -228,35 +262,80 @@ jobs:
|
||||
working-directory: repo/circom_circuits/Mantle/pol_cpp
|
||||
run: make pol.exe
|
||||
|
||||
- name: Bundle
|
||||
working-directory: repo
|
||||
- name: Bundle Rapidsnark Prover
|
||||
shell: msys2 {0}
|
||||
working-directory: repo
|
||||
env:
|
||||
BUNDLE_NAME: circom_circuits-${{ env.OS }}-${{ env.ARCH }}
|
||||
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp
|
||||
BINARY_NAME: prover
|
||||
BUNDLE_NAME: prover-${{ env.OS }}-${{ env.ARCH }}
|
||||
RAPIDSNARK_DIR: circom_circuits/rapidsnark/package
|
||||
run: |
|
||||
BUNDLE_DIR_WITNESS_GENERATOR="${BUNDLE_NAME}/witness-generator"
|
||||
BUNDLE_DIR_RAPIDSNARK="${BUNDLE_NAME}/rapidsnark"
|
||||
BUNDLE_DIR="${BUNDLE_NAME}/${BINARY_NAME}"
|
||||
mkdir -p "$BUNDLE_DIR"
|
||||
|
||||
MINGW_BASE_DIR="/${MSYSTEM,,}"
|
||||
MINGW_DLL_DIR="$MINGW_BASE_DIR/bin"
|
||||
cp "$MINGW_DLL_DIR"/{libgcc_s_seh-1.dll,libwinpthread-1.dll,libstdc++-6.dll} "$BUNDLE_DIR/"
|
||||
|
||||
mv "${RAPIDSNARK_DIR}"/bin/${BINARY_NAME}.exe "$BUNDLE_DIR/"
|
||||
|
||||
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
|
||||
|
||||
- name: Bundle Rapidsnark Verifier
|
||||
shell: msys2 {0}
|
||||
working-directory: repo
|
||||
env:
|
||||
BINARY_NAME: verifier
|
||||
BUNDLE_NAME: verifier-${{ env.OS }}-${{ env.ARCH }}
|
||||
RAPIDSNARK_DIR: circom_circuits/rapidsnark/package
|
||||
run: |
|
||||
BUNDLE_DIR="${BUNDLE_NAME}/${BINARY_NAME}"
|
||||
mkdir -p "$BUNDLE_DIR"
|
||||
|
||||
MINGW_BASE_DIR="/${MSYSTEM,,}"
|
||||
MINGW_DLL_DIR="$MINGW_BASE_DIR/bin"
|
||||
cp "$MINGW_DLL_DIR"/{libgcc_s_seh-1.dll,libwinpthread-1.dll,libstdc++-6.dll} "$BUNDLE_DIR/"
|
||||
|
||||
mv "${RAPIDSNARK_DIR}"/bin/${BINARY_NAME}.exe "$BUNDLE_DIR/"
|
||||
|
||||
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
|
||||
|
||||
- name: Bundle Pol Witness Generator
|
||||
shell: msys2 {0}
|
||||
working-directory: repo
|
||||
env:
|
||||
BUNDLE_NAME: pol-${{ env.OS }}-${{ env.ARCH }}
|
||||
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp
|
||||
run: |
|
||||
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
|
||||
mkdir -p "$BUNDLE_DIR"
|
||||
|
||||
MINGW_BASE_DIR="/${MSYSTEM,,}"
|
||||
MINGW_DLL_DIR="$MINGW_BASE_DIR/bin"
|
||||
cp "$MINGW_DLL_DIR"/{libgcc_s_seh-1.dll,libwinpthread-1.dll,libstdc++-6.dll,libgmp-10.dll} "$BUNDLE_DIR/"
|
||||
|
||||
mkdir -p "$BUNDLE_DIR_WITNESS_GENERATOR" "$BUNDLE_DIR_RAPIDSNARK"
|
||||
|
||||
cp "$MINGW_DLL_DIR"/{libgcc_s_seh-1.dll,libwinpthread-1.dll,libstdc++-6.dll,libgmp-10.dll} "$BUNDLE_DIR_WITNESS_GENERATOR/"
|
||||
mv "${WITNESS_GENERATOR_DIR}/pol" "$BUNDLE_DIR_WITNESS_GENERATOR/pol.exe"
|
||||
mv "${WITNESS_GENERATOR_DIR}/pol.dat" "$BUNDLE_DIR_WITNESS_GENERATOR/pol.exe.dat"
|
||||
|
||||
cp "$MINGW_DLL_DIR"/{libgcc_s_seh-1.dll,libwinpthread-1.dll,libstdc++-6.dll} "$BUNDLE_DIR_RAPIDSNARK/"
|
||||
mv "${RAPIDSNARK_DIR}"/bin/{prover.exe,verifier.exe} "$BUNDLE_DIR_RAPIDSNARK/"
|
||||
mv "${WITNESS_GENERATOR_DIR}/pol" "$BUNDLE_DIR/pol.exe"
|
||||
mv "${WITNESS_GENERATOR_DIR}/pol.dat" "$BUNDLE_DIR/pol.exe.dat"
|
||||
|
||||
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
|
||||
|
||||
- name: Upload Bundle
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
- name: Upload Rapidsnark Prover
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: circom_circuits-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/circom_circuits-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
name: prover-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/prover-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
- name: Upload Rapidsnark Verifier
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: verifier-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/verifier-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
- name: Upload Pol Witness Generator
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: pol-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/pol-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
build-macos:
|
||||
name: Build MacOS Binaries (Native)
|
||||
@ -314,7 +393,7 @@ jobs:
|
||||
working-directory: repo
|
||||
run: cp .github/resources/witness-generator/${{ env.OS }}.Makefile circom_circuits/Mantle/pol_cpp/Makefile
|
||||
|
||||
- name: Patch MacOS GMP # TODO: Maybe not needed?
|
||||
- name: Patch MacOS GMP
|
||||
working-directory: repo
|
||||
run: cp .github/resources/witness-generator/${{ env.OS }}.gmp_patch.hpp circom_circuits/Mantle/pol_cpp/gmp_patch.hpp
|
||||
|
||||
@ -322,30 +401,64 @@ jobs:
|
||||
working-directory: repo/circom_circuits/Mantle/pol_cpp
|
||||
run: make pol
|
||||
|
||||
- name: Bundle
|
||||
- name: Bundle Rapidsnark Prover
|
||||
working-directory: repo
|
||||
env:
|
||||
BUNDLE_NAME: circom_circuits-${{ env.OS }}-${{ env.ARCH }}
|
||||
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp
|
||||
BINARY_NAME: prover
|
||||
BUNDLE_NAME: prover-${{ env.OS }}-${{ env.ARCH }}
|
||||
RAPIDSNARK_DIR: circom_circuits/rapidsnark/package_macos_arm64
|
||||
run: |
|
||||
BUNDLE_DIR_WITNESS_GENERATOR="${BUNDLE_NAME}/witness-generator"
|
||||
BUNDLE_DIR_RAPIDSNARK="${BUNDLE_NAME}/rapidsnark"
|
||||
BUNDLE_DIR="${BUNDLE_NAME}/${BINARY_NAME}"
|
||||
mkdir -p "$BUNDLE_DIR"
|
||||
|
||||
mv "${RAPIDSNARK_DIR}/bin/${BINARY_NAME}" "$BUNDLE_DIR/"
|
||||
|
||||
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
|
||||
|
||||
- name: Bundle Rapidsnark Verifier
|
||||
working-directory: repo
|
||||
env:
|
||||
BINARY_NAME: verifier
|
||||
BUNDLE_NAME: verifier-${{ env.OS }}-${{ env.ARCH }}
|
||||
RAPIDSNARK_DIR: circom_circuits/rapidsnark/package_macos_arm64
|
||||
run: |
|
||||
BUNDLE_DIR="${BUNDLE_NAME}/${BINARY_NAME}"
|
||||
mkdir -p "$BUNDLE_DIR"
|
||||
|
||||
mv "${RAPIDSNARK_DIR}/bin/${BINARY_NAME}" "$BUNDLE_DIR/"
|
||||
|
||||
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
|
||||
|
||||
- name: Bundle Pol Witness Generator
|
||||
working-directory: repo
|
||||
env:
|
||||
BUNDLE_NAME: pol-${{ env.OS }}-${{ env.ARCH }}
|
||||
WITNESS_GENERATOR_DIR: circom_circuits/Mantle/pol_cpp
|
||||
run: |
|
||||
BUNDLE_DIR="${BUNDLE_NAME}/witness-generator"
|
||||
mkdir -p "$BUNDLE_DIR"
|
||||
|
||||
mkdir -p "$BUNDLE_DIR_WITNESS_GENERATOR" "$BUNDLE_DIR_RAPIDSNARK"
|
||||
|
||||
mv "${WITNESS_GENERATOR_DIR}/pol" "$BUNDLE_DIR_WITNESS_GENERATOR/"
|
||||
mv "${WITNESS_GENERATOR_DIR}/pol.dat" "$BUNDLE_DIR_WITNESS_GENERATOR/"
|
||||
|
||||
mv "${RAPIDSNARK_DIR}"/bin/{prover,verifier} "$BUNDLE_DIR_RAPIDSNARK/"
|
||||
mv "${WITNESS_GENERATOR_DIR}"/{pol,pol.dat} "$BUNDLE_DIR/"
|
||||
|
||||
tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}"
|
||||
|
||||
- name: Upload Bundle
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
- name: Upload Rapidsnark Prover
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: circom_circuits-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/circom_circuits-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
name: prover-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/prover-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
- name: Upload Rapidsnark Verifier
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: verifier-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/verifier-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
- name: Upload Pol Witness Generator
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: pol-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: repo/pol-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
publish-release:
|
||||
name: Create Release
|
||||
@ -400,10 +513,14 @@ jobs:
|
||||
arch: arm64
|
||||
- os: windows
|
||||
arch: x86_64
|
||||
artifact:
|
||||
- prover
|
||||
- verifier
|
||||
- pol
|
||||
env:
|
||||
VERSION: ${{ needs.setup.outputs.version }}
|
||||
UPLOAD_URL: ${{ needs.publish-release.outputs.upload_url }}
|
||||
ARTIFACT_NAME: circom_circuits-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz
|
||||
ARTIFACT_NAME: ${{ matrix.artifact }}-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz
|
||||
steps:
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user