Înapoi la portofoliuPortofoliu

Nookleus

Un hook Uniswap v4 care studiază celelalte hookuri. Le citește poolurile direct din memoria PoolManager, fără să ruleze nimic din codul lor, și o dată pe oră poate muta cu un pas unul dintre cele șase module de comision ale sale, spre abilitățile vii din ecosistem și spre cele pe care traderii le susțin cu comisioanele lor.

Rol
Concepție, analiză economică, Solidity, testare, pachetul de lansare și integrarea cu site-ul
Lansat
20 octombrie 2026, 21:00 UTCBlocul 26.236.348, prin Custom Launch de la Programmable
Contracte
Nouă scrise de mine, toate verificateEtherscan, potrivire exactă; plus trei contracte ale platformei
Testare
49 de teste Foundry pe un fork de mainnetToate cele 49, rulate din nou cu succes pe 21 octombrie 2026
Tehnologii
Solidity 0.8.26 (via IR), Foundry, Uniswap v4, Chainlink, JavaScript
Permisiunile hookului
0x2ACC

Încărcați un hook

Biții de permisiune, de la bitul 13 0x0000

Niciun bit setat.

Mărimea codului

Familiile din care face parte și firul pe care îl hrănește fiecare

  • Comisioane dinamicecomisionul poolului este dinamic

    TEMPERcrește comisionul modulului cu volatilitatea

  • Acționează înainte de swapbeforeSwap

    KINSHIPo reducere pentru deținătorii vechi

  • Acționează după swapafterSwap

    NECTARo parte pentru deținători

  • Preț personalizatbeforeSwapReturnDelta

    DIGESTrăscumpărare și ardere

  • Reguli de lichiditateoricare dintre cei șase biți de lichiditate

    ROOTSlichiditate în ETH

  • DonațiibeforeDonate sau afterDonate

    SPORESore de spori

Complexitate

0din 100

Familie

0x0000

Încărcați unul dintre cele patru hookuri sau activați biți.

Fig. 1. Un hook, așa cum îl citește Nookleus. Activați biții de permisiune ai unui hook, comisionul dinamic și mărimea codului sau încărcați unul dintre cele patru hookuri din aceste studii de caz. Familiile și scorul de complexitate urmează FieldGuide._mask și _complexity, la commitul 933e33b. La construirea acestei pagini, cele patru hookuri au fost listate pe un fork de mainnet cu FieldGuide-ul implementat, iar acesta a salvat exact valorile afișate aici.

Proiectul

Nookleus este un token, NOOK, cu un singur pool Uniswap v4 contra ETH. Hookul său, Nucleus, taxează fiecare tranzacție pe partea în ETH și rulează șase module de comision, numite fire, ale căror niveluri decid cât plătește o tranzacție și unde merge comisionul modulului. În jurul lui, alte trei contracte urmăresc restul Uniswap v4: oricine poate lista un pool într-un ghid de teren, o lentilă citește poolurile listate direct din memoria PoolManager, iar un creier, Helix, poate muta în fiecare oră un fir cu un nivel spre abilitățile vii din ecosistem.

Și traderii îl conduc. O tranzacție poate numi în datele hookului un hook listat: o zecime din comisionul ei de modul merge la cercetașul care l-a listat, iar tot comisionul susține familiile acelui hook când Helix cântărește din nou firele. Nimeni nu poate fixa manual un nivel, nici măcar proprietarul.

Problema

Uniswap v4 are mii de hookuri și nimic neutru care să arate ce abilități sunt noi, care sunt copii și ce pooluri sunt vii. Un recensământ pe care l-am rulat pe 16 octombrie 2026 a numărat 53.235 de pooluri cu ETH, dintre care 24.228 cu un hook: 6.038 de hookuri diferite, în 191 de combinații distincte de biți de permisiune. În cele 24 de ore anterioare, doar 95 dintre poolurile cu hook câștigaseră vreun comision LP.

Un hook care învață din alte pooluri are două capcane. Apelarea altui hook îi rulează codul, iar orice hook poate bloca apelul sau îi poate da un preț greșit. Nici încrederea în cifrele altui pool nu e mai bună: furnizorul de lichiditate al unui pool îi poate umfla gratuit comisioanele măsurate. Nookleus citește doar memoria, limitează influența oricărui pool la 5% din total, ține indicele doar pe hârtie și lasă banii să urmeze numai comisioanele pe care traderii chiar le plătesc.

Ce am construit

  1. Un recensământ înainte de orice linie de Solidity

    Un script a citit fiecare pool Uniswap v4 cu ETH și comisioanele câștigate de fiecare într-o zi. A arătat cât de slab e semnalul, iar o probă pe un fork a arătat că singurul furnizor de lichiditate al unui pool poate fabrica 0,191 ETH de comisioane măsurate cu o pierdere de 7 wei, plus gasul. De aceea nimic din ce plătește bani nu depinde de cifrele măsurate ale altui pool.

  2. Nouă contracte

    Tokenul, cu vechimea deținerii, recompensele NECTAR și limitele de lansare; hookul, cu comisioanele, cele șase fire, susținerile și pronosticurile; Helix, creierul și ceasul; Lens, care citește alte pooluri; FieldGuide, cu listările, abilitățile, copiile și Arborele hookurilor; Gut, care răscumpără și arde și plantează lichiditate în ETH; Specimens, NFT-uri de colecție; Amber, care păstrează lichiditatea; și Sprout, care a lansat totul.

  3. O lansare în doi pași, sub limita de gas

    Întregul graf avea nevoie de 24,9 milioane de gas, peste cei 16.777.216 pe care îi poate folosi o tranzacție Ethereum. Patru contracte au fost implementate întâi și se leagă doar de un apelant al cărui hash de cod este egal cu cel al contractului de lansare, pe care numai fabrica platformei îl poate crea. Tranzacția de lansare a folosit apoi 13.867.046 gas.

  4. Protecția de lansare Programmable, în interiorul hookului

    În primele 300 de secunde, cumpărările au trebuit să treacă prin Universal Router, niciun portofel nu a putut lua mai mult de 2% din cantitatea totală, iar cumpărările din primele 30 de secunde au plătit o suprataxă care a scăzut până la comisionul normal. Modulul și ambele seifuri sunt codul nemodificat al platformei, creat din bytecode-ul publicat de ea.

  5. 49 de teste pe un fork de mainnet și o revizuire adversarială

    Inclusiv întreaga lansare prin fabrica reală a platformei, protecția de lansare față de Universal Router-ul real și proba de tranzacționare fictivă.

  6. Integrarea cu site-ul

    Site-ul proiectului conectat la contracte: ceasul recensământului, un jurnal al fiecărei mișcări a Helix și o trusă din care fiecare apel se semnează direct din pagină: listarea unui hook, cumpărarea cu susținere, pronosticul pentru pasul următor, eșantionarea poolurilor, contestarea unei copii, retragerea recompenselor și apelurile de întreținere.

Brand și site

Nookleus este desenat ca o celulă vie: un nucleu verde, lucios, cu ochi, înconjurat de cârlige (hooks) pe care vizitatorii le pot trage în el, pe un fundal aproape negru. Titlurile late în Archivo, textul în Inter și cifrele în JetBrains Mono fac site-ul să arate ca un instrument de laborator, iar cadranul recensământului din Jurnal numără invers până la următorul pas orar.

Paletă
Fundal #050608Text #F4F4F0Verde #3DFFA8Violet #8A6BFFChihlimbar #FFB547
Tipografie
Archivo pentru titluri, latInter pentru textJetBrains Mono pentru date
Logoul Nookleus: un nucleu verde, cu ochi, în orbitele unui atom
Logo: nucleul.
Site-ul Nookleus: titlul The nucleus of the hook economy lângă un nucleu verde, lucios, cu cârlige în jur
Site-ul: ecranul de deschidere; cârligele pot fi trase în nucleu.
Jurnalul de pe site-ul Nookleus: un cadran care numără invers până la următorul recensământ orar și grila modulelor
Site-ul: Jurnalul, cu cadranul recensământului.
Jurnalul Nookleus pe un telefon
Pe un telefon.

Cum funcționează

  1. 1Listare

    Oricine listează un pool Uniswap v4 cu o garanție de 0,002 ETH. FieldGuide înregistrează cei 14 biți de permisiune ai hookului, dacă poolul are comision dinamic, un scor de complexitate și dacă codul copiază o listare mai veche, octet cu octet sau doar cu metadatele schimbate.

  2. 2Citire

    Lens citește până la 192 de pooluri ETH listate direct din memoria PoolManager, fiecare cel mult o dată pe oră, și transformă comisioanele și adâncimea lor în cota fiecărei familii pe o zi și pe o săptămână. Niciun pool nu contează mai mult de 5% din total.

  3. 3Susținere

    O tranzacție poate numi un hook listat în datele hookului. O zecime din comisionul ei de modul merge la cercetașul care l-a listat, iar tot comisionul modulului susține familiile acelui hook.

  4. 4Previzualizare

    La :45 în fiecare oră, Helix combină cotele ecosistemului cu susținerea traderilor și planifică cel mult un pas, de un nivel, pentru unul dintre cele șase fire. Oricine poate face un pronostic despre ce pas va fi.

  5. 5Pas

    La primul puls din ora următoare, planul se aplică. Tranzacțiile pulsează gratuit Helix când e scadent un puls; dacă pulsul eșuează, tranzacția trece oricum.

  6. 6Plată

    Fiecare tranzacție plătește 2,8% din partea sa în ETH: 0,30% platformei, 1,50% proprietarului și 1,00% modulelor, care îl împart între deținători, răscumpărare și ardere, lichiditate, orele de spori și observatorii care țin citirile la zi.

TEMPERurmează comisioanele dinamice

fiecare nivel adaugă 0,125% x volatilitatea la comisionul modululuila 8: până la +1,00%

KINSHIPurmează hookurile care acționează înainte de swap

fiecare nivel scade cu 6,25% comisionul modulului pentru portofelele care dețin 1M NOOK de 7 zilela 8: la jumătate

NECTARurmează hookurile care acționează după swap

fiecare nivel trimite deținătorilor 7,5% din comisionul modululuila 8: 60%

DIGESTurmează prețul personalizat

fiecare nivel trimite 7,5% la răscumpărare și ardere, plus tot ce nu revendică niciun firla 8: 60% și restul

ROOTSurmează regulile de lichiditate

fiecare nivel trimite 2,5% la lichiditatea în ETH pe care Gut o plantează peste prețla 8: 20%

SPORESurmează donațiile

fiecare nivel trimite 2,5% într-un fond plătit deținătorilor în orele de spori și adaugă o oră de spori pe zila 8: 20%, 8 ore

Fig. 2. Cele șase fire și ce face fiecare nivel, cu toate firele la nivelul de pornire, 4, așa cum au fost citite de pe mainnet pe 21 octombrie 2026. TEMPER și KINSHIP schimbă cât plătește o tranzacție; celelalte patru schimbă unde merge comisionul modulului, după cei 5% ai observatorilor.

Tranzacție. Fiecare swap își plătește comisionul. Când un puls e scadent, swapul îl rulează cu cel mult 1.200.000 gas; dacă pulsul eșuează, swapul trece oricum, iar pulsul se reîncearcă după 15 minute.

Pronostic. Oricine poate face un pronostic despre pasul pe care îl va planifica previzualizarea următoare, gratuit sau într-o tranzacție. Fiecare adresă are un singur pronostic deschis.

Previzualizare. La :45, Helix cântărește cotele familiilor măsurate de Lens și susținerea traderilor și planifică cel mult un pas de un nivel pentru ora următoare. Două evaluări la rând trebuie să fie de acord.

Aplicare. Primul puls din ora următoare aplică planul; comisioanele sunt întâi împărțite la nivelurile vechi.

Punctare. După încheierea orei, un pronostic corect primește un punct, iar primul care ghicește un nivel pe care poolul nu l-a avut niciodată primește un NFT Trait.

Fig. 3. O oră din viața Helix. Orele de spori sunt trase la primul puls din fiecare zi UTC, un experiment săptămânal poate ridica cea mai rară familie miercurea la 12:45 UTC, iar un sezon se închide la fiecare 30 de zile. O oră ratată este sărită, nu adunată.

0,30%Platforma de lansare
1,50%Proprietarul
1,00%Modulele, împărțit ca mai jos
5%Observatorii, care țin citirile la zi
28,5%NECTAR, la deținători
47,5%DIGEST, răscumpărare și ardere
9,5%ROOTS, lichiditate în ETH
9,5%SPORES, fondul sporilor

Fig. 4. Unde ajung cei 2,8% ai unei tranzacții și cum se împarte 1,00% al modulului la nivelurile de pornire. TEMPER și KINSHIP mută comisionul modulului între 0,50% și 2,00%, așa că o tranzacție plătește între 2,3% și 3,8%; în primele 300 de secunde, partea proprietarului a fost de 5%.

Contractele, explicate

Cantitate și emitere

Un miliard de NOOK au fost create o singură dată, la lansare, și toate au intrat în pool. Nicio funcție nu poate crea altele.

Pentru dezvoltatori

SUPPLY = 1_000_000_000e18 este emis în constructor către Sprout; nu există mint. Sprout.launch a plasat întreaga cantitate într-o singură bandă, a făcut prima cumpărare pentru proprietar și a ars restul rămas din rotunjire: 4.321 wei.

Ardere

Orice deținător își poate arde propriile tokenuri. Tot ce răscumpără Gut este ars, la fel și comisioanele în NOOK ale lichidității pe care o plantează.

Pentru dezvoltatori

burn(amount); nu există burnFrom. Gut.digest arde tot ce cumpără, iar Gut.gather arde comisioanele în NOOK ale unei poziții ROOTS. Un transfer la adresa zero nu este o ardere.

Transferuri și regulile lansării

Fără taxă pe transfer. Nimic nu s-a mișcat înainte de lansare. În primele cinci minute, niciun portofel nu a putut primi mai mult de 2% din cantitatea totală, iar cumpărările au trebuit să treacă prin Universal Router. Fiecare sold are o vechime a deținerii.

Pentru dezvoltatori

_move eșuează cu TradingNotStarted înainte de start(), cu excepția inițializării făcute de Sprout. Timp de PROTECTION_SECONDS = 300, primirile pe portofel au fost plafonate la walletTokenLimit (20.000.000 NOOK), fără excepții. Vechimea se recalculează la fiecare primire: since = (balance x since + amount x now) / (balance + amount).

Comisioane

Fiecare tranzacție plătește 2,8% din partea sa în ETH: 0,30% platformei, 1,50% proprietarului și 1,00% modulelor, care îl pot muta între 2,3% și 3,8%. Comisionul LP al poolului este zero. Un swap care specifică o sumă în ETH trebuie să se execute integral.

Pentru dezvoltatori

Rata este 3_000 + ownerPips() + module pips, cu ownerPips() la 50.000 timp de 300 de secunde după deschidere și 15.000 după aceea; proprietarul plus modulul nu depășesc niciodată HOOK_CAP_PIPS = 35_000 după fereastra de lansare. Tranzacțiile care specifică ETH plătesc în beforeSwap, celelalte în afterSwap, ca drepturi ERC-6909; o execuție parțială eșuează cu PartialFill.

m = MODULE_PIPS;
uint256 tl = uint8(lv >> (8 * TEMPER));
if (tl != 0) {
    (, int24 tick,,) = MANAGER.getSlot0(key.toId());
    m += (tl * TEMPER_STEP_PIPS * _volatility(s, tick)) / 10_000;
}
uint256 kl = uint8(lv >> (8 * KINSHIP));
if (kl != 0) {
    (uint256 age, uint256 bal) = INookToken(NOOK).ageOf(tx.origin);
    if (age >= KIN_AGE && bal >= KIN_MIN) m -= (m * kl * KIN_STEP_BPS) / 10_000;
}

Recompense pentru deținători (NECTAR)

O parte din comisionul modulului merge la deținători, în ETH, după numărul de tokenuri deținute. Până când este deținut 1% din cantitatea totală, recompensele se împart ca și cum acest 1% ar fi deținut, astfel încât un cumpărător timpuriu să nu poată lua singur un fond timpuriu. Deținătorii își retrag singuri partea.

Pentru dezvoltatori

flow() răscumpără registrele și apelează Nook.feed: shared = amount x eligible / max(eligible, FLOOR), cu FLOOR = SUPPLY / 100, și acc += shared x 1e30 / eligible; restul așteaptă spread(). harvest() plătește apelantul. PoolManager, hookul, Gut și Amber sunt excluse.

Creierul (Helix)

O dată pe oră, Helix poate muta un fir cu un nivel, între 0 și 8. Cântărește cât de vie este fiecare familie în poolurile listate și cât de mult o susțin traderii cu comisioanele lor. Un pas cere ca două evaluări la rând să fie de acord, iar un fir care scade la zero așteaptă șase ore înainte să poată crește.

Pentru dezvoltatori

sig = 0.6 x (dayShare - plain) + 0.4 x (weekShare - plain), combinat pe jumătate cu cotele susținerilor, când există; nimic nu se mișcă într-o bandă moartă de 0,03. Ținta 4 + 16 x sig, limitată la 0..8, trebuie să depășească nivelul cu 0,75. Candidatul este tras după pondere din keccak256(prevrandao, blockhash(n - 1), hour, species), la PREVIEW_AT = 2700 de secunde după ora fixă, și aplicat în ora următoare.

Lens

Lens nu apelează niciodată alt hook. Citește prețurile, lichiditatea și creșterea comisioanelor poolurilor direct din memoria PoolManager, cel mult o dată pe oră pentru fiecare pool, și plătește o mică recompensă celui care face citirile.

Pentru dezvoltatori

sample citește cuvinte extsload la keccak256(poolId, 6) și eșuează cu Unlocked când rulează în interiorul unui callback al PoolManager, așa că lichiditatea flash nu poate fi eșantionată. Adâncimea se poate cel mult dubla la fiecare 6 ore, rata comisioanelor unui pool este plafonată la 5% din adâncimea lui pe zi, iar influența lui la 5% din total. BOUNTY = 0.00002 ether pe pool; până la 192 de pooluri.

FieldGuide

Oricine poate lista un pool cu o garanție de 0,002 ETH, care se returnează după șapte zile. O copie exactă a unui hook mai vechi are originalitate zero, iar cine dovedește o copie aproape identică îi ia garanția. Primul hook al unei familii noi primește un NFT Species și intră în Arborele hookurilor sub cea mai apropiată rudă mai veche.

Pentru dezvoltatori

abilities = hook & 0x3fff și family = abilities | dynamic << 14. O copie are hash-ul de cod al unei listări mai vechi, cu sau fără metadatele CBOR; originality = 400 / (3 + count). contest dovedește o copie aproape identică: cod egal în afara unor intervale mascate de cel mult max(len / 100, 64) octeți. Părintele este cea mai veche familie aflată la un bit distanță, altfel la doi.

Puterile proprietarului și ale administratorului

Nu există administrator: nici pauză, nici actualizare, nici setări. Portofelul proprietarului doar primește: 1,5% din fiecare tranzacție și ce colectează Amber. Nu poate schimba comisioanele, firele sau soldul nimănui.

Pentru dezvoltatori

Niciun contract nu are funcții rezervate proprietarului, proxy sau delegatecall. OWNER este un destinatar imutabil în Nucleus, Amber și Sprout. remitOwner() poate fi apelat de oricine și plătește doar proprietarului. Apelurile de conectare (designate, start, bind, markOpening) erau rezervate Sprout și au rulat în tranzacția de lansare.

Lichiditate

Lichiditatea de lansare este o singură poziție păstrată de Amber, care are o singură funcție: trimite proprietarului comisioanele poziției. Hookul refuză orice retragere, așa că poziția nu poate fi retrasă niciodată. Cu un comision LP de 0%, ea nu câștigă nimic din tranzacții.

Pentru dezvoltatori

Prima adăugare trebuia să fie banda [-887,220, openTick]; adăugările ulterioare vin doar de la Gut. beforeRemoveLiquidity eșuează cu NoRemoval pentru orice lichiditate nenulă. Amber.collect(tokenId) rulează DECREASE_LIQUIDITY 0 și TAKE_PAIR către OWNER; NFT-ul poziției, #475267, este păstrat de Amber.

Valori aleatoare și date externe

Pasul pe care îl face Helix și orele zilnice de spori sunt trase din valoarea aleatoare a blocului; creierul nu folosește niciun oracol. Singura intrare din exterior a fost prețul ETH de la Chainlink, citit o singură dată la lansare, pentru a verifica valoarea minimă de deschidere cerută de platformă.

Pentru dezvoltatori

Alegerile folosesc keccak256(prevrandao, blockhash(n - 1), hour, species), iar orele de spori keccak256(prevrandao, day, species). Sprout.launch a citit fluxul Chainlink ETH/USD, vechi de cel mult o oră, înainte de deschiderea poolului.

Testare și securitate

49Teste Foundry pe un fork de mainnet, toate trecute la rularea din 21 octombrie 2026
13.867.046Gas folosit de tranzacția de lansare, sub cei 16.777.216 permiși unei tranzacții; întregul graf ar fi avut nevoie de 24,9 milioane
12 din 12Scenarii de protecție a lansării trecute la revizuirea manuală a platformei de lansare

O revizuire adversarială dinaintea lansării a găsit o problemă critică: o depășire numerică în indicele pe hârtie putea face ca închiderea sezonului să eșueze în beforeSwap și să oprească toate swapurile, fără niciun administrator care să o repare. Acum, fiecare pas opțional de pe calea swapului rulează în try/catch, cu un plafon de gas, iar un puls eșuat se reîncearcă după cincisprezece minute, în timp ce tranzacția trece. Revizuirea a arătat și că o eșantionare făcută în interiorul unui callback al PoolManager deschis de un atacator ar fi citit 9.850 ETH de lichiditate flash ca adâncime, așa că eșantionarea refuză acum în interiorul oricărui callback; și că 192 de listări-gunoi puteau ține pe dinafară listările reale timp de trei zile, așa că Lens elimină acum poolurile fără viață. Testarea site-ului pe un fork a prins apoi o eroare de ordine a apelurilor, care ar fi împiedicat pentru totdeauna emiterea Almanahului observatorilor; a fost corectată cu un test de regresie.

Măsurat pe un fork de mainnet pe 21 octombrie 2026 (test/Gas.t.sol), cu memorie rece și doar gasul de execuție, cu excepția lansării, care este tranzacția de pe mainnet.
OperațiuneGas
Cumpărare, intrare exactă în ETH224.612
Vânzare, intrare exactă în NOOK189.764
Cumpărare cu susținere și pronostic286.945
Cumpărare care rulează previzualizarea orară342.818
Cumpărare într-o zi UTC nouă, cu tragerea orelor de spori260.746
Cumpărare care închide un sezon întârziat cu o zi759.491
Eșantionarea a 8 pooluri, în regim stabil696.929
Flow, registrele către deținători, Gut și Lens361.247
Digest, răscumpărare și ardere299.946
Plant, lichiditate în ETH261.271
Listarea unui pool, familie nouă și căutare în Arbore743.532
Tranzacția de lansare pe mainnet13.867.046

Limite, spuse direct

  1. Semnalul este slab. Pe 16 octombrie 2026, doar 95 de pooluri cu hook și ETH au câștigat vreun comision LP într-o zi, iar Lens vede doar comisioanele LP și donațiile: comisioanele pe care un hook le ia prin return deltas, cum face chiar Nookleus, îi sunt invizibile.
  2. Furnizorul de lichiditate al unui pool îi poate umfla gratuit comisioanele măsurate. Evaluările sunt afișate, dar nimic din ce plătește bani nu depinde de ele, iar influența niciunui pool nu trece de 5% din total.
  3. Detectarea copiilor prinde codul identic și copiile aproape identice dovedite de un contestatar. O copie rescrisă apare ca nouă.
  4. KINSHIP citește portofelul care semnează tranzacția, așa că un bot care tranzacționează printr-un portofel vechi primește și el reducerea.
  5. Helix se mișcă doar când ceva îl pulsează, de obicei o tranzacție, iar propunătorul blocului poate influența ce fir este ales. Până când sunt listate și eșantionate pooluri, nu are ce citi și rămâne pe loc.

Starea on-chain

Date citite de pe Ethereum mainnet pe 21 octombrie 2026, la blocul 26.242.797

  • Un singur pool, ETH contra NOOK, cu un comision LP de zero; poziția de lansare este păstrată de Amber.
  • Niciun hook nu fusese încă listat în FieldGuide, așa că Lens nu urmărea niciun pool, iar Helix rămăsese pe loc la fiecare evaluare: toate cele șase fire erau încă la nivelul de pornire, 4.
  • Nu rulase încă nicio rundă NECTAR, iar primul sezon se închide pe 19 noiembrie 2026.

Contracte

Contractele de pe Ethereum mainnet
ContractAdresăSursă verificată

NookToken ERC-20, recompense pentru deținători

0x8B046926A7F875309117F749411e83c7E37Ff73d

NucleusHook Uniswap v4

0x443AdD53B98360742Fa8ba184757B7C87AA82AcC

HelixCreierul și ceasul

0xC473e283C3a67F5555160F659FC45f3c7365440F

LensCitește alte pooluri

0x26c73e8e7AdA0960146F9e197580c2669c93E41c

FieldGuideListări, abilități, copii

0x2140321022C095caecf7f81C5dA1e723f7Ac4444

GutRăscumpărare și ardere, lichiditate

0x107c837195102212D12b85978d90241c63F055EA

SpecimensNFT-uri de colecție

0xC9C2b82139BDc1240395b2326Dc8EFBe25a78710

AmberCustodia lichidității

0x852C050E9730c775F2809952C9F38ce625c06c72

SproutInițializarea lansării

0x444E9923E0754765C172a6925644496EE89f1262

Seif de comisioaneComisionul platformei, cod Programmable

0xA8EacC8f7A982502d68018BC9764850d0BceAFd5

Protecția lansăriiRegulile lansării, cod Programmable

0xad5A3bB32da2A7f6b39F3f7fFD004D9Ec2c2D3C0

Seiful suprataxeiSuprataxa de deschidere, cod Programmable

0xca512156A4e1d36ba4a1E81BA3B532dc6762d9cB

Toate cele nouă contracte scrise de mine sunt verificate pe Etherscan cu potrivire exactă, opt dintre ele și pe Sourcify. Compilator: solc 0.8.26, via IR, 1.000 de rulări ale optimizatorului, EVM țintă Cancun.

Depozitul de cod sursă: github.com/Nookleus/nookleus-contracts (se deschide într-o filă nouă)