> For the complete documentation index, see [llms.txt](https://docs.hann.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hann.finance/zh/protocol/zapper.md).

# Zapper

流动性与 Trove 组合操作、代币授权、管理权限和闪电结算

Zapper 合约在一笔交易中组合相关操作。Hann Finance 用它封装抵押品、开立或调整 Trove、添加流动性并质押 LP，以及结算闪电辅助杠杆操作。代币授权及管理人或操作员权限先单独完成，应用会先请求缺失权限。

| 任务             | 合约                                             | 组合内容                                       |
| -------------- | ---------------------------------------------- | ------------------------------------------ |
| 抵押 KAIA 借款     | `WKAIAZapper`                                  | 封装原生 KAIA、执行 Trove 操作、解封返还资产。              |
| 抵押 HNKAIA 借款   | `HNKAIAZapper`                                 | 转移 HNKAIA 并执行 Trove 操作。                    |
| 抵押 earnUSDT 借款 | `EarnUSDTZapper`                               | 接收 earnUSDT、封装为 wEarnUSDT 抵押品、执行 Trove 操作。 |
| 调整杠杆           | `LeverageWKAIAZapper`、`LeverageEarnUSDTZapper` | 获取临时流动性、调整抵押品和 USDHN 债务、完成闪电结算。            |
| 存入并质押 LP       | `StableSwapZapper`                             | 添加 USDT 和 USDHN 流动性，再质押新 LP。               |
| 解除质押并提取 LP     | `StableSwapZapper`                             | 解除质押、销毁 LP、返还两种池内资产。                       |

主网应用配置 KAIA 和 earnUSDT 杠杆路径；测试网还配置 HNKAIA 杠杆。主网 HNKAIA 借款使用普通 Trove 操作。

## 授权与签名

ERC-20 授权允许指定合约从钱包转移代币，Permit2 使用签名许可。检查钱包显示的代币、数量、使用者和到期时间。代币对 Permit2 的额度不足时，需先授权再签署转账。

应用按钱包连接方式和操作选择授权方式。StableSwap 和 LP 流程中，浏览器钱包使用 Permit2 签名，移动连接模式使用 ERC-20 授权。原生 KAIA 抵押品随交易 value 发送，无需 ERC-20 抵押授权。

另外两种权限分别用于：

* **Trove 管理权限**：允许 zapper 执行所选仓位操作。调整或用抵押品关闭时，若当前设置不符，应用先请求正确管理人设置。
* **RewardStaker 操作权限**：允许 StableSwapZapper 代你质押或解除质押 LP，需要与代币使用权限分别授予。

## 普通 Trove 操作

Trove 持有某一抵押分支的抵押品和 USDHN 债务。普通 zapper 支持开仓、增加或提取抵押品、借入或偿还 USDHN，以及关闭。

1. 选择操作，输入抵押品或 USDHN 数量。
2. 检查操作后的抵押品、债务、年利率、一次性费用和抵押率。
3. 完成应用请求的代币授权和管理权限。
4. 确认 Trove 交易。
5. 检查更新后的仓位和钱包返还代币。

开仓需要分支抵押品和 KAIA Gas 补偿押金。KAIA 分支交易同时携带抵押品和 Gas 补偿，zapper 按需封装。ERC-20 分支另外提供原生 KAIA 补偿。押金与网络费分开，留在开放的 Trove 中，所有人成功关闭后退还。常规调整沿用开仓押金。

用钱包 USDHN 关闭会偿还包含累计利息的全部实时债务并返还抵押品。KAIA 普通 zapper 将 WKAIA 解封为 KAIA；earnUSDT 普通 zapper 将 wEarnUSDT 解封为 earnUSDT。

## 闪电辅助杠杆

闪电操作提供临时流动性，并在同笔交易内结清。交易完成后，Trove 的长期债务继续存在，临时闪电债务已结算。

| 操作      | 抵押品变化       | USDHN 债务变化       |
| ------- | ----------- | ---------------- |
| 开立或增加杠杆 | 添加目标敞口。     | 借入结算所需 USDHN。    |
| 降低杠杆    | 使用部分抵押品结算。  | 用临时流动性偿还 USDHN。  |
| 用抵押品关闭  | 用抵押品支持全额还款。 | 偿清实时债务并关闭 Trove。 |

路径随抵押品和操作而异：

| 路径             | 结算方式                                                                                                       |
| -------------- | ---------------------------------------------------------------------------------------------------------- |
| KAIA           | 配置的 WKAIA/USDT V3 池提供临时抵押品或 USDT，USDHN/USDT StableSwap 部分支持结算或偿债。                                          |
| earnUSDT 开立或增加 | StableSwap 通过精确输出回调发送 USDT，SuperEarnRouter 将其存成 earnUSDT，封装为 wEarnUSDT 加入 Trove，借入 USDHN 支付 StableSwap 输入。 |
| earnUSDT 降低或关闭 | 配置的 earnUSDT/USDT V3 池提供 USDT，StableSwap 换成 USDHN 偿债，解封的 earnUSDT 抵押品结算 V3 操作。                             |

路由和输出代币由分支配置决定。

执行中，zapper 将必要的 Trove 管理控制交给 FlashSwapper，结算后恢复先前管理状态。剩余代币转给配置的接收者，应用使用仓位所有人的钱包。

### 执行限制

开仓和调杠杆传入最终债务上限 `maxDebt`，执行后超限则回滚。合约还检查抵押品变化、闪电池和代币、StableSwap 配置、闪电费上限及管理人／接收者状态。

抵押品关闭使用最新全额债务和单独配置的关闭费用上限。应用显示 `100%` 滑点，合约调用没有用户自选最低到账量。净返还值为估算，实际代币由最终结算决定。

组合交易失败会回滚其抵押品、债务和内部代币移动。此前确认的代币授权、操作员授权和管理设置仍有效，失败交易仍消耗网络 Gas。

## 返还代币与 Gas 补偿

* 普通关闭在 USDHN 全额还款后返还抵押品。
* 抵押品关闭先使用结算闪电操作所需部分，再返还剩余抵押品和路径代币。KAIA zapper 将返还的 WKAIA 转为 KAIA；earnUSDT 路径解封后返还剩余 earnUSDT。
* Gas 补偿押金在关闭时释放，并经分支支付逻辑转给接收者。
* LP zapper 按本次操作相对初始余额的增量，返还剩余 token0、token1 或 LP。

返还资产种类遵循各分支的代币处理规则。

## LP 组合操作

在 `/earn/usdt`，**存入并质押**将两种资产转给 StableSwapZapper。它调用路由添加流动性，检查 `minLiquidity`，并通过 RewardStaker 质押新 LP。**解除质押并提取**释放 LP、移除流动性、检查每种代币最低量，再发送 USDT 和 USDHN 到钱包。

两种操作都检查期限和 RewardStaker 操作权限。质押 LP 仍承担池内资产风险，Trove 自动化仍遵循分支抵押率和清算规则。

应用步骤见[兑换、跨链与流动性](/zh/protocol/stableswap-dex.md)及[杠杆仓位](/zh/protocol/loops.md)。[借款与清算](/zh/protocol/borrowing-and-liquidation.md)说明 Trove 债务和抵押率。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.hann.finance/zh/protocol/zapper.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
