Skip to main content
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Sejak pembaruan 2026-07, ketergantungan OpenBook / Serum pada AMM v4 telah dihapus — tidak ada instruksi yang membaca atau menulis status OpenBook lagi. Akun pasar di bawah ini dipertahankan hanya sebagai placeholder posisional pada tata letak instruksi v1 warisan (diterima tetapi diabaikan) dan sebagai bidang referensi pada AmmInfo. Gunakan titik masuk swap V2, yang menghilangkannya sepenuhnya. Halaman ini masih mengelompokkan akun ke dalam bagian “pool-owned” dan “OpenBook (legacy)” untuk membaca transaksi yang lebih lama.

Inventaris

Pool AMM v4 mencatat satu pasar terikat pada AmmInfo saat pembuatan. Gambaran lengkapnya: Catatan: “serum” dipertahankan sebagai awalan dalam IDL dan nama bidang AMM v4 untuk kompatibilitas mundur. Akun-akun ini tidak lagi berfungsi setelah penghapusan OpenBook.

AmmInfo

Akun status root pool. Besar (≈ 752 byte) karena membawa referensi pool dan OpenBook secara inline.
Tata letak struct tidak berubah (kompatibel byte) sehingga deserializer yang ada terus bekerja, tetapi setelah penghapusan OpenBook, bidang yang ditandai DEPRECATED di atas tidak lagi ditulis — penghitung volume swap_* dibekukan pada nilai terakhirnya. Untuk analitik volume, gunakan log perdagangan daripada bidang-bidang ini. Hanya need_take_pnl_* dan pool_open_time yang secara aktif dipertahankan.
Bidang yang menghadap integrator:
  • coin_vault, pc_vault — vault SPL Token pool. coin adalah token_0 menurut konvensi Serum/OpenBook (base), pc adalah token_1 (quote).
  • coin_decimals, pc_decimals — sesuai dengan mint.
  • open_orders, target_orders, market — bidang referensi warisan. Masih ada di AmmInfo dan masih dilewatkan secara posisional pada tata letak instruksi v1, tetapi program tidak lagi membaca atau memvalidasinya. Titik masuk swap V2 menghilangkannya.
  • fees.swap_fee_numerator / swap_fee_denominator — biaya perdagangan gabungan. Default 25 / 10_000 = 0.25%.
  • status — bitmask yang membatasi operasi. Dapat diatur admin melalui AdminSetStatus.
  • state_data.need_take_pnl_* — delta antara biaya yang terkumpul kotor dan apa yang telah disapu. TakePnl mengosongkan ini.

Pengkabelan OpenBook

Dihapus. Ketergantungan OpenBook / Serum telah dihapus dari program (pembaruan 2026-07). Akun yang dijelaskan di bagian ini tidak lagi divalidasi atau digunakan. Mereka tetap sebagai bidang referensi pada AmmInfo dan sebagai placeholder posisional pada tata letak instruksi v1 warisan. Gunakan titik masuk swap V2 (SwapBaseInV2 / SwapBaseOutV2) yang melewatkan akun-akun ini sepenuhnya.
Ketika Anda memanggil instruksi v1 SwapBaseIn / SwapBaseOut, Deposit, atau Withdraw warisan, jumlah akun harus tetap cocok dengan tata letak lama (akun pasar menempati posisi historisnya), tetapi isinya tidak lagi diperiksa — tidak ada CPI yang dikeluarkan terhadapnya. Kode baru harus menggunakan varian swap V2, yang tidak mengambil akun-akun ini sama sekali.
amm_open_orders AMM adalah akun milik OpenBook yang menyimpan status limit-order pool di pasar ini: pesanan aktif, saldo yang diselesaikan, referrer, dll. amm_target_orders adalah sisi AMM: ia menyimpan grid yang dimaksudkan AMM (harga/ukuran untuk setiap slot pesanan) sehingga program dapat dengan murah membandingkan dengan apa yang saat ini diposting dan menempatkan / membatalkan perbedaannya.

PDA Authority

Ada tepat satu PDA amm_authority untuk seluruh program AMM v4. Seed-nya trivial (["amm authority"]) dan bump-nya disimpan di setiap AmmInfo. Authority ini menandatangani semua pergerakan token untuk semua pool AMM v4.
Ada authority scoped-pool terpisah yang diturunkan per pool untuk menandatangani operasi OpenBook (amm_authority di atas sebenarnya mencakup keduanya dalam desain program ini; versi berbeda menggunakan derivasi berbeda, jadi periksa AmmInfo.nonce pool spesifik dalam kode).

Vault

Vault SPL Token pool adalah akun token standar yang owner-nya adalah amm_authority. Bukan ATA — alamatnya adalah PDA spesifik yang diturunkan pada Initialize dengan seed ["amm_associated_seed", coin_mint_or_pc_mint, market, amm_id]. Alamat disimpan di AmmInfo; derivasi adalah keingintahuan satu kali. Token-2022 tidak didukung. Program hardcode ID program SPL Token untuk semua pergerakan vault. Mencoba mengikat pool AMM v4 ke mint Token-2022 gagal pada Initialize.

LP mint

Mint SPL Token klasik yang authority-nya adalah amm_authority. Total supply melacak kepemilikan LP dari pool; membakar LP mengembalikan token dari kedua vault secara pro-rata. Karena AMM v4 mendahului CPMM, tidak ada mirror lp_supply dalam status pool — baca supply mint on-chain secara langsung.

Bitmask status

AmmInfo.status membatasi operasi. Bit (posisi mungkin berbeda di seluruh versi program — konfirmasi melalui sumber): Multisig Raydium menetapkan ini melalui SetParams (dengan param = Status). (AdminCancelOrders telah dihapus.)

Observasi / oracle

AMM v4 tidak memiliki akun observasi khusus. Protokol lain yang membutuhkan TWAP on-chain biasanya mengonsumsi penyeberangan buku OpenBook secara tidak langsung atau membaca off-chain. Jika Anda membutuhkan TWAP Raydium dengan dukungan program, gunakan CPMM atau CLMM. Karena AMM v4 tidak dirancang untuk PDA per-pasangan deterministik (mendahului konvensi Solana itu), amm_id kanonik adalah keypair berseeded yang diturunkan dengan:
Pola kunci berseeded yang sama berlaku untuk amm_open_orders, amm_target_orders, amm_withdraw_queue, pool_temp_lp, pool_coin_token_account, pool_pc_token_account, dan lp_mint. SDK dan API pra-menghitung ini untuk Anda; lihat raydium-sdk-v2’s Liquidity.getAssociatedPoolKeys. Dalam praktiknya, integrator membaca set akun lengkap pool dari GET https://api-v3.raydium.io/pools/info/ids?ids=<POOL_ID> atau dari SDK. Derivasi manual jarang diperlukan.

Referensi cepat siklus hidup

Pool dan akun mereka bertahan selamanya. Bahkan jika likuiditas sepenuhnya ditarik, AmmInfo tetap ada.

Apa yang dibaca di mana

Sumber: