ETH Price: $2,507.20 (-0.89%)

Transaction Decoder

Block:
14668324 at Apr-27-2022 07:16:10 PM +UTC
Transaction Fee:
0.54387828727841664 ETH $1,363.61
Gas Used:
4,540,044 Gas / 119.79581856 Gwei

Emitted Events:

150 Burntama.Approval( owner=[Sender] 0xfe12aac8881f2bba375f98a37c1a7cc9c50c731d, spender=0x7a250d56...659F2488D, value=115792089237316195423570985008687907853269984665640564039457584007913129639935 )
151 Burntama.Approval( owner=Burntama, spender=0x7a250d56...659F2488D, value=115792089237316195423570985008687907853269984665640564039457584007913129639935 )

Account State Difference:

  Address   Before After State Difference Code
0x35f29A17...52bE1BF7c
0 Eth
Nonce: 0
0 Eth
Nonce: 1
From: 0 To: 74046228955286993515982817233502125972699611663256934456417893001138427573617317908498700754934271970958942016510915779163013491178227295124006657186891940456251116218698597024381275008723522480012334629005227563579145550731766315593419803160704098272697954455559830575157414531226817323695652258198719045949640959001521790654039567440565604920351666563040010365649985383274650116912204175746886338414222465886770487874974503471697962022266900888931066419956871125811641749975005456647370301701003643914898601573195073465347332377913270685106757390037243198543404142890931073952471984638259145949171626183811044937048938190925055519534377702992563442650179842260739746397528028760278379899889624310236006321610396939512688574539084521497583521123784062206472884149571581436510391121730511104658620370556517082692675842645053733839707475504396505913289906023215309848501894879602939693404262503687429736322759272050285104874666799116626313551645810430467839224090680888262094439682164301075703406336614928319030776045956512225068666729856422172750770034881256476192265370376559263909850957722337367812098177842161872287576287598903210965190066872855647537010438736436820242681932804584996676674235494348735370998516911024547490670628234548767807441898056629930569476883502753564262590802135702919583008642671952709626151649740560963651611158636094780130844950256752171086924524004338877354761325319194489383963222427097058274679357819973135791550777283482077963121337763084795950398012583169797928657552857904625878629448877911888748371414836567185902244256187020108174291829051987440533003713040234834780375088394619373778445499938870934270152963074300705332792889381129645111220942783429199383056116048629243427854512029354529129715548578373303756552221831880721354500034367093913950984492441870385590884032833916210431811175434453710991622715814053329412686538020286655957923251178582489063229978845640571893441403995070858159070530813895733664048685808951710506652557819681364749920661372591669894241766629480843117065744389156062628726911881480558257575795590625567567850196617414982561437184050242305102160734077970877948479326208359281898980641335146028868719610986310322185347913758258829646021413000543330028537318498155258746358689780429958597724847132651752425004667657576815312194675652788590188806938721220357815698462456220095654008839433847663038626273117021916301582654663736759634417388322288886232392686196700864852860915017223489091463122269762713185939560558864540689239742771360652238445885544727133170383374174546004104616069603391258110796032945354628620036448243753682506308022256495469005234405836928349423985548713129322083287221765854890142547342528161085355863899811184133601044008489972103865751140048239285593494952311263347529756534245179410647802078717174516055952656320999285999927699332604685211868471376158332417827342695645810235943956347361009257289686297976922025425151149368606768625699293899668387758854691045616647600871543846103497805968893455683868019905584108785655346798737151904057289305774046534675287110065972639003409975381930792099158312453403545684320552974959019995864278741215837190366412911425158962423265290405832326411728087119235668456903924701080491522031921794915809966542505424977810751050690457993793158620597361380971106401469739089759864817032114769497333491765680318233276641489305726045646937878226433046328595528467585720081727024400354457232105281831908591383547197579999938491813742516916816571460641114035063071948283029987666613259256771114075919561205160097524167223688079260275445655302848367717881895084823875597517952625255028328725175683970493633872453106638267382383338028447471291747248406756613123506998328679740582754255691983022878475115364981638587224148779502779293426626520948212866009937488911933264579337389848321460168115753722401345787452357966304696520439675376377774679472638928741071019508471463438754698612236345399348831432007949723500560403355481916348734457980761856560388921374262060782585638190955699692188949436977342108830075137501199327073573105203787973552634807602931604776863709761501718666122280240833237224372942391147793650849040256768532219039402418686132355759468987594596732659697206860687479968732782997804878551564732422837799925780100027669634128834484960164309571647229698465906540063306503470520697640228233773477073053925768190511449214609924165204516910513780721669430311357357457517741342097106851830149759346431887223195619015927834157217771297446011134161926793023266355955041661627709444738637547709169159111991197367052764933117618838559037660198798445413140924828052285846225603600047718357398193546590536730427252701153116812671808151184863338508393832929653939216074477781772949432198237998478286901529941243633870278598037039324366176381095881732655048386462052435519849385232534715901846553098905130090127230489183446070205667287209614245988852824656870528077532994402900686586888869587416024240041667078621513896114426917509221585238577141530360992062184056212257971368511978822998193190736067204999636985437493663326996428849672862015129536648315490416477035553833860649186378689774164472413185077920197288623899988096337673169642537905122027042551408190411932327921031651218767456793920503997548635987014473984881790591716623990092800628809737183619157057060306186917175818339676117828331475632783852178918142591624584162238329240463497777965207676957653149830202936285578857857350191923358423688813397377379639650305215931651378959700262296532346086427502977341579688073551398186935653092253065322941977377852416561925672243903112177163277406081707721147347387679291138104923925886634330325698350707565263308662188720079027892753718053813322724552802424410935868845072658137011588744378125616869880593255800808151005445005909431964505322378499461516065987707551581285350733718879705107827083438557399100516162708776396856895109176728164914170678037317903708961004989770193896226084696503397121989079698935755155529273382968238895764778860815823046455842767382771857505908576450445208200228140780914004447691610391002678923541400088103038437147761593622196243087227049172585542181009429426094924476332370275382988503822936990536050020440462716385272931008242552572735696014346288392586420442327163864661844295803001006710447332107172805812009860196746022400782192900547271281141726032767885935002201754077825982128197625247587095804337501002576059917332943977689617410934455984492652418278576385550092945737737770573676366046420955413019243384114132734587865165219215218347545830433641470997454870903479552637437018594039253531088551843728670172586405333962889390368378348397858186569915967678561195004368314264590089747481101321244140393037708757508580628525836557323633000492041370399431359072445000221558541744140679221726400919770188039031163151425151922153071743129372634352900541517693471877013532583181969426299980042351003507732794028928098242574463701464842719194068429832245976001799237057646531591764096051008556663456389408110462031646218918671164497685368647307034200145291598679171077603490493483908670941206465043730801228173212266769487002646338367776136698553603993641062348628246703487883590786309452131174104843807135477411675090267404392878951956206443367091619911838939541403968030342586546771428408727331878039438819273878429747189497019055732943322138444743826168032165691171153611726982172816309824601975981767796629123933256781805321567654232530281905425615998646981426355027504229993084137395718992093225282185936340283012378803692354066597761431098096585848171557213960277452736090016440915425505663993306166868779063217534313882888555743132931720041197527815669762056988985158530460414638084634472515287673476220682418076908594448854618737711491871690105486193495692880102168024263162905805375877879652101068849883731664692236170542086717232419451638096904312976878169303751411996210943085399000209539070487110940987348389263852644563017016937823383397947470324428013564098077858146857051590132804655451561807981360091635276861068404061365020929582723841076881792404748768276919490362788462483933051328197055703763051731488300045531671702658925764004510997577243495329208597562536630471346869225732035653368994587612411214109113306478397782373399449062546067650086946133609522112885966448441739619001224894281884857196409747136864424538274408229796129204335872869268954933475249619236940411179778522373270302929659224704752413078536949588856154097890625907608749798222338608908709610544907188230597553297971140409268126080520008129628819079160463544563464244929455048279028597920417777089557131957564739317276734392813901438361773577830492297284223405703105212923084692663437294158808453041231355587634204830421319152620721076699154962407048011466177990760920397645106466486621654289053008798416536597169878437884226450430727730657770069875868533587599350593459645986052026226385545756154549428565598822338851746201129234123163939043860095052934742149296281841591809827321748392803006443555141221472336253079105416373623678849268331861511183722305858825724393175906683945417559703818262344621640278802243268893446980948937477708655289821953587022759917153921737813736220914484802752164849338880066688627328040627910966582746997535640252321475720580531629042966405925641123589673019994627873119895739530421714720165781757273936776706825291153288749934104157566253747458962960357357004892610704816524525122900796726792170134836929404375292425310848504218485315446835662899794727823832167542578625504019461433191359889720386495014143929792954226905321650820209689866000884994541060755636829192577275507440799193192577048153696399995050051975619460550593547744378325038060593876129452078583591321820294039329859153791556906115103768804156533418698277948549456213284806403457156490064601199208750772166933641113647377145602459974631870188551132599566960085043358569151196443148408326053945778603957802156500362469665110157511217736657087261829276747673905182911781019997180843269034382264614580101203163526273012750235048153152753597909302174167829088735977063993607716231316437729019239779893265824676657152751441637156543593811200002301126439564628849792871559986292966884800262254513779049713200852342667813057363697597613583370912365594387332385545194634027195045775930185376973171270216701087099279007866442773968030444617173437253518155860003830725250516713088945190251070683366012628570362612057009944783022084335714406597620671336736211040395303818626676048572837788034244363253342243504697534891786049349010443871786467806521671326414517883026821581207793701964869629611489331436051427257169847046544305111554956240969699766328690387641626780565020496275555367612807615213708216635424962715314935685342022685975012126990161209530701083080267431079095486072496365855142345168319131237422448151580106238920536056887878804252070831092689266393731022354585203565594080065879798637926165588910656091739171269961837109914472498790728205821600728370879749958569968734877457821145754848795368492421308572599480313804405436625089964367214884575454883194347545457637122536721741328205953824693682575460477314179257425383035655751529596336695765590263978397025103550566677600253824810475306704628252939744844434264385795036201906158195110420829095374667961688747323276117200694357784764303767685855042659355428296617556546328388500629580386713581989280900891809069467384896098080680540155054274724952273903554321493365949325435796350322302667037524881062562114089015020110445412110689984240371464022688918528221580967169721324833423674263077967379018765930705978616361358898860622417768254945352828324544345597210369531217687497194048681404702778928362934437966856431555959012177563945619161122408031481798965787735941664191328065237641912758193193388931333220079967717262729789221095127728894211165713008956520610888207799132242013761313791446855907443528645660966255174391423840660396840273172035649580136136339970191839443874001302338163156508038784131214427233009419626467556699917039731900733788876779370387152895466169894635656024586489917477791662228575820171449695815574206401973465200828107879469139558058620005488952212908516580481559233893039313639802282587698457140527546373702087259273972740828591695502557289954532174337833176532334074891068227486506204967926405984595013369430728503079535396993342884100611887483579035885170040669298591176877114740131493332114136550487904073043316079179878026523283189674373468525404459659058777205857236020932951329923275887923562987378896384856063741228136773637135095295911791673971913198367253465460636544647247372672259860814300551255096401027924893714248541391462299402762046190002105804341086366949396161930605030141795436473255746738744213602981746457987903460296940129062107963253937131035209774649848634397423215806938912608594316397911639854645990476037108368316715686949157270048629078128675133408204565709820826633610550269240432287751884928023364204773086666463386797930359857075844027655236595056462471988460485506969776727147764347362970666916941361227053240092125849199759291939135419548934315043343245427158909411446604537744114718773892582691813109157754462487862633583544488254284248719010381571085064879644440449300959637536458503251359228937504506875512425362088760876244081152675720940385034692278809493839443974899370402912616524242254268010544679187461586995351737357082965772424035741401099040748883606747716517377646690071780651441484581801338569415052747610136489972383758625777838892802468014991068096754533136102474186692123354425691954831990464379942323283796606025030410668953733299273076948637382581774622130070158228707831014903037567460003767945660152023619553607256062675862190983051723080309055150371047437071888428331380329845515192047307459881055278377761659908337441917254177848414352784112120479692392577000283555564241628413703543300221625997518492674784716743844631360020119977769617054044926754340295336076935284668797971389840834216150815070848666950250784497793028427761918633570883509844284174334426947753175841476881993005152977712752413151214473435417488083541744841094828410915442250113844743980911939533347647331181288025306552713545949573917266653551512474284003759137345361836515411610589457018303183540818787374317328917379972123155085839351072658270813622267832073561884714554716086483845178352445306126166878463243862289937410156562729790284127441673507384831129954696411188404948096669500092135915953688154096266827819776893081657400117971745058409621020089221368273713323069478359575472133320941773646373227325727014257386261892146050522435526304136286089212953612094781076091287210691620822119276725307822890299924814694269748726942489787617596047564286571599626767049880547890384024536071743276005371692330490334692919805700586847666069015688044847666412661878141151824986911657720729176729963380677922674880324451827924888421464991301108487745335168735014329459465300158804277171583784628698541445171914572568855343254520630308544248382317210498830788047607811432400442394905016180749836277654487442184596810026245984064834471792356938003162910177676547138129717544853265645739820746516254583908760557132284886123803249120392091373389719461301454728984873916566666624218372992255824021202213442727448194155657565146178873159419803061717785974490069751886857643128945841086266014577353494389653321257775562274021250284796241393325842407218648236194188247602763341698943161883945664027127904783983920029116695133729293891539258210958175053373273407307816565933704027665913261425326084434624751513869772784286312691534495572770539549037386984048232610626383581985565193461793371901036569611830134319128697770179412516425846169180073343812735519840639174349411530719435701801344215527279722862028542504300996535921616060799457655827887198226348293931335424331343481368242200139973330748903639497906848077508833643510023605579226309254425259324823400542681541445499580705702916635410790927600834862588548909281524702367016312518259953397969928840560240146211642629256970215362844340368210837189120355847806549449804967266978655988200036522033235379251722343671683855743046479833073256403361936408120195748740122987361856415274017226709812710988250539221866258696612759421682073378271843100169653261498599599509548122015884022651471733809881500997206633832696422758108953683114802125467846586470836655763218873798348935622588514243863216161487859293743591994286298911069883740088846568417646319107238848755958546821252494719318568784634263606284786280000159564981897555878172104307677547534920107242270751494113150754285131967649950967160957575055317070833749095515998484464968130816813639518230300320911453986460947691305776603651342703156100200024255850078122393227097939837485313773900010128352526302778267841366993801847413939080370776916706119026920339862062661949445412672733054381180410376010116662715458129283786248821444118944238355352811135278738739551906875745995767850706685997795850158947393830957854672584172738846787174857047695731398574937135790236053545580330983207940989604720081850844666448253347726912900278882872328949037039142753757950879752204381716407050931722039204384906486705848697127116085306283156468650950998845249136339983958290241389690456235104322176000011932718093635836164018093591397993647215515685857511935900379909702871404194791978060926979705582635465591620993275843486726357047427244115131501116927344805265009123835604478445781188009004161341288390162024307560830188961592654947755428057315979353075622717658781944843133155077794903088812727953475359801940414273729084432981610433660518229521374490233519055116379515914941196905581356388533386960922777106600536239690749866954841063638969722496067789773950495378859606006213145120788472222403094553526895135150880260370546411005334559882156550779310752847268771655419314072165971318134166810796297840980535987075640881101840461145404551945114806517761418160922890929238574832457674625414324602449420936757305172910755726919182383460539971981037274385786561398364088018506658595345343352930883717672782172756500515790299844169715833177908474142549191374277467400561480015096517379256286438552880280274569380751441472410454129338775489775496034197153076049739422905449122221674498348026253023643697458657253438731769022890514441648140880465206515694045034735404201866273386013854328411352142994626781390378442590851689873000912982756529194998303789949089172214947057744210333140650534605424863829034111231039960491998575940437576323059123978230438659500331529390859103656982339309757972946420557752168778736905920688382019858994185800480998647648673685139608124617520877133287938460920611542814203382752394321615549576647582091742558421133012112422233033935447911779256554013784256399716332946253987466141413202668398537084436559719949117571340544701273346094296400994712735142773504170898305564454055629218448290707384000047593918677119912769628699555683242071609664484440822191842124924011241829248398688194815465675028579226249291133570940867756658414014953252186138457642660743566279310585288734091892542696390303957789798904542524274957898449168745537685505563767039838270471665318194628220874714737894324312757571589199888467787350485082387984747122358747421450762357912891991252486950962010650190976397984434583119139386524141100850724352534264573429219862412389420949668850728614641137352135570016239428684375487800605888479387991254420131915982761730758042680573607090383241253239979711666973178059406025562214679282113243755459070360856229775483195119819739231499942690294142643048877611776309675360421969859314077459056830629502790047874478117213794890396041108411841973983644543893818239227414594119934323001276298016425983005989505834576488548542014708866229627017298550243855025530201357206811166082003085386263551942260388479890217492117991011810102598695980980820860932743516224921738701976294604566397932245292698901759767101706481088840468607474616075857815350787309717092261885956738986012036341933431232737031349198479322929141611921652823452541855355783876551328158662750053782025606889209998203719949427514760606795170745260693302197793260223870797944742181293323659959477432124167651182092841444372689353510316945722267709627453270028080578330136059120593283617320742162226782048306633060770629874950934471538351278789435261608222676979530018074456036836720300029661781723774853385818919502141776769387493145712851903116300380530641519650881271409243815657800053540524014584200317770311493011647511523979859945599762768297839518310229852035264501585494674588799031145706865935262059917802754082423754834475559501340418536775274599058944982712155696765277404757614695142541739679406386173064635952520274418318483289820017631343948577179855400689018216702789632067481942722662589353053314132695881348866298032919330474847384374812999908927291404457588317810926292912973149943755159393035581786562334813778999508756920581503515469942695611707772846730104128052587665123768831103201210480730036887196401015640197765980365455144716902367552030662450908959318333287694031101760621862255203337944244138934956751223483118347284678775245287038032121274429240432900606881703389156188838746240928785631160204199880965515735432746984255024140447875381599217209346040350621224215710236060846610833558515355321828254818509335863225206428455772551834816854229497611930647631764017226615623197909781897487392574269007297887869900186705471386498182068113179974342673445288612982682600252002145090396478634856243262390809308288901856828789537549529938632245265441814378806924780814620513235031944589259338338809138751142795075772952804566527404592435120543504191687129725308151061738460566565446233222667540808151477187598676889302988044752350054009168580495068368703298584253926333202857340820139148772515148191946001146818226501187143512589511408324443375990680691125380473265519888442984816870479237099039846644764854071687954515772814397687199155418029071391458568870522134928110886235992971415659394317964475141766323749658258001781914618531924884560132979686253329804438347747129496396576371982761649419926007176178438694083372988950096389100678995557354873534994307814791254531078279244035005366855094652623696586942895127493250058713996028320098632514176322190501170166579929493657857387445510408544606905483898344396426072100575101172262465377582332012642063765821916010472813233595424173204153181373394006049391008251205618336854254013773601294324954408041939535057579806202879454316524324818384401577627796544113542215323366610612301496378644079423051857355221465586093260184719225784958369211842313505709497961201006043250296567386076372294632703148155844997002293792838659137648623495864342057938983069151643706446906914252330545405887304108327916075155012524247379574477852366875452686706124525787550249455226456386486828146083079604151632321132950024807496034017000851769784189186710491821118253094940045521442247805957020760993586330107534849739348575643959798014354462145502172119124373589190879652097487154262077552388047233353540763100671225696394330528404348344732624538052934555224476076451004869925054160590419168317235534998350301344323320480150726689064509522851605902450737142100724081538206054309157534715483993998549277454096080134376532192055986194164529045645153991599783201646213531098130230273949120381581710550319415816101382397740361759884133301754402273536993926812202595986814893687022886792955050561478372976582328382436561328621838796869570612887181955841911848894490137122961768585608037378665843105916208337813179192283570774639626968292618341115778568189776669526261707559650598381495824129838889204147299503997055519811700191433213626516513912315932153731114980857864798030090455831909659091354292164872753465115431432710115371086039506773964525280450248896240146458115916582972634051130580315398745182082558284078100272117210705885941522206126633560018729444239652016802406207589956608187183314415428099782711310680446664758453071247109965448358224101203327331926090475545813465018546170623532278719692559570185259745972732295680301248984317915948997233837004118080435800183981554695651443792912187274026077016685583284305696408685634842601315554926064201551759359393801452983942142642881067169618385349129647200608187935980434033360961031897887935277093363205260290486593560144160442267127473175540388685075263015150518524976264921081530879137270408950352694302699330138694629691835386575294992867281897972272136348662960051885742102335401605242438027348565827787852150985516502087291599633974097283003108410502043162037521763484638903463012122857504114751680507338443951202873413119340332960892861935649698888756490701042339359246398950261446319785524534448225031931229986654665479000063389813193001095870885497367276131410816019395451835140970126299383019330236541080398741604605599004974197559965915771441468411730337921265155399001041350696290184824212331528533362016718043701327554286178020205935563520120421010048593089135072514169121229971655042785896519814202150161373595589682481080136485396504830588945878873756583891358497191267030033153412023146443039917651106868012399833238062868147604317384923641022644265484396541573736196291851960049402647947783459988898005807125826072983578812339404860775520239478624614520198156024439293540413092827338134540627059304732409779342175480530362972922260105791298718380012069472592260722807723555438151819592947239940432023987088918338619722139913414519585295138807052044104865840610844048794960335199993298725764862897084134218444614538639096714977262324022547452791296208348176511047951749171356021164061922404642089476984192034057299100398486514951020034760268120432366125964171207032855790033091131837404107527219998988732465283023881915129639912377506824751994466771329969659603727816279178321844059272906552220141221761839875499609867108674912996238777813441859328343393932445575977036987249985661324573338903924777764972742956336783756317850946885775046095891314881285719402479090643424382532138110914489248626763756782186362241348849543397041986327678272955176652661969369479594345656150764290983541377642076410589679732138416334631787712914308093550400108026575362558417892210070030749814682732852310908793796729806613477055535083984742549807045032918506547220598558629430568854480822688292751453478886014983736451490114532838961996111957918925098622479299940478765216815540174206014644154419591642498332657554739731948204904933265693601974392671331452467034716159594467387565708616604193198336802276513103038861547200969852596738300297311936465238458948064699161970789963910550764720717372675301950283167633798033940969390059771919039165881941409986745147933778367169684492281807407441954108406121346041902829790374201821313017086683704762939838371484145448261486296424280162025969179059624367429914130616813251594152585769308262264931433400384811663556311395994528549170630192061377971533200433338271608698811936386528022714401123760932436026802355751971288809283762273887767435980305888365479841511840945040693989881656625039112804691183341655864456437437363068307910915210367111161903565254854927370185929367588565850864233805234130390333276689046352432112598507333814523051190037742355861901743281894409199004263454678659108809685309505051612250788226631992103203629895826360347433606605844836943605315876818388384119060446292984797355309034299691843517102738559922721154277844194070439668540914025305621744567186333176999640073760412583188370435658739875286687483772240580482452248542500121314427663787055352683439975575740719880090804153995691218519680292260058434587644929457942560727687122729301771232925554237667520124564066542696189507068179001208758372163237908612877265502293705100774843803251769088249973540334122078670124052552039256304817248574400089374251483857950592976680788012946383788758326195506440052266374922300831205416031927039527376367228370483450113254821330731090451586187521337389891916644069186065595190495824916024157359676578216023892960831306257617684013041380705128854330383328421495259652004362968103218583719036202258087731041972356049948323574049398616933497605110743110174936729421142783172587178768119733295821845217670192729052762415856219203421560693304507816512911719386342821358426241110994178493562611381404883327623393666342036340252740006334525274328959852914013231601928213760236646015838105636103161439586764010224651474712614864193396633012509950406435795922082831636654905825772930594235737187529054220640799487792954270763335643264958015329093396666924658433373185234221328859568098877919529706712719788726770013524016305718544654902441232922430567518024050525279138173535553963957132034404716470621501679622475708340866637657372768981240924329417760632309517307706796436608281182612936901250464300923820314098995555987170856978048025720805167630143017104285613142828507294410854851820949197447661492321954209153963991348165257213191921460120198758527125102717374131648800582810126295967429884439327892816489684147914087405585231769603467147044979287050708609607306119625307869431930724345473313162988051573575823117768823605305399923352566696238075267942231196337696605227215028735987687690918399751869255187187407279517852090321402105275112798006863305993347033323318624501255230352400335953521478472537107065257927467808507824134246525444489056701209604058289681137654119331932703284308809063002076356102673376293885633039312039841236874726717493465920828475160720412759515108179507095195679987482747816335395981133865534152352709320256287452937785602407526897928519344589067950080182153300762772269698360270287124315527344452884388641408097881463245578356643406427052683649731226691331339887025702944785733471866534255912835751798619328799236429019795548889200363593280782906882565383131816622678192802812198238086855175129091346461258462602715350471033979163856846768441910219169241071846238659023154547890806980086234909543533475773706491971839872525814983316209026812580434212652717235096565213902181832064953128806268215077003932526891438084210899290077781487505805376913323633859604684331573654375939811856495998628926605385437039083566866133015725316516806413691601959234805541734371998244296910319385987444417327539928778113380750756402279260347363626562155771757552918825822851903882280531306279862887034182414592949035969077749192899454024081395312225631115604115988953942975200977956471386333369946252547852826741422032117710014312835839473649067586978948294117973473370791601753543680218272587549905332637794288111119449891114388858724155286069138530362815831349358188059105038222065689058185667018729701306469692308525234257203357927402214738371792996968441107682514844650527169633981932059306441240627128586867067545886632068645394356912388353370916667627588608866134041897618504915640629782484044099107447754576495951973820422516982131541693759166469318598650174048507022246508046432055610002328919652351806703923180222907543948323767228592832075378464365494155368037601389952896936508387403380132126016359483723913161635520353694362838940015534954092859969340151140054800463590001055613349708909390707936580544533794407367776687705946517069730689999657996546163925464883414820366777178962614252952110832853710544877409403462881489788633863052093272831735432980831595831482196152381076941386607274922994094783441793882045672429740722633085164442756116999731631917549359913219264982603685224065255661714514060757974650160843003298907416590073670542388010199389027915923011502696830707790770581190025018179854876650828744421288826053467703340051706343001680643957819902542060342471115806013363698675595316881949090845905065610537354254855301897163142795623563407584465423081773738796287464479147741910771376724763365341515312592436007568074534601749685164168213821077768077663131959287366824497126350567934452813137454400283954882899004826018392278213239935620349098526278356544421404168061701318450843239505483313343269445345992266089517223609083717684147037216298209935521816576673217094474479120045685565695330536289940657391995927783920861377744892098541629576731048121843390909538618193859607005293683995456305464914156707958417276551175206271088923508870192125336583387088533041611598367848324111934574132903434736873688764302521911044104789716321049453709105937109414188695682126478326617642598945915448569996059618037235549727833446385602641609932500736235547681750832771045884776650129469755530730671351862880404092873570142568837260595896988971728249277544808284105874198625630489914006389403057956773666852718540697958726120877962934581819117776620227475986307213267237397409492871084769723424589782340690974358052363127397013423295502930746742105534072766796577085139622861252691405198969669523966860267580142469836117850091218201536827255072620321777101744104347951952184237007920080704974164783444401673338429488788321456292464230077345095847602808790569459732640367753697495308954788609408610026582404038254421186429113116353448733069858824536787951038268154858326098805294086595771477753654123933114572280429441408096569815600436444777261353448358704792836325031562613607064888089578680359943379968978452681175604767923974082403788047567661859838280860937620316023201002374265311469372102521723660562508522691644194560987503679098705406271570644246363670066350371112146730695507515922065832927119408234718992314263838413252782258687803615181849439123591657039000884526000869629933459561536697170139408916193711753387195332206560224886485530762025234983938250592764994374684865303862729805605491918289208139274867185117430563313592552386629792602798610413370663255627496974734779032956436275226846817909216273684695679018909411253822525543843883654251953328286504786530464510906860849850275322447213860804848415543761060571571268954700990318607926010124090522849637456804522272118096959192031240545837397768214167741502198632346912996611742590772564653870463144664230953289779361752896645140966749796199540608385471937758751993691213924841408851792795843225282468821017432287333399526380695733617516993234393581924798560596841389944771070453032912261471609291712963366663519548404613859591269709075256887413943441427014681559780867296134334715506275470800282528134739797010527277005594950740171555118673338012122459791434526981710113255535034231043059900376308150731218470967658661258834698304827473673146609262442839464404763949625848531523904843872240481262382018932209194724386294157790752130423009145980785748915357106184403964008393238295657487974382311682361935243313115714021849572689092888550816293558190702148913148496787961152058472189074399501885604702330667020318213566762924426822201656916236451159735977382436272979717584736117988268310670759217168510643605232256703006101532003923329415138728629201785039169338180606419819042477555000736444414700471841862116574694483314248111725231664504751098081858206667218034100521372741242748897584221776993716037220466570077871666198357287631331938079662367054082939157460552788747730960287077942520828690988505936874863059812427749135478160858922168094080883436451857171985087548526927226807862409301446726494182772665929102752232238120641121606589822326417974792973299736136934100639646639727838026296453457472361259870988105780730470950207607108573236470548488135962300521545896196166223338369070861814363252993766907870079392255252503175840787308118636158233019269202747864729802480441992824338065455167484665890206286969210149825894201232782394159042382756260225709951409242423180899962537728736622711265475316498914162653028849586451438115970877245660026626507855128693757102510060224601606548982202132375134619982020893384826200996605358710625257886827537939456077970412947563365620262218428922857705137370703637938520133836832825458668052094645642102407199662570659332260386956362148319423998694835072875426350479213031975311594011497396529925144490861092258368582904711446063884971905327318568376422752174162318474243605561659978330162311328633963329630223131808625732997707526282314049621627511741124307118621420743886692066171996858336845532430904659931211841729160161644899339473082423955871500168703390697267425412480590319620211013331905594317149521625519511120653789169305014153370069324644775133284924908014400904146165331831456636774103159825836921407032254584960972427936935304628336973072373127195669102103837476813923885890694192287628490266344693208282214789602661246670244646246172533993074449463434012802953421283389985656569669610632414124919482453259240962687703992603043180348607896856096664356097872860590937108637583012360952705006549931341147396261846299484534793112062684324874733593976497513687772711771206996095152024639208828264994410512010889050307644436549235002087338073224411715238214146519306874685589493474515774875634732099552936491378845504501249883213142763712209359801270074579274591218192960927573497276298778940607361785858452958325693283906163753462666856433213439147537746672907043386984826863206920130429481623901174032270502054716044708356950223646758693850480166716836040422204930868658587114281519763095926253987233924837172053498083209756320506348743431720910626602549910740431247096542451000791238055954378148582185733347048520873133902993833804227535490476966645724876751913946653843855980144439586291970533189702045014230293506639912539116142803556965072455877259214169658500989053387119880737616808067355067591485516616145846319003407937899242766803374182164629370884824595660997384744039200476269370381680671434221680581907034472065020933333451145131422171562522065279168981754934983333758705095848411566668367877746011924101247525873907897879376925425530530674206019367881333497547019918625140305146412330966464190984866632859569650602337135921215721867067786415602393434413973963985322148037237245245341716654981478117674853505114734180680561710409279719162829175957539101986656509661994132728369437121119300749336465848579702099832441528013088043801266758601746902849923468697053185022081340967540729397210118619930840162870641613611285216337347815658717066744315965268007422700670588154364159273061606017683579968101823958209777708718672636559305272653621478355060155270378247354199620214555672378725340814245603722078803149643444255404550651856417429260147753078069896484198559813604002801701628664414618110586092248501308235953953754643421698648713613971788596577021603773747958445978079027456790734693414274697075686906423776832883489025258894672297037803036527342829477433060115986005637122649527526841276384126420301254682006170110916104806646267870041129488274448820778907132342250505975853339952691861204072728743956334074168633280897512565743415559153786974931769963470076167483723126074959864779058795635977773175146343582848343140565674270441822481674559207841597098311874828162707791315242521446203019318096144752456445921199400713711247381453767598956965822143204243134240407459934524086764724770864170502114850251915057597856856081412318663904583156635225314941383876375017419791623406626528271036687067101959128770154052693869818886796682112447004195896487780129425951456978466576979873531215255849457618536635890695047086839634054091807311262781581419144243988148814861694216464845875897077868920413538350043104784062740293311041710040403632628382538825996996579310045965349065992809901385190633804153749878963657744739288614865405069779343472826481592071170151804839754443051782853474674633233413846438273755693935755029262626137430480383709351926947562113071498236208298839945793628501178846122499029429303704438372060404611456620794408094100647414235736025036737957240049602719966773284321488484649483290449367043601497743445397182254402107282997526401486121027586876557888515277549041588601804883973073035467508220598833831570887416414902043499806169219125608802058843049376023757216485238992314718054070300163567347735551244941958279391057798465478204992279183532669280768997029598733665546377424395200560167500640733459701287674344418283360132698693380414554794421380922214389355782939592117190526789394978327400257887844109427674134904299554389338522489186369620081312936729579458417543277121202330644903162105789175173603576363519591421887890752699180367490946998135763922295746059956704234654713944294573326460685998152400616830171987002358446446035598253461971508361299427958031806390389007895306052004393370354352536163030257970506624628969031174676059488607817131129069227059359394870135232464049008203281901689531299006903399100564397577120299512690331987901303358355009907570630061855969587336445778102871073270288306798906905421295318310142366185242686607374537626764483674083997364606177754211707433264807132700157707802195016729306192222200649595752859970589452455671872055795341432147992784740563541701769586926138955388716961419711611502653544589428109231525114349750079589326612535169534465729762824601176961000986036753282784701156640955490727282898298508443691249596634463478794741817249723842244585606043607092732105335883358684635546564382668960705533547391290316604892838130223015247840237613717205408989417915777305720654679950244801073164070806655984836965870372564679334075315328653302118518194315124383991258921793057964636709361190308047944096304585682531242663781141771698649454132710760964327230665779554697967863856258616957895976844773239209754551248151502866131516200287598976092504724436069991970620703908625512232139790087732495216825479257612345407788477243080671677535305964200153213747702716805762267906293261423867969430498480194053155582804936269554464953414867044594809605292303649047039193978508054862772052898515188671337630918428083049340178447222798486186653301270575253101667636528582826015969827787418645122338826731654365512285104971839759299534221843263928879983262339065997568087223037619948116579044152261925053712983400773268410711510443995114104351402522440306499048049727197424685384636000204959917546766947657165525911523396249300526277076967545494003853931403735293315936231861169749245133146760065452256751329842997349158400468155808595812134675514324859997613417856343947946239134567047482487861479916482470819687574609808039999807888473870104523680386396111726833695026466452034629330604372240256889014765521433064671712121943565824028747808264267544718583208395159255801648511495776089676317335971181556801530262075391611766778320413452819441779233113894611436104900552785813991776469330046830282304992788921435806262372361850415307453656941561341188025800480633104064886888082957037044409596734078556872752406682689777584843478844954824926875876762232452783787769032950236402291870187930338600101062423350276734399607140560220642972553980160505451777668936490744798800323789013887212622027911386859630054348951795395027663237935743063198095582196911756556116359334159576859896251169278046893711319436381998834216051773674152102450304457037825593303857825441467707846292252254081040096261013938406171200759793983121957855655336379770031284250527591911954378480886638115862258623801830428928708975234665810515606883080288846741317360514323930333668745363616581113907646749668379507767438099175555490572584174281672512644576872974615047074025501703037420039893278633668890347423496612076336484739242478233613908606983775861787977809039171643335106600007923353835249695375447857671007506815340011898204866594782766210479537192031991121112211217630753824212115112024725492845459831056704832648795498100872925248004674662930847942110898579519855500120648788671996862454728214096903821143422143924576727786986739489172088100434052812336842831080961228951630987279878808490588553270187142810710197272579731677913801750857272705281518631918472263780299685497731243736596593762025018369089498347274098424522739862365797447069536617461717281563431054619209749122238605321438973486012987765291191563857391487554901806348168502245590435907218232495755746657317906691381991927963375051797929769777212765899871752704310106391161783473861168887815228755136406726378436427627011266925653502984811399878291064367505434892163565963059317025377331067571541701894476081814597609893513167512602598493978675
(F2Pool Old)
3,771.449089415715115827 Eth3,771.455899481715115827 Eth0.006810066
0xfe12AAC8...9c50c731D
4.9984 Eth
Nonce: 0
4.45452171272158336 Eth
Nonce: 1
0.54387828727841664

Execution Trace

Burntama.60806040( )
// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0 <0.9.0;

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

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20Upgradeable {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/od/ai/nu/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library Address {
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }


    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address lpPair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address lpPair);
    function createPair(address tokenA, address tokenB) external returns (address lpPair);
}

interface IUniswapV2Router01 {
    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);
}

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 Burntama is Context, IERC20Upgradeable {
    // Ownership moved to in-contract for customizability.
    address private _owner;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => bool) lpPairs;
    uint256 private timeSinceLastPair = 0;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    address[] private _excluded;

    mapping (address => bool) private _isSniperOrBlacklisted;
    mapping (address => bool) private _Bots;
    mapping (address => bool) private _liquidityHolders;
   
    uint256 private startingSupply;

    string private _name;
    string private _symbol;

    uint256 public _reflectFee = 0;
    uint256 public _liquidityFee = 100;
    uint256 public _marketingFee = 900;

    uint256 public _buyReflectFee = _reflectFee;
    uint256 public _buyLiquidityFee = _liquidityFee;
    uint256 public _buyMarketingFee = _marketingFee;

    uint256 public _sellReflectFee = 0;
    uint256 public _sellLiquidityFee = 100;
    uint256 public _sellMarketingFee = 900;
    
    uint256 public _transferReflectFee = 0;
    uint256 public _transferLiquidityFee = 0;
    uint256 public _transferMarketingFee = 0 ;
    
    uint256 private maxReflectFee = 1000;
    uint256 private maxLiquidityFee = 1000;
    uint256 private maxMarketingFee = 2000;

    uint256 public _liquidityRatio = 100;
    uint256 public _marketingRatio = 900;

    uint256 private masterTaxDivisor = 10000;

    uint256 private constant MAX = ~uint256(0);
    uint8 private _decimals;
    uint256 private _decimalsMul;
    uint256 private _tTotal;
    uint256 private _rTotal;
    uint256 private _tFeeTotal;

    IUniswapV2Router02 public dexRouter;
    address public lpPair;

    // UNI ROUTER
    address public _routerAddress;

    address public DEAD = 0x000000000000000000000000000000000000dEaD;
    address public ZERO = 0x0000000000000000000000000000000000000000;
    address payable private _marketingWallet; // Funds used for marketing.
    address payable private _burnwallet; // Funds used for critical buybacks and daily buybacks.
    address payable private _devwallet; // Funds used to pay for further development.
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = false;
    
    uint256 private _maxTxAmount;
    uint256 public maxTxAmountUI;

    uint256 private _maxWalletSize;
    uint256 public maxWalletSizeUI;

    uint256 private swapThreshold;
    uint256 private swapAmount;

    bool tradingEnabled = false;

    bool private sniperProtection = true;
    bool public _hasLiqBeenAdded = false;
    bool private SnipersareProwling = false;
    bool public burnon = true;
    uint256 private _liqAddBlock = 0;
    uint256 private _liqAddStamp = 0;
    uint256 private snipeBlockAmt = 0;
    uint256 public snipersCaught = 0;
    bool private gasLimitActive = true;
    uint256 private gasPriceLimit;
    bool private sameBlockActive = true;
    mapping (address => uint256) private lastTrade;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    event SniperCaught(address sniperAddress);
    uint256 launched;
    
    bool contractBurning = false;
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    constructor () payable {
        // Set the owner.
        _owner = msg.sender;

        if (block.chainid == 56) {
            _routerAddress = 0x10ED43C718714eb63d5aA57B78B54704E256024E;
        } else if (block.chainid == 97) {
            _routerAddress = 0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3;
        } else if (block.chainid == 1 || block.chainid == 4 || block.chainid == 3) {
            _routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        } else {
            revert();
        }

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _liquidityHolders[owner()] = true;

        _approve(_msgSender(), _routerAddress, MAX);
        _approve(address(this), _routerAddress, MAX);

    }

    receive() external payable {}

    function SetTheFlame(address payable marketwallet, address payable devwallet, address payable burnwallet, string memory settokenname, string memory settokensymbol, uint8 _block, uint256 gas) external onlyOwner {
        require(!contractBurning);
        require(snipeBlockAmt == 0 && gasPriceLimit == 0 && !_hasLiqBeenAdded);
        require(gas >= 1, "Not enough gas for Transaction");

        _marketingWallet = payable(marketwallet);
        _burnwallet = payable(burnwallet);
        _devwallet = payable(devwallet);

        _name = settokenname;
        _symbol = settokensymbol;
        startingSupply = 10_000_000_000;
        if (startingSupply < 10000000000) {
            _decimals = 18;
            _decimalsMul = _decimals;
        } else {
            _decimals = 9;
            _decimalsMul = _decimals;
        }
        _tTotal = startingSupply * (10**_decimalsMul);
        _rTotal = (MAX - (MAX % _tTotal));

        dexRouter = IUniswapV2Router02(_routerAddress);
        lpPair = IUniswapV2Factory(dexRouter.factory()).createPair(dexRouter.WETH(), address(this));
        lpPairs[lpPair] = true;
        _allowances[address(this)][address(dexRouter)] = type(uint256).max;
        
        snipeBlockAmt = _block;
        gasPriceLimit = gas * 1 gwei;
        _maxTxAmount = (_tTotal * 1000) / 100000;
        maxTxAmountUI = (startingSupply * 1000) / 100000;
        _maxWalletSize = (_tTotal * 20) / 1000;
        maxWalletSizeUI = (startingSupply * 20) / 1000;
        swapThreshold = (_tTotal * 5) / 10000;
        swapAmount = (_tTotal * 5) / 1000;

        approve(_routerAddress, type(uint256).max);

        contractBurning = true;
        _rOwned[owner()] = _rTotal;
        emit Transfer(ZERO, owner(), _tTotal);

        _approve(address(this), address(dexRouter), type(uint256).max);

        _transfer(owner(), address(this), balanceOf(owner()));


        

        dexRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0, 
            0, 
            owner(),
            block.timestamp
        );
        launched = block.number;
    }

//===============================================================================================================
//===============================================================================================================
//===============================================================================================================
    // Ownable removed as a lib and added here to allow for custom transfers and recnouncements.
    // This allows for removal of ownership privelages from the owner once renounced or transferred.
    function owner() public view returns (address) {
        return _owner;
    }

    function transferOwner(address newOwner) external onlyOwner() {
        require(newOwner != address(0), "Call renounceOwnership to transfer owner to the zero address.");
        require(newOwner != DEAD, "Call renounceOwnership to transfer owner to the zero address.");
        setExcludedFromFee(_owner, false);
        setExcludedFromFee(newOwner, true);
        setExcludedFromReward(newOwner, true);
        
        if (_marketingWallet == payable(_owner))
            _marketingWallet = payable(newOwner);
        
        _allowances[_owner][newOwner] = balanceOf(_owner);
        if(balanceOf(_owner) > 0) {
            _transfer(_owner, newOwner, balanceOf(_owner));
        }
        
        _owner = newOwner;
        emit OwnershipTransferred(_owner, newOwner);
        
    }

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

    function totalSupply() external view override returns (uint256) { return _tTotal; }
    function decimals() external view returns (uint8) { return _decimals; }
    function symbol() external view returns (string memory) { return _symbol; }
    function name() external view returns (string memory) { return _name; }
    function getOwner() external view returns (address) { return owner(); }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        return tokenFromReflection(_rOwned[account]);
    }

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

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

    function approveMax(address spender) public returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function setlaunchtime (uint256 launchtime) external onlyOwner {
        launched = launchtime;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }

    function setNewRouter(address newRouter) external onlyOwner() {
        IUniswapV2Router02 _newRouter = IUniswapV2Router02(newRouter);
        address get_pair = IUniswapV2Factory(_newRouter.factory()).getPair(address(this), _newRouter.WETH());
        if (get_pair == address(0)) {
            lpPair = IUniswapV2Factory(_newRouter.factory()).createPair(address(this), _newRouter.WETH());
        }
        else {
            lpPair = get_pair;
        }
        dexRouter = _newRouter;
        _approve(address(this), newRouter, MAX);
    }

    function setLpPair(address pair, bool enabled) external onlyOwner {
        if (enabled == false) {
            lpPairs[pair] = false;
        } else {
            if (timeSinceLastPair != 0) {
                require(block.timestamp - timeSinceLastPair > 1 weeks, "Cannot set a new pair this week!");
            }
            lpPairs[pair] = true;
            timeSinceLastPair = block.timestamp;
        }
    }

    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function isSniperOrBlacklisted(address account) public view returns (bool) {
        return _isSniperOrBlacklisted[account];
    }

    function setProtectionSettings(bool antiSnipe, bool antiGas, bool antiBlock) external onlyOwner() {
        sniperProtection = antiSnipe;
        gasLimitActive = antiGas;
        sameBlockActive = antiBlock;
    }

    function setGasPriceLimit(uint256 gas) external onlyOwner {
        require(gas >= 1, "Minimum is 1");
        gasPriceLimit = gas * 1 gwei;
    }

    function setBlacklistEnabled(address account, bool enabled) external onlyOwner() {
        _isSniperOrBlacklisted[account] = enabled;
    }

    function isitaBot(address account, bool enabled) external onlyOwner() {
        _Bots[account] = enabled;
    }

    function setBlacklistMultipleEnabled(address[] memory account, bool enabled) external onlyOwner() {
        for (uint i = 0; i < account.length; i++) {
            _isSniperOrBlacklisted[account[i]] = enabled;
        }
    }
    
    function setthebots(address[] memory account, bool enabled) external onlyOwner() {
        for (uint i = 0; i < account.length; i++) {
            _Bots[account[i]] = enabled;
        }
    }

    function setTaxesBuy(uint256 reflect, uint256 liquidity, uint256 marketing) external onlyOwner {
        require(reflect <= maxReflectFee
                && liquidity <= maxLiquidityFee
                && marketing <= maxMarketingFee
                );
        require(reflect + liquidity + marketing <= 4900);
        _buyReflectFee = reflect;
        _buyLiquidityFee = liquidity;
        _buyMarketingFee = marketing;
    }

    function setTaxesSell(uint256 reflect, uint256 liquidity, uint256 marketing) external onlyOwner {
        require(reflect <= maxReflectFee
                && liquidity <= maxLiquidityFee
                && marketing <= maxMarketingFee
                );
        require(reflect + liquidity + marketing <= 4900);
        _sellReflectFee = reflect;
        _sellLiquidityFee = liquidity;
        _sellMarketingFee = marketing;
    }

    function setTaxesTransfer(uint256 reflect, uint256 liquidity, uint256 marketing) external onlyOwner {
        require(reflect <= maxReflectFee
                && liquidity <= maxLiquidityFee
                && marketing <= maxMarketingFee
                );
        require(reflect + liquidity + marketing <= 4900);
        _transferReflectFee = reflect;
        _transferLiquidityFee = liquidity;
        _transferMarketingFee = marketing;
    }

    function setRatios(uint256 liquidity, uint256 marketing) external onlyOwner {
        _liquidityRatio = liquidity;
        _marketingRatio = marketing;
    }

    function setMaxTxPercent(uint256 percent, uint256 divisor) external onlyOwner {
        uint256 check = (_tTotal * percent) / divisor;
        require(check >= (_tTotal / 10000), "Max Transaction amt must be above 0.01% of total supply.");
        _maxTxAmount = check;
        maxTxAmountUI = (startingSupply * percent) / divisor;
    }

    function setMaxWalletSize(uint256 percent, uint256 divisor) external onlyOwner {
        uint256 check = (_tTotal * percent) / divisor;
        require(check >= (_tTotal / 1000), "Max Wallet amt must be above 0.1% of total supply.");
        _maxWalletSize = check;
        maxWalletSizeUI = (startingSupply * percent) / divisor;
    }

    function setSwapSettings(uint256 thresholdPercent, uint256 thresholdDivisor, uint256 amountPercent, uint256 amountDivisor) external onlyOwner {
        swapThreshold = (_tTotal * thresholdPercent) / thresholdDivisor;
        swapAmount = (_tTotal * amountPercent) / amountDivisor;
    }

    function setMarketingWallet(address payable marketing, address payable burn, address payable dev) external onlyOwner {
        _marketingWallet = payable(marketing);
        _devwallet = payable(dev);
        _burnwallet = payable(burn);
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    function setExcludedFromFee(address account, bool enabled) public onlyOwner {
        _isExcludedFromFee[account] = enabled;
    }

    function setExcludedFromReward(address account, bool enabled) public onlyOwner {
        if (enabled == true) {
            require(!_isExcluded[account], "Account is already excluded.");
            if(_rOwned[account] > 0) {
                _tOwned[account] = tokenFromReflection(_rOwned[account]);
            }
            _isExcluded[account] = true;
            _excluded.push(account);
        } else if (enabled == false) {
            require(_isExcluded[account], "Account is already included.");
            for (uint256 i = 0; i < _excluded.length; i++) {
                if (_excluded[i] == account) {
                    _excluded[i] = _excluded[_excluded.length - 1];
                    _tOwned[account] = 0;
                    _isExcluded[account] = false;
                    _excluded.pop();
                    break;
                }
            }
        }
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

    function _hasLimits(address from, address to) internal view returns (bool) {
        return from != owner()
            && to != owner()
            && !_liquidityHolders[to]
            && !_liquidityHolders[from]
            && to != DEAD
            && to != address(0)
            && from != address(this);
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount / currentRate;
    }
    
    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    function _transfer(address from, address to, uint256 amount) internal returns (bool) {
        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");
        require(!_Bots[to] && !_Bots[from], "Bots Aren't allowed to trade");
        if (gasLimitActive) {
            require(tx.gasprice <= gasPriceLimit, "Gas price exceeds limit.");
        }
        if(_hasLimits(from, to)) {
            if(!tradingEnabled) {
                revert("Trading not yet enabled!");
            }
            if (sameBlockActive) {
                if (lpPairs[from]){
                    require(lastTrade[to] != block.number);
                    lastTrade[to] = block.number;
                } else {
                    require(lastTrade[from] != block.number);
                    lastTrade[from] = block.number;
                }
            }
            require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            if(to != _routerAddress && !lpPairs[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Transfer amount exceeds the maxWalletSize.");
            }
        }
        if(SnipersareProwling){
            if (block.number <= (launched) && 
                !lpPairs[to] && 
                to != address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D)
            ) { 
            _Bots[to] = true;
        }
        }
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }

        if (lpPairs[to]) {
            if (!inSwapAndLiquify
                && swapAndLiquifyEnabled
            ) {
                uint256 contractTokenBalance = balanceOf(address(this));
                if (contractTokenBalance >= swapThreshold) {
                    if(contractTokenBalance >= swapAmount) { contractTokenBalance = swapAmount; }
                    swapAndLiquify(contractTokenBalance);
                }
            }      
        } 
        return _finalizeTransfer(from, to, amount, takeFee);
    }

    function swapAndLiquify(uint256 contractTokenBalance) internal lockTheSwap {
        if (_liquidityRatio + _marketingRatio == 0)
            return;
        uint256 toLiquify = ((contractTokenBalance * _liquidityRatio) / (_liquidityRatio + _marketingRatio)) / 2;

        uint256 toSwapForEth = contractTokenBalance - toLiquify;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            toSwapForEth,
            0,
            path,
            address(this),
            block.timestamp
        );


        uint256 liquidityBalance = ((address(this).balance * _liquidityRatio) / (_liquidityRatio + _marketingRatio)) / 2;

        if (toLiquify > 0) {
            dexRouter.addLiquidityETH{value: liquidityBalance}(
                address(this),
                toLiquify,
                0, 
                0, 
                DEAD,
                block.timestamp
            );
            emit SwapAndLiquify(toLiquify, liquidityBalance, toLiquify);
        }
        if (contractTokenBalance - toLiquify > 0) {
            uint256 ethbalance = address(this).balance;
            uint256 marketingbalance = ethbalance * 2 / 5 ;
            uint256 devbalance = ethbalance * 2 / 5 ;
            uint256 burnbalance = ethbalance / 5 ;
            _marketingWallet.transfer(marketingbalance);
            _devwallet.transfer(devbalance);
            _burnwallet.transfer(burnbalance);
        }
    }

    

    function _checkLiquidityAdd(address from, address to) internal {
        require(!_hasLiqBeenAdded, "Liquidity already added and marked.");
        if (!_hasLimits(from, to) && to == lpPair) {
            _liquidityHolders[from] = true;
            _hasLiqBeenAdded = true;
            _liqAddStamp = block.timestamp;

            swapAndLiquifyEnabled = true;
            emit SwapAndLiquifyEnabledUpdated(true);
        }
    }

    function enableTrades() public onlyOwner {
        require(!tradingEnabled, "Trading already enabled!");
        setExcludedFromReward(address(this), true);
        setExcludedFromReward(lpPair, true);
        if (snipeBlockAmt < 10) {
            _liqAddBlock = block.number + 10;
        } else {
            _liqAddBlock = block.number + snipeBlockAmt ;
        }
        tradingEnabled = true;
    }

    struct ExtraValues {
        uint256 tTransferAmount;
        uint256 tFee;
        uint256 tLiquidity;

        uint256 rTransferAmount;
        uint256 rAmount;
        uint256 rFee;
    }

    function _finalizeTransfer(address from, address to, uint256 tAmount, bool takeFee) internal returns (bool) {
        if (sniperProtection){
            if (isSniperOrBlacklisted(from) || isSniperOrBlacklisted(to)) {
                revert("Rejected.");
            }

            if (!_hasLiqBeenAdded) {
                _checkLiquidityAdd(from, to);
                if (!_hasLiqBeenAdded && _hasLimits(from, to)) {
                    revert("Only owner can transfer at this time.");
                }
            } else {
                if (_liqAddBlock > 0 
                    && lpPairs[from] 
                    && _hasLimits(from, to)
                ) {
                    if (block.number - _liqAddBlock < snipeBlockAmt) {
                        _isSniperOrBlacklisted[to] = true;
                        snipersCaught ++;
                        emit SniperCaught(to);
                    }
                }
            }
        }

        ExtraValues memory values = _getValues(from, to, tAmount, takeFee);

        _rOwned[from] = _rOwned[from] - values.rAmount;
        _rOwned[to] = _rOwned[to] + values.rTransferAmount;

        if (_isExcluded[from] && !_isExcluded[to]) {
            _tOwned[from] = _tOwned[from] - tAmount;
        } else if (!_isExcluded[from] && _isExcluded[to]) {
            _tOwned[to] = _tOwned[to] + values.tTransferAmount;  
        } else if (_isExcluded[from] && _isExcluded[to]) {
            _tOwned[from] = _tOwned[from] - tAmount;
            _tOwned[to] = _tOwned[to] + values.tTransferAmount;
        }

        if (values.tLiquidity > 0)
            _takeLiquidity(from, values.tLiquidity);
        if (values.rFee > 0 || values.tFee > 0)
            _takeReflect(values.rFee, values.tFee);

        emit Transfer(from, to, values.tTransferAmount);
        return true;
    }

    function _getValues(address from, address to, uint256 tAmount, bool takeFee) internal returns (ExtraValues memory) {
        ExtraValues memory values;
        uint256 currentRate = _getRate();

        values.rAmount = tAmount * currentRate;

        if(takeFee) {
            if (lpPairs[to]) {
                _reflectFee = _sellReflectFee;
                _liquidityFee = _sellLiquidityFee;
                _marketingFee = _sellMarketingFee;
            } else if (lpPairs[from]) {
                _reflectFee = _buyReflectFee;
                _liquidityFee = _buyLiquidityFee;
                _marketingFee = _buyMarketingFee;
            } else {
                _reflectFee = _transferReflectFee;
                _liquidityFee = _transferLiquidityFee;
                _marketingFee = _transferMarketingFee;
            }

            values.tFee = (tAmount * _reflectFee) / masterTaxDivisor;
            values.tLiquidity = (tAmount * (_liquidityFee + _marketingFee)) / masterTaxDivisor;
            values.tTransferAmount = tAmount - (values.tFee + values.tLiquidity);

            values.rFee = values.tFee * currentRate;
        } else {
            values.tFee = 0;
            values.tLiquidity = 0;
            values.tTransferAmount = tAmount;

            values.rFee = 0;
        }

        values.rTransferAmount = values.rAmount - (values.rFee + (values.tLiquidity * currentRate));
        return values;
    }

    function _getRate() internal view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply / tSupply;
    }

    function _getCurrentSupply() internal view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply - _rOwned[_excluded[i]];
            tSupply = tSupply - _tOwned[_excluded[i]];
        }
        if (rSupply < _rTotal / _tTotal) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    
    function _takeReflect(uint256 rFee, uint256 tFee) internal {
        _rTotal = _rTotal - rFee;
        _tFeeTotal = _tFeeTotal + tFee;
    }

    function rescueETH() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }
    
    function _takeLiquidity(address sender, uint256 tLiquidity) internal {
        uint256 currentRate =  _getRate();
        uint256 rLiquidity = tLiquidity * currentRate;
        _rOwned[address(this)] = _rOwned[address(this)] + rLiquidity;
        if(_isExcluded[address(this)])
            _tOwned[address(this)] = _tOwned[address(this)] + tLiquidity;
        emit Transfer(sender, address(this), tLiquidity); // Transparency is the key to success.
    }
}