EnhancedToken.sol
bruteCoder
plain_text
9 months ago
1.0 kB
8
Indexable
// SPDX-License-Identifier: MIT pragma solidity 0.8.18; contract EnhancedToken { // Public variables here string public tokenName = "DogeCoin"; string public tokenAbbrv = "DOGE"; uint public totalSupply = 0; // Mapping variable here mapping(address => uint) public balances; // Events event Mint(address indexed to, uint256 value); event Burn(address indexed from, uint256 value); // Mint function function mint(address _address, uint _value) public { totalSupply += _value; balances[_address] += _value; emit Mint(_address, _value); } // Burn function function burn(address _address, uint _value) public { require(balances[_address] >= _value, "Not enough tokens to burn"); totalSupply -= _value; balances[_address] -= _value; emit Burn(_address, _value); } // Function to check balance of an address function balanceOf(address _address) public view returns (uint) { return balances[_address]; } }
Editor is loading...
Leave a Comment