• Duel is open op Robinhood Chain
  • Lanceer een duel twee tokens, drie pools, één transactie
  • Ronde sluit over --:--:--
  • Rondes van vier uur de terugkoop van de winnaar heeft een prijslimiet
  • Liquiditeit vergrendeld voor altijd, geen teamtokens

Contracten

Duel bestaat uit zes contracten, vijf ervan gedeployd op Robinhood Chain en één nooit gedeployd, gebouwd op de Uniswap V4-deployment van de chain. Solidity 0.8.26, Foundry, OpenZeppelin, v4-core. De duels leven op de chain: de app leest die, via de server van de site of rechtstreeks, en hun geschiedenis uit een indexer van de events van de chain.

ContractRol
DuelFactoryLanceert een duel in één transactie: twee tokens, drie pools, vergrendelde posities, de lanceringsaankopen van de creator. Beheert de begrensde configuratie van toekomstige duels; een lancering legt zich vast op de configuratie die de lanceerder heeft gelezen (configHash) en draait terug als er intussen een andere van kracht werd.
DuelHookDe Uniswap V4-hook die de drie pools van elk duel delen: vergoedingen, anti-snipebelasting, de burn bij wissels, de herschikking, het gemiddelde van de verdeling, rondes en terugkopen, en de pot, de creatorvergoedingen en de protocolvergoedingen van elk duel.
DuelTokenDe gewone ERC-20 van elke kant: één miljard eenheden, verbrandbaar, zonder eigenaar, met permits (EIP-2612).
DuelRouterDe exact-input-router waarmee de app handelt, inclusief de permit van een verkoop; alleen hij verkoopt een kant in meerdere stappen wanneer de ETH-pool van die kant de verkoop niet in één keer kan opnemen (SALE_PASSES), en wat die pool zelfs dan niet kan terugkopen, via de andere kant (sell). Elke V4-router werkt ook, in één swap.
DuelLensAlleen-lezen-views die de toestand van een duel voor de app verzamelen.
DuelSimulatorNooit gedeployd. De app zet zijn code voor één alleen-lezen-aanroep op je eigen adres (een state override), zodat een trade loopt zoals je hem zou versturen en antwoordt wat je zou ontvangen en waar de verdeling zou uitkomen nadat de pools zijn herschikt.

Versie

Dit launchpad is Duel V1, codenaam Petunia. Elk van zijn contracten zegt dat (VERSION() en CODENAME() op de factory, de hook, de router en de lens), en elke token die het lanceert, houdt dat voorgoed (LAUNCHPAD_VERSION() en LAUNCHPAD_CODENAME()): het onderdeel Over van een duel toont het, zoals zijn tokens het zeggen. Een later, apart gedeployd launchpad zou doortellen, met een eigen codenaam, en zijn tokens zouden de hunne noemen.

Adressen

Duel steunt op deze contracten van Robinhood Chain:

Uniswap V4 PoolManager0x8366a39CC670B4001A1121B8F6A443A643e40951
Universal Router (mainnet)0x204FAca1764B154221e35c0d20aBb3c525710498
V4 Quoter0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94
Permit20x000000000022D473030F116dDEE9F6B43aC78BA3

De hook

Het adres van een V4-hook draagt de lijst van callbacks die hij implementeert. De hook van Duel gebruikt:

CallbackWat hij doet
beforeInitializeAlleen de factory mag een pool op de hook openen, en alleen de geregistreerde pools van een duel.
beforeAddLiquidityAlleen de factory mag liquiditeit toevoegen, bij de lancering.
beforeRemoveLiquidityDraait altijd terug: de liquiditeit is voor altijd vergrendeld.
beforeDonateDraait altijd terug.
beforeSwapRekent een afgelopen ronde af, werkt de gemiddelden bij, heft vergoedingen en belastingen.
afterSwapHeft de vergoedingen die verschuldigd zijn over het bedrag dat de swap niet vastlegde, controleert dat een vooraf belaste swap volledig is uitgevoerd en herschikt daarna de drie pools.

Vergoedingen worden geheven met de return deltas van de hook, dus ze gelden wie de swap ook routeert.

Wie wat kan

ActorKan
IedereenLanceren, handelen, afgelopen rondes afrekenen, opeisingen voor de creator of de treasury starten, voorgestelde voorwaarden toepassen zodra hun 48 uur voorbij zijn
De creator van een duelDe creatorvergoedingen van dat duel ontvangen; de rol, met de vergoedingen, overdragen aan een adres dat hem accepteert
Eigenaar van de factoryNieuwe lanceringen pauzeren; na 48 uur de begrensde voorwaarden voor toekomstige duels of de protocoltreasury wijzigen. De huidige treasury ontvangt opgebouwde protocolvergoedingen op het moment van opeisen. Het deel van het protocol in de swapvergoeding van alle duels meteen verlagen, of weer verhogen, nooit boven hun voorwaarden.
NiemandLiquiditeit weghalen, tokens minten, een pot verplaatsen, de vergoeding die de traders van een lopend duel betalen of het deel van zijn creator wijzigen, het deel van het protocol boven de voorwaarden van een duel verhogen, een duel zijn creatorrol afnemen, contracten upgraden

Meer

  • Beveiliging: wat de fondsen beschermt en hoe dat is gecontroleerd.
  • Bouwen op Duel: duels lezen en handelen vanuit je eigen code.