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 →
Bố cục tài khoản: user ATAs xuyên suốt
Mỗi biến thể swap được kích hoạt sẽ định tuyến các token trung gian thông qua ATAs được kiểm soát bởi người dùng. Người dùng sở hữu input ATA, mọi ATA trung gian và output ATA cuối cùng. Không có tài khoản token trung gian dùng chung / sở hữu bởi router trong bề mặt hoạt động. Các đặc tính:- Người dùng sở hữu một ATA cho mỗi token trung gian.
- Người dùng cung cấp mọi ATA trong danh sách tài khoản.
- Mỗi ATA trung gian phải đã tồn tại (khởi tạo nó bằng
CreateSyncNativecho wSOL, hoặc qua chương trình SPL Associated Token Account cho bất kỳ mint nào khác, trước khi định tuyến). - Router chuyển từ một ATA này sang vault của pool tiếp theo ở mỗi bước.
- Mỗi ATA trung gian kết thúc mỗi tuyến đường với cùng số dư nó bắt đầu — tuyến đường tiêu thụ bất kỳ thứ gì bước trước đó tạo ra.
USDC → SOL → STEP:
Bố cục tài khoản cho mỗi bước
Các tài khoản của mỗi bước được truyền liên tiếp. Router xác định chương trình con bằng cách đọc tài khoản đầu tiên trong khối của mỗi bước (program ID), sau đó gửi tới handler chính xác. Với mỗi bước, router dự kiến các tài khoản được nhóm như sau:AMM v4 hop
Khoảng 18 tài khoản: pool, authority, vaults, mints, OpenBook market accounts (giữ trong danh sách tài khoản vì lý do tương thích ngược dù AMM v4’s OpenBook integration không còn hoạt động), token programs. Xemproducts/amm-v4/accounts để biết danh sách đầy đủ.
CPMM hop
Khoảng 11–13 tài khoản: pool state, authority, vaults (2), mints (2), token programs, system program, associated token program. Xemproducts/cpmm/accounts.
CLMM hop
Khoảng 15+ tài khoản: pool, tick arrays, vaults, mints, observation state, signer, token programs. Xemproducts/clmm/accounts.
Stable hop
Tương tự AMM v4. Xemproducts/stable/accounts.
Luồng token và quyền sở hữu ATA
- Người gọi ký với
user_input_ata. - Người gọi phải sở hữu tất cả input, intermediate và output ATAs. Router sẽ từ chối giao dịch nếu bất kỳ ATA trung gian nào không được sở hữu bởi người ký.
- Số dư
user_input_atacủa người gọi phải đủ cho input của bước đầu tiên (amount_incho tag 0 / 8, hoặcmaximum_amount_incho tag 1 / 9). - Mỗi ATA trung gian phải đã tồn tại trên chuỗi. Nếu không, hãy tạo nó trước — thường qua chương trình SPL Associated Token Account, hoặc với
CreateSyncNative(tag 5) cho một wSOL ATA.
Instruction CreateSyncNative
Nếu bạn cần định tuyến thông qua wrapped SOL và không muốn tạo và đồng bộ hóa ATA wSOL thủ công, hãy sử dụngCreateSyncNative (tag 5):
amount của SOL vào nó qua System Program và đồng bộ hóa nó trong một instruction. Hữu ích để khởi tạo một wSOL ATA mới trước khi định tuyến.
Instruction CloseTokenAccount
Sau khi tuyến đường hoàn thành, bạn có thể muốn đóng bất kỳ ATA trung gian nào — thường là một wSOL ATA — để lấy lại tiền thuê. Sử dụngCloseTokenAccount (tag 6):
Bước tiếp theo
products/routing/instructions— hình dạng argument và thứ tự danh sách tài khoản cho mỗi instruction.products/routing/code-demos— xây dựng tuyến đường trong TypeScript.reference/program-addresses— program IDs của các chương trình con.


