Discover more of Etherscan's tools and services in one place.
Sponsored
Contract Source Code:
File 1 of 1 : Token
// SPDX-License-Identifier: MIT pragma solidity ^0.8.21; /// Papi.Cash Token contract contract Token { string public name; string public symbol; uint256 public decimals; uint256 public totalSupply; mapping(address => uint256) public balanceOf; mapping(address => mapping(address => uint256)) public allowance; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); constructor(string memory _name, string memory _symbol, uint _decimals, uint _totalSupply) { name = _name; symbol = _symbol; decimals = _decimals; totalSupply = _totalSupply; balanceOf[msg.sender] = totalSupply; } function transfer(address _to, uint256 _value) external returns (bool success) { require(balanceOf[msg.sender] >= _value); _transfer(msg.sender, _to, _value); return true; } function _transfer(address _from, address _to, uint256 _value) internal { require(_to != address(0)); balanceOf[_from] = balanceOf[_from] - (_value); balanceOf[_to] = balanceOf[_to] + (_value); emit Transfer(_from, _to, _value); } function approve(address _spender, uint256 _value) external returns (bool) { require(_spender != address(0)); allowance[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function transferFrom(address _from, address _to, uint256 _value) external returns (bool) { require(_value <= balanceOf[_from]); require(_value <= allowance[_from][msg.sender]); allowance[_from][msg.sender] = allowance[_from][msg.sender] - (_value); _transfer(_from, _to, _value); return true; } }
Please enter a contract address above to load the contract details and source code.
This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.