pub fn build_requires(
records: &[ConsumptionRecord],
lifts: &LiftsBySource,
) -> Result<Option<RequiresSet>, LiftError>Expand description
Synthesize the candidate’s [RequiresSet] from the per-block records, in bundle order, and the
PoV lifts. Sources must match exactly; a recorded source without lifts, or lifts for an
unrecorded source, invalidates the candidate.
None when the candidate consumed nothing: there is no entry the relay could match, and the
candidate emits no Requires signal. RequiresSet cannot be empty.