Smart Contract Engineer (Solidity)
Warstwa tokenowa agregatora wymian cross-chain: wielosezonowy airdrop, buy-and-burn i audyt, który ma wrócić czysty.
O tej roli
Budujemy niepowierniczy agregator wymian cross-chain. Routing i backend są zbudowane, a wymiana przechodzi od początku do końca; start jest przed nami. Po nim przychodzi token: wielosezonowy airdrop dla ludzi, którzy korzystają z produktu, i buy-and-burn finansowany z opłat. Routing idzie przez agregator, a nie przez własne pule, więc nie ma tu AMM: powierzchnia on-chain jest mała i celowo nudna, bo tak naszym zdaniem powinien wyglądać kod, przez który przechodzą pieniądze. Mniej więcej jedna trzecia tej roli to nie Solidity, i ta trzecia część też należy do Ciebie.
Czym będziesz się zajmować
- Airdrop i odbiór na drzewie Merkle, wielosezonowy. To główna część pracy. Nowy korzeń na sezon, brak podwójnego odbioru, wypłata z vestingiem powyżej progu, bramka uprawnień i możliwość wstrzymania odbioru.
- Buy-and-burn: wydaje USDC ze skarbca na otwartym rynku i pali. Najpierw wyzwalany z multisiga, później przez keepera. To zlecenie rynkowe, więc ochrona przed poślizgiem i MEV musi być prawdziwa.
- Token: ERC-20 z kreatora OpenZeppelin, z permit. Bez pauzowania, bez własnej logiki transferu.
- Zestaw testów w Foundry (jednostkowe, fuzz, stanowe inwarianty i fork mainnetu, pokrycie powyżej 95%), plus weryfikacja formalna matematyki i czysta analiza statyczna.
- Repozytorium kontraktów, jego CI i droga na testnet: lokalny fork Arbitrum, potem Arbitrum Sepolia, potem skrypty wdrożeniowe i weryfikacja na Arbiscanie.
- Podpięcie Safe i timelocka: dwa Safe (administracyjny i skarbcowy), progi, portfele sprzętowe, timelock przed administracją i osobny klucz pauzy o niskim progu, który go omija na wypadek incydentu.
- Strzeżony start: limity podnoszone stopniowo, haki pauzy i każdy setter ograniczony już przy wdrożeniu. `setMaxSlippage` bez sufitu to tylne drzwi, a nie pokrętło.
- Cały cykl audytowy: niezależny przegląd przed audytem, firma audytorska, publiczny konkurs, poprawki i wdrożenie dokładnie tego, co było audytowane.
- Obsługa sezonów i przekazanie: narzędzia Merkle, nowy korzeń przepchnięty przez multisiga, okno odbioru, nieodebrana reszta. Wszystko zbudowane, a potem przećwiczone na testnecie, aż dwie osoby spoza tematu poprowadzą to bez Ciebie.
Dwa kontrakty, których może nie być
Staking z udziałem w opłatach (blokady, rozliczanie nagród, boost, limit depozytu) i losowa mechanika skrzynek (rozliczanie kluczy, progi nagród i źródło losowości, które nie kosztuje więcej niż nagroda) czekają na opinię prawną. Domyślnie zakładamy, że żaden nie powstanie, ale wyceń oba, bo odpowiedź musi zapaść przed zamrożeniem zakresu audytu, a nie da się zamrozić zakresu wokół nierozstrzygniętego kontraktu. Chainlink CCT jest po starcie: na starcie token ma być tylko gotowy na CCT, a to, czy kiedykolwiek będzie mógł emitować, rozstrzyga się przed wdrożeniem tokena i jest nieodwracalne.
Co jest nasze, nie Twoje
Wszystko off-chain. Backend routingu, frontend wymiany i środowiska są zbudowane; silnik punktów, przeciwdziałanie sybilom, snapshot Merkle, interfejs odbioru i monitoring budujemy obok Ciebie. Vesting zespołu i inwestorów to konfiguracja Sabliera, a nie kontrakt, który piszesz. Opłaty przychodzą off-chain w wielu tokenach na wielu łańcuchach i ich zbieranie to nasza rutyna. Do Ciebie trafia USDC w skarbcowym Safe, a to, jak buy-and-burn z niego czerpie, jest pytaniem projektowym, na które chcemy Twojej rekomendacji, przy jednym warunku: błąd w tym miejscu nie może nigdy sięgnąć dalej niż przydzielona kwota. Płynność zakładamy sami; chcemy Twojego zdania o miejscu notowania przed napisaniem tokena, a nie Twojego czasu na jej prowadzenie.
Pasujesz, jeśli masz
- Solidity, który trafił na mainnet i trzymał prawdziwe pieniądze.
- Twoje kontrakty, które przeszły formalny audyt i o których ustaleniach potrafisz opowiedzieć.
- Stanowe testy inwariantów w Foundry, nie tylko jednostkowe.
- Potrafisz wymienić realną klasę exploita i powiedzieć, co ją zatrzymuje w kodzie.
- Zgłaszasz otwartą decyzję, zamiast jej zakładać.
Mile widziane
- Wypuszczone kontrakty dystrybucji Merkle, vestingu albo stakingu.
- Profil na Code4rena, Sherlocku albo Cantinie.
- Obsługa Safe i timelocka.
- Chainlink CCT albo CCIP.
Co oferujemy
- B2B, w PLN albo równowartości w USDC. Faktura miesięczna, płatna w siedem dni.
- W pełni zdalnie, z dowolnego miejsca. Domyślnie asynchronicznie, bez stałych spotkań, CET.
- Twoje godziny: rozliczasz to, co przepracujesz. Bez dolnego progu i bez sufitu.
- Firmowy laptop i sprzętowe klucze bezpieczeństwa, dostarczone i skonfigurowane.
- Spisana specyfikacja, model zagrożeń i katalog klas exploitów, żebyś nie zgadywał wymagań.
- Dwa do trzech opłaconych audytów (firma plus publiczny konkurs), niezależny recenzent przed nimi i bug bounty działające przed mainnetem.
- Kilka miesięcy do startu, zakończonych przekazaniem, i opcjonalny retainer po nim.
Jak aplikować
- 1.Dwa lub trzy kontrakty Twojego autorstwa, które trafiły na mainnet, i to, co trzymały.
- 2.Raporty z ich audytów.
- 3.Jeden akapit: przy takim zakresie, co niepokoiłoby Cię najbardziej?
- 4.Dostępność i to, na który koniec widełek liczysz.
Punkt trzeci jest tym, który naprawdę czytamy.
Aplikuj
Jedna wiadomość, jeden plik. Trafia do nas mailem, a na tej stronie nic się nie zapisuje.