@one_deploy/sdk 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/{ForexPoolDataGenerator-eUgwsU_B.d.ts → ForexPoolDataGenerator-B3DCN6_i.d.ts} +1 -1
  2. package/dist/{ForexPoolDataGenerator--__twRwl.d.mts → ForexPoolDataGenerator-DWVj6mGW.d.mts} +1 -1
  3. package/dist/{OneForexTradeHistory-TlKxjbFF.d.ts → OneForexTradeHistory-BMbwdkMm.d.ts} +1 -1
  4. package/dist/{OneForexTradeHistory-iDySMcw0.d.mts → OneForexTradeHistory-DACfkJQF.d.mts} +1 -1
  5. package/dist/components/index.d.mts +2 -2
  6. package/dist/components/index.d.ts +2 -2
  7. package/dist/config/index.d.mts +1 -1
  8. package/dist/config/index.d.ts +1 -1
  9. package/dist/{console-BfTMA7ah.d.mts → console-BoAIxikK.d.mts} +28 -1
  10. package/dist/{console-BfTMA7ah.d.ts → console-BoAIxikK.d.ts} +28 -1
  11. package/dist/hooks/index.d.mts +2 -2
  12. package/dist/hooks/index.d.ts +2 -2
  13. package/dist/hooks/index.js +385 -24
  14. package/dist/hooks/index.js.map +1 -1
  15. package/dist/hooks/index.mjs +385 -24
  16. package/dist/hooks/index.mjs.map +1 -1
  17. package/dist/index.d.mts +4 -4
  18. package/dist/index.d.ts +4 -4
  19. package/dist/index.js +385 -24
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.mjs +385 -24
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/providers/index.d.mts +1 -1
  24. package/dist/providers/index.d.ts +1 -1
  25. package/dist/react-native.d.mts +4 -4
  26. package/dist/react-native.d.ts +4 -4
  27. package/dist/react-native.js +356 -22
  28. package/dist/react-native.js.map +1 -1
  29. package/dist/react-native.mjs +354 -23
  30. package/dist/react-native.mjs.map +1 -1
  31. package/dist/services/index.d.mts +2 -2
  32. package/dist/services/index.d.ts +2 -2
  33. package/dist/services/index.js +225 -22
  34. package/dist/services/index.js.map +1 -1
  35. package/dist/services/index.mjs +225 -22
  36. package/dist/services/index.mjs.map +1 -1
  37. package/dist/types/index.d.mts +1 -1
  38. package/dist/types/index.d.ts +1 -1
  39. package/dist/{useForexTrading-ZgW_G40Q.d.ts → useForexTrading-BB4eUlHO.d.ts} +1 -1
  40. package/dist/{useForexTrading-BleeSor8.d.mts → useForexTrading-xJwkxnhd.d.mts} +1 -1
  41. package/package.json +1 -1
  42. package/src/react-native.ts +16 -1
  43. package/src/services/forex/BotSimulationEngine.ts +447 -19
  44. package/src/services/forex/index.ts +12 -1
@@ -1,5 +1,5 @@
1
1
  import { TokenPrice } from './types/index.js';
2
- import { t as ForexLogEntry, m as ForexPoolTransaction, g as ForexCurrencyPair, i as ForexPoolType, n as ForexPoolDailySnapshot, r as ForexTradeRecord, l as ForexPoolTransactionType } from './console-BfTMA7ah.js';
2
+ import { t as ForexLogEntry, m as ForexPoolTransaction, g as ForexCurrencyPair, i as ForexPoolType, n as ForexPoolDailySnapshot, r as ForexTradeRecord, l as ForexPoolTransactionType } from './console-BoAIxikK.js';
3
3
 
4
4
  declare class PriceService {
5
5
  private cache;
@@ -1,5 +1,5 @@
1
1
  import { TokenPrice } from './types/index.mjs';
2
- import { t as ForexLogEntry, m as ForexPoolTransaction, g as ForexCurrencyPair, i as ForexPoolType, n as ForexPoolDailySnapshot, r as ForexTradeRecord, l as ForexPoolTransactionType } from './console-BfTMA7ah.mjs';
2
+ import { t as ForexLogEntry, m as ForexPoolTransaction, g as ForexCurrencyPair, i as ForexPoolType, n as ForexPoolDailySnapshot, r as ForexTradeRecord, l as ForexPoolTransactionType } from './console-BoAIxikK.mjs';
3
3
 
4
4
  declare class PriceService {
5
5
  private cache;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ViewStyle, TextStyle } from 'react-native';
3
- import { j as ForexPool, t as ForexLogEntry, g as ForexCurrencyPair, r as ForexTradeRecord } from './console-BfTMA7ah.js';
3
+ import { j as ForexPool, t as ForexLogEntry, g as ForexCurrencyPair, r as ForexTradeRecord } from './console-BoAIxikK.js';
4
4
 
5
5
  /**
6
6
  * OneChainSelector - Multi-chain selection component for AI trading
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ViewStyle, TextStyle } from 'react-native';
3
- import { j as ForexPool, t as ForexLogEntry, g as ForexCurrencyPair, r as ForexTradeRecord } from './console-BfTMA7ah.mjs';
3
+ import { j as ForexPool, t as ForexLogEntry, g as ForexCurrencyPair, r as ForexTradeRecord } from './console-BoAIxikK.mjs';
4
4
 
5
5
  /**
6
6
  * OneChainSelector - Multi-chain selection component for AI trading
@@ -3,9 +3,9 @@ import React from 'react';
3
3
  import { smartWallet } from 'thirdweb/wallets';
4
4
  import { PreparedTransaction } from 'thirdweb';
5
5
  import { Chain } from 'thirdweb/chains';
6
- export { C as CHAIN_CONFIG, D as DEFAULT_SHARE_RATES, O as OneChainSelector, i as OneChainSelectorProps, b as OneCycleSelector, k as OneCycleSelectorProps, e as OneForexCapitalSplit, n as OneForexCapitalSplitProps, f as OneForexConsoleView, o as OneForexConsoleViewProps, g as OneForexPairSelector, p as OneForexPairSelectorProps, d as OneForexPoolCard, m as OneForexPoolCardProps, h as OneForexTradeHistory, q as OneForexTradeHistoryProps, c as OnePairSelector, l as OnePairSelectorProps, a as OneTierSelector, j as OneTierSelectorProps, P as PAIR_ICONS, T as Tier } from '../OneForexTradeHistory-iDySMcw0.mjs';
6
+ export { C as CHAIN_CONFIG, D as DEFAULT_SHARE_RATES, O as OneChainSelector, i as OneChainSelectorProps, b as OneCycleSelector, k as OneCycleSelectorProps, e as OneForexCapitalSplit, n as OneForexCapitalSplitProps, f as OneForexConsoleView, o as OneForexConsoleViewProps, g as OneForexPairSelector, p as OneForexPairSelectorProps, d as OneForexPoolCard, m as OneForexPoolCardProps, h as OneForexTradeHistory, q as OneForexTradeHistoryProps, c as OnePairSelector, l as OnePairSelectorProps, a as OneTierSelector, j as OneTierSelectorProps, P as PAIR_ICONS, T as Tier } from '../OneForexTradeHistory-DACfkJQF.mjs';
7
7
  import { ViewStyle } from 'react-native';
8
- import { N as CombinedLogEntry, a as BotLogEntry, t as ForexLogEntry, a1 as AIAgent, K as ConsoleMetrics, R as RiskStatus, c as BotState, D as AIPosition, G as AIDecision } from '../console-BfTMA7ah.mjs';
8
+ import { N as CombinedLogEntry, a as BotLogEntry, t as ForexLogEntry, a6 as AIAgent, K as ConsoleMetrics, R as RiskStatus, c as BotState, D as AIPosition, G as AIDecision } from '../console-BoAIxikK.mjs';
9
9
 
10
10
  interface OneConnectButtonProps {
11
11
  label?: string;
@@ -3,9 +3,9 @@ import React from 'react';
3
3
  import { smartWallet } from 'thirdweb/wallets';
4
4
  import { PreparedTransaction } from 'thirdweb';
5
5
  import { Chain } from 'thirdweb/chains';
6
- export { C as CHAIN_CONFIG, D as DEFAULT_SHARE_RATES, O as OneChainSelector, i as OneChainSelectorProps, b as OneCycleSelector, k as OneCycleSelectorProps, e as OneForexCapitalSplit, n as OneForexCapitalSplitProps, f as OneForexConsoleView, o as OneForexConsoleViewProps, g as OneForexPairSelector, p as OneForexPairSelectorProps, d as OneForexPoolCard, m as OneForexPoolCardProps, h as OneForexTradeHistory, q as OneForexTradeHistoryProps, c as OnePairSelector, l as OnePairSelectorProps, a as OneTierSelector, j as OneTierSelectorProps, P as PAIR_ICONS, T as Tier } from '../OneForexTradeHistory-TlKxjbFF.js';
6
+ export { C as CHAIN_CONFIG, D as DEFAULT_SHARE_RATES, O as OneChainSelector, i as OneChainSelectorProps, b as OneCycleSelector, k as OneCycleSelectorProps, e as OneForexCapitalSplit, n as OneForexCapitalSplitProps, f as OneForexConsoleView, o as OneForexConsoleViewProps, g as OneForexPairSelector, p as OneForexPairSelectorProps, d as OneForexPoolCard, m as OneForexPoolCardProps, h as OneForexTradeHistory, q as OneForexTradeHistoryProps, c as OnePairSelector, l as OnePairSelectorProps, a as OneTierSelector, j as OneTierSelectorProps, P as PAIR_ICONS, T as Tier } from '../OneForexTradeHistory-BMbwdkMm.js';
7
7
  import { ViewStyle } from 'react-native';
8
- import { N as CombinedLogEntry, a as BotLogEntry, t as ForexLogEntry, a1 as AIAgent, K as ConsoleMetrics, R as RiskStatus, c as BotState, D as AIPosition, G as AIDecision } from '../console-BfTMA7ah.js';
8
+ import { N as CombinedLogEntry, a as BotLogEntry, t as ForexLogEntry, a6 as AIAgent, K as ConsoleMetrics, R as RiskStatus, c as BotState, D as AIPosition, G as AIDecision } from '../console-BoAIxikK.js';
9
9
 
10
10
  interface OneConnectButtonProps {
11
11
  label?: string;
@@ -1,5 +1,5 @@
1
1
  import { ChainConfig } from '../types/index.mjs';
2
- import '../console-BfTMA7ah.mjs';
2
+ import '../console-BoAIxikK.mjs';
3
3
 
4
4
  /**
5
5
  * ONE SDK Configuration
@@ -1,5 +1,5 @@
1
1
  import { ChainConfig } from '../types/index.js';
2
- import '../console-BfTMA7ah.js';
2
+ import '../console-BoAIxikK.js';
3
3
 
4
4
  /**
5
5
  * ONE SDK Configuration
@@ -255,7 +255,34 @@ interface StrategyPersonality {
255
255
  riskTolerance: 'low' | 'medium' | 'high';
256
256
  preferredPairs: string[];
257
257
  rsiBias: number;
258
+ tier: InvestmentTier;
259
+ dailyYieldMin: number;
260
+ dailyYieldMax: number;
261
+ description: string;
262
+ category: StrategyCategory;
263
+ }
264
+ type StrategyCategory = 'conservative' | 'balanced' | 'growth' | 'aggressive' | 'quantitative';
265
+ type InvestmentTier = 'starter' | 'basic' | 'standard' | 'premium' | 'elite' | 'vip';
266
+ interface TierConfig {
267
+ id: InvestmentTier;
268
+ name: string;
269
+ nameCn: string;
270
+ minInvestment: number;
271
+ maxInvestment: number;
272
+ color: string;
273
+ icon: string;
274
+ }
275
+ declare const INVESTMENT_TIERS: Record<InvestmentTier, TierConfig>;
276
+ interface CycleConfig {
277
+ id: string;
278
+ days: number;
279
+ name: string;
280
+ nameCn: string;
281
+ profitSharePercent: number;
282
+ bonusMultiplier: number;
283
+ earlyWithdrawPenalty: number;
258
284
  }
285
+ declare const INVESTMENT_CYCLES: CycleConfig[];
259
286
  type LogCallback = (entry: BotLogEntry) => void;
260
287
  declare const STRATEGY_PERSONALITIES: StrategyPersonality[];
261
288
  declare class BotSimulationEngine {
@@ -501,4 +528,4 @@ declare function calculateRiskLevel(exposurePercent: number, drawdownPercent: nu
501
528
  declare function formatPnl(pnl: number): string;
502
529
  declare function formatPercent(value: number, showSign?: boolean): string;
503
530
 
504
- export { formatPercent as $, type AILogType as A, type BotLogType as B, type PositionStatus as C, type AIPosition as D, type DecisionAction as E, FOREX_CAPITAL_SPLIT as F, type AIDecision as G, RISK_LEVEL_COLORS as H, type IndicatorSnapshot as I, TRADING_STATUS_COLORS as J, type ConsoleMetrics as K, type AgentStatus as L, AGENT_STATUS_COLORS as M, type CombinedLogEntry as N, type TradingConsoleState as O, type PositionSide as P, type TradingConsoleOptions as Q, type RiskStatus as R, type StrategyPersonality as S, type TradingStatus as T, type AIQuantConsoleOptions as U, type AgentConsoleOptions as V, DEFAULT_CONSOLE_OPTIONS as W, DEFAULT_RISK_STATUS as X, DEFAULT_CONSOLE_METRICS as Y, calculateRiskLevel as Z, formatPnl as _, type BotLogEntry as a, STRATEGY_PERSONALITIES as a0, type AIAgent as a1, type RiskLevel as a2, botSimulationEngine as b, type BotState as c, computePoolAllocations as d, type ForexCycleOption as e, FOREX_CYCLE_OPTIONS as f, type ForexCurrencyPair as g, FOREX_CURRENCY_PAIRS as h, type ForexPoolType as i, type ForexPool as j, FOREX_POOL_DEFAULTS as k, type ForexPoolTransactionType as l, type ForexPoolTransaction as m, type ForexPoolDailySnapshot as n, type ForexPosition as o, type ForexInvestment as p, type ForexTradeStatus as q, type ForexTradeRecord as r, type ForexLogType as s, type ForexLogEntry as t, type ForexAgent as u, FOREX_AGENT as v, calculateForexNetProfit as w, estimateForexProfit as x, AI_LOG_COLORS as y, FOREX_LOG_COLORS as z };
531
+ export { STRATEGY_PERSONALITIES as $, type AILogType as A, type BotLogType as B, type PositionStatus as C, type AIPosition as D, type DecisionAction as E, FOREX_CAPITAL_SPLIT as F, type AIDecision as G, RISK_LEVEL_COLORS as H, type IndicatorSnapshot as I, TRADING_STATUS_COLORS as J, type ConsoleMetrics as K, type AgentStatus as L, AGENT_STATUS_COLORS as M, type CombinedLogEntry as N, type TradingConsoleState as O, type PositionSide as P, type TradingConsoleOptions as Q, type RiskStatus as R, type StrategyPersonality as S, type TradingStatus as T, type AIQuantConsoleOptions as U, type AgentConsoleOptions as V, DEFAULT_CONSOLE_OPTIONS as W, DEFAULT_RISK_STATUS as X, DEFAULT_CONSOLE_METRICS as Y, calculateRiskLevel as Z, formatPnl as _, type BotLogEntry as a, INVESTMENT_TIERS as a0, INVESTMENT_CYCLES as a1, type InvestmentTier as a2, type CycleConfig as a3, type TierConfig as a4, formatPercent as a5, type AIAgent as a6, type RiskLevel as a7, botSimulationEngine as b, type BotState as c, computePoolAllocations as d, type ForexCycleOption as e, FOREX_CYCLE_OPTIONS as f, type ForexCurrencyPair as g, FOREX_CURRENCY_PAIRS as h, type ForexPoolType as i, type ForexPool as j, FOREX_POOL_DEFAULTS as k, type ForexPoolTransactionType as l, type ForexPoolTransaction as m, type ForexPoolDailySnapshot as n, type ForexPosition as o, type ForexInvestment as p, type ForexTradeStatus as q, type ForexTradeRecord as r, type ForexLogType as s, type ForexLogEntry as t, type ForexAgent as u, FOREX_AGENT as v, calculateForexNetProfit as w, estimateForexProfit as x, AI_LOG_COLORS as y, FOREX_LOG_COLORS as z };
@@ -255,7 +255,34 @@ interface StrategyPersonality {
255
255
  riskTolerance: 'low' | 'medium' | 'high';
256
256
  preferredPairs: string[];
257
257
  rsiBias: number;
258
+ tier: InvestmentTier;
259
+ dailyYieldMin: number;
260
+ dailyYieldMax: number;
261
+ description: string;
262
+ category: StrategyCategory;
263
+ }
264
+ type StrategyCategory = 'conservative' | 'balanced' | 'growth' | 'aggressive' | 'quantitative';
265
+ type InvestmentTier = 'starter' | 'basic' | 'standard' | 'premium' | 'elite' | 'vip';
266
+ interface TierConfig {
267
+ id: InvestmentTier;
268
+ name: string;
269
+ nameCn: string;
270
+ minInvestment: number;
271
+ maxInvestment: number;
272
+ color: string;
273
+ icon: string;
274
+ }
275
+ declare const INVESTMENT_TIERS: Record<InvestmentTier, TierConfig>;
276
+ interface CycleConfig {
277
+ id: string;
278
+ days: number;
279
+ name: string;
280
+ nameCn: string;
281
+ profitSharePercent: number;
282
+ bonusMultiplier: number;
283
+ earlyWithdrawPenalty: number;
258
284
  }
285
+ declare const INVESTMENT_CYCLES: CycleConfig[];
259
286
  type LogCallback = (entry: BotLogEntry) => void;
260
287
  declare const STRATEGY_PERSONALITIES: StrategyPersonality[];
261
288
  declare class BotSimulationEngine {
@@ -501,4 +528,4 @@ declare function calculateRiskLevel(exposurePercent: number, drawdownPercent: nu
501
528
  declare function formatPnl(pnl: number): string;
502
529
  declare function formatPercent(value: number, showSign?: boolean): string;
503
530
 
504
- export { formatPercent as $, type AILogType as A, type BotLogType as B, type PositionStatus as C, type AIPosition as D, type DecisionAction as E, FOREX_CAPITAL_SPLIT as F, type AIDecision as G, RISK_LEVEL_COLORS as H, type IndicatorSnapshot as I, TRADING_STATUS_COLORS as J, type ConsoleMetrics as K, type AgentStatus as L, AGENT_STATUS_COLORS as M, type CombinedLogEntry as N, type TradingConsoleState as O, type PositionSide as P, type TradingConsoleOptions as Q, type RiskStatus as R, type StrategyPersonality as S, type TradingStatus as T, type AIQuantConsoleOptions as U, type AgentConsoleOptions as V, DEFAULT_CONSOLE_OPTIONS as W, DEFAULT_RISK_STATUS as X, DEFAULT_CONSOLE_METRICS as Y, calculateRiskLevel as Z, formatPnl as _, type BotLogEntry as a, STRATEGY_PERSONALITIES as a0, type AIAgent as a1, type RiskLevel as a2, botSimulationEngine as b, type BotState as c, computePoolAllocations as d, type ForexCycleOption as e, FOREX_CYCLE_OPTIONS as f, type ForexCurrencyPair as g, FOREX_CURRENCY_PAIRS as h, type ForexPoolType as i, type ForexPool as j, FOREX_POOL_DEFAULTS as k, type ForexPoolTransactionType as l, type ForexPoolTransaction as m, type ForexPoolDailySnapshot as n, type ForexPosition as o, type ForexInvestment as p, type ForexTradeStatus as q, type ForexTradeRecord as r, type ForexLogType as s, type ForexLogEntry as t, type ForexAgent as u, FOREX_AGENT as v, calculateForexNetProfit as w, estimateForexProfit as x, AI_LOG_COLORS as y, FOREX_LOG_COLORS as z };
531
+ export { STRATEGY_PERSONALITIES as $, type AILogType as A, type BotLogType as B, type PositionStatus as C, type AIPosition as D, type DecisionAction as E, FOREX_CAPITAL_SPLIT as F, type AIDecision as G, RISK_LEVEL_COLORS as H, type IndicatorSnapshot as I, TRADING_STATUS_COLORS as J, type ConsoleMetrics as K, type AgentStatus as L, AGENT_STATUS_COLORS as M, type CombinedLogEntry as N, type TradingConsoleState as O, type PositionSide as P, type TradingConsoleOptions as Q, type RiskStatus as R, type StrategyPersonality as S, type TradingStatus as T, type AIQuantConsoleOptions as U, type AgentConsoleOptions as V, DEFAULT_CONSOLE_OPTIONS as W, DEFAULT_RISK_STATUS as X, DEFAULT_CONSOLE_METRICS as Y, calculateRiskLevel as Z, formatPnl as _, type BotLogEntry as a, INVESTMENT_TIERS as a0, INVESTMENT_CYCLES as a1, type InvestmentTier as a2, type CycleConfig as a3, type TierConfig as a4, formatPercent as a5, type AIAgent as a6, type RiskLevel as a7, botSimulationEngine as b, type BotState as c, computePoolAllocations as d, type ForexCycleOption as e, FOREX_CYCLE_OPTIONS as f, type ForexCurrencyPair as g, FOREX_CURRENCY_PAIRS as h, type ForexPoolType as i, type ForexPool as j, FOREX_POOL_DEFAULTS as k, type ForexPoolTransactionType as l, type ForexPoolTransaction as m, type ForexPoolDailySnapshot as n, type ForexPosition as o, type ForexInvestment as p, type ForexTradeStatus as q, type ForexTradeRecord as r, type ForexLogType as s, type ForexLogEntry as t, type ForexAgent as u, FOREX_AGENT as v, calculateForexNetProfit as w, estimateForexProfit as x, AI_LOG_COLORS as y, FOREX_LOG_COLORS as z };
@@ -1,7 +1,7 @@
1
1
  import { a as EngineWalletBalance } from '../engine-BeVuHpVx.mjs';
2
2
  import { Token, TokenPrice, StrategyCategory, AIStrategy, AINavSnapshot, AIMarketData, AIOrderStatus, AIOrder, CreateAIOrderRequest, ApiResponse, AIPortfolioSummary, AITradeAllocation } from '../types/index.mjs';
3
- export { g as UseForexInvestmentsResult, i as UseForexPoolDataResult, U as UseForexPoolsResult, h as UseForexSimulationResult, j as UseForexTradingResult, e as clearForexAccessToken, s as setForexAccessToken, f as setForexEngineUrl, a as useForexInvestments, c as useForexPoolData, u as useForexPools, b as useForexSimulation, d as useForexTrading } from '../useForexTrading-BleeSor8.mjs';
4
- import { U as AIQuantConsoleOptions, S as StrategyPersonality, a1 as AIAgent$1, a as BotLogEntry, c as BotState, D as AIPosition, G as AIDecision, R as RiskStatus, K as ConsoleMetrics, C as PositionStatus, E as DecisionAction, a2 as RiskLevel, T as TradingStatus, Q as TradingConsoleOptions, t as ForexLogEntry, m as ForexPoolTransaction, j as ForexPool, p as ForexInvestment, N as CombinedLogEntry } from '../console-BfTMA7ah.mjs';
3
+ export { g as UseForexInvestmentsResult, i as UseForexPoolDataResult, U as UseForexPoolsResult, h as UseForexSimulationResult, j as UseForexTradingResult, e as clearForexAccessToken, s as setForexAccessToken, f as setForexEngineUrl, a as useForexInvestments, c as useForexPoolData, u as useForexPools, b as useForexSimulation, d as useForexTrading } from '../useForexTrading-xJwkxnhd.mjs';
4
+ import { U as AIQuantConsoleOptions, S as StrategyPersonality, a6 as AIAgent$1, a as BotLogEntry, c as BotState, D as AIPosition, G as AIDecision, R as RiskStatus, K as ConsoleMetrics, C as PositionStatus, E as DecisionAction, a7 as RiskLevel, T as TradingStatus, Q as TradingConsoleOptions, t as ForexLogEntry, m as ForexPoolTransaction, j as ForexPool, p as ForexInvestment, N as CombinedLogEntry } from '../console-BoAIxikK.mjs';
5
5
 
6
6
  interface UseWalletBalanceOptions {
7
7
  chains?: number[];
@@ -1,7 +1,7 @@
1
1
  import { a as EngineWalletBalance } from '../engine-DSc1Em4V.js';
2
2
  import { Token, TokenPrice, StrategyCategory, AIStrategy, AINavSnapshot, AIMarketData, AIOrderStatus, AIOrder, CreateAIOrderRequest, ApiResponse, AIPortfolioSummary, AITradeAllocation } from '../types/index.js';
3
- export { g as UseForexInvestmentsResult, i as UseForexPoolDataResult, U as UseForexPoolsResult, h as UseForexSimulationResult, j as UseForexTradingResult, e as clearForexAccessToken, s as setForexAccessToken, f as setForexEngineUrl, a as useForexInvestments, c as useForexPoolData, u as useForexPools, b as useForexSimulation, d as useForexTrading } from '../useForexTrading-ZgW_G40Q.js';
4
- import { U as AIQuantConsoleOptions, S as StrategyPersonality, a1 as AIAgent$1, a as BotLogEntry, c as BotState, D as AIPosition, G as AIDecision, R as RiskStatus, K as ConsoleMetrics, C as PositionStatus, E as DecisionAction, a2 as RiskLevel, T as TradingStatus, Q as TradingConsoleOptions, t as ForexLogEntry, m as ForexPoolTransaction, j as ForexPool, p as ForexInvestment, N as CombinedLogEntry } from '../console-BfTMA7ah.js';
3
+ export { g as UseForexInvestmentsResult, i as UseForexPoolDataResult, U as UseForexPoolsResult, h as UseForexSimulationResult, j as UseForexTradingResult, e as clearForexAccessToken, s as setForexAccessToken, f as setForexEngineUrl, a as useForexInvestments, c as useForexPoolData, u as useForexPools, b as useForexSimulation, d as useForexTrading } from '../useForexTrading-BB4eUlHO.js';
4
+ import { U as AIQuantConsoleOptions, S as StrategyPersonality, a6 as AIAgent$1, a as BotLogEntry, c as BotState, D as AIPosition, G as AIDecision, R as RiskStatus, K as ConsoleMetrics, C as PositionStatus, E as DecisionAction, a7 as RiskLevel, T as TradingStatus, Q as TradingConsoleOptions, t as ForexLogEntry, m as ForexPoolTransaction, j as ForexPool, p as ForexInvestment, N as CombinedLogEntry } from '../console-BoAIxikK.js';
5
5
 
6
6
  interface UseWalletBalanceOptions {
7
7
  chains?: number[];
@@ -929,9 +929,39 @@ var init_ForexSimulationEngine = __esm({
929
929
  // src/services/forex/BotSimulationEngine.ts
930
930
  var BotSimulationEngine_exports = {};
931
931
  __export(BotSimulationEngine_exports, {
932
+ INVESTMENT_CYCLES: () => INVESTMENT_CYCLES,
933
+ INVESTMENT_TIERS: () => INVESTMENT_TIERS,
932
934
  STRATEGY_PERSONALITIES: () => STRATEGY_PERSONALITIES,
933
- botSimulationEngine: () => botSimulationEngine
935
+ botSimulationEngine: () => botSimulationEngine,
936
+ calculateDailyYield: () => calculateDailyYield,
937
+ estimateReturns: () => estimateReturns
934
938
  });
939
+ function calculateDailyYield(strategy, tier, cycle) {
940
+ const baseYield = (strategy.dailyYieldMin + strategy.dailyYieldMax) / 2;
941
+ const tierBonuses = {
942
+ starter: 0,
943
+ basic: 0.02,
944
+ standard: 0.05,
945
+ premium: 0.08,
946
+ elite: 0.12,
947
+ vip: 0.15
948
+ };
949
+ const grossYield = baseYield * cycle.bonusMultiplier * (1 + tierBonuses[tier]);
950
+ const platformFee = grossYield * (cycle.profitSharePercent / 100);
951
+ const netYield = grossYield - platformFee;
952
+ return { grossYield, netYield, platformFee };
953
+ }
954
+ function estimateReturns(principal, strategy, tier, cycle) {
955
+ const { netYield, platformFee } = calculateDailyYield(strategy, tier, cycle);
956
+ const days = cycle.days || 30;
957
+ const dailyReturn = principal * (netYield / 100);
958
+ const totalReturn = dailyReturn * days;
959
+ const finalAmount = principal + totalReturn;
960
+ const platformProfit = principal * (platformFee / 100) * days;
961
+ const userProfit = totalReturn;
962
+ const apr = netYield * 365;
963
+ return { dailyReturn, totalReturn, finalAmount, platformProfit, userProfit, apr };
964
+ }
935
965
  function genId3() {
936
966
  return `log_${Date.now()}_${++idCounter2}`;
937
967
  }
@@ -952,17 +982,194 @@ function formatPrice(price) {
952
982
  if (price >= 1) return price.toFixed(3);
953
983
  return price.toFixed(5);
954
984
  }
955
- var STRATEGY_PERSONALITIES, PAIR_PRICES, CHAIN_INFO, NEWS_HEADLINES, idCounter2, BotSimulationEngine, botSimulationEngine;
985
+ var INVESTMENT_TIERS, INVESTMENT_CYCLES, STRATEGY_PERSONALITIES, PAIR_PRICES, CHAIN_INFO, NEWS_HEADLINES, idCounter2, BotSimulationEngine, botSimulationEngine;
956
986
  var init_BotSimulationEngine = __esm({
957
987
  "src/services/forex/BotSimulationEngine.ts"() {
988
+ INVESTMENT_TIERS = {
989
+ starter: {
990
+ id: "starter",
991
+ name: "Starter",
992
+ nameCn: "\u5165\u95E8\u7248",
993
+ minInvestment: 100,
994
+ maxInvestment: 999,
995
+ color: "#6B7280",
996
+ icon: "\u{1F331}"
997
+ },
998
+ basic: {
999
+ id: "basic",
1000
+ name: "Basic",
1001
+ nameCn: "\u57FA\u7840\u7248",
1002
+ minInvestment: 1e3,
1003
+ maxInvestment: 4999,
1004
+ color: "#3B82F6",
1005
+ icon: "\u{1F4CA}"
1006
+ },
1007
+ standard: {
1008
+ id: "standard",
1009
+ name: "Standard",
1010
+ nameCn: "\u6807\u51C6\u7248",
1011
+ minInvestment: 5e3,
1012
+ maxInvestment: 19999,
1013
+ color: "#10B981",
1014
+ icon: "\u{1F48E}"
1015
+ },
1016
+ premium: {
1017
+ id: "premium",
1018
+ name: "Premium",
1019
+ nameCn: "\u9AD8\u7EA7\u7248",
1020
+ minInvestment: 2e4,
1021
+ maxInvestment: 49999,
1022
+ color: "#8B5CF6",
1023
+ icon: "\u{1F451}"
1024
+ },
1025
+ elite: {
1026
+ id: "elite",
1027
+ name: "Elite",
1028
+ nameCn: "\u7CBE\u82F1\u7248",
1029
+ minInvestment: 5e4,
1030
+ maxInvestment: 99999,
1031
+ color: "#F59E0B",
1032
+ icon: "\u{1F3C6}"
1033
+ },
1034
+ vip: {
1035
+ id: "vip",
1036
+ name: "VIP",
1037
+ nameCn: "VIP\u4E13\u5C5E",
1038
+ minInvestment: 1e5,
1039
+ maxInvestment: Infinity,
1040
+ color: "#EF4444",
1041
+ icon: "\u{1F525}"
1042
+ }
1043
+ };
1044
+ INVESTMENT_CYCLES = [
1045
+ {
1046
+ id: "flexible",
1047
+ days: 0,
1048
+ name: "Flexible",
1049
+ nameCn: "\u7075\u6D3B\u671F",
1050
+ profitSharePercent: 30,
1051
+ // Platform 30%, User 70%
1052
+ bonusMultiplier: 1,
1053
+ earlyWithdrawPenalty: 0
1054
+ },
1055
+ {
1056
+ id: "week",
1057
+ days: 7,
1058
+ name: "7 Days",
1059
+ nameCn: "7\u5929\u671F",
1060
+ profitSharePercent: 25,
1061
+ // Platform 25%, User 75%
1062
+ bonusMultiplier: 1.1,
1063
+ earlyWithdrawPenalty: 5
1064
+ },
1065
+ {
1066
+ id: "biweek",
1067
+ days: 14,
1068
+ name: "14 Days",
1069
+ nameCn: "14\u5929\u671F",
1070
+ profitSharePercent: 22,
1071
+ // Platform 22%, User 78%
1072
+ bonusMultiplier: 1.2,
1073
+ earlyWithdrawPenalty: 8
1074
+ },
1075
+ {
1076
+ id: "month",
1077
+ days: 30,
1078
+ name: "30 Days",
1079
+ nameCn: "30\u5929\u671F",
1080
+ profitSharePercent: 20,
1081
+ // Platform 20%, User 80%
1082
+ bonusMultiplier: 1.35,
1083
+ earlyWithdrawPenalty: 10
1084
+ },
1085
+ {
1086
+ id: "quarter",
1087
+ days: 90,
1088
+ name: "90 Days",
1089
+ nameCn: "90\u5929\u671F",
1090
+ profitSharePercent: 15,
1091
+ // Platform 15%, User 85%
1092
+ bonusMultiplier: 1.5,
1093
+ earlyWithdrawPenalty: 15
1094
+ },
1095
+ {
1096
+ id: "halfyear",
1097
+ days: 180,
1098
+ name: "180 Days",
1099
+ nameCn: "180\u5929\u671F",
1100
+ profitSharePercent: 12,
1101
+ // Platform 12%, User 88%
1102
+ bonusMultiplier: 1.8,
1103
+ earlyWithdrawPenalty: 20
1104
+ },
1105
+ {
1106
+ id: "year",
1107
+ days: 365,
1108
+ name: "365 Days",
1109
+ nameCn: "365\u5929\u671F",
1110
+ profitSharePercent: 10,
1111
+ // Platform 10%, User 90%
1112
+ bonusMultiplier: 2,
1113
+ earlyWithdrawPenalty: 25
1114
+ }
1115
+ ];
958
1116
  STRATEGY_PERSONALITIES = [
1117
+ // ═══════════════════════════════════════════════════════════════════════════
1118
+ // CONSERVATIVE STRATEGIES (保守型) - Low risk, stable returns
1119
+ // ═══════════════════════════════════════════════════════════════════════════
1120
+ {
1121
+ id: "stable-yield-01",
1122
+ name: "Stable Yield",
1123
+ shortName: "STB",
1124
+ color: "#6B7280",
1125
+ scanIntervalMin: 8e4,
1126
+ scanIntervalMax: 12e4,
1127
+ tradeFrequency: 0.15,
1128
+ positionSizeMin: 5,
1129
+ positionSizeMax: 15,
1130
+ leverageMin: 1,
1131
+ leverageMax: 3,
1132
+ primaryIndicators: ["Bollinger", "Volume"],
1133
+ riskTolerance: "low",
1134
+ preferredPairs: ["BTC/USDT", "ETH/USDT"],
1135
+ rsiBias: 45,
1136
+ tier: "starter",
1137
+ dailyYieldMin: 0.15,
1138
+ dailyYieldMax: 0.25,
1139
+ description: "\u7A33\u5065\u6536\u76CA\u7B56\u7565\uFF0C\u4F4E\u98CE\u9669\u4F4E\u6CE2\u52A8\uFF0C\u9002\u5408\u65B0\u624B\u5165\u95E8",
1140
+ category: "conservative"
1141
+ },
1142
+ {
1143
+ id: "conservative-shield-01",
1144
+ name: "Conservative Shield",
1145
+ shortName: "CON",
1146
+ color: "#10B981",
1147
+ scanIntervalMin: 6e4,
1148
+ scanIntervalMax: 9e4,
1149
+ tradeFrequency: 0.25,
1150
+ positionSizeMin: 10,
1151
+ positionSizeMax: 20,
1152
+ leverageMin: 2,
1153
+ leverageMax: 5,
1154
+ primaryIndicators: ["Bollinger", "Volume", "RSI"],
1155
+ riskTolerance: "low",
1156
+ preferredPairs: ["BTC/USDT", "ETH/USDT"],
1157
+ rsiBias: 45,
1158
+ tier: "basic",
1159
+ dailyYieldMin: 0.25,
1160
+ dailyYieldMax: 0.4,
1161
+ description: "\u4FDD\u5B88\u9632\u5FA1\u7B56\u7565\uFF0C\u6CE8\u91CD\u8D44\u91D1\u5B89\u5168\uFF0C\u7A33\u5B9A\u6536\u76CA",
1162
+ category: "conservative"
1163
+ },
1164
+ // ═══════════════════════════════════════════════════════════════════════════
1165
+ // BALANCED STRATEGIES (平衡型) - Moderate risk, balanced returns
1166
+ // ═══════════════════════════════════════════════════════════════════════════
959
1167
  {
960
- id: "balanced-01",
1168
+ id: "balanced-alpha-01",
961
1169
  name: "Balanced Alpha",
962
1170
  shortName: "BAL",
963
1171
  color: "#3B82F6",
964
1172
  scanIntervalMin: 45e3,
965
- // 45-70s between cycles (slower for readability)
966
1173
  scanIntervalMax: 7e4,
967
1174
  tradeFrequency: 0.4,
968
1175
  positionSizeMin: 15,
@@ -972,33 +1179,91 @@ var init_BotSimulationEngine = __esm({
972
1179
  primaryIndicators: ["RSI", "MACD"],
973
1180
  riskTolerance: "medium",
974
1181
  preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT"],
975
- rsiBias: 50
1182
+ rsiBias: 50,
1183
+ tier: "standard",
1184
+ dailyYieldMin: 0.4,
1185
+ dailyYieldMax: 0.65,
1186
+ description: "\u5E73\u8861\u578B\u7B56\u7565\uFF0C\u98CE\u9669\u6536\u76CA\u5747\u8861\uFF0C\u9002\u5408\u7A33\u5065\u6295\u8D44\u8005",
1187
+ category: "balanced"
976
1188
  },
977
1189
  {
978
- id: "conservative-01",
979
- name: "Conservative Shield",
980
- shortName: "CON",
981
- color: "#10B981",
982
- scanIntervalMin: 6e4,
983
- // 60-90s between cycles (slower for readability)
984
- scanIntervalMax: 9e4,
985
- tradeFrequency: 0.25,
986
- positionSizeMin: 10,
987
- positionSizeMax: 20,
988
- leverageMin: 2,
989
- leverageMax: 5,
990
- primaryIndicators: ["Bollinger", "Volume"],
991
- riskTolerance: "low",
992
- preferredPairs: ["BTC/USDT", "ETH/USDT"],
993
- rsiBias: 45
1190
+ id: "smart-rebalance-01",
1191
+ name: "Smart Rebalance",
1192
+ shortName: "SRB",
1193
+ color: "#06B6D4",
1194
+ scanIntervalMin: 5e4,
1195
+ scanIntervalMax: 75e3,
1196
+ tradeFrequency: 0.35,
1197
+ positionSizeMin: 12,
1198
+ positionSizeMax: 30,
1199
+ leverageMin: 3,
1200
+ leverageMax: 8,
1201
+ primaryIndicators: ["RSI", "EMA", "Volume"],
1202
+ riskTolerance: "medium",
1203
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "BNB/USDT", "SOL/USDT"],
1204
+ rsiBias: 50,
1205
+ tier: "standard",
1206
+ dailyYieldMin: 0.45,
1207
+ dailyYieldMax: 0.7,
1208
+ description: "\u667A\u80FD\u518D\u5E73\u8861\u7B56\u7565\uFF0C\u52A8\u6001\u8C03\u6574\u6301\u4ED3\uFF0C\u4F18\u5316\u6536\u76CA",
1209
+ category: "balanced"
994
1210
  },
1211
+ // ═══════════════════════════════════════════════════════════════════════════
1212
+ // GROWTH STRATEGIES (成长型) - Higher risk, higher returns
1213
+ // ═══════════════════════════════════════════════════════════════════════════
995
1214
  {
996
- id: "aggressive-01",
1215
+ id: "growth-momentum-01",
1216
+ name: "Growth Momentum",
1217
+ shortName: "GRO",
1218
+ color: "#8B5CF6",
1219
+ scanIntervalMin: 4e4,
1220
+ scanIntervalMax: 6e4,
1221
+ tradeFrequency: 0.45,
1222
+ positionSizeMin: 20,
1223
+ positionSizeMax: 40,
1224
+ leverageMin: 5,
1225
+ leverageMax: 12,
1226
+ primaryIndicators: ["RSI", "MACD", "EMA"],
1227
+ riskTolerance: "medium",
1228
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT"],
1229
+ rsiBias: 52,
1230
+ tier: "premium",
1231
+ dailyYieldMin: 0.6,
1232
+ dailyYieldMax: 0.95,
1233
+ description: "\u6210\u957F\u52A8\u91CF\u7B56\u7565\uFF0C\u8FFD\u6C42\u8F83\u9AD8\u6536\u76CA\uFF0C\u9002\u5408\u6709\u7ECF\u9A8C\u6295\u8D44\u8005",
1234
+ category: "growth"
1235
+ },
1236
+ {
1237
+ id: "trend-hunter-01",
1238
+ name: "Trend Hunter",
1239
+ shortName: "TRH",
1240
+ color: "#EC4899",
1241
+ scanIntervalMin: 38e3,
1242
+ scanIntervalMax: 55e3,
1243
+ tradeFrequency: 0.48,
1244
+ positionSizeMin: 22,
1245
+ positionSizeMax: 42,
1246
+ leverageMin: 5,
1247
+ leverageMax: 15,
1248
+ primaryIndicators: ["EMA", "MACD", "Volume", "Bollinger"],
1249
+ riskTolerance: "medium",
1250
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "ARB/USDT", "OP/USDT"],
1251
+ rsiBias: 53,
1252
+ tier: "premium",
1253
+ dailyYieldMin: 0.65,
1254
+ dailyYieldMax: 1,
1255
+ description: "\u8D8B\u52BF\u730E\u624B\u7B56\u7565\uFF0C\u6355\u6349\u5E02\u573A\u8D8B\u52BF\uFF0C\u8FFD\u6C42\u8D85\u989D\u6536\u76CA",
1256
+ category: "growth"
1257
+ },
1258
+ // ═══════════════════════════════════════════════════════════════════════════
1259
+ // AGGRESSIVE STRATEGIES (激进型) - High risk, high returns
1260
+ // ═══════════════════════════════════════════════════════════════════════════
1261
+ {
1262
+ id: "aggressive-momentum-01",
997
1263
  name: "Aggressive Momentum",
998
1264
  shortName: "AGG",
999
1265
  color: "#EF4444",
1000
1266
  scanIntervalMin: 35e3,
1001
- // 35-55s between cycles (slower for readability)
1002
1267
  scanIntervalMax: 55e3,
1003
1268
  tradeFrequency: 0.5,
1004
1269
  positionSizeMin: 25,
@@ -1008,7 +1273,103 @@ var init_BotSimulationEngine = __esm({
1008
1273
  primaryIndicators: ["RSI", "MACD", "EMA", "Volume"],
1009
1274
  riskTolerance: "high",
1010
1275
  preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "DOGE/USDT", "AVAX/USDT"],
1011
- rsiBias: 55
1276
+ rsiBias: 55,
1277
+ tier: "elite",
1278
+ dailyYieldMin: 0.85,
1279
+ dailyYieldMax: 1.4,
1280
+ description: "\u6FC0\u8FDB\u52A8\u91CF\u7B56\u7565\uFF0C\u9AD8\u98CE\u9669\u9AD8\u6536\u76CA\uFF0C\u9002\u5408\u98CE\u9669\u627F\u53D7\u80FD\u529B\u5F3A\u7684\u6295\u8D44\u8005",
1281
+ category: "aggressive"
1282
+ },
1283
+ {
1284
+ id: "leverage-maximizer-01",
1285
+ name: "Leverage Maximizer",
1286
+ shortName: "LEV",
1287
+ color: "#F97316",
1288
+ scanIntervalMin: 3e4,
1289
+ scanIntervalMax: 5e4,
1290
+ tradeFrequency: 0.55,
1291
+ positionSizeMin: 30,
1292
+ positionSizeMax: 55,
1293
+ leverageMin: 10,
1294
+ leverageMax: 25,
1295
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
1296
+ riskTolerance: "high",
1297
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "DOGE/USDT", "AVAX/USDT", "ARB/USDT"],
1298
+ rsiBias: 55,
1299
+ tier: "elite",
1300
+ dailyYieldMin: 1,
1301
+ dailyYieldMax: 1.8,
1302
+ description: "\u6760\u6746\u6700\u5927\u5316\u7B56\u7565\uFF0C\u8FFD\u6C42\u6781\u81F4\u6536\u76CA\uFF0C\u9700\u8981\u4E13\u4E1A\u6295\u8D44\u7ECF\u9A8C",
1303
+ category: "aggressive"
1304
+ },
1305
+ // ═══════════════════════════════════════════════════════════════════════════
1306
+ // QUANTITATIVE STRATEGIES (量化型) - AI-driven, advanced algorithms
1307
+ // ═══════════════════════════════════════════════════════════════════════════
1308
+ {
1309
+ id: "ai-quant-alpha-01",
1310
+ name: "AI Quant Alpha",
1311
+ shortName: "AQA",
1312
+ color: "#A855F7",
1313
+ scanIntervalMin: 42e3,
1314
+ scanIntervalMax: 65e3,
1315
+ tradeFrequency: 0.42,
1316
+ positionSizeMin: 18,
1317
+ positionSizeMax: 38,
1318
+ leverageMin: 4,
1319
+ leverageMax: 12,
1320
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
1321
+ riskTolerance: "medium",
1322
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "BNB/USDT"],
1323
+ rsiBias: 51,
1324
+ tier: "premium",
1325
+ dailyYieldMin: 0.7,
1326
+ dailyYieldMax: 1.1,
1327
+ description: "AI\u91CF\u5316Alpha\u7B56\u7565\uFF0C\u673A\u5668\u5B66\u4E60\u9A71\u52A8\uFF0C\u667A\u80FD\u98CE\u63A7",
1328
+ category: "quantitative"
1329
+ },
1330
+ {
1331
+ id: "neural-trader-01",
1332
+ name: "Neural Trader",
1333
+ shortName: "NRT",
1334
+ color: "#14B8A6",
1335
+ scanIntervalMin: 4e4,
1336
+ scanIntervalMax: 62e3,
1337
+ tradeFrequency: 0.44,
1338
+ positionSizeMin: 20,
1339
+ positionSizeMax: 40,
1340
+ leverageMin: 5,
1341
+ leverageMax: 15,
1342
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
1343
+ riskTolerance: "medium",
1344
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT", "LINK/USDT"],
1345
+ rsiBias: 52,
1346
+ tier: "elite",
1347
+ dailyYieldMin: 0.8,
1348
+ dailyYieldMax: 1.25,
1349
+ description: "\u795E\u7ECF\u7F51\u7EDC\u4EA4\u6613\u7B56\u7565\uFF0C\u6DF1\u5EA6\u5B66\u4E60\u6A21\u578B\uFF0C\u81EA\u9002\u5E94\u5E02\u573A",
1350
+ category: "quantitative"
1351
+ },
1352
+ {
1353
+ id: "quantum-edge-01",
1354
+ name: "Quantum Edge",
1355
+ shortName: "QTE",
1356
+ color: "#6366F1",
1357
+ scanIntervalMin: 35e3,
1358
+ scanIntervalMax: 55e3,
1359
+ tradeFrequency: 0.5,
1360
+ positionSizeMin: 25,
1361
+ positionSizeMax: 50,
1362
+ leverageMin: 8,
1363
+ leverageMax: 20,
1364
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
1365
+ riskTolerance: "high",
1366
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT", "ARB/USDT", "OP/USDT"],
1367
+ rsiBias: 54,
1368
+ tier: "vip",
1369
+ dailyYieldMin: 1.2,
1370
+ dailyYieldMax: 2,
1371
+ description: "VIP\u91CF\u5B50\u4F18\u52BF\u7B56\u7565\uFF0C\u9876\u7EA7AI\u7B97\u6CD5\uFF0C\u6781\u81F4\u6536\u76CA\u8FFD\u6C42",
1372
+ category: "quantitative"
1012
1373
  }
1013
1374
  ];
1014
1375
  PAIR_PRICES = {