How samirthakre28/hydrotrace works
HydroTrace is an investigative decision-support application for tracing suspicious TRON transfers and presenting evidence-based VASP candidates, conflicts, and exportable reports. Investigators submit bounded trace parameters, inspect transaction paths, evaluate attribution evidence, and generate case documentation. The graph preserves the major UI, tracing, attribution, and reporting stages. Source excerpts confirm the central engine calls; some client-to-server and unsampled UI details are shown only where the index or README supports them.
Main entry points: App.tsx App Router · InvestigationDetailsPage.tsx Investigation Details · investigation.controller.ts Investigation Controller · GraphEngine.ts Graph Engine
Components 22
Investigator UI
- App Router
client/src/App.tsx - Dashboard
client/src/pages/DashboardPage.tsx - New Investigation
client/src/pages/NewInvestigationPage.tsx - Investigation Details
client/src/pages/InvestigationDetailsPage.tsx - Evidence View
client/src/pages/EvidenceAttributionPage.tsx - Forensic Graph
client/src/components/ForensicGraphView.tsx - Path Inspector
client/src/components/PathInspector.tsx - VASP Scorecard
client/src/components/VaspCandidateScorecard.tsx - Transfer Table
client/src/components/TransactionTable.tsx
API Layer
- Client API
client/src/services/api.ts - API Routes
server/src/routes/index.ts - Investigation Routes
server/src/routes/investigation.routes.ts - Investigation Controller
server/src/controllers/investigation.controller.ts
Blockchain Tracing
- Graph Engine
server/src/services/graph/GraphEngine.ts - Bounded Traversal
server/src/services/graph/graphTraversal.ts - TRON Provider
server/src/services/blockchain/TronProvider.ts
Attribution Evidence
- VASP Evaluation
server/src/services/attribution/VaspCandidateEngine.ts - VASP Registry
server/src/data/vaspLabels.ts - Evidence Bundle
server/src/services/report/EvidenceBundleService.ts
Shared Contracts
- Shared Types
shared/types/index.ts
Other components
- Investigator
- TronGrid API
Connections 25
- Investigator → App Router: uses
client/src/App.tsx - App Router → Dashboard: routes to
client/src/App.tsx - App Router → New Investigation: routes to
client/src/App.tsx - App Router → Investigation Details: routes to
client/src/App.tsx - App Router → Evidence View: routes to
client/src/App.tsx - Dashboard → Client API: requests data
client/src/pages/DashboardPage.tsx - New Investigation → Client API: submits trace
client/src/pages/NewInvestigationPage.tsx - Investigation Details → Client API: requests results
client/src/pages/InvestigationDetailsPage.tsx - Investigation Details → Forensic Graph: renders
client/src/pages/InvestigationDetailsPage.tsx - Investigation Details → Path Inspector: renders
client/src/pages/InvestigationDetailsPage.tsx - Investigation Details → VASP Scorecard: renders
client/src/pages/InvestigationDetailsPage.tsx - New Investigation → Transfer Table: renders
client/src/pages/NewInvestigationPage.tsx - Client API → Investigation Routes: calls HTTP API
- API Routes → Investigation Routes: mounts
server/src/routes/index.ts - Investigation Routes → Investigation Controller: dispatches
server/src/routes/investigation.routes.ts - Investigation Controller → Graph Engine: traces graph
server/src/controllers/investigation.controller.ts - Investigation Controller → VASP Evaluation: evaluates attribution
server/src/controllers/investigation.controller.ts - Investigation Controller → Evidence Bundle: generates report
server/src/controllers/investigation.controller.ts - Graph Engine → Bounded Traversal: traverses
server/src/services/graph/GraphEngine.ts - Graph Engine → TRON Provider: registers provider
server/src/services/graph/GraphEngine.ts - TRON Provider → TronGrid API: fetches transfers
server/src/services/blockchain/TronProvider.ts - VASP Evaluation → VASP Registry: looks up labels
server/src/services/attribution/VaspCandidateEngine.ts - VASP Evaluation → Shared Types: uses types
server/src/services/attribution/VaspCandidateEngine.ts - Graph Engine → Shared Types: returns trace data
server/src/services/graph/GraphEngine.ts - Evidence Bundle → Shared Types: uses types
server/src/services/report/EvidenceBundleService.ts