| org/cryptotrader/admin | 0 | 56 | 56 | 121 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/admin/AdminApplication | 0 | 45 | 45 | 99 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/admin/AdminLauncher | 0 | 11 | 11 | 22 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/component | 0 | 10 | 10 | 25 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/component/DataPointFetcher | 0 | 10 | 10 | 25 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/config | 0 | 3 | 3 | 47 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/config/HttpClientConfig | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/config/SpringBootConfig | 0 | 1 | 1 | 34 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/controller | 0 | 79 | 79 | 270 | 0% | | 0 | 10 | 0% | |
| org/cryptotrader/admin/controller/AdminUsersController | 0 | 4 | 4 | 21 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/controller/AppController | 0 | 18 | 18 | 51 | 0% | | 0 | 8 | 0% | |
| org/cryptotrader/admin/controller/AuthController | 0 | 2 | 2 | 16 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/controller/BanOffensesTableController | 0 | 10 | 10 | 28 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/controller/BaseViewController | 0 | 1 | 1 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/controller/DashboardController | 0 | 2 | 2 | 10 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/controller/DataHubController | 0 | 2 | 2 | 10 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/controller/EmailController | 0 | 9 | 9 | 34 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/admin/controller/TablesController | 0 | 7 | 7 | 30 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/controller/UserTableController | 0 | 14 | 14 | 35 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/controller/WarnOffensesTableController | 0 | 10 | 10 | 28 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/dev | 0 | 55 | 55 | 125 | 0% | | 0 | 48 | 0% | |
| org/cryptotrader/admin/dev/JRebelHook | 0 | 55 | 55 | 125 | 0% | | 0 | 48 | 0% | |
| org/cryptotrader/admin/event | 0 | 1 | 1 | 6 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/event/PageNavigationEvent | 0 | 1 | 1 | 6 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/library/events | 0 | 6 | 6 | 18 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/library/events/UserBannedEvent | 0 | 3 | 3 | 9 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/library/events/UserWarningEvent | 0 | 3 | 3 | 9 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/library/model | 0 | 18 | 18 | 48 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/library/model/BanOffense | 0 | 6 | 6 | 15 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/library/model/BanOffenseKt | 0 | 6 | 6 | 15 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/library/model/WarnOffense | 0 | 3 | 3 | 9 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/library/model/WarnOffenseKt | 0 | 3 | 3 | 9 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/model | 0 | 10 | 10 | 31 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/model/ChartDataPoint | 0 | 3 | 3 | 6 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/model/UserTableProperties | 0 | 7 | 7 | 25 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/route | 0 | 12 | 12 | 16 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/route/AppPage | 0 | 12 | 12 | 16 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/service | 0 | 3 | 3 | 12 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/admin/service/AuthGuardService | 0 | 3 | 3 | 12 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/admin/ui | 0 | 126 | 126 | 369 | 0% | | 0 | 18 | 0% | |
| org/cryptotrader/admin/ui/Chart | 0 | 71 | 71 | 145 | 0% | | 0 | 12 | 0% | |
| org/cryptotrader/admin/ui/DashboardApp | 0 | 10 | 10 | 32 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/admin/ui/ExitAnchor | 0 | 13 | 13 | 40 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/ui/HomeAnchor | 0 | 11 | 11 | 45 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/ui/NavBar | 0 | 5 | 5 | 45 | 0% | | 0 | 0 | | |
| org/cryptotrader/admin/ui/NavItem | 0 | 16 | 16 | 62 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/agent | 0 | 6 | 6 | 36 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/CryptoTraderAgentApplication | 0 | 3 | 3 | 18 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/CryptoTraderAgentApplicationKt | 0 | 3 | 3 | 18 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/library/communication/response | 14 | 3 | 17 | 33 | 82.3% | | 0 | 0 | | |
| org/cryptotrader/agent/library/communication/response/BaseAgentResponse | 3 | 0 | 3 | 6 | 100% | | 0 | 0 | | |
| org/cryptotrader/agent/library/communication/response/DirectoryListingResponse | 4 | 0 | 4 | 9 | 100% | | 0 | 0 | | |
| org/cryptotrader/agent/library/communication/response/FileContentResponse | 7 | 0 | 7 | 10 | 100% | | 0 | 0 | | |
| org/cryptotrader/agent/library/communication/response/FileSearchResponse | 0 | 3 | 3 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/library/component | 130 | 120 | 250 | 743 | 52% | | 53 | 144 | 36.8% | |
| org/cryptotrader/agent/library/component/DatabaseReaderTool | 4 | 32 | 36 | 85 | 11.1% | | 0 | 18 | 0% | |
| org/cryptotrader/agent/library/component/FileReaderTool | 109 | 64 | 173 | 463 | 63% | | 50 | 94 | 53.1% | |
| org/cryptotrader/agent/library/component/HttpFetchTool | 17 | 24 | 41 | 195 | 41.4% | | 3 | 32 | 9.3% | |
| org/cryptotrader/agent/library/component/config | 0 | 4 | 4 | 23 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/library/component/config/McpToolsConfiguration | 0 | 4 | 4 | 23 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/library/config | 0 | 16 | 16 | 49 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/library/config/AgentAutoConfiguration | 0 | 1 | 1 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/library/config/AgentConstraintsProperties | 0 | 6 | 6 | 14 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/library/config/McpSecurityConfig | 0 | 9 | 9 | 27 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/library/model | 6 | 12 | 18 | 31 | 33.3% | | 0 | 0 | | |
| org/cryptotrader/agent/library/model/DatabaseColumnMetadata | 0 | 4 | 4 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/library/model/DatabaseTableValidationMessage | 0 | 4 | 4 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/agent/library/model/FileMetadata | 6 | 1 | 7 | 10 | 85.7% | | 0 | 0 | | |
| org/cryptotrader/agent/library/model/FileSearchResult | 0 | 3 | 3 | 6 | 0% | | 0 | 0 | | |
| org/cryptotrader/api | 1 | 4 | 5 | 47 | 20% | | 0 | 0 | | |
| org/cryptotrader/api/CryptoTraderApiApplication | 1 | 4 | 5 | 47 | 20% | | 0 | 0 | | |
| org/cryptotrader/api/config | 5 | 57 | 62 | 255 | 8% | | 0 | 4 | 0% | |
| org/cryptotrader/api/config/BeastTaskExecutorConfig | 0 | 8 | 8 | 27 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/config/ConsoleResponsesConfig | 0 | 4 | 4 | 23 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/config/DetailedSimulatorResponsesConfig | 0 | 4 | 4 | 23 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/config/GlobalExceptionHandler | 2 | 2 | 4 | 17 | 50% | | 0 | 0 | | |
| org/cryptotrader/api/config/HttpConfig | 1 | 0 | 1 | 9 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/config/JpaRepositoriesConfig | 1 | 0 | 1 | 26 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/config/SecurityProperties | 0 | 4 | 4 | 18 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/api/config/SimulatorResponsesConfig | 0 | 4 | 4 | 23 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/config/TaskExecutorConfig | 1 | 6 | 7 | 25 | 14.2% | | 0 | 0 | | |
| org/cryptotrader/api/config/WebSocketConfig | 0 | 25 | 25 | 64 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/api/controller | 73 | 353 | 426 | 1259 | 17.1% | | 15 | 118 | 12.7% | |
| org/cryptotrader/api/controller/AccountController | 5 | 35 | 40 | 160 | 12.5% | | 0 | 6 | 0% | |
| org/cryptotrader/api/controller/AdminAuthController | 1 | 0 | 1 | 9 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/controller/AuthController | 22 | 109 | 131 | 322 | 16.7% | | 2 | 44 | 4.5% | |
| org/cryptotrader/api/controller/ConsoleController | 0 | 14 | 14 | 47 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/controller/CryptoTraderController | 1 | 0 | 1 | 10 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/controller/CurrencyController | 24 | 17 | 41 | 120 | 58.5% | | 13 | 28 | 46.4% | |
| org/cryptotrader/api/controller/HoneypotController | 0 | 1 | 1 | 6 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/controller/JwksController | 3 | 17 | 20 | 80 | 15% | | 0 | 4 | 0% | |
| org/cryptotrader/api/controller/LoggingController | 0 | 56 | 56 | 135 | 0% | | 0 | 18 | 0% | |
| org/cryptotrader/api/controller/PortfolioController | 7 | 35 | 42 | 119 | 16.6% | | 0 | 12 | 0% | |
| org/cryptotrader/api/controller/SimulatorController | 0 | 43 | 43 | 99 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/api/controller/SubscriptionTierController | 0 | 2 | 2 | 18 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/controller/TradeController | 0 | 8 | 8 | 28 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/api/controller/TraderController | 5 | 14 | 19 | 63 | 26.3% | | 0 | 2 | 0% | |
| org/cryptotrader/api/controller/UserController | 5 | 1 | 6 | 36 | 83.3% | | 0 | 0 | | |
| org/cryptotrader/api/controller/WelcomeController | 0 | 1 | 1 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/controller/websocket | 1 | 49 | 50 | 144 | 2% | | 0 | 0 | | |
| org/cryptotrader/api/controller/websocket/CurrencyValueWebSocketHandler | 0 | 10 | 10 | 22 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/controller/websocket/CurrencyValueWebSocketHandlerKt | 0 | 10 | 10 | 22 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/controller/websocket/LoginWebSocketHandler | 0 | 7 | 7 | 21 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/controller/websocket/LoginWebSocketHandlerKt | 0 | 7 | 7 | 21 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/controller/websocket/SignupWebSocketHandler | 0 | 7 | 7 | 22 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/controller/websocket/SignupWebSocketHandlerKt | 0 | 7 | 7 | 22 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/controller/websocket/TraderWebSocketController | 1 | 1 | 2 | 14 | 50% | | 0 | 0 | | |
| org/cryptotrader/api/infrastructure | 0 | 11 | 11 | 36 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/api/infrastructure/HoneypotFilter | 0 | 11 | 11 | 36 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/api/library/communication/request | 15 | 61 | 76 | 232 | 19.7% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/AssetValueRequest | 4 | 0 | 4 | 13 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/FuzzyTimeValueRequest | 0 | 2 | 2 | 5 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/LoginRequest | 3 | 0 | 3 | 6 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/NewsSentimentHarvestRequest | 0 | 6 | 6 | 20 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/NewsSentimentRequest | 0 | 13 | 13 | 41 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/NewsSentimentTargetedHarvestRequest | 0 | 6 | 6 | 22 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/PortfolioAssetRequest | 0 | 5 | 5 | 17 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/PricePredictionRequest | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/SignupRequest | 3 | 0 | 3 | 6 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/TradeRequest | 0 | 5 | 5 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/TrainingSessionRequest | 0 | 24 | 24 | 75 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/UserRequest | 5 | 0 | 5 | 19 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/alias | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/request/alias/AuthAliases | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response | 43 | 104 | 147 | 334 | 29.2% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/AssetValueResponse | 3 | 0 | 3 | 11 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/AuthResponse | 7 | 0 | 7 | 16 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/CurrencyNamesResponse | 0 | 2 | 2 | 5 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/CurrencyValueResponse | 5 | 0 | 5 | 17 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/CurrencyValuesListResponse | 0 | 3 | 3 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/DisplayCurrencyListResponse | 3 | 0 | 3 | 13 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/DisplayCurrencyResponse | 8 | 0 | 8 | 28 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/HasPortfolioResponse | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/HasProfilePictureResponse | 0 | 3 | 3 | 11 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/LogoutResponse | 0 | 3 | 3 | 11 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/OperationSuccessfulResponse | 0 | 3 | 3 | 11 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/PerformanceRatingResponse | 2 | 0 | 2 | 7 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/PortfolioAssetHistoryResponse | 0 | 25 | 25 | 31 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/PortfolioAssetResponse | 0 | 23 | 23 | 29 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/PortfolioHistoryResponse | 0 | 17 | 17 | 24 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/PortfolioResponse | 15 | 0 | 15 | 21 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/PredictionIdResponse | 0 | 3 | 3 | 11 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/SubscriptionTierPricesResponse | 0 | 4 | 4 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/SubscriptionTierResponse | 0 | 3 | 3 | 9 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/TradeEventListResponse | 0 | 3 | 3 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/TradeEventResponse | 0 | 9 | 9 | 33 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/communication/response/UserResponse | 0 | 3 | 3 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/component/dpop | 0 | 16 | 16 | 43 | 0% | | 0 | 12 | 0% | |
| org/cryptotrader/api/library/component/dpop/DpopReplayCache | 0 | 16 | 16 | 43 | 0% | | 0 | 12 | 0% | |
| org/cryptotrader/api/library/config | 25 | 68 | 93 | 331 | 26.8% | | 3 | 18 | 16.6% | |
| org/cryptotrader/api/library/config/ApiConfigAutoConfiguration | 1 | 0 | 1 | 18 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/config/ApplicationDocsYamlConfig | 0 | 1 | 1 | 17 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/config/ApplicationTestYamlConfig | 0 | 1 | 1 | 11 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/config/ApplicationYamlConfig | 1 | 0 | 1 | 11 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/config/CorsConfig | 8 | 9 | 17 | 81 | 47% | | 0 | 0 | | |
| org/cryptotrader/api/library/config/DefaultPropertiesConfig | 1 | 0 | 1 | 11 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/config/DocsSecurityConfig | 6 | 0 | 6 | 38 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/config/SecurityConfig | 0 | 55 | 55 | 114 | 0% | | 0 | 12 | 0% | |
| org/cryptotrader/api/library/config/YamlPropertySourceFactory | 8 | 2 | 10 | 30 | 80% | | 3 | 6 | 50% | |
| org/cryptotrader/api/library/entity/portfolio | 141 | 144 | 285 | 661 | 49.4% | | 10 | 118 | 8.4% | |
| org/cryptotrader/api/library/entity/portfolio/Portfolio | 59 | 66 | 125 | 243 | 47.2% | | 6 | 58 | 10.3% | |
| org/cryptotrader/api/library/entity/portfolio/PortfolioAsset | 33 | 41 | 74 | 184 | 44.5% | | 3 | 52 | 5.7% | |
| org/cryptotrader/api/library/entity/portfolio/PortfolioAssetHistory | 41 | 5 | 46 | 125 | 89.1% | | 1 | 4 | 25% | |
| org/cryptotrader/api/library/entity/portfolio/PortfolioHistory | 8 | 32 | 40 | 109 | 20% | | 0 | 4 | 0% | |
| org/cryptotrader/api/library/entity/portfolio/builder | 10 | 43 | 53 | 155 | 18.8% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/portfolio/builder/PortfolioBuilder | 10 | 18 | 28 | 81 | 35.7% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/portfolio/builder/PortfolioHistoryBuilder | 0 | 25 | 25 | 74 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/portfolio/builder/models | 1 | 1 | 2 | 23 | 50% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/portfolio/builder/models/AbstractPortfolio | 1 | 0 | 1 | 13 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/portfolio/builder/models/AbstractPortfolioHistory | 0 | 1 | 1 | 10 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/trade | 18 | 3 | 21 | 84 | 85.7% | | 1 | 2 | 50% | |
| org/cryptotrader/api/library/entity/trade/TradeEvent | 12 | 2 | 14 | 68 | 85.7% | | 1 | 2 | 50% | |
| org/cryptotrader/api/library/entity/trade/TradeType | 6 | 1 | 7 | 16 | 85.7% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/user | 77 | 50 | 127 | 369 | 60.6% | | 8 | 31 | 25.8% | |
| org/cryptotrader/api/library/entity/user/ProductUser | 24 | 17 | 41 | 105 | 58.5% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/user/ProfilePicture | 16 | 16 | 32 | 68 | 50% | | 6 | 7 | 85.7% | |
| org/cryptotrader/api/library/entity/user/SafePassword | 13 | 5 | 18 | 53 | 72.2% | | 2 | 12 | 16.6% | |
| org/cryptotrader/api/library/entity/user/SubscriptionChange | 0 | 1 | 1 | 16 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/user/SubscriptionTier | 4 | 1 | 5 | 11 | 80% | | 0 | 4 | 0% | |
| org/cryptotrader/api/library/entity/user/User | 16 | 8 | 24 | 97 | 66.6% | | 0 | 2 | 0% | |
| org/cryptotrader/api/library/entity/user/UserRoleTier | 4 | 2 | 6 | 19 | 66.6% | | 0 | 6 | 0% | |
| org/cryptotrader/api/library/entity/user/admin | 0 | 7 | 7 | 31 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/user/admin/AdminTier | 0 | 1 | 1 | 4 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/user/admin/AdminUser | 0 | 6 | 6 | 27 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/user/builder | 15 | 25 | 40 | 127 | 37.5% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/user/builder/ProductUserBuilder | 15 | 10 | 25 | 80 | 60% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/user/builder/ProfilePictureBuilder | 0 | 15 | 15 | 47 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/user/builder/models | 1 | 1 | 2 | 21 | 50% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/user/builder/models/AbstractProductUser | 1 | 0 | 1 | 13 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/user/builder/models/AbstractProfilePicture | 0 | 1 | 1 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/vendor | 9 | 7 | 16 | 44 | 56.2% | | 1 | 4 | 25% | |
| org/cryptotrader/api/library/entity/vendor/SupportedVendors | 3 | 4 | 7 | 13 | 42.8% | | 0 | 0 | | |
| org/cryptotrader/api/library/entity/vendor/Vendor | 6 | 3 | 9 | 31 | 66.6% | | 1 | 4 | 25% | |
| org/cryptotrader/api/library/events | 3 | 5 | 8 | 27 | 37.5% | | 0 | 0 | | |
| org/cryptotrader/api/library/events/ApiEventBinding | 0 | 2 | 2 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/events/UserLoginEvent | 0 | 3 | 3 | 9 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/events/UserRegisteredEvent | 3 | 0 | 3 | 11 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/events/publisher | 0 | 7 | 7 | 24 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/api/library/events/publisher/UserEventsPublisher | 0 | 7 | 7 | 24 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/api/library/infrastructure | 114 | 6 | 120 | 358 | 95% | | 92 | 118 | 77.9% | |
| org/cryptotrader/api/library/infrastructure/JwtAuthenticationFilter | 42 | 2 | 44 | 118 | 95.4% | | 22 | 30 | 73.3% | |
| org/cryptotrader/api/library/infrastructure/JwtHandshakeInterceptor | 36 | 2 | 38 | 120 | 94.7% | | 35 | 44 | 79.5% | |
| org/cryptotrader/api/library/infrastructure/JwtHandshakeInterceptorKt | 36 | 2 | 38 | 120 | 94.7% | | 35 | 44 | 79.5% | |
| org/cryptotrader/api/library/infrastructure/alias | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/infrastructure/alias/BeanAliasesKt | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/infrastructure/config | 0 | 16 | 16 | 67 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/infrastructure/config/SecurityFilterConfig | 0 | 16 | 16 | 67 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/infrastructure/dpop | 0 | 85 | 85 | 185 | 0% | | 0 | 60 | 0% | |
| org/cryptotrader/api/library/infrastructure/dpop/BindingEnforcementFilter | 0 | 23 | 23 | 63 | 0% | | 0 | 26 | 0% | |
| org/cryptotrader/api/library/infrastructure/dpop/DpopValidationFilter | 0 | 62 | 62 | 122 | 0% | | 0 | 34 | 0% | |
| org/cryptotrader/api/library/infrastructure/extension | 3 | 3 | 6 | 37 | 50% | | 0 | 0 | | |
| org/cryptotrader/api/library/infrastructure/extension/InfrastructureExtensionsKt | 3 | 3 | 6 | 37 | 50% | | 0 | 0 | | |
| org/cryptotrader/api/library/model/dpop | 0 | 6 | 6 | 19 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/model/dpop/DpopProofContext | 0 | 6 | 6 | 19 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/model/jwt | 6 | 1 | 7 | 22 | 85.7% | | 0 | 0 | | |
| org/cryptotrader/api/library/model/jwt/JwtClaims | 6 | 1 | 7 | 22 | 85.7% | | 0 | 0 | | |
| org/cryptotrader/api/library/model/portfolio | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/model/portfolio/SequentiallyValuable | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/model/portfolio/UpdatableValues | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/model/trade | 67 | 110 | 177 | 366 | 37.8% | | 10 | 50 | 20% | |
| org/cryptotrader/api/library/model/trade/AssetTrader | 46 | 24 | 70 | 130 | 65.7% | | 7 | 20 | 35% | |
| org/cryptotrader/api/library/model/trade/CryptoTrader | 0 | 23 | 23 | 60 | 0% | | 0 | 6 | 0% | |
| org/cryptotrader/api/library/model/trade/TradeContext | 6 | 3 | 9 | 23 | 66.6% | | 0 | 4 | 0% | |
| org/cryptotrader/api/library/model/trade/TradeEngine | 5 | 0 | 5 | 16 | 100% | | 0 | 0 | | |
| org/cryptotrader/api/library/model/trade/Trader | 10 | 5 | 15 | 43 | 66.6% | | 3 | 6 | 50% | |
| org/cryptotrader/api/library/model/trade/TradeResult | 0 | 7 | 7 | 13 | 0% | | 0 | 6 | 0% | |
| org/cryptotrader/api/library/model/trade/TradingEngine | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/model/trade/VendorAssetTrader | 0 | 48 | 48 | 81 | 0% | | 0 | 8 | 0% | |
| org/cryptotrader/api/library/repository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/repository/PortfolioAssetHistoryRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/repository/PortfolioAssetRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/repository/PortfolioHistoryRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/repository/PortfolioRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/repository/ProductUserRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/repository/ProfilePictureRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/repository/TradeEventRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/scripts/dpop | 0 | 74 | 74 | 158 | 0% | | 0 | 90 | 0% | |
| org/cryptotrader/api/library/scripts/dpop/DpopScriptKt | 0 | 74 | 74 | 158 | 0% | | 0 | 90 | 0% | |
| org/cryptotrader/api/library/scripts/http | 0 | 21 | 21 | 58 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/scripts/http/CookieScriptKt | 0 | 21 | 21 | 58 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services | 84 | 218 | 302 | 833 | 27.8% | | 26 | 148 | 17.5% | |
| org/cryptotrader/api/library/services/AuthContextService | 16 | 48 | 64 | 136 | 25% | | 9 | 94 | 9.5% | |
| org/cryptotrader/api/library/services/AuthService | 42 | 0 | 42 | 95 | 100% | | 6 | 6 | 100% | |
| org/cryptotrader/api/library/services/CryptoTraderService | 0 | 1 | 1 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/PortfolioService | 25 | 58 | 83 | 232 | 30.1% | | 11 | 20 | 55% | |
| org/cryptotrader/api/library/services/ProductUserService | 1 | 14 | 15 | 100 | 6.6% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/ProfilePictureService | 0 | 11 | 11 | 42 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/api/library/services/SessionService | 0 | 16 | 16 | 42 | 0% | | 0 | 8 | 0% | |
| org/cryptotrader/api/library/services/TradeEventService | 0 | 11 | 11 | 38 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/TraderService | 0 | 23 | 23 | 64 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/TradeService | 0 | 36 | 36 | 77 | 0% | | 0 | 18 | 0% | |
| org/cryptotrader/api/library/services/dpop | 119 | 44 | 163 | 300 | 73% | | 75 | 161 | 46.5% | |
| org/cryptotrader/api/library/services/dpop/DpopVerifierService | 119 | 44 | 163 | 300 | 73% | | 75 | 161 | 46.5% | |
| org/cryptotrader/api/library/services/entity/portfolio | 0 | 8 | 8 | 52 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/entity/portfolio/PortfolioAssetEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/entity/portfolio/PortfolioAssetHistoryEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/entity/portfolio/PortfolioEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/entity/portfolio/PortfolioHistoryEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/entity/trade | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/entity/trade/TradeEventEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/entity/user | 0 | 4 | 4 | 26 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/entity/user/ProductUserEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/entity/user/ProfilePictureEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/api/library/services/jwt | 63 | 73 | 136 | 356 | 46.3% | | 19 | 72 | 26.3% | |
| org/cryptotrader/api/library/services/jwt/JwtTokenService | 38 | 2 | 40 | 107 | 95% | | 8 | 20 | 40% | |
| org/cryptotrader/api/library/services/jwt/RefreshTokenService | 8 | 71 | 79 | 192 | 10.1% | | 0 | 38 | 0% | |
| org/cryptotrader/api/library/services/jwt/TokenBlacklistService | 17 | 0 | 17 | 57 | 100% | | 11 | 14 | 78.5% | |
| org/cryptotrader/api/library/services/models | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/services/models/ProfilePictureOperations | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/api/library/services/rsa | 45 | 0 | 45 | 97 | 100% | | 17 | 22 | 77.2% | |
| org/cryptotrader/api/library/services/rsa/RsaKeyService | 45 | 0 | 45 | 97 | 100% | | 17 | 22 | 77.2% | |
| org/cryptotrader/api/service | 0 | 58 | 58 | 100 | 0% | | 0 | 54 | 0% | |
| org/cryptotrader/api/service/HoneypotService | 0 | 58 | 58 | 100 | 0% | | 0 | 54 | 0% | |
| org/cryptotrader/assets/images/icons/fx | 0 | 3 | 3 | 11 | 0% | | 0 | 0 | | |
| org/cryptotrader/assets/images/icons/fx/IconImageAssets | 0 | 3 | 3 | 11 | 0% | | 0 | 0 | | |
| org/cryptotrader/assets/images/logos/cryptotrader/fx | 0 | 5 | 5 | 12 | 0% | | 0 | 0 | | |
| org/cryptotrader/assets/images/logos/cryptotrader/fx/CryptoTraderLogoImageAssets | 0 | 5 | 5 | 12 | 0% | | 0 | 0 | | |
| org/cryptotrader/assets/util | 0 | 9 | 9 | 34 | 0% | | 0 | 0 | | |
| org/cryptotrader/assets/util/ImageResource | 0 | 3 | 3 | 12 | 0% | | 0 | 0 | | |
| org/cryptotrader/assets/util/LoadableResource | 0 | 3 | 3 | 9 | 0% | | 0 | 0 | | |
| org/cryptotrader/assets/util/ResourceLoader | 0 | 3 | 3 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat | 0 | 6 | 6 | 24 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/CryptoTraderChatApplication | 0 | 3 | 3 | 12 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/CryptoTraderChatApplicationKt | 0 | 3 | 3 | 12 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/config | 0 | 10 | 10 | 28 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/config/ChatSecurityConfig | 0 | 10 | 10 | 28 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/controller | 0 | 143 | 143 | 233 | 0% | | 0 | 55 | 0% | |
| org/cryptotrader/chat/controller/OpenAiProxyController | 0 | 143 | 143 | 233 | 0% | | 0 | 55 | 0% | |
| org/cryptotrader/chat/model | 0 | 828 | 828 | 1224 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiAssistantMessage | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiChatCompletionChunk | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiChatCompletionRequest | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiChatCompletionResponse | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiChoice | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiChunkChoice | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiDelta | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiMessage | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiModel | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiModelListResponse | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiStreamOptions | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/chat/model/OpenAiUsage | 0 | 69 | 69 | 102 | 0% | | 0 | 0 | | |
| org/cryptotrader/console | 0 | 8 | 8 | 78 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/CryptoTraderConsoleApplication | 0 | 4 | 4 | 39 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/CryptoTraderConsoleApplicationKt | 0 | 4 | 4 | 39 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/communication/request | 0 | 3 | 3 | 6 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/communication/request/ConsoleCommandRequest | 0 | 3 | 3 | 6 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/communication/response | 0 | 5 | 5 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/communication/response/ConsoleCommandResponse | 0 | 5 | 5 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/component | 0 | 151 | 151 | 294 | 0% | | 0 | 128 | 0% | |
| org/cryptotrader/console/library/component/ConsoleAuthenticationRunner | 0 | 37 | 37 | 84 | 0% | | 0 | 34 | 0% | |
| org/cryptotrader/console/library/component/ConsoleEventBinding | 0 | 3 | 3 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/component/ConsoleRequestGateway | 0 | 4 | 4 | 17 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/component/JwksAccessTokenVerifier | 0 | 107 | 107 | 185 | 0% | | 0 | 94 | 0% | |
| org/cryptotrader/console/library/component/models | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/console/library/component/models/AccessTokenVerifier | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/console/library/entity | 0 | 35 | 35 | 93 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/console/library/entity/ConsoleCommandExecution | 0 | 35 | 35 | 93 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/console/library/events | 0 | 15 | 15 | 43 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/events/ConsoleEventsListener | 0 | 15 | 15 | 43 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/model | 0 | 17 | 17 | 31 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/model/ConsoleCommandRegex | 0 | 2 | 2 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/model/ConsoleHelpCommand | 0 | 3 | 3 | 6 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/model/ConsoleHelpSection | 0 | 5 | 5 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/model/SupportedConsoleCommand | 0 | 7 | 7 | 10 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/model/command | 0 | 10 | 10 | 22 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/model/command/CurrencyCommand | 0 | 6 | 6 | 12 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/model/command/PortfolioCommand | 0 | 4 | 4 | 10 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/model/exception | 0 | 2 | 2 | 6 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/model/exception/CommandNotSupportedException | 0 | 2 | 2 | 6 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/services | 0 | 112 | 112 | 365 | 0% | | 0 | 27 | 0% | |
| org/cryptotrader/console/library/services/ConsoleCommandParser | 0 | 8 | 8 | 25 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/console/library/services/ConsoleCommandService | 0 | 61 | 61 | 217 | 0% | | 0 | 8 | 0% | |
| org/cryptotrader/console/library/services/CurrencyCommandService | 0 | 32 | 32 | 79 | 0% | | 0 | 15 | 0% | |
| org/cryptotrader/console/library/services/PortfolioCommandService | 0 | 11 | 11 | 44 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/console/library/services/entity | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/services/entity/ConsoleCommandExecutionEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/console/library/services/models | 0 | 43 | 43 | 229 | 0% | | 0 | 30 | 0% | |
| org/cryptotrader/console/library/services/models/BaseConsoleCommandRunner | 0 | 43 | 43 | 229 | 0% | | 0 | 30 | 0% | |
| org/cryptotrader/console/library/services/models/ConsoleCommandExecutor | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/contact | 2 | 4 | 6 | 24 | 33.3% | | 0 | 0 | | |
| org/cryptotrader/contact/CryptoTraderContactApplication | 1 | 2 | 3 | 12 | 33.3% | | 0 | 0 | | |
| org/cryptotrader/contact/CryptoTraderContactApplicationKt | 1 | 2 | 3 | 12 | 33.3% | | 0 | 0 | | |
| org/cryptotrader/contact/comm/email/request | 5 | 0 | 5 | 10 | 100% | | 0 | 0 | | |
| org/cryptotrader/contact/comm/email/request/EmailRequest | 5 | 0 | 5 | 10 | 100% | | 0 | 0 | | |
| org/cryptotrader/contact/comm/email/response | 0 | 1 | 1 | 5 | 0% | | 0 | 0 | | |
| org/cryptotrader/contact/comm/email/response/EmailResponse | 0 | 1 | 1 | 5 | 0% | | 0 | 0 | | |
| org/cryptotrader/contact/component | 1 | 0 | 1 | 6 | 100% | | 0 | 0 | | |
| org/cryptotrader/contact/component/ContactEventPublishers | 1 | 0 | 1 | 6 | 100% | | 0 | 0 | | |
| org/cryptotrader/contact/config | 12 | 0 | 12 | 39 | 100% | | 7 | 14 | 50% | |
| org/cryptotrader/contact/config/MailSenderConfig | 12 | 0 | 12 | 39 | 100% | | 7 | 14 | 50% | |
| org/cryptotrader/contact/controller | 4 | 18 | 22 | 68 | 18.1% | | 0 | 0 | | |
| org/cryptotrader/contact/controller/EmailController | 2 | 9 | 11 | 34 | 18.1% | | 0 | 0 | | |
| org/cryptotrader/contact/controller/EmailControllerKt | 2 | 9 | 11 | 34 | 18.1% | | 0 | 0 | | |
| org/cryptotrader/contact/library/entity | 0 | 12 | 12 | 59 | 0% | | 0 | 0 | | |
| org/cryptotrader/contact/library/entity/CryptoTraderMailer | 0 | 4 | 4 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/contact/library/entity/Email | 0 | 4 | 4 | 44 | 0% | | 0 | 0 | | |
| org/cryptotrader/contact/library/entity/EmailType | 0 | 4 | 4 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/contact/library/entity/builder | 0 | 21 | 21 | 62 | 0% | | 0 | 12 | 0% | |
| org/cryptotrader/contact/library/entity/builder/EmailBuilder | 0 | 21 | 21 | 62 | 0% | | 0 | 12 | 0% | |
| org/cryptotrader/contact/library/entity/builder/models | 0 | 1 | 1 | 9 | 0% | | 0 | 0 | | |
| org/cryptotrader/contact/library/entity/builder/models/AbstractEmail | 0 | 1 | 1 | 9 | 0% | | 0 | 0 | | |
| org/cryptotrader/contact/library/events | 0 | 5 | 5 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/contact/library/events/EmailSentEvent | 0 | 5 | 5 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/contact/library/repository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/contact/library/repository/EmailRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/contact/message/consumer | 14 | 22 | 36 | 106 | 38.8% | | 0 | 0 | | |
| org/cryptotrader/contact/message/consumer/EmailSentConsumer | 2 | 3 | 5 | 19 | 40% | | 0 | 0 | | |
| org/cryptotrader/contact/message/consumer/EmailSentConsumerKt | 2 | 3 | 5 | 19 | 40% | | 0 | 0 | | |
| org/cryptotrader/contact/message/consumer/UserRegisteredConsumer | 5 | 8 | 13 | 34 | 38.4% | | 0 | 0 | | |
| org/cryptotrader/contact/message/consumer/UserRegisteredConsumerKt | 5 | 8 | 13 | 34 | 38.4% | | 0 | 0 | | |
| org/cryptotrader/contact/natives | 1 | 0 | 1 | 7 | 100% | | 0 | 0 | | |
| org/cryptotrader/contact/natives/NativesExtension | 1 | 0 | 1 | 7 | 100% | | 0 | 0 | | |
| org/cryptotrader/contact/service/email | 48 | 0 | 48 | 96 | 100% | | 2 | 4 | 50% | |
| org/cryptotrader/contact/service/email/EmailService | 24 | 0 | 24 | 48 | 100% | | 1 | 2 | 50% | |
| org/cryptotrader/contact/service/email/EmailServiceKt | 24 | 0 | 24 | 48 | 100% | | 1 | 2 | 50% | |
| org/cryptotrader/contact/service/email/template | 12 | 0 | 12 | 29 | 100% | | 1 | 2 | 50% | |
| org/cryptotrader/contact/service/email/template/EmailTemplate | 2 | 0 | 2 | 5 | 100% | | 0 | 0 | | |
| org/cryptotrader/contact/service/email/template/EmailTemplateService | 10 | 0 | 10 | 24 | 100% | | 1 | 2 | 50% | |
| org/cryptotrader/data | 0 | 14 | 14 | 55 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/data/CryptoTraderDataApplication | 0 | 14 | 14 | 55 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/data/config | 0 | 14 | 14 | 56 | 0% | | 0 | 6 | 0% | |
| org/cryptotrader/data/config/BackfillerConfig | 0 | 6 | 6 | 23 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/data/config/DataSecurityConfig | 0 | 8 | 8 | 33 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/data/controller | 0 | 26 | 26 | 111 | 0% | | 0 | 8 | 0% | |
| org/cryptotrader/data/controller/CurrencyController | 0 | 3 | 3 | 17 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/controller/NewsSentimentController | 0 | 7 | 7 | 31 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/data/controller/PricePredictionController | 0 | 9 | 9 | 32 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/data/controller/TrainingSessionController | 0 | 7 | 7 | 31 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/data/library/communication/request | 6 | 43 | 49 | 158 | 12.2% | | 0 | 0 | | |
| org/cryptotrader/data/library/communication/request/NewsSentimentHarvestRequest | 6 | 0 | 6 | 20 | 100% | | 0 | 0 | | |
| org/cryptotrader/data/library/communication/request/NewsSentimentRequest | 0 | 13 | 13 | 41 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/communication/request/NewsSentimentTargetedHarvestRequest | 0 | 6 | 6 | 22 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/communication/request/PricePredictionRequest | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/data/library/communication/request/TrainingSessionRequest | 0 | 24 | 24 | 75 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/communication/response | 0 | 3 | 3 | 11 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/communication/response/PredictionIdResponse | 0 | 3 | 3 | 11 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/component | 59 | 247 | 306 | 672 | 19.2% | | 11 | 60 | 18.3% | |
| org/cryptotrader/data/library/component/CurrencyDataRetriever | 33 | 9 | 42 | 68 | 78.5% | | 8 | 16 | 50% | |
| org/cryptotrader/data/library/component/CurrencyJsonGenerator | 7 | 71 | 78 | 159 | 8.9% | | 0 | 24 | 0% | |
| org/cryptotrader/data/library/component/MarketSnapshotsBackfiller | 1 | 112 | 113 | 302 | 0.8% | | 0 | 8 | 0% | |
| org/cryptotrader/data/library/component/NewsSentimentHarvesterClient | 18 | 55 | 73 | 143 | 24.6% | | 3 | 12 | 25% | |
| org/cryptotrader/data/library/entity/currency | 57 | 139 | 196 | 460 | 29% | | 8 | 50 | 16% | |
| org/cryptotrader/data/library/entity/currency/Currency | 49 | 59 | 108 | 214 | 45.3% | | 7 | 32 | 21.8% | |
| org/cryptotrader/data/library/entity/currency/CurrencyHistory | 0 | 18 | 18 | 53 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/currency/SupportedCurrencies | 8 | 45 | 53 | 92 | 15% | | 1 | 18 | 5.5% | |
| org/cryptotrader/data/library/entity/currency/UniqueCurrency | 0 | 11 | 11 | 59 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/currency/UniqueCurrencyHistory | 0 | 6 | 6 | 42 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/currency/builder | 16 | 2 | 18 | 50 | 88.8% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/currency/builder/CurrencyBuilder | 16 | 2 | 18 | 50 | 88.8% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/currency/builder/models | 1 | 0 | 1 | 17 | 100% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/currency/builder/models/AbstractCurrency | 1 | 0 | 1 | 17 | 100% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/news | 14 | 16 | 30 | 113 | 46.6% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/news/NewsSentiment | 14 | 16 | 30 | 113 | 46.6% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/news/builder | 13 | 28 | 41 | 118 | 31.7% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/news/builder/NewsSentimentBuilder | 13 | 28 | 41 | 118 | 31.7% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/news/builder/models | 1 | 0 | 1 | 9 | 100% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/news/builder/models/AbstractNewsSentiment | 1 | 0 | 1 | 9 | 100% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/prediction | 0 | 37 | 37 | 100 | 0% | | 0 | 5 | 0% | |
| org/cryptotrader/data/library/entity/prediction/ModelType | 0 | 14 | 14 | 19 | 0% | | 0 | 5 | 0% | |
| org/cryptotrader/data/library/entity/prediction/PricePrediction | 0 | 23 | 23 | 81 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/prediction/PricePredictionLookup | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/prediction/builder | 0 | 31 | 31 | 94 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/prediction/builder/PricePredictionBuilder | 0 | 31 | 31 | 94 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/prediction/builder/models | 0 | 1 | 1 | 10 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/prediction/builder/models/AbstractPricePrediction | 0 | 1 | 1 | 10 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/training | 0 | 25 | 25 | 166 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/training/TrainingSession | 0 | 25 | 25 | 166 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/training/builder | 25 | 65 | 90 | 263 | 27.7% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/training/builder/TrainingSessionBuilder | 25 | 65 | 90 | 263 | 27.7% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/training/builder/models | 1 | 0 | 1 | 15 | 100% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/training/builder/models/AbstractTrainingSession | 1 | 0 | 1 | 15 | 100% | | 0 | 0 | | |
| org/cryptotrader/data/library/entity/training/specs | 0 | 34 | 34 | 55 | 0% | | 0 | 11 | 0% | |
| org/cryptotrader/data/library/entity/training/specs/QueryLoad | 0 | 10 | 10 | 17 | 0% | | 0 | 3 | 0% | |
| org/cryptotrader/data/library/entity/training/specs/TrainingDevice | 0 | 12 | 12 | 19 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/data/library/entity/training/specs/TrainingQueryType | 0 | 12 | 12 | 19 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/data/library/model/currency | 10 | 0 | 10 | 39 | 100% | | 4 | 4 | 100% | |
| org/cryptotrader/data/library/model/currency/PerformanceRating | 10 | 0 | 10 | 39 | 100% | | 4 | 4 | 100% | |
| org/cryptotrader/data/library/model/http | 28 | 6 | 34 | 76 | 82.3% | | 5 | 8 | 62.5% | |
| org/cryptotrader/data/library/model/http/ApiDataRetriever | 28 | 6 | 34 | 76 | 82.3% | | 5 | 8 | 62.5% | |
| org/cryptotrader/data/library/repository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/data/library/repository/CurrencyHistoryRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/data/library/repository/CurrencyRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/data/library/repository/NewsSentimentRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/data/library/repository/PricePredictionRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/data/library/repository/TrainingSessionRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/data/library/repository/UniqueCurrencyHistoryRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/data/library/repository/UniqueCurrencyRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/data/library/services | 1 | 281 | 282 | 607 | 0.3% | | 0 | 70 | 0% | |
| org/cryptotrader/data/library/services/CurrencyService | 1 | 162 | 163 | 348 | 0.6% | | 0 | 58 | 0% | |
| org/cryptotrader/data/library/services/MarketSnapshotService | 0 | 46 | 46 | 116 | 0% | | 0 | 10 | 0% | |
| org/cryptotrader/data/library/services/NewsSentimentService | 0 | 22 | 22 | 43 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/data/library/services/PricePredictionService | 0 | 19 | 19 | 42 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/TrainingSessionService | 0 | 32 | 32 | 58 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/adapter | 0 | 1 | 1 | 19 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/adapter/PricePredictionLookupAdapter | 0 | 1 | 1 | 19 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/config | 0 | 3 | 3 | 24 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/config/BuildersConfig | 0 | 3 | 3 | 24 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/entity | 0 | 14 | 14 | 91 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/entity/CurrencyEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/entity/CurrencyHistoryEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/entity/NewsSentimentEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/entity/PricePredictionEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/entity/TrainingSessionEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/entity/UniqueCurrencyEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/entity/UniqueCurrencyHistoryEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/data/library/services/harvest | 0 | 96 | 96 | 216 | 0% | | 0 | 12 | 0% | |
| org/cryptotrader/data/library/services/harvest/CurrencyHarvesterService | 0 | 71 | 71 | 148 | 0% | | 0 | 8 | 0% | |
| org/cryptotrader/data/library/services/harvest/NewsSentimentHarvesterService | 0 | 25 | 25 | 68 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/data/library/services/models | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/data/library/services/models/MarketSnapshotOperations | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/desktop/library/component | 0 | 100 | 100 | 184 | 0% | | 0 | 38 | 0% | |
| org/cryptotrader/desktop/library/component/ComponentLoader | 0 | 42 | 42 | 75 | 0% | | 0 | 10 | 0% | |
| org/cryptotrader/desktop/library/component/ViewLoader | 0 | 58 | 58 | 109 | 0% | | 0 | 28 | 0% | |
| org/cryptotrader/desktop/library/component/config | 0 | 5 | 5 | 23 | 0% | | 0 | 0 | | |
| org/cryptotrader/desktop/library/component/config/SpringContext | 0 | 5 | 5 | 23 | 0% | | 0 | 0 | | |
| org/cryptotrader/desktop/library/component/model | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/desktop/library/component/model/Loadable | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/desktop/library/component/ui | 0 | 54 | 54 | 128 | 0% | | 0 | 16 | 0% | |
| org/cryptotrader/desktop/library/component/ui/BaseComponent | 0 | 28 | 28 | 60 | 0% | | 0 | 6 | 0% | |
| org/cryptotrader/desktop/library/component/ui/DataTable | 0 | 26 | 26 | 68 | 0% | | 0 | 10 | 0% | |
| org/cryptotrader/docs/autoconfigure | 0 | 19 | 19 | 53 | 0% | | 0 | 0 | | |
| org/cryptotrader/docs/autoconfigure/CryptoTraderDocsAutoConfiguration | 0 | 19 | 19 | 53 | 0% | | 0 | 0 | | |
| org/cryptotrader/engine | 0 | 31 | 31 | 111 | 0% | | 0 | 12 | 0% | |
| org/cryptotrader/engine/CryptoTraderEngineApplication | 0 | 31 | 31 | 111 | 0% | | 0 | 12 | 0% | |
| org/cryptotrader/health | 0 | 6 | 6 | 48 | 0% | | 0 | 0 | | |
| org/cryptotrader/health/CryptoTraderHealthApplication | 0 | 3 | 3 | 24 | 0% | | 0 | 0 | | |
| org/cryptotrader/health/CryptoTraderHealthApplicationKt | 0 | 3 | 3 | 24 | 0% | | 0 | 0 | | |
| org/cryptotrader/logging | 0 | 6 | 6 | 40 | 0% | | 0 | 0 | | |
| org/cryptotrader/logging/CryptoTraderLoggingApplication | 0 | 3 | 3 | 20 | 0% | | 0 | 0 | | |
| org/cryptotrader/logging/CryptoTraderLoggingApplicationKt | 0 | 3 | 3 | 20 | 0% | | 0 | 0 | | |
| org/cryptotrader/logging/config | 16 | 8 | 24 | 59 | 66.6% | | 0 | 0 | | |
| org/cryptotrader/logging/config/ExecutionSpeedLogConsumerConfig | 16 | 0 | 16 | 35 | 100% | | 0 | 0 | | |
| org/cryptotrader/logging/config/FrontendLogConsumerConfig | 0 | 8 | 8 | 24 | 0% | | 0 | 0 | | |
| org/cryptotrader/security | 0 | 8 | 8 | 44 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/CryptoTraderSecurityApplication | 0 | 4 | 4 | 22 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/CryptoTraderSecurityApplicationKt | 0 | 4 | 4 | 22 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/config | 0 | 1 | 1 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/config/SecurityAutoConfig | 0 | 1 | 1 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/library/config | 17 | 59 | 76 | 266 | 22.3% | | 4 | 18 | 22.2% | |
| org/cryptotrader/security/library/config/EventMessageEncryptionConverter | 0 | 23 | 23 | 53 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/security/library/config/SecurityAutoConfig | 6 | 32 | 38 | 175 | 15.7% | | 2 | 8 | 25% | |
| org/cryptotrader/security/library/config/SecurityPropertiesConfig | 6 | 0 | 6 | 15 | 100% | | 0 | 0 | | |
| org/cryptotrader/security/library/config/YamlPropertySourceFactory | 5 | 4 | 9 | 23 | 55.5% | | 2 | 6 | 33.3% | |
| org/cryptotrader/security/library/entity/ip | 0 | 3 | 3 | 34 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/library/entity/ip/BannedIpAddress | 0 | 3 | 3 | 34 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/library/entity/ip/IpAddress | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/entity/ip/UserIpAddress | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/entity/key | 0 | 25 | 25 | 75 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/security/library/entity/key/EncryptedKey | 0 | 18 | 18 | 64 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/security/library/entity/key/KeyType | 0 | 7 | 7 | 11 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/library/entity/keyset | 0 | 12 | 12 | 58 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/library/entity/keyset/TinkKeyset | 0 | 12 | 12 | 58 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/library/event | 0 | 9 | 9 | 23 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/library/event/SecurityEventLogger | 0 | 9 | 9 | 23 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/library/infrastructure | 5 | 21 | 26 | 62 | 19.2% | | 0 | 10 | 0% | |
| org/cryptotrader/security/library/infrastructure/IpBanFilter | 5 | 21 | 26 | 62 | 19.2% | | 0 | 10 | 0% | |
| org/cryptotrader/security/library/infrastructure/annotation | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/infrastructure/annotation/AdminRestricted | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/infrastructure/annotation/SuperAdminRestricted | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/infrastructure/annotation/UserRestricted | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/infrastructure/config | 2 | 0 | 2 | 21 | 100% | | 0 | 0 | | |
| org/cryptotrader/security/library/infrastructure/config/IpBanAutoConfiguration | 2 | 0 | 2 | 21 | 100% | | 0 | 0 | | |
| org/cryptotrader/security/library/model | 2 | 0 | 2 | 7 | 100% | | 0 | 0 | | |
| org/cryptotrader/security/library/model/BanType | 2 | 0 | 2 | 7 | 100% | | 0 | 0 | | |
| org/cryptotrader/security/library/model/key | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/model/key/KeyEncrypter | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/model/properties | 23 | 1 | 24 | 43 | 95.8% | | 0 | 0 | | |
| org/cryptotrader/security/library/model/properties/Bans | 4 | 0 | 4 | 7 | 100% | | 0 | 0 | | |
| org/cryptotrader/security/library/model/properties/Encryption | 2 | 1 | 3 | 6 | 66.6% | | 0 | 0 | | |
| org/cryptotrader/security/library/model/properties/Http | 3 | 0 | 3 | 6 | 100% | | 0 | 0 | | |
| org/cryptotrader/security/library/model/properties/Tink | 7 | 0 | 7 | 12 | 100% | | 0 | 0 | | |
| org/cryptotrader/security/library/model/properties/TinkKeysetStoreType | 7 | 0 | 7 | 12 | 100% | | 0 | 0 | | |
| org/cryptotrader/security/library/repository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/repository/BannedIpAddressRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/repository/keyset | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/repository/keyset/TinkKeysetRepository | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/service | 39 | 99 | 138 | 297 | 28.2% | | 13 | 70 | 18.5% | |
| org/cryptotrader/security/library/service/EncryptionService | 20 | 3 | 23 | 54 | 86.9% | | 3 | 4 | 75% | |
| org/cryptotrader/security/library/service/InMemoryIpBanService | 19 | 9 | 28 | 66 | 67.8% | | 10 | 22 | 45.4% | |
| org/cryptotrader/security/library/service/IpBanService | 0 | 26 | 26 | 52 | 0% | | 0 | 14 | 0% | |
| org/cryptotrader/security/library/service/IpPermaBanService | 0 | 37 | 37 | 73 | 0% | | 0 | 26 | 0% | |
| org/cryptotrader/security/library/service/SecurityThreatService | 0 | 24 | 24 | 52 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/security/library/service/entity | 0 | 16 | 16 | 55 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/security/library/service/entity/BannedIpAddressEntityService | 0 | 2 | 2 | 13 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/library/service/entity/TinkKeysetEntityService | 0 | 14 | 14 | 42 | 0% | | 0 | 4 | 0% | |
| org/cryptotrader/security/library/service/model | 8 | 6 | 14 | 36 | 57.1% | | 3 | 8 | 37.5% | |
| org/cryptotrader/security/library/service/model/InMemoryTinkKeysetStore | 0 | 4 | 4 | 12 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/security/library/service/model/IpBanManager | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/security/library/service/model/IpBanPolicy | 8 | 0 | 8 | 16 | 100% | | 3 | 6 | 50% | |
| org/cryptotrader/security/library/service/model/TemporalIpBanManager | 0 | 2 | 2 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/security/library/service/model/TinkKeysetStore | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/simulator | 0 | 10 | 10 | 58 | 0% | | 0 | 0 | | |
| org/cryptotrader/simulator/CryptoTraderSimulatorApplication | 0 | 5 | 5 | 29 | 0% | | 0 | 0 | | |
| org/cryptotrader/simulator/CryptoTraderSimulatorApplicationKt | 0 | 5 | 5 | 29 | 0% | | 0 | 0 | | |
| org/cryptotrader/testing/library/infrastructure | 1 | 0 | 1 | 10 | 100% | | 0 | 0 | | |
| org/cryptotrader/testing/library/infrastructure/CryptoTraderTest | 1 | 0 | 1 | 10 | 100% | | 0 | 0 | | |
| org/cryptotrader/testing/library/infrastructure/logging | 16 | 8 | 24 | 63 | 66.6% | | 0 | 0 | | |
| org/cryptotrader/testing/library/infrastructure/logging/LoggingTestWatcher | 16 | 8 | 24 | 63 | 66.6% | | 0 | 0 | | |
| org/cryptotrader/universal/library/component | 5 | 5 | 10 | 33 | 50% | | 0 | 0 | | |
| org/cryptotrader/universal/library/component/SpringContext | 5 | 0 | 5 | 22 | 100% | | 0 | 0 | | |
| org/cryptotrader/universal/library/component/SystemScripts | 0 | 5 | 5 | 11 | 0% | | 0 | 0 | | |
| org/cryptotrader/universal/library/config | 12 | 0 | 12 | 65 | 100% | | 0 | 0 | | |
| org/cryptotrader/universal/library/config/HttpClientConfig | 12 | 0 | 12 | 65 | 100% | | 0 | 0 | | |
| org/cryptotrader/universal/library/entity | 4 | 9 | 13 | 48 | 30.7% | | 0 | 0 | | |
| org/cryptotrader/universal/library/entity/AutoGeneratedIdentifiableEntity | 3 | 3 | 6 | 23 | 50% | | 0 | 0 | | |
| org/cryptotrader/universal/library/entity/Identifiable | 1 | 0 | 1 | 4 | 100% | | 0 | 0 | | |
| org/cryptotrader/universal/library/entity/IdentifiableEntity | 0 | 6 | 6 | 21 | 0% | | 0 | 0 | | |
| org/cryptotrader/universal/library/extension/servlet | 0 | 2 | 2 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/universal/library/extension/servlet/ServletExtensionsKt | 0 | 2 | 2 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/universal/library/extension/string | 0 | 4 | 4 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/universal/library/extension/string/NetStringExtensionsKt | 0 | 4 | 4 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/universal/library/model | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/universal/library/model/Ansi | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/universal/library/model/BuilderFactory | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/universal/library/model/annotation | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/universal/library/model/annotation/Loggable | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/universal/library/model/annotation/TimeTracked | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| org/cryptotrader/universal/library/model/exception | 0 | 9 | 9 | 23 | 0% | | 0 | 0 | | |
| org/cryptotrader/universal/library/model/exception/EntityNotFoundException | 0 | 9 | 9 | 23 | 0% | | 0 | 0 | | |
| org/cryptotrader/universal/library/model/http | 10 | 1 | 11 | 29 | 90.9% | | 0 | 2 | 0% | |
| org/cryptotrader/universal/library/model/http/AuthStatus | 6 | 1 | 7 | 12 | 85.7% | | 0 | 2 | 0% | |
| org/cryptotrader/universal/library/model/http/PayloadStatusResponse | 4 | 0 | 4 | 17 | 100% | | 0 | 0 | | |
| org/cryptotrader/version | 0 | 71 | 71 | 140 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/version/Main | 0 | 7 | 7 | 18 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/VersionApplication | 0 | 46 | 46 | 88 | 0% | | 0 | 2 | 0% | |
| org/cryptotrader/version/VersionLauncher | 0 | 9 | 9 | 17 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/VersionLauncherKt | 0 | 9 | 9 | 17 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/config | 0 | 1 | 1 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/config/SpringBootConfig | 0 | 1 | 1 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/controller | 0 | 5 | 5 | 34 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/controller/AppController | 0 | 3 | 3 | 26 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/controller/ModuleVersionController | 0 | 2 | 2 | 8 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/config | 0 | 18 | 18 | 43 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/config/ConfigFile | 0 | 10 | 10 | 27 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/config/ConfigFileType | 0 | 8 | 8 | 16 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/dependency | 0 | 4 | 4 | 18 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/dependency/Dependency | 0 | 4 | 4 | 18 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/dependency/type | 0 | 4 | 4 | 24 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/dependency/type/PomDependency | 0 | 4 | 4 | 24 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/element | 26 | 59 | 85 | 162 | 30.5% | | 10 | 54 | 18.5% | |
| org/cryptotrader/version/library/model/element/PomElement | 26 | 58 | 84 | 155 | 30.9% | | 10 | 54 | 18.5% | |
| org/cryptotrader/version/library/model/element/PomPair | 0 | 1 | 1 | 7 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/module | 0 | 56 | 56 | 253 | 0% | | 0 | 20 | 0% | |
| org/cryptotrader/version/library/model/module/ModuleLibrary | 0 | 43 | 43 | 194 | 0% | | 0 | 20 | 0% | |
| org/cryptotrader/version/library/model/module/ProgramModule | 0 | 5 | 5 | 27 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/module/ProgramModuleDescendent | 0 | 8 | 8 | 32 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/module/type | 0 | 6 | 6 | 37 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/library/model/module/type/Pom | 0 | 6 | 6 | 37 | 0% | | 0 | 0 | | |
| org/cryptotrader/version/script | 9 | 74 | 83 | 173 | 10.8% | | 0 | 20 | 0% | |
| org/cryptotrader/version/script/PomParser | 9 | 30 | 39 | 93 | 23% | | 0 | 8 | 0% | |
| org/cryptotrader/version/script/PomValidator | 0 | 44 | 44 | 80 | 0% | | 0 | 12 | 0% | |