Skip to main content
Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.Xem bản tiếng Anh →
LaunchLab hỗ trợ ba hình dạng đường cong được lựa chọn tại Initialize: constant-product (phổ biến nhất, dạng bản sao ảo của đường cong chuẩn x · y = k), linear-pricefixed-price. Công thức ngưỡng tốt nghiệp được chia sẻ trên cả ba hình dạng. Trang này hướng dẫn chi tiết toán học constant-product; các dạng tuyến tính và cố định được tóm tắt ở phía cuối.

Các tham số lưu trữ trên LaunchState

Tên trường trong struct Rust khớp với các trường PoolState được mô tả trong accounts; các đơn vị trên là khái niệm.

Đường cong constant-product với bản sao ảo (curve_type = 0)

Đường cong mặc định và được sử dụng nhiều nhất. Tất cả các lần phát hành kiểu Pump đều sử dụng dạng này. Đường cong cho rằng có một bản sao quote ảo V_q và một bản sao base ảo V_b từ lúc bắt đầu (lưu trữ dưới dạng virtual_quotevirtual_base trên PoolState), do đó pool hiệu dụng giống như một CPMM có các bản sao đó. Các lần mua tuân theo toán học x · y = k:
giải cho base_out:
Giá hiệu dụng tại base đã bán s:
Bất biến x · y = k tương tự mà LaunchLab áp dụng trước tốt nghiệp sau đó là chính xác đường cong CPMM (hoặc AMM v4) sau tốt nghiệp, do đó bàn giao tốt nghiệp là liền mạch về mặt cơ học: giá biên tại base_sold = base_supply_graduation bằng giá mà pool sau tốt nghiệp mở ra với (quote_vault, base_vault_remaining) làm các bản sao.

Đường cong fixed-price (curve_type = 1)

Một đường cong giá phẳng. Mỗi lần mua/bán xảy ra ở một giá không đổi, có thể cấu hình tại Initialize:
Hữu ích cho các lần phát hành công bằng nơi nhóm muốn định giá thống nhất cho tất cả những người tham gia bất kể họ mua khi nào. Tốt nghiệp kích hoạt khi base_supply_graduation đã được bán (mối quan hệ chi phí tuyến tính làm cho việc suy dẫn quote_reserve_target trở nên đơn giản).

Đường cong linear-price (curve_type = 2)

Giá tăng tuyến tính với base_sold:
Chi phí tích phân:
Bậc hai trong base_sold — những người mua sớm thanh toán gần như không, những người mua muộn thanh toán nhiều hơn đáng kể, với giá biên luôn tăng ở độ dốc cố định. Triển khai trên chuỗi nằm trong curve/linear_price.rs.

So sánh hình dạng đường cong

Ngưỡng tốt nghiệp

quote_reserve_target được tính toán tại Initialize là quote cần thiết để đẩy base_sold từ 0 đến base_supply_graduation:
Một lần phát hành tốt nghiệp ngay khi quote_vault.balance ≥ quote_reserve_target. Vì các lần mua có kích thước rời rạc, số dư thực tế tại tốt nghiệp có thể vượt quá mục tiêu một chút — phần dôi thành thêm tính thanh khoản phía quote trong pool CPMM kết quả.

Ví dụ đã làm việc — một lần phát hành bậc hai

Tham số:
  • base_supply_max = 1_000_000_000 (1 tỷ base token, 6 chữ số thập phân)
  • base_supply_graduation = 800_000_000 (80% bán kích hoạt tốt nghiệp)
  • k = 40 (thang giá)
  • Phí: 1% mua, 1% bán, chia tách lp:creator:protocol = 60:20:20.
Giá ban đầu (s = 0): 0 (bậc hai thuần túy bắt đầu từ không). Giá tại 50% bán (s = 500_000_000):
Giá tại tốt nghiệp (s = 800_000_000):
Quote cần thiết để đạt tốt nghiệp (chi phí tích phân):
Vì vậy ≈ 6.827 đơn vị gốc quote (trong bất kỳ mint quote 6 chữ số thập phân nào được cấu hình, ví dụ ~6.827 USDC nếu quote là USDC). Phí áp dụng trên cùng:
Lần mua đầu tiên của 10 USDC:
  • Trạng thái ảo: s = 0, quote_vault = 0.
  • Trừ phí: quote_after_fee = 10 × 0.99 = 9.9.
  • Giải (40 / (3e18)) × s³ = 9.9s ≈ 6.22e6 base token được mua.
  • Phí 1% (0.1 USDC) chia tách: lp 0.06, creator 0.02, protocol 0.02. Phần chia sẻ lp nằm trong quote_vault; hai phần kia định tuyến đến các bộ đếm tích lũy tương ứng.
Mua tại 75% bán (tiếp cận tốt nghiệp): Cùng 10 USDC mua ít base hơn nhiều bây giờ vì đường cong dốc. Một giải Newton tại s₀ = 750e6 với quote_in_after_fee = 9.9 cho khoảng ∆s ≈ 0.4e6 — giảm ~15 lần số base trên USDC so với lần mua đầu tiên.

Cơ học phí trong giai đoạn đường cong

Trên mỗi Buy:
  • lp_share được để lại trong quote_vault. Đây là cách làm cho đường cong hiệu dụng chặt hơn (nhiều bản sao quote hơn so với cùng một nguồn cung base).
  • protocol_share tăng LaunchState.state_data.protocol_fees_quote.
  • creator_share tăng LaunchState.state_data.creator_fees_quote.
Trên Sell cùng một chia tách áp dụng nhưng phí được lấy từ quote_out xuất. Cả hai bộ đếm được xóa thông qua CollectFees (quản trị viên hoặc người tạo, mỗi bộ đến bộ đếm của mình).

Độ chính xác

  • Số lượng phía base: u64.
  • Số lượng phía quote: u64.
  • Lập phương/tích trung gian: u128.
  • Giải Newton cho “mua quote chính xác” và “bán quote chính xác” lặp lại trong u128 điểm cố định với số lần lặp tối đa có thể cấu hình (mặc định 10). Chế độ lỗi là NotConverged — hiếm khi xảy ra ngoài các trường hợp cạnh gần tốt nghiệp.

Bàn giao đến CPMM

Khi Graduate kích hoạt:
Đối với đường cong bậc hai, cpmm_initial_priceprice(base_sold) về mặt cơ học (nó là giá biên đường cong tại thời điểm bàn giao). Pool CPMM mở ở giá chính xác đó, do đó một người quan sát chuyển từ UI đường cong sang UI CPMM không thấy bất kỳ bước nhảy nào.

Bước tiếp theo

Nguồn: