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.
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Router tidak melakukan matematika apa pun
Program routing tidak menerapkan logika penentuan harga apa pun. Ini adalah orkestratur murni: menerima rute, meneruskan akun ke program anak, dan menghubungkan aliran token. Setiap hop menentukan harga berdasarkan kurva pool-nya sendiri:- Hop AMM v4: menggunakan formula constant-product (
x · y = k) dengan penentuan harga hibrida OpenBook. Lihatproducts/amm-v4/math. - Hop CPMM: menggunakan formula constant-product dengan tingkat biaya yang dapat dikonfigurasi. Lihat
products/cpmm/math. - Hop CLMM: menggunakan matematika tick likuiditas terkonsentrasi. Lihat
algorithms/clmm-math. - Hop Stable: menggunakan kurva stable-swap untuk aset sejenis. Lihat
products/stable/math.
- Memanggil instruksi swap setiap pool melalui CPI.
- Mengumpulkan jumlah output.
- Meneruskannya sebagai jumlah input ke hop berikutnya.
- Memeriksa output akhir terhadap batas slippage pengguna.
Slippage gabungan
Pada rute multi-hop, slippage pada setiap hop bersifat gabungan. Slippage kecil pada hop 1 menjadi slippage yang lebih besar pada hop 2 karena volume yang masuk ke hop 2 sudah berkurang. Contoh:minimum_amount_out, router memeriksa output akhir Anda terhadap batas global ini. Setiap hop juga memeriksa swap-nya terhadap struktur biaya lokal-nya sendiri, tetapi router tidak melakukan re-quote di tengah rute—Anda harus pre-compute rute dan menyediakan toleransi slippage yang cukup.
Hop CLMM dan limit_prices
Untuk setiap hop ke dalam pool CLMM, router memeriksa bahwasqrt_price_x64 pool saat ini berada dalam batas yang ditentukan. Batas diteruskan sebagai VecDeque<u128> bernama limit_prices:
- Satu
sqrt_price_x64per hop CLMM dalam rute. sqrt_price_x64adalah representasi harga berbasis tick yang digunakan oleh CLMM. Lihatalgorithms/clmm-mathuntuk definisinya.- Router menerapkan:
Varian instruksi dan limit_prices
-
SwapBaseInWithUserAccount,SwapBaseOutWithUserAccount(Legacy, tag 0 dan 1): VecDequelimit_pricesadalah wajib. Deque kosong ditolak dengan kesalahan jika ada hop adalah pool CLMM. Anda harus menyediakan satu harga per hop CLMM, secara berurutan. -
SwapBaseIn,SwapBaseOut(Current, tag 8 dan 9): VecDequelimit_pricesadalah opsional. Deque kosong diabaikan tanpa suara; tidak ada pemeriksaan harga yang dilakukan. Kode baru harus menggunakan ini.
Membangun limit_prices
Untuk rute dengan M hop CLMM, deque harus berisi tepat M entri. Urutkan berdasarkan hop:Kapan memeriksa limit_prices
sqrt_price_x64 adalah snapshot dari harga pool saat ini. Ini berubah secara terus-menerus saat swap dieksekusi. Anda harus:
- Mengambil state pool saat ini dari on-chain.
- Menghitung batas yang dapat diterima (mis., ±0,5% dari harga saat ini).
- Mengodekan batas tersebut ke dalam
limit_prices. - Sertakan batas dalam instruksi router Anda.
Penanganan biaya
Setiap pool mengenakan biaya sesuai dengan konfigurasinya:- AMM v4: 0,25% (tetap) dibagi antara LP, protokol, dan dana.
- CPMM: dapat dikonfigurasi per
AmmConfig(default 0,25%, pembagian bervariasi menurut tingkat). - CLMM: dapat dikonfigurasi per pool, diambil dari jumlah input.
- Stable: seperti AMM v4, 0,25% dibagi.
products/amm-v4/feesproducts/cpmm/feesproducts/clmm/fees(jika tersedia)products/stable/fees(jika tersedia)
Contoh akuntansi multi-hop
Misalkan Anda merutekan USDC → SOL → STEP di seluruh dua pool constant-product, masing-masing dengan biaya 0,25%:Pertimbangan presisi
Seperti semua program Solana, router menggunakan aritmetika bilangan bulat:- Semua jumlah adalah
u64(lamports atau unit terkecil token). - Kalkulasi kurva menggunakan perantara
u128jika diperlukan untuk menghindari overflow. - Konvensi pembulatan tergantung pada program anak. Router tidak melakukan re-round.
Kemana selanjutnya
products/amm-v4/math— matematika constant-product.products/cpmm/math— CPMM constant-product dengan Token-2022.algorithms/clmm-math— penentuan harga likuiditas terkonsentrasi.products/stable/math— kurva stable-swap.products/routing/code-demos— contoh pengutipan sebelum routing.


