APE Price: $0.44 (+1.75%)
    /

    Contract Diff Checker

    Contract Name:
    WETH9

    Contract Source Code:

    // SPDX-License-Identifier: MIT
    pragma solidity >=0.8.4;
    
    contract WETH9 {
        string public name = "Wrapped Ape";
        string public symbol = "WAPE";
        uint8 public decimals = 18;
    
        event Approval(address indexed src, address indexed guy, uint256 wad);
        event Transfer(address indexed src, address indexed dst, uint256 wad);
        event Deposit(address indexed dst, uint256 wad);
        event Withdrawal(address indexed src, uint256 wad);
    
        mapping(address => uint256) public balanceOf;
        mapping(address => mapping(address => uint256)) public allowance;
    
        receive() external payable {
            deposit();
        }
    
        function deposit() public payable {
            balanceOf[msg.sender] += msg.value;
            emit Deposit(msg.sender, msg.value);
        }
    
        function withdraw(uint256 wad) public {
            require(balanceOf[msg.sender] >= wad, "");
            balanceOf[msg.sender] -= wad;
            payable(msg.sender).transfer(wad);
            emit Withdrawal(msg.sender, wad);
        }
    
        function totalSupply() public view returns (uint256) {
            return address(this).balance;
        }
    
        function approve(address guy, uint256 wad) public returns (bool) {
            allowance[msg.sender][guy] = wad;
            emit Approval(msg.sender, guy, wad);
            return true;
        }
    
        function transfer(address dst, uint256 wad) public returns (bool) {
            return transferFrom(msg.sender, dst, wad);
        }
    
        function transferFrom(address src, address dst, uint256 wad) public returns (bool) {
            require(balanceOf[src] >= wad, "");
    
            if (src != msg.sender && allowance[src][msg.sender] != type(uint256).max) {
                require(allowance[src][msg.sender] >= wad, "");
                allowance[src][msg.sender] -= wad;
            }
    
            balanceOf[src] -= wad;
            balanceOf[dst] += wad;
    
            emit Transfer(src, dst, wad);
    
            return true;
        }
    }

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

    Context size (optional):