ETH Price: $2,431.55 (+0.40%)

Transaction Decoder

Block:
5491403 at Apr-23-2018 11:14:31 AM +UTC
Transaction Fee:
0.03933519 ETH $95.65
Gas Used:
3,933,519 Gas / 10 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x4730fB14...27f37F4D0
0 Eth
Nonce: 0
0 Eth
Nonce: 1
From: 0 To: 1068683798877585034384644178343129919948648668355551840523287271463277514942463624430401163547344885839440212989736591632630919755318946622828182208054530527911276356372639203539924613257427922010878515912847577960632004514514635048619327438858214445793091919385539611096479210066523964055090960317569195704932553375044925218848399155772890844739119328481744175912369691702639695332568896096399276681096366060630343400909482626775055701470321624170531045548142630863274960918188385536479976257944355799890086920312094890025940804176500103797294142525439291350143561771937676613988097038396198564709862438777823039412618374757940357178856591341428760804842243909336201035088042282333081272949702513225042874865777019593870895948042444145531847000529908999500730996715220572960690046024251690505400418018032996410747068129633128829825933744443598617032188228746280906188432231558148098560157030039634300381909705835906886351754458574975685607373839121328947124536455947076085479629294919953980363962412175333906215278049616052934697695761273348738171458803701451641954646819263199219391449851932880082883497980195082518352543127191555671488284875788012757431158967751918378105884889657217921176281648464520140227643145513492404980304119964277699118633255539553373542548345650114786133556704060966635761809354704362435700332519329149957376432851760141105835540574775243098513816659841799122452959121096898461357091907340388273733215804743314606198434678100471990276722711436557210090326002510761214894067354696965407559757582671195847308329180936545943130999563738411686210428285388850867298716234724888659200885600534572904408828712109401831354174064252599603487119887313038051412741168396825869185193303516956546992201113369815990788768299741581312332632958694836752584396141108549714552159460581896031747823807756174651387915016983415165110553462418917707350225742557943266871458069902979663149258971232361934541310086947903343034366382241069622390360255383857613195512597135802012728621800336545074606578002424283026673030024049292908319259786980753983555153065656779295727995242833983038271211026614538032691442140834961633535982167148643958699106904327812653184059099207035094761162507158938657784345294231337040244504071588375386052460340443950977268628838911483601968294227906454369186017701625110476192019358349255360443984613156004344148979176084866236572527772601579130985505989953681569518723434476171966172807772387850152596361437453653385815229074030053559965746770200694359057494639423585012069287452095513780707657233244422567478441437214374761421815116766125511479193184071126665063021118064020593334225979691430000317956842319357933708828937969813854252318057206773835018462895320742382573879952281065253772786595594588723910545085156275468474368957164198524874978704549202896108196849578756540760334614196528791800957384328582339148999699312849555656508174221378735426778042557499128790487161224355823813863256666345091731198250325814130970959691102227598461414267473941689682773029409932303516700895343573064171764730404762424470552455472128608456815329239356441799046398919949866658500633183634552758471775738093725325657433474855166479588930799504112733063363577069523431176082229012314931273616339921721314854547903869889374446634772914143826191352111115086000289778804809095264584931905899653721432068772091352616483510504093013744880944427805136103915602732257638902602117398691377572100140989120863659178573986754939978587902547180267119252072585648859221231674188131962478885117244365487478432468942893324314487043976093952177986830885807271643757365851517314218272209949157330096367755666031222391535325786918190418564003361018124840909094433236751317990201503433076851694287029591705516427034280352599399603918077876914661781191843158028925291572711802868022133329238939085330295710755849633722281896215719632279764732200904069165399413913062057693668848406804668021238168359032607543025261736538537201124974921533322470409786494074040915562292120256901275243871294624236679899336878359076345642223894769694549083635947910687382396434986877191594899715546184937673058668042470833374328584123178733278385543418276739118203387617161065013693730480136038591974706410640636828330167915798533682338133811844611266053238337689218682487556598119708170203311693610139667662424965796464510139766853979085907921666049086013938571754349479628623061974948730253688051128111815430125999044612847171808893629525998440596131356999055961174738069925190680980527180679817704979588060881434960522617294560604163608148543703372774392674259219924486316838622600617658565557001379125852068597766512894604289433957638752954326309531372213648215199738790058489513297078908178207602475550986877700513167973940350874366540294341945241217736829145504119026261352246691498562597439209039908251125916938992270293068041419699554815706170422823517184485460425715946403902680302004972625829526906714951340089480512543969443671397621720579413680474027333732102528570450740369136158034107224019496640994802256800713761911708089673704700754976872561778372893241750382768137981808532585832545393300210911180297574610024739788814706249662608832246435552199373809306821962911952836725030487985328014754445362770167684529917172502501804808500713590991160036752793675154602759673485765206640634895052760287238399468802168619169033558221224336222607410116354036432515751326566155577197174790977424356896332435636482633660527550813257887186693488003628476111081169614944164437660913771367951549501619883792182713628573280691020328821064842543084086143623973182816773458214566504666388848012011698940138395414296020357496682309947667760531172220709789723817310917327246815282688465990336995370432674210882251165142699132262618418223482599736933899178691044320989272970137635408434037987054657619239471523341384905960766565953591772601808185222656567273545006758692558235872274276621318783167582351573355741751648484510834841075111152532494769759152254363748700911641555895825156722248160024399812971202822384449351445188385458862055012212875939985561425584589281258689828789492656952194218460099204972524849911496531027408406740858091466510285102533077701235367072939900009099314803006431458725168426904457894148672762252579205988714440365855231848505405269928840030126106138672369712429965279555316949491887714081913519735577165098093827780780024837932826552380142959495030341226260903284809795041365779931390703546296984576854634170652349912578049031612484977268673837727746794228418588596086088651293856849857796478465712588132091025882752146264527321216701655097057157855266031535340158224771658396668509018887385523593023018760337997333382027085203381271524055037503328049214378424021758921858600733391218780541199889786021608106179018812737073973322971203431425358830248242126343874864237805477345373393862952083560773711021532067646747425198564089929048049838060304036651485548554990109593592608583924845690624073297753724091271360465541835639948699046285682344518081527178113248530969584170280997282476920905146860959454489434000010761526924361251939496656696459851456355700487979195901076493682291383904940492292132183063006115576258167206273333360133675213003547600806300065435873888080612436770221795199813036441266235074693932820880558335475746790461392934007399647429309428291268198559382097859153706949918319224000700657039724287240309593171501452642929793387358761976201235276817172662606085650643893820647737693400780441442317694931314775292858864623576400992855311440437987189531618817286617691284458235059164028159685029578657714731517508191290235853499599997557671294640946350518072991954544308496480832488195922987842259922371482627888066699497876947289998753035312869762501876150954327255141227983199206891291418816499765802762148464291240212795584902255643448263053626403274857987797917416003576319534455195085298748978344139444804948677515279381002485563396391558846379202279714718684947802151164766690497590208929235052627654608775528792003652129233202341711970223317950875032295755970775665475421487492528832884781780656108023058213128946737112488891965349784688399917208582975132270982071906576199613666891773628581146736071981847250053986379185505770632327276777890212138224020900509079857188815854095458071030419951729274107717258512352940330261732616254523639741133211784008620663277028398882212499017617820337361494910021590525967518907222500953985225231026419813507619583125059351362309676715655089482030538895427439403614232156599769174422453249066185104003599273202346880454314107558290660794086281066040783101577760370542341524536166426153616688662874649050815068023782645488806705217718762845125322733170068803721814786200080871354510605966831224628510412194813009463139342954257114777224322599521835065886459164118096846252928960952799047711321978705364385288517953468017242508108614972174669440827580822661140801939946588990917403291318270957477773100094427553989671289015118577109037106174246050352070469575251029780327710350060008539427727586809972634323117868341290582435972242595042645550809528266336110640492243795345835080924175188217931473676225610952748895006181490336304338403751345009395571687468812550520560483752173677040666107297310548297227261556683553603095472007208537907160909392571971865522064624115398426878333911794750040365456934980065757731047139168163672536710212601601661212639265785549695326722546680055961093790188273480030684580494979283895228587118402046044050330686580869486750671517855115169930235865533684221903913981419518117919254667191033307503250302064688651750772357365580887058144200581196107473657839979773005441923413293876680453333484509668051506437816586815056150027921274490250344754829667685358209390404292212159163764580637943371163032149327897208451414282405959514943052002801612843451901334303870315485357787078431811087972931695979394401649803661491586682261173881401548728406163602076614945878396489268930903276348189559092618436405004995698804901571139943477112310545587771812984043703054413783910023977966266451927754231004613057227621880914119390813640905106102992614892748848462654262984766651404556720680406060411858886954314491210299166218168852374957136270723865284626915463847751279913650835495481812176583011105730901637808399645705520651656753632895496595026482114432951085226867394627269312348396335919089097585939869846642901021482305867783892905651006423395452989814514495775529998432781171051849100238163038470787791222320220371569762592260711839398682369695663314535151998794734179056349979247282757609743823536542060159984967514674689596717358908570150306763114339139856842950905402606299378525104657969955145936343135611190331012162665475615895809393888712158060366829108360123967002905345683626082308309587756484945034319344237315977549535724974441939735255019491408815539828888678455728966869837614804348778715302715351917953430125968689886731696090104526710834709393633685012032229379730537569493753650976049758606842436008972497895146221100503639050284345842997360365734906741702702691266156927479490378819635332728454128906653597014015262711542380986470055129219694554247104217090487866955788870377619393660164641709417652384699476873370869026369466521894628011630030169245901438401173514434454757421779186159102984314237186043097167637224473462385961949849230071958100206398286838533173625600146784562749456981470212382699513923763136992907797272266068733518590287583143164810045889512381363117423121990067829041405181714163426652916653925672489908392663064864958246851683208753677235231986292577435852519450175298228243786147513175878074658981565741696305469493367283893071583573246946317096148671307936512759335731635171145775124425027843342341769699172529827855677542453465162894760370079980921758849630362643544790072855419834531247510763572627213304219853015379621262163511014857667210999247136077115418662620640980282677832044900996167938604959347415872695707873246952959877552174688788243974092952896036271656000985265431370211056483133252924244073839465837252538382819432437036269207386934442740255808540273203880627849042296713955529201350914245918816961847827492570383985773632360391713883411716915402005475942661625038976822147983141410074152636269371753059075973579149197970293651903641792043736168987553689776718645296915198856499617441021580918470354893345541177101034190690124526480821511234501139501416571096142755391310940144819633327785139264414796601941770251857213013445793011464774672543817713234015954596182455008774111617286123637190989589486369100840196069548598666736294070004643160853173241834131894518596053585499285342165535253742668853435882219683980678291268737861131512121335519135262594393938576549838637163846492135902069797002345888936069195354570333465279663750895957926112146901608382631651580305494717942221359159582587770405589171148184877598558676051497307476084180542330152476374594677627119172313265415108581395019500638012311795186046159197487080957805001831601467162808718435025119685729296258271394810157400750146966871313219552032032812480605086718516205661158993935421829940598333960252614617180706486737388189388905680878305035527619340067190498054684429882315172440629592600036260875613614973877949302620697966990783643463560111900639939275502030274885615447518065053959325959718227034102421491819554837175044262015187165611171429669532213185150820238742762439829655545593917377080486074068343454871946452927885425481254194211209776204844158356570490178988978142142445071638039003790191826025865835187409735896560434637240545131577347423320504891872198045606145336251680524567894465262942380450807693900344459569927689370760475568601894596805032165652497278809754535533196755578728186270424828438734097224561623002480491809040196677083808903557611072019651972190879324943037567221651467772862101066706121510559305493129875469801252139790259136997950220759786094304364215883684772105054747170220306599674493585434381759457112750017755503490461679391276307044725719111278457725817851536324081101489191349574013482872531447414774848689991014986785975078207158811405942448740670288161056008523415516810681908216717934608071368100686452216742804507276900614742791165881671440291551864297838573603646579337069684955609519085351054665673966710958996392974929830773497750146717674267807618823102165271527295263027208449412637519896036269177315075233264669207985614255233469290356692666515505805383151741474276152821322366055277991745516574557583743906973212956325357183776596434412098528576086072989322571947074963236556285818182542373774943640022554351612694973306329741445915724421044710723628472817748550519579080144755752511663427184226267289776436925441419566196718079448575293914046121114038162728904115077055869859992655477336077475139513562168909397095592751240242141970969586172749055659684251183325542038565628497319931022100249840142402737110529535552104196902186335940601910590530297471337998385499250934717512178634635139326501541816608845189638733279334002618854648454768572318798980533930785722976280582201613832046830814036386031259641354038173455024579547808624105434476814703433276734312702488117361404265722946430297083247293317000122239028362149824114364523772987731661631099501897146811430495219821883835667886751787302741568191028654270924058527901039515317468867473839691764755396847015993644404884166449674338646898282405733347508261367786043033605090482693875144440608552276646591118012562892555470773787554510278165377173749995502024859836539134783948403022550318660139207006655383583693521360037375659662591020881165527773869960175718392919830480736495128705626176928920154696594560907865762070239600764490066140418259281591814679252999476163169301163119711013443813607661935866497680706586079182607048579132261095788037076287811201451028472523617518802107465005608189307151572528965354263242845684652270486360154725901473694286328713143922862330781091645725368947936396245755684487774873848629395985478524027058901179036602784478161156394963278738199628344468716171693242581402229382724788584275043103144498308538396569844235124975595417123656101931436170830235602875804696753839321200010269660545296324739821620393209983421358435406846808877931120942325131737558057363867036317730251759431399972564782211570379540197665368326283081128212889514145900914026768755098731483701531961837835105546407338545842627740660688406204511241026809114704775151051944429867730133238596004880663049442287702672034519628706476815401117157199473935137130460080444165058973266149392108216403860509493648819141616724166807465067866641838638243109586649760854166250871318090914411872989165703549483297609884340153716797782642263193374467089362279515614000334549167269393638039748170903933367323260785906802495442151806996398518981540236758500496152020497588032903839798415774487148363770918004799190821543180028685685104362098289961624595286785338230445318042083211245398965551070481629686299107672143268558678096183521828715514291814037764344259738965078652563432147320661012042276017706033102380685881169559616112267574684697343077455731781205687936728639447113909061096165688801514374430622332652702752815540821526648382489490361694989749039930559113553118298266897932814863934685881633774019087156129811315232681197581610452135399397884143303953330819871518384120817667127278777996672120362110859072714626847719999117883120096779450371950694611423401884033878830051837404040795316906975187420454362270313048394492967596854305821583674224320172410184335349918793565512746930829741198900575181547021908100691988351277494548013447917827357150266135255027103662765528186000824682975471580020010708094266476150056307065724494951689296764832287456034653390121177843221189283480112700105350437394047042745238445438492739051445776763582540326024206001921200693000908278568788101526170319711014796203853503727405493219353923589630741847140265635345447459235490878154692134931669767896679206300418633714511744103242693437322726368164287219736608975218521182731667616387223706869949188542836434401892325387733780088909760386252346998187718141827465366102224965855307781101038377360890012530727151587508549264828088925971733895873319893516907013246124239368266255051724286177086881842318854964535141072863133822040833449671329986483666446009221022610854052683051558308992286863144462537061705325871834598627386382474544800599691418229256703530217422313050707105235129199244189181622664996924393336353838246292217555891452949750847701347632446721729908485187687254561366924984191136116294489926445538152020325552780753753561244519583995989541962305201948251248079786405499830266711723651667279180434800392595339187427548771758103017751836985843721210446477003219540568515447853885990661442837333347135314455081200391992739117318874157240081979372707275234266158127717608797641026705465334311003621898870845542698404459298134836873959536640605322949089460423479879241733230391226768482675737935414668467498885177347951149599609603657268936758156483414944032465542722949302900448436776589959200566304281876840287414106374392854445883428594445549688770557649181005097624707676279185699144912336343568443022354314472334059282427756281579454847826677628381928531580866504222619544822046326218029514031900423989709467638924417692626955216869753532664431414511448342474472402607122686561449121773274882404684342933853672336279816867390959985544293436634602266097755050137110741034228142909267360957418348727459944975346083238444585070128844173286495267739652823724932321304084718520702655838368420117931975504239889049414551605980606763825811505604653736430579167567826503096741369639460045332298707418841176609576284297729715241162730831159493021841013350367132235772117511250135434086621042762298000330234842497106516278871246231184485215658008629505889364325414343008175082191147049863554407608935214264821669273883284802926459352129930439607358331117893623173921929245591092186836603441343611154912762365222104397943379724152021503929024738983249030773787018824096408376429943689709767270487945225019303668201037879756655956804341611982487497486017128829117933517140937852090503378310934889342774932903402472641335647308737616830420870238847975832080117871063793294915535810256550717636032084490080859062712084772029589541656273462752594629087436088596894285732237034831917979963429934510554142610456847254802251154542403721074861382660568902007252173221621297612114616767911583328693547036114154792235099033904433160574704432235360259395377774540225776822999700620590036027925147920683419531210382646780257686904487723981744341584508535689770897649381198323284607115088985998635399952848046015759156180975741379202215097431357036185229581785803371939871027213027117593288920687727569433364857708050281314925737797283215248913246484679429956310709161816070363364583667159610441362850050155040224292142331789671025541914111505876931877359229504732019226558923187321674977406035828739008622455012681979904369453031783015770161058905850564723668179181167810067251460057390635928955361743528404353545044045238893824571095672063703185259711999454606252451948973180383726991708388603313009442459236025651669017888680256995104469827852810650609388191358606685614210645061486771657354580266129587035077003502939110012226071668658808501584387671120090274879317670350365339565114889344990065344179813329539071333459013623176067758823060043958086456515349873140897714559729051897650810925511956591291178534704823060842627670067576501750721662408479853172457939528798436130859316877130371541594151473757688676438902317804785000737508031903048358924784822300116842937888325853745952606983604998777294376956067697644236389810876935980001389088080777191562418116257124952673009446130665566894145151338861159968722093475685893256870706070445386026416591313951177010620726450070080479560749125621144973541607606262118015577142194144370882049622073419585643909442972256737881005094079522360415536125385845774583799877562040279218331872438744774136270830850410113477279819005978861097850116286716304243742301396627645709471714326464984853509194824530854656098526673054629731483680696229774486922163189275389101073304148687849182512176810034072759966624270299250973895961810804583659359241378821987619503612789069819591711617220205820517109434895267732608286601280963410647086421194185705847192335372482307711674948599559770124486701346506474640576877063715499442473804130762990380186284587638053259090185144462349145869274321745243145261300894178410178887420053804700926359953025282436596649184842486955607555602246621901541507967479801712946423641658744500314717171704550564407122814233563279224367410862443318844144477185011543209450333426795250299121368743114624793613851867380587595334291198126606308114568463968617777604744032937454622517667166727180890287752723712837526810693234189669730869105780664011597466003888812904205395818350299936385129966702654543184169033569827960073221560047460834116656408074034280071652052015594091972222724506142137268622514961563469820600560380609216550208000682422556285008129044421395865534364929275585821443001117023097396075740940249114061735359185704934674887623848415252775095716293914789098421301331248820701111321790709029607916933622144063029782231575837439470614863784487616482838443753298079359611465242075001494153643038654563655363775297577771929743490005196563471164623225349670226913521808506948530275610139785603472537320377651601197857548736703050801400226286403443653129354136032121299441850478010826636221498681313578618948666624766289354526802449672680107685661129369012821356614664444642480154794892673828567537861469420414624445077468945486254143572805516695173160965980383674487688584742847614722811660985282224417169124125511240220366673493239201247408095372838266986381201699897439614583751984659310089663696408949314343128799916771977778951283210503945140608921597499967984962782500860814487504876435893011427898317002444205654627300099521995909994289171214491558558488221473645572540741273937386886847840587550104608135365115845774322688544895982203320325343883413261086942129398350237388550386595313045128691972633224611366987504019778052003495471883084962042560805212925881268754468695351382157045275447573935789601374627836216876273220608329212754609562230115388989471595960523874906351427386653605359675355596991318652140090521700707500031979566820827035867019579410550225112823205249373377438305175778066773275550804763865548360815238417943518933949465362744030593415415076032052162582929678129504344310388456678727091570746487753873723720509161203180526087252024289862019793163544309380952498127223076191637714431813300591052165515892104944067274765198227386645089845030709518296018259333017663563053068656365458894251461428926204102731233090154036915873821091613672241970912289384217062697591066645442395250858461490623036156731237135351581662212613987905678183078510690121088840800961877742361067890920944922828682126908505649520904713784033361036290364708006051987839178867320473092803770203631052099183341647448400880923491692636328912721717769429168145299107980904166245579369667226557150552338457201493132254603028951585713983980290811501845838711904765152782186692703107746707171322183141034911346041845867809903115469013070453006788730450237593978302524502851746563370445718332378812543002076108326898233309704732266355313054034822232175312649653584036186243768259476477951195024356575351654418790266618143602146535154512876330202791517693739919978045501975766241272299066343736609635122731193244425485649105346429617248719547225305121523113129037652355592987523455246414171905942994975604419946876542698394372704607908761377894702705335578005247502411809927117385380982247617653775286644930047527267825434713978228348424957791998833971643488791681997813043261585934133002251488219880027096562207213312340182593994685566493085142532482135981339536331361587809578483256711731771995749687915831693039951460794281066725719357347273123355276384851577786586013756431325116078401189316022474052109413728363768739905193866701491242000240732099564327835387586382001216050388598105385983748178211563004100954850821622588313325740810404403105894705660494716370981483783595048491239608645751992223919317506100557678716111482917797297230672004233643880463765861548443421833557677610799075647217807927690068710997894549790820742745929215534762112055366468945996813941437243033892995913325852091030524658218135804310765695534532475019581117779806644912574569529033871968631253102169653389867121706775519281759091117301048523642623199910766857803400271349643578824718385044464580257306175592762296687324307615891196126004399190844478119078277226401498511628533400005463549041564669629306990868409698186131447358765531581222002568626034457089577709751045385835894392545778215182906042749206648585746130023407199920119285357160784377209946901062225926051828558918126279924223422471726544290850677411150207783092824824816153667513351158159034631900996021582278053730181500585041451243908731984426260826842323918909550250243087357985554965631453290796677045016806980990527329936972433612281807996927293340467493115146282033613622044482279294931612034701169294007710995190368760624098680480593454815405514418255372697969880633795679467899155089247935350800112688373765122279718992255041404240999727340377587913857954751764349542846746739472109406058677654739247034640949584438070356049831639624015127396921576203406844004671573114259673109744622607495001389061429167896083609619737485993777567487029077807511454439490125801096728032337799804908548812554119520341048642066643221464470533960507327574632095432581894743124084745137943916965806788838096797384759401249356829360551780985000869570287646218970030685508046491256161826412678487951576226865861420882483329454718515112808230682550452041610903362933954655295681239658017415239037749775061982167485618553601201490962344927043462768801232404319963587210731087063537331759108157298077411271118231074572096428293550919057979776730213934651986599484907723502804301817572742724617111624688391042921548293432277147388178992208076745143208458707326844512161219926512369281112697911560391027273295074031979761954505402613947928998637936509871427400392147265550953244332056762347972437744190057337416574471083321965816626462914808927621900105887792892161505148733536826721662089456447486953866714936040113902868047985208231229104138476195218998786005864253927684772720858015500886478631346401057739237146644105295979698760333451878666963014807078683385011518669107852735018128087769170246409551679084657520116467424450109828195314999828679229620084391314908144817229324841635922895051935763149516509497338159087200612101834581656947013491432417067198910193750011238261336360951469480770484913030007378027966694678322937168790957941128362096730156700532869027059578225227367380017552239990181189262298872409642709741818022142094464441856702982570442225928027755927448221035680416777181125293677664566842698906706810508973791072958490012972172489108450139183105074450591476553913702849481337256547232605077558989571067639186154486905996753088759171849577674026215590510495101376608820869456562160177543262267189900366057351530125802287140859891917638907818242651333570272346449890752320518574261217845976373821775645410413436922401094543672804704427920606469871706719760603352824081400100469894030051475041144793511343610094776138926679387713343070417595342253242786245854341645851527253722534502878543189664956260304964691594280683403048281634770123015288946741593165202689657273699458727667392863483737126282379036912634939364570251841187434950314954901792341650998876654736711788118946638481389064209250465646989892804997361513147273076244540394042413432619403480264499733687729676658167218091519024427129173439444124680328319440975708236586647012744933768022661109641261382435004546534970072903346850463739792865338942407805592206776066226111514844323808159503155794673114115783301764069319055381451274291778759196509542644823697653153255399336982459745590418909735111014943305536340028137328165145994619687765377695714952674108996736574157988900212086895217269796797997955078716865053714442096202179552517498134017235058998909700090534492883598406890920688986369324595023112218447162990899062703354046711573460180526712145891257476844045905507909364966424808731856426134985888778489733891626252230803280209780594222042354323324646678587614317151334033077084132273224653324607006433959646732426370631934979557896978793407967743135713980251407475200451801701861178597539552781797486986721347046069715583403670365403908136086364320092590443075084933783189841592716144555136007638589147414424625820591185876463699628294936200362523478413818277079106044421253264981700435379217958332849237327411105118540451616162720360919980495845396389101825607403631556867194649448069201342797306502958369060192165704355995330786432439639642475052070157369150516739793255845998156665254069548874609010118320501672096314332724992547515473762036602382958988801886282602793797463913123460770162547281908869896000026801160074528452749449131184290212690068967093019464173672600447906940068857889207794931702632410949608747281263756776185942694232786804821695864466062924115821123134127053366998303962973166665184780433866758462918781820432180479954323874414853160353388395790322770993716313477101147377576313010334416877865105743183120983394674304291606866424328957145296105709063242775633774143532461940891451114609771306650456793407463178979291681478292683599049791327182783902796021028274703351437962055077586060533895650761767526894545413336245521461102784543807416669084036393279828782426534467151028960356403639207363649791550562710176812634362984804090808724961049900759638449048551758742612036027705905760611083843504646692039926856524929859959915497514818296337940458473578220163156142625102856526808115651662810920031773940584864957805125634685088215722814951446016093071008820476377779730797839416061937614999660202210099368843797596719931513971665004523219296817903749960347389746792501133019881466548132819502804451263244785145153683785371682522741292289744516764500225132682614233220248095682825600001908164955396460865938871950205553319547676534646454476475808421787551453805215405906632603057539169282873911414574788690463452013474852404602011360297184904035755782295555864391961681336800948679012544270774330437818432365730324201994527074437243605926145794075037018141938434726943914262163156625278344471523076338929423744360933457210012812580256373020098864175911334991694996295081997107107867155349938063502401051799943923665037325548580364535541162754416590454665036078472312385119995837520453557878398542462160801438853605856061791291679542234164452779178957657693401456397524988980096134887333197766342897639513004542005006568595085875931816166737211063740329609052410088711479933699084441701281157306747064395130008279458381378544633723597105725000986809201301214454995498115986757091190377728427476285510005688619214760042089664941647362911430204616483962807965905005160976441624572818669382638705749431955173808720259975960221258404489165988367588101763286534021304097223528379849358583111886699655519198366403814840166721727187109814584080673089994225561679199036333262583190082479787625462775078197816652641073133307678453857122033957580109959608806339358941055257868049214467869273530621705933888132805286624547704785571193631553742444829415197821439806541674024207445080857873616862697432360822618108952615126318487886086343700562247506899686253197613386826020410267973902507250927823295828209668266971355930060609385113680085033
0x4eC15599...f3FF5DB46
(4thTech: Deployer)
0.5 Eth
Nonce: 0
0.46066481 Eth
Nonce: 1
0.03933519
(Spark Pool)
2,399.118244127265736111 Eth2,399.157579317265736111 Eth0.03933519

Execution Trace

FourToken.60606040( )
pragma solidity ^0.4.17;

// File: contracts/helpers/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  /**
  * @dev The Constructor sets the original owner of the contract to the
  * sender account.
  */
  function Ownable() public {
    owner = msg.sender;
  }

  /**
  * @dev Throws if called by any other account other than owner.
  */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

// File: contracts/helpers/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  /**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }

}

// File: contracts/token/ERC20Interface.sol

contract ERC20Interface {

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

  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);

  function approve(address spender, uint256 value) public returns (bool);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function allowance(address owner, address spender) public view returns (uint256);

}

// File: contracts/token/BaseToken.sol

contract BaseToken is ERC20Interface {
  using SafeMath for uint256;

  mapping(address => uint256) balances;
  mapping (address => mapping (address => uint256)) internal allowed;

  uint256 totalSupply_;

  /**
  * @dev Obtain total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public view returns (uint256 balance) {
    return balances[_owner];
  }

  /**
  * @dev Transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);

    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * 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/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    require(_spender != address(0));

    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);

    return true;
  }

  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);

    Transfer(_from, _to, _value);

    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(address _spender, uint256 _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);

    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(address _spender, uint256 _subtractedValue) public returns (bool) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}

// File: contracts/token/MintableToken.sol

/**
 * @title Mintable token
 * @dev Simple ERC20 Token example, with mintable token creation
 * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120
 * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
 */
contract MintableToken is BaseToken, Ownable {

  event Mint(address indexed to, uint256 amount);
  event MintFinished();

  bool public mintingFinished = false;

  modifier canMint() {
    require(!mintingFinished);
    _;
  }

  /**
   * @dev Function to mint tokens
   * @param _to The address that will receive the minted tokens.
   * @param _amount The amount of tokens to mint.
   * @return A boolean that indicates if the operation was successful.
   */
  function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
    require(_to != address(0));

    totalSupply_ = totalSupply_.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    Mint(_to, _amount);
    Transfer(address(0), _to, _amount);
    return true;
  }

  /**
   * @dev Function to stop minting new tokens.
   * @return True if the operation was successful.
   */
  function finishMinting() onlyOwner canMint public returns (bool) {
    mintingFinished = true;
    MintFinished();
    return true;
  }

}

// File: contracts/token/CappedToken.sol

contract CappedToken is MintableToken {

  uint256 public cap;

  function CappedToken(uint256 _cap) public {
    require(_cap > 0);
    cap = _cap;
  }

  function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
    require(totalSupply_.add(_amount) <= cap);

    return super.mint(_to, _amount);
  }

}

// File: contracts/helpers/Pausable.sol

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;

  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused public {
    paused = true;
    Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused public {
    paused = false;
    Unpause();
  }

}

// File: contracts/token/PausableToken.sol

/**
 * @title Pausable token
 * @dev BaseToken modified with pausable transfers.
 **/
contract PausableToken is BaseToken, Pausable {

  function transfer(address _to, uint256 _value) public whenNotPaused returns (bool) {
    return super.transfer(_to, _value);
  }

  function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) {
    return super.transferFrom(_from, _to, _value);
  }

  function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) {
    return super.approve(_spender, _value);
  }

  function increaseApproval(address _spender, uint _addedValue) public whenNotPaused returns (bool success) {
    return super.increaseApproval(_spender, _addedValue);
  }

  function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused returns (bool success) {
    return super.decreaseApproval(_spender, _subtractedValue);
  }
}

// File: contracts/token/SignedTransferToken.sol

/**
* @title SignedTransferToken
* @dev The SignedTransferToken enables collection of fees for token transfers
* in native token currency. User will provide a signature that allows the third
* party to settle the transaction in his name and collect fee for provided
* serivce.
*/
contract SignedTransferToken is BaseToken {

  event TransferPreSigned(
    address indexed from,
    address indexed to,
    address indexed settler,
    uint256 value,
    uint256 fee
  );

  event TransferPreSignedMany(
    address indexed from,
    address indexed settler,
    uint256 value,
    uint256 fee
  );


  // Mapping of already executed settlements for a given address
  mapping(address => mapping(bytes32 => bool)) executedSettlements;

  /**
  * @dev Will settle a pre-signed transfer
  */
  function transferPreSigned(address _from,
                             address _to,
                             uint256 _value,
                             uint256 _fee,
                             uint256 _nonce,
                             uint8 _v,
                             bytes32 _r,
                             bytes32 _s) public returns (bool) {
    uint256 total = _value.add(_fee);
    bytes32 calcHash = calculateHash(_from, _to, _value, _fee, _nonce);

    require(_to != address(0));
    require(isValidSignature(_from, calcHash, _v, _r, _s));
    require(balances[_from] >= total);
    require(!executedSettlements[_from][calcHash]);

    executedSettlements[_from][calcHash] = true;

    // Move tokens
    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(_from, _to, _value);

    // Move fee
    balances[_from] = balances[_from].sub(_fee);
    balances[msg.sender] = balances[msg.sender].add(_fee);
    Transfer(_from, msg.sender, _fee);

    TransferPreSigned(_from, _to, msg.sender, _value, _fee);

    return true;
  }

  /**
  * @dev Settle multiple transactions in a single call. Please note that
  * should a single one fail the full state will be reverted. Your client
  * implementation should always first check for balances, correct signatures
  * and any other conditions that might result in failed transaction.
  */
  function transferPreSignedBulk(address[] _from,
                                 address[] _to,
                                 uint256[] _values,
                                 uint256[] _fees,
                                 uint256[] _nonces,
                                 uint8[] _v,
                                 bytes32[] _r,
                                 bytes32[] _s) public returns (bool) {
    // Make sure all the arrays are of the same length
    require(_from.length == _to.length &&
            _to.length ==_values.length &&
            _values.length == _fees.length &&
            _fees.length == _nonces.length &&
            _nonces.length == _v.length &&
            _v.length == _r.length &&
            _r.length == _s.length);

    for(uint i; i < _from.length; i++) {
      transferPreSigned(_from[i],
                        _to[i],
                        _values[i],
                        _fees[i],
                        _nonces[i],
                        _v[i],
                        _r[i],
                        _s[i]);
    }

    return true;
  }


  function transferPreSignedMany(address _from,
                                 address[] _tos,
                                 uint256[] _values,
                                 uint256 _fee,
                                 uint256 _nonce,
                                 uint8 _v,
                                 bytes32 _r,
                                 bytes32 _s) public returns (bool) {
   require(_tos.length == _values.length);
   uint256 total = getTotal(_tos, _values, _fee);

   bytes32 calcHash = calculateManyHash(_from, _tos, _values, _fee, _nonce);

   require(isValidSignature(_from, calcHash, _v, _r, _s));
   require(balances[_from] >= total);
   require(!executedSettlements[_from][calcHash]);

   executedSettlements[_from][calcHash] = true;

   // transfer to each recipient and take fee at the end
   for(uint i; i < _tos.length; i++) {
     // Move tokens
     balances[_from] = balances[_from].sub(_values[i]);
     balances[_tos[i]] = balances[_tos[i]].add(_values[i]);
     Transfer(_from, _tos[i], _values[i]);
   }

   // Move fee
   balances[_from] = balances[_from].sub(_fee);
   balances[msg.sender] = balances[msg.sender].add(_fee);
   Transfer(_from, msg.sender, _fee);

   TransferPreSignedMany(_from, msg.sender, total, _fee);

   return true;
  }

  function getTotal(address[] _tos, uint256[] _values, uint256 _fee) private view returns (uint256)  {
    uint256 total = _fee;

    for(uint i; i < _tos.length; i++) {
      total = total.add(_values[i]); // sum of all the values + fee
      require(_tos[i] != address(0)); // check that the recipient is a valid address
    }

    return total;
  }

  /**
  * @dev Calculates transfer hash for transferPreSignedMany
  */
  function calculateManyHash(address _from, address[] _tos, uint256[] _values, uint256 _fee, uint256 _nonce) public view returns (bytes32) {
    return keccak256(uint256(1), address(this), _from, _tos, _values, _fee, _nonce);
  }

  /**
  * @dev Calculates transfer hash.
  */
  function calculateHash(address _from, address _to, uint256 _value, uint256 _fee, uint256 _nonce) public view returns (bytes32) {
    return keccak256(uint256(0), address(this), _from, _to, _value, _fee, _nonce);
  }

  /**
  * @dev Validates the signature
  */
  function isValidSignature(address _signer, bytes32 _hash, uint8 _v, bytes32 _r, bytes32 _s) public pure returns (bool) {
    return _signer == ecrecover(
            keccak256("\x19Ethereum Signed Message:\n32", _hash),
            _v,
            _r,
            _s
        );
  }

  /**
  * @dev Allows you to check whether a certain transaction has been already
  * settled or not.
  */
  function isTransactionAlreadySettled(address _from, bytes32 _calcHash) public view returns (bool) {
    return executedSettlements[_from][_calcHash];
  }

}

// File: contracts/token/PausableSignedTransferToken.sol

contract PausableSignedTransferToken is SignedTransferToken, PausableToken {

  function transferPreSigned(address _from,
                             address _to,
                             uint256 _value,
                             uint256 _fee,
                             uint256 _nonce,
                             uint8 _v,
                             bytes32 _r,
                             bytes32 _s) public whenNotPaused returns (bool) {
    return super.transferPreSigned(_from, _to, _value, _fee, _nonce, _v, _r, _s);
  }

  function transferPreSignedBulk(address[] _from,
                                 address[] _to,
                                 uint256[] _values,
                                 uint256[] _fees,
                                 uint256[] _nonces,
                                 uint8[] _v,
                                 bytes32[] _r,
                                 bytes32[] _s) public whenNotPaused returns (bool) {
    return super.transferPreSignedBulk(_from, _to, _values, _fees, _nonces, _v, _r, _s);
  }

  function transferPreSignedMany(address _from,
                                 address[] _tos,
                                 uint256[] _values,
                                 uint256 _fee,
                                 uint256 _nonce,
                                 uint8 _v,
                                 bytes32 _r,
                                 bytes32 _s) public whenNotPaused returns (bool) {
    return super.transferPreSignedMany(_from, _tos, _values, _fee, _nonce, _v, _r, _s);
  }
}

// File: contracts/FourToken.sol

contract FourToken is CappedToken, PausableSignedTransferToken  {
  string public name = 'The 4th Pillar Token';
  string public symbol = 'FOUR';
  uint256 public decimals = 18;

  // Max supply of 400 million
  uint256 public maxSupply = 400000000 * 10**decimals;

  function FourToken()
    CappedToken(maxSupply) public {
      paused = true;
  }

  // @dev Recover any mistakenly sent ERC20 tokens to the Token address
  function recoverERC20Tokens(address _erc20, uint256 _amount) public onlyOwner {
    ERC20Interface(_erc20).transfer(msg.sender, _amount);
  }

}