ETH Price: $2,145.68 (-0.32%)

Transaction Decoder

Block:
6651231 at Nov-06-2018 01:15:21 AM +UTC
Transaction Fee:
0.006766015 ETH $14.52
Gas Used:
1,353,203 Gas / 5 Gwei

Emitted Events:

74 CarrefourFactory.lottoAdded( codice_tracciabilita=0x333136313439 )

Account State Difference:

  Address   Before After State Difference Code
0x2230dB3c...9f4212caC
0 Eth
Nonce: 0
0 Eth
Nonce: 1
From: 0 To: 233395654825355507386499786272232922580491767470552753074067068949472074612880780804155428237528239595533489598355653054375645932116004142933132140790088206531277607468049359973194747129247254872047432264961160752283223694147956665194836297530450054626620407657847749778250239454759157659049410666484408210474238434826695531890510261306627117119867986835304861640220199960139964356101359062516856455473678314487282640883333550630396714390437927165718039409974744492936944375615069860680542433717807498712778264162484191138961545782039809854583207884605427156914525485728624980317989734139169236480433680301624622223481567083301259661832511903834272889824788061229051815923062769307551793065880590265145680026111179670934753649704288905109922051554899959941023223523343933795159445262883698664907302820082133195633184594472045039000673908483607644442155968110161734810049152137546212613472972943421769721858612277155235532821251625342365847928212054744504410642303734693362665072435985700266344329652608357118121594340294847322269803868204909220554753765542662553710749868657354418715983481808360740187817497439507445392055631986037659960143604388921016991353962841836067907406646973173603495421775977086869633252565827140829177436896242518219878922378612550781464030130424017058401132362202201900056236072020792124381572227581403589028746028012730426868198154510600341454664833731150767091286216504236619049688279955548247973906652893704031423997257782384483026437322776682760132938017541069123089965084423371826602105483078864609719522075919357104840719767239246916478098898768042308299961755247417077123523763374542719758880613605605732106389014503455583291132114336765183820922759088301791061577252797304533395050198376600266306483947097007601292479739743431076490710417999080081113230839439744031931730095903755575619017597318878773021146008307001864942321230250972021112840037728685132334012439249841191375990558158095237288453289441006403410399578226109562873350256766706039293894994981791793735483192509907049662128998958900847322553415091102287986951265887129255353039830156313543239155994723667405553814556652250817717462016913350382507223677780520887442686574584550993772153201063020446917518859545659590386552215961826380088639518164697227440032617421219457129609859131372618886005847854507792717574510295705049874258935906334757165249214820605485787832264279756006477854373362491580113706155254544896700738232603728947371071216928238560243526756845934546365362860580524548576570762664618500429294165019070650577350660939572921879141071079804581170868519653040660839307274479935890355297306656104219822458796825949326079769117777903164499667922335372908764670399666570316769258513747392784787638860048661988317348102023765294337719838088751776221535754343020985553144087017832100482343600705597091163048397255914882197526847115936343868418516151489881617481219406380606255008626717417772238561051335506252546997977097394950186595315715093824174018201387910220491896975789516572756031653356120335269734096618475639061264212065443475595667120266389193906331098548746592656626489415594449973989535392776406338977290465764406499731700676448731171266911575458541844734490563936252536965352363742930946263595560282702234361639690069920403388705524579491544325520186542950127916221903189345185455375988247097061211616971822955857019362303808808610803572385313348052699060134452821874358243163830608889668359521395456822655634836527956875477388425365943759253192670870273733920672882208793178228919730571954509787893697035346970951614072607082482891055055794012776100404874089692266593927568759572940083331959145463787831200572668259623328790950057430333493129428777932234879242711122745210548420385595142141585408164353045125123418906415674693144079447955713040374387739642145396269920988448228877734759670754690511691451145667830547734869249178179837351835365915530785656072221639675007024478338101675843015760984508675407347680639237502704556955388841129394308528501305458628058244008188529774860918517103427208430366879654426554119139821658475647884557553539065500366435761707745323775687109646118235583551219451434064500823546821360332700425430425261459822203674795776381631684800599539392259202858641235329559137682054824034088703902275616935681896072993807042402936015710343744687777972160548344306083280634681495090183119274506069205770744187328641864322075690741636542923966071288889313514825480382236226780103630829029333898007607893805126105707377236162490889829457640063631606577758607494362846695419294149053911182172639957329820202443118292634115297336817822938859787236508700428337411157155566383238581655103916894371423487751086043734610288254100448227117318494455869857717400681000917266544423466767730999540087502795390555765443435506398241582308824959463939950571562575141154008626958706730997429127231209581460873895080807960363161206577101848206645468325110376322111002642714812615860837217272570563842866789163593177083415852931397631647127300123080182217780554340367781413398745991083948143687273039685268864631583992810532447020247874838806306107542067050833662152757900275172067440449113270410139546228165320471111958161306450710222816560986143080116552325734242323452973070901410393969385627967474876442674767465011951406629247059749979727050242049462287452661076588172954890121561721479711363500613527934824996635779406750631117401992597278725753187268255848763904442418645136037574739806462051936239705235577326945662624169528725635125486845234962198559505696394968418271300170369485553897116545987167388390345694424867152299835813633698909844130349553054041998407725673048603872619730957404733604200556071779003545404035246990428650985098057625400100666676880454713210527010316506412362110146152368012470743230142023250101488284725480017371372665685430301664312376538435161306738938059952864067700683191700649608863935479184543322785428604003784989220577020011098236993558167361340660131933047151112803472938724977803023918435131987246144280842410563750661822922201430333509682779051916646469379297803283633675072616814973081878876543998466559464485572476400750071915663182879286149536497564784690722902989688447744033992531692511688254706314296007289419073949515130324172415857069502257930186624905237349414962618558807305414971831080648669180482414399741144384998641968848580490686729653443766955932980491681930085279175489211174286194620772513544898973149259018604886627577557898950107761421539128605210362560235029794502205610015202947462146668906815339640907345381559054412918183327579866447464569583109652284840247220216598287768644531071865610097985680804552975058283653883576429228619353414520557370855628730629890204301209498739246320729575458855475256436451444530688067773544111767111260855633880243073798928606632219817916341314989502759176712745199981071582221749181465241271753993997805240965246924469267097270059271529133184841195250031604135984987462971220544435868029996463946059549152074649653281959924161776160969204933539242864916056104885302920432105585598422643734978541553176301824575317539699926551229831856361257161137775283944664244000931461136515472238773106688727249704594535351975022263138940335458412182723544763097094013702039732849881427778248924481767808612618795631947130887771357637825957300545266983777437451392128849630449952483317154865343774456978182699483449292596118647211854207480132585150212593824186097644204158108230069794435991070186674220927976040874765007308606909539187418691628097964093393156489699924587751445651168096859832367740629594940712942279934877063385587981407943617859818416493653778883801440486194645353812954417379494771954572011589941622681313939084839047816036215610614310488348620354195760390300334872836134995589957426026188105552385345444562550396811431738482331170296061192928279271777387505393311975108379619148670206901034541669831866510875987883819785283937525272124083706910329926798745606282627849863249530798200399672258060345972736201797972105172346992728076655605201465284095067399882803231337760924170202393599792183759745514995710183808069791446702778158054614225907967235585198285792760774303759234071135985115369550592537027614664696351510890590364329175181510128075599967515605528279811625686864102612134971772044722114866901139388459478855314337204900325564134893377797123721053834171187740271956227221672671048098235193107365988080468199704397401408405555876765489941447597645575764457587953965419449526705854572381184412312842912114362762774162808203059364954332776656553447596441206396111179327756148117803968468982237198949846804168106028831012534984793719488395975744637851760262335023826555546525690647876000040205108514712907537560720385295879698207461294521897695730404861079376529775522917801361146593372351526985735077655309073368932351212120452915888417449342543265197266197474015986985977649084771384535076622356878367684864972388926898006529138660258958033689974496245234180518569024655056718948157740722153207012954854510322798917542359759476121627937471738890587095886086195713255400695397642088150846062443030989998874054064972558167069128374020657766305673418658348687886967285676487218606653390756817981904126821391371875024883859449169900641117510544509009721469652229598317988495546185841117793924558899912467566515390157287913483730836426414438100480251342445442110307253811181963619520032461481628583729871864478811216280539266794455031634302891626355339002043309611553133254181566994629515432452364541134991379976433829123003138411520943932979213135559484498459173359094923216055665697954845904212363036017647745159078721756948447985705368856144723129887789528853811944643031765575936209535053083435803410033935939370328575731849075729282119506367143166209744473469360444666722641043996375786805235142587651649927001931949869795957985861216121807619405521476682770611223910107040802614245857972946154944249183134606677660004955307630253367563818224511463587226418016084271287776894370955755777067124825286046742714701323458557770817660919792274994782579965708905624422195733253947551140134617943363766216901212692652480009818827313227141876266374167651058629769658986985401951096193448546004423829624171438638033345405180942213226168882148610889005641402200906436798481062482356749041625484396898861090161803255720558051950291203519569400646852844079312160359199999673751096792377396434599031469367882478181210608631076935341881507937829768639085263650202250700104983353494376212369297531164565758028678727043413699473173163372520149704109358553236670446659912693963283595267620577628496606855136273628429761415556870185725334176352718782365258773865994344668137752175642593527929101483737502008274930304521194091911668725692225349845060166318323100277083162326634948362994087632534758013322425176424497613245780898970816958944526651271258436694780236375075278945912728766148123998448920973196349770231866776854652219243564955940884512917368743132702743846616469259892413583266767087941164391034286658330378063493965777081876573105657310307401060912100612051485202454775056741656099906568633043138748420349064701774720733241373842121615755187661380994533569766297127347255952956674489234192882627341235343286928569732955295717114310207407012261164457498608874391201876159865524791272868065357927926936791503324736446284586380318622580792622910132786759654006812993204689975116430941904124390441764789197888644694701685468272516724277111544521161396115906361830564865030022131558144264418294924356420857143417251421945204344082726476630628641117937034769341536660619843367273315727214322001743581591898820261525820744294611101063018728523790322427651032842255982252485346063599211597390630507891459213587244648613580884752073743445031509823623470517254120670231717163127862827136490310760677854007591440304481104099113852672717738653915394380436452593497319602314985808677752594904862460860968021055220066041831431147621723603023961246561208492927867116817627958969829444742147117375628407159473889077118249343125826725055334775757510179193882471593495710554194460618105356758417262911871524501783892369593569352391372517142737801567128001779966683452055146015674205658524374485208250956668779562099660519949527325736297863869312955833496902487108707914049017389933203607698735742353739400013749340268629418336480790416268558609027119732825579076980784152808439459654252415550301703011546442942961714303079714716439200968068864287810554300262713724312633162238166736573748444053884005291528223167087290703791716004768983602344061584495873203442320741953555757188599431005863237988475649355125820745732820579625543332189243383486645155887791594701890372632052684490458033788429282120379274574935379179735500373435302537216862851838390463487242249969794011993271118785271048574667812205264266252577944015329645464929778664619453269128807391595953978218913542912062666389500439732149982747523765579828924807596730538098295159786490442512527080599486173143511712987718667718222822317738571810951377311357133707466759991612527081475920416559517970339961549000762641523839521618118912684495231170351584080624172649106946907281116138563524268109157979492820221436540460548739664344182382746277360425745368946912912428618832652523624532218098592080855870020467585628790601049337868065649222226475640054767481665894367388177616589311046116510139855668132595363593752549841445787545579701500864754019350309320622112375818814587975316255631287312304635095174683927283297565276855892528053879241027653199614906134401002576438469878514817899722442184542302053911482543401868353128954765878162411262311293220936303134488426062260073691822778342343123776870988159555962503098156962205726995240423254791108644206935470774123696033149264763815463439213281603080488164998383319687015047409658237919065887687033658530894068506173164233720509582932640758092756186126269685236358761601873512435180156530511554410028484454243194490237171640279234731233912025457566567274494416585521840340997643098817857722303137550661401407582081856526378120802119516201
0x8Eb91eD4...04517c6a8
0.502662919412506356 Eth
Nonce: 217
0.495896904412506356 Eth
Nonce: 218
0.006766015
0x961DFCf1...3A7655942
(Ethermine)
683.4378094686846405 Eth683.4445754836846405 Eth0.006766015

Execution Trace

CarrefourFactory.createLotto( codice_tracciabilita=0x333136313439, id_allevatore=0x303130303131, data_nascita_pulcino=System.Byte[], data_trasferimento_allevamento=System.Byte[], id_owner_informazione=0x756E6B6E6F776E )
  • 0x2230db3cd870d5b02cc09b29dc933ab9f4212cac.60806040( )
    pragma solidity ^0.4.24;
    
    contract Articolo
    {
        bytes   public codice_articolo;
        bytes10 public data_produzione;
        bytes10 public data_scadenza;
        bytes   public id_stabilimento;
    
        constructor(bytes   _codice_articolo,
                    bytes10 _data_produzione,
                    bytes10 _data_scadenza,
                    bytes   _id_stabilimento) public
        {
            require(_codice_articolo.length > 0, "Codice Art. vuoto");
            require(_data_produzione.length > 0, "Data produzione vuota");
            require(_data_scadenza.length   > 0, "Data scadenza vuota");
            require(_id_stabilimento.length > 0, "ID stabilimento vuoto");
    
            codice_articolo = _codice_articolo;
            data_produzione = _data_produzione;
            data_scadenza   = _data_scadenza;
            id_stabilimento = _id_stabilimento;
        }
    }
    
    contract Lotto
    {
        bytes   public id_owner_informazione;
        bytes   public codice_tracciabilita;
        bytes   public id_allevatore;
        bytes10 public data_nascita_pulcino;
        bytes10 public data_trasferimento_allevamento;
    
        mapping(bytes => mapping(bytes10 => address)) private articoli;
    
        address private owner;
    
        modifier onlymanager()
        {
            require(msg.sender == owner);
            _;
        }
    
        constructor(bytes _codice_tracciabilita,
                    bytes _id_allevatore,
                    bytes10 _data_nascita_pulcino,
                    bytes10 _data_trasferimento_allevamento,
                    bytes _id_owner_informazione) public
        {
            require(_codice_tracciabilita.length > 0, "cod. tra. non valido");
            require(_id_allevatore.length > 0, "id all. non valido");
            require(_data_nascita_pulcino.length > 0, "data nas. pul. non valida");
            require(_data_trasferimento_allevamento.length > 0, "data trasf. non valida");
            require(_id_owner_informazione.length > 0, "ID owner informazione non valido");
    
            // This will only be managed by the "father" contract ("CarrefourFactory"):
            owner = msg.sender;
    
            codice_tracciabilita = _codice_tracciabilita;
            id_allevatore = _id_allevatore;
            data_nascita_pulcino = _data_nascita_pulcino;
            data_trasferimento_allevamento = _data_trasferimento_allevamento;
            id_owner_informazione = _id_owner_informazione;
        }
    
    
        function addArticolo(bytes   _codice_articolo,
                             bytes10 _data_produzione,
                             bytes10 _data_scadenza,
                             bytes   _id_stabilimento) public onlymanager
        {
            require(_codice_articolo.length > 0, "Codice Art. vuoto");
            require(_data_produzione.length > 0, "Data produzione vuota");
            require(_data_scadenza.length   > 0, "Data scadenza vuota");
            require(_id_stabilimento.length > 0, "ID stabilimento vuoto");
    
            address articolo = new Articolo(_codice_articolo, _data_produzione, _data_scadenza, _id_stabilimento);
    
            articoli[_codice_articolo][_data_scadenza] = articolo;
        }
    
        function get_articolo(bytes codice_articolo, bytes10 data_scadenza) public view returns(bytes10, bytes)
        {
            address articolo_addr = articoli[codice_articolo][data_scadenza];
    
            Articolo articolo = Articolo(articolo_addr);
    
            return (
                articolo.data_produzione(),
                articolo.id_stabilimento()
            );
        }
    }
    
    contract CarrefourFactory
    {
        address private owner;
    
        mapping(bytes => address) private lotti;
    
        event lottoAdded(bytes codice_tracciabilita);
        event articoloAdded(bytes lotto, bytes codice_articolo, bytes10 data_scadenza);
    
        constructor() public
        {
            owner = msg.sender;
        }
    
        modifier onlymanager()
        {
            require(msg.sender == owner);
            _;
        }
    
        function createLotto(bytes codice_tracciabilita,
                             bytes id_allevatore,
                             bytes10 data_nascita_pulcino,
                             bytes10 data_trasferimento_allevamento,
                             bytes id_owner_informazione) public onlymanager
        {
            require(codice_tracciabilita.length > 0, "Codice tracciabilità non valido");
            require(id_allevatore.length > 0, "Codice allevatore non valido");
            require(data_nascita_pulcino.length > 0, "Data di nascita non valida");
            require(data_trasferimento_allevamento.length > 0, "Data trasferimento allevamento non valida");
    
            address lotto = new Lotto(codice_tracciabilita, id_allevatore, data_nascita_pulcino, data_trasferimento_allevamento, id_owner_informazione);
    
            lotti[codice_tracciabilita] = lotto;
    
            emit lottoAdded(codice_tracciabilita);
        }
    
        function get_dati_lotto(bytes codice_tracciabilita) public view
                 returns(bytes, bytes10, bytes10, bytes)
        {
            address lotto_addr = lotti[codice_tracciabilita];
    
            require(lotto_addr != 0x0, "Lotto non trovato");
    
            Lotto lotto = Lotto(lotto_addr);
    
            return (
                lotto.id_allevatore(),
                lotto.data_nascita_pulcino(),
                lotto.data_trasferimento_allevamento(),
                lotto.id_owner_informazione()
            );
        }
    
        function createArticolo(bytes   _lotto, // Here a synonym of "codice_tracciabilita"
                                bytes   _codice_articolo,
                                bytes10 _data_produzione,
                                bytes10 _data_scadenza,
                                bytes   _id_stabilimento) public onlymanager
        {
            require(_lotto.length > 0, "Codice tracciabilità vuoto");
            require(_codice_articolo.length > 0, "Codice Art. vuoto");
            require(_data_produzione.length > 0, "Data produzione vuota");
            require(_data_scadenza.length > 0, "Data scadenza vuota");
            require(_id_stabilimento.length > 0, "ID stabilimento vuoto");
    
            address lotto_addr = lotti[_lotto];
    
            require(lotto_addr != 0x0, "Lotto non trovato");
    
            Lotto lotto = Lotto(lotto_addr);
    
            lotto.addArticolo(_codice_articolo, _data_produzione, _data_scadenza, _id_stabilimento);
    
            emit articoloAdded(_lotto, _codice_articolo, _data_scadenza);
        }
    
        function get_dati_articolo(bytes codice_tracciabilita, bytes codice_articolo, bytes10 data_scadenza) public view
                 returns(bytes10, bytes, bytes, bytes10, bytes10)
        {
            address lotto_addr = lotti[codice_tracciabilita];
    
            require(lotto_addr != 0x0, "Lotto non trovato");
    
            Lotto lotto = Lotto(lotto_addr);
    
            (bytes10 produzione, bytes memory stabilimento) = lotto.get_articolo(codice_articolo, data_scadenza);
    
            bytes memory allevatore = lotto.id_allevatore();
            bytes10 nascita = lotto.data_nascita_pulcino();
            bytes10 trasferimento = lotto.data_trasferimento_allevamento();
    
            return (
                produzione,
                stabilimento,
                allevatore,
                nascita,
                trasferimento
            );
        }
    }