pub struct CircularFlowRatio { /* private fields */ }Expand description
Circular flow detection kernel.
Detects circular transactions using Strongly Connected Components (SCC). High circular flow ratio indicates potential money laundering.
Implementations§
Source§impl CircularFlowRatio
impl CircularFlowRatio
Sourcepub fn add_edge(
&self,
source_id: u64,
dest_id: u64,
amount: f64,
) -> (bool, u32, f64)
pub fn add_edge( &self, source_id: u64, dest_id: u64, amount: f64, ) -> (bool, u32, f64)
Add an edge to the transaction graph. Returns (cycle_detected, cycle_size, source_ratio).
Sourcepub fn query_entity(&self, entity_id: u64) -> (f64, u32, u64)
pub fn query_entity(&self, entity_id: u64) -> (f64, u32, u64)
Query circular flow ratio for an entity.
Sourcepub fn compute(
transactions: &[Transaction],
min_amount: f64,
) -> CircularFlowResult
pub fn compute( transactions: &[Transaction], min_amount: f64, ) -> CircularFlowResult
Detect circular flows in transactions.
§Arguments
transactions- List of transactions to analyzemin_amount- Minimum total amount for a cycle to be flagged
Trait Implementations§
Source§impl BatchKernel<CircularFlowInput, CircularFlowOutput> for CircularFlowRatio
impl BatchKernel<CircularFlowInput, CircularFlowOutput> for CircularFlowRatio
Source§fn execute<'life0, 'async_trait>(
&'life0 self,
input: CircularFlowInput,
) -> Pin<Box<dyn Future<Output = Result<CircularFlowOutput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
input: CircularFlowInput,
) -> Pin<Box<dyn Future<Output = Result<CircularFlowOutput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute the kernel with the given input. Read more
Source§fn validate_input(&self, _input: &I) -> Result<(), KernelError>
fn validate_input(&self, _input: &I) -> Result<(), KernelError>
Validate the input before execution. Read more
Source§impl Clone for CircularFlowRatio
impl Clone for CircularFlowRatio
Source§impl Debug for CircularFlowRatio
impl Debug for CircularFlowRatio
Source§impl Default for CircularFlowRatio
impl Default for CircularFlowRatio
Source§impl GpuKernel for CircularFlowRatio
impl GpuKernel for CircularFlowRatio
Source§fn metadata(&self) -> &KernelMetadata
fn metadata(&self) -> &KernelMetadata
Returns the kernel metadata.
Source§fn requires_gpu_native(&self) -> bool
fn requires_gpu_native(&self) -> bool
Returns true if this kernel requires GPU-native execution.
Source§impl RingKernelHandler<AddGraphEdgeRing, AddGraphEdgeResponse> for CircularFlowRatio
Ring handler for adding edges to the transaction graph.
impl RingKernelHandler<AddGraphEdgeRing, AddGraphEdgeResponse> for CircularFlowRatio
Ring handler for adding edges to the transaction graph.
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
msg: AddGraphEdgeRing,
) -> Pin<Box<dyn Future<Output = Result<AddGraphEdgeResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
msg: AddGraphEdgeRing,
) -> Pin<Box<dyn Future<Output = Result<AddGraphEdgeResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle an incoming message. Read more
Source§fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Initialize the kernel state. Read more
Source§fn shutdown<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn shutdown<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Called when the kernel is being shut down. Read more
Source§impl RingKernelHandler<QueryCircularRatioRing, QueryCircularRatioResponse> for CircularFlowRatio
Ring handler for querying circular flow ratio.
impl RingKernelHandler<QueryCircularRatioRing, QueryCircularRatioResponse> for CircularFlowRatio
Ring handler for querying circular flow ratio.
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
msg: QueryCircularRatioRing,
) -> Pin<Box<dyn Future<Output = Result<QueryCircularRatioResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
msg: QueryCircularRatioRing,
) -> Pin<Box<dyn Future<Output = Result<QueryCircularRatioResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle an incoming message. Read more
Source§fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Initialize the kernel state. Read more
Source§fn shutdown<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn shutdown<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Called when the kernel is being shut down. Read more
Auto Trait Implementations§
impl !Freeze for CircularFlowRatio
impl RefUnwindSafe for CircularFlowRatio
impl Send for CircularFlowRatio
impl Sync for CircularFlowRatio
impl Unpin for CircularFlowRatio
impl UnwindSafe for CircularFlowRatio
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.