EnhancedToken.sol
bruteCoder
plain_text
2 years ago
1.0 kB
12
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