ETH Price: $2,432.76 (+1.15%)
Gas: 4.32 Gwei

Transaction Decoder

Block:
17831652 at Aug-03-2023 03:00:59 AM +UTC
Transaction Fee:
0.032051132687440128 ETH $77.97
Gas Used:
1,879,041 Gas / 17.057175808 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x49DBe94B...62B07846C
1.8702579 Eth
Nonce: 0
1.838206767312559872 Eth
Nonce: 1
0.032051132687440128
0xb3BfE91b...73afe63d0
0 Eth
Nonce: 0
0 Eth
Nonce: 1
From: 0 To: 92807188525142646931283101753440427285753844587555800994916395278726745339526674337500619848062941685601955059788706570401113289067986355494015066319263682940195138425167907874296727853773375235731649501331105329257969243027924210566853504824434418946964792676981157386201410145472669820196358319608858862188386699405311857317023252194568939682850701982027903485406317223221082623460084770513345479088131254599999871180898397835195320907609313045483670559823748345069593640216662930818917678655731338653211652689375500181215483428723154761377755357502344967107687074031136420815001402227259989758226864650741472583781327559631890979437803480200712203559914698022408047398314708562476080199489130183088103988428751378854394826546808299760996436259374205178092945720597497906726324115045575216082778435125636016022564157616939993103749821234124559645903285355053806927390973160142933499124555209778303918500696614268362455865533174505989049020394234501534499698633508563591263091949323815349244016582573499042597441407602845363363467296833545413133541744954588838995036361701094798696166811317864618799845577362104248965100977429321896375977975630452829841517510567852808105604751651256667935166222467220715073242813388477285896448117883934725596475836485709038138879122422203733950583325045862231796842348835034185631611258147989976271753801246905356659243017268149221167400070521826103312284277780924886253497779918297577460830431091133586249048013024899979146327901925740361679455822604742604991734188789972225077348976971178494808720054348198562377313236285038429552160819150344283097875501013824353969407513689978478470919250140441162336462799281153088442868974088648257550079180272048102044268114736128955165719902193595682606131646332238981439694751889620821491037421183405153286125466111827250373420509279788837764812744325270646243991193746220696728211595660014979780607985485333452246471784508722553817764831617720250268184677235071421004394476647455913388405473783575807490486876683419052580419243854085158101522482317011030463356836127065554596553263256077675373304539992934120391672752607710598857195867513510911021818928631860799752975833308131878416586044463359755487855081800244185462760400297885148559480802173089124712727579439852933192318241012716653742023587214828393075965602332577395361720169528278031053099002949065466114413322116895516044893549395470090194484133142661434785085020764591741341371609428401881924228623237780938075883053318420871909151418627084633460591241556698444555228280158169689802446459302694358882548744102661955136707066170729664297914330732204836085693607457128809714906497577189427323796735061215376122596746361215040946562843346360833702633204181672655804147490212491751882515187089453869659369281576550442590402032046714709858178837042043288998862977264687538465568286945126070341949420267729292743707629792840463237418451261404441375461380785485162216141308005062402784143050419558360444626512806076756048021582698084101613252272401092802429856036227953775664832286183008849342286179239060776123297065184021277886222484225391565839680583613371856559407664226210049090322761079668864989764738385149019762181096852630564010091373527337538282305509838587572398638673830037058561547920145221206439208240369106675941695967934612132359045688534408548831434623409434811299013657008282328509235407273722169779276030755104843612573752711462448692222014298356543123022704414510447559714185908106574001309779441292963179735822892362283841207506691161261690362427002037713995780641334142866226144208064134791256724240563180709386348482245181898142458192530351708070527171614947568173797256899060019758825569594896138638906960701654580661558842581826620041994628125255325368665112597700173228989075182560311742314404668658646944064804838404439132543938436112907141856652967397224697296940897463330985241068738696458893041946625112155143307486664632560118853746927938400480291447117858007780622873250371073791623096407012872705350963276150719941931210225967364589777349141174522631839258050578055294179999451075782767886032878940299901792931774093456998743147124204681820884103193478282542616897996019858890219521334555423590355634682250995506903302449894733741797139320262756952220821202294456814183929066741387041715070756605272854899706122055299891011436063315380517423034608146855775428566878634167165894157431673217650896722720341486939231590382467097329948400740703387657643715676199846387072024298611664912763769877769217193738544400692020845212962534605503723293143582711248392903119441166348967856830334873511856645677985392405643425436968538039457808922018528952138703071201979050102098304844284203472984262414421175208085595307306679515475687450674871586904171345276150345193946055651261123400940665759697051411888506439794696691379265072519584237461306241186469795326477081956002314769605079280531509916557042655745857463338872998042835434708251110553893953927050330789173245681213586489016783597961043302257336597126684492708935425815471938482434680993105891937402747088665226746839264417684805251181603113347558382475248713849479354655274885298103042294156172711103592530919755393489500265550111420909156509260704674052708024199362145359661496354422479746831139422295856538309482237089116254385524287294488133542863180154205060805235463036607185128316147859789114674033344998225087430137314153814149902877077838964091006915256909423019951070872017217955752950403160527156334883386167385096510886252785899023332071155900919096941980902875331026337763080238790668538522674499792059040035918922058949182793796194189971110062298486844470036984008400387767091362041344696202338438331738351550844855720560472076722919360132531907381345577908252762439071344462453641295685978310832508777251906539692727445240747065842319281834342993326090406888989852345173448068941955219021640817662572905028475786646164191814577935538995374629319078304535851044310218633562016133813114891885551548579029330284489927895650195108939823426165947453023682271204895915549728764093012179381613560112794214735411788625796209717399162559243864979870065407413350674550873743370817459373379674911771226892081705578845739981674030516769933337493367967854336874301771812175063924660543447888558210519206222295013565077822951736618110406716177553391496041909411194257661966494390781132632001993183494451998781466903967109108712591413685389680974681862127652306224639765097467427733445022861142780818371505629883426864657408185011480815892933717916841526930934381038895831924697169469306103304884680826028693254019608476744769411940968379828818654966674560696986772320811707948869489384030998899628276423357653233519427944010158113488555844605639405157713103124090503218657615866637581432540661696497463278612964596297828776965010790320067455744466657632233274639401507235273596004783918507660608228257627517053063613967493330622427977454951013470942050099431086527725261802678949214836869999166625823545090341817599900842547704403379316217954141255768607998779508800630725631501753496084297251475224017370290551634370988543515558764622450942207899513005709678345808570138209050283982530606893286265898117977815200843940458950447243372707356928600965624501523314151568283991915995746379743252808953957177695887603562016831997001127658511358271522284611344489402795320876467334931874013795548988595449830937405188288289687070652199837379483021942811409602043845652673997111885119279926374195912708886592272094038974559916252712131727847241441896638353427058619881492681816885144974709596237912477078646935047899657477604162101606097743813334363803599029686826556317869868038184055423034427244243188425734112735629070977031262761853320031776945014409161878029179116301410581302071171460473424122858212247835646002941691868184044554696003973172863167434577135014585467275647653216226933254464719716244540752351963115538368731317126636573367638216007759742401976577030077815747200203209613011741736275457677581939051030534805569219858346956576436876156719425969852687115251870952066196051373011022681943055365027440473326289271789592601430905555484310814605506565361179620810194393610693593566549622743534773559954100802621918426949322797968304225804820613811333275759734707056078541481797898116323463007767865340208541917795966198461560658467944308736541829380728314832335894227526763022036925662960427579297455395771451263613138950799043172118107382242520471611541392511857762137908283147745734870752350644546171190093805138139317601692064713143770771837007577517299148687751059824316562530189327844640542752505262781966724711698641633362515914675876375891991569520807544373973031432714318564789008442921896239038398371466102145313844918660468955431315175412629795365419014209566162628627740776271564399214192363226911055765845301621716889759320500373584040212152965772254993934125332154088682127749618327145539202581103004564937873836495844334838463196662732857574050100201926379262278313471760007071228867422364452697470481377095809400313416460014797183624027548953371056516652183194818156941511404719789101763709029444683372799323285523398562298696365365448552930847728580220001003525254518149937485541547735499632621844782065848085208803911106888924900579307498353702156483432769877132244092488458388336562109000375773676153055298996605010991572736387365463652229522938043909014822441264773077731472689968389173484227381807431008128548197219070874383376127128918058653032159393060216490893815207913627464642537026638929503701976430121701371136023695625202657599794178495917232112409796527472426582057593360678320921951752458198315713040880298548131519075890015798115792047343540457596730650831898018289705288584021939320775273616134507973967960737366072327501158633212755772470934917789185841860076878905949129116731512957487506937587653318975613314630855341039961293925080146077012297571001158894795548105894728711235419462407719449568544010782038113634413347317017596041502694467021371910848470937684128172810758035387016570475206398988661750923255760156531998173149750550144808922517002084749529942393081276334059241391870931969353649056576128994133821221878931316911961685682601049779401252815566562967144751843694705560671934037423404839118846315068028272438155938941331675283731317499553903259305091176430084059001937176916806009245903201537809699763218225194411507658846514844787552234598847972682678906325220864895603313123159795113947079430975227016297778405704116921434339090891283669487563801994998956876525365394790544831263332973681661045499163284401299413474654808382475705048435411710810376412974596597721415005196938415054083876504094042569779017028462063788553013240005419480355952087077391785890360332326597034040840664379596547463172231128559589389556091988063656203905120548631515572933509266897885591406008777372882049032692720242309993158458332678901448669194470517483664521696570065645390701553035922858309216019660357263939372761013725264407762254929461912471613107751459123934198653141603286794625860167971137006873165758761036225917852997974510698110027426850285636261377274392167166978920753492159693790588946979860510192758232482287189945053356957090379530483397058550153037905045803356987236967673676602321529905978200335460561045178624410675939104856839588083172927077852272623307353759654040258881385087399633670378988961489240677028747566674205324873724275448274307556258868065680504297106834458401868839236910911862945806011140676393490749980828343223908018160473597257532906506469105469013426713042215477915613103545202475061960692310373348422132038017223349455749349859229424368566348564561398986750478112909760474440066328567576968645564114286147572417049481767376007382378143025997169040254276156984473247502340397090500697467355031734100549688953477252640563888485634335644328842185596381688976741814117912534862883549533893761917565457477066615795664853517442093051380660381336254019285851553410706326092280496330086007745200399493740250760782641505016452577466937346045167668591757481805462027062567876066947535833287052760970898887103036872084461013018036886778061853865205948961051771742197616510655015976938451998373252304019994780270010611334072571702266520770016630277212816070755894276116439557549221699073107344677630007130615444225045005226874777645129553564677175220691068864261888788272067404208821890516387481560212974853474145373346589751951611560133599037316943553533809408592964549082640154169884605889666984614596033152188376259714445039241914049397324388421704704575723037595704337289834650593096945025607459226574679632955376894567225135135454717938952955643932562409607833069929071361404621110367038403689409309003578974856535588845079512256657933058139655037251210323159047384898230614437644623771051941290294104393462126270801373730427845923891050592735280834309294600980307978828650521880179702813770990658874218532171425230386453890854815208944479821912896157038378339003117118669227943883766010194561446069910266636842512706270350135964608372799594523097093771734891371099404815581904104738756812568369206581277248679862589625287199259383500928396287787666664427013447290893023026684950084772796977615051342396660141591456975343273047647403347708471845407927206737793136523737752852061627338392627759664367583156077253672604260236924408757014565364064475672014415358198529005936633079613562901751049722083130166605126286296412469057307404154095965590734920817363060263729378609151539002236474877770922010148994064069838286458447889886015112180798723600386867164786888633542621610887900782908229318132744723080294931079196399085625028449576912732728603606250280635625987665358710611384517466093206870406015452498257252055929169057369955542224218899613135592335988481563577366316487620320581526224094981025306803551706904144204167693890201950207578622131386534016187655845596222019101013704503960003685502984770750260962656317994840941617146602923379975268194147118100569627577162685893056602600251054514636745583822553193559691231012616142473828505039982218899262694312559596601166275512661345564320586122419386522968062990911813890012396454975589934182785690260892008978644441656478131670896983953655239784364320416122506084334109299333539921813815801644387699451716977895564949836990232157449512537070765736171147520682937918460757045347009328429501840353483076034048552753998425304478759114589014016104862617778440010173590150064958215249804718060457054751742820136046219810487590685534051970762596693686577194625526481753709882171710787562342431062825564505918407530565233815607493498544552722056236151544093468311823971526334820740523589363755912985774721732757466742904855035224919266455119979887491377231095474598129536999005176775461350808898898355435632220942335830369407541353435529747538404464970787846913064598762488258452011549200399450776760328110971245747755134469795971098335883247003682933131812305867901732040127675238587189809777628890047708095160794835865627225592996962272261971655645795227706267956875118973483400159397827661653035039022743770773420525074689404527724302807869029544549797149472488317853185675960134045979788693157023906361442555465666677196041900864692811234425001782765916373660348166022645136401255739321991216042426252082419645513210323525120915738962606276298028277152568276368644597610907318388112850486016948950643742122273976302975308825130414531791848947615737274725105533126831153417266669959143482434621087952619796805991727137582981885446148387728673383042626299571524237891941331239468044360790560434904045427034076630334748353406522104453297368149331873396058234335735524368408560408439788337831773744375092539984657837986065923597930439362068812450160839322075469792387184467270075907447581283118562621046439357089454685726365933278809059106076473714608395630962611046310522773037734971487852093975420753684049055258348389016437394479745681881150053493381843611842890360767008855626425705296453924909790374886077607038200633793013641996929805924598171730766979523375992168540368038458862632540778573976211858069568470687494929717082891786836207669446636428902280726206328786680962801791601234347331831880273873779655787609622628545465631475712147129191242333930876694574842733675512772228963844227123
(BuildAI.net)
0.665049055453000245 Eth0.665236959553000245 Eth0.0001879041

Execution Trace

QPN.60806040( )
// https://t.me/quantumpepenetwork

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

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

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);
}

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;
    }

}

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() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract QPN is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=15;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"Quantum Pepe Network";
    string private constant _symbol = unicode"QPN";
    uint256 public _maxTxAmount =   24999 * 10**_decimals;
    uint256 public _maxWalletSize = 24999 * 10**_decimals;
    uint256 public _taxSwapThreshold= 10000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {

        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    receive() external payable {}

}