build_vault_scan_manifest

Documentation for eth_defi.vault.scan_manifest.build_vault_scan_manifest function.

build_vault_scan_manifest(cleaned_price_path, price_scan_state_path, price_object_key, price_etag, published_at)

Build a v1 manifest from the exact cleaned parquet being published.

Called by publish_vault_scan_manifest() after private price export. Only chain (numeric chain ID) and timestamp (Arrow timestamp) are loaded; aggregation stays in Arrow to avoid materialising millions of historical rows as Python objects. Sparse four-hour observations remain valid inputs: no artificial hourly completeness requirement is applied.

Parameters
  • cleaned_price_path (pathlib.Path) – Cleaned parquet snapshot that was uploaded before this call.

  • price_scan_state_path (pathlib.Path) – Local price-only provenance state written after successful scans.

  • price_object_key (str) – R2 key of the uploaded parquet.

  • price_etag (str) – Strong ETag read from the uploaded object.

  • published_at (datetime.datetime) – UTC time immediately before manifest publication.

Returns

JSON-serialisable manifest mapping.

Return type

eth_defi.vault.scan_manifest.VaultScanManifest