2026-06-16
2026-06-16 daniel 工作日志
Section titled “2026-06-16 daniel 工作日志”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 无linkprop 根因,一处全局 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/45a4a994:bsc:test产物(失败原因细化 + 交易门控),pushtest。
收款码二维码反复打磨(下午,本日重点 · 全程 bob 群内确认)
Section titled “收款码二维码反复打磨(下午,本日重点 · 全程 bob 群内确认)”b839923e:二维码接入三方external_user_id—— 出 YesGo 落地页 URL(域名按 env 切:正式 yesgo.finance / 测试 amplify),替代原 JSON 支付串。bdd16578:二维码富化轮询(上链后后端异步落库 + 富化external_user_id,存索引延迟窗口)+ 上链参数打点logChainCall+ 修复经纪商卡片%%双百分号。e21abfa6→797c293b: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产物,pushtest。
企业级审核流程 + 支付币白名单(下午中段)
Section titled “企业级审核流程 + 支付币白名单(下午中段)”15f5623f:企业级审核拒绝展示原因(后端 review_remark)+ 支付币改链上白名单驱动(getEnabledPaymentTokens∩getDexQuoteTokenWhitelist,自动剔除测试网垃圾测试币)。1dbd6de3:企业级审核页重开后回填申请详情 —— 企业名 / GV 地址 / 支付币种不再显空。43c91951:企业级审核中步骤按更新原型 3 步改 2 步(「链上签名→PayFi审核→签发」改为「提交申请→待审核」,副标题改「申请时间」;产品后改两步,bob 确认按原型改)。08f5d824/2fffc698/49862824:对应bsc:test产物,pushtest。
InvalidDexPath 根因修复 + 测试构建保留 console(傍晚–晚间)
Section titled “InvalidDexPath 根因修复 + 测试构建保留 console(傍晚–晚间)”4455d973:支付币按 DEX 计价币白名单确定性解析,根治测试网双 USDT 间歇InvalidDexPath。根因:测试网两个同名 “USDT”(老 MockUSDT0xf485…无 NovaSwap pair + 新 USDT0xC9FF…),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产物,pushtest。
合并 test→master-v2 + 正式部署(晚间)
Section titled “合并 test→master-v2 + 正式部署(晚间)”11ab8314:Merge test → master-v2(正式分支)。源码 31 文件干净合入(零源码冲突),build/冲突统一清空待重建;保留 master-v2 既有正式提交(移除 RWA ⓘ 图标、交易表格移动端滚动、正式服 env)。期间清理一个卡住的并行 worktree 半截 merge(abort + remove)后干净重做。9f8222a4:bsc:prod重建正式产物 —— 验证 console 已剥离、指向正式服(api / kline.novahub.global、yesgo),pushorigin/master-v2(609f1236..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 接收地址、让利比例→让利)。158c8b6Mergefe-016-novapay-admin→test;fe48045详情补**「申请编号」**字段。ab50868:币种符号前端链上解析 —— 新增src/onchain/tokenSymbols.js,按 zz 约定「符号前端获取、后端只返地址」,viem multicall 批量读 ERC20symbol()+ 按小写地址模块级缓存 + 单项失败回退地址(不阻塞页面);列表/详情加载后回填*_symbol。3785496:全站文字按钮对齐原型 —— 根因:仓库锁element-plus@1.2.0-beta.6,el-button无linkprop(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后 pushorigin/test(推前核对buildspec.yml为 test 分支模式BUILD_MODE:-test+--mode),CodeBuild 按--mode test部署;确认后续直接在test分支开发。
- 二维码扫码 URL =
{域名}/{external_user_id}-id:external_user_id(PF-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 确认)。
- 主网支付币本就按链上白名单走、不会复现
InvalidDexPath:registry/router按chainId取(主网 56 地址已配),主网单规范 USDT 不存在符号撞名;选 USDT 时支付币==计价币→空路径合约接受。属合约/运维侧白名单配置确认,前端无需改。 - 【fomoadmin】代币符号走前端链上解析(zz 约定 BE 只返地址):独立
onchain/tokenSymbols.js+ multicall + 地址级缓存 + 失败回退地址,作为通用工具复用,不给 BE 立符号字段缺口。 - 【fomoadmin】全站文字按钮用一处全局 CSS 覆盖修复(受 EP 1.2.0-beta.6 无
linkprop 限制):不逐文件改 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权限(否则createThirdPartyQRCoderevert);② 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 页(风控管理/对账报表/数据统计)。