Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
Các lệnh AMM v4 đều yêu cầu cả phía pool (tài khoản chương trình AMM v4) và phía market (tài khoản OpenBook cho thị trường powiązanego). Nếu bỏ sót hoặc không khớp một trong hai bộ này, giao dịch sẽ bị hoàn tác. Danh sách tài khoản dưới đây sử dụng tên trường từ Raydium SDK để rõ ràng; IDL cơ bản đôi khi sử dụng tiền tố serum_*.
Danh sách lệnh
| Nhóm | Lệnh | Ghi chú |
|---|
| Vòng đời pool | Initialize2 | Lệnh tạo pool hiện tại (vẫn hoạt động; giao diện người dùng mặc định sử dụng CPMM cho pool mới). |
| Thanh khoản | Deposit | Thêm thanh khoản, nhận LP. |
| Thanh khoản | Withdraw | Đốt LP, nhận cả hai phía theo tỷ lệ. |
| Swap | SwapBaseIn | Swap đầu vào chính xác (toàn bộ đường dẫn: vaults + OpenBook). |
| Swap | SwapBaseOut | Swap đầu ra chính xác (toàn bộ đường dẫn). |
| Swap | SwapBaseInV2 | Swap đầu vào chính xác bỏ qua OpenBook — chỉ vaults, ít tài khoản hơn. |
| Swap | SwapBaseOutV2 | Swap đầu ra chính xác bỏ qua OpenBook. |
| Bảo trì | SetParams | Admin: thay đổi tham số pool. |
| Bảo trì | WithdrawPnl | Quét PnL giao thức tích lũy vào các tài khoản chủ sở hữu PnL. |
| Bảo trì | CreateConfigAccount | Admin: khởi tạo PDA AmmConfig cấp chương trình. |
| Bảo trì | UpdateConfigAccount | Admin: thay đổi các tham số cấu hình cấp chương trình. |
SDK chỉ cung cấp các builder cho các lệnh hướng tới người dùng. Các lệnh bảo trì thường được gọi bởi người bảo trì Raydium.
Initialize2
Khởi động một pool AMM v4 mới được liên kết với một thị trường OpenBook hiện có.
Đối số
nonce: u8
open_time: u64
init_pc_amount: u64
init_coin_amount: u64
Tài khoản (có thể ghi W, ký S)
| # | Tên | W | S | Ghi chú |
|---|
| 1 | token_program | | | SPL Token. |
| 2 | system_program | | | |
| 3 | rent | | | |
| 4 | amm | W | | Tài khoản AmmInfo (khóa được tạo seed). |
| 5 | amm_authority | | | PDA chương trình. |
| 6 | amm_open_orders | W | | OpenBook OpenOrders (được tạo seed). |
| 7 | lp_mint | W | | |
| 8 | coin_mint | | | |
| 9 | pc_mint | | | |
| 10 | pool_coin_token_account | W | | |
| 11 | pool_pc_token_account | W | | |
| 12 | pool_withdraw_queue | W | | |
| 13 | pool_target_orders_account | W | | |
| 14 | pool_lp_token_account | W | | ATA LP của người tạo. |
| 15 | pool_temp_lp_token_account | W | | Tài khoản tạm. |
| 16 | market_program | | | Chương trình OpenBook. |
| 17 | market | | | Thị trường OpenBook. |
| 18 | user_wallet | W | S | Người tạo. Trả tiền thuê và tài trợ tiền gửi ban đầu. |
| 19 | user_token_coin | W | | |
| 20 | user_token_pc | W | | |
Điều kiện sau
lp_supply = sqrt(init_coin_amount × init_pc_amount) − INIT_BURN, trong đó INIT_BURN ≈ 100 đơn vị LP được giữ ngoài lưu thông.
- Các đơn hàng OpenBook chưa được đăng;
MonitorStep đầu tiên đăng lưới ban đầu.
Lỗi phổ biến — InvalidInput (không khớp số chữ số thập phân, không được sắp xếp), NotApproved, phía OpenBook InvalidMarketState.
Deposit
Thêm thanh khoản.
Đối số
max_coin_amount: u64
max_pc_amount: u64
base_side: u64 // 0 = base on coin, 1 = base on pc
// (một số biến thể SDK cũng chấp nhận other_amount_min)
Tài khoản (tóm tắt)
| # | Tên | W | S |
|---|
| 1 | token_program | | |
| 2 | amm | W | |
| 3 | amm_authority | | |
| 4 | amm_open_orders | | |
| 5 | amm_target_orders | W | |
| 6 | lp_mint | W | |
| 7 | pool_coin_token_account | W | |
| 8 | pool_pc_token_account | W | |
| 9 | market | | |
| 10 | user_coin_token_account | W | |
| 11 | user_pc_token_account | W | |
| 12 | user_lp_token_account | W | |
| 13 | user_owner | | S |
Toán học — tiêu chuẩn theo tỷ lệ. Sử dụng dự trữ hiệu quả của pool (vaults + trên sổ), SDK tính toán cặp coin/pc mang lại lượng LP đã cho và kiểm tra so với max_*. Hoàn tác với ExceededSlippage nếu một phía vượt quá giới hạn.
Withdraw
Đốt LP, nhận cả hai phía.
Đối số
Tài khoản — giống như Deposit với hướng đảo ngược; lp_mint có thể ghi để đốt, các ATA người dùng là người nhận. Một bước settle-from-OpenBook giống MonitorStep xảy ra nội bộ trước toán học theo tỷ lệ để việc hoàn lại sử dụng dự trữ mới.
SwapBaseIn
Swap đầu vào chính xác. Luôn là swap đường dẫn AMM (không định tuyến qua khớp OpenBook).
Sử dụng các biến thể V2 cho mã mới. Vì AMM v4 không còn chia sẻ thanh khoản với OpenBook, các điểm vào V1 (SwapBaseIn, SwapBaseOut) — vẫn yêu cầu bộ tài khoản OpenBook đầy đủ để xác thực — về mặt chức năng là dư thừa. Các tích hợp mới nên sử dụng SwapBaseInV2 / SwapBaseOutV2, nhận danh sách tài khoản nhỏ hơn nhiều và đại diện cho đường dẫn thực thi chính tắc ngày hôm nay. Các dạng V1 được ghi lại ở đây để hoàn chỉnh và để đọc các giao dịch hiện có trên chuỗi.
Đối số
amount_in: u64
minimum_amount_out: u64
Tài khoản (tóm tắt)
| # | Tên | W | S |
|---|
| 1 | token_program | | |
| 2 | amm | W | |
| 3 | amm_authority | | |
| 4 | amm_open_orders | W | |
| 5 | amm_target_orders | W | |
| 6 | pool_coin_token_account | W | |
| 7 | pool_pc_token_account | W | |
| 8 | market_program | | |
| 9 | market | W | |
| 10 | market_bids | W | |
| 11 | market_asks | W | |
| 12 | market_event_queue | W | |
| 13 | market_coin_vault | W | |
| 14 | market_pc_vault | W | |
| 15 | market_vault_signer | | |
| 16 | user_source_token_account | W | |
| 17 | user_dest_token_account | W | |
| 18 | user_owner | | S |
Toán học — xem products/amm-v4/math.
Điều kiện trước
amm.status cho phép swap (bit 0 của mặt nạ trạng thái chưa được đặt).
amm.state_data.pool_open_time <= now.
amount_in > 0.
user_source_token_account giữ ít nhất amount_in.
Điều kiện sau
- Người dùng mất
amount_in token nguồn, nhận amount_out ≥ minimum_amount_out token đích.
state_data.swap_*_in_amount và swap_*_out_amount tăng (để phân tích).
need_take_pnl_* tăng theo phần chia phí giao thức.
Lỗi phổ biến — ExceededSlippage, InvalidInput, InvalidStatus, InvalidMarket.
SwapBaseOut
Đầu ra chính xác, ngược lại của SwapBaseIn. Cùng tài khoản.
Đối số
max_amount_in: u64
amount_out: u64
SwapBaseInV2 / SwapBaseOutV2
Các điểm vào swap biến thể bỏ qua hoàn toàn các tài khoản OpenBook. Toán học giống với đường dẫn V1, nhưng danh sách tài khoản chỉ còn phía AMM:
| # | Tên | W | S |
|---|
| 1 | token_program | | |
| 2 | amm | W | |
| 3 | amm_authority | | |
| 4 | amm_open_orders | | |
| 5 | pool_coin_token_account | W | |
| 6 | pool_pc_token_account | W | |
| 7 | user_source_token_account | W | |
| 8 | user_dest_token_account | W | |
| 9 | user_owner | | S |
Dự trữ hiệu quả của pool vẫn tính đến các token được đăng trên OpenBook, vì vậy toán học báo giá không thay đổi. Sử dụng V2 để tiết kiệm compute và tránh truyền các tài khoản thị trường khi bạn không cần một crank OpenBook trong cùng một giao dịch. Bộ định tuyến Raydium luôn sử dụng dạng V2 khi định tuyến qua AMM v4.
Các đối số giống như các dạng V1 (amount_in / minimum_amount_out cho SwapBaseInV2; max_amount_in / amount_out cho SwapBaseOutV2).
MonitorStep (cũ / không hoạt động)
Không còn được crank. AMM v4 không còn chia sẻ thanh khoản với OpenBook, vì vậy MonitorStep không có gì để làm — pool không có đơn hàng được đăng để settle, hủy hoặc thay thế. Lệnh vẫn tồn tại trong chương trình trên chuỗi để tương thích ngược nhưng người bảo trì Raydium không còn gọi nó. Gọi nó theo cách thủ công về cơ bản là một no-op (ngoài việc làm mới trạng thái được đặt thành 0) và không nên cần thiết đối với người tích hợp.
Ban đầu lệnh này cranked tương tác OpenBook của pool.
Đối số
plan_order_limit: u16
place_order_limit: u16
cancel_order_limit: u16
Tài khoản — mọi thứ trên cho một swap, cộng với các tài khoản OpenBook hành chính.
Hiệu ứng gốc (không còn liên quan trong thực tế):
- Settled bất kỳ đơn hàng nào được điền (số tiền của chúng được chuyển từ
market_coin_vault/market_pc_vault vào vaults của pool thông qua OpenBook CPI).
- Hủy các đơn hàng cũ có giá hoặc kích thước không còn khớp với
target_orders.
- Đăng các đơn hàng mới để đóng khoảng cách giữa
target_orders và amm_open_orders.
Không có quyền hạn. Bất kỳ tài khoản nào cũng có thể gọi nó; trong lịch sử người bảo trì Raydium thường làm như vậy.
WithdrawPnl / TakePnl
Quét admin phí giao thức tích lũy.
Đối số
WithdrawPnl không nhận đối số; nó đọc need_take_pnl_* và di chuyển các lượng chính xác đó.
Tài khoản (tóm tắt)
| # | Tên | W | S | |
|---|
| 1 | token_program | | | |
| 2 | amm | W | | |
| 3 | amm_authority | | | |
| 4 | amm_config | | | |
| 5 | amm_open_orders | W | | |
| 6 | pool_coin_token_account | W | | |
| 7 | pool_pc_token_account | W | | |
| 8 | pnl_coin_token_account | W | | Người nhận, lưu trữ trên AmmConfig. |
| 9 | pnl_pc_token_account | W | | |
| 10 | pnl_owner | | S | Multisig admin. |
| 11 | market_program | | | |
| 12 | market | W | | |
| 13 | market_event_queue | W | | |
| 14 | market_coin_vault | W | | |
| 15 | market_pc_vault | W | | |
| 16 | market_vault_signer | | | |
Hiệu ứng
- Chuyển
need_take_pnl_coin từ pool_coin_token_account đến pnl_coin_token_account.
- Tương tự cho pc.
- Đặt về 0
need_take_pnl_coin và need_take_pnl_pc.
Không thay đổi dự trữ vì PnL tích lũy đã bị loại trừ khỏi bất biến.
SetParams
Thay đổi tham số admin: mặt nạ trạng thái, độ sâu lưới đặt hàng, sóng lượng, phí (hiếm khi), v.v. Được gọi bởi multisig Raydium. Các đối số là thẻ param: u8 + payload, tương tự như UpdateAmmConfig của CPMM.
Ma trận thay đổi trạng thái
| Lệnh | cung cấp lp_mint | Vaults | Bộ đếm PnL | OpenBook |
|---|
Initialize2 | cung cấp init được tạo cho người tạo | + init_coin_amount, + init_pc_amount | 0 | OpenOrders được tạo |
Deposit | + | + cả hai | — | settle điền |
Withdraw | − | − cả hai | — | settle điền |
SwapBaseIn | — | + vào, − ra | + chia pnl | có thể đăng lại lưới |
SwapBaseOut | — | + vào, − ra | + chia pnl | có thể đăng lại lưới |
MonitorStep | — | settle điền | — | hủy / đăng |
WithdrawPnl | — | − (pnl quét) | 0 | — |
SetParams | — | — | — | — |
Tiếp theo đi đâu
Nguồn: