题目
客服收到一批工单,用户都只说「提示余额不足」。你打开后台发现有的用户原生资产余额很充足。
请列出「余额不足」可能对应的几种情况,并说明前端如何给出可执行的提示。
考察目标
- 能否区分转账金额、手续费、授权额度三个维度。
- 是否理解余额校验针对的是潜在支出而不是预估支出。
- 能否给出精确的用户提示。
考察余额校验涉及的三个维度,以及界面上如何给出可执行的补充提示。
客服收到一批工单,用户都只说「提示余额不足」。你打开后台发现有的用户原生资产余额很充足。
请列出「余额不足」可能对应的几种情况,并说明前端如何给出可执行的提示。
至少三种情况:原生资产不足以支付转账金额;原生资产够转账但不足以覆盖潜在最大费用,因为提交时的余额断言按 gas_limit * max_fee_per_gas 计算;代币余额不足,或代币授权额度不足被笼统读成「余额不足」。三种情况对应不同的下一步操作,因此提示需要指明对象与金额。
gas_limit * max_fee_per_gas 与转账金额(依据:EIP-1559 §Specification 的交易验证断言)。eth_getBalance 返回地址余额,并支持区块参数,因此同一地址在不同区块上的读数可能不同(依据:EIP-1474 §eth_getBalance、§Block Identifier)。allowance 记录,transferFrom 在授权范围内扣减(依据:EIP-20 §Specification)。0 与额度不足需要不同文案:前者先完成授权,后者提高额度(依据:工程经验,无规范依据)。transferFrom 受 allowance 限制,依据:EIP-20 §Specification)。发现这道题有问题? 反馈此题