入口函数
协议提供以下入口点:
AFSUI 查询函数
public fun afsui_to_sui_exchange_rate():返回当前 Epoch(纪元)的 AFSUI<->SUI 汇率。
public fun afsui_to_sui():给定 AFSUI 数量,返回对应的 SUI 数量。
public fun sui_to_afsui_exchange_rate(): 返回当前 Epoch 的 SUI<->AFSUI 汇率。
public fun sui_to_afsui():给定 SUI 数量,返回对应的 AFSUI 数量。
public fun total_sui_amount():返回协议中锁定的 SUI 总量(全部本金 + 奖励)。
总量查询函数
public fun total_rewards_amount():返回已归集的奖励总量。
public fun epoch_was_changed():发起 Epoch 切换处理,可能需要连续调用多次。
质押
public fun request_stake():将 SUI 代币委托给指定验证者,并立即返回等值的 AFSUI。注意,验证者必须处于活跃状态。
entry fun request_stake_and_keep():Keep 版本,将 AFSUI 直接转入交易发送者账户。
public fun request_stake_vec():接收一组 SUI 代币,合并后质押给指定验证者,并立即返回等值的 AFSUI。注意,验证者必须处于活跃状态。
entry fun request_stake_vec_and_keep():Keep 版本,将 AFSUI 直接转入交易发送者账户。
public fun request_stake_staked_sui():对提供的 StakedSui 对象进行再质押,铸造相应数量的 AFSUI 并返回。
public fun request_stake_staked_sui_and_keep():Keep 版本,将 AFSUI 直接转入交易发送者账户。
public fun request_stake_staked_sui_vec():接收一组 StakedSui 对象,对其再质押,铸造相应数量的 AFSUI 并返回。
public fun request_stake_staked_sui_vec_and_keep():Keep 版本,将 AFSUI 直接转入交易发送者账户。
常规解除质押
public fun request_unstake():接收 AFSUI 作为输入,登记请求,在下一个 Epoch 开始时铸造相应数量的 SUI。
public fun request_unstake_vec():接收一组 AFSUI 代币作为输入,合并后登记请求,在下一个 Epoch 开始时铸造相应数量的 SUI。
原子解除质押
public fun request_unstake_atomic():接收 AFSUI 代币作为输入,立即返回相应数量的 SUI。
entry fun request_unstake_atomic_and_keep():Keep 版本,将 SUI 直接转入交易发送者账户。
public fun request_unstake_vec_atomic():接收一组 AFSUI 代币作为输入,合并为一枚后立即返回相应数量的 SUI。
public fun request_unstake_vec_atomic_and_keep():Keep 版本,将 SUI 直接转入交易发送者账户。
验证者费用
public fun rotate_operation_cap():创建并登记新的 Operation Capability 对象。
public fun update_validator_fee():修改对应验证者的费用。
Last updated