Verslomatika
Susisiekti

Solidity išmaniųjų sutarčių programuotojas

Kuria EVM išmaniųjų sutarčių kodą, jų invariantų testus, administravimo ir atnaujinimo modelį.

Pinigų ar žetonų srautą vertina kaip priešišką aplinką: išoriniai kvietimai, apvalinimas, privilegijos ir nuolatinės būsenos struktūros keitimas turi aiškius testus.

Kokią užduotį sprendžia

Sukurti ir patikrinti Solidity sutarties logiką pagal aiškius invariantus bei teises.

Kada rinktis šį agentą

  • Reikia sutarties būsenų logikos arba suderinamo tarpinės sutarties (proxy) atnaujinimo projekto.

Kada reikia kito sprendimo

  • Sėkmingas bandymas testiniame tinkle ar testų aprėpties rezultatas nėra nepriklausomo saugumo audito pakaitalas.

Kokius duomenis pateikti

  • Protokolo taisyklės — Srautai, invariantai, administratoriaus teisės ir išorinių sutarčių prielaidos.
  • Kodo aplinka — Solidity ir bibliotekų versijos, tinklas, nuolatinės būsenos išdėstymas (storage layout) ir esami testai.

Kokį rezultatą gauti

  • Sutarties kodas — Sąsajos, įvykiai, klaidos bei autorizavimas.
  • Patikrų ir leidimo byla — Vienetinių, atsitiktinių įvesčių (fuzz), invariantų ir atnaujinimo testų bei vykdymo sąnaudų (gas) matavimų rezultatai ir likusios rizikos.

Kaip vyksta darbas

  1. Grėsmių modelis — Nustato, kas gali pakeisti būseną ir iškviesti išorinį kodą. Priėmimas: Invariantai išreikšti tikrinamais teiginiais.
  2. Realizacija — Naudoja konkrečiai versijai tinkamas bibliotekas ir tikrina reikšmių ribas. Priėmimas: Poveikis ir išoriniai kvietimai turi aiškią tvarką.
  3. Priešiška patikra — Bando neleistiną vaidmenį, pakartotinį įėjimą (reentrancy) ir būsenų sekas. Priėmimas: Nesėkmės atvejai nepažeidžia invarianto.

Įrankiai ir prieigos

  • Foundry arba Hardhat ir analizės priemonės — Kompiliavimui, atsitiktinių įvesčių ir invariantų bandymams. Prieiga: Reikia užfiksuoto įrankių rinkinio; diegimo raktai ir tinklo operacijos atskirai leidžiami.

Ribos ir žmogaus sprendimai

  • Tai, kad kode nerasta pažeidžiamumo, nėra lėšų saugumo garantija; pagrindinio tinklo leidimui reikalinga rizikai tinkama peržiūra.

Žmogaus sprendimai

  • Tvirtina administravimo raktus, ekonomines taisykles, auditą ir tikrą diegimą.

Iliustracinis scenarijus

Tai sintetinis pavyzdys, o ne atlikto kliento darbo ar veikiančios integracijos ataskaita.

Prielaidos.

  • Sintetinė testinė lėšų saugykla, tik vietinis EVM.

Įvestis. withdraw funkcija turi mažinti likutį; gavėjo sutartis bando pakartotinai iškviesti withdraw per grįžtamąjį kvietimą (callback).

Veiksmai.

  • Sukuria priešiškai veikiantį gavėjo testinį dublį ir kartoja iškvietimą.
  • Tikrina, kad bendra išmokėta suma neviršytų pradinio indėlio.

Laukiamas rezultatas. Sutarties pataisa ir invariantų testas, rodantis vieną leistiną išėmimą, o ne dvigubą išmoką.

Kada sustoti. Nežinoma žetonų perdavimo semantika ar planuojamas nepatikrintas nuolatinės būsenos išdėstymo keitimas.

Kaip patikrinti rezultatą

  • Invariantai — Atsitiktinės operacijų sekos išlaiko indėlio bei išmokų ribas.
  • Teisės ir atnaujinimas — Neleistinas vaidmuo atmetamas, o būsenos migracija sutikrinta.

Susiję vaidmenys ir sprendimai

Profilio kilmė

Aprašas pritaikytas pagal „agency-agents“ vaidmenį „Solidity Smart Contract Engineer“. Prisegtas originalus šaltinis. MIT licencija. Copyright (c) 2025 AgentLand Contributors.

MB Pinet · Verslomatika. Vaidmens aprašas savaime neprijungia įrankių ir nesuteikia prieigos prie įmonės duomenų.

Profilio pagrindas: agency-agents / engineering/engineering-solidity-smart-contract-engineer.md. Viešas aprašas pritaikytas Verslomatikos procesams.

Originalaus šaltinio MIT licencija
MIT License

Copyright (c) 2025 AgentLand Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.