pub fn salvage_elements<T: DeserializeOwned>(values: Vec<Value>) -> Vec<T>Expand description
Decodes each element of a JSON array into T, logging and skipping
elements that fail to decode instead of failing the whole collection.
Venue enum sets drift over time, so one unmodeled trade or account row must degrade to a logged skip rather than discard its siblings (the Hyperliquid dust-conversion incident shape). Reserved for rows where a missed element is recoverable (fills backfill via reconciliation); order and position arrays feeding mass status stay strict because absence there is read as state. The log carries only the decode error (which names the failing field and value); private rows hold signatures and wallet addresses, so the raw payload stays out of the logs.