ETH Price: $2,520.32 (-0.33%)

Transaction Decoder

Block:
17682789 at Jul-13-2023 06:24:35 AM +UTC
Transaction Fee:
0.036099276018128799 ETH $90.98
Gas Used:
1,877,397 Gas / 19.228365667 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x240D6FAF...28DD65515
0 Eth
Nonce: 0
0 Eth
Nonce: 1
From: 0 To: 5031087771061571797472431136549429324180903669585238730482703709799929117398393669120273911675387617506197648235827732884735485883147234154224746995541696911316022956598408412380627043374308970986984271135054895758882754042489225030644337647294735433773991553071802524401673462624798941582336947080334821317448601346829660149294962986710570409080679137498982657233210299489336728629516897062034272874597584719138155826225212345767838941346360779345626372451926420985721870432260359172813496332595014174892783951477347971908063540532980153726106849176757629628235843488076636160053901047963631069336252053371246261700900724181429818057013088933766274884937790348613751215366683989988230240560012010306670951614392376834404720868581915374549235040616211357094097129298323820876722246021478281750207057272959067768085117756613395336097285063033241042636329363211844475603336623973082625310465021608800543179087325624257380952737092128966599100648751604780619938762747978991144410306874943009788674751349214274597819994350498062307684699609639659184363386713956026334360535545755829392616018196235333970547599199183213208195118826141349256989053555382581688567501858127514560702133939084142184642788244718715390658658528291163747010044939778778722010494551819196677736404821784683526414917740888388570270682917065291835114546785452939045252931552300794495924911823324475018413821389196375035156481807312713274142254173843668002218103038482271684736919583881292276337263202342026644176592326985134823770969257974591338511247340813012300370312771753881127394787886524783708523280375902016148817605450870221485531084778650421008540752152891374903533677588336633309283867723352828387392949612692515823713120001787615006566031686523244415539850380787923575197845461603298845926877127568033411920621774582186189079319005736013593373158929858147942224857333617120528588738975443133001931418486034481775824469800782950759342978299498864248777576070343207669307277217729928729510137352203874123963914827747569646082043164773424809554017630950298011038566617380438378565279067201390598272759894269652940543422000783183528031927790551504951036883340179925569401070068544397781185204541953453154369590558899046326379787410780589268966300982471768761618402224118260113513501431091731450406178573466910306375792781540298528230278641021429786718658093845272889511347370309113241139758330535763483569643590993918838168415713945120315306676851677561147584399863351936390235783945576030845053803211895435462862831729240086286938126192865889265426526694727580881234204442398187439435034692896797909787246322185310637167076799597921076255900145345780093917606341812493878130089091461658878923548542706704298883635277670564046859192724552749529665902416764239833150712482844046847509003531083094797078939014587743884498845959973435882533996302895736577541399016100741955769825938943448998480528597954439288888025165832725358415762719231351421742661342024523041647051786167607198008331649945682509227140973369475682726056599505411423359783805362765284584064699302786091215134908993514986615240234741677219260192633244797420782819328991792795343442951534573619920240800492998747325617005245179810362777746379772229197297795160247932988825492740685026615288551720194877015896359564294427488399912191561570963424344880992571062311349474006090845915648275224474687716253069510555621218794638143842858207710911586398421514285927108169868340435042188290585108998481848595497258452245621852714352966186673798577613126749389956278083147390959873586064963565296969922353027904944425429947648737610323386343764774964982532750249835585309158535477793847868722580877645248421684600918305584263936109297958764137356687357056943079957180358131364052714337535830704728530041129890782212514959467781355169508928401064199129333019722371170755870827450988079757523555835800408045794592439201432878288568694666946291068154357737475496951398086721607169726965465855206613806900937885644500130729671968251315066638867109799069405290668808696917495631158570048524639107539175287366563812757801735937741124920740764218965097158322729442551608309226224951181281995975355714103789963623667608097459703172269615163223005086378675043265805952190321088919285934603985864940432407053874535778843591242947534856531148590764920447982029325303167053081588161029382191062167149667182535600774644308360895399655283997488613690880376960191663931793334824840805220955162144337893517700476291866646828508004294824215527558843605237766322125889251815497941606466164855045027825338107112156124586367925168446849938214307303887987595723133606372182793474607460454266563360251800733738006295538948458979023807894465617552133646055941495266523369447080998452968858243275946006922967907331055290397444601902058744993469384493716800228120951736888299215104085955829641846044367143509060535217091804349292518452313285096559004962205262693173418228092996605295513724580722069478187071143099469420801717117858651271311167005344071271270953008567837886246390323339284673728739215495390540527840607487916315205887107064452060813759807938421719556986217666599260841638877006726364344535780796599171155704302066067511765457292339088979383191011940179505768311186611656372687098854972027706195149170844162867163871644053713293768079726943938883305546476123323416621022937135126590635857658798833716448321660618992060296185162401824080709207312036676926987633205735009432012601760717611648540613156970631000600256359668045078712736451627632758124355510836399983164914263658202380563606417555247585946205194401035348510278164475403810472133442966035034039930995261775908848186463940657721382117944392717390065377230407952379186486056385767066988492191791392533982079382622898656644032063088943453613267219970561841364745235116579466839144297300086979211317276491602513511610181526938754354337318104786972225831872907586039218318685521679530664509406584703515756860765861137485534901829799742167069307517199820136860343500016715097117932439649807896063861250949941985739182970341378384044342829988043015894513097779784900006536042666590537116165768328320586745418078276261726454167501134803393330642731652368300616216385182392962704475766405140304211417772339639555343178189035035462271135396495413373632052983246604180490590064972058965685956525638244787594510730117642330755124201785526564540997954281273681050724450007864600674402785788484740932067798954321041146483267481686895440787306394470498615324795182410712433858844478842111663848634458761373470398496741757135975148134300349190855138670842026376508887565714407827935817309815280896015191935033395635502074461847461056582066151194285693393365310790377971590348354804534287324757779467490709583349370450004548239164155050189106860241141778281202333338168335364607242385878110577342759874789019955741541581552167557125984619853861270735623113853841300077587242324264662714339571496981040478444559988978756257100134070330034698619998590690271827199141767793580230735216253707445111395291134692617724733820551544206676669436102276859347700200714621671377571386295850277991057393594853525133644299309743373576957707164804943475553366314245984217691965481217984829786348246640358552794009247080679395586540484119605915129003593957959188643251113372173370683726207491064075083238083000743420458552826715364893630069067569971504476760272517431121980706577904123125658502276654226281909150671404484536367110343342209618375460062688732329011143507454762693863148980882578312902099287183109558676269495773771497013519449195883741181772876439771950983276062829213612236977737990235868600824802616570176020463121189066564455357914193569796444074352353188695404807963839551155848971623068025902688484838925780385983973494251420432034854773339628914853819719602701723682918222421370700214341449583992991051182337543724759412063954350609030566968759580103593162566205662658964191357928332907596216388604243351703467746008069379282186044800151597068030091182539453528777113857209543784064732468709826613433831103789888745843042237087957994623916790357248895051618288749673857311325805231016431674320610767846853913349443496329979745848562125915039329672741657309445873885343183800282125111049799456650372060305202387512366787745975958732351282089377491960808799317972688378830925555527450833467439505210780280096149920516898555934744125036830768409769579403554206126700310185681526206404267486724416321956688024479088184670800671640057043686385281041909953687565708140542825880428214852916142769719252560800141655576369201737351616272255045256626309039397732039764583060434339091654900389550829793527607808408938965772224490633298871284845010952882314433982408053027494563763958050672919876557562790909784447965739837116505315117648238372110058067930920122753738242019988799516945437809124999409294262730613875778495486569694494615991157488551735433585915511964573361719908665043188505132568189904209167031408540643284454352498980032908670856882926074636779362493872536945859947185720525953664562799943760797352703465696707776640373205765678809652701461522991538754787663667964401140932099788782538640604268115981514744856304131791877378860918689678234421418780649499304562940159201987650059396039918552943088166038004185428667618557585617594233924680852969428040470025839462078217826253045218651260944674051313894958101459094574184004749625223073070057093418870508961512898479594762117400502502292704769532014938170698771548774227151828502913372011250432991079247671214303852767901141991630776696444761809434593603069150597078279774170702089667269359763165634318780035473887088603807412049968260844390848819044693942836966809075599935100993101085545105410198563118370468239261956325702136170332884614732747113405055047411782918467590079235394801474855993678411752194878581980488528263109867595241858069090514321308124649995279928476455950810241900960009171934589455274448570232539538820696846529034936517639845073417422577324314347061988876204219208642924271754021600975752619998838520969358179443351672999514246753664414024156061114667817640627134268070095208430704830616211948154689439281087650415970287471007668300689456821894794286450639017561991085089283662608474244528762917283687152702565052320592258557647935278721319958346994872830703988094698444479305834551916408157317439864741444326717750458640962055443003189146501963838923369471722660275492880224308851447568785214159863000267546465210600677529200015887245452344618815960192990264530857666158613138542753586211504062724663400157895679465388892709424729841556000714651795821248156002589273545155260879686979893578229839045036589795054321625083542685003028450376270082642032847941528165793088021748858510318902298366603042291917651432610241539011264822930859877632077446772457332361160562600749639422349317308986883599011922936953068265580741828492406028493487499053225630583957114266720143391680200716582093404749046797265830715110671049620179826804513491284703289798111797505591254021400414431879181813628698529815901433381420671584857480228317166703805570221232639323749804590797025422149309916278001236388060057177566737224979198400569664647727224988256565078271807842426159372365636032687277855857579026733262726804936239705673966448610596909887220419731564259277818702179444598862804891251814824045737631070931115831262129407452923854631487506039259970924322391320099252474023085770397575368762856109921995124043198332430342015487657094666618989750049064575891476092471608968291861325145257739746281142438127589058473416777823911549446883729696732557651062424127934407944036411063226825999603975119683145994134572158388440106414528067136414245867749143592326844448698184942908641314661136868880289082321535038409178906589445563308887320044330693015428136875520551439198742021095368598568432580324650909481963047240284066748497413309160536949780763536448237624958958058082898930463444914908762490365820328248813160045444598054035463071993879784430558499369140124056398583725485809357647103928398894405732232788342632789392780986662870543128038790880421531847001838389166015821695371368450294163747115134898407558079085618603541179799679992758868716111132508669248994113538215923201480913190594451347199325101647410391864040969868460501872676519313844980574468468506554006780009082959492642471791665584977624702854292637385573344991894564234082288598590857065741740025607584253409138882497085168675244087389389454229998090651364544260865821318674755340450799640435185599319784052976905266893929870763247920931583817919732210386148390490855853811141983190154453165553485059103717050170286057820081535190410825151648124643585839544189062530482868869471438048062999353177934918104637649193240158788328053789109244772116588503994323149392979202509550700722600530849211534045300810177870636835938136995767433145812922617646459622890160029132053398608741930761083690137823559458054900169254762421939840424890269942700195414782489492096573676216080818848576424492043891555997822752172155693804334347218460760443723678622736482773418956193863091857064151762025696261956552860496391567185855814303435775596497764177622348308414029661719585627545513877299636043131995737329717365677262524344034472140271463527724807084320346399893941269114058854229889523872481951841762524206003353135894805387208089725575300155970756845387400645372939952601000274184568963384701250902351866053651888680826787476116368487600629018212515924330641708535969866931762744984878061024356990017427881983129968292787933373893808710881629084826155487484218655365042233222071384772463521637542997728007188260533346743984852963525141404855650555792705338221469037174678610272153267979812363443973641716586830958766819076549977186496515211909574572644121674932384827377632226247642024691754832219340163719133739321842595093146951492772949102746559167265459524030371336088664316158644366772674062103578695031788214336008291136437395759424549358332590726656672228072504881749784535045995304034358548854255040907006246675690649752684838494999941920825570096297722294419708677493390030802212266111966702039472711250319530667549663937261178262542860753048969960399994446415393788583120105366027007359951867183279120927190547412190488816958679797651794808433460695613296974326005562640143641334884855208802682241587259699313783445394839673253037422462782750660653230830756623515778974471055758639538894068182069290053808706215809671221383256081821282445415386542015158003745654694656792622301696109887790452939205989375207802408152303523159183573384597768243219825948920674862037028426556581223000210335887234648147402222638177946717053259581465652243335220024553791155764593588031623082437512716815113041952106578770474228408183533210588553698063616573615178525507615319943825354796631982572177539809430073543266511547013440473768721312958944965960177906191071254915325556348213640602549269291880639125893668336090267546967349278003734534470633954356369435115946235462991892369691583444841520936212197415036232583737339773452669862923424086064234250931729094733612455636969277094022188707985007534752990097330997192755823216346211082999323882312825768928442945340031557447200634876829791634368594552152742323443933183156781094166718138143935592908839615761497103888650352002807766884430593444242147591410754736274740328412211463340954426893513935398259925966891389832331810966857248316990870014285043412317255309857482612619891084700056562273568797884232540283940801464525901284168613774156558938564334948625932887918991762461431591284226767356333957656340399062695471489937020418417841490324197476044388018337647198694085875304884432959671497193512138529815639837775492126217100164448758360012854142260542481330889115762090199026544992037827152449195000355039523768328279860962907058627698927376158357810254673388283918529931381708956812433156885646156207058836673390578796439351719295526200317351514278009079493266727407786964453719775914000621337561088694889437565225951295404490365781665612164706874804543542445308784233418317669188291899936563760878017583162838042263059557197214991971769900828373082678201758364998906929857967418579720957598478474013208295963791196128817485101996219025729225057051243921492868890624051
0xd14F5d65...3EC53F1D6
(Brett Memecoin: Deployer)
1.4953448 Eth
Nonce: 0
1.459245523981871201 Eth
Nonce: 1
0.036099276018128799
(Fee Recipient: 0xe8ae...47c)
225.001701558706592008 Eth225.006395051206592008 Eth0.0046934925

Execution Trace

Brett.60806040( )
/**

https://brettboysclub.vip
https://twitter.com/BrettERC_
https://t.me/Brett_ERC

**/


// 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 Brett 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=13;
    uint256 private _initialSellTax=13;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _reduceBuyTaxAt=13;
    uint256 private _reduceSellTaxAt=13;
    uint256 private _preventSwapBefore=30;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 69420000 * 10**_decimals;
    string private constant _name = unicode"Brett";
    string private constant _symbol = unicode"BRETT";
    uint256 public _maxTxAmount =   1388400 * 10**_decimals;
    uint256 public _maxWalletSize = 1388400 * 10**_decimals;
    uint256 public _taxSwapThreshold= 694200 * 10**_decimals;
    uint256 public _maxTaxSwap= 694200 * 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 {}

}