Skip to main content
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 LaunchLab program güncellemesini kapsar. Dağıtımdan önce yerel release dalına karşı doğrulanmıştır. Üretimde yeni yolları etkinleştirmeden önce dağıtılan programı ve yayınlanan IDL’yi doğrulayın.
Bu sürüm, bir başlatmayı Token-2022 mint’i ile alıntılanmasını sağlar. Şimdiye kadar quote tarafı eski SPL Token programına sabitlenmişti, bu nedenle yalnızca base mint Token-2022 olabilirdi. Quote mint’ine dokunulan her yer — GlobalConfig oluşturma, pool başlatma, dört swap talimatı, tüm ücret talepleri ve CPMM geçişi — artık her iki token programını kabul eder ve swap talimatları quote mint’inin transfer ücretini hesaba katar.

Entegratörler için TL;DR

  • Quote mint’leri Token-2022 olabilir. CreateConfig, Token-2022 quote_token_mint kabul eder ve InitializeV2 / InitializeWithToken2022, quote-program yuvasında her iki token programını kabul eder. Hesap sırası değişmez — o yuvaya geçirdiğiniz değer değişir.
  • Kullanımdan kaldırılan Initialize hala eski sürüm yalnızca. Quote-program hesabı hala SPL Token’a yazılıdır, bu nedenle quote mint’i Token-2022 olan bir config yalnızca InitializeV2 veya InitializeWithToken2022 aracılığıyla başlatılabilir.
  • Slippage sınırları ödeyicinin gerçekten ödediği ve aldığı tutara taşınır. minimum_amount_out ve maximum_amount_in artık vault’un hareket ettirdiği tutara değil, quote mint’inin transfer ücretinin net tutarına karşı karşılaştırılır. Ücretli bir quote mint’inde mevcut alıntılama mantığı maliyeti az alıntılar ve gelirleri fazla alıntılar.
  • PoolState.token_program_flag bit1 anlamlı hale gelir. Quote mint’leri eski sürüm yalnızca olduğu sürece her zaman 0 idi. Tüm baytı 0 ile karşılaştıran istemciler, quote mint Token-2022 olduğunda eski sürüm base mint’ini Token-2022 olarak okuyacaktır. Bu, bu sürümdeki en olası sessiz kırılmadır.
  • MigrateToCpswap iki token-program hesabını yeniden adlandırır. base_token_program / quote_token_program, token_program / token_program_2022 olur. Her ikisi de her zaman gereklidir ve program mint başına doğru olanı seçer.
  • Mint/program çiftleri artık doğrulanır. Her iki swap mint’i mint::token_program kısıtlaması kazandı, ClaimPlatformFee’nin quote mint’i de öyle, bu nedenle uyumsuz bir çift yok sayılmak yerine geri döner.
  • Yeni hata 6023 CalculateOverflow. Kodlar 60006022 değişmez. 6023 önceki sürüm tarafından boşaltıldı ve şimdi yeniden kullanılır.
  • Ücret vault’ları quote mint’ini takip eder. Yaratıcı ve platform ücret vault’ları ve share-fee alıcısının token hesabı, quote mint’ine sahip olan program üzerinde yaşar.

Hangi hesaplar tür değiştirdi

Bunların hiçbiri hesap listesindeki konumunu değiştirmez. Yalnızca izin verilen değer değişir. Initialize (kullanımdan kaldırılan V1 yolu) kasıtlı olarak bu tabloda değildir. Quote-program hesabı SPL Token’a yazılı kalır. Bunların birçoğu ayrıca mint kısıtlamalarını sıkılaştırdı, bu nedenle uyumsuz bir mint/program çifti artık daha önce kabul edilen veya kontrol edilmeyen yerde geri döner:
  • Dört swap talimatı hem base_token_mint hem de quote_token_mint’i eşleşen yuvaya geçirilen programa kısıtlar. Hiçbiri daha önce bu kısıtlamayı taşımadı, bu nedenle yanlış bir base program sessizce kabul edildi.
  • ClaimPlatformFee quote_mint üzerinde aynı kısıtlamayı ekler.
  • ClaimPlatformFeeFromVault kısıtlamasını bir token-hesap formundan mint hesabı olan şeyde mint formuna düzeltir.

Quote tarafı transfer-ücret muhasebesi

Bu, hesap listeleri yerine sayıları değiştiren kısımdır. TransferFeeConfig olmayan bir quote mint’inde aşağıdaki her formül önceki davranışa çöker, bu nedenle eski pool’lar ve ücret içermeyen Token-2022 pool’ları bit-for-bit değişmez. Açıkça belirtmeye değer iki sonuç:
  • Eşdeğer bir ücret içermeyen pool’dan hesaplanan bir sınır artık kabul edilebilir değildir. BuyExactOut ücret içermeyen maliyet olarak maximum_amount_in ile artık ExceededSlippage ile geri döner ve SellExactIn ücret içermeyen gelir olarak minimum_amount_out ile de öyle. Bu amaçlanan davranıştır — eski karşılaştırma ödeyicinin zaten kabul ettiği bir sınırın üstüne transfer ücreti ile borçlandırılmasına izin verdi.
  • Pool kitapları yalnızca vault’a ulaşanı kaydeder. Ücretli bir quote mint’inde BuyExactIn amount_in sonra, real_quote amount_in değil amount_in × 0.95 ile ilerler.
get_transfer_inverse_fee ayrıca %100 ücretli bir mint için özel durumunu düşürdü: maximum_fee’ye geri dönmek yerine, ters ücret hesaplanamadığında yeni CalculateOverflow hatasını döndürür. 10000 basis puan’da bir quote mint bu nedenle sessizce ücret sınırında işlem yapmak yerine tam çıkış yollarında başarısız olur.

token_program_flag bit1

PoolState.token_program_flag bir bitfield’dir ve her zaman olmuştur:
Alan, bit konumları ve her iki biti yazan kod bu sürümden önce gelir. Değişen şey, bir quote mint artık Token-2022 mint olabildiğinden bit1 artık gerçekten 1 olabilir. Dört değer: Her mint’inin programını (token_program_flag >> bit) & 1 ile okuyun. Base mint için baytı boolean olarak ele alan herhangi bir istemci — flag === 0 ? Token : Token-2022 — değer 2’yi Token-2022 base mint’ine çözer ve base tarafı token hesabını ve transferini yanlış programa karşı oluşturacaktır. Hesap boyutu veya alan ofset değişikliği olmadığından, indexer’lar depolama geçişine ihtiyaç duymaz, yalnızca bir decode düzeltmesine.

CPMM geçişi hesap yeniden adlandırması

MigrateToCpswap daha önce mint başına bir token program aldı ve çağıran hangisinin hangisi olduğuna karar verdi. Şimdi her iki programı koşulsuz olarak alır ve eşlemeyi mint’lerden kendileri türetir: İki konum değişmez, bu nedenle bu bir değer değişikliğidir, bir layout değişikliği değil — ancak değerler neredeyse ters çevrilmiştir ve eski çiftini geçirmeye devam eden bir oluşturucu, her iki mint de Token-2022 mint olur olmaz eski program gerekli olduğu yerde Token-2022 geçirecektir. Eski program, her iki mint ne olursa olsun koşulsuz olarak gereklidir, çünkü CPMM LP mint’i ve kilitli likidite Fee Key NFT’si her zaman onun üzerinde yaşar. 2026-08-17 sürümü remaining_accounts layout’u değişmez.

Quote mint’leri yalnızca yönetici takdiri ile kabul edilir

CPMM ve CLMM’nin aksine, LaunchLab bir quote mint’ine karşı hiçbir uzantı izin listesi çalıştırmaz. CreateConfig mint hesabını olduğu gibi kabul eder, bu nedenle tek kapı bir yöneticinin bir GlobalConfig’e bağladığı mint’lerdir. Programın NoSupportExtension kontrolü yalnızca LaunchLab’ın kendisinin oluşturduğu Token-2022 base mint’lerine uygulanır, burada yalnızca MetadataPointer ve TransferFeeConfig izin verilir. Token-2022 quote mint’i bağlamayı yüksek güven eylemi olarak ele alın, CPMM/CLMM destek-mint kayıt defterine bir mint kaydetmek yüksek güven eylemi olduğu için — bkz. reference/token-2022-support. TransferHook veya PermanentDelegate quote mint’i config oluşturma zamanında kabul edilir ve daha sonra içinde alıntılanan her pool’da çalışır veya taraması yapabilir.

amm_creator_fee_on zaman damgası kapısı

InitializeV2 yükseltme zaman damgasından önce BothToken dışında herhangi bir amm_creator_fee_on reddeden zaman damgası kapısını düşürür. Eşdeğer kapı hala InitializeWithToken2022’de mevcuttur. Uygulamada her iki yol mainnet-beta’da bugün her iki değeri kabul eder, çünkü bu zaman damgası (1755522000, 2025-08-18 13:00 UTC) çok geçmiştir — bu bir davranış değişikliği değil, mevcut çağıranlar için temizliktir.

Hata ve IDL etkisi

Kodlar 60006022 değişmez, 6022 InvalidPlatformAllowConfig dahil. Önceki sürüm eski 6023’ü emekli aldı ve boş bıraktı; bu sürüm numarayı yeniden kullanır. 6023’ü her iki önceki sürümün IDL’si ile çözmeyin. Token-2022 quote programı geçirmeden, token_program_flag bit1’i çözmeden veya yeniden adlandırılan MigrateToCpswap hesap listesini oluşturmadan önce LaunchLab IDL’sini yenileyin.

SDK etkisi

SDK’nın launchpad modülünün quote tarafı, programın olduğu aynı yerlerde TOKEN_PROGRAM_ID’ye sabitlenmişti. Bu sürümü eşlik eden dal bunun yerine quote mint’inin sahibini çözer, token-hesap oluşturma, share-fee alıcısının ATA’sı ve talimatın quote-program yuvası aracılığıyla iletir ve dört Curve yöntemine isteğe bağlı transferFeeConfigB ekler, böylece alıntılar yukarıdaki formülleri yansıtır. Curve sonuçları transferFeeB alanı kazanır; amountB anlamını tutar — ödeyicinin harcadığı veya satıcının aldığı şey — bu nedenle ücret içermeyen bir quote mint öncekiyle aynı sayıları üretir. Bu SDK değişiklikleri yayınlanmamıştır. Bu dokümantasyon setindeki kod-demo sayfalarındaki kanonik pin değişmez; yeni parametrelere güvenmeden önce yayınlanan sürümü kontrol edin.

Referans uygulaması

Yeni oluşturulan quote konfigürasyonlarını anında getirmek için demo kodu: raydium-sdk-V2-demo/src/grpc/launchpadPoolInfo.ts Bu sürümün gerekli kıldığı iki şey için kompakt bir referanstır. Pool’lar doğrudan token_program_flag’den sınıflandırılır, hiçbir mint getirmeden her iki biti çözer — bu bit1 kırılması için düzeltmedir. Config’ler bu şekilde sınıflandırılamaz, çünkü GlobalConfig yalnızca quote mint’inin adresini ve program bayrağını depolamaz, bu nedenle demo mint hesabının sahibini bir kez okur ve mint başına önbelleğe alır. Her iki yolu yan yana görmek kendi decoder’ınızı kontrol etmenin en hızlı yoludur. Kılavuz için products/launchlab/code-demos bölümüne bakın.

Güncellenen sayfalar

  • products/launchlab/accounts — quote-mint token programı, token_program_flag bit layout’u ve vault sahipliği.
  • products/launchlab/instructions — quote-program hesapları, swap slippage semantiği ve yeniden adlandırılan geçiş hesapları.
  • products/launchlab/global-configquote_mint Token-2022 mint olabilir ve neyi kapılar ve neyi kapılamaz.
  • products/launchlab/code-demos — gRPC config/pool izleyicisi.
  • reference/token-2022-support — LaunchLab satırı ve quote-mint bölümü.
  • reference/error-codes6023 CalculateOverflow.