pub fn verify_data_update(
payload: &DataUpdate,
raw_value: &[u8],
node_count: u32,
redundancy_buffer: u8,
ordered_signers: &[SignerXy],
) -> Result<(), DataUpdateError>Expand description
Verify a full DataUpdate payload against caller-supplied signer pubkeys.
§Caller contract
raw_valueis the raw feed value carried alongside the payload; it is hashed into the EVM-compatible message (keccak256(raw_value)+ length). A wrong raw value fails signature verification.node_countis the registry node count forpayload.registry_version.ordered_signersholds one(x, y)per set bit ofpayload.signers_bitmap, in ascending bit-index order — the same order EVMValidator.verifycombines pubkeys. The caller is responsible for resolving the authentic pubkeys; this function trusts the supplied set.
Re-derives the selection bitmap internally and enforces signers ⊆ selection. Checks run in the
same order as the on-chain monolith: scalar validity → signer threshold → selection subset →
signer-count match → coalition reconstruction → message hash → Schnorr recovery.