You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fetch_positions(&self, borrowers: &[Address]) has no block number / block tag parameter. Method contract is silent on whether reads are at latest, pending, or a pinned block. Consequences:
Scanner cannot reconcile positions with a specific chainhead. Two borrowers read at different blocks = inconsistent health factor view.
PR: #28 (feat/03-lending-protocol-trait)
File: crates/charon-core/src/traits.rs, lines 26-31
fetch_positions(&self, borrowers: &[Address])has no block number / block tag parameter. Method contract is silent on whether reads are atlatest,pending, or a pinned block. Consequences:pending; this trait cannot express that.Impact: Race between oracle price update and position read leads to stale health factor, wrong liquidation decision, wasted gas.
Fix: Add block tag parameter:
Callers pass
BlockNumberOrTag::Latestby default; scanner pins to received-block-number for consistent snapshots.