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 →
Bu giriş, yaklaşan bir CLMM program güncellemesini kapsamaktadır. Dağıtımdan önce
raydium-clmm’nin chore/upgrade-anchor dalında (head a72f9e1) doğrulanmıştır. Yeni talimatı veya değişen CreateAmmConfig davranışını kullanmadan önce dağıtılan programı doğrulayın.0.32.1’den =1.0.2’ye geçiyor ve derleme araç zinciri Agave 2.3.0’dan 3.1.10’a geçiyor. İki yönetici tarafı değişikliği bununla birlikte geliyor: yeni bir CollectExcessLamports talimatı ve CreateAmmConfig’de sabit ücret sahipleri.
Bir tüccar, bir LP, bir limit-order kullanıcısı veya bir havuz oluşturucu tarafından çağrılan her talimat, hesap listesini, argümanlarını ve matematiksel işlemlerini korur.
Entegratörler için TL;DR
- Hiçbir kullanıcı tarafından kullanılan talimat değişmedi.
CreatePool,CreateCustomizablePool,CreatePermissionedPool, herOpenPosition*/IncreaseLiquidity*/DecreaseLiquidity*yolu,ClosePosition,Swap/SwapV2/SwapRouterBaseIn, beş limit-order talimatı ve ödül talimatları tel üzerinde bayt-özdeştir. Hiçbir hesap düzeni değişmedi. - Bir talimat ekleniyor:
CollectExcessLamports. Bu yalnızca yönetici tarafından kullanılabilir ve hiçbir argüman almaz. Çağrı başına bir havuzu tarar: havuzun kendiPoolState’i her zaman taranır ve havuz PDA’sıremaining_accounts’ta geçirdiğiniz kasalarını imzalar.remaining_accounts’taki diğer herhangi bir CLMM’ye ait hesap da taranır. Bkz.products/clmm/instructions. - Bir hata kodu ekleniyor:
6052LamportsCalculateError. Kodlar6000–6051değişmemiştir. CreateAmmConfigartık imzalayanıowner/fund_owner’a kopyalamıyor. Yeni konfigürasyonlar sabit kodlanmışprotocol_fee_ownervefund_fee_owneranahtarlarını alıyor. Mainnet’te bunlar zaten tüm 21 mevcut konfigürasyonda depolanan aynı iki anahtardır. MevcutAmmConfighesapları dokunulmamış kalıyor, bu nedenle alanları hesaptan okumaya devam edin.- IDL’nizi yenileyin. Bir talimat ve bir hata varyantı ekler; 39 talimat ve 53 hata için.
- Artık CPMM ve CLMM’yi bir crate’e koyabilirsiniz. Her iki depo da
chore/upgrade-anchordallarındaanchor-lang/anchor-spl=1.0.2’yi sabitlediğinden, tek bir program her ikisine de CPI yapabilir. Bkz.sdk-api/rust-cpi. - TypeScript istemci paketi yeniden adlandırılıyor. Test paketi
@coral-xyz/anchor0.32.1’den@anchor-lang/core1.0.2’ye geçiyor.
CollectExcessLamports
SIMD-0437’nin 1. adımı mainnet’te 3 Eylül 2026’da etkinleştirildi. Bir adımdan önce oluşturulan her CLMM hesabı artık aşırı finanse edilmiş ve yalnızca CLMM programı sahip olduğu bir hesaptan lamport’ları çıkarabiliyor. Bu havuz kasalarını, ödül kasalarını, PoolState, AmmConfig, ObservationState, TickArrayBitmapExtension ve geri kalanını kapsar.
Talimat dört sabit hesap alır, ardından remaining_accounts’ta herhangi bir sayıda kaynak hesap:
Havuz imzalayan otorite, program genelinde bir PDA değildir. CPMM bir global
vault_and_lp_mint_auth_seed otoritesiyle imzalar. CLMM token kasaları PoolState’e aittir, bu nedenle tek bir çağrı yalnızca slot 2’de geçirilen havuzu imzalayabilir. Her token-program kaynağının o havuzu otoritesi olarak olması gerekir: token_vault_0, token_vault_1 veya havuzun ödül kasalarından biri. Başka bir havuzdan bir token hesabı veya bir kullanıcının token hesabı, token programının sahip kontrolünü başarısız kılar ve tüm talimatı geri alır. Program bunu atlamaz. Position NFT mintleri de taranabilir değildir, çünkü mint otoritesi pozisyon açıldığında iptal edilir. Havuzu havuz tarafından tarayın.
Talimat iki geçiş yapar ve bu sıra sabittir:
- Token-program CPI’ları önce. SPL Token veya Token-2022’ye ait her kaynak için, yerel olmayan bir hesap
WithdrawExcessLamports(discriminant38) alır. Yerel bir wSOL kasasıSyncNative→UnwrapLamports(discriminant45) tur-dönüşünü alır; bu, sarılı bakiyenin eşitleme öncesi değerine eşit olduğunu kontrol etmekle sona erer. Eşit değilse, çağrıLamportsCalculateErrorile başarısız olur. SOL tarafı kasası tam likiditeyi korur ve tarama genelinde hiçbir swap teklifi değişmez. - Doğrudan borçlandırmalar ikinci. Geçiş 2,
pool_state’i ilk olarak borçlandırır, ardından CLMM programına ait her kaynağırent.minimum_balance(data_len)’e kadar borçlandırır.
UnbalancedInstruction ile iptal eder, bu nedenle arayanlar kaynakları herhangi bir sırada geçirebilir.
Cüzdan adresleri reference/program-addresses içinde listelenmiştir.
CreateAmmConfig sabit ücret sahiplerini yazıyor
Bu sürümden önce, create_amm_config her iki ücret-sahip alanını çağıran imzalayandan ayarladı:
CreateAmmConfig hala crate::admin::ID’ye kilitlidir. Bu sürümden önce, her yeni ücret katmanı yöneticiye her iki alanda başladı ve UpdateAmmConfig param 3 / 4 ile döndürülmesi gerekiyordu. Artık operasyonel cüzdanlarla başlıyor. Mainnet’te sabitler zaten tüm 21 mevcut konfigürasyonda owner / fund_owner olarak depolanan aynı anahtarlardır. Program artık operasyonların elle ayarlamak için kullandığı bir değeri yazıyor.
Koleksiyon imzalayanları değişmez. CollectProtocolFee, amm_config.owner veya crate::admin::ID’yi kabul eder ve CollectFundFee, amm_config.fund_owner veya crate::admin::ID’yi kabul eder; bu sürümden önce ve sonra.
Devnet’te her iki sabit aynı anahtara çözülür. Bkz. reference/program-addresses.
Araç zinciri ve bağımlılık değişiklikleri
Anchor 1.0 değişiklikleri CPI çağrı sitelerinde, CPMM entegratörlerinin zaten işlediği değişikliklerle aynıdır.
CpiContext::new programın AccountInfo’su yerine Pubkey’ini alır ve Context’in dört yaşam parametresi yerine bir tane vardır. İstemci crate’inde, RequestBuilder::instructions() artık Result olmadan Vec<Instruction> döndürür ve system_program solana-system-interface’e taşındı. Bkz. sdk-api/rust-cpi.
Zincir üzerinde hiçbir etkisi olmayan derleme sistemi ayrıntıları:
- Localnet yöneticisi.
localnetözelliği artık taahhüt edilen bir fixture tarafından desteklenen sabit bir test anahtarını derlemez. Bunun yerine,yarn test:local-admin’in yerel cüzdanınızdan ayarladığıCLMM_LOCALNET_ADMINortam değişkeninden derleme zamanında yöneticiyi okur. Fixture’ın.gitignoreistisnası gitti. - Sürüm profili.
programs/amm/Cargo.toml’deki yinelenen[profile.release]bloğu silindi. Cargo, çalışma alanı kökü dışında[profile]’ı yok sayar, bu nedenle kök bloğu zaten etkili olan bloktu ve program düzeyindekipanic = "abort"hiçbir zaman uygulanmadı. - Anchor.toml.
seeds = false,resolution = trueartıskip-lint = falseolur ve eski[registry]URL’si kaldırılır. - Lints.
programs/amm/Cargo.toml, Anchor ve Solana makroları tarafından yayılan özellik cfg’leri için bir[lints.rust] unexpected_cfgsizin listesi ekler. - README. Bu dalda README hala size
rustup default 1.86.0veavm install 0.32.1’icoral-xyz/anchor’dan çalıştırmanızı söyler. Bunun yerineAnchor.tomlvesolana-fundamentals/toolchainizleyin.
Değişmeyen şeyler
- Her hesap düzeni.
PoolState,AmmConfig,TickArrayState,TickArrayBitmapExtension,PersonalPositionState,ObservationState,LimitOrderState,DynamicFeeConfig,PermissionveSupportMintAssociatedaynı boyutları ve ofsetleri korur. - Hata kodları
6000–6051. - Swap, likidite, ücret, dinamik ücret ve limit-order matematiği.
CollectExcessLamports, hiçbir havuzun rezervlerinin parçası olmayan lamport’ları hareket ettirir. - Position NFT dondurma 2026-08-17 tarihinden, havuz-olarak-dondurma-otoritesi kuralı ve
ClosePositionçözme yolu dahil. spl_memo.DecreaseLiquidityV2’nin memo-program kısıtlamasıspl_memo::id()’denanchor_spl::memo::ID’ye taşındı. Her ikisi de aynı adresi adlandırır;anchor-splsadece dışa aktarımı yeniden adlandırdı.- Program ID’si.
Güncellenen sayfalar
products/clmm/instructions: yükseltme başlığı;CollectExcessLamportsbölümü hesap listesi, iki geçiş gönderme tablosu ve havuz başına kapsamı ile; envanter, yönetici-kapılı ve durum-değişim-matris satırları;CollectProtocolFee/CollectFundFeeüzerinde ücret-sahip notu.products/clmm/accounts:AmmConfigsahip yorumları veCreateAmmConfig’in ne yazacağı hakkında bir not.products/clmm/code-demos: sürüm başlığı ve Rust CPI iskeletinin Anchor 1.0’a taşınması.products/cpmm/code-demos: “CLMM ile bir crate paylaşamaz” notu kaldırıldı.reference/error-codes:6052belgelendi.reference/program-addresses: yeni “CLMM ücret-sahip cüzdanları” bölümü; CLMM “Excess-lamports koleksiyonu cüzdanları“‘na eklendi.sdk-api/rust-cpi,sdk-api/anchor-idl,solana-fundamentals/toolchain:raydium-clmmiçin Anchor 1.0 sabitlemeleri ve crate-split uyarısı emekli oldu.solana-fundamentals/rent-and-reclaimable-rent: CLMM “Raydium programlarının kendi tarafında taradığı şeyler“‘e eklendi.security/admin-and-multisig: CLMM excess-lamports toplayıcı rolü.protocol-overview/versions-and-migration: CLMM yükseltme geçmişi madde işareti.

