[{"data":1,"prerenderedAt":371},["ShallowReactive",2],{"docs:ro:\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\u002Fro\u002Fdocs\u002Fduel\u002Fcontracts\u002Foverview.md","Contracte",{"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},"contracte",[14,15,16],"p",{},"Duel înseamnă șase contracte, cinci dintre ele implementate pe Robinhood Chain și unul niciodată implementat, construite\npe implementarea Uniswap V4 a acestui lanț. Solidity\n0.8.26, Foundry, OpenZeppelin, v4-core. Duelurile trăiesc pe lanț: aplicația îl citește, prin serverul site-ului sau\ndirect, iar istoricul lor dintr-un indexer al evenimentelor lanțului.",[18,19,20,33],"table",{},[21,22,23],"thead",{},[24,25,26,30],"tr",{},[27,28,29],"th",{},"Contract",[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],{},"Lansează un duel într-o singură tranzacție: două tokenuri, trei pooluri, poziții blocate, cumpărările creatorului la lansare. Deține configurația, cu limite, a duelurilor viitoare; o lansare se angajează pe configurația citită de cel care lansează (",[42,49,50],{},"configHash",") și eșuează dacă între timp s-a aplicat alta.",[24,53,54,59],{},[39,55,56],{},[42,57,58],{},"DuelHook",[39,60,61],{},"Hookul Uniswap V4 comun celor trei pooluri ale fiecărui duel: comisioanele, taxa anti-snipe, arderea la schimbarea taberei, realinierea, media repartiției, rundele și răscumpărările, plus potul, comisioanele de creator și comisioanele de protocol ale fiecărui duel.",[24,63,64,69],{},[39,65,66],{},[42,67,68],{},"DuelToken",[39,70,71],{},"ERC-20-ul simplu al fiecărei tabere: un miliard de unități, se poate arde, fără proprietar, cu permituri (EIP-2612).",[24,73,74,79],{},[39,75,76],{},[42,77,78],{},"DuelRouter",[39,80,81,82,85,86,89],{},"Routerul cu intrare exactă prin care tranzacționează aplicația, inclusiv permitul unei vânzări; numai el vinde o tabără în mai multe treceri când poolul ei ETH nu poate prelua vânzarea dintr-odată (",[42,83,84],{},"SALE_PASSES","), și ce acel pool nu poate răscumpăra nici atunci, prin cealaltă tabără (",[42,87,88],{},"sell","). Orice router V4 funcționează și el, într-un singur swap.",[24,91,92,97],{},[39,93,94],{},[42,95,96],{},"DuelLens",[39,98,99],{},"Vizualizări doar de citire care adună starea unui duel pentru aplicație.",[24,101,102,107],{},[39,103,104],{},[42,105,106],{},"DuelSimulator",[39,108,109],{},"Nu e implementat niciodată. Aplicația îi pune codul pe propria ta adresă pentru un singur apel de citire (un state override), astfel încât o tranzacție să ruleze exact cum ai trimite-o și să spună ce ai primi și unde ar ajunge repartiția după realinierea poolurilor.",[111,112,114],"h2",{"id":113},"versiune","Versiune",[14,116,117,118,121,122,125,126,121,129,132],{},"Acest launchpad este Duel V1, nume de cod Petunia. Fiecare dintre contractele lui o spune (",[42,119,120],{},"VERSION()"," și ",[42,123,124],{},"CODENAME()","\npe factory, hook, router și lens), iar fiecare token pe care îl lansează o păstrează pentru totdeauna\n(",[42,127,128],{},"LAUNCHPAD_VERSION()",[42,130,131],{},"LAUNCHPAD_CODENAME()","): secțiunea Despre a unui duel o afișează, așa cum o spun tokenurile\nlui. Un launchpad implementat mai târziu, separat, ar lua numărul următor și un nume de cod propriu, iar tokenurile lui\nl-ar spune pe al lor.",[111,134,136],{"id":135},"adrese","Adrese",[138,139],"contract-addresses",{},[14,141,142],{},"Duel se bazează pe aceste contracte Robinhood Chain:",[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 (mainnet)",[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},"hookul","Hookul",[14,200,201],{},"Adresa unui hook V4 poartă lista callbackurilor pe care le implementează. Hookul Duel folosește:",[18,203,204,214],{},[21,205,206],{},[24,207,208,211],{},[27,209,210],{},"Callback",[27,212,213],{},"Ce face",[34,215,216,226,236,246,256,266],{},[24,217,218,223],{},[39,219,220],{},[42,221,222],{},"beforeInitialize",[39,224,225],{},"Doar factory-ul poate deschide un pool pe hook și doar poolurile înregistrate ale unui duel.",[24,227,228,233],{},[39,229,230],{},[42,231,232],{},"beforeAddLiquidity",[39,234,235],{},"Doar factory-ul poate adăuga lichiditate, la lansare.",[24,237,238,243],{},[39,239,240],{},[42,241,242],{},"beforeRemoveLiquidity",[39,244,245],{},"Eșuează întotdeauna: lichiditatea e blocată pentru totdeauna.",[24,247,248,253],{},[39,249,250],{},[42,251,252],{},"beforeDonate",[39,254,255],{},"Eșuează întotdeauna.",[24,257,258,263],{},[39,259,260],{},[42,261,262],{},"beforeSwap",[39,264,265],{},"Decontează o rundă încheiată, actualizează mediile, ia comisioanele și taxele.",[24,267,268,273],{},[39,269,270],{},[42,271,272],{},"afterSwap",[39,274,275],{},"Ia comisioanele datorate pe suma pe care swapul nu a fixat-o, verifică dacă un swap taxat dinainte s-a executat integral, apoi realiniază cele trei pooluri.",[14,277,278],{},"Comisioanele sunt luate cu return deltas ale hookului, așa că se aplică, oricine ar ruta swapul.",[111,280,282],{"id":281},"cine-ce-poate-face","Cine ce poate face",[18,284,285,295],{},[21,286,287],{},[24,288,289,292],{},[27,290,291],{},"Actor",[27,293,294],{},"Poate",[34,296,297,305,313,321],{},[24,298,299,302],{},[39,300,301],{},"Oricine",[39,303,304],{},"Lansa, tranzacționa, deconta runde încheiate, declanșa revendicări pentru creator sau trezorerie, aplica condițiile propuse după ce au trecut cele 48 de ore ale lor",[24,306,307,310],{},[39,308,309],{},"Creatorul unui duel",[39,311,312],{},"Primi comisioanele de creator ale acelui duel; ceda rolul, cu comisioanele lui, unei adrese care îl acceptă",[24,314,315,318],{},[39,316,317],{},"Proprietarul factory-ului",[39,319,320],{},"Suspenda lansările noi; schimba condițiile limitate ale duelurilor viitoare sau trezoreria protocolului după 48 de ore. Trezoreria actuală primește comisioanele de protocol acumulate la revendicare. Scădea imediat partea protocolului din comisionul de swap al tuturor duelurilor sau o ridica la loc, niciodată peste condițiile lor.",[24,322,323,326],{},[39,324,325],{},"Nimeni",[39,327,328],{},"Retrage lichiditatea, minta tokenuri, muta un pot, schimba comisionul plătit de traderii unui duel activ sau partea creatorului său, ridica partea protocolului peste condițiile unui duel, lua rolul de creator al unui duel, actualiza contractele",[111,330,332],{"id":331},"mai-multe","Mai multe",[334,335,336,345],"ul",{},[337,338,339,344],"li",{},[340,341,343],"a",{"href":342},"\u002Fdocs\u002Fduel\u002Fcontracts\u002Fsecurity","Securitate",": ce protejează fondurile și cum a fost verificat.",[337,346,347,351],{},[340,348,350],{"href":349},"\u002Fdocs\u002Fduel\u002Fcontracts\u002Fintegrate","Construiește pe Duel",": citirea duelurilor și tranzacționarea din propriul tău cod.",{"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,"Contractele Duel pe Robinhood Chain: factory, hook Uniswap V4, token, router și lens, adresele lor, callbackurile hookului și cine ce poate face.","md",{},true,"\u002Fro\u002Fdocs\u002Fduel\u002Fcontracts\u002Foverview",{"title":5,"description":363},"ro\u002Fdocs\u002Fduel\u002Fcontracts\u002Foverview","D94ecYoLxwynY9n5mm_Dx4zPrHkR5Tn2O46Zoqi68Wc",1791232786201]