> For the complete documentation index, see [llms.txt](https://ch-docs.aftermath.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ch-docs.aftermath.finance/liu-dong-xing-zhi-ya-afsui/architecture/entry-points.md).

# 入口函数

协议提供以下入口点：

## 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()**：修改对应验证者的费用。
