pub struct FnScan {
pub fn_name: String,
pub require_auth: usize,
pub invoke_contract: usize,
pub bound: HashSet<String>,
pub usage: HashMap<String, usize>,
pub division_before_multiplication: bool,
pub external_call_before_state_write: bool,
}Expand description
Per-function scan result.
Fields§
§fn_name: String§require_auth: usize§invoke_contract: usize§bound: HashSet<String>Local bindings (let-bindings + parameters) eligible for move tracking.
usage: HashMap<String, usize>Argument-usage count per bound local (move heuristic signal).
division_before_multiplication: boolTrue when a division result is subsequently multiplied in this function.
external_call_before_state_write: boolTrue when a recognized external call precedes a recognized state write in source order within this function (CEI-001 heuristic hazard).
This is a static-analysis signal only; it does not prove reentrancy or
exploitability. See crate::rules::Cei001 for heuristic scope and limitations.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for FnScan
impl<'de> Deserialize<'de> for FnScan
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for FnScan
impl RefUnwindSafe for FnScan
impl Send for FnScan
impl Sync for FnScan
impl Unpin for FnScan
impl UnsafeUnpin for FnScan
impl UnwindSafe for FnScan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more