Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
79ba4e8
fix(contracts): release drained exit queue capacity [M-01]
hmzakhalid Jul 15, 2026
593fcfb
fix(contracts): separate refund claim roles [M-02]
hmzakhalid Jul 15, 2026
cf7e9d0
fix(contracts): authorize sale deployment operator [L-01]
hmzakhalid Jul 15, 2026
a9a337e
fix(contracts): validate BFV verifier trust anchors [L-02]
hmzakhalid Jul 15, 2026
6983f8f
fix(ci): enforce core contract size budget [L-03]
hmzakhalid Jul 15, 2026
df5c580
fix(contracts): gate bonding asset rotation [M-08]
hmzakhalid Jul 15, 2026
5a87e9d
fix(contracts): lock operator eligibility policy [M-03]
hmzakhalid Jul 15, 2026
e36ad80
fix(contracts): bind requests to fee consent [H-02]
hmzakhalid Jul 15, 2026
73826ad
fix(contracts): freeze collateral for pending slashes [H-03]
hmzakhalid Jul 15, 2026
1f5f57a
fix(contracts): snapshot settlement policy per E3 [M-07]
hmzakhalid Jul 15, 2026
19fd9e7
fix(contracts): snapshot lifecycle dependencies per E3 [M-04]
hmzakhalid Jul 15, 2026
e1c6d3d
fix(contracts): make slash routing retryable [M-05]
hmzakhalid Jul 15, 2026
d858ae3
fix(contracts): preserve slash token denomination [H-01]
hmzakhalid Jul 15, 2026
05c33fb
chore(contracts): preserve proof-disabled development mode [C-02]
hmzakhalid Jul 15, 2026
590c425
fix(indexer): bind published BFV keys to C5 [C-01]
hmzakhalid Jul 15, 2026
f1d46f8
fix(contracts): prevent decryption proof replay [C-03]
hmzakhalid Jul 15, 2026
b124f06
fix(ci): enforce reviewed storage baselines [H-04]
hmzakhalid Jul 15, 2026
d724131
fix(protocol): move proof aggregation skip to ciphernode [C-02]
hmzakhalid Jul 16, 2026
52eeddf
chore(contracts): refresh predeployment storage baselines
hmzakhalid Jul 16, 2026
112eb75
fix(protocol): bind decryption proofs to E3 domains [C-03]
hmzakhalid Jul 16, 2026
244a455
chore(contracts): refresh C-03 predeployment storage baseline
hmzakhalid Jul 16, 2026
8ca2d92
refactor(protocol): remove request fee consent fields [H-02]
hmzakhalid Jul 17, 2026
66735a2
fix(protocol): govern eligibility policy by version [M-03]
hmzakhalid Jul 17, 2026
90345cd
chore(contracts): refresh M-03 storage baselines
hmzakhalid Jul 17, 2026
db32219
fix(contracts): prioritize failed-E3 requesters [H-01]
hmzakhalid Jul 17, 2026
e800079
fix(contracts): retain slashing authority across rotation [M-04]
hmzakhalid Jul 17, 2026
9954584
fix(contracts): count revived exit queue tails [M-01]
hmzakhalid Jul 17, 2026
a72a5be
refactor(contracts): remove legacy slash routes [M-05]
hmzakhalid Jul 17, 2026
ecb4acb
refactor(contracts): initialize pricing without storage slots [H-04]
hmzakhalid Jul 17, 2026
54a6465
fix(ci): use source-aligned proof fixtures
hmzakhalid Jul 17, 2026
9dbfa50
docs(protocol): align lifecycle traces with audit fixes
hmzakhalid Jul 17, 2026
191ff1f
chore(contracts): refresh registry interface artifacts
hmzakhalid Jul 17, 2026
3434bd3
chore(contracts): refresh reviewed storage baselines
hmzakhalid Jul 17, 2026
bd2d562
chore(contracts): align artifacts with reviewed build
hmzakhalid Jul 17, 2026
cab0677
test(contracts): stabilize ticket snapshot fixtures
hmzakhalid Jul 17, 2026
1f3b287
fix(ci): skip proof aggregation in template integration [C-02]
hmzakhalid Jul 17, 2026
f4c9ba9
fix(contracts): sweep licence-token surplus safely [M-08]
hmzakhalid Jul 17, 2026
7dbe2c8
chore(contracts): refresh M-08 reviewed artifacts
hmzakhalid Jul 17, 2026
9b34462
fix(tooling): require final committee proof payloads [C-02]
hmzakhalid Jul 17, 2026
511602f
fix(sdk): reject unbound committee public keys [C-01]
hmzakhalid Jul 17, 2026
065ebf5
fix(contracts): fail closed across dependency rotations [M-04]
hmzakhalid Jul 17, 2026
6cf16d0
fix(protocol): keep audit event catalogs ABI-aligned
hmzakhalid Jul 17, 2026
a550e46
fix(protocol): name canonical committee ordering precisely [C-03]
hmzakhalid Jul 17, 2026
9021c9f
fix(contracts): bound physical exit queue scans [M-01]
hmzakhalid Jul 17, 2026
8243e93
docs(protocol): align proof and sortition guarantees
hmzakhalid Jul 17, 2026
66e3f49
refactor(contracts): keep exit queue checks lint-clean [M-01]
hmzakhalid Jul 17, 2026
50d5916
fix(ci): compile ABI artifacts before catalog tests
hmzakhalid Jul 17, 2026
3d66205
Merge branch 'main' into fix/contracts-security-audit-20260715
hmzakhalid Jul 17, 2026
4157b80
fix(ci): preserve source-aligned Noir fixtures
hmzakhalid Jul 17, 2026
e8a2f7e
fix(ci): restore proof runner executable bit
hmzakhalid Jul 17, 2026
461a347
refactor(contracts): remove request graph validation [M-04]
hmzakhalid Jul 17, 2026
0459b0e
fix: gate proof aggregation skip behind test feature
hmzakhalid Jul 18, 2026
247da43
fix: attribute failed E3 settlement by fault
hmzakhalid Jul 18, 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
66 changes: 59 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,9 @@ jobs:
- name: Checking code format rust
run: pnpm rust:lint

- name: Compile contracts for ABI catalog tests
run: pnpm evm:build

- name: Run Unit Tests
run: 'cargo test --lib && cargo test --doc'

Expand All @@ -172,7 +175,7 @@ jobs:
GH_TOKEN: ${{ github.token }}

rust_integration_tests:
needs: [detect_changes]
needs: [detect_changes, integration_prebuild]
if: needs.detect_changes.outputs.rust_integration_tests == 'true'
timeout-minutes: 45
runs-on:
Expand Down Expand Up @@ -211,9 +214,22 @@ jobs:
- name: 'Install the dependencies'
run: 'pnpm install --frozen-lockfile'

- name: Download source-aligned ZK fixtures
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: integration-noir-artifacts
path: .ci-noir/

- name: Stage source-aligned circuit fixtures
run: |
chmod +x .ci-noir/bin/bb
mkdir -p dist/circuits/insecure-512
cp -R .ci-noir/circuits/insecure-512/minimum dist/circuits/insecure-512/

- name: Run Integration Tests
env:
BENCHMARK_PROOF_AGGREGATION: 'false'
CIPHERNODE_SKIP_PROOF_AGGREGATION: 'true'
E3_CUSTOM_BB: ${{ github.workspace }}/.ci-noir/bin/bb
run: 'cargo test --test integration -- --nocapture'

zk_prover_integration:
Expand Down Expand Up @@ -376,6 +392,12 @@ jobs:
echo "## Lint results" >> $GITHUB_STEP_SUMMARY
echo "✅ Passed" >> $GITHUB_STEP_SUMMARY

- name: 'Enforce production contract size budget'
run: 'pnpm --filter @interfold/contracts size:check'

- name: 'Validate upgrade storage layouts'
run: 'pnpm --filter @interfold/contracts validate:upgrade'

- name: 'Test the contracts and generate the coverage report'
run: 'pnpm coverage'

Expand Down Expand Up @@ -438,6 +460,22 @@ jobs:
with:
toolchain: ${{ env.NOIR_TOOLCHAIN }}

- name: Cache Barretenberg binary
id: cache-integration-bb
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
path: /usr/local/bin/bb
key: bb-bin-${{ env.BB_VERSION }}-amd64-linux

- name: Install Barretenberg (bb)
if: steps.cache-integration-bb.outputs.cache-hit != 'true'
run: |
curl -fsSL "https://github.com/gnosisguild/aztec-packages/releases/download/v${{ env.BB_VERSION }}/barretenberg-amd64-linux.tar.gz" -o bb.tar.gz
mkdir -p bb_extract && tar -xzf bb.tar.gz -C bb_extract
BB_BIN=$(find bb_extract -name bb -type f | head -n 1)
sudo mv "$BB_BIN" /usr/local/bin/bb
chmod +x /usr/local/bin/bb

- name: Install solc
run: |
sudo add-apt-repository ppa:ethereum/ethereum \
Expand Down Expand Up @@ -465,6 +503,15 @@ jobs:
target/debug/pack_e3_params
if-no-files-found: error

- name: Upload source-aligned ZK fixtures
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: integration-noir-artifacts
include-hidden-files: true
path: tests/integration/.interfold/noir/
retention-days: 1
if-no-files-found: error

check-nix-flake:
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -515,6 +562,11 @@ jobs:
with:
name: build-artifacts
path: target/debug/
- name: 'Download source-aligned ZK fixtures'
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: integration-noir-artifacts
path: tests/integration/.interfold/noir/
- name: 'Download interfold binary'
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
Expand All @@ -538,11 +590,11 @@ jobs:
chmod +x target/debug/fake_encrypt
chmod +x target/debug/pack_e3_params
chmod +x ~/.cargo/bin/interfold
- name: 'Setup ZK prover'
run: |
interfold noir setup
chmod +x tests/integration/.interfold/noir/bin/bb
- name: 'Run ${{ matrix.test-suite }} tests'
run: 'pnpm test:integration ${{ matrix.test-suite }} --no-prebuild'
run: |
INTERFOLD_BIN="$HOME/.cargo/bin/interfold" \
pnpm test:integration ${{ matrix.test-suite }} --no-prebuild
- name: 'Add test summary'
run: |
echo "## Test results for ${{ matrix.test-suite }}" >> $GITHUB_STEP_SUMMARY
Expand Down Expand Up @@ -578,7 +630,7 @@ jobs:
&& sudo apt-get install -y solc protobuf-compiler

- name: Build interfold CLI
run: cargo install --locked --path crates/cli --bin interfold
run: cargo install --locked --path crates/cli --bin interfold --features test-only-skip-proof-aggregation

- name: Upload interfold binary
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
Expand Down
7 changes: 7 additions & 0 deletions Cargo.lock

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

2 changes: 1 addition & 1 deletion agent/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ error handling, read the clock, or mutate actor state.

Protocol-specific invariants must be named and tested. Important examples include:

- runtime `party_id` is derived from the finalized committee normalized by ascending ticket score;
- runtime `party_id` is derived from the finalized committee normalized by ascending address;
- the active aggregator is the lowest non-expelled `party_id`;
- the DKG aggregation circuit receives exactly `H` canonical honest NodeFold proofs and exactly `N`
ordered committee addresses;
Expand Down
2 changes: 2 additions & 0 deletions agent/CRATES_ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,9 @@ flowchart TD
SDK --> Indexer
SDK --> EvmHelpers
SDK --> FheParams
Indexer --> BfvClient
Indexer --> EvmHelpers
Indexer --> FheParams
EvmHelpers --> Utils
Wasm --> BfvClient
Wasm --> FheParams
Expand Down
Loading
Loading