Append a leaf proof to the on-disk store: `proofs/ .proof` holds the blob, ` .cover` the packed certified target addresses, ` .asm` the packed assumption addresses. The proofs directory is the store's single source of truth — the covered set is derived from the `.cover` files.
( dir: &std::path::Path, proof: &[u8], covered: &[ix_common::address::Address], assumptions: &[ix_common::address::Address], )
| 424 | } |
| 425 | } |
| 426 | Ok(InputPlan { label, env_bytes, shards, total, target_count }) |
| 427 | } |
| 428 | |
| 429 | /// One stored leaf proof: the blob plus the claim preimages behind its |
| 430 | /// committed roots — the certified target set (subject) and the assumption |
| 431 | /// set, both sorted + deduped. The preimages are exactly what mode-1 |
| 432 | /// aggregation needs as discharge witness, so a stored proof folds like any |
| 433 | /// other child: verified in-circuit, never trusted. |
| 434 | struct StoredProof { |
| 435 | blob: Vec<u8>, |
| 436 | subjects: Vec<ix_common::address::Address>, |
| 437 | assumptions: Vec<ix_common::address::Address>, |
| 438 | } |
| 439 | |
| 440 | /// Append a leaf proof to the on-disk store: `proofs/<n>.proof` holds the |
| 441 | /// blob, `<n>.cover` the packed certified target addresses, `<n>.asm` the |
| 442 | /// packed assumption addresses. The proofs directory is the store's single |
| 443 | /// source of truth — the covered set is derived from the `.cover` files. |
| 444 | fn append_proof( |
| 445 | dir: &std::path::Path, |
no test coverage detected