WrBug
83a415fb7e
优化代理检查结果展示与地域检测文案
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-27 00:54:22 +08:00
WrBug
8ab8ae5205
style: 全局将 USDC 展示替换为 $ 符号
...
前端所有金额展示从 "100.00 USDC" 改为 "$100.00" 格式,
后端 Telegram 通知模板和错误提示同步更新。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-28 22:23:49 +08:00
WrBug
0769022878
feat: 添加 CLOB 2.0 迁移弹窗提醒与账户页迁移引导
...
登录后首次进入显示迁移提醒弹窗,引导用户前往账户页;
账户页首次进入时显示 Alert 提示 USDC.e → pUSD 迁移按钮;
移动端账户卡片补充 swap 操作按钮。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-28 21:59:15 +08:00
WrBug
22a6544373
feat: CLOB V1 → V2 完整迁移
...
- 更新 EIP-712 签名结构: domain version "1"→"2", 移除 taker/expiration/nonce/feeRateBps, 新增 timestamp/metadata/builder
- 更新合约地址为 V2 (CTF_EXCHANGE, NEG_RISK_EXCHANGE)
- CLOB URL 切换到 clob-v2.polymarket.com
- 抵押品代币 USDC.e → pUSD (0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB)
- 新增 USDC.e → pUSD wrap 功能 (CollateralOnramp 合约)
- SignedOrderObject 补充 API payload 必需的 taker/expiration 字段
- NewOrderRequest 补充 deferExec/postOnly 字段
- 前端账户管理新增 pUSD 迁移按钮
- 移除所有 feeRateBps 相关逻辑
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-20 22:24:50 +08:00
WrBug
04b7505094
Merge branch 'dev'
...
Made-with: Cursor
2026-03-30 12:55:20 +08:00
WrBug
748c871af4
fix: backtest equity curve bugs ( #39 )
...
- Fix SELL logic: correctly reduce position.quantity after selling (core bug)
Previously positions were never decremented, causing sold positions to be
settled again at backtest end, inflating final balance.
- Fix settleRemainingPositions: profitLoss now correctly computes
settlementValue - cost (was incorrectly using settlementValue.negate())
- Fix max drawdown calculation: use current balance instead of previous
iteration's runningBalance
- Frontend: add comment noting chart shows cash balance, not total equity
2026-03-28 18:06:06 +08:00
WrBug
46c32df421
fix(notification): 优化移动端消息设置页面交互体验
...
- 修复移动端 Tooltip 与点击事件冲突导致变量无法复制的问题
- 添加移动端备用复制方法(textarea + execCommand)
- 移除变量标签中的复制图标
- 移动端模板输入框调整为 15 行
- 调整系统设置菜单顺序
Made-with: Cursor
2026-03-02 23:32:26 +08:00
WrBug
561ebf0ce3
feat(订单推送/通知): 按实际成交价与 size_matched 展示价格与数量
...
- 实际成交价公式: original_size * price / size_matched,数量展示用 size_matched
- OrderPushService/OrderStatusUpdateService/CryptoTail: 用公式计算 avgFilledPrice,移除 getTrades 依赖
- TelegramNotificationService: 有 avgFilledPrice 时展示数量用 filled,ORDER_SUCCESS/CRYPTO_TAIL 一致
- 前端订单推送: 有成交时展示 size_matched;无 orderDetail 时用 WebSocket 数据计算价格与数量
- OrderDetailDto 增加 avgFilledPrice;PolymarketClobService 移除 getAvgFilledPriceFromTradeIds
Made-with: Cursor
2026-03-02 23:05:15 +08:00
WrBug
9c70dc762f
fix(frontend): 移除未使用变量与导入以消除 TS 报错
...
Made-with: Cursor
2026-03-02 22:07:04 +08:00
WrBug
8f0a49493c
refactor(notification): 优化模板配置布局并完善多语言支持
...
- 布局优化:模板类型改为顶部Tabs,内容区70%+变量面板30%
- 变量Tag UI优化:更精致的样式和悬浮效果
- 多语言:添加模板类型描述、变量label/description的i18n key(三语言)
- 后端精简:移除DTO中冗余的label/description/templateTypeName字段
- 清理:移除未使用的templates状态和fetchTemplates方法
Made-with: Cursor
2026-03-02 22:02:00 +08:00
WrBug
e7af4d4821
feat: 消息推送自定义模板与独立设置页
...
后端:
- 新增通知模板表与实体、DTO、Repository、NotificationTemplateService
- 支持 {{variable}} 模板语法,提供模板类型与变量接口
- TelegramNotificationService 改为通过模板渲染发送(ORDER_SUCCESS/ORDER_FAILED/ORDER_FILTERED/CRYPTO_TAIL_SUCCESS/REDEEM_SUCCESS/REDEEM_NO_RETURN)
- 模板 CRUD、重置默认、测试发送接口
- 补全订单过滤相关 i18n key(zh/en/zh-TW)
前端:
- 消息推送设置抽离为独立页 /system-settings/notification
- 系统设置概览改为入口卡片,侧栏增加「消息推送设置」菜单
- NotificationSettingsPage: 机器人配置 + 模板配置双卡片布局(与概览一致)
- 模板配置支持选择类型、编辑内容、变量面板(点击复制、悬停说明)、保存/重置/测试
- 多语言 key 补全(notificationSettings.templates.*、templateTypes.*)
Made-with: Cursor
2026-03-02 21:31:45 +08:00
WrBug
9b6cc63158
refactor(frontend): 优化仓位管理列表视图列结构
...
将12列精简为8列:
- 合并"数量"和"平均价格"为"持仓"列
- 合并"当前价格"、"当前价值"、"盈亏"、"已实现盈亏"为"当前价值/盈亏"列
- 减少列宽度,提升表格紧凑性
Made-with: Cursor
2026-03-02 17:54:03 +08:00
WrBug
96d224a5a3
fix(frontend): 移除 CryptoTailStrategyList 未使用的 useRef 导入
...
Made-with: Cursor
2026-03-02 17:44:10 +08:00
WrBug
97249db546
style(copy-trading): 跟单列表操作列改为图标按钮样式
...
- 操作列编辑、统计等改为 Tooltip+图标点击,与策略列表风格统一
- 操作列宽度 200 -> 160
Made-with: Cursor
2026-03-02 17:40:44 +08:00
WrBug
46e10ebdd8
feat(crypto-tail): 加密价差策略收益曲线与交互优化
...
- 后端: 收益曲线 API (pnl-curve)、CryptoTailStrategyService.getPnlCurve、gt 扩展导入
- 前端: CryptoTailPnlCurveModal 弹窗,统计卡片+时间筛选+ECharts 累计收益图
- 策略列表: 桌面/移动端「收益曲线」入口,图标改为蓝色(#1890ff)
- 切换时间范围保留旧数据避免图表容器卸载导致空白
- 今日/7天/30天用折线、全部用平滑曲线
- 多语言: viewPnlCurve、pnlCurve.* (zh-CN/zh-TW/en)
Made-with: Cursor
2026-03-02 17:39:23 +08:00
WrBug
4ebfacfc21
feat(frontend): 优化多个列表页面 UI,添加空状态提示
...
- 优化 AccountList、BacktestList、CopyTradingList、CryptoTailStrategyList、LeaderList、TemplateList、UserList 页面操作栏
- 添加空数据状态提示
- 添加相关多语言翻译 key
Made-with: Cursor
2026-03-01 06:48:51 +08:00
WrBug
f86749e85d
feat(frontend): 优化 Leader 列表 UI,使用图标操作栏
...
- 移动端:Cell 样式美化,渐变背景头部,资产常驻显示
- PC 端:操作列改用图标,合并跟单/回测数到图标 Badge
- 跟单/回测数量用 Badge 显示,数量为 0 时半透明禁用
Made-with: Cursor
2026-03-01 05:57:34 +08:00
WrBug
5483a1aa77
feat(frontend): 优化加密价差监控页面体验
...
- 刷新页面时保留当前选择的策略(localStorage 缓存)
- 移动端下单弹窗改为 BottomSheet 样式,更紧凑
- 买入按钮实时显示当前价格,如 "买入 Up (0.50)"
- 周期切换时自动关闭弹窗并提示用户
Made-with: Cursor
2026-02-27 04:11:55 +08:00
WrBug
e5acad5091
fix(frontend): 限制下单价格最高为 0.99
...
- 修改所有价格限制从 1 改为 0.99
- 影响位置:
- handleOpenManualOrderModal: 默认价格计算
- handlePriceChange: 手动修改价格
- handleFetchLatestPrice: 获取最新价
- handleSizeChange: 修改数量时重新计算价格
- handleManualOrder: 提交订单时
- 确保价格不会超过 Polymarket 的最高限制 0.99
Made-with: Cursor
2026-02-26 21:36:59 +08:00
WrBug
1688fa9633
feat(frontend): 优化"最大"按钮计算,支持保留2位小数
...
- 修改前:只能整数数量,导致余额浪费
- 示例:余额2.95U,价格0.86 → 数量3张(浪费0.37U)
- 修改后:保留2位小数,充分利用余额
- 示例:余额2.95U,价格0.86 → 数量3.43张(利用全部余额)
Made-with: Cursor
2026-02-26 21:30:18 +08:00
WrBug
1967d97c31
fix(frontend): 修复 RATIO 模式下金额被错误截断的问题
...
- 移除 RATIO 模式下对 defaultAmountUsdc 的 Math.floor 取整
- 保持精确的金额用于计算数量,确保符合用户预期
- 修复示例:60%比例,余额2.95U,价格0.682
- 修复前:数量 = 1.47(金额被截断为1U)
- 修复后:数量 = 2.60(金额正确为1.77U)
Made-with: Cursor
2026-02-26 21:26:12 +08:00
WrBug
79b154515d
feat(frontend): 手动下单功能增强与金额模式支持
...
- 后端返回 amountMode 和 amountValue 字段,支持前端获取策略配置
- 手动下单确认弹窗显示用户可用余额(绿色高亮)
- 价格输入框右侧添加"获取最新价"按钮,支持实时更新价格
- 数量输入框右侧添加"最大"按钮,根据余额自动计算最大购买数量
- 修正数量计算逻辑:FIXED 和 RATIO 模式均按实际金额计算数量,保留2位小数
- FIXED 模式:使用配置的固定金额
- RATIO 模式:按比例计算可用余额
- 数量计算使用保留小数方式(而非向上取整),确保精确匹配投入金额
- 示例:固定1U,价格0.4,自动填充2.5张
- 示例:比例30%,余额20U,价格0.4,自动填充15张
Made-with: Cursor
2026-02-26 21:19:06 +08:00
WrBug
9b4d8fc001
feat(frontend): 优化加密价差策略监控页面移动端体验
...
- 移动端策略选择器:标题与下拉框垂直布局,支持换行显示
- 下拉框选项支持文本换行,避免长策略名称被截断
- 移动端手动下单按钮改为底部悬浮固定显示
- 两个按钮均分屏幕宽度,符合移动端触摸操作规范
Made-with: Cursor
2026-02-26 20:50:46 +08:00
WrBug
cb1f43871a
fix(crypto-tail): 周期切换时按周期拉取 tokenIds,修复手动下单 orderbook 不存在
...
- 后端 initMonitor 支持可选 periodStartUnix,按指定周期取市场与 tokenIds
- 前端周期切换时调用 monitorInit 传入 pushPeriod,确保 tokenIds 与当前周期一致
- 修复切换周期无变化及手动下单报 orderbook does not exist
Made-with: Cursor
2026-02-26 20:43:27 +08:00
WrBug
a2be5b7f52
feat(crypto-tail): 价差策略监控页手动下单与 UI 优化
...
- 后端:手动下单 API,trigger_type 区分 AUTO/MANUAL,价格 4 位小数向上取整
- 前端:监控页手动买入 Up/Down 按钮、二次确认弹窗、策略信息移动端适配
- 下单价格最多 4 位小数;确认页方向仅显示 Up/Down;按钮文案改为「买入 Up/Down」
Made-with: Cursor
2026-02-26 19:23:00 +08:00
WrBug
c5d59dfdf9
refactor: 尾盘策略统一更名为加密价差策略
...
- 前端:菜单父级「加密价差策略」,子项「策略配置」「实时监控」;i18n 与类型注释全部替换
- 后端:i18n、ErrorCode、DTO/实体/服务注释与日志「尾盘」→「加密价差策略」;TG 通知文案
- 文档:README、中英文用户指南、UI 规格、任务、流程、价差流程、市场数据、动态系数等全部更新
- 不修改 API 路径、路由、表名与类名,保持兼容
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-25 21:30:50 +08:00
WrBug
4b277eaeab
feat(frontend): 尾盘父级菜单与图标优化
...
- 尾盘策略、尾盘监控归入「尾盘」父级菜单,与跟单交易结构一致
- 菜单图标:父级 LineChart,尾盘策略 RocketOutlined,尾盘监控 DashboardOutlined
- 多语言:新增 menu.cryptoTail(尾盘/尾盤/Crypto Tail)
- 含 CryptoTailMonitor 及后端 DTO/Service 等修改
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-25 21:17:44 +08:00
WrBug
f35bad78d4
feat(i18n): 系统更新功能多语言支持与缺失 key 补全
...
- 新增 systemUpdate 区块(zh-CN/zh-TW/en)覆盖系统更新页与版本提示
- zh-CN 补充 account.walletType
- SystemUpdate 页与 Layout 版本 tag 全部改为 useTranslation,移除硬编码中文
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-25 21:14:59 +08:00
WrBug
0740abcf16
fix(crypto-tail): 监控分时图推送节流与前端采样,避免1s内多条数据导致点过密
...
- 后端: price_change 推送节流,每策略 1s 内最多推送 1 次,其余靠定时 1.5s 推送补足
- 前端: 同周期内分时图追加点时至少间隔 1s 才追加,保证曲线连续且不过密
- 最新价等展示仍实时更新,仅图表序列做采样
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-25 20:01:29 +08:00
WrBug
84c79d8812
feat(cryptotail): 尾盘监控双连接与分时图优化
...
- 监控 WebSocket 拆分为当前周期连接与下一周期连接,周期切换时关闭过期连接并新建下一周期
- 下一周期市场未创建时也建立第二条空连接,保证始终两条连接
- refreshSubscription 增加 Mutex 防重入,避免周期结束时定时器与消息同时触发导致重复执行
- 修复 initMonitor/buildPushData 中 getCurrentOpenClose、spreadMode/spreadValue 等 API 与实体字段引用
- 移除重复的 buildSubscriptionMap、buildPushData 等方法,修复 StrategyPriceData.periodStartUnix
- 前端分时图:市场价折线增加 connectNulls,新周期默认 0.5 价格展示
- 多语言与监控页入口、API 类型与 WebSocket 订阅集成
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-25 17:00:41 +08:00
WrBug
d3196a783f
feat(cryptotail): 尾盘策略多市场与币安按需订阅
...
- 新增 ETH/SOL/XRP 市场选项(5m/15m),Binance 多币种 K 线支持
- 币安 K 线按策略按周期订阅:仅在有启用策略时建连,只订阅用到的市场+周期(如仅 btc 5m 只建 btc 5m)
- BinanceKlineAutoSpreadService 支持完整 slug(如 eth-updown-5m)解析
- 尾盘服务 PreDestroy 与内存/缓存清理(OrderbookWs、Notification、Settlement、Execution)
- 健康检查:无策略时币安 WS 显示「未订阅」;前端币安提醒仅在有启用策略时展示
- 前端:up/down 标签去掉箭头图标
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-20 23:45:24 +08:00
WrBug
5bb46ebb97
docs: 尾盘策略文档归集至 docs/crypto-tail-strategy/,前端链接同步
...
- 将尾盘策略相关文档移至 docs/crypto-tail-strategy/{zh,en}/
- 新增 docs/crypto-tail-strategy/README.md 目录说明
- 前端配置指南链接改为 docs/crypto-tail-strategy/${lang}/crypto-tail-strategy-user-guide.md
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-18 03:25:30 +08:00
WrBug
cbcebf6e28
chore: 账户设置与杂项修复
...
- BlockchainService: 新增 isProxyDeployed、getUsdcAllowance(账户设置检查/授权用)
- RetrofitFactory: 移除 RPC URL 替换 debug 日志
- AccountImportForm: 修复 checkSetupStatus/onSuccess 参数类型(使用 newAccount.id)
- AccountSetupStatusBlock: 移除未使用的 isMobile 与 useMediaQuery 引用
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-18 03:17:40 +08:00
WrBug
de89175c8e
feat: 账户设置后端 action、Safe 部署与设置引导弹窗复用
...
账户设置:
- 后端: execute-setup-step API(步骤1 Safe 一键部署/步骤2 启用交易/步骤3 代币授权)
- Safe 部署: Eip712Encoder SafeCreate/CreateProxy,RelayClientService.deploySafeViaBuilderRelayer
- BuilderRelayerApi: SignatureParams 增加 paymentToken/payment/paymentReceiver,TransactionRequest.nonce 可选
- 导入成功有未完成步骤时先弹设置引导再关导入弹窗;设置弹窗复用 AccountSetupStatusBlock(embedded)
- AccountSetupStatusBlock: 5s 轮询、embedded 模式、onAllCompleted、移除全部完成 Tag、授权信息始终展示且右对齐额度列
- 多语言: 步骤1/2/3 文案与 actionSuccess/actionFailed
CryptoTail:
- SpreadDirection/SpreadMode 枚举及 Converter,V38 迁移,策略列表与 api/types 调整
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-18 03:01:35 +08:00
WrBug
4e1bb0bbcf
feat: 添加尾盘策略配置指南文档和前端链接
...
- 新增中文和英文配置指南文档(docs/zh|en/crypto-tail-strategy-user-guide.md)
- 在尾盘策略列表页面添加配置指南链接按钮
- 根据用户语言自动跳转到对应语言的 GitHub 文档预览
- 添加多语言翻译键(中文简体/繁体/英文)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-18 00:54:30 +08:00
WrBug
c38529546f
feat(system): Builder API Key 等配置前端显示完整值
...
- 后端 SystemConfigService 返回解密后的完整 builderApiKey/Secret/Passphrase,不再脱敏
- 移除未使用的 maskSensitiveValue 方法
- 更新 DTO 与前端类型注释为「完整显示」
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 01:47:52 +08:00
WrBug
0f50939625
feat(尾盘策略): 触发记录分页与时间筛选、策略列表与表单优化
...
触发记录:
- 成功/失败分 Tab,失败展示失败原因
- 分页与按天时间范围筛选(日历,结束日不超过今天)
- 后端 startDate/endDate、Repository 时间范围查询
- 弹窗美化:时间范围卡片、空状态、分页总数;移除订单 ID 列
- 查看触发记录按钮文案改为「订单」
策略列表:
- 状态列恢复为 Switch,PC 端放在第一列
- 新增账户列;移除最近触发列
- 文案换行(wordBreak/whiteSpace);时间区间 PC 换行、移动端单行
- 时间区间列宽缩小;移动端 Switch 在底部操作区
- 编辑时账户不可修改;策略名称 placeholder 改为「选填,留空将自动生成」
- 多语言:account、viewTriggers、strategyNamePlaceholder 等
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-15 01:41:53 +08:00
WrBug
a64d1edbf4
feat(crypto-tail): 尾盘策略页币安 API 状态监控与重连间隔调整
...
- 尾盘策略页:进入时检测币安 API/WebSocket,异常时红色强提醒
- 异常时提供「重新检测」按钮,不跳转 API 健康页、不做 60s 轮询
- 文案面向小白:无法连接币安 API、需行情数据、稍后重新检测
- 多语言:zh-CN/zh-TW/en 新增 cryptoTailStrategy.binanceApiAlert
- 币安 K 线 WS 重连延迟由 10s 改为 3s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-15 01:09:34 +08:00
WrBug
9fef4bea59
feat: 健康检查加币安 API/WS,订单簿 bids 空防护,自动价差历史取 20 根
...
- ApiHealthCheckService: 新增币安 API(ping)、币安 WebSocket(5m/15m 连接状态)
- BinanceKlineService: 连接状态追踪 getConnectionStatuses 供健康检查
- CryptoTailOrderbookWsService: book 事件 bids 为空时不再取 [0],避免 Index 0 out of bounds
- BinanceKlineAutoSpreadService + 文档 + i18n: 历史 K 线由 30 根改为 20 根
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-14 15:27:22 +08:00
WrBug
b50e43c239
feat(crypto-tail): 策略最小价差(无/固定/自动) + 前端默认与文案
...
- 后端: 最小价差 DB/Entity/DTO、Binance K线 REST+WS、自动价差 IQR 预计算与执行时校验
- 前端: 最小价差(自动-固定-无),默认自动,label 旁 info 说明,选择自动不展示建议约
- i18n: minSpreadModeTip 说明不写死标的
- 文档: crypto-tail-strategy-min-spread-flow.md
- scripts: Binance K线拉取与 WS 示例
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-14 15:16:44 +08:00
WrBug
4c0d0afceb
fix(frontend): 加密尾盘策略列表编辑与展示
...
- 编辑时按 marketSlugPrefix 取 interval,修复 15 分钟市场时间区间校验误报
- 投入方式:表格/卡片统一显示「投入方式: 比例/固定金额 + 数值」,兼容后端小写 amountMode
- 比例数值用 formatNumber(..., 2) 控制小数位,固定金额沿用 formatUSDC
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-14 06:24:12 +08:00
WrBug
f200ba7f7c
feat(crypto-tail): 触发记录与结算优化、前端收益与价格展示
...
后端:
- 结算轮询仅处理下单成功订单(status=success 且 orderId 非空)
- 实体通过 copy() 更新,不再直接改字段;结算时用订单 fill 回写 triggerPrice、amountUsdc
- Trigger 实体结算相关字段改为 val,统一 copy+save 更新
前端:
- 触发记录: 去掉市场列,保留触发价格(轮询后为实际成交价);每条收益列、涨跌色
- 策略列表: 总收益与胜率、涨跌色;价格区间格式 0.5 ~ 1
- 类型与 i18n: totalRealizedPnl/winRate/realizedPnl 等
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-14 05:44:19 +08:00
WrBug
2238370088
feat(crypto-tail): 尾盘策略完整实现与优化
...
- 尾盘策略 CRUD、订单簿 WS 订阅、周期内触发下单
- 订单簿订阅日志增加市场 slug,便于排查
- 移除轮询,完全依赖 WebSocket(删除 CryptoTailStrategyScheduler)
- FIXED 模式数量改为小数、向上取整,与签名服务一致
- 前端策略列表页、多语言与 API 对接
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-14 05:01:10 +08:00
WrBug
f1ec0a330b
feat(account): 按代理地址去重、默认账户名、前端重复提示与 DB 唯一约束
...
后端:
- 导入去重改为按 proxy_address(existsByProxyAddress),重复时返回 ACCOUNT_ALREADY_EXISTS(4601)
- 未填账户名时默认生成 SAFE/MAGIC-代理地址后4位(无中括号)
- Controller 识别 ACCOUNT_ALREADY_EXISTS 并返回对应错误码
前端:
- 导入失败时 message.error 提示;code=4601 时使用 accountImport.duplicateAccount 多语言
- store 抛出错误时附带 response.data.code 供表单判断
数据库 V33:
- 移除 wallet_address 唯一约束,新增 proxy_address 唯一约束
- 已存在账户的 wallet_type 统一更新为 safe
实体:
- Account.walletAddress 取消 unique,Account.proxyAddress 设为 unique
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-14 01:40:25 +08:00
WrBug
72de65d670
feat(frontend): 优化导入账户弹窗与文案
...
- 导入弹窗:增加步骤条、导入方式改为按钮、代理选项卡片紧凑展示
- 代理选项:标题改为「请选择账户类型」,地址完整显示,有资产标绿,小白说明放入卡片内
- 私钥/助记词:输入框默认两行、禁止换行(换行自动转空格/去除)
- 多语言:新增 proxyAddressHelp,更新 selectProxyOption 文案
- Modal 宽度与内边距微调;PositionList 移除未使用 useRef
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-14 01:23:29 +08:00
WrBug
3405a1cda3
feat: 钱包类型枚举与前端账号类型展示
...
后端:
- 新增 WalletType 枚举(MAGIC/SAFE),移除 safe/magic 字符串硬编码
- RelayClientService/BlockchainService/AccountService/OrderSigningService 使用枚举
- Builder Relayer API 类型使用常量 RELAYER_TYPE_PROXY/SAFE
前端:
- 账户列表、详情、导入 Modal 显示账号类型(Magic/Safe Tag)
- 导入账户 Modal 移除安全提示 Alert,移除 showAlert 与相关 i18n
- 移除无用 i18n key:securityTip、securityTipDesc、walletTypeMagic、walletTypeSafe、magicNotSupported
- 钱包类型 Tag 简化为仅显示 Magic 或 Safe
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-14 01:14:04 +08:00
WrBug
cf2c8a611c
feat: 赎回批量执行与仓位页体验优化
...
- 赎回:同一账户多市场合并为一笔交易,减少 Relayer 调用次数
- 仓位页:可赎回统计静默刷新,赎回按钮不再常驻 loading
- 账户导入表单、API、多语言等相关改动
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-14 00:20:41 +08:00
WrBug
bd323fca35
feat: 支持 Magic(邮箱/社交登录)账户导入和赎回
...
- 前端:启用 Magic 账户导入选项(移除 disabled 和"暂不支持"提示)
- 订单签名:根据钱包类型自动设置 signatureType(Magic=1, Safe=2)
- Builder Relayer API:添加 relay-payload 接口和 PROXY 请求类型支持
- RelayClientService:实现 Magic PROXY 赎回流程(Gasless,需 Builder API Key)
- 获取 relay payload(relay 地址和 nonce)
- 编码 ProxyFactory.proxy(calls) 调用数据
- 创建并签名 PROXY 结构哈希
- 提交 PROXY 类型交易到 Builder Relayer
- BlockchainService:redeemPositions 支持 walletType 参数
- AccountService:移除 Magic 账户赎回限制,传递 walletType 参数
Magic 账户赎回要求配置 Builder API Key(Gasless),Safe 账户保持原有逻辑不变。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-13 22:51:18 +08:00
WrBug
a067a20a02
feat: 回测任务支持价格区间过滤
...
- 后端:
- BacktestTask 实体类添加 minPrice 和 maxPrice 字段
- BacktestDto 添加价格区间参数和配置字段
- BacktestService 支持创建和查询价格区间配置
- BacktestExecutionService 在 taskToCopyTrading 中设置价格区间
- 添加数据库迁移脚本 V32__add_backtest_price_range_filter.sql
- 前端:
- BacktestList 添加价格区间输入表单(最低价、最高价)
- 详情页面显示价格区间配置
- 一键创建跟单配置时包含价格区间
- 添加中英繁三语言翻译
- 修复价格输入框精度显示问题(0.4 不再显示为 0.40000000)
功能说明:
- 价格区间过滤与跟单配置保持一致,确保回测结果能准确反映实际跟单效果
- 支持只设置最低价、只设置最高价、或同时设置两者
- 留空表示不限制价格
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-11 23:54:49 +08:00
WrBug
99c4328830
feat(backtest): 失败与已停止的回测任务支持在列表中删除
...
操作列删除按钮对 STOPPED、FAILED 状态也显示,与详情页一致。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-09 02:57:37 +08:00