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.
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 →
Program düzeyinde destek
| Program | Token-2022 base/quote mint’leri? | Mod |
|---|---|---|
| CPMM | Evet — kontrollü | Katı uzantı izin listesi + 4 mint statik whitelist. |
| CLMM | Evet — kontrollü | Katı uzantı izin listesi + 6 mint statik whitelist + yönetim mint başına kayıt + Superstate tespiti. |
| AMM v4 | Hayır | Program Token-2022 öncesinden; her iki mint’in klasik SPL Token olması gerekir. |
| Stable AMM | Hayır | AMM v4 ile aynı kısıtlamalar. |
| Farm v6 | Evet, kısmi | Reward mint Token-2022 olabilir (bir farm CPMM/CLMM LP’yi sarlıyorsa aynı izin listesine tabi); kullanıcı stake LP mint’leri sarılı havuzdan devralır. |
| LaunchLab | Evet, program tarafından yönetilen | Base mint Token-2022 olabilir, ancak sadece initialize_with_token_2022 talimatı aracılığıyla; program kendisi mint’i MetadataPointer (her zaman) ve isteğe bağlı olarak TransferFeeConfig (%5 ≤ oran) ile oluşturur. Rasgele uzantıları olan önceden var olan Token-2022 mint’leri base olarak kullanılamaz. |
| Burn & Earn | Havuz programını yansıtır | CPMM / CLMM kapıyı devralır. |
- CPMM:
is_supported_mintinraydium-cp-swap/programs/cp-swap/src/utils/token.rs:178,Initializeyapısından çağrılır. - CLMM:
is_supported_mintinraydium-clmm/programs/amm/src/util/token.rs:280,CreatePoolyapısından çağrılır. - LaunchLab:
initialize_with_token_2022inraydium-launchpad/programs/launchpad/src/instructions/initialize_with_token_2022.rs(kaynak herkese açık değil).
CPMM ve CLMM uzantı izin listesi
Statik whitelist kısayolundan sonra (aşağıda ele alınmıştır), program mint’in uzantılarını yineler ve bu beşi dışında başka bir uzantı taşıyorsa mint’i reddeder:| Uzantı | Neden izinli |
|---|---|
TransferFeeConfig | Havuz matematiksel olarak gelen ücreti çıkarır; Token-2022 programı giden ücreti işler. Bkz. algorithms/token-2022-transfer-fees. |
MetadataPointer | Dekoratif — zincir üstü metaverileri işaret eder. |
TokenMetadata | Dekoratif — satır içi metaveri. |
InterestBearingConfig | Havuz ana miktarı görür; UI çarpanı sadece dekoratör ve altta yatan bakiye korunur. |
ScaledUiAmount | Faiz taşıyan ile aynı şekil — ölçek faktörü sadece UI görüntüsüne uygulanır. |
TransferHook, NonTransferable, ConfidentialTransferMint, PermanentDelegate, MintCloseAuthority, DefaultAccountState, GroupPointer, GroupMemberPointer, MemberPointer, Pausable, vb. — is_supported_mint ifadesinin false döndürmesine ve havuz oluşturmanın geri alınmasına neden olur.
İlgili satırlar (CPMM, CLMM’de özdeş şekil):
cp-swap/src/utils/token.rs:190–200
Bypass yolları
İzin listesine uymayan bir Token-2022 mint’i yine de üç açık bypass’dan biri aracılığıyla kabul edilebilir. Uzantı yinelemesi çalışmadan önce sırayla denenir.1. Statik mint whitelist’i
Sabit birMINT_WHITELIST base58 dizeleri dizisi her programda hardcoded’dir. Mint’in adresi eşleşirse, işlev hemen true döndürür ve uzantı kontrolü yapılmaz.
| Program | Whitelist’e eklenen mint’ler |
|---|---|
| CPMM | HVbpJAQGNpkgBaYBZQBR1t7yFdvaYVp2vCQQfKKEN4tM, Crn4x1Y2HUKko7ox2EZMT6N2t2ZyH7eKtwkBGVnhEq1g, FrBfWJ4qE5sCzKm3k3JaAtqZcXUh4LvJygDeketsrsH4, 2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo |
| CLMM | Aynı dört, artı DAUcJBg4jSpVoEzASxYzdqHMUN8vuTpQyG2TvDcCHfZg, AUSD1jCcCyPLybk1YnvPWsHQSrZ46dxwoMniN4N2UEB9 |
2. Mint başına kayıt — sadece CLMM
CLMM ek olarakSupportMintAssociated PDA’sını [b"support_mint", mint] tohumunda danışır. Bu mint için PDA varsa, uzantı setine bakılmaksızın kabul edilir.
PDA CreateSupportMintAssociated tarafından oluşturulur (admin/create_support_mint_associated.rs). Talimat iki imza sahibine kısıtlanmıştır:
crate::admin::ID— standart Raydium yönetim otoritesi.crate::create_support_mint_associated_owner::ID— bu amaç için ayrılmış otorite:RayVyjyJQz9vAi126A4sGexKnSU1XeZaHTRcM1mZMPY(mainnet),rayf3nEbb3bnfN6RDGFpqPbjc5uUa3tRUzu6UVYrRx5(devnet).
3. Superstate tespiti — sadece CLMM
CLMM, özellikle Superstate’in tokenize edilmiş varlıkları için,ScaledUiConfig uzantısı kullanırlar ve bu, CLMM programına bağlı spl-token-2022 sürümü tarafından açılamaz. Bağımlılığı yükseltmek yerine, CLMM Superstate token’larını otorite şekline göre tespit eder:
raydium-clmm/programs/amm/src/util/token.rs:485
Bir mint dört de tutar varsa bu dalı geçer:
- Sahibi olan programı Token-2022 programıdır.
- Freeze otoritesi
superstate_allowlist::IDeşittir. Mainnet:2Yq4T3mPNfjtEyTxSbRjRKqLf1pwbTasuCQrWe6QpM7x. Devnet:3TRuL3MFvzHaUfQAb6EsSAbQhWdhmYrKxEiViVkdQfXu. DefaultAccountStateuzantısıFrozenolarak ayarlanmıştır.- Kalıcı delegesi de
superstate_allowlist::IDdir.
Bypass’ların feragat etmediği şeyler
Bypass’lar uzantı izin listesini atlar, ancak program yine de uygulanır:- Mint
TokenveyaToken-2022tarafından sahip olunur. Özel bir token programı yukarıda reddedilir. - Havuz kasaları Token-2022 havuzları (
ImmutableOwner, vb.) için doğru ATA uzantıları ile oluşturulur. - Tüm transferler
transfer_checkedaracılığıyla yapılır — ücreti taşıyan mint’ler kasa içinde doğru tutarı belirler.
TransferHook eklerse, swap zamanında kontrol kazanmaz; hook her transferde çalıştırılır ve swap’ları kırabilir. Bu nedenle whitelist oluşturma yüksek güven gerektiren bir işlemdir.
”Engellendi” anlamı
is_supported_mint false döndürdüğünde, havuz oluşturma ErrorCode::NotSupportMint (CPMM) / ErrorCode::NotSupportMint (CLMM) ile geri alınır. Sayısal kodlar için reference/error-codes bakınız.
Mevcut havuzlar bu kontrol geriye dönük olarak başarısız olamaz — kapı sadece oluşturmada açılır. Mint uzantıları Raydium’un reddettiği kategoriler için değişmezdir (transfer hook, non-transferable, gizli transfer oluşturmadan sonra eklenemez), bu nedenle statik kontrol yeterlidir.
Her dışarıda bırakılan uzantının neden dışarıda bırakıldığı
- TransferHook — her transferde özel bir programı çağırır, keyfi CU tüketimi, keyfi başarısızlık koşulları ve çağıran programı yeniden giriş yapabilme yeteneği. Güvenli bir sandbox yoktur. Bazı DEX’ler hook izin listeleri tutar; Raydium tutmaz.
- NonTransferable —
Transferher zaman başarısız olur. Havuz intiyat sağlayamaz. - ConfidentialTransfer — transfer tutarları şifrelenir; eğri swap’ı fiyatlandıramaz.
- PermanentDelegate — temsilcinin sahibi, havuz kasası da dahil olmak üzere herhangi bir token hesabını temizleyebilir. Güvenilen ihraççılar (örneğin düzenlü stablecoin’ler) için statik whitelist aracılığıyla izinlidir.
- MintCloseAuthority — mint kapatılabilir; mevcut havuzlar kullanılamaz hale gelir. Varsayılan olarak yasaklanmıştır.
- DefaultAccountState (Frozen) — havuz ATA’ları
Frozendurumda ve her hesap başına çözülmesi gerekir. Sadece Superstate tespiti aracılığıyla izinlidir, ihraççı kaydolmada kurumsal hesapları çözer. - Group/Member pointer’lar — aktif olarak zararlı değildir, ancak gözden geçirilmemiştir. Yüzeyi dar tutmak için varsayılan olarak yasaklanmıştır.
Transfer ücreti muhasebesı
TransferFeeConfig taşıyan mint’ler için, her swap, depozito ve çekim nominal tutardan daha az hareket ettirir. SDK hesaplamanın her iki yarısını ortaya çıkarır:
amountIn + token2022FeeInas “gönderdikleriniz”amountOut - token2022FeeOutas “aldıklarınız”feeAmounthavuz ücreti olarak (LP + protokol), Token-2022 transfer ücretinden ayrı
amountIn → amountOut gösteren naif bir UI maliyetleri az gösterir.
maximumFee sınırı
Token-2022 transfer ücretleri transfer başına sınırlanmıştır. %1 mint’i ve 10.000 token sınırı için 100.000.000 token transferi sadece 10.000 ücreti öder. SDK’nın computeSwapAmount sınırı uygular; doğrudan program çağıranları onu çoğaltmalıdır.
Epok geçişi
Bir mint otoritesi, bir sonraki epochte etkinleşecek bir ücret oranı değişikliği planlayabilir. Geçiş penceresi sırasında, iki config (older, newer) mint’te aynı anda var olur ve TransferChecked geçerli epoche göre seçer. CPMM SwapV2 ve CLMM SwapV2 her ikisi de full mint hesabını accounts’de geçer, bu nedenle program ekstra bir lookup olmadan doğru config’i okur.
Trade API’sı veya SDK’sı aracılığıyla bir epochten fazla süre önceden alıntı yaparsanız, icra edilen ücret alıntı yapılan ücretten farklı olabilir — eski config’in maximum_fee_basis_points ile sınırlanmış.
Faiz taşıyan ve ScaledUiAmount
Havuz ana tutarı tutar; “UI tutarı” ana tutarı zaman bağımlı veya yönetim tarafından ayarlanan ölçek faktörü ile çarpılır. Swap matematiği ana tutarında çalışır:pool.token0Vault.amount öğesini ana tutarı olarak ele almalıdır.
”Token-2022 havuzu” tanımı
Havuz ya mint’inprogramId == TokenzQdB... varsa Token-2022 havuzudur. API bunu ortaya çıkarır:
programId kullanın ve UI uyarısı ortaya çıkarmak için hasTransferFee kullanın.
SDK yardımcıları
Ortak entegrasyon hataları
- Sadece program kimliğini ön kontrol etme. Bir mint Token-2022 ve desteklenmeyen olabilir. Havuz oluşturmaya izin vermeden önce uzantı listesini izin listesine (ve statik whitelist’e) göre yürütün.
- Mint hiç kabul edilmediğinde SDK’nın alıntısına güvenme. Alıntı API’sı alıntı yapmayı reddetmez — havuz oluşturma geri alınır. Havuz oluşturmayı UI’ınızda ortaya çıkarmadan önce
is_supported_mintanlamını çevrimdışı olarak onaylayın. - Transfer ücreti kesintisi olmadan alıntı yapma. Her iki tarafında %1 transfer ücreti mint’i 0,25% CPMM havuzun efektif ücret sınırı %0,25 değil, yaklaşık %2,25. SDK alıntısı veya Trade API alıntısı kullanın — asla havuzun ücret katmanından manuel olarak ücret hesaplamayın.
- Token-2022 havuzunda eski
Swaptalimatını çağırma.SwapToken-2022’yi önceden oluşturdu. Ya mint Token-2022 olduğunda her zamanSwapV2kullanın. - Otomatik olarak yeni Token-2022 mint’lerini listeleme. Cüzdanlar ve toplayıcılar, bir mint’i kullanıcılara ortaya koymadan önce
TransferHookveNonTransferable’ı kontrol etmelidir; her ikisi de Raydium düşmanıdır.
Gelecek çalışma
Bu matrisi değiştirecek Solana ekosistemi ve protokol yol haritası öğeleri:- Solana düzeyinde izin listesi transfer-hook programları (ekosistem sözleşmesi gelişmekte).
- Gizli transfere uyumlu AMM’ler (araştırma aşaması).
- Daha geniş CPMM mint başına kayıt (CLMM ile eşlik).
- Bağımlılık yükseltmesi böylece CLMM’nin
ScaledUiConfigdekodu Superstate sezgisel olmadan çalışır.
İşaretçiler
algorithms/token-2022-transfer-fees— swap’lardaki ücret matematiği.products/cpmm/instructions—SwapV2,Initialize.products/clmm/instructions—SwapV2,CreatePool,CreateSupportMintAssociated.reference/error-codes— program başınaNotSupportMintsayısal kodları.
raydium-cp-swap/programs/cp-swap/src/utils/token.rs—MINT_WHITELIST,is_supported_mint.raydium-clmm/programs/amm/src/util/token.rs—MINT_WHITELIST,superstate_allowlist,is_superstate_token,is_supported_mint.raydium-clmm/programs/amm/src/instructions/admin/create_support_mint_associated.rs— mint başına kayıt talimatı.raydium-launchpad/programs/launchpad/src/instructions/initialize_with_token_2022.rs— LaunchLab Token-2022 base-mint oluşturma.


