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 →
Đây là nhật ký thay đổi của tài liệu — bản ghi các cập nhật cho những trang này kể từ lần phát hành dự án. Để xem đường thời gian lịch sử của chính giao thức, xem
introduction/history-and-milestones. Mỗi mục nhập đều có ngày tháng, danh sách các chương bị ảnh hưởng, lý do kích hoạt, và ngày xác minh cho biết khi nào trạng thái on-chain và mã nguồn chương trình cuối cùng được kiểm chứng chéo so với nội dung viết.2026-05-18 — CLMM: limit orders, single-sided fee, dynamic fee
Phiên bản CLMM tiếp theo bổ sung ba khả năng cấp pool. Chúng là tùy chọn tại thời điểm tạo pool và tương thích ngược với các pool và vị trí hiện có.TL;DR cho những người tích hợp
- Limit orders hiện là các nguyên thủy CLMM hạng nhất. LP có thể mở một lệnh một tick trên pool hỗ trợ chúng; lệnh được điền theo FIFO khi một swap vượt qua tick, và một keeper ngoài chuỗi (
limit_order_admin) có thể hoàn tất đầu ra đã điền mà không cần chủ sở hữu trực tuyến. Bảy phương thức SDK mới (openLimitOrder,increaseLimitOrder,decreaseLimitOrder,settleLimitOrder,closeLimitOrder,closeAllLimitOrder,settleAllLimitOrder) và ba điểm cuối Temp API mới dưới/limit-order/(các lệnh hoạt động, lịch sử theo người dùng, nhật ký sự kiện theo PDA) bao gồm toàn bộ luồng. - Single-sided fee (
CollectFeeOn) cho phép pool thu phí swap từ phía input (cũ, chế độ0), hoặc luôn từtoken_0(chế độ1), hoặc luôn từtoken_1(chế độ2). Hữu ích khi một bên của cặp là token kế toán chính thức. - Dynamic fee cho phép pool chọn theo dõi biến động sẽ tính phí bổ sung tăng theo chuyển động tick nhanh chóng và giảm theo thời gian, được hiệu chỉnh bằng
DynamicFeeConfigcho mỗi cấp độ vàDynamicFeeInfocho mỗi pool. Điểm cuối/main/clmm-dynamic-configmới hiển thị danh sách cấp độ. - Một hướng dẫn mới,
CreateCustomizablePool, tiếp xúc cả ba điều khiển tại thời điểm tạo pool.CreatePoolcổ điển tiếp tục hoạt động cho các pool phí mặc định và không có limit order. - Thay đổi break indexer: bộ đếm khối lượng theo hướng (
swap_in_amount_token_{0,1},swap_out_amount_token_{0,1}) và bộ đếm phí suốt đời (total_fees_token_{0,1},total_fees_claimed_token_{0,1}) trênPoolStateđã bị loại bỏ thành padding để dành chỗ chofee_onvàdynamic_fee_info. Các indexer đọc trực tiếp các trường đó phải di chuyển sang vòngObservationon-chain hoặc API.
Tại sao điều này quan trọng (đối với các nhà giao dịch, LP và những người tích hợp)
- Nhà giao dịch nhận được báo giá chặt hơn trên các cặp long-tail và do sự kiện: dynamic fee cho phép pool hấp thụ phí biến động từ taker mà không cần LP phải chủ động mở rộng phạm vi, và các chuỗi limit order làm sâu thannh khoản on-chain ở các mức giá cụ thể mà không cam kết vốn trên toàn phạm vi.
- LP nhận được chiến lược thứ ba bên cạnh phạm vi tập trung và vị trí phạm vi đầy đủ: đỗi xe các lệnh chính xác, nhận được điền khi giá truy cập, hoàn tất thành token quote. Không cần cân bằng lại chủ động cho phần đã điền.
- Những người tích hợp có thể mô hình các pool dynamic-fee một cách xác định — thuật toán và tham số hoàn toàn on-chain, các cấp độ hiệu chỉnh có thể truy vấn, và đường dẫn swap không thay đổi về hình dạng (chỉ phí cho mỗi bước thay đổi).
Những gì đã thay đổi trong chương trình
Tài khoản mới
DynamicFeeConfig— bản ghi hiệu chỉnh trên mỗi cấp độ (thời gian lọc, thời gian phân rã, hệ số giảm, điều khiển dynamic-fee, tích lũy biến động tối đa). Được tạo bởiCreateDynamicFeeConfig(admin), được tham chiếu bởiCreateCustomizablePoolkhi bật dynamic fee.LimitOrderState— tài khoản mỗi lệnh (PDA seeds:[owner, limit_order_nonce, order_nonce]) chứa pool, tick, phía, số lượng input, tỷ lệ chưa điền, giai đoạn cohort FIFO, và ảnh chụp bookkeeping. Vòng đời là ẩn (filled_amountso vớitotal_amount, cộng với sự tồn tại của tài khoản):Open → Filled → Settled → Closed.LimitOrderNonce— bộ đếm tăng đơn điệu trên mỗi (chủ sở hữu, chỉ số nonce) lấy PDA seeds giới hạn-order.nonce_index: u8cho phép cùng một chủ sở hữu phân chia các lệnh thành tối đa 256 luồng nonce độc lập.
Định hình lại PoolState
| Nhóm trường | Bố cục cũ | Bố cục mới |
|---|---|---|
| Bộ đếm khối lượng theo hướng | swap_in_amount_token_0, swap_out_amount_token_0, swap_in_amount_token_1, swap_out_amount_token_1 | Gập vào padding5: [u128; 4] |
| Bộ đếm phí suốt đời | total_fees_token_0, total_fees_claimed_token_0, total_fees_token_1, total_fees_claimed_token_1 | Gập vào padding6: [u64; 4] |
| Single-sided fee | — | fee_on: u8 (0 = FromInput, 1 = Token0Only, 2 = Token1Only) |
| Dynamic fee | — | dynamic_fee_info: DynamicFeeInfo (nhúng) |
PoolState và chuyển sang vòng Observation hoặc API. Các bộ đếm bị loại bỏ không được đặt lại thành 0 trên các pool hiện có (chúng giữ bất cứ thứ gì chúng tình cờ được mang lại lần cuối), vì vậy đọc lại chúng sau nâng cấp sẽ trả về dữ liệu cũ.
Bổ sung TickState (không có thay đổi break)
Bốn trường mới được thêm vào cuối TickState, thay thế một số padding ở phía sau của nó:
order_phase: u64— bộ đếm phân biệt các cohort limit-order tại tick này.orders_amount: u64— tổng input được cam kết bởi tất cả các lệnh mở tại tick này (không phải tất cả đều chưa được điền đầy đủ).part_filled_orders_remaining: u64— input vẫn chưa điền trong cohort hiện đang được sử dụng bởi các swap.unfilled_ratio_x64: u128— tỷ lệ Q64.64 được sử dụng để tính phần điền của mỗi lệnh.
Hướng dẫn mới
CreateDynamicFeeConfig(admin) — tạo cấp độDynamicFeeConfigđược hiệu chỉnh. Authority: cùng một multisig kho bạc nhưCreateAmmConfig.UpdateDynamicFeeConfig(admin) — cập nhật các tham số của cấp độ hiện có.CreateCustomizablePool— điểm nhập tạo pool tiếp xúccollect_fee_on,enable_dynamic_feevàdynamic_fee_config. Tồn tại cùng vớiCreatePool; chúng tôi khuyênCreateCustomizablePoolcho bất kỳ pool mới nào cần các điều khiển mới.OpenLimitOrder— mở một lệnh limit order một tick. BumpsLimitOrderNonce, phân bổLimitOrderState, đặt lệnh vào cohort FIFO tại tick.IncreaseLimitOrder/DecreaseLimitOrder— điều chỉnh phần chưa điền của lệnh. Hoàn nguyên trên một lệnh được điền đầy đủ vớiInvalidOrderPhase.SettleLimitOrder— quét đầu ra đã điền đến ATA của chủ sở hữu. Người gọi có thể là chủ sở hữu hoặc keeperlimit_order_admincủa pool.CloseLimitOrder— đóng một lệnh đã hoàn tất đầy đủ để lấy lại tiền thuê.
Các thay đổi hành vi SwapV2
Đường dẫn swap tự nó không thay đổi về hình dạng, nhưng ba điều xảy ra trên đường đi:
- Dynamic fee (khi bật):
DynamicFeeInfocủa pool được cập nhật mỗi bước (phân rã → tích lũy → cấp), và phí bổ sung được thêm vào phí cơ sở cho bước đó. - Limit-order matching (khi bước vượt qua tick được khởi tạo có các lệnh mở): một phần của input swap được sử dụng FIFO để điền cohort tại tick đó, với
unfilled_ratio_x64được cập nhật nguyên tử. - Single-sided fee routing (khi
fee_on != 0): phí được lấy từtoken_0hoặctoken_1bất kể hướng swap, thay vì luôn từ phía input.
Mã lỗi mới
EnumErrorCode đã được đánh số lại trong bản phát hành này: năm biến thể cũ (LOK, ZeroMintAmount, InvalidLiquidity, TransactionTooOld, InvalidRewardDesiredAmount) đã bị xóa và mười một biến thể mới được nối thêm. Vì Anchor đánh số lỗi theo thứ tự enum từ 6000, mỗi mã lỗi ở vị trí bị xóa hoặc sau đó đã dịch chuyển — các client đã mã hóa cứng các mã số cần ánh xạ lại.
Các mã mới là:
6040OrderAlreadyFilled6041InvalidOrderPhase6042InvalidLimitOrderAmount6043OrderPhaseSaturated6044InvalidDynamicFeeConfigParams6045InvalidFeeOn6046ZeroSqrtPrice6047ZeroLiquidity6048MissingBaseFlag6049MissingMintAccount6050MissingTokenProgram2022
Những gì đã thay đổi trong SDK (@raydium-io/raydium-sdk-v2)
- Phương thức mới trên
raydium.clmm:createCustomizablePool,openLimitOrder,increaseLimitOrder,decreaseLimitOrder,settleLimitOrder,settleAllLimitOrder,closeLimitOrder,closeAllLimitOrder. - Trợ giúp REST mới trên
raydium.api:getClmmDynamicConfigs,getClmmLimitOrderConfigs. - Các loại mới: enum
CollectFeeOn,DynamicFeeConfig,DynamicFeeInfo,LimitOrderState,LimitOrderConfig. - Tổ chức lại nội bộ:
utils/được chuyển sanglibraries/. Thùng chứa gói không thay đổi; chỉ các nhập khẩu sâu dưới@raydium-io/raydium-sdk-v2/utils/...cần cập nhật thành…/libraries/....
products/clmm/code-demos.
Những gì đã thay đổi trong các API
api-v3— hai điểm cuối mới dưới/main/:GET /main/clmm-dynamic-config— danh sách các cấp độDynamicFeeConfig.GET /main/clmm-limit-order-config— cấu hình limit-order trên mỗi pool.
temp-api-v1— ba điểm cuối mới dưới/limit-order/:GET /limit-order/order/list?wallet=…— các lệnh được đỗi hiện tại của ví (mở và được điền một phần, được phục vụ từ bộ nhớ đệm Redis của indexer; cùng một tải trọng bao gồm cả hai giai đoạn thông quatotalAmount/filledAmount/pendingSettle).GET /limit-order/history/order/list-by-user?wallet=…— các giới hạn lịch sử của ví -lệnh. Bộ lọc tùy chọn:poolId,mint1,mint2,hideCancel. Được phân trang con trỏ quanextPageId/size(tối đa 100).GET /limit-order/history/event/list-by-pda?pda=…— nhật ký sự kiện trên mỗi PDA (open/increase/decrease/settle/close) cho một hoặc nhiều PDA limit-order được phân tách bằng dấu phẩy. Được phân trang con trỏ quanextPageId/size(tối đa 100).
Bề mặt Authority
limit_order_admin là một keeper hoạt động ngoài chuỗi, không phải là multisig. Nó chỉ có thể gọi SettleLimitOrder và CloseLimitOrder trên các lệnh hiện có, và đầu ra của một settle luôn hạ cánh trong ATA của chủ sở hữu. Nó không thể thay đổi các trường pool, mở hoặc sửa đổi các lệnh, hoặc ký cho bất cứ điều gì khác. Xem Admin keys and multisig → CLMM.
Các trang được cập nhật
products/clmm/overview— phần “Có gì mới” mới và các con trỏ bước tiếp theo được cập nhật.products/clmm/accounts— ba tài khoản mới, định hình lạiPoolStatecó cảnh báo di chuyển, bổ sungTickState, các trợ giúp PDA mới.products/clmm/instructions— bảy hướng dẫn mới, phần bổ sung hành viSwapV2, ma trận thay đổi trạng thái được cập nhật.products/clmm/fees— phần single-sided fee, phần dynamic-fee với bảng tham số.products/clmm/math— mã giả limit-order matching, dẫn xuất dynamic-fee.products/clmm/code-demos— bản democreateCustomizablePool, hướng dẫn limit-order đầy đủ, những điểm yếu mới.algorithms/clmm-math— tham chiếu chéo để limit-order matching và dynamic fee trong vòng lặp swap đa tick.sdk-api/typescript-sdk— phần bổ sung mô-đun CLMM, ghi chú di chuyểnutils/→libraries/.api-reference/openapi/api-v3.yaml— hai điểm cuối mới có lược đồ phản hồi.api-reference/openapi/temp-api-v1.yaml— ba điểm cuối limit-order mới (/limit-order/order/list,/limit-order/history/order/list-by-user,/limit-order/history/event/list-by-pda) với các lược đồ yêu cầu và phản hồi của chúng.api-reference/api-v3/overview— ghi chú về các điểm cuối cấu hình CLMM mới.api-reference/temp-api-v1/overview— ghi chú về các điểm cuối lệnh hoạt động, lịch sử theo người dùng và sự kiện theo PDA mới.reference/error-codes— mười một mã lỗi CLMM mới (6040–6050) cộng với năm mã cũ bị loại bỏ; các mã số sau các điểm loại bỏ đã dịch chuyển.security/admin-and-multisig— hàng adminDynamicFeeConfigmới và hàng keeperlimit_order_admin, với trình giải thích quyền hạn bị giới hạn.
- Mã nguồn
raydium-clmm. - Mã nguồn
@raydium-io/raydium-sdk-v2. - Mã nguồn
api-v3vàtemp-api-v1.
2026-04-26 — Ấn bản đầu tiên
Phát hành công khai đầu tiên của bộ tài liệu Raydium. Được xác minh theo:- Các triển khai chương trình trực tiếp trên Solana mainnet-beta.
@raydium-io/raydium-sdk-v2@0.2.42-alpha.- Các tài liệu Raydium công khai và tham chiếu on-chain thông qua tháng 4 năm 2026.
Quy ước tài liệu
- Phiên bản: tài liệu này sử dụng phiên bản dựa trên lịch (YYYY-MM-DD). Mỗi bản cập nhật tạo một mục nhập mới ở đầu tệp.
- Ngày xác minh: mỗi mục nhập ghi lại khi nội dung được kiểm chứng chéo cuối cùng so với trạng thái on-chain / API và mã nguồn chương trình. Nếu không được ghi, hãy giả định ngày chính của mục nhập.
- Các thay đổi ngắt: được gọi ra trong một hộp cảnh báo trên các trang bị ảnh hưởng và được gắn thẻ trong mục nhập dưới đây.
- Phạm vi: nhật ký thay đổi này bao gồm bộ tài liệu chính nó. Đường thời gian lịch sử của chính giao thức nằm trong
introduction/history-and-milestonesvà là nguồn sự thật cho “khi nào X xảy ra trên Raydium”.
Sửa lỗi
Nếu bạn tìm thấy một lỗi trong tài liệu này, vui lòng mở một vấn đề hoặc yêu cầu pull trên kho tài liệu. Các sửa lỗi được ghi lại trong nhật ký thay đổi này.Con trỏ
introduction/history-and-milestones— đường thời gian của chính giao thức.security/audits— lịch sử kiểm toán.ray/protocol-fees— chia tách phí giao thức.reference/program-addresses— nguồn sự thật ID chương trình.


