Hôm qua, Uniswap đã phát hành dự thảo code của phiên bản Uniswap V4 sắp ra mắt, có nhiều cải tiến so với V3. Trong đó, điểm đáng chú ý nhất là giao dịch lệnh giới hạn xuất hiện ở phiên bản V4. Mọi người đều tò mò về cách Uniswap V4 thực hiện các giao dịch lệnh giới hạn, tiếp theo chúng tôi sẽ cung cấp cho bạn phân tích chuyên sâu về cách phiên bản Uni V4 thực hiện các giao dịch lệnh giới hạn.
Bài đọc liên quan: "Giới thiệu về Uniswap V4, mọi thứ bạn cần biết》
p>
Theo sách trắng chính thức của Uniswap, các giao dịch lệnh giới hạn thuộc chức năng Hook mới của nó, do đó, cơ chế Hooks được dựa vào để thực hiện các giao dịch lệnh giới hạn trên chuỗi.
Hook là cơ chế cốt lõi của Uniswap V4, đề cập đến các đoạn mã chạy tại một thời điểm cụ thể trong vòng đời của quỹ quỹ. So với phiên bản Uniswap trước đây, phiên bản mới của nhóm quỹ có khả năng tùy chỉnh cao hơn, vì vậy, cho dù bạn đang tạo nhóm, LP (nhà cung cấp thanh khoản) thêm/xóa thanh khoản hay trước/sau trao đổi, Hooks start Các chức năng đều rất quan trọng.
Trong DeFi, Hooks là một khái niệm lập trình đề cập đến một tập hợp các chức năng được sử dụng để tự động thực hiện một số hành động nhất định khi một hệ thống thông minh hợp đồng thực hiện một thao tác cụ thể. Các hàm hoặc đoạn mã được kích hoạt có thể được sử dụng để thực thi logic tùy chỉnh trước, sau hoặc trong một sự kiện cụ thể. Hook cung cấp cho các nhà phát triển một cách để thực thi logic tùy chỉnh ở các giai đoạn khác nhau của hợp đồng thông minh. Bằng cách sử dụng Hook, các nhà phát triển có thể triển khai các ứng dụng DeFi linh hoạt hơn, có thể tùy chỉnh và mở rộng hơn.
Ví dụ: Hook có thể được sử dụng để tạo nhóm với phí trao đổi linh hoạt thay đổi dựa trên điều kiện thị trường, thay vì đặt trước và phí trao đổi tĩnh. Đồng thời, Hook cũng cho phép nhà giao dịch đặt các lệnh phức tạp hơn, chẳng hạn như lệnh giới hạn hoặc lệnh TWAP (Giá trung bình có trọng số theo thời gian), mua/bán một số lượng Token nhất định trong một khoảng thời gian nhất định.
Không chỉ vậy, Hook còn cho phép sử dụng tính thanh khoản của Uniswap theo nhiều cách khác nhau. Điều này tương tự như Boosted Pools của Balancer, nơi thanh khoản dư thừa có thể được gửi vào các giao thức khác, chẳng hạn như người cho vay, để có thêm lợi nhuận.
Phân tích giới hạn giá của Uniswap V4 qua GPT Sử dụng mã hợp đồng mẫu của LimitOrder.sol, quy trình vận hành lệnh giới hạn thu được gần như sau:

p>
Thông qua hợp đồng LimitOrder, Uniswap thực hiện việc tạo (đặt), thực hiện (điền) và hủy (hủy) các lệnh giới hạn:
Người dùng có thể gọi hàm place để tạo lệnh giới hạn. Chức năng này cần nhận PoolKey (chứa thông tin về cặp giao dịch), tickLower (giới hạn dưới của phạm vi giá), cờ zeroForOne (cho biết hướng giao dịch) và tính thanh khoản dự kiến sẽ được thêm vào. Hàm này tạo một Kỷ nguyên mới (khoảng thời gian), lưu trữ thông tin liên quan trong epochInfos và sau đó kích hoạt sự kiện Địa điểm.
Sau mỗi giao dịch, hàm afterSwap sẽ được gọi. Hàm này kiểm tra xem giá hiện tại có vượt qua phạm vi giá của bất kỳ lệnh giới hạn nào hay không và nếu vậy, hãy gọi lockAcquiredFill để thực hiện lệnh giới hạn. Trong quá trình thực hiện lệnh giới hạn, số tiền tương ứng sẽ được rút khỏi nhóm và sự kiện Điền sẽ được kích hoạt.
Người dùng có thể gọi hàm kill để hủy lệnh giới hạn. Hàm này sẽ nhận PoolKey, tickLower, cờ zeroForOne và địa chỉ người nhận. Chức năng này sẽ xóa thông tin liên quan khỏi epochInfos, trả lại tiền theo thứ tự giới hạn cho người nhận, sau đó kích hoạt sự kiện Hủy.
Giới hạn sau lệnh giá được thực hiện, người dùng có thể gọi chức năng rút tiền để rút tiền. Chức năng này sẽ nhận Epoch và địa chỉ người nhận, sau đó rút tiền của tất cả các lệnh giới hạn do người dùng thực hiện trong khoảng thời gian đó và kích hoạt sự kiện Rút tiền.
Với Hooks, cơ chế hoạt động của lệnh giới hạn rất rõ ràng:
-Đặt hàng trên hợp đồng Hooks;
-Hợp đồng Hooks thêm đơn đặt hàng của bạn vào giao dịch V4 của nó;
-Theo tùy chỉnh hoặc được quản lý Máy oracle , khi giá đạt đến giá đặt lệnh giới hạn, sẽ kích hoạt Hooks tự động thực hiện các thao tác Hoán đổi và điều chỉnh tính thanh khoản;
-Hooks tự động xóa lệnh
-Hủy hoặc hoàn thành lệnh.
BlockBeats nhắc nhở rằng lời giải thích trên dựa trên hành vi bề mặt của mã hợp đồng thông minh này. Hành vi thực tế có thể bị ảnh hưởng bởi các yếu tố khác (chẳng hạn như tương tác với các hợp đồng thông minh khác, thay đổi dữ liệu trên chuỗi, v.v.), vì vậy khi sử dụng hợp đồng này, bạn nên chú ý xem lại mã của nó và hiểu cách thức hoạt động của nó.
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia