• Duel ist offen auf Robinhood Chain
  • Starte ein Duell zwei Token, drei Pools, eine Transaktion
  • Runde schließt in --:--:--
  • Runden von vier Stunden der Rückkauf des Gewinners hat ein Preislimit
  • Liquidität gesperrt für immer, keine Team-Token

Verträge

Duel besteht aus sechs Verträgen, fünf davon auf Robinhood Chain deployt und einer nie deployt, aufgebaut auf dem Uniswap-V4-Deployment der Chain. Solidity 0.8.26, Foundry, OpenZeppelin, v4-core. Die Duelle leben auf der Chain: Die App liest sie, über den Server der Website oder direkt, und ihre Historie aus einem Indexer der Chain-Events.

VertragRolle
DuelFactoryStartet ein Duell in einer Transaktion: zwei Token, drei Pools, gesperrte Positionen, die Launch-Käufe des Creators. Hält die begrenzte Konfiguration künftiger Duelle; ein Launch verpflichtet sich auf die Konfiguration, die sein Starter gelesen hat (configHash), und wird rückgängig gemacht, wenn zwischenzeitlich eine andere gilt.
DuelHookDer Uniswap-V4-Hook, den die drei Pools jedes Duells teilen: Gebühren, Anti-Snipe-Steuer, Burn bei Wechseln, Neuausrichtung, Durchschnitt der Verteilung, Runden und Rückkäufe sowie Pot, Creator-Gebühren und Protokollgebühren jedes Duells.
DuelTokenDer schlichte ERC-20 jeder Seite: eine Milliarde Einheiten, verbrennbar, ohne Owner, mit Permits (EIP-2612).
DuelRouterDer Exact-Input-Router, über den die App handelt, inklusive Permit eines Verkaufs; nur er verkauft eine Seite in mehreren Durchgängen, wenn ihr ETH-Pool den Verkauf nicht auf einmal aufnehmen kann (SALE_PASSES), und was dieser Pool selbst dann nicht zurückkaufen kann, über die andere Seite (sell). Jeder V4-Router funktioniert ebenfalls, in einem einzigen Swap.
DuelLensRead-only-Views, die den Zustand eines Duells für die App bündeln.
DuelSimulatorWird nie deployt. Die App legt seinen Code für einen einzigen Read-only-Aufruf auf deine eigene Adresse (ein State Override), sodass ein Trade so läuft, wie du ihn senden würdest, und beantwortet, was du bekämst und wo die Verteilung nach der Neuausrichtung der Pools landen würde.

Version

Dieses Launchpad ist Duel V1, Codename Petunia. Jeder seiner Verträge sagt das (VERSION() und CODENAME() auf Factory, Hook, Router und Lens), und jeder Token, den es startet, behält es für immer (LAUNCHPAD_VERSION() und LAUNCHPAD_CODENAME()): Der Abschnitt „Info“ eines Duells zeigt es, so wie es seine Token sagen. Ein späteres, separat deploytes Launchpad würde weiterzählen, mit einem eigenen Codenamen, und seine Token würden ihren nennen.

Adressen

Duel stützt sich auf diese Verträge von Robinhood Chain:

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

Der Hook

Die Adresse eines V4-Hooks trägt die Liste der Callbacks, die er implementiert. Der Hook von Duel nutzt:

CallbackWas er tut
beforeInitializeNur die Factory darf einen Pool am Hook eröffnen, und nur die registrierten Pools eines Duells.
beforeAddLiquidityNur die Factory darf Liquidität hinzufügen, beim Launch.
beforeRemoveLiquidityWird immer rückgängig gemacht: Die Liquidität ist für immer gesperrt.
beforeDonateWird immer rückgängig gemacht.
beforeSwapRechnet eine beendete Runde ab, aktualisiert die Durchschnitte, erhebt Gebühren und Steuern.
afterSwapErhebt die Gebühren, die auf den vom Swap nicht festgelegten Betrag fällig sind, prüft, dass ein vorab belasteter Swap vollständig ausgeführt wurde, und richtet dann die drei Pools neu aus.

Gebühren werden über die Return-Deltas des Hooks erhoben, gelten also unabhängig davon, wer den Swap routet.

Wer was darf

AkteurDarf
JederStarten, handeln, beendete Runden abrechnen, Abholungen für Creator oder Treasury auslösen, vorgeschlagene Konditionen nach Ablauf ihrer 48 Stunden anwenden
Der Creator eines DuellsDie Creator-Gebühren dieses Duells erhalten; die Rolle samt Gebühren an eine Adresse übergeben, die sie annimmt
Owner der FactoryNeue Launches pausieren; nach 48 Stunden begrenzte Konditionen künftiger Duelle oder die Protokoll-Treasury ändern. Die aktuelle Treasury erhält angesammelte Protokollgebühren zum Zeitpunkt der Abholung. Den Anteil des Protokolls an der Swap-Gebühr aller Duelle sofort senken oder wieder anheben, nie über ihre Konditionen.
NiemandLiquidität abziehen, Token minten, einen Pot verschieben, die Gebühr, die die Trader eines laufenden Duells zahlen, oder den Anteil seines Creators ändern, den Anteil des Protokolls über die Konditionen eines Duells anheben, einem Duell die Creator-Rolle wegnehmen, Verträge upgraden

Mehr

  • Sicherheit: was die Mittel schützt und wie es geprüft wurde.
  • Auf Duel bauen: Duelle aus eigenem Code lesen und handeln.