ETH Price: $3,671.74 (+0.00%)

Contract Diff Checker

Contract Name:
ERC20

Contract Source Code:

// SPDX-License-Identifier: MIT

// L.A.M.B.O. = Legends Always Moon Before Others

pragma solidity 0.8.17;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function _renounceOwnership() internal virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner can not be the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract ERC20 is Ownable {

    string public constant name = "LegendsAlwaysMoonBeforeOthers";
    string public constant symbol = "LAMBO";
    uint8 public constant decimals = 18;  
    uint256 public constant totalSupply = 34643662287895000000000000; // 34,643,662.287895 * (10**decimals)
    uint256 public maxTXamount = totalSupply;
    uint256 public maxTXamountLaunch = 150000 * (10**decimals);

    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
    event Transfer(address indexed from, address indexed to, uint tokens);


    mapping(address => uint256) balances;

    mapping(address => mapping (address => uint256)) allowed;
    
   constructor() {  
	    maxTXamount = maxTXamountLaunch;
        address newOwner = _msgSender();
        balances[newOwner] = totalSupply;
        transferOwnership(newOwner);
    }  
 
    function balanceOf(address tokenOwner) external view returns (uint) {
        return balances[tokenOwner];
    }
     function tokenRemaning(address token) external view returns (uint) {
        return balances[token];
}
    function transfer(address receiver, uint numTokens) public returns (bool) {
       uint OwnerBalance=balances[msg.sender];
        require(numTokens <= OwnerBalance ,"Don't have enough Tokens...");
        require(numTokens <=maxTXamount ,"Current Max number of tokens limit per single transaction exceeded");

        balances[msg.sender] = OwnerBalance-numTokens;
        balances[receiver]+=numTokens;
        emit Transfer(msg.sender, receiver, numTokens);
        return true;
    }

    function approve(address delegate, uint numTokens) external returns (bool) {
        allowed[msg.sender][delegate] = numTokens;
        emit Approval(msg.sender, delegate, numTokens);
        return true;
    }

    function allowance(address owner, address delegate) external view returns (uint) {
        return allowed[owner][delegate];
    }

    function transferFrom(address owner, address buyer, uint numTokens) public returns (bool) {
       uint OwnerBalance=balances[owner];
       uint AlowedOwner=allowed[owner][msg.sender];

        require(numTokens <= OwnerBalance,"Don't have enough Tokens...");    
        require(numTokens <= AlowedOwner);
    
        balances[owner] = OwnerBalance-numTokens;
        allowed[owner][msg.sender] =AlowedOwner-numTokens;
        balances[buyer] +=numTokens;
        emit Transfer(owner, buyer, numTokens);
        return true;
    }
    
    function updateMaxTXamount(uint256 newMaxTXAmount) external onlyOwner returns (bool){
        maxTXamount = newMaxTXAmount * (10**decimals);
        return true;
      }

    function renounceOwnership() external virtual onlyOwner {
        // Make sure to remove any swap limits by setting to total supply before calling standard renounce function
        maxTXamount = totalSupply;
        _renounceOwnership(); 
    }
}

Please enter a contract address above to load the contract details and source code.

Context size (optional):