质押模块
x/staking 模块控制 Stable 上的验证者参与和委托。它的预编译使得这些操作可以通过 Solidity 调用,因此合约可以在不离开 EVM 的情况下委托 STABLE、在解绑期后解除委托、在验证者之间重新委托或查询验证者状态。
它暴露了什么
- 创建验证者:注册一个带有描述、佣金率和初始自我委托的新验证者。
- 编辑验证者:更新验证者元数据和佣金参数。
- 委托:将 STABLE 质押给验证者。
- 解除委托:开始从验证者解除绑定(代币在解绑期后可用)。
- 重新委托:在不解绑的情况下在验证者之间移动质押。
- 取消解绑委托:在解绑期完成之前撤销正在进行的解绑。
- 查询方法:读取验证者集、委托记录、解绑记录和参数。
授权语义
预编译执行两次检查:
- 绑定面额(质押代币)必须在链初始化时注册。在 Stable 上,这是 STABLE 代币。
- 调用者必须与正在修改状态的验证者或委托人匹配。您不能通过直接调用预编译来代表他人委托。
解绑完成
当解绑期结束时,代币变为流动性,但 SDK 会悄悄处理,EVM 看不到直接事件。Stable 的系统交易机制弥合了这一点:一旦解绑清除,协议会通过 StableSystem 预编译发出 UnbondingCompleted 事件,因此 dApp 可以通过标准 EVM 日志订阅。
何时使用它
- 质押协议从保管库合约管理委托:在用户存入和取出时调用
delegate和undelegate。 - 治理仪表板需要实时验证者集:使用查询方法。
- 重质押或流动质押产品跟踪解绑完成:订阅
UnbondingCompleted事件,参考跟踪解绑完成。
ABI 的查找位置
完整的方法签名、结构定义和发出的事件在质押预编译参考中。

