Skip to content
Draft

v0.21.0 #2274

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
9a8a88d
fix: update periodic sender script conditions (#2162)
maximopalopoli Oct 30, 2025
11d1801
feat: mina verifiers (#2163)
MarcosNicolau Nov 5, 2025
28c5660
feat: change notifications to be a daily summary (#2164)
maximopalopoli Nov 6, 2025
47aaa56
feat(task sender): send proofs if there are enqueued proofs in the ba…
JuArce Nov 7, 2025
5844e61
chore(batcher): add disabled verifiers to the batcher config (#2169)
maximopalopoli Nov 20, 2025
e8afc68
Merge branch 'testnet' into staging
MauroToscano Dec 3, 2025
492ed20
feat(aggregation-mode): turn program IDs into a mapping (#2175)
maximopalopoli Dec 4, 2025
9392503
feat(aggregation-mode): batcher component skeleton (#2178)
MarcosNicolau Dec 4, 2025
606dd80
Fix CI job running out of memory (#2185)
MauroToscano Dec 4, 2025
2aa541a
Cache ffi (#2187)
MauroToscano Dec 4, 2025
75a88de
Config verifier mina (#2184)
MauroToscano Dec 4, 2025
daf0344
feat(aggregation): have constant costs proof sending (#2179)
maximopalopoli Dec 10, 2025
8019324
feat(agg-mode): receive proofs via multipart form data instead of jso…
MarcosNicolau Dec 10, 2025
c80a869
Use docker compose instead of docker-compose (#2197)
MauroToscano Dec 10, 2025
8fe93b9
feat(aggregation-mode): receipt endpoint in agg mode batcher (#2188)
maximopalopoli Dec 10, 2025
761f761
fix(aggregation-mode): send sp1 proofs to the aggregation batcher (#2…
maximopalopoli Dec 10, 2025
d7830a2
feat(task sender): send a batch every 24hs (#2195)
JuArce Dec 10, 2025
f4a4d26
feat(aggregation-mode): daily proofs limit (#2198)
maximopalopoli Dec 12, 2025
b6e50e4
feat(aggregation-mode): integrate proof aggregator with db (#2186)
MarcosNicolau Dec 15, 2025
585fad0
feat(agg-mode): validate signature and recover address (#2199)
MarcosNicolau Dec 15, 2025
584a098
feat(aggregation-mode): add setters and subscriptions to agg mode Pay…
maximopalopoli Dec 16, 2025
d623ed0
feat(agg-mode): separate payment poller from the HTTP server (#2193)
maximopalopoli Dec 16, 2025
9a529b0
feat(aggregation-mode): store last fetched block in payments poller (…
maximopalopoli Dec 17, 2025
ee64e29
feat(aggregation-mode): add subscription limit and arbitrary expirati…
maximopalopoli Dec 18, 2025
844f778
fix(Makefile): set correct paths for proof aggregator make target (#2…
JuArce Dec 18, 2025
cef571e
feat(aggregation-mode): add endpoint for submitted proofs count and t…
maximopalopoli Dec 18, 2025
ed0e22c
feat(aggregation mode): hoodi deployment (#2219)
JuArce Dec 22, 2025
c536467
fix(explorer): update aggregation mode functions signatures (#2222)
JuArce Dec 22, 2025
35d2e2c
feat(aggregation-mode): deploy script for agg mode payment contract (…
MarcosNicolau Dec 22, 2025
864d2ef
feat(aggregation-mode): task sender + hoodi support in sdk/cli (#2215)
MarcosNicolau Dec 22, 2025
2ef46d0
feat(gateway): add / endpoint (#2224)
maximopalopoli Jan 5, 2026
51c0b7d
fix(aggregation-mode): restore the send sp1 proof Makefile target (#2…
maximopalopoli Jan 6, 2026
6f2be89
feat(aggregation-mode): handle processing that have failed in the agg…
MarcosNicolau Jan 6, 2026
dcfb204
feat(aggregation-mode): retry bump and sending proofs on-chain after …
maximopalopoli Jan 6, 2026
218c172
feat(aggregation-mode): support multiple dbs (#2214)
MarcosNicolau Jan 6, 2026
fa3cbe9
feat(aggregation-mode): scrap metrics with prometheus and visualize v…
maximopalopoli Jan 7, 2026
168d391
feat(aggregation mode): move sdk from crates dir to aggregation mode …
MarcosNicolau Jan 7, 2026
deab06b
fix(ci): run build and test in the same step to avoid recompilation (…
JuArce Jan 8, 2026
ba483d3
refactor(aggregation-mode): update l2 example (#2226)
MarcosNicolau Jan 8, 2026
58b5eff
feat(aggregation mode) update Gateway URL in SDK (#2235)
JuArce Jan 9, 2026
b4a368e
feat(aggregation mode): add TLS support to Gateway (#2236)
JuArce Jan 9, 2026
3bb9c48
feat(aggregation mode): bind gateway server to Non-TLS port when usin…
JuArce Jan 9, 2026
498f243
feat(aggregation-mode): add datasources and improve grafana dashboard…
maximopalopoli Jan 9, 2026
db385ed
infra(aggregation mode): add terraform setup (#2191)
JuArce Jan 12, 2026
51bd816
fix(contracts): active subscriptions counter in aggregation-mode paym…
MarcosNicolau Jan 12, 2026
ed9667c
fix(contracts): subscriptions count in payment service addSubscriptio…
maximopalopoli Jan 13, 2026
3170684
feat(aggregation-mode): support keystores in cli (#2243)
MarcosNicolau Jan 13, 2026
b9f62a5
feat(contracts): add upgrade scripts for Aggregation Mode Payments (#…
JuArce Jan 13, 2026
89c2499
feat(contracts): make aggregation mode payment service an enumerable …
maximopalopoli Jan 13, 2026
db64524
feat(aggregation mode): update hoodi deployment (#2254)
JuArce Jan 13, 2026
f1410c8
infra(aggregation mode): create Terraform Mainnet environment (#2248)
JuArce Jan 13, 2026
be0ea26
fix(terraform): ignore ami changes in EC2 lifecycle (#2249)
JuArce Jan 13, 2026
9495131
chore(aggregation mode): set contract deployment config for Mainnet (…
JuArce Jan 13, 2026
36ff1da
fix(terraform): change servers to available ones (#2256)
JuArce Jan 14, 2026
96d2e14
feat(aggregation mode): mainnet contracts deployment (#2259)
JuArce Jan 14, 2026
54ca247
feat(aggregation mode): add support for Mainnet network (#2261)
JuArce Jan 14, 2026
f21b9ea
feat(aggregation-mode): show database status in grafana dashboard (#2…
maximopalopoli Jan 15, 2026
c532036
feat(aggregation-mode): Bump fee when proof verification times out (#…
maximopalopoli Jan 16, 2026
7559f9b
feat(explorer): enable aggregation for Mainnet (#2266)
JuArce Jan 19, 2026
3bac894
Revert "feat(aggregation-mode): Bump fee when proof verification time…
JuArce Jan 20, 2026
341efd7
infra(aggregation mode): deploy services with ansible (#2262)
JuArce Jan 22, 2026
4fbe071
Merge branch 'testnet' into staging
JuArce Jan 23, 2026
cf7cd54
Merge branch 'testnet' into staging
JuArce Jan 23, 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
70 changes: 69 additions & 1 deletion .github/workflows/build-and-test-go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
- "common/**"
- "core/**"
- "metrics/**"
- ".github/workflows/build-go.yml"
- ".github/workflows/build-and-test-go.yml"
env:
FFI_FOR_RELEASE: false
jobs:
Expand All @@ -31,15 +31,83 @@ jobs:
- name: foundry-toolchain
uses: foundry-rs/foundry-toolchain@v1.2.0

- name: Cache SP1 bindings
id: cache-sp1
uses: actions/cache@v4
with:
path: operator/sp1/lib/libsp1_verifier_ffi.so
key: sp1-bindings-${{ runner.os }}-${{ hashFiles('operator/sp1/lib/**/*.rs', 'operator/sp1/lib/Cargo.*') }}

- name: Build SP1 bindings
if: steps.cache-sp1.outputs.cache-hit != 'true'
run: make build_sp1_linux

- name: Clean SP1 build artifacts
if: steps.cache-sp1.outputs.cache-hit != 'true'
run: rm -rf operator/sp1/lib/target

- name: Cache Risc Zero bindings
id: cache-risc-zero
uses: actions/cache@v4
with:
path: operator/risc_zero/lib/librisc_zero_verifier_ffi.so
key: risc-zero-bindings-${{ runner.os }}-${{ hashFiles('operator/risc_zero/lib/**/*.rs', 'operator/risc_zero/lib/Cargo.*') }}

- name: Build Risc Zero go bindings
if: steps.cache-risc-zero.outputs.cache-hit != 'true'
run: make build_risc_zero_linux

- name: Clean Risc Zero build artifacts
if: steps.cache-risc-zero.outputs.cache-hit != 'true'
run: rm -rf operator/risc_zero/lib/target

- name: Cache Merkle Tree bindings
id: cache-merkle-tree
uses: actions/cache@v4
with:
path: |
operator/merkle_tree/lib/libmerkle_tree.so
operator/merkle_tree/lib/libmerkle_tree.a
key: merkle-tree-bindings-${{ runner.os }}-${{ hashFiles('operator/merkle_tree/lib/**/*.rs', 'operator/merkle_tree/lib/Cargo.*') }}

- name: Build Merkle Tree bindings
if: steps.cache-merkle-tree.outputs.cache-hit != 'true'
run: make build_merkle_tree_linux

- name: Clean Merkle Tree build artifacts
if: steps.cache-merkle-tree.outputs.cache-hit != 'true'
run: rm -rf operator/merkle_tree/lib/target

- name: Cache Mina bindings
id: cache-mina
uses: actions/cache@v4
with:
path: operator/mina/lib/libmina_state_verifier_ffi.so
key: mina-bindings-${{ runner.os }}-${{ hashFiles('operator/mina/lib/**/*.rs', 'operator/mina/lib/Cargo.*') }}

- name: Build Mina bindings
if: steps.cache-mina.outputs.cache-hit != 'true'
run: make build_mina_linux

- name: Clean Mina build artifacts
if: steps.cache-mina.outputs.cache-hit != 'true'
run: rm -rf operator/mina/lib/target

- name: Cache Mina Account bindings
id: cache-mina-account
uses: actions/cache@v4
with:
path: operator/mina_account/lib/libmina_account_verifier_ffi.so
key: mina-account-bindings-${{ runner.os }}-${{ hashFiles('operator/mina_account/lib/**/*.rs', 'operator/mina_account/lib/Cargo.*') }}

- name: Build Mina Account bindings
if: steps.cache-mina-account.outputs.cache-hit != 'true'
run: make build_mina_account_linux

- name: Clean Mina Account build artifacts
if: steps.cache-mina-account.outputs.cache-hit != 'true'
run: rm -rf operator/mina_account/lib/target

- name: Build operator
run: go build operator/cmd/main.go

Expand Down
44 changes: 7 additions & 37 deletions .github/workflows/build-and-test-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
- ".github/workflows/build-and-test-rust.yml"

jobs:
build:
build-and-test:
runs-on: aligned-runner

steps:
Expand All @@ -26,6 +26,9 @@ jobs:
components: rustfmt, clippy
override: true

- name: foundry-toolchain
uses: foundry-rs/foundry-toolchain@v1.2.0

# Reference: https://github.com/succinctlabs/sp1/actions/runs/8886659400/workflow#L61-L65
- name: Install sp1 toolchain
run: |
Expand Down Expand Up @@ -82,46 +85,13 @@ jobs:
# We need to skip the build as clippy does not support the riscv32im-risc0-zkvm-elf target
RISC0_SKIP_BUILD=1 cargo clippy --all -- -D warnings

test:
runs-on: aligned-runner
needs: build
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: foundry-toolchain
uses: foundry-rs/foundry-toolchain@v1.2.0

# Reference: https://github.com/succinctlabs/sp1/actions/runs/8886659400/workflow#L61-L65
- name: Install sp1 toolchain
run: |
curl -L https://sp1.succinct.xyz | bash
source /home/runner/.bashrc
~/.sp1/bin/sp1up

- name: Install risc0 toolchain
run: |
curl -L https://risczero.com/install | bash
source ~/.bashrc
~/.risc0/bin/rzup install

- name: Cache Rust dependencies
uses: actions/cache@v3
with:
path: |
~/.cargo/registry
~/.cargo/git
crates/target
key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-rust-

- name: Run Batcher tests
run: |
cd crates
cargo test --all

- name: Run AggregationMode tests
run: |
cd aggregation_mode
cargo test --all
cd aggregation_mode/proof_aggregator && SKIP_AGG_PROGRAMS_BUILD=1 cargo test
cd ../gateway && cargo test
cd ../payments_poller && cargo test
33 changes: 33 additions & 0 deletions .github/workflows/test-mina.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: test-mina

on:
merge_group:
push:
branches: [main]
pull_request:
branches: ["*"]
paths:
- 'operator/mina/**'
- 'operator/mina_account/**'
- '.github/workflows/test-mina.yml'

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.22'
cache: false
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Test Mina Rust
run: make test_mina_rust_ffi
- name: Test Mina go bindings
run: make test_mina_go_bindings_linux
- name: Test Mina Account Rust
run: make test_mina_account_rust_ffi
- name: Test Mina Account go bindings
run: make test_mina_account_go_bindings_linux
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,12 @@ circuit_js

# Reports
docs/dead_links_report.txt

**/.terraform
terraform.tfstate
terraform.tfstate.backup


# Aggregation Mode Ansible INI files (track config-*.ini templates, ignore others)
infra/aggregation_mode/ansible/playbooks/ini/*.ini
!infra/aggregation_mode/ansible/playbooks/ini/config-*.ini
Loading
Loading