概述
distribution 预编译合约作为桥梁,使 Stable SDK 的 x/distribution 模块功能能在 EVM 环境中使用。
目录
概念
在distribution 预编译合约中,会进行额外检查以确保委托者或存款者是调用者。
配置
合约地址和gas费用已预定义。合约地址
0x0000000000000000000000000000000000000801
方法
setWithdrawAddress
设置用于接收委托者向验证者委托代币奖励的地址。
有时,当委托者是自我委托时,验证者地址被用作委托者。
当提取者地址成功设置时,会发出 SetWithdrawAddress 事件。
输入参数
输出参数
withdrawDelegatorRewards
提取委托者从验证者那里应得的奖励。
验证者奖励给委托者的所有类型的代币都在单次交易中提取。
当奖励成功提取时,会发出 WithdrawDelegatorRewards 事件。
输入参数
输出参数
Coin 是一个包含以下字段的结构:
withdrawValidatorCommission
提取验证者的佣金。
验证者作为佣金获得的所有类型的代币都在单次交易中提取。
当佣金成功提取时,会发出 WithdrawValidatorCommission 事件。
输入参数
输出参数
validatorDistributionInfo
返回代表验证者将获得奖励的分配信息。验证者可以在自己的地址上向自己委托代币,这被称为自绑定。
输入参数
输出参数
ValidatorDistributionInfo 是一个包含以下字段的结构:
DecCoin 是一个包含以下字段的结构:
validatorOutstandingRewards
返回验证者的未结算奖励。未结算奖励表示由验证者的佣金和自绑定奖励以及委托者的总奖励组成的奖励总额。如果有验证者A,委托者B、C和D委托给A,那么验证者的未结算奖励是A的佣金和自绑定奖励 + B、C和D的奖励的总和。
输入参数
输出参数
validatorCommission
返回验证者的佣金。此方法用于在调用 withdrawValidatorCommission 方法之前检索验证者的佣金。
输入参数
输出参数
validatorSlashes
返回验证者在起始高度和结束高度之间的削减历史。削减是当验证者恶意行为或违反网络规则(如双重签名、不当行为或不遵循链规则)时施加的罚款。
输入参数
PageReq 是一个包含以下字段的结构:
输出参数
ValidatorSlashEvent 是一个包含以下字段的结构:
Dec 是一个包含以下字段的结构:
PageResp 是一个包含以下字段的结构:
delegationRewards
返回委托者从验证者那里获得的奖励。
输入参数
输出参数
delegationTotalRewards
返回委托者从所有验证者那里获得的总奖励。
输入参数
输出参数
DelegationDelegatorReward 是一个包含以下字段的结构:
delegatorValidators
返回委托者绑定的验证者。
输入参数
输出参数
delegatorWithdrawAddress
返回通过 setWithdrawAddress 方法设置的接收委托奖励的地址。

