Skip to content

Revert "chore: update default Claude model from opus-4-6 to opus-4-7"#9

Merged
Hansen1018 merged 1 commit into
devfrom
revert-8-feat/add-anthropic-opus-4-7
Apr 16, 2026
Merged

Revert "chore: update default Claude model from opus-4-6 to opus-4-7"#9
Hansen1018 merged 1 commit into
devfrom
revert-8-feat/add-anthropic-opus-4-7

Conversation

@Hansen1018

Copy link
Copy Markdown
Owner

Reverts #8

@github-actions

Copy link
Copy Markdown

⚠️ PR Title Format Suggestion

Your PR title doesn't follow the Conventional Commits format, but this won't block your PR from being merged.

Current title: Revert "chore: update default Claude model from opus-4-6 to opus-4-7"

Recommended format: type(scope): description

Valid types:

feat, fix, docs, style, refactor, perf, test, chore, ci, security, build

Common scopes (optional):

exchange, trader, ai, api, ui, frontend, backend, security, deps, workflow, github, actions, config, docker, build, release

Examples:

  • feat(trader): add new trading strategy
  • fix(api): resolve authentication issue
  • docs: update README
  • chore(deps): update dependencies
  • ci(workflow): improve GitHub Actions

Note: This is a suggestion to improve consistency. Your PR can still be reviewed and merged.


This is an automated comment. You can update the PR title anytime.

@Hansen1018 Hansen1018 restored the revert-8-feat/add-anthropic-opus-4-7 branch April 16, 2026 15:56
@github-actions

Copy link
Copy Markdown

🔴 Go Test Coverage Report

Total Coverage: 9.8% (needs improvement)

Coverage

📊 Detailed Coverage Report (click to expand)

Coverage by Package

nofx/api/crypto_handler.go:18:				NewCryptoHandler			0.0%
nofx/api/crypto_handler.go:27:				HandleGetCryptoConfig			0.0%
nofx/api/crypto_handler.go:37:				HandleGetPublicKey			0.0%
nofx/api/crypto_handler.go:59:				HandleDecryptSensitiveData		0.0%
nofx/api/crypto_handler.go:86:				isValidPrivateKey			0.0%
nofx/api/errors.go:17:					writeAPIError				0.0%
nofx/api/errors.go:32:					SafeError				0.0%
nofx/api/errors.go:41:					SafeErrorWithDetails			0.0%
nofx/api/errors.go:50:					SafeInternalError			0.0%
nofx/api/errors.go:57:					SafeBadRequest				0.0%
nofx/api/errors.go:61:					SafeBadRequestWithDetails		0.0%
nofx/api/errors.go:66:					SafeNotFound				0.0%
nofx/api/errors.go:71:					SafeUnauthorized			0.0%
nofx/api/errors.go:76:					SafeForbidden				0.0%
nofx/api/errors.go:81:					IsSensitiveError			0.0%
nofx/api/errors.go:118:					SanitizeError				0.0%
nofx/api/exchange_account_state.go:61:			NewExchangeAccountStateCache		0.0%
nofx/api/exchange_account_state.go:67:			Get					0.0%
nofx/api/exchange_account_state.go:77:			Set					0.0%
nofx/api/exchange_account_state.go:86:			Invalidate				0.0%
nofx/api/exchange_account_state.go:92:			cloneExchangeAccountStates		0.0%
nofx/api/exchange_account_state.go:100:			handleGetExchangeAccountStates		0.0%
nofx/api/exchange_account_state.go:112:			getExchangeAccountStates		0.0%
nofx/api/exchange_account_state.go:148:			probeExchangeAccountState		0.0%
nofx/api/exchange_account_state.go:225:			buildExchangeProbeTrader		0.0%
nofx/api/exchange_account_state.go:266:			extractExchangeTotalEquity		0.0%
nofx/api/exchange_account_state.go:271:			extractFirstNumeric			0.0%
nofx/api/exchange_account_state.go:300:			formatDisplayBalance			0.0%
nofx/api/exchange_account_state.go:312:			accountAssetForExchange			0.0%
nofx/api/exchange_account_state.go:321:			missingExchangeCredentials		0.0%
nofx/api/exchange_account_state.go:350:			classifyExchangeProbeError		0.0%
nofx/api/exchange_account_state.go:372:			limitErrorMessage			0.0%
nofx/api/handler_ai_cost.go:10:				handleGetAICosts			0.0%
nofx/api/handler_ai_cost.go:33:				handleGetAICostsSummary			0.0%
nofx/api/handler_ai_model.go:49:			handleGetModelConfigs			0.0%
nofx/api/handler_ai_model.go:108:			handleUpdateModelConfigs		0.0%
nofx/api/handler_ai_model.go:210:			handleGetSupportedModels		0.0%
nofx/api/handler_competition.go:17:			handleDecisions				0.0%
nofx/api/handler_competition.go:41:			handleLatestDecisions			0.0%
nofx/api/handler_competition.go:81:			handleStatistics			0.0%
nofx/api/handler_competition.go:104:			handleCompetition			0.0%
nofx/api/handler_competition.go:124:			handleEquityHistory			0.0%
nofx/api/handler_competition.go:184:			handlePublicTraderList			0.0%
nofx/api/handler_competition.go:228:			handlePublicCompetition			0.0%
nofx/api/handler_competition.go:239:			handleTopTraders			0.0%
nofx/api/handler_competition.go:251:			handleEquityHistoryBatch		0.0%
nofx/api/handler_competition.go:321:			getEquityHistoryForTraders		0.0%
nofx/api/handler_competition.go:441:			handleGetPublicTraderConfig		0.0%
nofx/api/handler_exchange.go:80:			handleGetExchangeConfigs		0.0%
nofx/api/handler_exchange.go:120:			handleUpdateExchangeConfigs		0.0%
nofx/api/handler_exchange.go:215:			handleCreateExchange			0.0%
nofx/api/handler_exchange.go:299:			handleDeleteExchange			0.0%
nofx/api/handler_exchange.go:341:			handleGetSupportedExchanges		0.0%
nofx/api/handler_klines.go:23:				handleKlines				0.0%
nofx/api/handler_klines.go:84:				getKlinesFromCoinank			0.0%
nofx/api/handler_klines.go:209:				getKlinesFromAlpaca			0.0%
nofx/api/handler_klines.go:242:				getKlinesFromTwelveData			0.0%
nofx/api/handler_klines.go:284:				getKlinesFromHyperliquid		0.0%
nofx/api/handler_klines.go:324:				handleSymbols				0.0%
nofx/api/handler_onboarding.go:42:			handleBeginnerOnboarding		0.0%
nofx/api/handler_onboarding.go:95:			handleCurrentBeginnerWallet		0.0%
nofx/api/handler_onboarding.go:154:			resolveBeginnerWallet			0.0%
nofx/api/handler_onboarding.go:208:			findConfiguredClaw402ModelID		0.0%
nofx/api/handler_onboarding.go:223:			walletAddressFromPrivateKey		0.0%
nofx/api/handler_onboarding.go:240:			persistBeginnerWalletEnv		0.0%
nofx/api/handler_onboarding.go:271:			uniqueEnvPaths				0.0%
nofx/api/handler_onboarding.go:285:			upsertEnvFile				0.0%
nofx/api/handler_order.go:14:				handleTraderList			0.0%
nofx/api/handler_order.go:60:				handleGetTraderConfig			0.0%
nofx/api/handler_order.go:111:				handleStatus				0.0%
nofx/api/handler_order.go:129:				handleAccount				0.0%
nofx/api/handler_order.go:159:				handlePositions				0.0%
nofx/api/handler_order.go:182:				handlePositionHistory			0.0%
nofx/api/handler_order.go:234:				handleTrades				0.0%
nofx/api/handler_order.go:289:				handleOrders				0.0%
nofx/api/handler_order.go:334:				handleOrderFills			0.0%
nofx/api/handler_order.go:371:				handleOpenOrders			0.0%
nofx/api/handler_telegram.go:10:			handleGetTelegramConfig			0.0%
nofx/api/handler_telegram.go:44:			handleUpdateTelegramConfig		0.0%
nofx/api/handler_telegram.go:75:			handleUnbindTelegram			0.0%
nofx/api/handler_telegram.go:84:			handleUpdateTelegramModel		0.0%
nofx/api/handler_trader.go:57:				formatTraderCreationError		0.0%
nofx/api/handler_trader.go:64:				traderCreationRequestError		0.0%
nofx/api/handler_trader.go:68:				exchangeDisplayName			0.0%
nofx/api/handler_trader.go:81:				missingExchangeFields			0.0%
nofx/api/handler_trader.go:134:				mapStringPairs				0.0%
nofx/api/handler_trader.go:146:				validateExchangeForTraderCreation	0.0%
nofx/api/handler_trader.go:183:				classifyTraderSetupReason		0.0%
nofx/api/handler_trader.go:221:				humanizeTraderSetupReason		0.0%
nofx/api/handler_trader.go:226:				traderSetupReasonParams			0.0%
nofx/api/handler_trader.go:248:				describeTraderLoadError			0.0%
nofx/api/handler_trader.go:267:				describeTraderCreationWarning		0.0%
nofx/api/handler_trader.go:280:				describeTraderStartError		0.0%
nofx/api/handler_trader.go:293:				formatTraderStartError			0.0%
nofx/api/handler_trader.go:301:				handleCreateTrader			0.0%
nofx/api/handler_trader.go:547:				handleUpdateTrader			0.0%
nofx/api/handler_trader.go:711:				handleDeleteTrader			0.0%
nofx/api/handler_trader.go:739:				handleStartTrader			0.0%
nofx/api/handler_trader.go:836:				handleStopTrader			0.0%
nofx/api/handler_trader_config.go:12:			handleUpdateTraderPrompt		0.0%
nofx/api/handler_trader_config.go:45:			handleToggleCompetition			0.0%
nofx/api/handler_trader_status.go:26:			handleGetGridRiskInfo			0.0%
nofx/api/handler_trader_status.go:40:			handleSyncBalance			0.0%
nofx/api/handler_trader_status.go:123:			handleClosePosition			0.0%
nofx/api/handler_trader_status.go:282:			recordClosePositionOrder		0.0%
nofx/api/handler_trader_status.go:389:			pollAndUpdateOrderStatus		0.0%
nofx/api/handler_trader_status.go:477:			pollLighterTradeHistory			0.0%
nofx/api/handler_trader_status.go:484:			getSideFromAction			0.0%
nofx/api/handler_user.go:19:				handleLogout				0.0%
nofx/api/handler_user.go:49:				handleRegister				0.0%
nofx/api/handler_user.go:131:				handleLogin				0.0%
nofx/api/handler_user.go:171:				handleChangePassword			0.0%
nofx/api/handler_user.go:193:				handleResetPassword			0.0%
nofx/api/handler_user.go:232:				handleResetAccount			0.0%
nofx/api/handler_user.go:256:				adoptOrphanRecords			0.0%
nofx/api/handler_user.go:274:				initUserDefaultConfigs			0.0%
nofx/api/handler_user.go:283:				createDefaultStrategies			0.0%
nofx/api/handler_wallet.go:29:				handleWalletValidate			0.0%
nofx/api/handler_wallet.go:101:				handleWalletGenerate			0.0%
nofx/api/handler_wallet.go:118:				checkClaw402Health			0.0%
nofx/api/route_registry.go:22:				route					0.0%
nofx/api/route_registry.go:28:				routeWithSchema				0.0%
nofx/api/route_registry.go:50:				GetAPIDocs				0.0%
nofx/api/server.go:32:					NewServer				0.0%
nofx/api/server.go:60:					corsMiddleware				0.0%
nofx/api/server.go:76:					setupRoutes				0.0%
nofx/api/server.go:365:					handleHealth				0.0%
nofx/api/server.go:373:					handleGetSystemConfig			0.0%
nofx/api/server.go:383:					handleGetServerIP			0.0%
nofx/api/server.go:405:					getPublicIPFromAPI			0.0%
nofx/api/server.go:445:					getPublicIPFromInterface		0.0%
nofx/api/server.go:490:					isPrivateIP				0.0%
nofx/api/server.go:512:					getTraderFromQuery			0.0%
nofx/api/server.go:542:					authMiddleware				0.0%
nofx/api/server.go:585:					Start					0.0%
nofx/api/server.go:621:					Shutdown				0.0%
nofx/api/server.go:631:					SetTelegramReloadCh			0.0%
nofx/api/strategy.go:21:				validateStrategyConfig			0.0%
nofx/api/strategy.go:35:				handleEstimateTokens			0.0%
nofx/api/strategy.go:49:				handlePublicStrategies			0.0%
nofx/api/strategy.go:86:				handleGetStrategies			0.0%
nofx/api/strategy.go:125:				handleGetStrategy			0.0%
nofx/api/strategy.go:157:				handleCreateStrategy			0.0%
nofx/api/strategy.go:226:				handleUpdateStrategy			0.0%
nofx/api/strategy.go:337:				handleDeleteStrategy			0.0%
nofx/api/strategy.go:355:				handleActivateStrategy			0.0%
nofx/api/strategy.go:373:				handleDuplicateStrategy			0.0%
nofx/api/strategy.go:404:				handleGetActiveStrategy			0.0%
nofx/api/strategy.go:434:				handleGetDefaultStrategyConfig		0.0%
nofx/api/strategy.go:447:				handlePreviewPrompt			0.0%
nofx/api/strategy.go:496:				handleStrategyTestRun			0.0%
nofx/api/strategy.go:660:				runRealAITest				0.0%
nofx/api/utils.go:7:					MaskSensitiveString			100.0%
nofx/api/utils.go:19:					SanitizeModelConfigForLog		100.0%
nofx/api/utils.go:38:					SanitizeExchangeConfigForLog		76.2%
nofx/api/utils.go:91:					MaskEmail				100.0%
nofx/auth/auth.go:26:					SetJWTSecret				0.0%
nofx/auth/auth.go:31:					BlacklistToken				0.0%
nofx/auth/auth.go:52:					IsTokenBlacklisted			0.0%
nofx/auth/auth.go:73:					HashPassword				0.0%
nofx/auth/auth.go:79:					CheckPassword				0.0%
nofx/auth/auth.go:85:					GenerateJWT				0.0%
nofx/auth/auth.go:102:					ValidateJWT				0.0%
nofx/config/config.go:49:				Init					0.0%
nofx/config/config.go:140:				Get					0.0%
nofx/crypto/crypto.go:56:				NewCryptoService			0.0%
nofx/crypto/crypto.go:77:				loadRSAPrivateKeyFromEnv		0.0%
nofx/crypto/crypto.go:90:				loadDataKeyFromEnv			0.0%
nofx/crypto/crypto.go:109:				ParseRSAPrivateKeyFromPEM		0.0%
nofx/crypto/crypto.go:134:				decodePossibleKey			0.0%
nofx/crypto/crypto.go:153:				normalizeAESKey				0.0%
nofx/crypto/crypto.go:167:				HasDataKey				0.0%
nofx/crypto/crypto.go:171:				GetPublicKeyPEM				0.0%
nofx/crypto/crypto.go:185:				EncryptForStorage			0.0%
nofx/crypto/crypto.go:219:				DecryptFromStorage			0.0%
nofx/crypto/crypto.go:269:				IsEncryptedStorageValue			0.0%
nofx/crypto/crypto.go:273:				composeAAD				0.0%
nofx/crypto/crypto.go:280:				isEncryptedStorageValue			0.0%
nofx/crypto/crypto.go:284:				DecryptPayload				0.0%
nofx/crypto/crypto.go:351:				DecryptSensitiveData			0.0%
nofx/crypto/crypto.go:361:				GenerateKeyPair				0.0%
nofx/crypto/crypto.go:389:				GenerateDataKey				0.0%
nofx/crypto/crypto.go:405:				SetGlobalCryptoService			0.0%
nofx/crypto/crypto.go:415:				Scan					0.0%
nofx/crypto/crypto.go:449:				Value					0.0%
nofx/crypto/crypto.go:467:				String					0.0%
nofx/hook/hooks.go:14:					HookExec				0.0%
nofx/hook/hooks.go:30:					RegisterHook				0.0%
nofx/hook/http_client_hook.go:13:			Error					0.0%
nofx/hook/http_client_hook.go:20:			GetResult				0.0%
nofx/hook/ip_hook.go:10:				Error					0.0%
nofx/hook/ip_hook.go:14:				GetResult				0.0%
nofx/hook/trader_hook.go:15:				Error					0.0%
nofx/hook/trader_hook.go:22:				GetResult				0.0%
nofx/hook/trader_hook.go:32:				Error					0.0%
nofx/hook/trader_hook.go:39:				GetResult				0.0%
nofx/kernel/engine.go:191:				NewStrategyEngine			0.0%
nofx/kernel/engine.go:228:				GetRiskControlConfig			0.0%
nofx/kernel/engine.go:233:				GetLanguage				0.0%
nofx/kernel/engine.go:246:				GetConfig				0.0%
nofx/kernel/engine.go:255:				GetCandidateCoins			0.0%
nofx/kernel/engine.go:450:				filterExcludedCoins			0.0%
nofx/kernel/engine.go:475:				getAI500Coins				0.0%
nofx/kernel/engine.go:495:				getOITopCoins				0.0%
nofx/kernel/engine.go:519:				getOILowCoins				0.0%
nofx/kernel/engine.go:544:				getHyperAllCoins			0.0%
nofx/kernel/engine.go:565:				getHyperMainCoins			0.0%
nofx/kernel/engine.go:594:				FetchMarketData				0.0%
nofx/kernel/engine.go:599:				FetchExternalData			0.0%
nofx/kernel/engine.go:614:				fetchSingleExternalSource		0.0%
nofx/kernel/engine.go:660:				extractJSONPath				0.0%
nofx/kernel/engine.go:676:				FetchQuantData				0.0%
nofx/kernel/engine.go:749:				FetchQuantDataBatch			0.0%
nofx/kernel/engine.go:771:				FetchOIRankingData			0.0%
nofx/kernel/engine.go:802:				FetchNetFlowRankingData			0.0%
nofx/kernel/engine.go:834:				FetchPriceRankingData			0.0%
nofx/kernel/engine.go:869:				detectLanguage				0.0%
nofx/kernel/engine_analysis.go:38:			GetFullDecision				0.0%
nofx/kernel/engine_analysis.go:45:			GetFullDecisionWithStrategy		0.0%
nofx/kernel/engine_analysis.go:149:			fetchMarketDataWithStrategy		0.0%
nofx/kernel/engine_analysis.go:230:			parseFullDecisionResponse		0.0%
nofx/kernel/engine_analysis.go:254:			extractCoTTrace				0.0%
nofx/kernel/engine_analysis.go:274:			extractDecisions			0.0%
nofx/kernel/engine_analysis.go:337:			fixMissingQuotes			0.0%
nofx/kernel/engine_analysis.go:361:			validateJSONFormat			0.0%
nofx/kernel/engine_analysis.go:388:			min					0.0%
nofx/kernel/engine_analysis.go:395:			removeInvisibleRunes			0.0%
nofx/kernel/engine_analysis.go:399:			compactArrayOpen			0.0%
nofx/kernel/engine_position.go:12:			validateDecisions			0.0%
nofx/kernel/engine_position.go:21:			validateDecision			79.6%
nofx/kernel/engine_prompt.go:17:			BuildSystemPrompt			0.0%
nofx/kernel/engine_prompt.go:155:			writeAvailableIndicators		0.0%
nofx/kernel/engine_prompt.go:228:			BuildUserPrompt				0.0%
nofx/kernel/engine_prompt.go:402:			formatPositionInfo			0.0%
nofx/kernel/engine_prompt.go:442:			formatCoinSourceTag			0.0%
nofx/kernel/engine_prompt.go:503:			formatMarketData			0.0%
nofx/kernel/engine_prompt.go:613:			formatTimeframeSeriesData		0.0%
nofx/kernel/engine_prompt.go:669:			formatQuantData				0.0%
nofx/kernel/engine_prompt.go:754:			formatFlowValue				0.0%
nofx/kernel/engine_prompt.go:773:			formatFloatSlice			0.0%
nofx/kernel/formatter.go:20:				FormatContextForAI			100.0%
nofx/kernel/formatter.go:34:				FormatContextDataOnly			0.0%
nofx/kernel/formatter.go:39:				formatContextData			75.9%
nofx/kernel/formatter.go:107:				formatHeaderZH				100.0%
nofx/kernel/formatter.go:113:				formatAccountZH				84.6%
nofx/kernel/formatter.go:135:				formatTradingStatsZH			0.0%
nofx/kernel/formatter.go:196:				formatRecentTradesZH			88.9%
nofx/kernel/formatter.go:227:				formatCurrentPositionsZH		82.6%
nofx/kernel/formatter.go:270:				formatCandidateCoinsZH			33.3%
nofx/kernel/formatter.go:319:				formatKlineDataZH			0.0%
nofx/kernel/formatter.go:361:				getOIInterpretationZH			0.0%
nofx/kernel/formatter.go:376:				formatHeaderEN				100.0%
nofx/kernel/formatter.go:382:				formatAccountEN				84.6%
nofx/kernel/formatter.go:404:				formatTradingStatsEN			0.0%
nofx/kernel/formatter.go:465:				formatRecentTradesEN			88.9%
nofx/kernel/formatter.go:495:				formatCurrentPositionsEN		82.6%
nofx/kernel/formatter.go:536:				formatCandidateCoinsEN			33.3%
nofx/kernel/formatter.go:581:				formatKlineDataEN			0.0%
nofx/kernel/formatter.go:626:				getOIInterpretationEN			0.0%
nofx/kernel/grid_engine.go:97:				BuildGridSystemPrompt			0.0%
nofx/kernel/grid_engine.go:104:				buildGridSystemPromptZh			0.0%
nofx/kernel/grid_engine.go:156:				buildGridSystemPromptEn			0.0%
nofx/kernel/grid_engine.go:209:				BuildGridUserPrompt			0.0%
nofx/kernel/grid_engine.go:216:				buildGridUserPromptZh			0.0%
nofx/kernel/grid_engine.go:327:				buildGridUserPromptEn			0.0%
nofx/kernel/grid_engine.go:443:				GetGridDecisions			0.0%
nofx/kernel/grid_engine.go:489:				parseGridDecisions			0.0%
nofx/kernel/grid_engine.go:516:				extractJSONArray			0.0%
nofx/kernel/grid_engine.go:533:				isValidGridAction			0.0%
nofx/kernel/grid_engine.go:557:				BuildGridContextFromMarketData		0.0%
nofx/kernel/grid_engine.go:613:				max					0.0%
nofx/kernel/prompt_builder.go:20:			NewPromptBuilder			100.0%
nofx/kernel/prompt_builder.go:25:			BuildSystemPrompt			100.0%
nofx/kernel/prompt_builder.go:33:			BuildUserPrompt				100.0%
nofx/kernel/prompt_builder.go:46:			buildSystemPromptZH			100.0%
nofx/kernel/prompt_builder.go:125:			getDecisionRequirementsZH		100.0%
nofx/kernel/prompt_builder.go:181:			buildSystemPromptEN			100.0%
nofx/kernel/prompt_builder.go:260:			getDecisionRequirementsEN		100.0%
nofx/kernel/prompt_builder.go:317:			FormatDecisionExample			100.0%
nofx/kernel/prompt_builder.go:334:			ValidateDecisionFormat			100.0%
nofx/kernel/schema.go:36:				GetName					0.0%
nofx/kernel/schema.go:44:				GetFormula				0.0%
nofx/kernel/schema.go:52:				GetDesc					0.0%
nofx/kernel/schema.go:232:				GetDesc					0.0%
nofx/kernel/schema.go:240:				GetReason				0.0%
nofx/kernel/schema.go:446:				GetSchemaPrompt				100.0%
nofx/kernel/schema.go:454:				getSchemaPromptZH			100.0%
nofx/kernel/schema.go:493:				getSchemaPromptEN			100.0%
nofx/kernel/schema.go:532:				formatFieldDefZH			100.0%
nofx/kernel/schema.go:545:				formatFieldDefEN			100.0%
nofx/logger/config.go:9:				SetDefaults				0.0%
nofx/logger/logger.go:27:				Format					0.0%
nofx/logger/logger.go:52:				init					0.0%
nofx/logger/logger.go:66:				Init					0.0%
nofx/logger/logger.go:110:				InitWithSimpleConfig			0.0%
nofx/logger/logger.go:115:				Shutdown				0.0%
nofx/logger/logger.go:127:				WithFields				0.0%
nofx/logger/logger.go:132:				WithField				0.0%
nofx/logger/logger.go:137:				Debug					0.0%
nofx/logger/logger.go:141:				Info					0.0%
nofx/logger/logger.go:145:				Warn					0.0%
nofx/logger/logger.go:149:				Debugf					0.0%
nofx/logger/logger.go:153:				Infof					0.0%
nofx/logger/logger.go:157:				Warnf					0.0%
nofx/logger/logger.go:161:				Error					0.0%
nofx/logger/logger.go:165:				Errorf					0.0%
nofx/logger/logger.go:169:				Fatal					0.0%
nofx/logger/logger.go:173:				Fatalf					0.0%
nofx/logger/logger.go:177:				Panic					0.0%
nofx/logger/logger.go:181:				Panicf					0.0%
nofx/logger/logger.go:194:				NewMCPLogger				0.0%
nofx/logger/logger.go:198:				Debugf					0.0%
nofx/logger/logger.go:202:				Infof					0.0%
nofx/logger/logger.go:206:				Warnf					0.0%
nofx/logger/logger.go:210:				Errorf					0.0%
nofx/main.go:24:					main					0.0%
nofx/main.go:164:					initInstallationID			0.0%
nofx/manager/trader_manager.go:30:			NewTraderManager			0.0%
nofx/manager/trader_manager.go:41:			GetLoadError				0.0%
nofx/manager/trader_manager.go:48:			GetTrader				0.0%
nofx/manager/trader_manager.go:60:			GetAllTraders				0.0%
nofx/manager/trader_manager.go:72:			GetTraderIDs				0.0%
nofx/manager/trader_manager.go:84:			StartAll				0.0%
nofx/manager/trader_manager.go:100:			StopAll					0.0%
nofx/manager/trader_manager.go:111:			AutoStartRunningTraders			0.0%
nofx/manager/trader_manager.go:154:			GetComparisonData			0.0%
nofx/manager/trader_manager.go:191:			GetCompetitionData			0.0%
nofx/manager/trader_manager.go:260:			getConcurrentTraderData			0.0%
nofx/manager/trader_manager.go:359:			GetTopTradersData			0.0%
nofx/manager/trader_manager.go:390:			RemoveTrader				0.0%
nofx/manager/trader_manager.go:407:			LoadUserTradersFromStore		0.0%
nofx/manager/trader_manager.go:503:			LoadTradersFromStore			0.0%
nofx/manager/trader_manager.go:605:			addTraderFromStore			0.0%
nofx/market/api_client.go:22:				NewAPIClient				0.0%
nofx/market/api_client.go:38:				GetExchangeInfo				0.0%
nofx/market/api_client.go:59:				GetKlines				0.0%
nofx/market/api_client.go:103:				parseKline				0.0%
nofx/market/api_client.go:126:				GetCurrentPrice				0.0%
nofx/market/data.go:28:					Get					0.0%
nofx/market/data.go:33:					GetWithExchange				0.0%
nofx/market/data.go:147:				GetWithTimeframes			0.0%
nofx/market/data.go:259:				getOpenInterestData			0.0%
nofx/market/data.go:293:				getFundingRate				0.0%
nofx/market/data.go:345:				Format					0.0%
nofx/market/data.go:433:				formatTimeframeData			0.0%
nofx/market/data.go:486:				formatPriceWithDynamicPrecision		0.0%
nofx/market/data.go:516:				formatFloatSlice			0.0%
nofx/market/data.go:541:				IsXyzDexAsset				0.0%
nofx/market/data.go:557:				Normalize				0.0%
nofx/market/data.go:590:				parseFloat				0.0%
nofx/market/data.go:606:				BuildDataFromKlines			0.0%
nofx/market/data.go:636:				priceChangeFromSeries			0.0%
nofx/market/data.go:656:				isStaleData				100.0%
nofx/market/data_indicators.go:6:			calculateEMA				90.0%
nofx/market/data_indicators.go:28:			calculateMACD				80.0%
nofx/market/data_indicators.go:42:			calculateRSI				95.7%
nofx/market/data_indicators.go:86:			calculateATR				100.0%
nofx/market/data_indicators.go:121:			calculateBOLL				0.0%
nofx/market/data_indicators.go:150:			calculateDonchian			100.0%
nofx/market/data_indicators.go:184:			calculateBoxData			85.7%
nofx/market/data_indicators.go:203:			ExportCalculateEMA			0.0%
nofx/market/data_indicators.go:208:			ExportCalculateMACD			0.0%
nofx/market/data_indicators.go:213:			ExportCalculateRSI			0.0%
nofx/market/data_indicators.go:218:			ExportCalculateATR			0.0%
nofx/market/data_indicators.go:223:			ExportCalculateBOLL			0.0%
nofx/market/data_indicators.go:228:			ExportCalculateDonchian			100.0%
nofx/market/data_indicators.go:233:			ExportCalculateBoxData			100.0%
nofx/market/data_klines.go:18:				getKlinesFromCoinAnk			0.0%
nofx/market/data_klines.go:116:				getKlinesFromHyperliquid		0.0%
nofx/market/data_klines.go:157:				calculateTimeframeSeries		0.0%
nofx/market/data_klines.go:242:				calculatePriceChangeByBars		0.0%
nofx/market/data_klines.go:273:				parseTimeframeToMinutes			0.0%
nofx/market/data_klines.go:309:				calculateIntradaySeries			100.0%
nofx/market/data_klines.go:359:				calculateLongerTermData			0.0%
nofx/market/data_klines.go:405:				GetBoxData				0.0%
nofx/market/historical.go:17:				GetKlinesRange				0.0%
nofx/market/timeframe.go:26:				NormalizeTimeframe			0.0%
nofx/market/timeframe.go:38:				TFDuration				0.0%
nofx/market/timeframe.go:47:				MustNormalizeTimeframe			0.0%
nofx/market/timeframe.go:56:				SupportedTimeframes			0.0%
nofx/market/types.go:243:				GetBuySellRatio				0.0%
nofx/mcp/client.go:56:					Channel					0.0%
nofx/mcp/client.go:87:					New					0.0%
nofx/mcp/client.go:110:					NewClient				100.0%
nofx/mcp/client.go:146:					SetAPIKey				0.0%
nofx/mcp/client.go:162:					SetTimeout				100.0%
nofx/mcp/client.go:167:					CallWithMessages			100.0%
nofx/mcp/client.go:207:					SetAuthHeader				100.0%
nofx/mcp/client.go:211:					BuildMCPRequestBody			64.3%
nofx/mcp/client.go:254:					MarshalRequestBody			75.0%
nofx/mcp/client.go:262:					ParseMCPResponse			100.0%
nofx/mcp/client.go:272:					ParseMCPResponseFull			77.8%
nofx/mcp/client.go:313:					BuildUrl				100.0%
nofx/mcp/client.go:320:					BuildRequest				83.3%
nofx/mcp/client.go:336:					Call					88.5%
nofx/mcp/client.go:390:					String					100.0%
nofx/mcp/client.go:396:					BaseClient				0.0%
nofx/mcp/client.go:399:					IsRetryableError			100.0%
nofx/mcp/client.go:415:					CallWithRequest				54.5%
nofx/mcp/client.go:461:					CallWithRequestFull			0.0%
nofx/mcp/client.go:492:					callWithRequestFull			0.0%
nofx/mcp/client.go:525:					callWithRequest				75.0%
nofx/mcp/client.go:569:					BuildRequestBodyFromRequest		65.1%
nofx/mcp/client.go:666:					CallWithRequestStream			0.0%
nofx/mcp/client.go:743:					ParseSSEStream				0.0%
nofx/mcp/client.go:811:					ReportStreamUsage			0.0%
nofx/mcp/config.go:41:					DefaultConfig				100.0%
nofx/mcp/config.go:58:					getEnvInt				50.0%
nofx/mcp/config.go:68:					getEnvString				0.0%
nofx/mcp/context_guard.go:11:				estimateMessageTokens			100.0%
nofx/mcp/context_guard.go:23:				estimateMessageTokensAny		0.0%
nofx/mcp/context_guard.go:42:				truncateMessages			90.3%
nofx/mcp/context_guard.go:97:				truncateMessagesAny			0.0%
nofx/mcp/logger.go:16:					Debugf					0.0%
nofx/mcp/logger.go:17:					Infof					0.0%
nofx/mcp/logger.go:18:					Warnf					0.0%
nofx/mcp/logger.go:19:					Errorf					0.0%
nofx/mcp/logger.go:22:					NewNoopLogger				0.0%
nofx/mcp/options.go:19:					WithLogger				100.0%
nofx/mcp/options.go:34:					WithHTTPClient				100.0%
nofx/mcp/options.go:48:					WithTimeout				100.0%
nofx/mcp/options.go:59:					WithMaxRetries				100.0%
nofx/mcp/options.go:69:					WithRetryWaitBase			100.0%
nofx/mcp/options.go:83:					WithMaxTokens				100.0%
nofx/mcp/options.go:96:					WithMaxContext				0.0%
nofx/mcp/options.go:106:				WithTemperature				100.0%
nofx/mcp/options.go:117:				WithAPIKey				100.0%
nofx/mcp/options.go:124:				WithBaseURL				100.0%
nofx/mcp/options.go:131:				WithModel				100.0%
nofx/mcp/options.go:138:				WithProvider				100.0%
nofx/mcp/options.go:145:				WithUseFullURL				100.0%
nofx/mcp/options.go:159:				WithDeepSeekConfig			100.0%
nofx/mcp/options.go:172:				WithQwenConfig				100.0%
nofx/mcp/options.go:186:				WithMiniMaxConfig			0.0%
nofx/mcp/payment/claw402.go:35:				Error					0.0%
nofx/mcp/payment/claw402.go:44:				shortAddr				0.0%
nofx/mcp/payment/claw402.go:84:				init					0.0%
nofx/mcp/payment/claw402.go:99:				BaseClient				0.0%
nofx/mcp/payment/claw402.go:102:			NewClaw402Client			0.0%
nofx/mcp/payment/claw402.go:107:			NewClaw402ClientWithOptions		0.0%
nofx/mcp/payment/claw402.go:126:			SetAPIKey				0.0%
nofx/mcp/payment/claw402.go:154:			resolveEndpoint				0.0%
nofx/mcp/payment/claw402.go:165:			SetAuthHeader				0.0%
nofx/mcp/payment/claw402.go:167:			Call					0.0%
nofx/mcp/payment/claw402.go:174:			CallWithRequestFull			0.0%
nofx/mcp/payment/claw402.go:183:			walletAddress				0.0%
nofx/mcp/payment/claw402.go:193:			preflightBalance			0.0%
nofx/mcp/payment/claw402.go:220:			signPayment				0.0%
nofx/mcp/payment/claw402.go:226:			BuildMCPRequestBody			0.0%
nofx/mcp/payment/claw402.go:233:			BuildRequestBodyFromRequest		0.0%
nofx/mcp/payment/claw402.go:240:			ParseMCPResponse			0.0%
nofx/mcp/payment/claw402.go:247:			ParseMCPResponseFull			0.0%
nofx/mcp/payment/claw402.go:255:			BuildUrl				0.0%
nofx/mcp/payment/claw402.go:259:			BuildRequest				0.0%
nofx/mcp/payment/x402.go:73:				X402DecodeHeader			0.0%
nofx/mcp/payment/x402.go:85:				MakeClaw402SignFunc			0.0%
nofx/mcp/payment/x402.go:93:				SignBasePaymentHeader			0.0%
nofx/mcp/payment/x402.go:116:				DoX402Request				0.0%
nofx/mcp/payment/x402.go:251:				DoX402RequestStream			0.0%
nofx/mcp/payment/x402.go:392:				X402CallStream				0.0%
nofx/mcp/payment/x402.go:480:				X402BuildRequest			0.0%
nofx/mcp/payment/x402.go:491:				X402SetAuthHeader			0.0%
nofx/mcp/payment/x402.go:494:				X402Call				0.0%
nofx/mcp/payment/x402.go:513:				X402CallFull				0.0%
nofx/mcp/payment/x402.go:552:				keccak256String				0.0%
nofx/mcp/payment/x402.go:558:				keccak256Bytes				0.0%
nofx/mcp/payment/x402.go:567:				SignX402Payment				0.0%
nofx/mcp/payment/x402.go:678:				buildDomainSeparatorDynamic		0.0%
nofx/mcp/payment/x402.go:710:				buildTransferWithAuthHashDynamic	0.0%
nofx/mcp/payment/x402.go:739:				hexToAddress				0.0%
nofx/mcp/payment/x402.go:751:				hexToBytes32				0.0%
nofx/mcp/payment/x402.go:763:				parseBigInt				0.0%
nofx/mcp/payment/x402.go:778:				leftPad32				0.0%
nofx/mcp/provider/claude.go:32:				init					50.0%
nofx/mcp/provider/claude.go:45:				BaseClient				0.0%
nofx/mcp/provider/claude.go:48:				NewClaudeClient				0.0%
nofx/mcp/provider/claude.go:53:				NewClaudeClientWithOptions		0.0%
nofx/mcp/provider/claude.go:68:				SetAPIKey				0.0%
nofx/mcp/provider/claude.go:84:				SetAuthHeader				0.0%
nofx/mcp/provider/claude.go:90:				BuildUrl				0.0%
nofx/mcp/provider/claude.go:96:				BuildMCPRequestBody			0.0%
nofx/mcp/provider/claude.go:109:			BuildRequestBodyFromRequest		0.0%
nofx/mcp/provider/claude.go:165:			ConvertMessagesToAnthropic		0.0%
nofx/mcp/provider/claude.go:227:			ParseMCPResponse			0.0%
nofx/mcp/provider/claude.go:237:			ParseMCPResponseFull			0.0%
nofx/mcp/provider/deepseek.go:9:			init					50.0%
nofx/mcp/provider/deepseek.go:19:			BaseClient				0.0%
nofx/mcp/provider/deepseek.go:24:			NewDeepSeekClient			0.0%
nofx/mcp/provider/deepseek.go:29:			NewDeepSeekClientWithOptions		100.0%
nofx/mcp/provider/deepseek.go:47:			SetAPIKey				0.0%
nofx/mcp/provider/deepseek.go:67:			SetAuthHeader				0.0%
nofx/mcp/provider/gemini.go:14:				init					50.0%
nofx/mcp/provider/gemini.go:24:				BaseClient				0.0%
nofx/mcp/provider/gemini.go:27:				NewGeminiClient				0.0%
nofx/mcp/provider/gemini.go:32:				NewGeminiClientWithOptions		0.0%
nofx/mcp/provider/gemini.go:50:				SetAPIKey				0.0%
nofx/mcp/provider/gemini.go:71:				SetAuthHeader				0.0%
nofx/mcp/provider/grok.go:14:				init					50.0%
nofx/mcp/provider/grok.go:24:				BaseClient				0.0%
nofx/mcp/provider/grok.go:27:				NewGrokClient				0.0%
nofx/mcp/provider/grok.go:32:				NewGrokClientWithOptions		0.0%
nofx/mcp/provider/grok.go:50:				SetAPIKey				0.0%
nofx/mcp/provider/grok.go:71:				SetAuthHeader				0.0%
nofx/mcp/provider/kimi.go:14:				init					50.0%
nofx/mcp/provider/kimi.go:24:				BaseClient				0.0%
nofx/mcp/provider/kimi.go:27:				NewKimiClient				0.0%
nofx/mcp/provider/kimi.go:32:				NewKimiClientWithOptions		0.0%
nofx/mcp/provider/kimi.go:51:				SetAPIKey				0.0%
nofx/mcp/provider/kimi.go:72:				SetAuthHeader				0.0%
nofx/mcp/provider/minimax.go:14:			init					50.0%
nofx/mcp/provider/minimax.go:24:			BaseClient				0.0%
nofx/mcp/provider/minimax.go:27:			NewMiniMaxClient			0.0%
nofx/mcp/provider/minimax.go:32:			NewMiniMaxClientWithOptions		0.0%
nofx/mcp/provider/minimax.go:50:			SetAPIKey				0.0%
nofx/mcp/provider/minimax.go:71:			SetAuthHeader				0.0%
nofx/mcp/provider/openai.go:14:				init					50.0%
nofx/mcp/provider/openai.go:24:				BaseClient				0.0%
nofx/mcp/provider/openai.go:27:				NewOpenAIClient				0.0%
nofx/mcp/provider/openai.go:32:				NewOpenAIClientWithOptions		0.0%
nofx/mcp/provider/openai.go:50:				SetAPIKey				0.0%
nofx/mcp/provider/openai.go:71:				SetAuthHeader				0.0%
nofx/mcp/provider/qwen.go:14:				init					50.0%
nofx/mcp/provider/qwen.go:24:				BaseClient				0.0%
nofx/mcp/provider/qwen.go:29:				NewQwenClient				0.0%
nofx/mcp/provider/qwen.go:34:				NewQwenClientWithOptions		100.0%
nofx/mcp/provider/qwen.go:52:				SetAPIKey				0.0%
nofx/mcp/provider/qwen.go:72:				SetAuthHeader				0.0%
nofx/mcp/registry.go:8:					RegisterProvider			100.0%
nofx/mcp/registry.go:14:				NewAIClientByProvider			0.0%
nofx/mcp/request.go:68:					NewMessage				0.0%
nofx/mcp/request.go:76:					NewSystemMessage			100.0%
nofx/mcp/request.go:84:					NewUserMessage				100.0%
nofx/mcp/request.go:92:					NewAssistantMessage			100.0%
nofx/mcp/request_builder.go:30:				NewRequestBuilder			100.0%
nofx/mcp/request_builder.go:42:				WithModel				0.0%
nofx/mcp/request_builder.go:48:				WithStream				0.0%
nofx/mcp/request_builder.go:58:				WithSystemPrompt			100.0%
nofx/mcp/request_builder.go:66:				WithUserPrompt				100.0%
nofx/mcp/request_builder.go:74:				AddSystemMessage			100.0%
nofx/mcp/request_builder.go:79:				AddUserMessage				100.0%
nofx/mcp/request_builder.go:84:				AddAssistantMessage			100.0%
nofx/mcp/request_builder.go:92:				AddMessage				0.0%
nofx/mcp/request_builder.go:100:			AddMessages				0.0%
nofx/mcp/request_builder.go:106:			AddConversationHistory			100.0%
nofx/mcp/request_builder.go:112:			ClearMessages				0.0%
nofx/mcp/request_builder.go:123:			WithTemperature				42.9%
nofx/mcp/request_builder.go:138:			WithMaxTokens				100.0%
nofx/mcp/request_builder.go:147:			WithTopP				100.0%
nofx/mcp/request_builder.go:156:			WithFrequencyPenalty			100.0%
nofx/mcp/request_builder.go:165:			WithPresencePenalty			100.0%
nofx/mcp/request_builder.go:174:			WithStopSequences			100.0%
nofx/mcp/request_builder.go:180:			AddStopSequence				0.0%
nofx/mcp/request_builder.go:192:			AddTool					100.0%
nofx/mcp/request_builder.go:198:			AddFunction				100.0%
nofx/mcp/request_builder.go:215:			WithToolChoice				100.0%
nofx/mcp/request_builder.go:225:			Build					100.0%
nofx/mcp/request_builder.go:263:			MustBuild				75.0%
nofx/mcp/request_builder.go:276:			ForChat					100.0%
nofx/mcp/request_builder.go:288:			ForCodeGeneration			100.0%
nofx/mcp/request_builder.go:302:			ForCreativeWriting			100.0%
nofx/provider/alpaca/kline.go:45:			NewClient				0.0%
nofx/provider/alpaca/kline.go:57:			NewClientWithKeys			0.0%
nofx/provider/alpaca/kline.go:69:			GetBars					0.0%
nofx/provider/alpaca/kline.go:134:			MapTimeframe				0.0%
nofx/provider/coinank/base_coin.go:10:			ListCoin				0.0%
nofx/provider/coinank/base_coin.go:33:			ListSymbols				0.0%
nofx/provider/coinank/coinank_api/base_coin.go:11:	BaseCoinSymbols				76.5%
nofx/provider/coinank/coinank_api/depth_ws.go:19:	DepthWsConn				80.0%
nofx/provider/coinank/coinank_api/depth_ws.go:32:	Subscribe				77.8%
nofx/provider/coinank/coinank_api/depth_ws.go:50:	UnSubscribe				77.8%
nofx/provider/coinank/coinank_api/depth_ws.go:68:	Close					100.0%
nofx/provider/coinank/coinank_api/depth_ws.go:72:	depth_ws				77.8%
nofx/provider/coinank/coinank_api/depth_ws.go:86:	depth_read				100.0%
nofx/provider/coinank/coinank_api/kline.go:19:		Kline					89.3%
nofx/provider/coinank/coinank_api/kline.go:55:		get					80.0%
nofx/provider/coinank/coinank_api/kline_ws.go:23:	WsConn					83.3%
nofx/provider/coinank/coinank_api/kline_ws.go:38:	Subscribe				77.8%
nofx/provider/coinank/coinank_api/kline_ws.go:56:	UnSubscribe				77.8%
nofx/provider/coinank/coinank_api/kline_ws.go:74:	Close					100.0%
nofx/provider/coinank/coinank_api/kline_ws.go:78:	ws					77.8%
nofx/provider/coinank/coinank_api/kline_ws.go:92:	read					100.0%
nofx/provider/coinank/coinank_api/kline_ws.go:105:	handleResponse				94.6%
nofx/provider/coinank/coinank_api/kline_ws.go:154:	toInt64					100.0%
nofx/provider/coinank/coinank_api/kline_ws.go:159:	toFloat64				75.0%
nofx/provider/coinank/coinank_http.go:41:		NewCoinankClient			0.0%
nofx/provider/coinank/coinank_http.go:46:		Get					0.0%
nofx/provider/coinank/coinank_http.go:70:		Post					0.0%
nofx/provider/coinank/instrument_agg_rank.go:11:	VisualScreener				0.0%
nofx/provider/coinank/instrument_agg_rank.go:30:	OiRank					0.0%
nofx/provider/coinank/instrument_agg_rank.go:51:	LongShortRank				0.0%
nofx/provider/coinank/instrument_agg_rank.go:72:	LiquidationRank				0.0%
nofx/provider/coinank/instrument_agg_rank.go:93:	PriceRank				0.0%
nofx/provider/coinank/instrument_agg_rank.go:114:	VolumeRank				0.0%
nofx/provider/coinank/instrument_agg_rank.go:134:	rankParam				0.0%
nofx/provider/coinank/instruments.go:10:		GetLastPrice				0.0%
nofx/provider/coinank/instruments.go:32:		GetCoinMarketCap			0.0%
nofx/provider/coinank/kline.go:11:			Kline					0.0%
nofx/provider/coinank/liquidation.go:11:		LiquidationExchangeStatistics		0.0%
nofx/provider/coinank/liquidation.go:30:		LiquidationCoinAggHistory		0.0%
nofx/provider/coinank/liquidation.go:53:		LiquidationHistory			0.0%
nofx/provider/coinank/liquidation.go:77:		LiquidationOrders			0.0%
nofx/provider/coinank/net_positions.go:11:		NetPositions				0.0%
nofx/provider/coinank/open_interest.go:11:		OpenInterestAll				0.0%
nofx/provider/coinank/open_interest.go:30:		OpenInterestChartV2			0.0%
nofx/provider/coinank/open_interest.go:58:		OpenInterestSymbolChart			0.0%
nofx/provider/coinank/open_interest.go:85:		OpenInterestKline			0.0%
nofx/provider/coinank/open_interest.go:112:		OpenInterestAggKline			0.0%
nofx/provider/coinank/open_interest.go:138:		TickersTopOIByEx			0.0%
nofx/provider/coinank/open_interest.go:157:		InstrumentsOiVsMc			0.0%
nofx/provider/hyperliquid/coins.go:41:			GetProvider				0.0%
nofx/provider/hyperliquid/coins.go:63:			fetchCoins				0.0%
nofx/provider/hyperliquid/coins.go:142:			ensureUpdated				0.0%
nofx/provider/hyperliquid/coins.go:154:			GetAllCoins				0.0%
nofx/provider/hyperliquid/coins.go:169:			GetMainCoins				0.0%
nofx/provider/hyperliquid/coins.go:193:			GetAllCoinSymbols			0.0%
nofx/provider/hyperliquid/coins.go:207:			GetMainCoinSymbols			0.0%
nofx/provider/hyperliquid/coins.go:221:			ForceRefresh				0.0%
nofx/provider/hyperliquid/kline.go:54:			NewClient				100.0%
nofx/provider/hyperliquid/kline.go:64:			NewTestnetClient			0.0%
nofx/provider/hyperliquid/kline.go:77:			GetCandles				76.9%
nofx/provider/hyperliquid/kline.go:140:			GetAllMids				100.0%
nofx/provider/hyperliquid/kline.go:145:			GetAllMidsXYZ				100.0%
nofx/provider/hyperliquid/kline.go:150:			GetAllMidsWithDex			73.9%
nofx/provider/hyperliquid/kline.go:190:			GetMeta					71.4%
nofx/provider/hyperliquid/kline.go:244:			NormalizeCoin				100.0%
nofx/provider/hyperliquid/kline.go:249:			MapTimeframe				0.0%
nofx/provider/hyperliquid/kline.go:287:			getIntervalDuration			15.4%
nofx/provider/hyperliquid/kline.go:357:			IsStockPerp				100.0%
nofx/provider/hyperliquid/kline.go:368:			IsXYZAsset				100.0%
nofx/provider/hyperliquid/kline.go:386:			NormalizeCoinBase			100.0%
nofx/provider/hyperliquid/kline.go:408:			FormatCoinForAPI			100.0%
nofx/provider/nofxos/ai500.go:34:			GetAI500List				0.0%
nofx/provider/nofxos/ai500.go:59:			fetchAI500				0.0%
nofx/provider/nofxos/ai500.go:93:			GetTopRatedCoins			0.0%
nofx/provider/nofxos/ai500.go:137:			GetAvailableCoins			0.0%
nofx/provider/nofxos/ai500.go:156:			NormalizeSymbol				0.0%
nofx/provider/nofxos/claw402.go:29:			NewClaw402DataClient			0.0%
nofx/provider/nofxos/claw402.go:65:			mapEndpoint				0.0%
nofx/provider/nofxos/claw402.go:77:			DoRequest				0.0%
nofx/provider/nofxos/client.go:37:			DefaultClient				0.0%
nofx/provider/nofxos/client.go:49:			NewClient				0.0%
nofx/provider/nofxos/client.go:64:			SetClaw402				0.0%
nofx/provider/nofxos/client.go:71:			SetConfig				0.0%
nofx/provider/nofxos/client.go:83:			GetBaseURL				0.0%
nofx/provider/nofxos/client.go:90:			GetAuthKey				0.0%
nofx/provider/nofxos/client.go:98:			doRequest				0.0%
nofx/provider/nofxos/client.go:147:			Error					0.0%
nofx/provider/nofxos/client.go:152:			ExtractAuthKey				0.0%
nofx/provider/nofxos/coin.go:54:			GetCoinData				0.0%
nofx/provider/nofxos/coin.go:87:			GetCoinDataBatch			0.0%
nofx/provider/nofxos/coin.go:107:			FormatQuantDataForAI			0.0%
nofx/provider/nofxos/coin.go:118:			formatQuantDataZH			0.0%
nofx/provider/nofxos/coin.go:168:			formatQuantDataEN			0.0%
nofx/provider/nofxos/netflow.go:45:			GetNetFlowRanking			0.0%
nofx/provider/nofxos/netflow.go:98:			fetchNetFlowRanking			0.0%
nofx/provider/nofxos/netflow.go:120:			FormatNetFlowRankingForAI		0.0%
nofx/provider/nofxos/netflow.go:131:			formatNetFlowRankingZH			0.0%
nofx/provider/nofxos/netflow.go:198:			formatNetFlowRankingEN			0.0%
nofx/provider/nofxos/oi.go:50:				GetOIRanking				0.0%
nofx/provider/nofxos/oi.go:86:				fetchOIRanking				0.0%
nofx/provider/nofxos/oi.go:108:				GetOITopPositions			0.0%
nofx/provider/nofxos/oi.go:117:				GetOITopSymbols				0.0%
nofx/provider/nofxos/oi.go:133:				GetOILowPositions			0.0%
nofx/provider/nofxos/oi.go:142:				GetOILowSymbols				0.0%
nofx/provider/nofxos/oi.go:158:				FormatOIRankingForAI			0.0%
nofx/provider/nofxos/oi.go:169:				formatOIRankingZH			0.0%
nofx/provider/nofxos/oi.go:204:				formatOIRankingEN			0.0%
nofx/provider/nofxos/price.go:47:			GetPriceRanking				0.0%
nofx/provider/nofxos/price.go:87:			FormatPriceRankingForAI			0.0%
nofx/provider/nofxos/price.go:98:			formatPriceRankingZH			0.0%
nofx/provider/nofxos/price.go:141:			formatPriceRankingEN			0.0%
nofx/provider/nofxos/util.go:14:			formatValue				0.0%
nofx/provider/twelvedata/kline.go:78:			NewClient				0.0%
nofx/provider/twelvedata/kline.go:88:			NewClientWithKey			0.0%
nofx/provider/twelvedata/kline.go:99:			GetTimeSeries				0.0%
nofx/provider/twelvedata/kline.go:148:			GetQuote				0.0%
nofx/provider/twelvedata/kline.go:195:			MapTimeframe				0.0%
nofx/provider/twelvedata/kline.go:235:			ParseBar				0.0%
nofx/security/url_validator.go:17:			init					0.0%
nofx/security/url_validator.go:48:			Error					0.0%
nofx/security/url_validator.go:53:			isPrivateIP				0.0%
nofx/security/url_validator.go:85:			ValidateURL				0.0%
nofx/security/url_validator.go:158:			SafeHTTPClient				0.0%
nofx/security/url_validator.go:208:			SafeGet					0.0%
nofx/store/ai_charge.go:19:				TableName				0.0%
nofx/store/ai_charge.go:40:				GetModelPrice				0.0%
nofx/store/ai_charge.go:53:				NewAIChargeStore			0.0%
nofx/store/ai_charge.go:57:				initTables				0.0%
nofx/store/ai_charge.go:62:				Record					0.0%
nofx/store/ai_charge.go:74:				GetCharges				0.0%
nofx/store/ai_charge.go:90:				GetDailyCost				0.0%
nofx/store/ai_charge.go:99:				GetSummary				0.0%
nofx/store/ai_charge.go:126:				applyPeriodFilter			0.0%
nofx/store/ai_charge.go:151:				IsClaw402Config				0.0%
nofx/store/ai_charge.go:156:				EstimateRunway				0.0%
nofx/store/ai_model.go:33:				TableName				0.0%
nofx/store/ai_model.go:36:				NewAIModelStore				0.0%
nofx/store/ai_model.go:40:				initTables				0.0%
nofx/store/ai_model.go:52:				initDefaultData				0.0%
nofx/store/ai_model.go:59:				FindOrphanClaw402			0.0%
nofx/store/ai_model.go:70:				AdoptModel				0.0%
nofx/store/ai_model.go:76:				List					0.0%
nofx/store/ai_model.go:86:				Get					0.0%
nofx/store/ai_model.go:116:				GetByID					0.0%
nofx/store/ai_model.go:130:				GetDefault				0.0%
nofx/store/ai_model.go:147:				firstEnabled				0.0%
nofx/store/ai_model.go:160:				GetAnyEnabled				0.0%
nofx/store/ai_model.go:173:				Update					0.0%
nofx/store/ai_model.go:256:				Create					0.0%
nofx/store/decision.go:36:				TableName				0.0%
nofx/store/decision.go:108:				NewDecisionStore			0.0%
nofx/store/decision.go:113:				initTables				0.0%
nofx/store/decision.go:126:				toRecord				0.0%
nofx/store/decision.go:148:				LogDecision				0.0%
nofx/store/decision.go:185:				GetLatestRecords			0.0%
nofx/store/decision.go:209:				GetAllLatestRecords			0.0%
nofx/store/decision.go:230:				GetRecordsByDate			0.0%
nofx/store/decision.go:250:				CleanOldRecords				0.0%
nofx/store/decision.go:262:				GetStatistics				0.0%
nofx/store/decision.go:281:				GetAllStatistics			0.0%
nofx/store/decision.go:300:				GetLastCycleNumber			0.0%
nofx/store/driver.go:41:				NewDBDriver				0.0%
nofx/store/driver.go:65:				NewDBDriverFromEnv			0.0%
nofx/store/driver.go:94:				DB					0.0%
nofx/store/driver.go:99:				Close					0.0%
nofx/store/driver.go:104:				AutoIncrement				0.0%
nofx/store/driver.go:115:				Placeholder				0.0%
nofx/store/driver.go:125:				ConvertPlaceholders			0.0%
nofx/store/driver.go:141:				TableExists				0.0%
nofx/store/driver.go:167:				UpsertSyntax				0.0%
nofx/store/driver.go:172:				openSQLite				0.0%
nofx/store/driver.go:210:				openPostgres				0.0%
nofx/store/driver.go:235:				getEnv					0.0%
nofx/store/driver.go:244:				convertQuery				0.0%
nofx/store/driver.go:270:				boolDefault				0.0%
nofx/store/equity.go:28:				TableName				0.0%
nofx/store/equity.go:31:				NewEquityStore				0.0%
nofx/store/equity.go:36:				initTables				0.0%
nofx/store/equity.go:49:				Save					0.0%
nofx/store/equity.go:65:				GetLatest				0.0%
nofx/store/equity.go:84:				GetByTimeRange				0.0%
nofx/store/equity.go:96:				GetAllTradersLatest			0.0%
nofx/store/equity.go:121:				CleanOldRecords				0.0%
nofx/store/equity.go:133:				GetCount				0.0%
nofx/store/equity.go:140:				MigrateFromDecision			0.0%
nofx/store/exchange.go:44:				TableName				0.0%
nofx/store/exchange.go:47:				NewExchangeStore			0.0%
nofx/store/exchange.go:51:				initTables				0.0%
nofx/store/exchange.go:80:				migrateToMultiAccount			0.0%
nofx/store/exchange.go:135:				initDefaultData				0.0%
nofx/store/exchange.go:141:				List					0.0%
nofx/store/exchange.go:151:				GetByID					0.0%
nofx/store/exchange.go:161:				getExchangeNameAndType			0.0%
nofx/store/exchange.go:185:				Create					0.0%
nofx/store/exchange.go:231:				Update					0.0%
nofx/store/exchange.go:280:				UpdateAccountName			0.0%
nofx/store/exchange.go:297:				Delete					0.0%
nofx/store/exchange.go:311:				CreateLegacy				0.0%
nofx/store/gorm.go:17:					DB					0.0%
nofx/store/gorm.go:22:					InitGorm				0.0%
nofx/store/gorm.go:53:					InitGormPostgres			0.0%
nofx/store/gorm.go:84:					InitGormWithConfig			0.0%
nofx/store/gorm.go:109:					ForUser					0.0%
nofx/store/gorm.go:116:					ForTrader				0.0%
nofx/store/gorm.go:123:					OpenPositions				0.0%
nofx/store/gorm.go:130:					ClosedPositions				0.0%
nofx/store/gorm.go:137:					OrderByCreatedDesc			0.0%
nofx/store/gorm.go:144:					OrderByUpdatedDesc			0.0%
nofx/store/gorm.go:151:					Paginate				0.0%
nofx/store/grid.go:72:					TableName				0.0%
nofx/store/grid.go:132:					TableName				0.0%
nofx/store/grid.go:156:					TableName				0.0%
nofx/store/grid.go:179:					TableName				0.0%
nofx/store/grid.go:205:					TableName				0.0%
nofx/store/grid.go:217:					NewGridStore				0.0%
nofx/store/grid.go:222:					InitTables				0.0%
nofx/store/grid.go:258:					SaveGridConfig				0.0%
nofx/store/grid.go:267:					LoadGridConfig				0.0%
nofx/store/grid.go:277:					LoadGridConfigByTrader			0.0%
nofx/store/grid.go:287:					ListGridConfigs				0.0%
nofx/store/grid.go:297:					DeleteGridConfig			0.0%
nofx/store/grid.go:331:					SaveGridInstance			0.0%
nofx/store/grid.go:337:					LoadGridInstance			0.0%
nofx/store/grid.go:349:					LoadGridInstanceByID			0.0%
nofx/store/grid.go:359:					ListGridInstances			0.0%
nofx/store/grid.go:373:					SaveGridLevel				0.0%
nofx/store/grid.go:379:					SaveGridLevels				0.0%
nofx/store/grid.go:391:					LoadGridLevels				0.0%
nofx/store/grid.go:403:					DeleteGridLevels			0.0%
nofx/store/grid.go:410:					SaveGridEvent				0.0%
nofx/store/grid.go:418:					LoadRecentGridEvents			0.0%
nofx/store/grid.go:433:					LoadGridEventsByType			0.0%
nofx/store/grid.go:448:					CountGridEvents				0.0%
nofx/store/grid.go:459:					SaveGridRegimeAssessment		0.0%
nofx/store/grid.go:467:					LoadLatestGridRegime			0.0%
nofx/store/grid.go:479:					LoadGridRegimeHistory			0.0%
nofx/store/grid.go:496:					GetGridInstanceStatistics		0.0%
nofx/store/grid.go:551:					GetGridPerformanceMetrics		0.0%
nofx/store/order.go:46:					TableName				0.0%
nofx/store/order.go:73:					TableName				0.0%
nofx/store/order.go:83:					NewOrderStore				0.0%
nofx/store/order.go:88:					InitTables				0.0%
nofx/store/order.go:152:				CreateOrder				0.0%
nofx/store/order.go:169:				UpdateOrderStatus			0.0%
nofx/store/order.go:186:				CreateFill				0.0%
nofx/store/order.go:202:				GetFillByExchangeTradeID		0.0%
nofx/store/order.go:215:				GetOrderByExchangeID			0.0%
nofx/store/order.go:228:				GetTraderOrders				0.0%
nofx/store/order.go:241:				GetTraderOrdersFiltered			0.0%
nofx/store/order.go:262:				GetOrderFills				0.0%
nofx/store/order.go:274:				GetTraderOrderStats			0.0%
nofx/store/order.go:306:				CleanupDuplicateOrders			0.0%
nofx/store/order.go:322:				CleanupDuplicateFills			0.0%
nofx/store/order.go:338:				GetDuplicateOrdersCount			0.0%
nofx/store/order.go:353:				GetDuplicateFillsCount			0.0%
nofx/store/order.go:367:				GetMaxTradeIDsByExchange		0.0%
nofx/store/order.go:401:				GetLastFillTimeByExchange		0.0%
nofx/store/order.go:413:				GetRecentFillSymbolsByExchange		0.0%
nofx/store/position.go:16:				adaptivePriceRound			0.0%
nofx/store/position.go:51:				getPriceDecimalPlaces			0.0%
nofx/store/position.go:64:				formatDuration				0.0%
nofx/store/position.go:69:				formatDurationMs			0.0%
nofx/store/position.go:124:				TableName				0.0%
nofx/store/position.go:134:				NewPositionStore			0.0%
nofx/store/position.go:139:				isPostgres				0.0%
nofx/store/position.go:144:				InitTables				0.0%
nofx/store/position.go:189:				Create					0.0%
nofx/store/position.go:198:				ClosePosition				0.0%
nofx/store/position.go:213:				UpdatePositionQuantityAndPrice		0.0%
nofx/store/position.go:243:				ReducePositionQuantity			0.0%
nofx/store/position.go:291:				UpdatePositionExchangeInfo		0.0%
nofx/store/position.go:302:				ClosePositionFully			0.0%
nofx/store/position.go:327:				DeleteAllOpenPositions			0.0%
nofx/store/position.go:332:				GetOpenPositions			0.0%
nofx/store/position.go:351:				GetOpenPositionBySymbol			0.0%
nofx/store/position.go:384:				GetClosedPositions			0.0%
nofx/store/position.go:403:				GetAllOpenPositions			0.0%
nofx/store/position.go:421:				ExistsWithExchangePositionID		0.0%
nofx/store/position.go:437:				GetOpenPositionByExchangePositionID	0.0%
nofx/store/position.go:459:				CreateOpenPosition			0.0%
nofx/store/position.go:507:				ClosePositionWithAccurateData		0.0%
nofx/store/position_builder.go:21:			NewPositionBuilder			0.0%
nofx/store/position_builder.go:29:			ProcessTrade				0.0%
nofx/store/position_builder.go:45:			handleOpen				0.0%
nofx/store/position_builder.go:97:			handleClose				0.0%
nofx/store/position_builder.go:178:			quantitiesMatch				0.0%
nofx/store/position_history.go:38:			GetHistorySummary			0.0%
nofx/store/position_history.go:120:			calculateStreaks			0.0%
nofx/store/position_history.go:193:			CreateFromClosedPnL			0.0%
nofx/store/position_history.go:276:			GetLastClosedPositionTime		0.0%
nofx/store/position_history.go:293:			SyncClosedPositions			0.0%
nofx/store/position_query.go:25:			GetPositionStats			0.0%
nofx/store/position_query.go:58:			GetFullStats				0.0%
nofx/store/position_query.go:131:			GetRecentTrades				0.0%
nofx/store/position_query.go:173:			calculateSharpeRatioFromPnls		0.0%
nofx/store/position_query.go:198:			calculateMaxDrawdownFromPnls		0.0%
nofx/store/position_query.go:236:			GetSymbolStats				0.0%
nofx/store/position_query.go:306:			GetHoldingTimeStats			0.0%
nofx/store/position_query.go:376:			GetDirectionStats			0.0%
nofx/store/store.go:38:					New					0.0%
nofx/store/store.go:69:					NewWithConfig				0.0%
nofx/store/store.go:104:				NewFromGorm				0.0%
nofx/store/store.go:114:				NewFromDB				0.0%
nofx/store/store.go:119:				initTables				0.0%
nofx/store/store.go:171:				initDefaultData				0.0%
nofx/store/store.go:191:				User					0.0%
nofx/store/store.go:201:				AIModel					0.0%
nofx/store/store.go:211:				Exchange				0.0%
nofx/store/store.go:221:				Trader					0.0%
nofx/store/store.go:231:				Decision				0.0%
nofx/store/store.go:241:				Position				0.0%
nofx/store/store.go:251:				Strategy				0.0%
nofx/store/store.go:261:				Equity					0.0%
nofx/store/store.go:271:				Order					0.0%
nofx/store/store.go:281:				Grid					0.0%
nofx/store/store.go:291:				AICharge				0.0%
nofx/store/store.go:301:				TelegramConfig				0.0%
nofx/store/store.go:311:				Close					0.0%
nofx/store/store.go:322:				GormDB					0.0%
nofx/store/store.go:327:				Driver					0.0%
nofx/store/store.go:332:				DBType					0.0%
nofx/store/store.go:349:				q					0.0%
nofx/store/store.go:355:				DB					0.0%
nofx/store/store.go:360:				GetSystemConfig				0.0%
nofx/store/store.go:376:				SetSystemConfig				0.0%
nofx/store/store.go:385:				Transaction				0.0%
nofx/store/store.go:391:				TransactionSQL				0.0%
nofx/store/strategy.go:23:				ClampLimits				0.0%
nofx/store/strategy.go:83:				TableName				0.0%
nofx/store/strategy.go:288:				NewStrategyStore			0.0%
nofx/store/strategy.go:292:				initTables				0.0%
nofx/store/strategy.go:297:				initDefaultData				0.0%
nofx/store/strategy.go:303:				GetDefaultStrategyConfig		100.0%
nofx/store/strategy.go:421:				Create					0.0%
nofx/store/strategy.go:426:				Update					0.0%
nofx/store/strategy.go:440:				Delete					0.0%
nofx/store/strategy.go:464:				List					0.0%
nofx/store/strategy.go:476:				ListPublic				0.0%
nofx/store/strategy.go:488:				Get					0.0%
nofx/store/strategy.go:499:				GetActive				0.0%
nofx/store/strategy.go:513:				GetDefault				0.0%
nofx/store/strategy.go:523:				SetActive				0.0%
nofx/store/strategy.go:539:				Duplicate				0.0%
nofx/store/strategy.go:561:				ParseConfig				0.0%
nofx/store/strategy.go:570:				SetConfig				0.0%
nofx/store/strategy.go:633:				GetContextLimit				100.0%
nofx/store/strategy.go:642:				GetContextLimitForClient		0.0%
nofx/store/strategy.go:670:				EstimateTokens				95.7%
nofx/store/strategy.go:842:				getEffectiveCoinCount			37.5%
nofx/store/strategy.go:873:				getEffectiveTimeframeCount		33.3%
nofx/store/telegram_config.go:26:			String					0.0%
nofx/store/telegram_config.go:54:			NewTelegramConfigStore			0.0%
nofx/store/telegram_config.go:58:			initTables				0.0%
nofx/store/telegram_config.go:62:			Get					0.0%
nofx/store/telegram_config.go:72:			SaveToken				0.0%
nofx/store/telegram_config.go:76:			Save					0.0%
nofx/store/telegram_config.go:90:			BindUser				0.0%
nofx/store/telegram_config.go:105:			IsBound					0.0%
nofx/store/telegram_config.go:118:			GetBoundChatID				0.0%
nofx/store/telegram_config.go:131:			Unbind					0.0%
nofx/store/telegram_config.go:140:			SetLanguage				0.0%
nofx/store/telegram_config.go:153:			GetLanguage				0.0%
nofx/store/trader.go:16:				NewTraderStore				0.0%
nofx/store/trader.go:48:				TableName				0.0%
nofx/store/trader.go:60:				initTables				0.0%
nofx/store/trader.go:77:				Create					0.0%
nofx/store/trader.go:82:				List					0.0%
nofx/store/trader.go:94:				UpdateStatus				0.0%
nofx/store/trader.go:101:				UpdateShowInCompetition			0.0%
nofx/store/trader.go:108:				Update					0.0%
nofx/store/trader.go:138:				UpdateInitialBalance			0.0%
nofx/store/trader.go:145:				UpdateCustomPrompt			0.0%
nofx/store/trader.go:155:				Delete					0.0%
nofx/store/trader.go:164:				GetFullConfig				0.0%
nofx/store/trader.go:204:				getStrategyByID				0.0%
nofx/store/trader.go:215:				getActiveOrDefaultStrategy		0.0%
nofx/store/trader.go:233:				GetByID					0.0%
nofx/store/trader.go:243:				ListAll					0.0%
nofx/store/trader.go:253:				ListByExchangeID			0.0%
nofx/store/trader.go:263:				ListByAIModelID				0.0%
nofx/store/user.go:23:					TableName				0.0%
nofx/store/user.go:26:					NewUserStore				0.0%
nofx/store/user.go:30:					initTables				0.0%
nofx/store/user.go:62:					Create					0.0%
nofx/store/user.go:67:					GetByEmail				0.0%
nofx/store/user.go:77:					GetByID					0.0%
nofx/store/user.go:87:					Count					0.0%
nofx/store/user.go:94:					GetAllIDs				0.0%
nofx/store/user.go:101:					GetAll					0.0%
nofx/store/user.go:108:					UpdatePassword				0.0%
nofx/store/user.go:116:					DeleteAll				0.0%
nofx/store/user.go:121:					EnsureAdmin				0.0%
nofx/telegram/agent/agent.go:57:			New					100.0%
nofx/telegram/agent/agent.go:70:			GenerateBotToken			0.0%
nofx/telegram/agent/agent.go:77:			buildAccountContext			72.2%
nofx/telegram/agent/agent.go:194:			Run					79.1%
nofx/telegram/agent/agent.go:283:			ResetMemory				0.0%
nofx/telegram/agent/apicall.go:29:			newAPICallTool				100.0%
nofx/telegram/agent/apicall.go:38:			execute					80.0%
nofx/telegram/agent/manager.go:26:			NewManager				0.0%
nofx/telegram/agent/manager.go:42:			Run					0.0%
nofx/telegram/agent/manager.go:55:			Reset					0.0%
nofx/telegram/agent/manager.go:64:			getOrCreate				0.0%
nofx/telegram/agent/prompt.go:9:			BuildAgentPrompt			0.0%
nofx/telegram/bot.go:23:				Start					0.0%
nofx/telegram/bot.go:45:				resolveToken				0.0%
nofx/telegram/bot.go:54:				runBot					0.0%
nofx/telegram/bot.go:254:				sendMsg					0.0%
nofx/telegram/bot.go:259:				sendMarkdownMsg				0.0%
nofx/telegram/bot.go:270:				newLLMClient				0.0%
nofx/telegram/bot.go:319:				isUSDCProvider				0.0%
nofx/telegram/bot.go:323:				clientForProvider			0.0%
nofx/telegram/bot.go:335:				statusMsg				0.0%
nofx/telegram/bot.go:401:				langMenuMsg				0.0%
nofx/telegram/bot.go:405:				parseLangChoice				0.0%
nofx/telegram/bot.go:417:				helpMsg					0.0%
nofx/telegram/session/memory.go:28:			NewMemory				0.0%
nofx/telegram/session/memory.go:33:			Add					0.0%
nofx/telegram/session/memory.go:41:			BuildContext				0.0%
nofx/telegram/session/memory.go:58:			Reset					0.0%
nofx/telegram/session/memory.go:63:			ResetFull				0.0%
nofx/telegram/session/memory.go:68:			estimateTokens				0.0%
nofx/telegram/session/memory.go:79:			compact					0.0%
nofx/telemetry/experience.go:60:			Init					0.0%
nofx/telemetry/experience.go:69:			SetInstallationID			0.0%
nofx/telemetry/experience.go:78:			GetInstallationID			0.0%
nofx/telemetry/experience.go:87:			SetEnabled				0.0%
nofx/telemetry/experience.go:96:			IsEnabled				0.0%
nofx/telemetry/experience.go:105:			TrackTrade				0.0%
nofx/telemetry/experience.go:117:			sendTradeEvent				0.0%
nofx/telemetry/experience.go:163:			TrackStartup				0.0%
nofx/telemetry/experience.go:200:			TrackAIUsage				0.0%
nofx/trader/aster/trader.go:52:				NewAsterTrader				87.5%
nofx/trader/aster/trader.go:83:				genNonce				100.0%
nofx/trader/aster/trader.go:88:				getPrecision				89.3%
nofx/trader/aster/trader.go:152:			roundToTickSize				80.0%
nofx/trader/aster/trader.go:165:			formatPrice				57.1%
nofx/trader/aster/trader.go:182:			formatQuantity				57.1%
nofx/trader/aster/trader.go:199:			formatFloatWithPrecision		100.0%
nofx/trader/aster/trader.go:211:			normalizeAndStringify			71.4%
nofx/trader/aster/trader.go:224:			normalize				52.0%
nofx/trader/aster/trader.go:268:			sign					86.2%
nofx/trader/aster/trader.go:329:			request					55.0%
nofx/trader/aster/trader.go:372:			doRequest				80.0%
nofx/trader/aster/trader_account.go:16:			GetBalance				86.4%
nofx/trader/aster/trader_account.go:104:		GetMarketPrice				78.6%
nofx/trader/aster/trader_account.go:133:		GetClosedPnL				0.0%
nofx/trader/aster/trader_account.go:204:		GetTrades				0.0%
nofx/trader/aster/trader_account.go:254:		GetOrderBook				0.0%
nofx/trader/aster/trader_orders.go:13:			OpenLong				66.7%
nofx/trader/aster/trader_orders.go:86:			OpenShort				66.7%
nofx/trader/aster/trader_orders.go:159:			CloseLong				71.1%
nofx/trader/aster/trader_orders.go:241:			CloseShort				71.1%
nofx/trader/aster/trader_orders.go:324:			SetStopLoss				82.4%
nofx/trader/aster/trader_orders.go:365:			SetTakeProfit				82.4%
nofx/trader/aster/trader_orders.go:406:			CancelStopLossOrders			40.0%
nofx/trader/aster/trader_orders.go:465:			CancelTakeProfitOrders			40.0%
nofx/trader/aster/trader_orders.go:524:			CancelAllOrders				100.0%
nofx/trader/aster/trader_orders.go:534:			CancelStopOrders			43.5%
nofx/trader/aster/trader_orders.go:589:			FormatQuantity				75.0%
nofx/trader/aster/trader_orders.go:598:			GetOrderStatus				0.0%
nofx/trader/aster/trader_orders.go:647:			GetOpenOrders				0.0%
nofx/trader/aster/trader_orders.go:697:			PlaceLimitOrder				0.0%
nofx/trader/aster/trader_orders.go:775:			CancelOrder				0.0%
nofx/trader/aster/trader_positions.go:12:		GetPositions				76.9%
nofx/trader/aster/trader_positions.go:66:		SetMarginMode				40.0%
nofx/trader/aster/trader_positions.go:113:		SetLeverage				100.0%
nofx/trader/aster/trader_sync.go:17:			SyncOrdersFromAster			0.0%
nofx/trader/aster/trader_sync.go:149:			deriveAsterOrderAction			0.0%
nofx/trader/aster/trader_sync.go:183:			StartOrderSync				0.0%
nofx/trader/auto_trader.go:158:				NewAutoTrader				0.0%
nofx/trader/auto_trader.go:374:				Run					0.0%
nofx/trader/auto_trader.go:521:				Stop					0.0%
nofx/trader/auto_trader.go:536:				GetID					0.0%
nofx/trader/auto_trader.go:542:				GetUnderlyingTrader			0.0%
nofx/trader/auto_trader.go:547:				GetName					0.0%
nofx/trader/auto_trader.go:552:				GetAIModel				0.0%
nofx/trader/auto_trader.go:557:				GetExchange				0.0%
nofx/trader/auto_trader.go:562:				GetShowInCompetition			0.0%
nofx/trader/auto_trader.go:567:				SetShowInCompetition			0.0%
nofx/trader/auto_trader.go:572:				SetCustomPrompt				0.0%
nofx/trader/auto_trader.go:577:				SetOverrideBasePrompt			0.0%
nofx/trader/auto_trader.go:582:				GetSystemPromptTemplate			0.0%
nofx/trader/auto_trader.go:593:				GetStore				0.0%
nofx/trader/auto_trader.go:599:				calculatePnLPercentage			0.0%
nofx/trader/auto_trader.go:607:				runPreLaunchChecks			0.0%
nofx/trader/auto_trader.go:651:				deriveWalletAddress			0.0%
nofx/trader/auto_trader_decision.go:15:			saveEquitySnapshot			0.0%
nofx/trader/auto_trader_decision.go:36:			saveDecision				0.0%
nofx/trader/auto_trader_decision.go:59:			GetStatus				0.0%
nofx/trader/auto_trader_decision.go:97:			GetAccountInfo				0.0%
nofx/trader/auto_trader_decision.go:194:		GetPositions				0.0%
nofx/trader/auto_trader_decision.go:244:		recordAndConfirmOrder			0.0%
nofx/trader/auto_trader_decision.go:360:		recordPositionChange			0.0%
nofx/trader/auto_trader_decision.go:410:		createOrderRecord			0.0%
nofx/trader/auto_trader_decision.go:459:		recordOrderFill				0.0%
nofx/trader/auto_trader_decision.go:525:		GetOpenOrders				0.0%
nofx/trader/auto_trader_grid.go:75:			NewGridState				0.0%
nofx/trader/auto_trader_grid.go:99:			checkBreakout				0.0%
nofx/trader/auto_trader_grid.go:133:			checkMaxDrawdown			0.0%
nofx/trader/auto_trader_grid.go:185:			checkDailyLossLimit			0.0%
nofx/trader/auto_trader_grid.go:212:			updateDailyPnL				0.0%
nofx/trader/auto_trader_grid.go:220:			emergencyExit				0.0%
nofx/trader/auto_trader_grid.go:255:			handleBreakout				0.0%
nofx/trader/auto_trader_grid.go:289:			InitializeGrid				0.0%
nofx/trader/auto_trader_grid.go:342:			RunGridCycle				0.0%
nofx/trader/auto_trader_grid.go:454:			buildGridContext			0.0%
nofx/trader/auto_trader_grid.go:519:			executeGridDecision			0.0%
nofx/trader/auto_trader_grid.go:552:			IsGridStrategy				0.0%
nofx/trader/auto_trader_grid.go:560:			saveGridDecisionRecord			0.0%
nofx/trader/auto_trader_grid_levels.go:16:		calculateDefaultBounds			0.0%
nofx/trader/auto_trader_grid_levels.go:24:		calculateATRBounds			0.0%
nofx/trader/auto_trader_grid_levels.go:46:		initializeGridLevels			0.0%
nofx/trader/auto_trader_grid_levels.go:98:		applyGridDirection			0.0%
nofx/trader/auto_trader_grid_levels.go:186:		checkGridSkew				0.0%
nofx/trader/auto_trader_grid_levels.go:228:		autoAdjustGrid				0.0%
nofx/trader/auto_trader_grid_levels.go:333:		calculateDefaultBoundsLocked		0.0%
nofx/trader/auto_trader_grid_levels.go:341:		calculateATRBoundsLocked		0.0%
nofx/trader/auto_trader_grid_levels.go:363:		initializeGridLevelsLocked		0.0%
nofx/trader/auto_trader_grid_levels.go:414:		applyGridDirectionLocked		0.0%
nofx/trader/auto_trader_grid_orders.go:17:		checkTotalPositionLimit			0.0%
nofx/trader/auto_trader_grid_orders.go:58:		placeGridLimitOrder			0.0%
nofx/trader/auto_trader_grid_orders.go:154:		cancelGridOrder				0.0%
nofx/trader/auto_trader_grid_orders.go:181:		cancelAllGridOrders			0.0%
nofx/trader/auto_trader_grid_orders.go:205:		pauseGrid				0.0%
nofx/trader/auto_trader_grid_orders.go:217:		resumeGrid				0.0%
nofx/trader/auto_trader_grid_orders.go:227:		adjustGrid				0.0%
nofx/trader/auto_trader_grid_orders.go:247:		syncGridState				0.0%
nofx/trader/auto_trader_grid_orders.go:324:		closeAllPositions			0.0%
nofx/trader/auto_trader_grid_orders.go:360:		checkAndExecuteStopLoss			0.0%
nofx/trader/auto_trader_grid_regime.go:16:		checkBoxBreakout			0.0%
nofx/trader/auto_trader_grid_regime.go:79:		executeBreakoutAction			0.0%
nofx/trader/auto_trader_grid_regime.go:119:		executeDirectionAdjustment		0.0%
nofx/trader/auto_trader_grid_regime.go:140:		adjustGridDirection			0.0%
nofx/trader/auto_trader_grid_regime.go:169:		checkFalseBreakoutRecovery		0.0%
nofx/trader/auto_trader_grid_regime.go:227:		GetGridRiskInfo				0.0%
nofx/trader/auto_trader_loop.go:15:			runCycle				0.0%
nofx/trader/auto_trader_loop.go:290:			buildTradingContext			0.0%
nofx/trader/auto_trader_loop.go:585:			sortDecisionsByPriority			0.0%
nofx/trader/auto_trader_loop.go:621:			checkClaw402Balance			0.0%
nofx/trader/auto_trader_orders.go:13:			executeDecisionWithRecord		0.0%
nofx/trader/auto_trader_orders.go:32:			executeOpenLongWithRecord		0.0%
nofx/trader/auto_trader_orders.go:149:			executeOpenShortWithRecord		0.0%
nofx/trader/auto_trader_orders.go:266:			executeCloseLongWithRecord		0.0%
nofx/trader/auto_trader_orders.go:330:			executeCloseShortWithRecord		0.0%
nofx/trader/auto_trader_risk.go:11:			startDrawdownMonitor			0.0%
nofx/trader/auto_trader_risk.go:34:			checkPositionDrawdown			0.0%
nofx/trader/auto_trader_risk.go:116:			emergencyClosePosition			0.0%
nofx/trader/auto_trader_risk.go:138:			GetPeakPnLCache				0.0%
nofx/trader/auto_trader_risk.go:151:			UpdatePeakPnL				0.0%
nofx/trader/auto_trader_risk.go:168:			ClearPeakPnLCache			0.0%
nofx/trader/auto_trader_risk.go:181:			isBTCETH				0.0%
nofx/trader/auto_trader_risk.go:191:			enforcePositionValueRatio		0.0%
nofx/trader/auto_trader_risk.go:226:			enforceMinPositionSize			0.0%
nofx/trader/auto_trader_risk.go:243:			enforceMaxPositions			0.0%
nofx/trader/auto_trader_risk.go:260:			getSideFromAction			0.0%
nofx/trader/binance/futures.go:21:			getBrOrderID				88.9%
nofx/trader/binance/futures.go:64:			NewFuturesTrader			88.9%
nofx/trader/binance/futures.go:89:			setDualSidePosition			44.4%
nofx/trader/binance/futures.go:111:			syncBinanceServerTime			50.0%
nofx/trader/binance/futures.go:126:			contains				100.0%
nofx/trader/binance/futures.go:130:			stringContains				75.0%
nofx/trader/binance/futures.go:140:			calculatePrecision			88.9%
nofx/trader/binance/futures.go:163:			trimTrailingZeros			57.1%
nofx/trader/binance/futures_account.go:13:		GetBalance				72.7%
nofx/trader/binance/futures_account.go:55:		GetClosedPnL				0.0%
nofx/trader/binance/futures_account.go:112:		GetTrades				0.0%
nofx/trader/binance/futures_account.go:155:		GetTradesForSymbol			0.0%
nofx/trader/binance/futures_account.go:198:		GetTradesForSymbolFromID		0.0%
nofx/trader/binance/futures_account.go:241:		GetCommissionSymbols			0.0%
nofx/trader/binance/futures_account.go:268:		GetPnLSymbols				0.0%
nofx/trader/binance/futures_orders.go:14:		OpenLong				72.7%
nofx/trader/binance/futures_orders.go:69:		OpenShort				72.7%
nofx/trader/binance/futures_orders.go:124:		CloseLong				75.0%
nofx/trader/binance/futures_orders.go:179:		CloseShort				75.0%
nofx/trader/binance/futures_orders.go:235:		CancelStopLossOrders			32.4%
nofx/trader/binance/futures_orders.go:311:		CancelTakeProfitOrders			32.4%
nofx/trader/binance/futures_orders.go:387:		CancelAllOrders				80.0%
nofx/trader/binance/futures_orders.go:418:		PlaceLimitOrder				0.0%
nofx/trader/binance/futures_orders.go:484:		CancelOrder				0.0%
nofx/trader/binance/futures_orders.go:506:		GetOrderBook				0.0%
nofx/trader/binance/futures_orders.go:537:		CancelStopOrders			52.4%
nofx/trader/binance/futures_orders.go:596:		GetOpenOrders				0.0%
nofx/trader/binance/futures_orders.go:655:		SetStopLoss				91.7%
nofx/trader/binance/futures_orders.go:689:		SetTakeProfit				91.7%
nofx/trader/binance/futures_orders.go:722:		GetOrderStatus				0.0%
nofx/trader/binance/futures_positions.go:14:		GetPositions				78.8%
nofx/trader/binance/futures_positions.go:69:		SetMarginMode				42.3%
nofx/trader/binance/futures_positions.go:120:		SetLeverage				81.0%
nofx/trader/binance/futures_positions.go:166:		GetMarketPrice				77.8%
nofx/trader/binance/futures_positions.go:185:		CalculatePositionSize			100.0%
nofx/trader/binance/futures_positions.go:193:		GetMinNotional				100.0%
nofx/trader/binance/futures_positions.go:199:		CheckMinNotional			75.0%
nofx/trader/binance/futures_positions.go:219:		GetSymbolPrecision			76.9%
nofx/trader/binance/futures_positions.go:244:		FormatQuantity				80.0%
nofx/trader/binance/futures_positions.go:256:		GetSymbolPricePrecision			0.0%
nofx/trader/binance/futures_positions.go:280:		FormatPrice				0.0%
nofx/trader/binance/order_sync.go:24:			SyncOrdersFromBinance			0.0%
nofx/trader/binance/order_sync.go:295:			getPositionSymbols			0.0%
nofx/trader/binance/order_sync.go:311:			determineOrderAction			0.0%
nofx/trader/binance/order_sync.go:352:			StartOrderSync				0.0%
nofx/trader/bitget/order_sync.go:32:			GetTrades				0.0%
nofx/trader/bitget/order_sync.go:159:			SyncOrdersFromBitget			0.0%
nofx/trader/bitget/order_sync.go:282:			StartOrderSync				0.0%
nofx/trader/bitget/trader.go:84:			NewBitgetTrader				0.0%
nofx/trader/bitget/trader.go:110:			setPositionMode				0.0%
nofx/trader/bitget/trader.go:129:			sign					0.0%
nofx/trader/bitget/trader.go:138:			doRequest				0.0%
nofx/trader/bitget/trader.go:215:			convertSymbol				0.0%
nofx/trader/bitget/trader.go:221:			getContract				0.0%
nofx/trader/bitget/trader.go:291:			FormatQuantity				0.0%
nofx/trader/bitget/trader.go:303:			clearCache				0.0%
nofx/trader/bitget/trader.go:314:			genBitgetClientOid			0.0%
nofx/trader/bitget/trader_account.go:13:		GetBalance				0.0%
nofx/trader/bitget/trader_account.go:71:		SetMarginMode				0.0%
nofx/trader/bitget/trader_account.go:103:		SetLeverage				0.0%
nofx/trader/bitget/trader_account.go:127:		GetMarketPrice				0.0%
nofx/trader/bitget/trader_account.go:162:		GetOrderBook				0.0%
nofx/trader/bitget/trader_orders.go:13:			OpenLong				0.0%
nofx/trader/bitget/trader_orders.go:67:			OpenShort				0.0%
nofx/trader/bitget/trader_orders.go:121:		CloseLong				0.0%
nofx/trader/bitget/trader_orders.go:184:		CloseShort				0.0%
nofx/trader/bitget/trader_orders.go:252:		SetStopLoss				0.0%
nofx/trader/bitget/trader_orders.go:291:		SetTakeProfit				0.0%
nofx/trader/bitget/trader_orders.go:330:		CancelStopLossOrders			0.0%
nofx/trader/bitget/trader_orders.go:335:		CancelTakeProfitOrders			0.0%
nofx/trader/bitget/trader_orders.go:340:		cancelPlanOrders			0.0%
nofx/trader/bitget/trader_orders.go:380:		CancelAllOrders				0.0%
nofx/trader/bitget/trader_orders.go:423:		CancelStopOrders			0.0%
nofx/trader/bitget/trader_orders.go:430:		GetOrderStatus				0.0%
nofx/trader/bitget/trader_orders.go:494:		GetOpenOrders				0.0%
nofx/trader/bitget/trader_orders.go:625:		PlaceLimitOrder				0.0%
nofx/trader/bitget/trader_orders.go:695:		CancelOrder				0.0%
nofx/trader/bitget/trader_positions.go:12:		GetPositions				0.0%
nofx/trader/bitget/trader_positions.go:96:		GetClosedPnL				0.0%
nofx/trader/bybit/order_sync.go:38:			GetTrades				0.0%
nofx/trader/bybit/order_sync.go:43:			getTradesViaHTTP			0.0%
nofx/trader/bybit/order_sync.go:106:			parseTradesResult			0.0%
nofx/trader/bybit/order_sync.go:178:			SyncOrdersFromBybit			0.0%
nofx/trader/bybit/order_sync.go:301:			StartOrderSync				0.0%
nofx/trader/bybit/trader.go:43:				NewBybitTrader				0.0%
nofx/trader/bybit/trader.go:80:				RoundTrip				0.0%
nofx/trader/bybit/trader.go:86:				getQtyStep				0.0%
nofx/trader/bybit/trader.go:144:			FormatQuantity				0.0%
nofx/trader/bybit/trader.go:169:			clearCache				0.0%
nofx/trader/bybit/trader.go:179:			parseOrderResult			0.0%
nofx/trader/bybit/trader_account.go:18:			GetBalance				0.0%
nofx/trader/bybit/trader_account.go:93:			GetClosedPnL				0.0%
nofx/trader/bybit/trader_account.go:99:			getClosedPnLViaHTTP			0.0%
nofx/trader/bybit/trader_account.go:160:		parseClosedPnLResult			0.0%
nofx/trader/bybit/trader_orders.go:16:			OpenLong				0.0%
nofx/trader/bybit/trader_orders.go:59:			OpenShort				0.0%
nofx/trader/bybit/trader_orders.go:102:			CloseLong				0.0%
nofx/trader/bybit/trader_orders.go:147:			CloseShort				0.0%
nofx/trader/bybit/trader_orders.go:192:			SetLeverage				0.0%
nofx/trader/bybit/trader_orders.go:217:			SetMarginMode				0.0%
nofx/trader/bybit/trader_orders.go:245:			GetMarketPrice				0.0%
nofx/trader/bybit/trader_orders.go:282:			SetStopLoss				0.0%
nofx/trader/bybit/trader_orders.go:328:			SetTakeProfit				0.0%
nofx/trader/bybit/trader_orders.go:374:			CancelStopLossOrders			0.0%
nofx/trader/bybit/trader_orders.go:379:			CancelTakeProfitOrders			0.0%
nofx/trader/bybit/trader_orders.go:384:			CancelAllOrders				0.0%
nofx/trader/bybit/trader_orders.go:399:			CancelStopOrders			0.0%
nofx/trader/bybit/trader_orders.go:409:			cancelConditionalOrders			0.0%
nofx/trader/bybit/trader_orders.go:466:			GetOrderStatus				0.0%
nofx/trader/bybit/trader_orders.go:527:			GetOpenOrders				0.0%
nofx/trader/bybit/trader_orders.go:589:			PlaceLimitOrder				0.0%
nofx/trader/bybit/trader_orders.go:664:			CancelOrder				0.0%
nofx/trader/bybit/trader_orders.go:686:			GetOrderBook				0.0%
nofx/trader/bybit/trader_positions.go:13:		GetPositions				0.0%
nofx/trader/gate/order_sync.go:34:			GetTrades				0.0%
nofx/trader/gate/order_sync.go:153:			SyncOrdersFromGate			0.0%
nofx/trader/gate/order_sync.go:294:			StartOrderSync				0.0%
nofx/trader/gate/trader.go:34:				NewGateTrader				100.0%
nofx/trader/gate/trader.go:58:				convertSymbol				83.3%
nofx/trader/gate/trader.go:72:				revertSymbol				100.0%
nofx/trader/gate/trader.go:77:				getContract				0.0%
nofx/trader/gate/trader.go:103:				clearCache				100.0%
nofx/trader/gate/trader_account.go:14:			GetBalance				0.0%
nofx/trader/gate/trader_account.go:50:			GetPositions				0.0%
nofx/trader/gate/trader_account.go:126:			GetClosedPnL				0.0%
nofx/trader/gate/trader_orders.go:16:			SetLeverage				0.0%
nofx/trader/gate/trader_orders.go:34:			SetMarginMode				0.0%
nofx/trader/gate/trader_orders.go:43:			OpenLong				0.0%
nofx/trader/gate/trader_orders.go:101:			OpenShort				0.0%
nofx/trader/gate/trader_orders.go:158:			CloseLong				0.0%
nofx/trader/gate/trader_orders.go:226:			CloseShort				0.0%
nofx/trader/gate/trader_orders.go:299:			GetMarketPrice				0.0%
nofx/trader/gate/trader_orders.go:320:			SetStopLoss				0.0%
nofx/trader/gate/trader_orders.go:372:			SetTakeProfit				0.0%
nofx/trader/gate/trader_orders.go:423:			CancelStopLossOrders			0.0%
nofx/trader/gate/trader_orders.go:428:			CancelTakeProfitOrders			0.0%
nofx/trader/gate/trader_orders.go:433:			cancelTriggerOrders			0.0%
nofx/trader/gate/trader_orders.go:458:			CancelAllOrders				0.0%
nofx/trader/gate/trader_orders.go:477:			CancelStopOrders			0.0%
nofx/trader/gate/trader_orders.go:484:			FormatQuantity				0.0%
nofx/trader/gate/trader_orders.go:502:			GetOrderStatus				0.0%
nofx/trader/gate/trader_orders.go:563:			GetOpenOrders				0.0%
nofx/trader/grid_regime.go:16:				classifyRegimeLevel			100.0%
nofx/trader/grid_regime.go:37:				getRegimeLeverageLimit			0.0%
nofx/trader/grid_regime.go:65:				getRegimePositionLimit			0.0%
nofx/trader/grid_regime.go:98:				detectBoxBreakout			75.0%
nofx/trader/grid_regime.go:147:				confirmBreakout				100.0%
nofx/trader/grid_regime.go:185:				getBreakoutAction			100.0%
nofx/trader/grid_regime.go:212:				determineGridDirection			84.6%
nofx/trader/grid_regime.go:252:				determineRecoveryDirection		100.0%
nofx/trader/grid_regime.go:282:				getBreakoutActionWithDirection		100.0%
nofx/trader/grid_regime.go:304:				shouldRecoverDirection			100.0%
nofx/trader/helpers.go:9:				SafeFloat64				0.0%
nofx/trader/helpers.go:37:				SafeString				0.0%
nofx/trader/helpers.go:54:				SafeInt					0.0%
nofx/trader/hyperliquid/order_sync.go:17:		SyncOrdersFromHyperliquid		0.0%
nofx/trader/hyperliquid/order_sync.go:139:		StartOrderSync				0.0%
nofx/trader/hyperliquid/trader.go:71:			isXyzDexAsset				0.0%
nofx/trader/hyperliquid/trader.go:88:			convertSymbolToHyperliquid		0.0%
nofx/trader/hyperliquid/trader.go:112:			absFloat				0.0%
nofx/trader/hyperliquid/trader.go:121:			NewHyperliquidTrader			0.0%
nofx/trader/hyperliquid/trader.go:233:			FormatQuantity				0.0%
nofx/trader/hyperliquid/trader.go:243:			getSzDecimals				80.0%
nofx/trader/hyperliquid/trader.go:265:			roundToSzDecimals			0.0%
nofx/trader/hyperliquid/trader.go:280:			roundPriceToSigfigs			0.0%
nofx/trader/hyperliquid/trader_account.go:17:		GetBalance				0.0%
nofx/trader/hyperliquid/trader_account.go:203:		getXYZDexBalance			0.0%
nofx/trader/hyperliquid/trader_account.go:270:		GetMarketPrice				0.0%
nofx/trader/hyperliquid/trader_account.go:297:		getXyzMarketPrice			0.0%
nofx/trader/hyperliquid/trader_account.go:358:		GetOrderStatus				0.0%
nofx/trader/hyperliquid/trader_account.go:405:		GetClosedPnL				0.0%
nofx/trader/hyperliquid/trader_account.go:456:		GetTrades				0.0%
nofx/trader/hyperliquid/trader_account.go:528:		GetOpenOrders				0.0%
nofx/trader/hyperliquid/trader_account.go:563:		GetOrderBook				0.0%
nofx/trader/hyperliquid/trader_orders.go:19:		OpenLong				0.0%
nofx/trader/hyperliquid/trader_orders.go:91:		OpenShort				0.0%
nofx/trader/hyperliquid/trader_orders.go:163:		CloseLong				0.0%
nofx/trader/hyperliquid/trader_orders.go:250:		CloseShort				0.0%
nofx/trader/hyperliquid/trader_orders.go:337:		CancelStopLossOrders			0.0%
nofx/trader/hyperliquid/trader_orders.go:345:		CancelTakeProfitOrders			0.0%
nofx/trader/hyperliquid/trader_orders.go:353:		CancelAllOrders				0.0%
nofx/trader/hyperliquid/trader_orders.go:385:		CancelStopOrders			0.0%
nofx/trader/hyperliquid/trader_orders.go:427:		cancelXyzOrders				0.0%
nofx/trader/hyperliquid/trader_orders.go:495:		cancelXyzOrder				0.0%
nofx/trader/hyperliquid/trader_orders.go:570:		floatToWireStr				0.0%
nofx/trader/hyperliquid/trader_orders.go:584:		placeXyzOrder				0.0%
nofx/trader/hyperliquid/trader_orders.go:746:		placeXyzTriggerOrder			0.0%
nofx/trader/hyperliquid/trader_orders.go:900:		SetStopLoss				0.0%
nofx/trader/hyperliquid/trader_orders.go:948:		SetTakeProfit				0.0%
nofx/trader/hyperliquid/trader_orders.go:997:		PlaceLimitOrder				0.0%
nofx/trader/hyperliquid/trader_orders.go:1059:		CancelOrder				0.0%
nofx/trader/hyperliquid/trader_positions.go:11:		GetPositions				0.0%
nofx/trader/hyperliquid/trader_positions.go:142:	SetMarginMode				0.0%
nofx/trader/hyperliquid/trader_positions.go:154:	SetLeverage				0.0%
nofx/trader/hyperliquid/trader_sync.go:15:		refreshMetaIfNeeded			0.0%
nofx/trader/hyperliquid/trader_sync.go:50:		fetchXyzMeta				0.0%
nofx/trader/hyperliquid/trader_sync.go:100:		getXyzSzDecimals			0.0%
nofx/trader/hyperliquid/trader_sync.go:127:		getXyzAssetIndex			0.0%
nofx/trader/indodax/trader.go:93:			NewIndodaxTrader			100.0%
nofx/trader/indodax/trader.go:105:			getNonce				100.0%
nofx/trader/indodax/trader.go:113:			sign					100.0%
nofx/trader/indodax/trader.go:120:			doPublicRequest				0.0%
nofx/trader/indodax/trader.go:147:			doPrivateRequest			0.0%
nofx/trader/indodax/trader.go:195:			convertSymbol				88.9%
nofx/trader/indodax/trader.go:218:			convertSymbolBack			100.0%
nofx/trader/indodax/trader.go:224:			getCoinFromSymbol			80.0%
nofx/trader/indodax/trader.go:234:			loadPairs				0.0%
nofx/trader/indodax/trader.go:269:			getPair					0.0%
nofx/trader/indodax/trader.go:293:			clearCache				100.0%
nofx/trader/indodax/trader.go:301:			parseFloat				72.7%
nofx/trader/indodax/trader_account.go:15:		GetBalance				0.0%
nofx/trader/indodax/trader_account.go:87:		GetPositions				0.0%
nofx/trader/indodax/trader_account.go:163:		GetClosedPnL				0.0%
nofx/trader/indodax/trader_orders.go:15:		OpenLong				0.0%
nofx/trader/indodax/trader_orders.go:58:		OpenShort				100.0%
nofx/trader/indodax/trader_orders.go:63:		CloseLong				0.0%
nofx/trader/indodax/trader_orders.go:119:		CloseShort				100.0%
nofx/trader/indodax/trader_orders.go:124:		SetLeverage				100.0%
nofx/trader/indodax/trader_orders.go:130:		SetMarginMode				100.0%
nofx/trader/indodax/trader_orders.go:136:		GetMarketPrice				0.0%
nofx/trader/indodax/trader_orders.go:158:		SetStopLoss				100.0%
nofx/trader/indodax/trader_orders.go:163:		SetTakeProfit				100.0%
nofx/trader/indodax/trader_orders.go:168:		CancelStopLossOrders			0.0%
nofx/trader/indodax/trader_orders.go:173:		CancelTakeProfitOrders			0.0%
nofx/trader/indodax/trader_orders.go:178:		CancelAllOrders				0.0%
nofx/trader/indodax/trader_orders.go:224:		CancelStopOrders			0.0%
nofx/trader/indodax/trader_orders.go:229:		FormatQuantity				0.0%
nofx/trader/indodax/trader_orders.go:249:		GetOrderStatus				0.0%
nofx/trader/indodax/trader_orders.go:301:		GetOpenOrders				0.0%
nofx/trader/interface.go:27:				NewGridTraderAdapter			0.0%
nofx/trader/interface.go:33:				PlaceLimitOrder				0.0%
nofx/trader/interface.go:67:				CancelOrder				0.0%
nofx/trader/interface.go:85:				GetOrderBook				0.0%
nofx/trader/kucoin/order_sync.go:30:			GetTrades				0.0%
nofx/trader/kucoin/order_sync.go:162:			GetRecentTrades				0.0%
nofx/trader/kucoin/order_sync.go:254:			ToTradeRecord				100.0%
nofx/trader/kucoin/order_sync.go:279:			SyncOrdersFromKuCoin			0.0%
nofx/trader/kucoin/order_sync.go:402:			StartOrderSync				0.0%
nofx/trader/kucoin/trader.go:98:			NewKuCoinTrader				0.0%
nofx/trader/kucoin/trader.go:123:			syncServerTime				0.0%
nofx/trader/kucoin/trader.go:161:			getTimestamp				0.0%
nofx/trader/kucoin/trader.go:172:			sign					0.0%
nofx/trader/kucoin/trader.go:181:			signPassphrase				0.0%
nofx/trader/kucoin/trader.go:188:			signPartner				0.0%
nofx/trader/kucoin/trader.go:196:			doRequest				0.0%
nofx/trader/kucoin/trader.go:261:			convertSymbol				0.0%
nofx/trader/kucoin/trader.go:273:			convertSymbolBack			0.0%
nofx/trader/kucoin/trader.go:284:			getContract				0.0%
nofx/trader/kucoin/trader.go:350:			quantityToLots				0.0%
nofx/trader/kucoin/trader_account.go:11:		GetBalance				0.0%
nofx/trader/kucoin/trader_orders.go:15:			OpenLong				0.0%
nofx/trader/kucoin/trader_orders.go:70:			OpenShort				0.0%
nofx/trader/kucoin/trader_orders.go:125:		queryOrderFillPrice			0.0%
nofx/trader/kucoin/trader_orders.go:150:		CloseLong				0.0%
nofx/trader/kucoin/trader_orders.go:231:		CloseShort				0.0%
nofx/trader/kucoin/trader_orders.go:312:		GetMarketPrice				0.0%
nofx/trader/kucoin/trader_orders.go:334:		SetStopLoss				0.0%
nofx/trader/kucoin/trader_orders.go:374:		SetTakeProfit				0.0%
nofx/trader/kucoin/trader_orders.go:414:		CancelStopLossOrders			0.0%
nofx/trader/kucoin/trader_orders.go:419:		CancelTakeProfitOrders			0.0%
nofx/trader/kucoin/trader_orders.go:424:		cancelStopOrdersByType			0.0%
nofx/trader/kucoin/trader_orders.go:476:		CancelStopOrders			0.0%
nofx/trader/kucoin/trader_orders.go:494:		CancelAllOrders				0.0%
nofx/trader/kucoin/trader_orders.go:511:		SetMarginMode				0.0%
nofx/trader/kucoin/trader_orders.go:518:		SetLeverage				0.0%
nofx/trader/kucoin/trader_orders.go:541:		FormatQuantity				0.0%
nofx/trader/kucoin/trader_orders.go:557:		GetOrderStatus				0.0%
nofx/trader/kucoin/trader_orders.go:597:		GetClosedPnL				0.0%
nofx/trader/kucoin/trader_orders.go:678:		GetOpenOrders				0.0%
nofx/trader/kucoin/trader_positions.go:10:		GetPositions				0.0%
nofx/trader/kucoin/trader_positions.go:110:		InvalidatePositionCache			0.0%
nofx/trader/lighter/account.go:15:			getFullAccountInfo			0.0%
nofx/trader/lighter/account.go:85:			GetBalance				0.0%
nofx/trader/lighter/account.go:108:			GetAccountBalance			0.0%
nofx/trader/lighter/account.go:160:			GetPositions				0.0%
nofx/trader/lighter/account.go:186:			GetPositionsRaw				0.0%
nofx/trader/lighter/account.go:267:			GetPosition				0.0%
nofx/trader/lighter/account.go:284:			GetMarketPrice				0.0%
nofx/trader/lighter/account.go:353:			FormatQuantity				0.0%
nofx/trader/lighter/account.go:361:			GetOrderBook				0.0%
nofx/trader/lighter/order_sync.go:17:			SyncOrdersFromLighter			0.0%
nofx/trader/lighter/order_sync.go:148:			StartOrderSync				0.0%
nofx/trader/lighter/orders.go:17:			SetStopLoss				0.0%
nofx/trader/lighter/orders.go:39:			SetTakeProfit				0.0%
nofx/trader/lighter/orders.go:60:			CancelAllOrders				0.0%
nofx/trader/lighter/orders.go:95:			GetOrderStatus				0.0%
nofx/trader/lighter/orders.go:159:			CancelStopLossOrders			0.0%
nofx/trader/lighter/orders.go:166:			CancelTakeProfitOrders			0.0%
nofx/trader/lighter/orders.go:173:			CancelStopOrders			0.0%
nofx/trader/lighter/orders.go:204:			GetActiveOrders				0.0%
nofx/trader/lighter/orders.go:270:			CancelOrder				0.0%
nofx/trader/lighter/orders.go:329:			getOrderIndexByTxHash			0.0%
nofx/trader/lighter/trader.go:102:			NewLighterTraderV2			0.0%
nofx/trader/lighter/trader.go:183:			initializeAccount			0.0%
nofx/trader/lighter/trader.go:200:			getAccountByL1Address			0.0%
nofx/trader/lighter/trader.go:274:			getApiKeyFromServer			0.0%
nofx/trader/lighter/trader.go:315:			checkClient				0.0%
nofx/trader/lighter/trader.go:342:			GenerateAndRegisterAPIKey		0.0%
nofx/trader/lighter/trader.go:354:			refreshAuthToken			0.0%
nofx/trader/lighter/trader.go:376:			ensureAuthToken				0.0%
nofx/trader/lighter/trader.go:390:			GetExchangeType				0.0%
nofx/trader/lighter/trader.go:395:			Cleanup					0.0%
nofx/trader/lighter/trader.go:402:			GetClosedPnL				0.0%
nofx/trader/lighter/trader.go:451:			GetTrades				0.0%
nofx/trader/lighter/trading.go:20:			OpenLong				0.0%
nofx/trader/lighter/trading.go:61:			OpenShort				0.0%
nofx/trader/lighter/trading.go:102:			CloseLong				0.0%
nofx/trader/lighter/trading.go:146:			CloseShort				0.0%
nofx/trader/lighter/trading.go:190:			CreateOrder				0.0%
nofx/trader/lighter/trading.go:352:			submitOrder				0.0%
nofx/trader/lighter/trading.go:443:			pollForOrderIndex			0.0%
nofx/trader/lighter/trading.go:471:			normalizeSymbol				0.0%
nofx/trader/lighter/trading.go:482:			getMarketInfo				0.0%
nofx/trader/lighter/trading.go:503:			getMarketIndex				0.0%
nofx/trader/lighter/trading.go:523:			fetchMarketList				0.0%
nofx/trader/lighter/trading.go:598:			getFallbackMarketIndex			0.0%
nofx/trader/lighter/trading.go:625:			SetLeverage				0.0%
nofx/trader/lighter/trading.go:687:			SetMarginMode				0.0%
nofx/trader/lighter/trading.go:752:			CreateStopOrder				0.0%
nofx/trader/lighter/trading.go:843:			boolToUint8				0.0%
nofx/trader/lighter/trading.go:851:			pow10					0.0%
nofx/trader/lighter/trading.go:860:			GetOpenOrders				0.0%
nofx/trader/lighter/trading.go:929:			PlaceLimitOrder				0.0%
nofx/trader/lighter/types.go:107:			parseFloat				0.0%
nofx/trader/lighter/types.go:118:			ToChecksumAddress			0.0%
nofx/trader/okx/order_sync.go:35:			GetTrades				0.0%
nofx/trader/okx/order_sync.go:152:			SyncOrdersFromOKX			0.0%
nofx/trader/okx/order_sync.go:275:			StartOrderSync				0.0%
nofx/trader/okx/trader.go:98:				genOkxClOrdID				0.0%
nofx/trader/okx/trader.go:112:				NewOKXTrader				0.0%
nofx/trader/okx/trader.go:147:				detectPositionMode			0.0%
nofx/trader/okx/trader.go:170:				setPositionMode				0.0%
nofx/trader/okx/trader.go:190:				sign					0.0%
nofx/trader/okx/trader.go:198:				doRequest				0.0%
nofx/trader/okx/trader.go:252:				convertSymbol				0.0%
nofx/trader/okx/trader.go:260:				convertSymbolBack			0.0%
nofx/trader/okx/trader.go:269:				FormatQuantity				0.0%
nofx/trader/okx/trader.go:281:				formatSize				0.0%
nofx/trader/okx/trader_account.go:14:			GetBalance				0.0%
nofx/trader/okx/trader_account.go:84:			SetMarginMode				0.0%
nofx/trader/okx/trader_account.go:117:			SetLeverage				0.0%
nofx/trader/okx/trader_account.go:144:			GetMarketPrice				0.0%
nofx/trader/okx/trader_account.go:175:			GetClosedPnL				0.0%
nofx/trader/okx/trader_orders.go:13:			OpenLong				0.0%
nofx/trader/okx/trader_orders.go:90:			OpenShort				0.0%
nofx/trader/okx/trader_orders.go:167:			CloseLong				0.0%
nofx/trader/okx/trader_orders.go:278:			CloseShort				0.0%
nofx/trader/okx/trader_orders.go:392:			SetStopLoss				0.0%
nofx/trader/okx/trader_orders.go:435:			SetTakeProfit				0.0%
nofx/trader/okx/trader_orders.go:478:			CancelStopLossOrders			0.0%
nofx/trader/okx/trader_orders.go:483:			CancelTakeProfitOrders			0.0%
nofx/trader/okx/trader_orders.go:488:			cancelAlgoOrders			0.0%
nofx/trader/okx/trader_orders.go:532:			CancelAllOrders				0.0%
nofx/trader/okx/trader_orders.go:571:			CancelStopOrders			0.0%
nofx/trader/okx/trader_orders.go:576:			GetOrderStatus				0.0%
nofx/trader/okx/trader_orders.go:649:			GetOpenOrders				0.0%
nofx/trader/okx/trader_orders.go:790:			PlaceLimitOrder				0.0%
nofx/trader/okx/trader_orders.go:878:			CancelOrder				0.0%
nofx/trader/okx/trader_orders.go:897:			GetOrderBook				0.0%
nofx/trader/okx/trader_positions.go:12:			GetPositions				0.0%
nofx/trader/okx/trader_positions.go:121:		InvalidatePositionCache			0.0%
nofx/trader/okx/trader_positions.go:129:		getInstrument				0.0%
nofx/trader/position_rebuild.go:42:			RebuildPositionsFromTrades		0.0%
nofx/trader/position_rebuild.go:92:			determinePositionSide			0.0%
nofx/trader/position_rebuild.go:122:			buildClosedPosition			0.0%
nofx/trader/position_snapshot.go:16:			CreatePositionSnapshot			0.0%
nofx/trader/testutil/test_suite.go:25:			NewTraderTestSuite			0.0%
nofx/trader/testutil/test_suite.go:34:			Cleanup					0.0%
nofx/trader/testutil/test_suite.go:42:			RunAllTests				0.0%
nofx/trader/testutil/test_suite.go:71:			TestGetBalance				0.0%
nofx/trader/testutil/test_suite.go:104:			TestGetPositions			0.0%
nofx/trader/testutil/test_suite.go:141:			TestGetMarketPrice			0.0%
nofx/trader/testutil/test_suite.go:180:			TestSetLeverage				0.0%
nofx/trader/testutil/test_suite.go:214:			TestSetMarginMode			0.0%
nofx/trader/testutil/test_suite.go:248:			TestFormatQuantity			0.0%
nofx/trader/testutil/test_suite.go:292:			TestCancelAllOrders			0.0%
nofx/trader/testutil/test_suite.go:322:			TestOpenLong				0.0%
nofx/trader/testutil/test_suite.go:371:			TestOpenShort				0.0%
nofx/trader/testutil/test_suite.go:420:			TestCloseLong				0.0%
nofx/trader/testutil/test_suite.go:463:			TestCloseShort				0.0%
nofx/trader/testutil/test_suite.go:510:			TestSetStopLoss				0.0%
nofx/trader/testutil/test_suite.go:550:			TestSetTakeProfit			0.0%
nofx/trader/testutil/test_suite.go:590:			TestCancelStopOrders			0.0%
nofx/trader/testutil/test_suite.go:616:			TestCancelStopLossOrders		0.0%
nofx/trader/testutil/test_suite.go:642:			TestCancelTakeProfitOrders		0.0%
nofx/trader/types/interface.go:169:			NewGridTraderAdapter			0.0%
nofx/trader/types/interface.go:175:			PlaceLimitOrder				0.0%
nofx/trader/types/interface.go:209:			CancelOrder				0.0%
nofx/trader/types/interface.go:227:			GetOrderBook				0.0%
nofx/wallet/balance_cache.go:25:			QueryUSDCBalanceCached			0.0%
nofx/wallet/balance_cache.go:61:			InvalidateBalanceCache			0.0%
nofx/wallet/usdc.go:24:					QueryUSDCBalance			0.0%
nofx/wallet/usdc.go:31:					QueryUSDCBalanceStr			0.0%
nofx/wallet/usdc.go:39:					queryUSDCBalanceRPC			0.0%
total:							(statements)				9.8%

Coverage Guidelines

  • 🟢 >= 80%: Excellent
  • 🟡 >= 60%: Good
  • 🟠 >= 40%: Fair
  • 🔴 < 40%: Needs improvement

This is an automated coverage report. The coverage requirement is advisory and does not block PR merging.

@github-actions

Copy link
Copy Markdown

🤖 Advisory Check Results

These are advisory checks to help improve code quality. They won't block your PR from being merged.

📋 PR Information

Title Format: ⚠️ Suggestion - Consider using type(scope): description

Recommended format

Valid types: feat, fix, docs, style, refactor, perf, test, chore, ci, security, build

Examples:

  • feat(trader): add new trading strategy
  • fix(api): resolve authentication issue
  • docs: update README

PR Size: 🟢 Small (6 lines: +3 -3)

🔧 Backend Checks

Go Formatting: ⚠️ Needs formatting

Files needing formatting
api/errors.go
api/handler_trader.go
api/handler_wallet.go
api/utils_test.go
config/config.go
kernel/engine.go
kernel/formatter.go
kernel/grid_engine.go
kernel/validate_test.go
main.go

Go Vet: ✅ Good
Tests: ✅ Passed

Fix locally:

go fmt ./...      # Format code
go vet ./...      # Check for issues
go test ./...     # Run tests

⚛️ Frontend Checks

Build & Type Check: ✅ Success

Fix locally:

cd web
npm run build  # Test build (includes type checking)

📖 Resources

Questions? Feel free to ask in the comments! 🙏


These checks are advisory and won't block your PR from being merged. This comment is automatically generated from pr-checks-run.yml.

@github-actions

Copy link
Copy Markdown

🐳 Docker Build Check Results

AMD64 builds: ✅ success
ARM64 build (native runner): ✅ success

🎉 All Docker builds passed!

✨ Using GitHub native ARM64 runners - 3x faster than emulation!

After merge, full multi-arch builds will run in ~10-12 minutes.

Checked: Backend (amd64 + arm64 native), Frontend (amd64) | Powered by GitHub ARM64 Runners

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant