跳转到内容

2026-06-16

NovaSwap(fomopaddapp / iro-bsc) 全天主线 FEAT-016 NovaPay 收款码(经纪商 DApp 端)收尾 + 产品验收联调。上午细化上链失败原因(定投币/商家码捞真实 revert 贴页面)、加未开放交易前置门控;下午起按 bob 群内多次确认反复打磨收款码二维码:先接 external_user_id 出 YesGo 落地页 URL → 改 {域名}/{id} 路径格式 + 卡片展示 PayFi 二维码 ID(替代原接收合约地址)→ 末尾写死固定后缀 -id(bob 确认);企业级审核步骤按更新原型 3 步改 2 步、拒绝展示原因、重开回填申请详情。傍晚定位 QA 报的 InvalidDexPath 根因(测试网双 USDT 符号撞名),支付币改 DEX 计价币白名单确定性解析根治;让测试构建保留 console 便于排查上链参数。晚间合并 test→master-v2 重建 bsc:prod 正式产物并部署,发 notify 周知。另:核对主网支付币已按链上白名单走、不会复现该错确认收款明细/对账(FE-003/007)归管理后台 fomoadmin,非 DApp

fomoadmin 管理后台 侧同日推进 FEAT-016 企业级申请审核页(AD-001)对齐原型 + QA/TG 反馈收尾:列表/详情字段对齐(钱包地址复制、列名 8×GV/让利、申请编号)、新增 onchain/tokenSymbols.js 链上解析代币符号、全站文字按钮对齐原型(EP 1.2 beta 无 link prop 根因,一处全局 CSS 修复)、已签发行补签发收款码、拒绝原因 255 字上限校验、审核时间线备注居左;三笔收尾 cherry-pick 到 test 并部署。

FEAT-016 上链失败原因细化 + 交易门控(上午)

Section titled “FEAT-016 上链失败原因细化 + 交易门控(上午)”
  • 5d129c0c定投币创建失败给明确原因 —— 无交易对 / 链上 revert 细化提示,不再笼统报失败。
  • f2c9391c商家码创建/编辑失败同样捞真实 revert 原因贴页面(staticCall 干跑提取 reason)。
  • 073c3966未开放交易前置门控 —— presale(预售未完成)代币无 AMM 流动性,上链必 revert,故以 asset.status(失败安全默认 presale)隐藏创建入口,不让用户走到链上失败。
  • ba0a2f0a / 45a4a994bsc:test 产物(失败原因细化 + 交易门控),push test

收款码二维码反复打磨(下午,本日重点 · 全程 bob 群内确认)

Section titled “收款码二维码反复打磨(下午,本日重点 · 全程 bob 群内确认)”
  • b839923e:二维码接入三方 external_user_id —— 出 YesGo 落地页 URL(域名按 env 切:正式 yesgo.finance / 测试 amplify),替代原 JSON 支付串。
  • bdd16578:二维码富化轮询(上链后后端异步落库 + 富化 external_user_id,存索引延迟窗口)+ 上链参数打点 logChainCall + 修复经纪商卡片 %% 双百分号
  • e21abfa6797c293b:URL 格式按 bob 权威格式改回 {域名}/{id} 路径段(撤销 /payment?qrCodeId= query 写法)+ 卡片展示 PayFi 二维码 ID(PF-xxxx)可复制,替代被移除的「接收合约地址」(94da1dba 先移除)。
  • bc225a2c:URL 末尾写死固定后缀 -id(bob 群确认:「加上」/「写死拼接」;PF-xxxx 为链上 qrCodeId 富化的变化值,-id 为落地页路由固定段)。修复 QA 扫码「后面没带 id」。
  • 309f6a9b / 7346e37b / dc7b8fa3:对应 bsc:test 产物,push test

企业级审核流程 + 支付币白名单(下午中段)

Section titled “企业级审核流程 + 支付币白名单(下午中段)”
  • 15f5623f:企业级审核拒绝展示原因(后端 review_remark)+ 支付币改链上白名单驱动getEnabledPaymentTokensgetDexQuoteTokenWhitelist,自动剔除测试网垃圾测试币)。
  • 1dbd6de3:企业级审核页重开后回填申请详情 —— 企业名 / GV 地址 / 支付币种不再显空。
  • 43c91951:企业级审核中步骤按更新原型 3 步改 2 步(「链上签名→PayFi审核→签发」改为「提交申请→待审核」,副标题改「申请时间」;产品后改两步,bob 确认按原型改)。
  • 08f5d824 / 2fffc698 / 49862824:对应 bsc:test 产物,push test

InvalidDexPath 根因修复 + 测试构建保留 console(傍晚–晚间)

Section titled “InvalidDexPath 根因修复 + 测试构建保留 console(傍晚–晚间)”
  • 4455d973支付币按 DEX 计价币白名单确定性解析,根治测试网双 USDT 间歇 InvalidDexPath。根因:测试网两个同名 “USDT”(老 MockUSDT 0xf485… 无 NovaSwap pair + 新 USDT 0xC9FF…),getEnabledPaymentTokens() 全量按符号建映射受 Promise.all 顺序影响、非确定,“USDT” 随机解析到老的那个 → 路径 [老USDT,新USDT] 无 pair → 间歇 revert(QA 现象「偶现但几率大」)。改为候选 = 计价币优先占符号槽 + DEX 白名单确定性去重。
  • 26b1cfd2测试构建保留 console —— build:bsc:test 等虽同为 webpack production 模式但 REACT_APP_ENV=test,改用 REACT_APP_ENV==='production' 门控 drop_console/disableConsoleOutput,使测试产物保留 logChainCall/preflight 输出(QA/合约可在部署产物抓 createUserQRCode 的 dexPaths 等实参);正式构建仍剥离 + 混淆。
  • 4dea142f / 93f48dc1:对应 bsc:test 产物,push test

合并 test→master-v2 + 正式部署(晚间)

Section titled “合并 test→master-v2 + 正式部署(晚间)”
  • 11ab8314Merge test → master-v2(正式分支)。源码 31 文件干净合入(零源码冲突),build/ 冲突统一清空待重建;保留 master-v2 既有正式提交(移除 RWA ⓘ 图标、交易表格移动端滚动、正式服 env)。期间清理一个卡住的并行 worktree 半截 merge(abort + remove)后干净重做。
  • 9f8222a4bsc:prod 重建正式产物 —— 验证 console 已剥离、指向正式服(api / kline.novahub.global、yesgo),push origin/master-v2609f1236..9f8222a4)。
  • notify 前端已部署 到 IRO 群(场景 7,@QA + @PM);并把 notify 兜底名册过期 PM handle(@wuyiweb3@olovedamao)一并修正。

【fomoadmin 管理后台】FEAT-016 企业级申请审核页(AD-001)对齐原型 + QA/TG 反馈收尾(下午–晚间)

Section titled “【fomoadmin 管理后台】FEAT-016 企业级申请审核页(AD-001)对齐原型 + QA/TG 反馈收尾(下午–晚间)”

承接「审核签发归管理后台 fomoadmin」决策,本日在 fomoadmin 侧把申请审核页(views/admin/novapay/applications.vue)按原型与 QA/TG 反馈逐项收口。

  • abc2145申请审核列表字段对齐原型 —— 申请钱包地址加复制按钮(列表 + 详情);定投币/支付币种改 symbol 渐进式渲染investment_token_symbol / pay_token_symbols,回退地址 + tooltip);列名对齐(GV 接收地址→8×GV 接收地址、让利比例→让利)。158c8b6 Merge fe-016-novapay-admintestfe48045 详情补**「申请编号」**字段。
  • ab50868币种符号前端链上解析 —— 新增 src/onchain/tokenSymbols.js,按 zz 约定「符号前端获取、后端只返地址」,viem multicall 批量读 ERC20 symbol() + 按小写地址模块级缓存 + 单项失败回退地址(不阻塞页面);列表/详情加载后回填 *_symbol
  • 3785496全站文字按钮对齐原型 —— 根因:仓库锁 element-plus@1.2.0-beta.6el-buttonlink prop(2.2 才引入),全站 <el-button link> 渲染成实心。一处全局 .el-button[link] 覆盖(style/element-plus.scss,按 type 着色 + hover 下划线),一次对齐 13 模块 ~55 个文字按钮,搜索/提交等实心按钮不受影响。
  • 8b15afa已签发行补签发收款码(QA 反馈)—— 详情「链上 qrCodeId」改「签发收款码」(issued_qr_code_id,状态 3 显示);列表已签发行显示「已签发 {id}」,列宽 190→230。
  • 8409d66拒绝原因 255 字上限校验(TG 反馈点拒绝 payfi/enterprise/reject 报 400)—— 拒绝弹窗 inputValidator 加 255 字上限,超长拦截并提示当前字数、不再发请求;表格行与详情弹窗共用 reject,一处覆盖两入口。
  • e767002审核时间线备注改为居左(QA 反馈)—— 根因全局 #app{text-align:center} 使时间线 block 备注/标题继承居中;在 .hist-title/.timeline 局部 text-align:left,不动全局。
  • 分支/部署:收尾三笔 cherry-pick 到 test 后 push origin/test(推前核对 buildspec.yml 为 test 分支模式 BUILD_MODE:-test + --mode),CodeBuild 按 --mode test 部署;确认后续直接在 test 分支开发。
  • 二维码扫码 URL = {域名}/{external_user_id}-idexternal_user_idPF-xxxx)为链上 qrCodeId 富化的变化值(后端下发),-id 为落地页路由写死固定后缀(bob 群确认)。卡片展示的「二维码 ID」按需求文档保持 PF-xxxx(不带 -id),仅 URL 拼 -id。已存 memory 防后续会话误删。
  • 测试构建保留 console / 正式构建剥离,以 REACT_APP_ENV 区分(落实 CLAUDE.md「debug in test builds, console stripped in production」本意)。
  • FEAT-016 DApp 端功能已完整:建码/出码/二维码 ID/企业级审核步骤/状态开关均到位。收款明细(FE-003)/ 企业级充值对账(FE-007)/ 审核签发 + 数据统计(FE-006/AD-00x)归管理后台 fomoadmin,非 DApp(sam 确认)。
  • 主网支付币本就按链上白名单走、不会复现 InvalidDexPathregistry/routerchainId 取(主网 56 地址已配),主网单规范 USDT 不存在符号撞名;选 USDT 时 支付币==计价币→空路径合约接受。属合约/运维侧白名单配置确认,前端无需改。
  • 【fomoadmin】代币符号走前端链上解析(zz 约定 BE 只返地址):独立 onchain/tokenSymbols.js + multicall + 地址级缓存 + 失败回退地址,作为通用工具复用,不给 BE 立符号字段缺口。
  • 【fomoadmin】全站文字按钮用一处全局 CSS 覆盖修复(受 EP 1.2.0-beta.6 无 link prop 限制):不逐文件改 28+ 处、不升级 Element Plus(blast radius 太大);特异性 + !important 兜住 hover/focus/active。时间线对齐同理用局部 text-align,不动全局 #app
  • 扫码 yesgo 落地页报 not found(QA 测企业码):DApp 按 bob 规范出码无误(卡片已出二维码 = 后端富化 status=‘ok’),但 yesgo 查不到该 id。需 bob 确认 yesgo 解析口径(整段 PF-xxxx-id 当 id 还是剥 -id 再查)+ zz 确认富化 id 真实性。属跨端对接,非 DApp 代码问题。
  • payment-summary 接口 GV 倍率与需求对不上(已 @zz):接口 PAYER5/PAYEE2/PLATFORM2/DISTRIBUTOR1(=10×)vs 需求 消费者5/商家1/定投币2/平台1(=9×),source→归属映射待 zz 以链上 GVRewarded 实测对齐。前端尚未对接该接口(汇总/明细视图归 fomoadmin),暂不受影响。
  • 建码表单「预计 GV」写死常量(types.ts 5/1/2/1)待校准:若 zz 确认链上实测为 10× 则需同步改常量 + 表单展示;若 9× 则前端不动、由 zz 改文档。
  • 【fomoadmin】企业级签发端到端仍待打通(承接 06-15):依赖 ① 管理员钱包在 QRCodeModule 有 restricted 权限(否则 createThirdPartyQRCode revert);② DApp 端轮询同步签发状态。fomoadmin 审核/签发页已接真后端并对齐原型,待联调跑通 happy-path。代币符号链上解析依赖测试网代币真实部署 symbol()(失败回退地址、不阻塞)。
  • 跟进 yesgo not found 跨端对接(bob 确认 -id 解析口径 + zz 确认富化 id),打通商家码/企业码扫码支付端到端验证。
  • 待 zz 确认 GV source→倍率映射后,校准建码表单「预计 GV」常量;评估是否承接 M3 收款明细/汇总卡(若归属 DApp)。
  • 配合 QA 在最新测试产物(含双 USDT 修复 + 保留 console)复测 FEAT-016,收敛产品验收剩余问题。
  • 【fomoadmin】配合 QA 复测申请审核页对齐项(字段/复制/符号解析/已签发码/拒绝 255 长度/时间线居左);跟进企业级签发端到端联调(admin restricted + DApp 轮询同步);按原型/QA 反馈继续收尾其余 NovaPay 页(风控管理/对账报表/数据统计)。