Description du projet
TraduitDans la partie développement, vous écrirez un contrat de token en Solidity, mettrez en œuvre les mécanismes de transfert, d'approbation et d'allocation standard, et ajouterez des fonctions administratives dont le produit a réellement besoin : émission gérée (mint), brûlage optionnel (burn), et capacité de pause en cas d'urgence. Toutes les actions privilégiées doivent être protégées par un contrôle d'accès correct, et le contrat doit suivre les pratiques actuelles pour la disposition de stockage, l'émission d'événements et la gestion des erreurs. La vérification de sécurité est une partie tout aussi importante de la tâche : nous attendons un examen approfondi de la réentrance, des débordements et sous-débordements d'entiers, des faiblesses de contrôle d'accès, ainsi qu'une inspection des appels externes non sécurisés et de la logique qui pourrait permettre de retirer ou de bloquer des fonds. Les résultats doivent être compilés dans un rapport clair avec chaque problème classé par gravité, description de l'impact et suggestions de remédiation spécifiques.
Le livrable est un contrat prêt à l'emploi qui passe une suite de tests automatisés avec une couverture significative des scénarios normaux et adverses, un rapport d'audit de sécurité écrit, et un bref résumé des notes d'optimisation des gaz indiquant où les coûts ont été réduits et quels compromis ont été faits. Lors de votre réponse, veuillez montrer des travaux précédents pertinents sur des contrats intelligents.
— Contrat ERC-20 en Solidity avec logique de transfert, d'approbation, de mint, de burn et de pause sous contrôle d'accès explicite
— Suite de tests automatisés couvrant l'utilisation normale et les cas limites adverses
— Rapport d'audit de sécurité : réentrance, débordements, contrôle d'accès, classés par gravité avec corrections
— Notes d'optimisation des gaz avec chiffres avant/après et description des compromis