Skip to content

A highly efficient ERC20 token implementation in Yul Assembly for Solidity smart contracts.

Notifications You must be signed in to change notification settings

Aboudjem/Yul-ERC20-assembly

Repository files navigation

Solidity 0.8.19 Yul Assembly Foundry Twitter: @adamboudj License: MIT

Yul-ERC20-Assembly 🔥 🚀

Welcome to the Yul-ERC20-Assembly repository, a high-performance, low-level ERC-20 token contract written using inline Assembly / Yul for EVM interactions! This project leverages the power of Foundry, a smart contract development toolchain that streamlines your workflow with dependency management, compilation, testing, deployment, and more. ✨

EVM Assembly

💻 What is Yul-ERC20-Assembly?

The Yul-ERC20-Assembly project is a groundbreaking implementation of an ERC20 token contract that utilizes inline Yul Assembly to maximize performance and reduce gas costs. As an amazing and skilled Solidity EVM developer, I've crafted this repository to showcase a unique and efficient approach to token contract development. 💪

Low-level coding

⚡ Features

  • High-performance token contract using Yul Assembly 🏎️
  • Managed by Foundry, a powerful smart contract development toolchain 🔧

Optimization

🌟 What's Inside

This project includes:

  • A Yul-based ERC20 token contract 💰
  • Inline assembly (Yul) for an improved developer experience 😎
  • Detailed inline comments and documentation 📚

Contract

🚀 Get Started

  1. Clone the repository and run the following commands (compile and run the tests). (This assumes you have foundry installed of course):
git clone https://github.com/aboudjem/Yul-ERC20-Assembly.git
cd Yul-ERC20-Assembly
  1. Compile the contract:
forge compile
  1. Run tests:
forge test

Getting started

📚 Learn More

Dive into the world of Yul Assembly and low-level EVM coding with these helpful resources:

Learning

👏 Credits

A big shoutout to the creator of this repository (me) for their passion and dedication to pushing the boundaries of smart contract development! 🏆

Celebrate

📝 License

This project is licensed under the MIT License.

Releases

No releases published

Packages

No packages published