题目
你们要上线兑换功能,产品给出的需求只有一句「输入数量、点击兑换、完成」。
请列出这个页面上需要处理的边界状态,并说明每一类对应的用户可见行为。
考察目标
- 能否覆盖报价、滑点、授权、余额四类边界。
- 是否理解报价的时效性。
- 能否给出「什么时候不该让用户继续」的判断。
考察报价时效、滑点、授权与余额四类边界的交互设计。
你们要上线兑换功能,产品给出的需求只有一句「输入数量、点击兑换、完成」。
请列出这个页面上需要处理的边界状态,并说明每一类对应的用户可见行为。
边界至少四类:报价(有有效期,过期需要刷新或中止)、滑点(过紧容易回滚且消耗费用,过松影响成交价)、授权(额度不足需要先授权,两步之间价格可能变化)、余额(代币不足与原生资产不足以支付费用是两类问题)。四类中有一类不满足时,界面不宜让用户继续提交。
approve 会把 allowance 覆盖为新值,allowance 返回剩余可用额度;授权不足时 transferFrom 应当回滚(依据:EIP-20 §Specification(approve、allowance、transferFrom))。decimals 在标准中属于可选方法,界面需要处理读不到该值的情况(依据:EIP-20 §Specification(decimals))。permit 通过签名设置授权额度,本身不执行兑换;只有兑换合约支持在同一笔交易中消费该签名时,才可能把授权与兑换合并(依据:EIP-2612 §Specification)。发现这道题有问题? 反馈此题