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.
Studiul de caz 04 din 04 · Ethereum mainnet · activ din 20 octombrie 2026 · blocul 26.236.348
- 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.
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
- 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.
- 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.
- 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.
- 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.
- 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ă.
- 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
Cum funcționează
- 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.
- 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.
- 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.
- 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.
- 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.
- 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ă.
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.
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ă.
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.
_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.
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.
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.
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.
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.
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.
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.
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ă.
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
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.
| Operațiune | Gas |
|---|---|
| Cumpărare, intrare exactă în ETH | 224.612 |
| Vânzare, intrare exactă în NOOK | 189.764 |
| Cumpărare cu susținere și pronostic | 286.945 |
| Cumpărare care rulează previzualizarea orară | 342.818 |
| Cumpărare într-o zi UTC nouă, cu tragerea orelor de spori | 260.746 |
| Cumpărare care închide un sezon întârziat cu o zi | 759.491 |
| Eșantionarea a 8 pooluri, în regim stabil | 696.929 |
| Flow, registrele către deținători, Gut și Lens | 361.247 |
| Digest, răscumpărare și ardere | 299.946 |
| Plant, lichiditate în ETH | 261.271 |
| Listarea unui pool, familie nouă și căutare în Arbore | 743.532 |
| Tranzacția de lansare pe mainnet | 13.867.046 |
Limite, spuse direct
- 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.
- 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.
- Detectarea copiilor prinde codul identic și copiile aproape identice dovedite de un contestatar. O copie rescrisă apare ca nouă.
- 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.
- 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
| Contract | Adresă | Sursă verificată |
|---|---|---|
NookToken ERC-20, recompense pentru deținători |
0x8B046926A7F875309117F749411e83c7E37Ff73d | Etherscan (se deschide într-o filă nouă) |
NucleusHook Uniswap v4 |
0x443AdD53B98360742Fa8ba184757B7C87AA82AcC | Etherscan (se deschide într-o filă nouă) |
HelixCreierul și ceasul |
0xC473e283C3a67F5555160F659FC45f3c7365440F | Etherscan (se deschide într-o filă nouă) |
LensCitește alte pooluri |
0x26c73e8e7AdA0960146F9e197580c2669c93E41c | Etherscan (se deschide într-o filă nouă) |
FieldGuideListări, abilități, copii |
0x2140321022C095caecf7f81C5dA1e723f7Ac4444 | Etherscan (se deschide într-o filă nouă) |
GutRăscumpărare și ardere, lichiditate |
0x107c837195102212D12b85978d90241c63F055EA | Etherscan (se deschide într-o filă nouă) |
SpecimensNFT-uri de colecție |
0xC9C2b82139BDc1240395b2326Dc8EFBe25a78710 | Etherscan (se deschide într-o filă nouă) |
AmberCustodia lichidității |
0x852C050E9730c775F2809952C9F38ce625c06c72 | Etherscan (se deschide într-o filă nouă) |
SproutInițializarea lansării |
0x444E9923E0754765C172a6925644496EE89f1262 | Etherscan (se deschide într-o filă nouă) |
Seif de comisioaneComisionul platformei, cod Programmable |
0xA8EacC8f7A982502d68018BC9764850d0BceAFd5 | Etherscan (se deschide într-o filă nouă)EthereumNativeFeeVaultV3 al platformei Programmable, nemodificat, creat de hook. Etherscan îl arată ca potrivire similară cu originalul verificat al platformei. |
Protecția lansăriiRegulile lansării, cod Programmable |
0xad5A3bB32da2A7f6b39F3f7fFD004D9Ec2c2D3C0 | Etherscan (se deschide într-o filă nouă)LaunchProtectionModuleV1 al platformei Programmable, nemodificat, creat de hook. Potrivire exactă pe Etherscan. |
Seiful suprataxeiSuprataxa de deschidere, cod Programmable |
0xca512156A4e1d36ba4a1E81BA3B532dc6762d9cB | Etherscan (se deschide într-o filă nouă)EthereumNativeFeeVaultV3 al platformei Programmable pentru suprataxa de deschidere, nemodificat, creat de hook. Etherscan îl arată ca potrivire similară. |
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ă)



