Skip to content

About

Vyqno ERC-20 Token, A fully tested, gas-efficient smart contract built with Foundry and OpenZeppelin Contracts.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

🚀 Vyqno Token (VQ)

Solidity    OpenZeppelin    Foundry    License

A modern ERC20 token with minting, burning, and permit functionality


🎯 Overview

Vyqno (VQ) is a feature-rich ERC20 token built with modern Solidity practices and OpenZeppelin's battle-tested contracts. The token includes advanced features like gasless transactions through EIP-2612 permits, controlled minting, and efficient burning mechanisms.

Key Highlights

  • ✅ Initial Supply: 1,000 VQ tokens
  • ✅ Decimals: 18 (Standard ERC20)
  • ✅ Owner-controlled minting
  • ✅ Burnable tokens
  • ✅ EIP-2612 Permit support
  • ✅ Comprehensive test coverage

🔥 Features

Feature Description Status
ERC20 Standard Full ERC20 compliance with transfer, approve, allowance ✅
Minting Owner can mint new tokens to any address ✅
Burning Token holders can burn their own tokens ✅
Burn From Approved spenders can burn tokens on behalf of others ✅
Permit Gasless approvals using EIP-2612 signatures ✅
Access Control Owner-based access control for sensitive operations ✅

📄 Contract Details

Core Information

Token Name: vyqno
Symbol: vq
Decimals: 18
Initial Supply: 1,000 VQ

📁 Project Structure

vyqno-token/
├── 📁 .github/                 # GitHub workflows and templates
├── 📁 broadcast/               # Foundry deployment broadcasts
├── 📁 cache/                   # Build cache files
├── 📁 lib/                     # Dependencies (forge-std, openzeppelin)
├── 📁 out/                     # Compiled contract artifacts
├── 📁 script/                  # Deployment scripts
│   └── 📄 vyqnoDeploy.s.sol   # Main deployment script
├── 📁 src/                     # Smart contracts source code
│   └── 📄 vyqnoERC20.sol      # Main Vyqno token contract
├── 📁 test/                    # Test files
│   ├── 📄 vyqnoDeploymentTest.t.sol  # Deployment tests
│   └── 📄 vyqnoTest.t.sol     # Core functionality tests
├── 📄 .env                     # Environment variables (not tracked)
├── 📄 .gas-snapshot           # Gas usage snapshots
├── 📄 .gitignore              # Git ignore rules
├── 📄 .gitmodules             # Git submodules configuration
├── 📄 foundry.lock            # Foundry dependencies lock file
├── 📄 foundry.toml            # Foundry configuration
└── 📄 README.md               # Project documentation

Key Directories

Directory Purpose
src/ Contains the main smart contract (vyqnoERC20.sol)
script/ Deployment scripts for different networks
test/ Comprehensive test suite with 100% coverage
lib/ External dependencies (OpenZeppelin, Forge-std)
out/ Compiled contract artifacts and ABIs
broadcast/ Deployment transaction records


🌐 Deployment Information

🔗 Sepolia Testnet Deployment

Parameter Value
Network Sepolia Testnet
Contract Address 0x73Bc0123F2454561a9A63740cdF0918f7F0193FC
Transaction Hash 0x783a906da08abd5e3fe944e3359fdff70caa62117b776361a4b7e2da88152141
Block Number 9,283,362
Deployment Date September 26, 2025
Gas Used 1,978,419

View on Etherscan


🧪 Testing

Test Coverage Summary

VyqnoTest Results

✅ testIfInitialSupplyGivenToRecipient    (Gas: 17906)
✅ testIfInitialOwnerHasMintingRights     (Gas: 54537)
✅ testIfOtherAddressCanMint              (Gas: 27544)
✅ testAllowance                          (Gas: 83841)
✅ testBurnTokenByCaller                  (Gas: 41349)
✅ testBurnFromWithAllowance              (Gas: 57644)
✅ testBurnFromWithInsufficientAllowance  (Gas: 45371)
✅ testBurnWithInsufficientBalance        (Gas: 16296)

Total: 10 tests passed ✅

DeployVyqnoTokenTest Results

✅ testDeploymentReturnsValidContract     (Gas: 1796257)
✅ testDeployedTokenHasCorrectName        (Gas: 1802352)
✅ testDeployedTokenHasCorrectSymbol      (Gas: 1802304)
✅ testDeployedTokenHasCorrectDecimals    (Gas: 1797969)

Total: 4 tests passed ✅

Overall Test Summary

🎉 14 tests passed, 0 failed, 0 skipped
⏱️ Total execution time: 25.99ms (6.50ms CPU time)

🛠️ Installation

Prerequisites

Setup

# Clone the repository
git clone <repository-url>
cd vyqno-token

# Install dependencies
forge install

# Compile contracts
forge build

# Run tests
forge test

# Run tests with gas reporting
forge test --gas-report

💻 Usage

Deploying the Contract

  1. Set up environment variables:
export RECIPIENT_ADDRESS=<recipient_address>
export INITIAL_OWNER=<owner_address>
export PRIVATE_KEY=<your_private_key>
export SEPOLIA_RPC_URL=<your_alchemy_rpc_url>
export ETHERSCAN_API_KEY=<your_etherScan_api>
  1. Deploy to Sepolia:
forge script script/vyqnoDeploy.s.sol:DeployVyqnoToken --rpc-url $(SEPOLIA_RPC_URL) --private-key $(PRIVATE_KEY) --broadcast --verify --etherscan-api-key $(ETHERSCAN_API_KEY)

🤝 Connect With Me

GitHub    X (Twitter)

Let's goooooooo!


📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


About

Vyqno ERC-20 Token, A fully tested, gas-efficient smart contract built with Foundry and OpenZeppelin Contracts.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages