> 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/th/protocol/zapper.md).

# Zapper

รวมรายการสภาพคล่องและ Trove การอนุมัติโทเคน สิทธิ์ผู้จัดการ และการชำระ flash

สัญญา zapper รวมรายการที่เกี่ยวข้องในธุรกรรมเดียว Hann Finance ใช้แรปหลักประกัน เปิดหรือปรับ Trove เพิ่มสภาพคล่องและสเตก LP รวมถึงชำระการปรับเลเวอเรจด้วย flash สิทธิ์โทเคน ผู้จัดการ และ operator อนุมัติแยก แอปขอสิทธิ์ที่ขาดก่อน

| งาน              | สัญญา                                           | สิ่งที่รวม                                               |
| ---------------- | ----------------------------------------------- | -------------------------------------------------------- |
| กู้ด้วย KAIA     | `WKAIAZapper`                                   | แรป KAIA native ทำรายการ Trove และแกะแรปยอดคืน           |
| กู้ด้วย HNKAIA   | `HNKAIAZapper`                                  | โอน HNKAIA และทำรายการ Trove                             |
| กู้ด้วย earnUSDT | `EarnUSDTZapper`                                | รับ earnUSDT แรปเป็น wEarnUSDT แล้วทำรายการ Trove        |
| ปรับเลเวอเรจ     | `LeverageWKAIAZapper`, `LeverageEarnUSDTZapper` | กู้สภาพคล่องชั่วคราว ปรับหลักประกันกับหนี้ และชำระ flash |
| ฝากและสเตก LP    | `StableSwapZapper`                              | เพิ่ม USDT กับ USDHN แล้วสเตก LP ใหม่                    |
| ถอนสเตกและถอน LP | `StableSwapZapper`                              | ถอนสเตก เผา LP คืนทั้งสองสินทรัพย์                       |

mainnet มีเส้นทางเลเวอเรจ KAIA และ earnUSDT ส่วน testnet มี HNKAIA เพิ่ม HNKAIA บน mainnet ใช้รายการ Trove ปกติ

## อนุมัติและลงนาม

ERC-20 อนุมัติให้สัญญาที่ระบุโอนโทเคนจากวอลเล็ต Permit2 ใช้ลายเซ็นอนุญาต ตรวจโทเคน จำนวน ผู้ใช้จ่าย และวันหมดอายุ หาก allowance ต่อ Permit2 ไม่พอ ให้อนุมัติก่อนโอนแบบลายเซ็น

แอปเลือกวิธีตามการเชื่อมต่อและรายการ StableSwap กับ LP ใช้ Permit2 สำหรับวอลเล็ตเบราว์เซอร์ และ ERC-20 สำหรับโหมดมือถือ KAIA native ส่งไปกับ value ธุรกรรมโดยไม่ต้องอนุมัติ ERC-20 สำหรับหลักประกัน

อีกสองสิทธิ์มีบทบาทดังนี้:

* **สิทธิ์ผู้จัดการ Trove** ให้ zapper ทำรายการโพซิชัน หากการตั้งค่าเดิมไม่ตรง แอปขอเปลี่ยนผู้จัดการก่อนปรับหรือปิดด้วยหลักประกัน
* **สิทธิ์ operator ของ RewardStaker** ให้ StableSwapZapper สเตกหรือถอนสเตกแทนผู้ใช้ โดยให้แยกจากสิทธิ์ใช้โทเคน

## รายการ Trove ปกติ

Trove ถือหลักประกันและหนี้ USDHN ของสาขาเดียว zapper ปกติรองรับเปิด เพิ่มหรือถอนหลักประกัน กู้หรือชำระ USDHN และปิด

1. เลือกรายการและกรอกหลักประกันหรือ USDHN
2. ตรวจหลักประกัน หนี้ อัตราต่อปี ค่าธรรมเนียมล่วงหน้า และ CR หลังทำ
3. อนุมัติโทเคนและผู้จัดการตามที่ขอ
4. ยืนยันธุรกรรม Trove
5. ตรวจโพซิชันและโทเคนที่คืนวอลเล็ต

เปิดต้องมีหลักประกันสาขาและเงินมัดจำชดเชยแก๊ส KAIA สาขา KAIA ส่งทั้งหลักประกันและมัดจำในธุรกรรม แล้ว zapper แรปตามต้องการ สาขา ERC-20 ส่งมัดจำเป็น KAIA native แยก เงินนี้แยกจากค่าเครือข่าย อยู่กับ Trove และคืนเมื่อเจ้าของปิดสำเร็จ การปรับทั่วไปใช้มัดจำเดิม

ปิดด้วย USDHN ในวอลเล็ตชำระหนี้ล่าสุดทั้งหมดรวมดอกเบี้ยและคืนหลักประกัน zapper KAIA แกะ WKAIA เป็น KAIA ส่วน earnUSDT แกะ wEarnUSDT เป็น earnUSDT

## เลเวอเรจด้วย flash

flash ให้สภาพคล่องชั่วคราวและชำระภายในธุรกรรมเดียว เมื่อเสร็จหนี้ Trove ยังเปิด ส่วนภาระ flash ชำระครบแล้ว

| รายการ                | หลักประกัน               | หนี้ USDHN                       |
| --------------------- | ------------------------ | -------------------------------- |
| เปิดหรือเพิ่มเลเวอเรจ | เพิ่มการถือครองที่ขอ     | กู้ USDHN สำหรับชำระ             |
| ลดเลเวอเรจ            | ใช้หลักประกันบางส่วนชำระ | ชำระ USDHN ด้วยสภาพคล่องชั่วคราว |
| ปิดด้วยหลักประกัน     | ใช้หลักประกันชำระทั้งหมด | ชำระหนี้ล่าสุดและปิด Trove       |

เส้นทางตามหลักประกันและรายการ:

| เส้นทาง                | วิธีชำระ                                                                                                                                                   |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| KAIA                   | พูล V3 WKAIA/USDT ที่ตั้งไว้ให้หลักประกันหรือ USDT ชั่วคราว ส่วน StableSwap USDHN/USDT จัดทุนชำระหรือจ่ายหนี้                                              |
| earnUSDT เปิดหรือเพิ่ม | StableSwap ส่ง USDT ผ่าน callback แบบผลรับแน่นอน SuperEarnRouter ฝากเป็น earnUSDT แรปเป็น wEarnUSDT และเพิ่มใน Trove ใช้ USDHN ที่กู้จ่าย input StableSwap |
| earnUSDT ลดหรือปิด     | พูล V3 earnUSDT/USDT ให้ USDT แล้ว StableSwap แปลงเป็น USDHN ชำระหนี้ หลักประกัน earnUSDT ที่แกะแรปใช้ชำระ V3                                              |

router และโทเคนปลายทางกำหนดจากการตั้งค่าสาขา

ระหว่างทำ zapper ส่งสิทธิ์จัดการ Trove ที่จำเป็นให้ FlashSwapper และคืนสถานะเดิมหลังชำระ โทเคนเหลือส่งให้ผู้รับที่กำหนด แอปใช้วอลเล็ตเจ้าของโพซิชัน

### ขีดจำกัดทำรายการ

เปิดและปรับเลเวอเรจส่งเพดานหนี้ `maxDebt` หากหนี้สุดท้ายเกินจะย้อนกลับ สัญญายังตรวจการเปลี่ยนหลักประกัน พูลกับโทเคน flash พูล StableSwap เพดานค่า flash และสถานะผู้จัดการกับผู้รับ

ปิดด้วยหลักประกันใช้หนี้เต็มล่าสุดกับเพดานค่าปิดแยก แอปแสดงสลิปเพจ `100%` และคำสั่งไม่มีขั้นต่ำรับที่ผู้ใช้เลือก ค่าคืนสุทธิเป็นประมาณการ โทเคนจริงตามผลชำระ

หากธุรกรรมรวมล้มเหลว หลักประกัน หนี้ และโอนโทเคนภายในย้อนกลับ สิทธิ์โทเคน operator หรือผู้จัดการที่ยืนยันก่อนหน้ายังคงอยู่ และยังเสียแก๊สของธุรกรรมที่ล้มเหลว

## โทเคนคืนและเงินชดเชยแก๊ส

* ปิดปกติคืนหลักประกันหลังชำระ USDHN ทั้งหมด
* ปิดด้วยหลักประกันใช้ส่วนที่ต้องจ่าย flash แล้วคืนหลักประกันกับโทเคนเส้นทางที่เหลือ zapper KAIA แปลง WKAIA กลับ KAIA เส้นทาง earnUSDT คืน earnUSDT หลังแกะหลักประกัน
* มัดจำแก๊สถูกปล่อยเมื่อปิด และส่งถึงผู้รับผ่านกฎจ่ายของสาขา
* zapper LP คืน token0, token1 หรือ LP ส่วนเกินจากรายการ โดยวัดเทียบยอดเริ่มต้น

ชนิดสินทรัพย์ที่คืนเป็นไปตามการจัดการโทเคนของสาขา

## รายการ LP รวม

ที่ `/earn/usdt` **ฝากและสเตก** ส่งทั้งสองสินทรัพย์ให้ StableSwapZapper จากนั้นเรียกเพิ่มสภาพคล่องของ router ตรวจ `minLiquidity` และสเตก LP ใหม่ผ่าน RewardStaker **ถอนสเตกและถอนสภาพคล่อง** ปล่อย LP ถอนสภาพคล่อง ตรวจขั้นต่ำแต่ละโทเคน แล้วส่ง USDT กับ USDHN เข้าวอลเล็ต

ทั้งคู่ตรวจ deadline และสิทธิ์ operator ของ RewardStaker LP ที่สเตกยังมีความเสี่ยงตามสินทรัพย์พูล ส่วน Trove อัตโนมัติยังใช้กฎ CR และชำระบัญชีของสาขา

ดูขั้นตอนแอปใน[สวอป บริดจ์ และสภาพคล่อง](/th/protocol/stableswap-dex.md) กับ[โพซิชันเลเวอเรจ](/th/protocol/loops.md) [การกู้และการชำระบัญชี](/th/protocol/borrowing-and-liquidation.md) อธิบายหนี้และ CR ที่เกิดขึ้น


---

# 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/th/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.
