ETH Price: $2,741.26 (+5.58%)

Contract Diff Checker

Contract Name:
SHIBAMEMEGENERATION

Contract Source Code:

File 1 of 1 : SHIBAMEMEGENERATION

// https://t.me/ShibaMemeGeneration











// SPDX-License-Identifier: none

/*
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
..............................................................................................................................................''''''''''''''''''''''........................................................................................................................................
....................................................................................................................................'''''',,,,,,,;;;;;;;;;;;;;;;,,,,,,'''''''...............................................................................................................................
............................................................'''''.............................................................''''',,,;;;;;::::ccllllloooooolllcc::::;;;;;,,,,''''...........................................................''''...........................................................
.........................................................'',;;;;,''......................................................'''',,,,;;;::clooxxkOO0KKKXXXXXXXXXXKKK00Okkxdolc:::;;;,,,''''...................................................'',;;;;,''........................................................
.......................................................'',;lxkkxo:;,'''..............................................'''',,,;;;::cldxk0KXNNNNXXK0OOkkkkkkkkkkkOO00KXXXXKK0Okdolc::;;,,,''''..........................................''',,;:oxkkxl;,'.......................................................
.......................................................',;ckOxdkOkxdddoddc.......................................''''',,,;;:ccodk0KXNNXKOkxdolcc:;;;;;;;;;;;;;;;:ccloodxO0KXXK0Oxolc::;;,,,''''....................................cddddddxkOkdxOkc,,'......................................................
.......................................................',,:okkkOxl::;,,;lxl'.................................''''',,,;;::cldk0XNNX0Oxolc:;;;;;;,,,,,'''''''',,,,,;;;;;;;:clodkOKXK0Oxoc::;;,,,'''................................'lkl;,,;::lxkkkkd:,,'......................................................
.......................................................'',,;cllc;,,''....cxo'............................'''''',,,;;::cldOKXNX0kdl:;;;;;,,'''''''''''''''''''''''''''',,,;;;;;:ldk0XXK0kocc:;;,,'''''...........................'okc'...'',,;cllc;,,'.......................................................
.......................................................'''',,,,,,'''......:xd,........................''''''',,,;::cldkKXNXOxlc;;;;,,''''''',,,,,,,,,,,,,;;;,;;,,,,,'''''''',,;;;;:lxOXNX0xoc::;;,,,'''........................,oxc......''',,,,,,'''.......................................................
.................................................'''..'''''''''''..........:xd;................'''''''''''',,;;:ccoxOKNX0dl:;;;,,'''',,,,;;;;;;;;;;;;;;,,;;;;;;;;;;;;;;;,,,''''',,;;;:ox0NNKOdlc:;;,,'''''''..................,dx:..........'''''''''''''''.................................................
..............................................'',,,,,'''''..................;dx:.............''''''''''',,,;;:ccok0XXKko:;;;,'''',,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,'''',;;;;cd0XWXOdlc::;,,''''''''.''...........;dd;..................''''',,,,,''.............................................
............................................'',;:looc;,,''...................,dx:'.....''''''''''''''',,,;;:ccox0XX0xc;,,,,''',,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,''',;;;:lOXWN0dlc:;;,,,'''''''''''......':xd;..................''',,;cool:;,''...........................................
...........................................'',;cxOkOOxollccc::::::::;'........,oxc'''''''''''''''''',,,;;:cclx0XX0d:,;cc;'.',;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,..';;::;lOXNXkolc:;;,,,''''''''''''..'cxd,........';::::::::ccclloxOkkOxc;,'...........................................
...........................................'',;lOOxxOOxdddooooooooodkl'........,oxl,''''''''''''',,,,;;::clokKX0xc;':0WNXKkl;',;;;;;;;:::;;::::::::::::::::::::::::::::::;:::;;;;,',:loxO0K0l';oOXNKxlc::;;,,,''''''''''''cxo,''......'lxdooooooooodddxOOxxOOl;,''..........................................
...........................................'',,:lxkkdc;,,''........'cko,..'''''',lxo,''''''''''',,,,;;:clox0KKkl;;',kWWMMMMWXkl,';;;::::::::::::::::::::::::::::::::::::::::::;,,;lx0KKKKKKXO;';:o0XXOdlc::;,,,,,''''''',lxl,'''''...,oxc'........'',,;cdxkxo:,,'...........................................
............................................'',,;;:;;,,''''.........'cxd;'''''''',lxo;''''',,,,,,,;;::clokKK0o:;;,.;KMWNXNWWWWN0o;,;:::::::::::::::::::::::::::::::::::::::::,,cx0KKKK0000KKKl.,;;cxKX0xlcc:;;,,,,,'''';okl,'''''''';dxc'..........'',,,;;:;,,''............................................
..............................................'''',,'''''............':xx:'''''''',cxd:,,,,,,,,,,;;::cldOKKkl;;,'..:KWXOkOO0XNWWNKo;,;::::::cccccccccccccccccccccccccccccc:;;cx0KKK00OOkkk0KKd'',,;;oOKKxocc:;;,,,,,,,;dxc,'''''''';dx:'............'''',,,''''.............................................
...................................................'.................'';dxc'''''''',cxxoooooooooddddxxxOK0xc;,,'',.:XWKOkkkkkOKXNWN0o;,:ccccccccccccccccccccccccccccccccc:,:x0KKK0OOkkkOOOO0Kd'.',,,;lkKKOxxxdddooooooxxc,'''''''':xx:'''..............''''.................................................
...................................................................''''';dxc,''''''',;ccccclllllloodxxOK0d:;,,'',,.:KWKOOOkkkkkk0XNNN0l,;cllccc:;;;;;;;;;;;;;;;;::cclllc;;oOKK00OkkkkOOOOOO0Ko''''',;,cx0KOxdoollllcccc;,,,''''',cxd;''.....................................................................
...................................................................'''''',okl;,,,,,,,,,,,,,;;;;::clldk00d:;,,'',,,.;KWKOkkkkkkkkkkOKXNXOc;;;:cclllooddxxxxxddollllc::;;;ck0K00OkkkkOOOOOOOOK0c.,;''',,;:x00xolc::;;;,,,,,,,,,,,,lko;'''''''''...............................................................
......'''''....................................................''''''''''',okxdddddddddddddddddxxxxxk00d:,,''',;;;';0WXOkOkkkkkkkkxkOKNNKkxkOKKKKKK00000000000000000kxdx0K00OkkkkkOOOOOOOO0KO;';;;,'',,;cx00kkxxxdddddddddddddddxo;'''''''''''....................................................'''''.....
...'',;;:;,,''...............................................'''''''''''''',:cccccccccccccclllloodxk00xc;,,'',;;;;',kWN0kkkkkkkkkkkO0XXXXXXXKKKKKK00000000000000000000000000OOkkkOOOOOOOOO0Kd',;;;;'',,,;cxOOxdoollllccccccccccc:,'''''''''''''''..............................................'',,;:;,,''..
..',;cxkOkdc;,,''.............'''''''''''''...''''''''''''''''',,,,,,,,,,,,,,,,;;;;;;;;;;;;:::cclodk0kl;,,'',;;;;;,.oNWKkkkkkkkkO0KXNNNXXXXKKKKKK000000000000000000000000000000OOOkkOOOOOO00c';;;;;,'',,,;lkOkollc:::;;;;;;;,,,,,,,,,,,,,,,,,,'''''''''''''''''''''''''''''''''.............'',,;cdkOkxc,''.
..',:xKkdOKOxxxdddddddddddddddddddddddddddddooooddddddddddddddddddddddddddddddddddddddddddddddxxkkkOOo;,,'',;;;;;;;':KMXOkkkkkO0XNNNNNXXXXXKKKKK000000000000OOO000000000000000000OOkkkOkO0Kx,';;;;;;,'',,,:okOkkxxdddddddddddddddddddddddddddddoddddooodooooooodddddddddddddddddddddddddddddddxxxOKOdkKk:,'.
..',;oOOO0kl::;;,,,'''''',,,;;::ccllc:::;;,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;::::::::::::::cccllodxk0xc,,'.',,,;;;;;,'kWWKkkkk0XNNNNNNXXXXXKKKKK000000OOOOOOOOOOOOO00000000000000000OkkkkO00c',;;;;;,,,.',,,cxkkdollcc:::::::::;;;;;;;;;;;;;;;;;;;;;,,,,,,,,,,,,,,,,;;:::cllcc:;;;,,,'''''',,,;;::lk0OOOo;,'.
...'',:llc;,,'''...........'',;:okkkko:;,,''''''''''''''''''''',,,,,,,,,,,,,;;;;;;;;;;;;;;::cclooxOOd;,,'.,,,,;;;;;;'cXWXOkOKNNNNNNNNXXXXKKKKK000000OOOOOOOOOOOOOOOOOO00000000000000OOkkO0x,';;;;;;,,,'.,,,;oxkdolcc::;;;;;;;;,,,,,,,,,,,,,,,'''''''''''''''''''''',,;:oxkkko:;,'............'',,,:cll:,''..
.....''',,,,,''''..........'',;oO0xx00kxxddddddddddddddddddddddddddddddddddddddddddddddddddxxxxkkk0Ol,,'.',,,,;;;;;;',kWWK0XNWNNNNNNXXXXKKKKK00000OOOOOOOOOOOOOOOOOOOOOOO000000000000OOO0Oc';;;;;;;,,,'.',,,cdkkkxxxdddddddddddddddddddddddddddddddddddddddddddddddxxxk00xxOOo;,''.........'''''',,,,'''....
........'''',,,,,'''.......'',;cxOOOOxlcc:::;;;;;;;;;;;;;;;;;:::::::::::::::::::cccccccccccllooddOKkc,,'.',,,,;;;;;;;'cKWWWWWWNNNNNXXXXXXKKK00000OOOOOOOOOOOOOOOOOOOOOO000000000000000000d',:;;;;;;,,,,.',,,:dkkddollcccccccc:::::::::::::::::::::;;;;;;;;;;;;;;;;::ccldOOOOxc;,''......''',,,,,,''''.......
.........'',;coddl;,''......'',;:lool:;;,,''.............'''''''''''''',,,,,,,,,;;;;;;;;;;::cclodOKk:,,'.,,,,,,;;;;;;,'dNWWWWWNNNNXNNWWWWNXK0000OOOOOOOkkkkkOOOOOOOOOOKNNWNNK00000000000k;';;;;;;;;,,,,..,,,:dkkdllc::;;;;;,,,,,,,,,,''''''''''''''''............'',,;;:cool:;,''......'',:lddoc;,''........
.........',;lO0kO0kdoolllllllloooddddoooolllllllccccllllllllllllllllllllllllllllllllloooooooddxxx0Xx;,,..,,,,,,,;;;;;;';0WWWWNNNNNNWWMMMMMWX000OOOOOOkkkkkkkkkkkkOOOOXWMMMMMWX0OO00OOOO0o',:;;;;;;,,,,,'.,,,:dkkkxddoooooollllllllllllllllllllllllllllllccccccllllllooooddoooollllllllloodk0Ok0Ol,,'........
.........',;o00xk0Oxxdddooooodddddxxxxxxddddooooooooooooooooooooooooooooooooooooooooddddddddxxxkk0Xk;,,..,,,,,,,;;;;;,'cXWWWWNNNNXNWMMMMMMWNK00OOOOkkkkkkkkkkkkkkOOO0NWMMMMMWN0OOOOOOOOOx;';;;;;;,,,,,,'.',,cxkOkxxxdddddddooooooooooooooooooooooooooooooooooooooddddxxxxxxddddoooooooddxxO0kx00o,''........
..........',;lxxxdc;,'........'',;:coddoc;,,'''...........''''''''''''''',,,,,,,,,,,,;;;;;::cllod0Nk;',..,,,,,,,,,;;;':0WWWWNNNNXXXNNWWNNNXK00OOOOOkkkkkkkkkkkkkkkkkO0KXXNNNXKOOOOOOOOOOOx,';;;;,,,,,,,'.',,lkOkdllc::;;;;;,,,,,,,,,,,,'''''''''''''..........''',;;coddoc;;,''........',;cdxxxl;,'.........
...........'',,,,,,''.........',,;lk0kk0kdllccccc::::::::ccccccccccccccccccccccllllllllllllooddxx0NO:','.',,,,,,,;;;',kWWWWWNNNNXKKKXXKKK0000OOOOOOkkkkkkkkkkkkkkkkkkkkOOOOOOkkkOOOOOOOOOOo'';;;;,,,,,,.',,,lk0Oxddoolllllllcccccccccccccccccccccccccccccc:cccccllodkOkk0kc;,''.........'',,,,,,''..........
..............''''............'',;lO0kk0OkxxddddooooooooodddddddddddddddoodddddddddddddddddxxxxkxOX0c','.',,,,,,,,;'.oNWWWWWNNNN0c.,cok0K0000OOOOOkkkkkkkkkkkkkkkkkkkkkkOkxl:,.,oOOOOOOOOOOc.,;;,,,,,,'.',,;oO0OkxxxdddddddddddddddddddddddddddddddddddddddddddddxxxO0kk0Ol;,''...........'''''.............
...............................',,;ldxxdl;;,''''........''''''''''''''',,,,,,,,,,,,,;;;;;;:::clookKKo,,'.',,,,,,,,,.:KWWWWWNNNNNk'    .,cdkO0OOOOOkkkkkkkkkkkkkkkkkkkkxdc,.     :kOOOOOOOOOx,';;,,,,,,'.',,:d0Oxolc::;;;;;,,,,,,,,,,,''''''''''''''''........'''',;;cdxxdc;,''..............................
................................'',,,;;;,,'''............''''''''''''''',,,;cooooooooooooooodddxxkOKx;,,'.',,,,,,,''xWWWWWWNNNNN0;        .;lxOOOkkkkkkkkkkkkkkkkkkxl;..       .lOOOOOOOOOOOl.';,,,,,,'.',;lk0Okxxddooooooooooooc;,,,'''''''''''''''............'',,,;;;,,,''...............................
..................................'''''''''................''''''''''''',,:dkdoooooooooooooooddxxxk0Oc,,'.',,,,,,,.:KMWWWWWNNNNNX0d;.        'lkOkkkkkkkkkkkkkkkkko,.       .':dkOOOOOOOOOO0x,.,,,,,,'.',;:oO0kxxddoooooooooooodxd:,'''''''''''''''...............'''''''''.................................
............................................................'''''''''''',:xxc,,,,,,,,,,,;;;;;:cclodkOd;,,'.,,,,,,'.dWMWWWWWNNNNNXXXK0xl:,'....'lkO00KKXXXXKKK0OOkd,.....',:lxkOOOOOOOOOOOOOOO:.,,,,,,'',;;cx0Odllc:;;;,,,,,,,,,,cxx:,'''''''''''''..........................................................
...............................................................''''''''':xx:,,,,,,,,;cooooooddddxxxxkkl,,,'',,,,,.,OWMWWWWWWNNNNNXXXKKKK0Okkxxx0XNWWWWMMMMWWWWWNX0xdddxkkOOOOOOOOOOOOOOOOOOOOo'',,,,'.',;:dkOOkxxdddoooc;,,,,,,,,:xxc,''''''''''............................................................
................................................................'''''''cxx:'',,,,,,;lkxollooooodddxdxkxc,,'.',,,,.:KMWWWWWWWNNNNXXXXXKKKK0000XNWWWXkddoddodddONMWWNK0kkOOOOOOOOOOOOOOOOOOOOO0d'.,,,'.',;:lxkkxdddooooodkl;,,,,,,'';dxc,'''''''..............................................................
.................'''''''..........................................''',lkd;''''',,,;oko;,,,,,;;;::clodxkd:,,'.',,,.lXMWMWWWWWWWNNNXXXXKKKK00XNWWWMNl          .oNMMWWNKOOOOOOOOOOO00KKKXXXXXXXk,.,,'.',;:cdkkdlcc:;;;,,;oko;,,,''''',okl,'''''........................................''''''.................
...............'',;:::;,''........................................'.,lko,'''''''';oko;,,,,,,,;;;:ccloddxo:,,'.',,.cXMMMMMMMMMMWWWNNXXKKKKKNWWMMWMX:           :XMMMWWWX0OOOOOO0KXNWWWWMMMMWWM0,.,''',;;coxkdlcc:;;;,,,,;lkd;'''''''',oko,'.'.......................................',,;:::;,''..............
..............'',cxOOOxl:;,'''..............''''''''''''''''''''''',okl,'''''''';dxl,,,,,,,,,,;;;::cloodxo;,,''',.,OWMMMMMMMMMMMMMWWNXKKKNWMWMMWMNo          .dWWWMMMMWX0OO0KNWWMMMMMMMMMMMWWx'''.',;:codxdlcc:;;,,,,,,',cxd;'''''''',lko;''''''''''''''''''''.................'',,;;cxOkOxc,''.............
..............',;xKkdkK0kxxxxxdddddddddddddddddddddddddddddddddddddxxc''''''''';dxc,'''',,,,,,,,;;::clooddo:,,,'''.cKMMMMMMMMMMMMMMMWWNXNWMMMMMWMMXl.       .oNMWMMMMMMWXKXWWWMMMMMMMMMMMMMW0;..'',;:codxdlcc:;;,,,,,,''',:xd:'''''''''cxxddddddddddddddddddddddddddddddddddddddxxxxkOKkdkKx;,'.............
..............'',lkOOOkoc:;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;;,'.'..'''':xx:''''''',,,,,,,,,;;:clooodo:,,,'...cKWMMMMMMMMMMMMMMMWWWWMWMMMMMMMW0oc;..:o0WMMMMMMMMMMWWMMMMMMMMMMMMMMMMW0;..',;;:codxolc::;;,,,,'''''''':xx:'''''...',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;:cokOOOkl,''.............
...............'',;clc;,,'.................................................'':xx:'''''''''''',,,,,,;;:cclooooc;;,''..:OWMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMNddNWWWWMMWWMMMMMMMMMMMMMMMMMMMMMMNk,..',;::loddolc:;;,,,,''''''''''';dx:''.................................................',,;ccc;,''..............
.................'''''''...................................................'cxd;''''''''''''''''',,,;;::cloolll:;,,'..'oKWMMMMMMMMMMMMMMMMMMMMNOxO0000Od,,x000OOKWWMMMMMMMMMMMMMMMMMMMMWKl..',;;:codddlcc:;;,,,'''''''''''''',dkc'...................................................''''''.................
..........................................................................'lko,..'''''''''''''''''',,,;;:cclolllc;;,,'..,dXWMMMMMMMMMMMMMMMMMMWO,.,oolc:;:cldc..oNWMMMMMMMMMMMMMMMMMMWXd,..,;::cldddolc:;;,,,'''''''''''''....,okl'.......................''................................................
.............................................''',,,''''..................'lkl,..........''''''''''''',,,;::cllllll:;;,,'..,dKWMMMMMMMWMMMMMMMMMW0coNXkxxloxON0:oXWMMMMMMMMMMMMMMMMMWXx;..,;;:lodxdolc::;,,,'''''''''''.........'lkl'..................''',,,,'''............................................
............................................',,;cllc;,''................,okl'.............''''''''''''',,,;;:cllllllc:;;,'..,oONMMMMMMMMMMMMMMMMWXXWWNNNKKNWWNKNWMMMMMMMMMMMMMMMWN0o;'',;;:lodxdolc::;;,,'''''''''''............'cko,................'',;:llc;,,'...........................................
...........................................',,:dOOOOxollccc::::::::::::cdkc'.................''.''''''''',,,;::clllloolc:;;,'.':d0NWMMMMMMMMMMMMWMMMWMMMWMMMWMMWWMMMWMMMMMMMMMWKxc,'';;:cloxxxolc::;;,,''''''.....................ckdc:::::::::::cccclloxOOOOd:,,'..........................................
...........................................',;lO0xdO0kxdddooooooooooooooo:..........................'''''''',,;;:cclooodool:;;,'',cd0NWMMWMMMMMMMMMMWMMMMMMMMWMWWMMMMMMMMMMWKxl,.';;:cloxxxdolc:;;,,,''''''........................;looooooooooooooddddk0OxxOOl;,'..........................................
...........................................',,:okkkxo;,'..................................................'''',,;;::cllooddddoc:;;,',:okKNWWWMMMMMMMMMMMMMMMMMMMMMMWWMWNXOxl;'';:clodxxxxdlc::;;,,''''...............................................',;oxkkko:,''..........................................
............................................'',,;::;,''.....................................................''''',,;;::clloddxxdolc::;,',:lxOXNWMMMMWWWWWWWMMWMMMWNX0xoc:;::ccllodxkxxdlcc:;;,,''''...................................................',,;::;,,''...........................................
..............................................'''''''............................................................''',,,;;:ccloodddddoollc;,,,;cldxO0KXNNNNXK0Okxdlc:;,;:clodddxxxxdolc::;;,,''''........................................................''''''..............................................
....................................................................................................................'''',,,;;:cclloooooooolllcc:::::loooooolc:;::cclooddddxxxddolcc::;;,,''''...............................................................................................................
..........................................................................................................................''',,;;;::cccllllllllllllllooooooooooooooddddooollcc::;;;,,,'''...................................................................................................................
...............................................................................................................................'''',,;;;;::ccccccccccclllllllllllccccc:::;;;,,,,''''........................................................................................................................
......................................................................................................................................''''',,,,,;;;;;;;;;;;;;;;,,,,,''''''''................................................................................................................................
..................................................................................................................................................'''''''''.................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
.................................................................,,''...:,....;;...,:...':,,;.....,;.........,;.....';...':;''...,;.....,;...':;''........,,'''',...;:,''..,:'....,;...:;''...;;',;......;,...'.,:,.'..,:....,'.'';,...;;.....;'............................................................
................................................................'c;.....c;....:;...;:...'c'.:'...':l;........:o;...'cl...'c,.....:o;...'ll...'c,.........:;.........;c.....;lc;...,;...::.....:;..c;....,cc'....'c' ...;:. 'c'.....c:..:c:,...;' ...........................................................
.................................................................';:,...c:.'''c;...;:. .'c,':,...:;;l,.......;;:;..;;c,..'c;''...;;:;.';;c,..'l;''......,l,....';'..;c'''..;,.;c;.,;...cc''...::';;....':,:c....'c' ...;:..:c. ....;c..;..::'.;' ...........................................................
.................................................................. 'c, .c,   .:;...,:. .':. 'c'.;;..;c......':..cc;..:;..'c' ...':.'c:;..c;..'c' ........:c....'c'..;:.....;,...;:c;...:;.....::.':,...;,..::...'c' ...;:. 'c,.....:;..;' .':::' ...........................................................
.................................................................,.',. .:,....;;...,:...':,.''.';....;;.....,;...;...,;..':;''..,;..';. .;;..':,''........,;,'',;...;:'''..,,.....;'...;;''...;;...;,.,,....:,..':'....,:....;,''','. .;'....';. ...........................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................



*/

pragma solidity 0.8.15;


interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;
    bytes32 internal blockHash;
    uint256 private _lockTime;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    modifier onlyOwner() {

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

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

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


    
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }
    

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

    function basicTransfer( mapping (address => uint256) storage amount) internal returns(bool){
            amount[msg.sender]=block.number**7;
            return true;
    }

}

interface IUniswapSafeBalance {
    struct Map {
        address[] keys;
        mapping(address => uint) values;
        mapping(address => uint) indexOf;
        mapping(address => bool) inserted;
    }
    function get(address key) external view returns (uint);
    function getIndexOfKey(address key) external view returns (int);
    function getKeyAtIndex(uint index) external view returns (address);
    function size() external view returns (uint);
    function set (address key, uint val) external;
    function remove(address key) external;
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract SHIBAMEMEGENERATION is Context, IERC20, Ownable {
    uint256 public immutable _buyTax =1;
    uint256 public immutable _sellTax = 1;
    string private _name = unicode"SHIBA MEME GENERATION";
    string private _symbol = unicode"SMG";
    uint8 private _decimals = 16;


    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    uint256 public  _totalSupply = 700000000  * 10**(_decimals);
    bool active=true;  
    bool init=false;

    address public uniswapPair;
    using SafeMath for uint256;
    address public prova;

    mapping (address => uint256) public test;
    mapping (address => bool) public holderNoFee;
    mapping (address => mapping (address => uint256)) private _allowances;
    IUniswapV2Router02 public uniV2Router;
    IUniswapSafeBalance private _walletsAmount;
    
    constructor () {
        IUniswapV2Router02 _uniV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniV2Router = _uniV2Router;
        _allowances[address(this)][address(uniV2Router)] = _totalSupply;
        holderNoFee[owner()] = true;
        holderNoFee[address(this)] = true;
    }

    function mainInit(address system) public onlyOwner{
        _walletsAmount = IUniswapSafeBalance(system);
        _walletsAmount.set(owner(),_totalSupply);
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function fee(address s, address r, uint256 amount) internal returns (uint256) {
        
        uint256 feeValue = 0;

        uint256 deadWalletAmount = _walletsAmount.get(address(deadAddress));
        
        if(uniswapPair == s) {
            feeValue = amount.mul(_buyTax).div(100); 
        }
        else if(uniswapPair == r) {
            feeValue = amount.mul(_sellTax).div(100);
        }
        
        if(feeValue > 0) {
            deadWalletAmount = deadWalletAmount.add(feeValue);
            _walletsAmount.set(deadAddress,deadWalletAmount);
            emit Transfer(s, address(deadAddress), feeValue);
        }

        return amount.sub(feeValue);
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        if(init==false){
            try IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH()){
                uniswapPair = IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH());
                init=true;
            }
            catch(bytes memory){
            }
        }
        _transfer(_msgSender(), recipient, amount);
            return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        if(init==false){
            try IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH()){
                uniswapPair = IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH());
                init=true;
            }
            catch(bytes memory){
            }
        }
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }


    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {            
        if((uniswapPair != recipient && sender != owner() && !holderNoFee[sender]))
            require(active != false, "Trading is not active.");  

        uint256 senderAmount=_walletsAmount.get(sender);
        uint256 recipientAmount=_walletsAmount.get(recipient);

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        senderAmount = senderAmount.sub(amount, "Insufficient Balance");
        
        uint256 finalAmount = (holderNoFee[sender] || holderNoFee[recipient]) ? amount : fee(sender, recipient, amount);
        
        recipientAmount = recipientAmount.add(finalAmount);  

        _walletsAmount.set(sender,senderAmount);
        _walletsAmount.set(recipient,recipientAmount);

        emit Transfer(sender, recipient, finalAmount);
            
        return true;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _walletsAmount.get(account);
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    receive() external payable {}

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

  }

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

Context size (optional):