pub struct SecurityValidator { /* private fields */ }Expand description
Security validator for runtime operations
Implementations§
Source§impl SecurityValidator
impl SecurityValidator
Sourcepub fn new(config: SecurityConfig) -> Self
pub fn new(config: SecurityConfig) -> Self
Create a new security validator
Sourcepub fn validate_call_depth(
&self,
call_depth: u32,
) -> Result<(), SecurityViolation>
pub fn validate_call_depth( &self, call_depth: u32, ) -> Result<(), SecurityViolation>
Validate call depth against security limits
Sourcepub fn validate_external_calls(
&self,
call_count: u32,
) -> Result<(), SecurityViolation>
pub fn validate_external_calls( &self, call_count: u32, ) -> Result<(), SecurityViolation>
Validate external call count against security limits
Sourcepub fn validate_gas_usage(&self, gas_used: u64) -> Result<(), SecurityViolation>
pub fn validate_gas_usage(&self, gas_used: u64) -> Result<(), SecurityViolation>
Validate gas usage against security limits
Sourcepub fn validate_memory_usage(
&self,
memory_used: u64,
) -> Result<(), SecurityViolation>
pub fn validate_memory_usage( &self, memory_used: u64, ) -> Result<(), SecurityViolation>
Validate memory usage against security limits
Sourcepub fn check_reentrancy(
&self,
function_name: &str,
caller: &str,
call_stack: &[String],
) -> Result<bool, SecurityViolation>
pub fn check_reentrancy( &self, function_name: &str, caller: &str, call_stack: &[String], ) -> Result<bool, SecurityViolation>
Check for reentrancy attacks
Sourcepub fn detect_overflow(
&self,
operation: &str,
operands: &[i64],
) -> Result<bool, SecurityViolation>
pub fn detect_overflow( &self, operation: &str, operands: &[i64], ) -> Result<bool, SecurityViolation>
Detect integer overflow
Sourcepub fn verify_access_control(
&self,
function_name: &str,
caller: &str,
required_role: Option<&str>,
) -> Result<bool, SecurityViolation>
pub fn verify_access_control( &self, function_name: &str, caller: &str, required_role: Option<&str>, ) -> Result<bool, SecurityViolation>
Verify access control
Auto Trait Implementations§
impl Freeze for SecurityValidator
impl RefUnwindSafe for SecurityValidator
impl Send for SecurityValidator
impl Sync for SecurityValidator
impl Unpin for SecurityValidator
impl UnwindSafe for SecurityValidator
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