• Duel è aperto su Robinhood Chain
  • Lancia un duello due token, tre pool, una transazione
  • Il round chiude tra --:--:--
  • Round di quattro ore il riacquisto del vincitore ha un limite di prezzo
  • Liquidità bloccata per sempre, nessun token del team

Contratti

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.

ContrattoRuolo
DuelFactoryLancia 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 (configHash) e fa revert se nel frattempo se n'è applicata un'altra.
DuelHookL'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.
DuelTokenIl normale ERC-20 di ogni fazione: un miliardo di unità, bruciabile, senza proprietario, con i permit (EIP-2612).
DuelRouterIl 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 (SALE_PASSES), e ciò che quel pool non può riacquistare nemmeno allora, attraverso l'altra fazione (sell). Funziona anche qualsiasi router V4, con un solo swap.
DuelLensViste in sola lettura che raccolgono lo stato di un duello per l'app.
DuelSimulatorMai 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.

Versione

Questo launchpad è Duel V1, nome in codice Petunia. Ognuno dei suoi contratti lo dichiara (VERSION() e CODENAME() sulla factory, sull'hook, sul router e sulla lens), e ogni token che lancia lo conserva per sempre (LAUNCHPAD_VERSION() e 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.

Indirizzi

Duel si basa su questi contratti di Robinhood Chain:

PoolManager di Uniswap V40x8366a39CC670B4001A1121B8F6A443A643e40951
Universal Router (mainnet)0x204FAca1764B154221e35c0d20aBb3c525710498
V4 Quoter0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94
Permit20x000000000022D473030F116dDEE9F6B43aC78BA3

L'hook

L'indirizzo di un hook V4 contiene l'elenco delle callback che implementa. L'hook di Duel usa:

CallbackCosa fa
beforeInitializeSolo la factory può aprire un pool sull'hook, e solo i pool registrati di un duello.
beforeAddLiquiditySolo la factory può aggiungere liquidità, al lancio.
beforeRemoveLiquidityFa sempre revert: la liquidità è bloccata per sempre.
beforeDonateFa sempre revert.
beforeSwapRegola un round finito, aggiorna le medie, preleva commissioni e tasse.
afterSwapPreleva 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.

Le commissioni sono prelevate con i return delta dell'hook, quindi si applicano chiunque instradi lo swap.

Chi può fare cosa

AttorePuò
ChiunqueLanciare, 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
Il creatore di un duelloRicevere le commissioni del creatore di quel duello; cedere il ruolo, con le sue commissioni, a un indirizzo che lo accetta
Proprietario della factorySospendere 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.
NessunoRitirare 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

Altro