Skip to content

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

Notifications You must be signed in to change notification settings

vyqno/vyqnoERC20-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published