Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
30c310c
feat: zisk aggregation program initial version
MarcosNicolau Jan 7, 2026
9da4e06
feat: correctly read the public inputs of the user proof aggregator p…
MarcosNicolau Jan 7, 2026
a41c076
feat: build command for zisk programs
MarcosNicolau Jan 7, 2026
51de3c9
feat: zisk verification contracts
MarcosNicolau Jan 8, 2026
b47e4e2
Merge remote-tracking branch 'origin/staging' into feat/zisk-aggregator
MarcosNicolau Jan 8, 2026
c3311d3
feat: zisk integration in aligned proof aggregation service contract
MarcosNicolau Jan 8, 2026
a94c35b
feat: zisk write program ids
MarcosNicolau Jan 9, 2026
6e96c85
chore: deploy contracts with zisk values in config files
MarcosNicolau Jan 9, 2026
5f000bf
feat: add Zisk aggregator support to proof aggregation system
MarcosNicolau Jan 9, 2026
e360ec3
feat: submit zisk endpoint in gateway
MarcosNicolau Jan 9, 2026
f0ee298
feat: submit and verify zisk proofs commands in cli
MarcosNicolau Jan 9, 2026
c313185
feat: zisk example and makefile targets to interact with zisk proofs
MarcosNicolau Jan 9, 2026
67a2f47
fix: compilation errors
MarcosNicolau Jan 9, 2026
9155dea
chore: update elf and vk
MarcosNicolau Jan 9, 2026
cdf1e55
chore: update payment service address in config file
MarcosNicolau Jan 9, 2026
b9dd626
chore: run cargo fmt
MarcosNicolau Jan 12, 2026
6236fc5
use docker again in build script
MarcosNicolau Jan 12, 2026
e5d2fe0
ci: install zisk toolchain
MarcosNicolau Jan 12, 2026
6c3cddc
ci: install zisk toolchain using their steps
MarcosNicolau Jan 12, 2026
4c48da3
fix: paths in zisk aggregator
MarcosNicolau Jan 12, 2026
1a49fa3
ci: fix deps installation
MarcosNicolau Jan 12, 2026
081904e
fix: chunk aggregator read of rom_vkey
MarcosNicolau Jan 12, 2026
3ab1c72
fix: reading proof values in chunk aggregator
MarcosNicolau Jan 12, 2026
477b244
fix: decoding of merkle root public inputs in chunk aggregator program
MarcosNicolau Jan 12, 2026
0082b41
fix: system proving id of zisk
MarcosNicolau Jan 12, 2026
b619ef8
update program ids in zisk aggregator for the values of a linux machine
MarcosNicolau Jan 13, 2026
65b9b04
fix: verifyAggregationZisk program commitment usage
MarcosNicolau Jan 13, 2026
bfc3d5b
chore: deploy contracts with zisk values in config files
MarcosNicolau Jan 13, 2026
a0deba3
fix: call prove-snark twice as the first may fail for dark reasons
MarcosNicolau Jan 13, 2026
424a921
chore: update payment service address in config file
MarcosNicolau Jan 13, 2026
5e9f8f6
chore: --release flags in gateway commands aggregator
MarcosNicolau Jan 13, 2026
db06920
chore: redeploy contracts and compute program ids for zisk
MarcosNicolau Jan 13, 2026
ec7348e
fix: create recursivef_path in tmp dir
MarcosNicolau Jan 13, 2026
a87b1de
feat: verify zisk proof in gateway
MarcosNicolau Jan 13, 2026
a6b4136
feat: zisk remove elf build from build.rs to not recompute vk for eve…
MarcosNicolau Jan 13, 2026
1c7d985
fix: move rom-setup back to build and use the compiled elfs
MarcosNicolau Jan 13, 2026
28ea25c
update rom vkey in chunk aggreagtor
MarcosNicolau Jan 13, 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
15 changes: 15 additions & 0 deletions .github/workflows/build-and-test-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,21 @@ jobs:
source ~/.bashrc
~/.risc0/bin/rzup install

# Reference: https://github.com/0xPolygonHermez/zisk/blob/b3ca745b80423c8123dc24f19039865a5bc8b074/.github/workflows/test_install_bin.yml#L71-L83
- name: Install ZisK dependencies
shell: bash
run: |
sudo apt-get install -y xz-utils jq curl build-essential qemu-system libomp-dev \
libgmp-dev nlohmann-json3-dev protobuf-compiler uuid-dev libgrpc++-dev \
libsecp256k1-dev libsodium-dev libpqxx-dev nasm libopenmpi-dev openmpi-bin openmpi-common

- name: Install and run ziskup
run: |
curl -s -o install.sh https://raw.githubusercontent.com/0xPolygonHermez/zisk/main/ziskup/install.sh
chmod +x install.sh
export GH_RUNNER=1
./install.sh

- name: Cache Rust dependencies
uses: actions/cache@v3
with:
Expand Down
36 changes: 30 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ show_aligned_error_codes: ## Show AlignedLayer error codes

__CONTRACTS_DEPLOYMENT_ANVIL__: ## ____

anvil_deploy_all_contracts: anvil_deploy_eigen_contracts anvil_deploy_risc0_contracts anvil_deploy_sp1_contracts anvil_deploy_aligned_contracts
anvil_deploy_all_contracts: anvil_deploy_eigen_contracts anvil_deploy_risc0_contracts anvil_deploy_sp1_contracts anvil_deploy_zisk_contracts anvil_deploy_aligned_contracts

anvil_deploy_eigen_contracts: ## Deploy EigenLayer Contracts on ANVIL
@echo "Deploying Eigen Contracts..."
Expand All @@ -121,6 +121,10 @@ anvil_deploy_sp1_contracts: ## Deploy SP1 Contracts used by Aggregation Mode on
@echo "Deploying SP1 Contracts..."
. contracts/scripts/anvil/deploy_sp1_contracts.sh

anvil_deploy_zisk_contracts: ## Deploy Zisk Contracts used by Aggregation Mode on ANVIL
@echo "Deploying Zisk Contracts..."
. contracts/scripts/anvil/deploy_zisk_contracts.sh

anvil_deploy_aligned_contracts: ## Deploy Aligned Contracts (Verification Layer and Aggregation Mode) on ANVIL
@echo "Deploying Aligned Contracts..."
. contracts/scripts/anvil/deploy_aligned_contracts.sh
Expand Down Expand Up @@ -232,7 +236,7 @@ __AGGREGATION_MODE__: ## ____

is_aggregator_set:
@if [ -z "$(AGGREGATOR)" ]; then \
echo "Error: AGGREGATOR is not set. Please provide arg AGGREGATOR='sp1' or 'risc0'."; \
echo "Error: AGGREGATOR is not set. Please provide arg AGGREGATOR='sp1' or 'risc0' or 'zisk'."; \
exit 1; \
fi

Expand Down Expand Up @@ -275,18 +279,27 @@ proof_aggregator_start_gpu: is_aggregator_set reset_last_aggregated_block ./aggr
proof_aggregator_start_gpu_ethereum_package: is_aggregator_set reset_last_aggregated_block ./aggregation_mode/target/release/proof_aggregator_gpu ## Starts proof aggregator with proving activated in ethereum package. Parameters: AGGREGATOR=<sp1|risc0>
AGGREGATOR=$(AGGREGATOR) SP1_PROVER=cuda ./aggregation_mode/target/release/proof_aggregator_gpu config-files/config-proof-aggregator-ethereum-package.yaml

verify_aggregated_proof_sp1:
verify_aggregated_proof_sp1:
@echo "Verifying SP1 in aggregated proofs on $(NETWORK)..."
@cd aggregation_mode/cli/ && \
cargo run verify-on-chain \
cargo run verify-on-chain sp1 \
--network $(NETWORK) \
--beacon-url $(BEACON_URL) \
--rpc-url $(RPC_URL) \
--from-block $(FROM_BLOCK) \
--proving-system SP1 \
--vk-hash ../../scripts/test_files/sp1/sp1_fibonacci_5_0_0.vk \
--public-inputs ../../scripts/test_files/sp1/sp1_fibonacci_5_0_0.pub

verify_aggregated_proof_zisk:
@echo "Verifying Zisk in aggregated proofs on $(NETWORK)..."
@cd aggregation_mode/cli/ && \
cargo run verify-on-chain zisk \
--network $(NETWORK) \
--beacon-url $(BEACON_URL) \
--rpc-url $(RPC_URL) \
--from-block $(FROM_BLOCK) \
--proof ../../scripts/test_files/zisk/sha_hasher/proof/vadcop_final_proof.bin

proof_aggregator_install: ## Install the aggregation mode with proving enabled
cargo install --path aggregation_mode/proof_aggregator --features prove,gpu --bin proof_aggregator_gpu --locked

Expand Down Expand Up @@ -326,11 +339,16 @@ agg_mode_gateway_send_payment:
--rpc-url http://localhost:8545

agg_mode_gateway_send_sp1_proof:
@cargo run --manifest-path aggregation_mode/cli/Cargo.toml -- submit sp1 \
@cargo run --manifest-path aggregation_mode/cli/Cargo.toml --release -- submit sp1 \
--proof scripts/test_files/sp1/sp1_fibonacci_5_0_0.proof \
--vk scripts/test_files/sp1/sp1_fibonacci_5_0_0_vk.bin \
--private-key "0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d"

agg_mode_gateway_send_zisk_proof:
@cargo run --manifest-path aggregation_mode/cli/Cargo.toml --release -- submit zisk \
--proof scripts/test_files/zisk/sha_hasher/proof/vadcop_final_proof.bin \
--private-key "0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d"

agg_mode_install_cli: ## Install the aggregation mode CLI
@cargo install --path aggregation_mode/cli

Expand Down Expand Up @@ -873,6 +891,12 @@ aligned_get_user_balance_holesky:
--user_addr $(USER_ADDR)

__GENERATE_PROOFS__: ## ____

generate_zisk_proof:
@cd scripts/test_files/zisk/sha_hasher && cargo-zisk build --release && \
cargo-zisk rom-setup -e target/riscv64ima-zisk-zkvm-elf/release/sha_hasher && \
cargo-zisk prove -e target/riscv64ima-zisk-zkvm-elf/release/sha_hasher -i build/input.bin -o proof -a -y

generate_sp1_fibonacci_proof: ## Run the SP1 Fibonacci proof generator script
@cd scripts/test_files/sp1/fibonacci_proof_generator/script && RUST_LOG=info cargo run --release
@echo "Fibonacci proof and ELF generated in scripts/test_files/sp1 folder"
Expand Down
120 changes: 107 additions & 13 deletions aggregation_mode/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 0 additions & 9 deletions aggregation_mode/cli/src/commands/helpers.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
use clap::{self, ValueEnum};
use std::str::FromStr;

use agg_mode_sdk::types::Network;

pub fn parse_network(value: &str) -> Result<Network, String> {
Network::from_str(value).map_err(|_| format!("unsupported network supplied: {value}"))
}

#[derive(Debug, Clone, ValueEnum)]
pub enum ProvingSystemArg {
#[clap(name = "SP1")]
SP1,
#[clap(name = "Risc0")]
Risc0,
}
Loading