Chuyển đến nội dung chính

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.

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 →
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ómLệnhGhi chú
Vòng đời poolInitialize2Lệ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ảnDepositThêm thanh khoản, nhận LP.
Thanh khoảnWithdrawĐốt LP, nhận cả hai phía theo tỷ lệ.
SwapSwapBaseInSwap đầu vào chính xác (toàn bộ đường dẫn: vaults + OpenBook).
SwapSwapBaseOutSwap đầu ra chính xác (toàn bộ đường dẫn).
SwapSwapBaseInV2Swap đầu vào chính xác bỏ qua OpenBook — chỉ vaults, ít tài khoản hơn.
SwapSwapBaseOutV2Swap đầu ra chính xác bỏ qua OpenBook.
Bảo trìSetParamsAdmin: thay đổi tham số pool.
Bảo trìWithdrawPnlQué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ìCreateConfigAccountAdmin: khởi tạo PDA AmmConfig cấp chương trình.
Bảo trìUpdateConfigAccountAdmin: 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ênWSGhi chú
1token_programSPL Token.
2system_program
3rent
4ammWTài khoản AmmInfo (khóa được tạo seed).
5amm_authorityPDA chương trình.
6amm_open_ordersWOpenBook OpenOrders (được tạo seed).
7lp_mintW
8coin_mint
9pc_mint
10pool_coin_token_accountW
11pool_pc_token_accountW
12pool_withdraw_queueW
13pool_target_orders_accountW
14pool_lp_token_accountWATA LP của người tạo.
15pool_temp_lp_token_accountWTài khoản tạm.
16market_programChương trình OpenBook.
17marketThị trường OpenBook.
18user_walletWSNgười tạo. Trả tiền thuê và tài trợ tiền gửi ban đầu.
19user_token_coinW
20user_token_pcW
Đ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ếnInvalidInput (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ênWS
1token_program
2ammW
3amm_authority
4amm_open_orders
5amm_target_ordersW
6lp_mintW
7pool_coin_token_accountW
8pool_pc_token_accountW
9market
10user_coin_token_accountW
11user_pc_token_accountW
12user_lp_token_accountW
13user_ownerS
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ố
amount: u64    // LP để đốt
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ênWS
1token_program
2ammW
3amm_authority
4amm_open_ordersW
5amm_target_ordersW
6pool_coin_token_accountW
7pool_pc_token_accountW
8market_program
9marketW
10market_bidsW
11market_asksW
12market_event_queueW
13market_coin_vaultW
14market_pc_vaultW
15market_vault_signer
16user_source_token_accountW
17user_dest_token_accountW
18user_ownerS
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_amountswap_*_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ếnExceededSlippage, 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ênWS
1token_program
2ammW
3amm_authority
4amm_open_orders
5pool_coin_token_accountW
6pool_pc_token_accountW
7user_source_token_accountW
8user_dest_token_accountW
9user_ownerS
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_ordersamm_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ênWS
1token_program
2ammW
3amm_authority
4amm_config
5amm_open_ordersW
6pool_coin_token_accountW
7pool_pc_token_accountW
8pnl_coin_token_accountWNgười nhận, lưu trữ trên AmmConfig.
9pnl_pc_token_accountW
10pnl_ownerSMultisig admin.
11market_program
12marketW
13market_event_queueW
14market_coin_vaultW
15market_pc_vaultW
16market_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_coinneed_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ệnhcung cấp lp_mintVaultsBộ đếm PnLOpenBook
Initialize2cung cấp init được tạo cho người tạo+ init_coin_amount, + init_pc_amount0OpenOrders được tạo
Deposit++ cả haisettle điền
Withdraw− cả haisettle điền
SwapBaseIn+ vào, − ra+ chia pnlcó thể đăng lại lưới
SwapBaseOut+ vào, − ra+ chia pnlcó thể đăng lại lưới
MonitorStepsettle điềnhủy / đăng
WithdrawPnl− (pnl quét)0
SetParams

Tiếp theo đi đâu

Nguồn: