Bu sayfa yapay zekâ tarafından otomatik olarak çevrilmiştir. İngilizce sürüm esas alınır.İngilizce sürümü görüntüle →
2026-10-22 tarihinde geçersiz kılındı.
CreatePermissionedPool adı CreateCustomizablePoolV2 olarak değiştirildi ve izinsiz hale getirildi; CreatePermissionPda / ClosePermissionPda ile Permission hesabı kaldırıldı. Bu giriş, programı 2026-07-30 itibariyle açıklamaktadır. 2026-10-22 girişine bakınız.CreatePool / CreateCustomizablePool yolları değişmemiştir.
Entegratörler için özet
- Havuz kimlikleri artık izin kapısının arkasında kanonik olmayan olabilir. Tarihsel olarak
(amm_config, token_mint_0, token_mint_1)başına tam olarak bir CLMM havuz adresi vardı — PDA tohumları bunu sabitledi. Yeni bir talimat olanCreatePermissionedPool, istemci tarafından sağlanan sıfır olmayanseed_index: u16değerini havuz PDA tohumlarına katarak, beyaz listeye alınmış bir operatörün aynı çift ve ücret katmanı için birden fazla havuz kurmasını sağlar; her biri kendi adresinde. Keyfi havuz adresleri ayrıcalıklı bir yetenek olduğundan, ödeyici yönetici tarafından verilen birPermissionPDA’sı tutmalıdır. İki yönetici talimatı olanCreatePermissionPdaveClosePermissionPdabu izinleri yönetir. OpenLimitOrderartık çıkış tarafını doğrular. Talimat üç ek hesap alır —output_token_account,output_vault,output_vault_mint— ve sahibinin giriş veya çıkış token hesabı dondurulmuşsa emriNotApprovedile reddeder. Bu, sonraki doldurmanın teslim edilebileceğini garanti eder; bu, izin listesi / varsayılan dondurulmuş Token-2022 mintleri (izinli tokenler) için önemlidir. Eski tek taraflı hesap listesine karşı oluşturulan istemciler üç çıkış hesabını eklemelidir.
Programda ne değişti
Yeni talimat: CreatePermissionedPool
CreateCustomizablePool ile aynı şekil ve parametreler (aynı CreateCustomizableParams alır, bu nedenle tek taraflı ücret ve dinamik ücret seçeneği mevcuttur), artı:
- Bir
seed_index: u16argümanı, sıfır olmayan olmalıdır. Havuz PDA tohumlarına (little-endian) eklenir:["pool", amm_config, token_mint_0, token_mint_1, seed_index.to_le_bytes()]. - Bir
permissionhesabı: PDA["permission", payer]. Anchor, mevcut değilse veya program tarafından sahip olunan değilse çağrıyı reddeder — basit varlığı yetkilendirmedir. - Havuz durumunda
pool_state.ownerolarak kaydedilen birpool_creatorhesabı; ücret ödeyenpayeröğesinden farklı olabilir.
seed_index = 0 eski havuzlar için ayrılmış kalır: bunlar için tohum bileşeni boşa çöker ve klasik dört tohum adresini yeniden üretir, bu nedenle mevcut havuz adresi değişmez.
Bkz. Talimatlar → CreatePermissionedPool.
Yeni hesap: Permission
Varlığı izin olan bir yetenek hesabı. Yalnızca oluşturulduğu authority öğesini depolar (artı dolgu). PDA tohumları: ["permission", authority]. CreatePermissionedPool çağırma hakkını verir ve başka hiçbir şey değil — fonları taşıyamaz, ücretleri değiştiremez veya herhangi bir havuzu değiştiremez. Bkz. Hesaplar → Permission.
Yeni yönetici talimatları: CreatePermissionPda / ClosePermissionPda
CreatePermissionPda, belirli birpermission_authorityiçin birPermissionPDA’sı başlatır.ClosePermissionPdabunu kapatır ve kirayı çağırana geri öder; izni iptal eder. Bu izin altında zaten oluşturulan havuzlar etkilenmez.
admin genel anahtarını veya özel bir permission_pda_admin anahtarını (mainnet ve devnet’te farklı bir sabit) kabul eder. Bkz. Yönetici anahtarları ve multisig → CLMM.
PoolState: seed_index alanı
İki bayt, fee_on öğesinden hemen sonra mevcut bir dolgu bölgesinden çıkarıldı (padding: [u8; 6] → seed_index: [u8; 2] + padding: [u8; 4]). Toplam hesap boyutu değişmemiş ve indexer geçişi gerekli değildir. CreatePool / CreateCustomizablePool aracılığıyla oluşturulan havuzlar için seed_index [0, 0] olur; izinli havuzlar için oluşturucunun seçilen dizinini taşır ve çevrimdışı havuz adresini yeniden türetmek için gereklidir.
OpenLimitOrder: çıkış tarafı hesapları ve dondurulmuş hesap koruması
OpenLimitOrder hesap listesi output_token_account, output_vault ve output_vault_mint öğelerini kazanır. Bunlar yalnızca doğrulama için kullanılır — açık olduğunda çıkış borçlandırılmaz. İşleyici artık ne giriş ne de çıkış token hesabının dondurulmamasını gerektirir; aksi takdirde NotApproved döndürür (havuzun swap veya limit-order devre dışı bırakıldığı durumlarda zaten döndürülen aynı kod). Bu, doldurmanın hiçbir zaman alınamayacağı bir token hesabına karşı bir emrin açılabileceği boşluğu kapatır (örn. varsayılan dondurulmuş Token-2022 mintinin henüz çözülmemiş hesabı).
Bkz. Talimatlar → OpenLimitOrder.
Hata kodları
Yeni hata kodu yok. Mevcut6000 NotApproved artık ek olarak dondurulmuş giriş/çıkış token hesabını ve OpenLimitOrder üzerinde swap/limit-order devre dışı durumlarını, izin talimatlarında “imzalayan ne admin ne de permission_pda_admin” durumunu kapsar. Hata kodu tablosu ve numaralandırması 2026-05-18 sürümünden başka değişmemiştir. Bkz. Hata kodları → CLMM.
Geçiş notları
- Havuz adreslerini okuma:
(config, mint0, mint1)başına bir havuz olduğunu varsaymayın. Bir çift artık kanonik havuz artıseed_indextüretilmiş adreslerinde bir veya daha fazla izinli havuz olabilir. Tek bir PDA türetmek yerine API / indexer’dan havuzları numaralandırın ve izinli bir havuzu yeniden türetmeniz gerektiğindeseed_indexöğesini saklayın. - Limit emirleri yerleştirme:
OpenLimitOrderişleminize üç çıkış tarafı hesabını ekleyin ve dondurulmuş bir hesap içinNotApproveddöndürüldüğünde açık bir ileti gösterin. - Hesap boyutu veya düzen kırılması yok:
PoolStateaynı boyuttadır; emekli dolgu baytları artıkseed_indextutar.
Güncellenen sayfalar
products/clmm/overview— izinli çok havuzlar ve limit-order koruması hakkında “Yenilikler” notu.products/clmm/instructions— yeniCreatePermissionedPoolbölümü, talimat tablosunda ve yönetici kapısı notundaCreatePermissionPda/ClosePermissionPda, ve güncellenenOpenLimitOrderhesap listesi / ön koşullar / hatalar.products/clmm/accounts— envanterindePermissionve kendi bölümü,PoolState.seed_indexalanı, PDA türetme yardımcıları (derivePermissionedPool,derivePermission), ve yaşam döngüsü hızlı referansı.security/admin-and-multisig— CLMM rolleri tablosunda yenipermission_pda_adminsatırı ve izin kapsamı açıklayıcısı.reference/error-codes— genişletilmişNotApprovedaçıklaması.
raydium-clmmkaynağı (create_permissioned_pool.rs,admin/create_permission_pda.rs,admin/close_permission_pda.rs,states/permission.rs,states/pool.rs,limit_order/open_limit_order.rs,lib.rs).

