[{"data":1,"prerenderedAt":371},["ShallowReactive",2],{"docs:tr:\u002Fdocs\u002Fduel\u002Fcontracts\u002Foverview":3},{"id":4,"title":5,"body":6,"cover":362,"description":363,"extension":364,"meta":365,"navigation":366,"path":367,"seo":368,"stem":369,"__hash__":370},"docs\u002Ftr\u002Fdocs\u002Fduel\u002Fcontracts\u002Foverview.md","Sözleşmeler",{"type":7,"value":8,"toc":352},"minimark",[9,13,17,110,115,133,137,140,143,195,199,202,276,279,283,329,333],[10,11,5],"h1",{"id":12},"sözleşmeler",[14,15,16],"p",{},"Duel, zincirin Uniswap V4 dağıtımı üzerine kurulmuş altı sözleşmeden oluşur: beşi Robinhood Chain üzerinde dağıtılmıştır, biri hiç dağıtılmamıştır. Solidity 0.8.26, Foundry, OpenZeppelin, v4-core. Düellolar zincirde yaşar: uygulama zinciri sitenin sunucusu üzerinden ya da doğrudan okur, geçmişlerini ise zincir olaylarının bir indeksleyicisinden okur.",[18,19,20,33],"table",{},[21,22,23],"thead",{},[24,25,26,30],"tr",{},[27,28,29],"th",{},"Sözleşme",[27,31,32],{},"Rol",[34,35,36,52,62,72,90,100],"tbody",{},[24,37,38,45],{},[39,40,41],"td",{},[42,43,44],"code",{},"DuelFactory",[39,46,47,48,51],{},"Bir düelloyu tek işlemde başlatır: iki token, üç havuz, kilitli pozisyonlar, yaratıcının lansman alımları. Gelecekteki düelloların sınırlı yapılandırmasını tutar; bir lansman, başlatanın okuduğu yapılandırmaya (",[42,49,50],{},"configHash",") bağlanır ve bu arada başka bir yapılandırma uygulandıysa geri alınır.",[24,53,54,59],{},[39,55,56],{},[42,57,58],{},"DuelHook",[39,60,61],{},"Her düellonun üç havuzunun paylaştığı Uniswap V4 hook'u: ücretler, anti-snipe vergisi, geçişlerdeki yakım, yeniden dengeleme, oranın ortalaması, turlar ve geri alımlar; ayrıca her düellonun kasası, yaratıcı ücretleri ve protokol ücretleri.",[24,63,64,69],{},[39,65,66],{},[42,67,68],{},"DuelToken",[39,70,71],{},"Her tarafın sade ERC-20'si: bir milyar birim, yakılabilir, sahipsiz, permit (EIP-2612) destekli.",[24,73,74,79],{},[39,75,76],{},[42,77,78],{},"DuelRouter",[39,80,81,82,85,86,89],{},"Uygulamanın işlem yaptığı tam girdili router; bir satışın permit'i de dahil. Bir tarafın ETH havuzu satışı tek seferde karşılayamadığında o tarafı birkaç geçişte satan tek router odur (",[42,83,84],{},"SALE_PASSES","); o havuzun o zaman bile geri alamadığını da diğer taraf üzerinden satar (",[42,87,88],{},"sell","). Herhangi bir V4 router'ı da tek bir swap ile çalışır.",[24,91,92,97],{},[39,93,94],{},[42,95,96],{},"DuelLens",[39,98,99],{},"Bir düellonun durumunu uygulama için toplayan salt okunur görünümler.",[24,101,102,107],{},[39,103,104],{},[42,105,106],{},"DuelSimulator",[39,108,109],{},"Asla dağıtılmaz. Uygulama, tek bir salt okunur çağrı boyunca kodunu sizin kendi adresinize koyar (state override); böylece bir işlem tam sizin göndereceğiniz gibi çalışır ve ne alacağınızı, havuzlar yeniden dengelendikten sonra oranın nereye varacağını söyler.",[111,112,114],"h2",{"id":113},"sürüm","Sürüm",[14,116,117,118,121,122,125,126,121,129,132],{},"Bu launchpad Duel V1'dir, kod adı Petunia. Sözleşmelerinin her biri bunu söyler (fabrika, hook, router ve lens üzerinde ",[42,119,120],{},"VERSION()"," ve ",[42,123,124],{},"CODENAME()","), başlattığı her token da bunu kalıcı olarak saklar (",[42,127,128],{},"LAUNCHPAD_VERSION()",[42,130,131],{},"LAUNCHPAD_CODENAME()","): bir düellonun Hakkında bölümü bunu, token'larının söylediği gibi gösterir. Daha sonra ayrı olarak dağıtılacak bir launchpad numarayı sürdürür, kendine ait bir kod adı taşır ve token'ları kendi adını söyler.",[111,134,136],{"id":135},"adresler","Adresler",[138,139],"contract-addresses",{},[14,141,142],{},"Duel şu Robinhood Chain sözleşmelerine dayanır:",[18,144,145,153],{},[21,146,147],{},[24,148,149,151],{},[27,150],{},[27,152],{},[34,154,155,165,175,185],{},[24,156,157,160],{},[39,158,159],{},"Uniswap V4 PoolManager",[39,161,162],{},[42,163,164],{},"0x8366a39CC670B4001A1121B8F6A443A643e40951",[24,166,167,170],{},[39,168,169],{},"Universal Router (ana ağ)",[39,171,172],{},[42,173,174],{},"0x204FAca1764B154221e35c0d20aBb3c525710498",[24,176,177,180],{},[39,178,179],{},"V4 Quoter",[39,181,182],{},[42,183,184],{},"0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94",[24,186,187,190],{},[39,188,189],{},"Permit2",[39,191,192],{},[42,193,194],{},"0x000000000022D473030F116dDEE9F6B43aC78BA3",[111,196,198],{"id":197},"hook","Hook",[14,200,201],{},"Bir V4 hook'unun adresi, uyguladığı callback'lerin listesini taşır. Duel'in hook'u şunları kullanır:",[18,203,204,214],{},[21,205,206],{},[24,207,208,211],{},[27,209,210],{},"Callback",[27,212,213],{},"Ne yapar",[34,215,216,226,236,246,256,266],{},[24,217,218,223],{},[39,219,220],{},[42,221,222],{},"beforeInitialize",[39,224,225],{},"Hook üzerinde havuz açabilen tek şey fabrikadır ve yalnızca bir düellonun kayıtlı havuzları için.",[24,227,228,233],{},[39,229,230],{},[42,231,232],{},"beforeAddLiquidity",[39,234,235],{},"Likidite ekleyebilen tek şey fabrikadır, lansmanda.",[24,237,238,243],{},[39,239,240],{},[42,241,242],{},"beforeRemoveLiquidity",[39,244,245],{},"İşlem her zaman geri alınır: likidite sonsuza dek kilitlidir.",[24,247,248,253],{},[39,249,250],{},[42,251,252],{},"beforeDonate",[39,254,255],{},"İşlem her zaman geri alınır.",[24,257,258,263],{},[39,259,260],{},[42,261,262],{},"beforeSwap",[39,264,265],{},"Biten bir turu sonuçlandırır, ortalamaları günceller, ücretleri ve vergileri alır.",[24,267,268,273],{},[39,269,270],{},[42,271,272],{},"afterSwap",[39,274,275],{},"Swap'ın belirlemediği tutar üzerinden ödenmesi gereken ücretleri alır, önceden ücret alınan bir swap'ın tamamen gerçekleştiğini kontrol eder, ardından üç havuzu yeniden dengeler.",[14,277,278],{},"Ücretler hook'un return delta'larıyla alınır; bu yüzden swap'ı kim yönlendirirse yönlendirsin uygulanır.",[111,280,282],{"id":281},"kim-ne-yapabilir","Kim ne yapabilir",[18,284,285,295],{},[21,286,287],{},[24,288,289,292],{},[27,290,291],{},"Aktör",[27,293,294],{},"Yapabileceği",[34,296,297,305,313,321],{},[24,298,299,302],{},[39,300,301],{},"Herkes",[39,303,304],{},"Başlatmak, işlem yapmak, biten turları sonuçlandırmak, yaratıcı ya da hazine taleplerini tetiklemek, önerilen koşulları 48 saatleri dolduğunda uygulamak",[24,306,307,310],{},[39,308,309],{},"Bir düellonun yaratıcısı",[39,311,312],{},"O düellonun yaratıcı ücretlerini almak; rolü, ücretleriyle birlikte, kabul eden bir adrese devretmek",[24,314,315,318],{},[39,316,317],{},"Fabrikanın sahibi",[39,319,320],{},"Yeni lansmanları durdurmak; 48 saat sonra gelecekteki düellolar için sınırlı koşulları ya da protokol hazinesini değiştirmek. Birikmiş protokol ücretlerini, talep anındaki güncel hazine alır. Tüm düellolarda protokolün swap ücretindeki payını anında düşürmek ya da yeniden yükseltmek; asla koşullarının üstüne çıkmadan.",[24,322,323,326],{},[39,324,325],{},"Hiç kimse",[39,327,328],{},"Likidite çekmek, token basmak, bir kasayı taşımak, aktif bir düellonun trader'larının ödediği ücreti ya da yaratıcısının payını değiştirmek, protokolün payını bir düellonun koşullarının üstüne çıkarmak, bir düellonun yaratıcı rolünü elinden almak, sözleşmeleri yükseltmek",[111,330,332],{"id":331},"daha-fazla","Daha fazla",[334,335,336,345],"ul",{},[337,338,339,344],"li",{},[340,341,343],"a",{"href":342},"\u002Fdocs\u002Fduel\u002Fcontracts\u002Fsecurity","Güvenlik",": fonları neyin koruduğu ve bunun nasıl denetlendiği.",[337,346,347,351],{},[340,348,350],{"href":349},"\u002Fdocs\u002Fduel\u002Fcontracts\u002Fintegrate","Duel üzerinde geliştirme",": kendi kodunuzdan düelloları okumak ve işlem yapmak.",{"title":353,"searchDepth":354,"depth":355,"links":356},"",2,3,[357,358,359,360,361],{"id":113,"depth":354,"text":114},{"id":135,"depth":354,"text":136},{"id":197,"depth":354,"text":198},{"id":281,"depth":354,"text":282},{"id":331,"depth":354,"text":332},null,"Duel'in Robinhood Chain'deki sözleşmeleri: fabrika, Uniswap V4 hook'u, token, router ve lens; adresleri, hook'un callback'leri ve kimin ne yapabildiği.","md",{},true,"\u002Ftr\u002Fdocs\u002Fduel\u002Fcontracts\u002Foverview",{"title":5,"description":363},"tr\u002Fdocs\u002Fduel\u002Fcontracts\u002Foverview","-gSv7K9i_kdjaBEyV6W5ggAjbB8Bc42-j8qZmqTVo-g",1791232798239]