2026-05-11
2026-05-11 工作日志
Section titled “2026-05-11 工作日志”- 10:05 · 拉取 FEAT-011-novamarketmaker 全量需求文档(12 子模块,62 markdown)至
.docs/iro-bsc/requirements/FEAT-011-novamarketmaker/ - 10:10 · 从
master-v2切出feature/fe-001-novamarketmaker - 10:30 · 输出 sub-01 前端技术计划
docs/plans/FEAT-011-novamarketmaker-sub-01-home-onboarding-frontend-plan.md(14 任务 / 4 阶段,覆盖 21 AC + 12 Exception 全映射) - 11:00 · Phase 0 基建落地:NovaMM 子域
src/novamm/(providers / routes / placeholder pages / NovaMMShell / NovaMMGuard),tailwind 新增 13 个novamm-*color tokens,App.tsx 拆出 IroMainLayout,独立 wagmi config + 独立 QueryClient - 11:30 · 完成 FEAT-011 12 子模块全量架构风险审计(每条阻塞点对应 sub + 严重度分级)
- 重启 dev server 验证
/#/novamm/login占位页能渲染 - 评估 sub-07 OOXML AES-256 加密 xlsx POC(最关键的硬阻塞)
- 进入 sub-01 Phase 1:SIWE 自建登录流程 + 5 钱包 picker modal(Tailwind+framer-motion)
🔴 已遇到(本日已处理)
Section titled “🔴 已遇到(本日已处理)”-
RainbowKit 2.x 与 wagmi 3.x 不兼容
- 根因:RainbowKit 最新 2.2.11 peer hard-pin
wagmi: ^2.9.0,编译时 importgeminiconnector,但 wagmi 3 已删除该 export - 处理:R1 回退激活,
yarn remove @rainbow-me/rainbowkit,改用 wagmi 内置 4 connector(metaMask + walletConnect + coinbaseWallet + injected EIP-6963)。RainbowKit 在可预见的版本中不会支持 wagmi 3.x,项目长期路线必须自建钱包 UI - 影响:sub-01 钱包选择 modal 需自建(Tailwind+framer-motion,~150 LOC),与 memory
feedback_v2_modal_tailwind一致
- 根因:RainbowKit 最新 2.2.11 peer hard-pin
-
source-map-loader ENOENT 阻断编译
- 根因:
yarn remove rainbowkit触发 node_modules 重平铺,@emotion/serialize/@reach/dialog的//# sourceMappingURL=注释指向已被 dedupe 掉的嵌套路径 - 处理:
.env.development.local设GENERATE_SOURCEMAP=false+config-overrides.js主动剔除 source-map-loader rule,双保险(不再依赖 env 重启时机) - 经验:env 改动必须完全重启 dev server,HMR 不重载 config-overrides
- 根因:
-
@wagmi/connectors 桶导出污染(11:35 后新出现,未完全处理)
- 现象:
Module not found: @base-org/account / porto / @safe-global/safe-apps-sdk等 7 条 warning - 根因:
@wagmi/connectorsindex.js用export *把所有 connector 模块串起来,未用到的连接器(baseAccount / porto / safe)也会触发它们的 peer dep 解析 - 当前状态:仅 warning 不阻断编译;运行时只用 MM / WC / CB / injected,对应 peer 都已装,不影响功能
- 待处理:考虑用
webpack.IgnorePlugin在 config-overrides 中静默这 6 个特定路径
- 现象:
🔴 后期阻塞(FEAT-011 风险审计输出,按严重度)
Section titled “🔴 后期阻塞(FEAT-011 风险审计输出,按严重度)”-
sub-07 OOXML AES-256 加密 xlsx 浏览器实现(P0 硬阻塞,sub-07 进开发前必须解决)
- 需求:钱包 Excel 备份用钱包密码 AES-256 加密,离线打开需输密码(AC18)
- 现状:已装
xlsx@0.18.5(SheetJS Community)不支持加密;exceljs浏览器侧加密路径不稳 - 候选方案:①
crypto-jsAES-GCM + 自包装 zip(保留 .xlsx 后缀) ② 后端代理加密(违反”本地非托管”否决) ③ 改用.novamm-backup纯密文 JSON(牺牲 Excel 兼容性,需 PM 确认) - 责任:前端 lead 在 sub-07 进入开发前 1 周内安排 1-2 天 POC
-
sub-12 「24/7 做市」与本地非托管冲突(P1,待产品宣讲)
- 浏览器关闭 = 任务停。已确定方案:单 tab leader(BroadcastChannel)+ beforeunload 确认,Service Worker 明确不做
- 影响:产品需对运营宣讲「开多久跑多久」边界
- 责任:PM
-
平台费 Treasury 地址未确定(P1,sub-11/12 合约前置)
- 主网 / 测试网两套;umbrella overview.md Q4
- 责任:iro-bsc 项目方 + 合约工程师
-
REACT_APP_WALLETCONNECT_PROJECT_ID未申请(P2,影响 sub-01 钱包列表)- 缺失则 WalletConnect 钱包不可用,5 钱包 AC 可能掉 1 个(其它 4 个仍能凑齐)
- 责任:前端 / 运维 (https://cloud.walletconnect.com 申请)
-
sub-09 / sub-10 同钱包并发跑多策略锁机制未拍板(P1,umbrella overview.md Q2)
- 影响 task state 设计
- 责任:产品 + 后端
🟢 已确认不是问题(避免误判为风险)
Section titled “🟢 已确认不是问题(避免误判为风险)”- HashRouter 路径风格(
#/novamm/login):deeplink / refresh / share 均正常 - Chakra ↔ Tailwind 共存:NovaMM 是新子域,零 Chakra 引用
- 项目
src/state/multicall/**4 大 Pitfall:NovaMM 用 viem 独立useReadContracts,不接 Redux multicall slice - Redux-persist 槽位冲突:NovaMM 数据全部去 IndexedDB / Backend / Query cache
- TypeScript 5.0.4 vs wagmi 3 peer ≥5.7.3:Babel 编译实际可跑,类型层个别
as anycast 即可
完整风险审计与代价对比详见会话上下文;后续每个 sub 进入开发前会单独 plan + brainstorming,本次先把 sub-01 走完闭环。