ERC-7715权限请求如何设限? 图 1
ERC-7715权限请求如何设限? · 图 1

ERC-7715 讨论的是结构化执行权限,而不是一次性的签名弹窗。权限可能在未来多次使用,因此目标、动作、金额、频率和有效期必须写进约束;“允许此应用”这种模糊文案不足以让用户判断风险。

会话权限里真正的约束项

  1. 先区分标准提案与已部署能力:ERC-7715提出wallet_grantPermissions等接口,用结构化权限与caveats表达应用请求的执行能力。
  2. Permission 与 Caveat 的组合:权限对象应限制目标、操作、额度或时间等范围;获得权限不是对任意未来交易的无限授权。
  3. 授予、执行和撤销是三段状态:钱包和应用需要保存权限标识与生命周期,并提供查看、拒绝和撤销路径;链上状态仍需独立核验。

先区分标准提案与已部署能力

ERC 页面描述接口与数据模型,钱包是否支持、支持哪些 permission type 要以运行时 capability 和当前版本为准。应用应对 method not found 或拒绝提供降级路径,不能宣称所有智能账户均已支持。

Dapp请求无限期限时

一个“每笔最多 10、每天最多 3 次”的权限,需要同时实施单笔额度和频率约束。只校验其中一项会把组合限制变成更宽权限;审计时必须为每个 caveat 建独立拒绝测试。

Permission 与 Caveat 的组合

权限说明允许做什么,caveats 收窄对象和条件,例如限定 token、spender、额度、时间或调用次数。多个约束应共同生效;解析器不认识某个约束时应拒绝整个请求,而不是忽略未知字段。

授权前逐项缩小能力范围

  1. 请求前说明具体业务和最小权限,不把可选能力列为必需。
  2. 展示目标、资产、额度、频率、起止时间和撤销入口。
  3. 保存 permission id 与账户、chain 的绑定,执行时拒绝跨上下文复用。
  4. 用户撤销后重新查询权限和相关链上授权,确认旧调用无法继续。

授予、执行和撤销是三段状态

wallet_grantPermissions 成功只产生权限记录,不代表链上动作已经发生。后续执行要引用权限并产生独立结果;撤销还要确认钱包记录、授权合约或 delegation 状态是否改变。UI 应分别展示三类证据。

缺少撤销路径就拒绝授权

钱包无法展示全部约束、应用无法提供撤销方式或标准状态变化未兼容时,不请求长期权限。

ERC-7715与钱包权限资料

  1. Ethereum EIPs:用于核对ERC-7715钱包权限请求的候选主题的一手字段、产品说明或事件发现。
  2. ERC-7710 Delegation:用于核对ERC-7715钱包权限请求的实现路径、交叉验证或风险边界。

相关站内主题:最小权限Snap权限审查。资料访问时间为2026-07-22;协议、接口、监管清单与产品界面均可能更新。

风险提示:会话权限会在用户不逐笔确认时持续产生动作,范围过宽可能长期暴露资产。目标、方法、额度、周期或撤销入口不明确时应拒绝授权,并定期清理旧权限;本文不评价具体Dapp的可信度。