Repository navigation
feat(miniapps/teleport): 一键传送后端 API 对接 - #142
Merged
Merged
Conversation
- 添加 API 服务层 (src/api/) - types.ts: 定义传送相关的类型 - client.ts: API 客户端,对接 MetaBox payment 后端 - hooks.ts: React Query hooks 管理 API 状态 - 更新 App.tsx - 集成 TanStack Query 管理数据 - 从后端获取真实的 assetTypeList 配置 - 实现完整的传送流程(签名 -> 发送 -> 轮询状态) - 添加订单状态监控和错误处理 - 更新 i18n 翻译文件 - 添加新的翻译 key(processing, wallet, confirm 等) - 同步更新 zh/zh-CN/zh-TW/en 所有语言 - 更新测试用例 - 添加 QueryClientProvider wrapper - Mock API 调用 - 安装依赖 - @tanstack/react-query - @bnqkl/metabox-core@0.5.2 - @bnqkl/wallet-typings@0.23.8
- 添加 API 单元测试 - client.test.ts: 测试 API 客户端所有方法 - hooks.test.tsx: 测试 React Query hooks - 添加 Storybook stories - App.stories.tsx: 测试各个步骤的 UI 交互 - 更新 E2E 测试 - 添加 API Mock (route intercept) - 更新 i18n helpers 适配新翻译 - 添加成功页面和错误页面测试 - 测试完整传送流程 测试覆盖: - 31 个单元测试 - 7 个 Storybook 交互测试 - 8 个 E2E 测试
Gaubee
added a commit
that referenced
this pull request
Dec 30, 2025
P0 高风险修复: - Teleport: signTransData 改用 signedTx.data(RLP encoded rawTx)而非 signature - Forge: 添加 bio_getPublicKey API 框架(含回退机制) P1 中风险修复: - Forge E2E mock: 使用正确的 endpoint 路径 /cot/recharge/support 和 /cot/recharge/V2 - Forge API config: 改为 fail-fast 策略,未配置 VITE_COT_API_BASE_URL 时报错 P2 改进: - Teleport types.ts: 添加 @bnqkl 包使用说明注释 详细变更: - packages/bio-sdk: 添加 bio_getPublicKey 方法定义 - src/services/ecosystem: 添加 handleGetPublicKey handler(待完整实现) - miniapps/forge: useForge 调用 bio_getPublicKey,失败时回退到 address - miniapps/forge: 更新测试以包含新的 API 调用 - miniapps/teleport: 修正 signTransData 数据源并添加说明注释
Gaubee
added a commit
that referenced
this pull request
Dec 30, 2025
* fix(miniapps): 修复 PR #142/#143 review 发现的问题 P0 高风险修复: - Teleport: signTransData 改用 signedTx.data(RLP encoded rawTx)而非 signature - Forge: 添加 bio_getPublicKey API 框架(含回退机制) P1 中风险修复: - Forge E2E mock: 使用正确的 endpoint 路径 /cot/recharge/support 和 /cot/recharge/V2 - Forge API config: 改为 fail-fast 策略,未配置 VITE_COT_API_BASE_URL 时报错 P2 改进: - Teleport types.ts: 添加 @bnqkl 包使用说明注释 详细变更: - packages/bio-sdk: 添加 bio_getPublicKey 方法定义 - src/services/ecosystem: 添加 handleGetPublicKey handler(待完整实现) - miniapps/forge: useForge 调用 bio_getPublicKey,失败时回退到 address - miniapps/forge: 更新测试以包含新的 API 调用 - miniapps/teleport: 修正 signTransData 数据源并添加说明注释 * feat(bio-sdk): bio_signMessage 返回 { signature, publicKey } - SignatureAuthService.handleMessageSign 返回 SignatureResult - SigningConfirmJob 发送 signature + publicKey - bio_signMessage/bio_signTypedData 返回新格式 - useForge 直接使用 signResult.publicKey(hex 格式) - 移除 bio_getPublicKey 回退逻辑(不再需要) publicKey 为 hex 编码的 32 字节公钥(BioForest Ed25519) * fix(miniapps): E2E 测试修复 + i18n 初始化 - forge: 添加 i18n 导入到 main.tsx - forge: 修复 E2E mock (fetch 拦截 + 选择器优化) - forge: 添加 E2E 测试用 API base URL - teleport: 修复 E2E mock (使用 addInitScript) - teleport: 优化资产选择器和确认页面选择器 E2E 测试结果: - Forge: 9/9 通过 - Teleport: 8/8 通过
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概述
对接一键传送(Teleport)小程序的 MetaBox payment 后端 API。
主要更改
API 服务层 (
src/api/)types.ts: 定义传送相关的所有类型(基于 @bnqkl/metabox-core@0.5.2)client.ts: API 客户端,对接https://api.eth-metaverse.com/payment/hooks.ts: React Query hooks(useTransmitAssetTypeList, useTransmit 等)App.tsx 重构
i18n 更新
测试套件
api/client.test.ts: 测试 API 客户端所有方法api/hooks.test.tsx: 测试 React Query hooksApp.test.tsx: 测试组件交互待确认事项
与后端确认:
fromTrJson.signTransData的格式要求(是否需要 0x 前缀)toTrInfo什么时候可以不传(空投场景?)依赖
新增:
测试