[{"data":1,"prerenderedAt":371},["ShallowReactive",2],{"docs:it:\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\u002Fit\u002Fdocs\u002Fduel\u002Fcontracts\u002Foverview.md","Contratti",{"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},"contratti",[14,15,16],"p",{},"Duel è fatto di sei contratti, cinque dei quali distribuiti su Robinhood Chain e uno mai distribuito, costruiti sul deployment di Uniswap V4 della chain. Solidity 0.8.26, Foundry, OpenZeppelin, v4-core. I duelli vivono sulla chain: l'app la legge, tramite il server del sito o direttamente, e la loro storia da un indicizzatore degli eventi della chain.",[18,19,20,33],"table",{},[21,22,23],"thead",{},[24,25,26,30],"tr",{},[27,28,29],"th",{},"Contratto",[27,31,32],{},"Ruolo",[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],{},"Lancia un duello in una transazione: due token, tre pool, posizioni bloccate, gli acquisti al lancio del creatore. Detiene la configurazione limitata dei duelli futuri; un lancio si impegna sulla configurazione letta da chi lancia (",[42,49,50],{},"configHash",") e fa revert se nel frattempo se n'è applicata un'altra.",[24,53,54,59],{},[39,55,56],{},[42,57,58],{},"DuelHook",[39,60,61],{},"L'hook Uniswap V4 condiviso dai tre pool di ogni duello: commissioni, tassa anti-snipe, burn dei passaggi, riallineamento, media della ripartizione, round e riacquisti, e il piatto, le commissioni del creatore e quelle del protocollo di ogni duello.",[24,63,64,69],{},[39,65,66],{},[42,67,68],{},"DuelToken",[39,70,71],{},"Il normale ERC-20 di ogni fazione: un miliardo di unità, bruciabile, senza proprietario, con i permit (EIP-2612).",[24,73,74,79],{},[39,75,76],{},[42,77,78],{},"DuelRouter",[39,80,81,82,85,86,89],{},"Il router a input esatto con cui l'app fa trading, compreso il permit di una vendita; è il solo a vendere una fazione a più riprese quando il suo pool ETH non può assorbire la vendita in una volta (",[42,83,84],{},"SALE_PASSES","), e ciò che quel pool non può riacquistare nemmeno allora, attraverso l'altra fazione (",[42,87,88],{},"sell","). Funziona anche qualsiasi router V4, con un solo swap.",[24,91,92,97],{},[39,93,94],{},[42,95,96],{},"DuelLens",[39,98,99],{},"Viste in sola lettura che raccolgono lo stato di un duello per l'app.",[24,101,102,107],{},[39,103,104],{},[42,105,106],{},"DuelSimulator",[39,108,109],{},"Mai distribuito. L'app mette il suo codice sul tuo indirizzo per una chiamata in sola lettura (uno state override), così un'operazione viene eseguita come la invieresti e risponde con ciò che riceveresti e dove finirebbe la ripartizione una volta riallineati i pool.",[111,112,114],"h2",{"id":113},"versione","Versione",[14,116,117,118,121,122,125,126,121,129,132],{},"Questo launchpad è Duel V1, nome in codice Petunia. Ognuno dei suoi contratti lo dichiara (",[42,119,120],{},"VERSION()"," e ",[42,123,124],{},"CODENAME()"," sulla factory, sull'hook, sul router e sulla lens), e ogni token che lancia lo conserva per sempre (",[42,127,128],{},"LAUNCHPAD_VERSION()",[42,130,131],{},"LAUNCHPAD_CODENAME()","): la sezione Info di un duello lo mostra, come lo dicono i suoi token. Un launchpad successivo, distribuito a parte, continuerebbe la numerazione con un proprio nome in codice, e i suoi token direbbero il loro.",[111,134,136],{"id":135},"indirizzi","Indirizzi",[138,139],"contract-addresses",{},[14,141,142],{},"Duel si basa su questi contratti di 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],{},"PoolManager di Uniswap V4",[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},"lhook","L'hook",[14,200,201],{},"L'indirizzo di un hook V4 contiene l'elenco delle callback che implementa. L'hook di Duel usa:",[18,203,204,214],{},[21,205,206],{},[24,207,208,211],{},[27,209,210],{},"Callback",[27,212,213],{},"Cosa fa",[34,215,216,226,236,246,256,266],{},[24,217,218,223],{},[39,219,220],{},[42,221,222],{},"beforeInitialize",[39,224,225],{},"Solo la factory può aprire un pool sull'hook, e solo i pool registrati di un duello.",[24,227,228,233],{},[39,229,230],{},[42,231,232],{},"beforeAddLiquidity",[39,234,235],{},"Solo la factory può aggiungere liquidità, al lancio.",[24,237,238,243],{},[39,239,240],{},[42,241,242],{},"beforeRemoveLiquidity",[39,244,245],{},"Fa sempre revert: la liquidità è bloccata per sempre.",[24,247,248,253],{},[39,249,250],{},[42,251,252],{},"beforeDonate",[39,254,255],{},"Fa sempre revert.",[24,257,258,263],{},[39,259,260],{},[42,261,262],{},"beforeSwap",[39,264,265],{},"Regola un round finito, aggiorna le medie, preleva commissioni e tasse.",[24,267,268,273],{},[39,269,270],{},[42,271,272],{},"afterSwap",[39,274,275],{},"Preleva le commissioni dovute sull'importo che lo swap non ha fissato, verifica che uno swap addebitato prima si sia completato interamente, poi riallinea i tre pool.",[14,277,278],{},"Le commissioni sono prelevate con i return delta dell'hook, quindi si applicano chiunque instradi lo swap.",[111,280,282],{"id":281},"chi-può-fare-cosa","Chi può fare cosa",[18,284,285,295],{},[21,286,287],{},[24,288,289,292],{},[27,290,291],{},"Attore",[27,293,294],{},"Può",[34,296,297,305,313,321],{},[24,298,299,302],{},[39,300,301],{},"Chiunque",[39,303,304],{},"Lanciare, fare trading, regolare i round finiti, avviare le riscossioni del creatore o della tesoreria, applicare i termini proposti una volta trascorse le loro 48 ore",[24,306,307,310],{},[39,308,309],{},"Il creatore di un duello",[39,311,312],{},"Ricevere le commissioni del creatore di quel duello; cedere il ruolo, con le sue commissioni, a un indirizzo che lo accetta",[24,314,315,318],{},[39,316,317],{},"Proprietario della factory",[39,319,320],{},"Sospendere i nuovi lanci; cambiare dopo 48 ore i termini limitati dei duelli futuri o la tesoreria del protocollo. La tesoreria attuale riceve le commissioni del protocollo accumulate al momento della riscossione. Abbassare subito la quota del protocollo sulla commissione di swap di tutti i duelli, o rialzarla, mai oltre i loro termini.",[24,322,323,326],{},[39,324,325],{},"Nessuno",[39,327,328],{},"Ritirare liquidità, coniare token, spostare un piatto, cambiare la commissione che pagano i trader di un duello attivo o la quota del suo creatore, alzare la quota del protocollo oltre i termini di un duello, sottrarre a un duello il ruolo di creatore, aggiornare i contratti",[111,330,332],{"id":331},"altro","Altro",[334,335,336,345],"ul",{},[337,338,339,344],"li",{},[340,341,343],"a",{"href":342},"\u002Fdocs\u002Fduel\u002Fcontracts\u002Fsecurity","Sicurezza",": cosa protegge i fondi e come è stato verificato.",[337,346,347,351],{},[340,348,350],{"href":349},"\u002Fdocs\u002Fduel\u002Fcontracts\u002Fintegrate","Costruire su Duel",": leggere i duelli e fare trading dal tuo codice.",{"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,"I contratti di Duel su Robinhood Chain: factory, hook Uniswap V4, token, router e lens, i loro indirizzi, le callback dell'hook e chi può fare cosa.","md",{},true,"\u002Fit\u002Fdocs\u002Fduel\u002Fcontracts\u002Foverview",{"title":5,"description":363},"it\u002Fdocs\u002Fduel\u002Fcontracts\u002Foverview","JGRx_kXsriM3-SYA0GQ9bl2492e1wU42dKQ8bgmMwMg",1791232791635]